how to avoid voip jitter

Discussion in 'Cisco' started by Howie, Sep 25, 2008.

  1. Howie

    Howie Guest

    hi, guys.

    Recently I was trying to implement an IP PBX for my company, but I
    stuck by the jitter issue.

    I have a cisco 1760 router with a 10baset WIC-1ENET card, and a cisco
    2560G switch, data on vlan1 (native) , voice on vlan2. Already applied
    Qos on the router.

    Everything went good at first, but when I was trying to download a big
    file from the internet, things happened.

    Here's how I did, I made a call from a ip phone to a landline phone,
    then put the line onhold, landline phone user can hear the on hold
    music, then I started to download a big file from internet, the
    landline user will hear music became jitter.

    Cant find a way to avoid it, any advice?

    Thanks in advance.
     
    Howie, Sep 25, 2008
    #1
    1. Advertising

  2. Howie wrote:
    > hi, guys.
    >
    > Recently I was trying to implement an IP PBX for my company, but I
    > stuck by the jitter issue.
    >
    > I have a cisco 1760 router with a 10baset WIC-1ENET card, and a cisco
    > 2560G switch, data on vlan1 (native) , voice on vlan2. Already applied
    > Qos on the router.
    >
    > Everything went good at first, but when I was trying to download a big
    > file from the internet, things happened.
    >
    > Here's how I did, I made a call from a ip phone to a landline phone,
    > then put the line onhold, landline phone user can hear the on hold
    > music, then I started to download a big file from internet, the
    > landline user will hear music became jitter.
    >
    > Cant find a way to avoid it, any advice?
    >
    > Thanks in advance.


    Be sure to implement CBWFQ/LLQ on the output queue of your serial links.
    We utilize the exact same platform in part of our network, and I can
    tell you that we can absolutely bury a T1 without any side effects to
    the VoIP stream. We might see jitter increase by a millisecond or two,
    but the overall jitter numbers are just that - less than a handful (<
    5ms). We routinely see jitter numbers of < 1 ms. Forty (40) ms is your
    jitter budget.

    This is one thing Cisco can do well, as they have superb packet
    scheduling capabilities in IOS. Do a search on CCO for "CBWFQ/LLQ". Keep
    it simple, and don't create more than 3 or four total traffic classes.
    Utilize the VoIP examples they list.

    Failing that, post your QoS config. Rest assured, though, what you're
    trying to do is not unreasonable, and done daily in production networks.

    Good luck!
     
    fugettaboutit, Sep 26, 2008
    #2
    1. Advertising

  3. Howie

    Howie Guest

    On Sep 25, 4:54 pm, fugettaboutit <> wrote:
    > Howie wrote:
    > > hi, guys.

    >
    > > Recently I was trying to implement an IP PBX for my company, but I
    > > stuck by the jitter issue.

    >
    > > I have a cisco 1760 router with a 10baset WIC-1ENET card, and a cisco
    > > 2560G switch, data on vlan1 (native) , voice on vlan2. Already applied
    > > Qos on the router.

    >
    > > Everything went good at first, but when I was trying to download a big
    > > file from the internet, things happened.

    >
    > > Here's how I did, I made a call from a ip phone to a landline phone,
    > > then put the line onhold, landline phone user can hear the on hold
    > > music, then I started to download a big file from internet, the
    > > landline user will hear music became jitter.

    >
    > > Cant find a way to avoid it, any advice?

    >
    > > Thanks in advance.

    >
    > Be sure to implement CBWFQ/LLQ on the output queue of your serial links.
    > We utilize the exact same platform in part of our network, and I can
    > tell you that we can absolutely bury a T1 without any side effects to
    > the VoIP stream. We might see jitter increase by a millisecond or two,
    > but the overall jitter numbers are just that - less than a handful (<
    > 5ms). We routinely see jitter numbers of < 1 ms. Forty (40) ms is your
    > jitter budget.
    >
    > This is one thing Cisco can do well, as they have superb packet
    > scheduling capabilities in IOS. Do a search on CCO for "CBWFQ/LLQ". Keep
    > it simple, and don't create more than 3 or four total traffic classes.
    > Utilize the VoIP examples they list.
    >
    > Failing that, post your QoS config. Rest assured, though, what you're
    > trying to do is not unreasonable, and done daily in production networks.
    >
    > Good luck!


    Hi, fugettaboutit, thanks for the input, here is my startup-config:

    Building configuration...
    Current configuration : 3394 bytes
    !
    version 12.4
    service timestamps debug datetime msec
    service timestamps log datetime msec
    service password-encryption
    !
    hostname DC1760
    !
    boot-start-marker
    boot-end-marker
    !
    no logging buffered
    enable secret 5 $1$c2hG$1vueVcFX1/Rqdwg3uXxZu1
    !
    no aaa new-model
    !
    resource policy
    !
    clock timezone Pacific -8
    clock summer-time Pacific date Apr 6 2003 2:00 Oct 26 2003 2:00
    mmi polling-interval 60
    no mmi auto-configure
    no mmi pvc
    mmi snmp-timeout 180
    !
    !
    no ip dhcp use vrf connected
    ip dhcp excluded-address 192.168.1.1
    ip dhcp excluded-address 10.0.0.1 10.0.0.99
    ip dhcp excluded-address 10.0.1.1 10.0.1.99
    !
    ip dhcp pool 1_0
    network 10.0.0.0 255.255.255.0
    dns-server 10.0.0.1
    default-router 10.0.0.1
    !
    ip dhcp pool 2_0
    network 10.0.1.0 255.255.255.0
    dns-server 10.0.1.1
    default-router 10.0.1.1
    !
    !
    ip cef
    ip ftp username anonymous
    ip name-server 67.100.88.27
    ip name-server 64.105.172.27
    !
    !
    !
    !
    !
    !
    class-map match-any SDM-Transactional-1
    match protocol citrix
    match protocol finger
    match protocol notes
    match protocol novadigm
    match protocol pcanywhere
    match protocol secure-telnet
    match protocol sqlnet
    match protocol sqlserver
    match protocol ssh
    match protocol telnet
    match protocol xwindows
    class-map match-any SDM-Signaling-1
    match protocol h323
    match protocol rtcp
    match protocol sip
    class-map match-any SDM-Routing-1
    match protocol bgp
    match protocol egp
    match protocol eigrp
    match protocol ospf
    match protocol rip
    match protocol rsvp
    class-map match-any SDM-Voice-1
    match protocol rtp audio
    class-map match-any SDM-Management-1
    match protocol dhcp
    match protocol dns
    match protocol imap
    match protocol kerberos
    match protocol ldap
    match protocol secure-imap
    match protocol secure-ldap
    match protocol snmp
    match protocol socks
    match protocol syslog
    !
    !
    policy-map SDM-QoS-Policy-1
    class SDM-Voice-1
    set dscp ef
    priority percent 55
    class SDM-Signaling-1
    set dscp cs3
    bandwidth percent 5
    class SDM-Routing-1
    set dscp cs6
    bandwidth percent 5
    class SDM-Management-1
    set dscp cs2
    bandwidth percent 5
    class SDM-Transactional-1
    set dscp af21
    bandwidth percent 5
    class class-default
    fair-queue
    random-detect
    !
    !
    !
    !
    !
    interface FastEthernet0/0
    no ip address
    speed auto
    !
    interface FastEthernet0/0.1
    encapsulation dot1Q 1 native
    ip address 10.0.0.1 255.255.255.0
    ip nat inside
    ip virtual-reassembly
    no snmp trap link-status
    !
    interface FastEthernet0/0.2
    encapsulation dot1Q 2
    ip address 10.0.1.1 255.255.255.0
    ip nat inside
    ip virtual-reassembly
    no snmp trap link-status
    !
    interface FastEthernet0/0.3
    description $ETH-LAN$
    encapsulation dot1Q 3
    ip address 192.168.1.1 255.255.255.0
    ip nat inside
    ip virtual-reassembly
    no snmp trap link-status
    !
    interface Ethernet1/0
    description $ETH-WAN$
    ip address 74.xx.xx.78 255.255.255.248
    ip nbar protocol-discovery
    ip nat outside
    ip virtual-reassembly
    full-duplex
    service-policy output SDM-QoS-Policy-1
    !
    ip route 0.0.0.0 0.0.0.0 74.xx.xx.73
    ip http server
    no ip http secure-server
    !
    ip nat inside source list 1 interface Ethernet1/0 overload
    ip nat inside source static 10.0.1.2 74.xx.xx.76
    !
    ip dns server
    !
    access-list 1 remark SDM_ACL Category=2
    access-list 1 permit 10.0.0.0 0.0.0.255
    access-list 1 permit 10.0.1.0 0.0.0.255
    access-list 1 permit 192.168.1.0 0.0.0.255
    !
    !
    control-plane
    !
    !
    line con 0
    line aux 0
    line vty 0 4
    login
    !
    end

    I have to say this network is my test environment, so we dont have
    serial port on 1760, I just connect my wic-1enet card to my netpioa T1
    router's ethernet port, dont know whether this will cause the issue.
     
    Howie, Sep 26, 2008
    #3
  4. > Hi, fugettaboutit, thanks for the input, here is my startup-config:
    >
    > Building configuration...
    > Current configuration : 3394 bytes
    > !
    > version 12.4
    > service timestamps debug datetime msec
    > service timestamps log datetime msec
    > service password-encryption
    > !
    > hostname DC1760
    > !
    > boot-start-marker
    > boot-end-marker
    > !
    > no logging buffered
    > enable secret 5 $1$c2hG$1vueVcFX1/Rqdwg3uXxZu1
    > !
    > no aaa new-model
    > !
    > resource policy
    > !
    > clock timezone Pacific -8
    > clock summer-time Pacific date Apr 6 2003 2:00 Oct 26 2003 2:00
    > mmi polling-interval 60
    > no mmi auto-configure
    > no mmi pvc
    > mmi snmp-timeout 180
    > !
    > !
    > no ip dhcp use vrf connected
    > ip dhcp excluded-address 192.168.1.1
    > ip dhcp excluded-address 10.0.0.1 10.0.0.99
    > ip dhcp excluded-address 10.0.1.1 10.0.1.99
    > !
    > ip dhcp pool 1_0
    > network 10.0.0.0 255.255.255.0
    > dns-server 10.0.0.1
    > default-router 10.0.0.1
    > !
    > ip dhcp pool 2_0
    > network 10.0.1.0 255.255.255.0
    > dns-server 10.0.1.1
    > default-router 10.0.1.1
    > !
    > !
    > ip cef
    > ip ftp username anonymous
    > ip name-server 67.100.88.27
    > ip name-server 64.105.172.27
    > !
    > !
    > !
    > !
    > !
    > !
    > class-map match-any SDM-Transactional-1
    > match protocol citrix
    > match protocol finger
    > match protocol notes
    > match protocol novadigm
    > match protocol pcanywhere
    > match protocol secure-telnet
    > match protocol sqlnet
    > match protocol sqlserver
    > match protocol ssh
    > match protocol telnet
    > match protocol xwindows
    > class-map match-any SDM-Signaling-1
    > match protocol h323
    > match protocol rtcp
    > match protocol sip
    > class-map match-any SDM-Routing-1
    > match protocol bgp
    > match protocol egp
    > match protocol eigrp
    > match protocol ospf
    > match protocol rip
    > match protocol rsvp
    > class-map match-any SDM-Voice-1
    > match protocol rtp audio
    > class-map match-any SDM-Management-1
    > match protocol dhcp
    > match protocol dns
    > match protocol imap
    > match protocol kerberos
    > match protocol ldap
    > match protocol secure-imap
    > match protocol secure-ldap
    > match protocol snmp
    > match protocol socks
    > match protocol syslog
    > !
    > !
    > policy-map SDM-QoS-Policy-1
    > class SDM-Voice-1
    > set dscp ef
    > priority percent 55
    > class SDM-Signaling-1
    > set dscp cs3
    > bandwidth percent 5
    > class SDM-Routing-1
    > set dscp cs6
    > bandwidth percent 5
    > class SDM-Management-1
    > set dscp cs2
    > bandwidth percent 5
    > class SDM-Transactional-1
    > set dscp af21
    > bandwidth percent 5
    > class class-default
    > fair-queue
    > random-detect
    > !
    > !
    > !
    > !
    > !
    > interface FastEthernet0/0
    > no ip address
    > speed auto
    > !
    > interface FastEthernet0/0.1
    > encapsulation dot1Q 1 native
    > ip address 10.0.0.1 255.255.255.0
    > ip nat inside
    > ip virtual-reassembly
    > no snmp trap link-status
    > !
    > interface FastEthernet0/0.2
    > encapsulation dot1Q 2
    > ip address 10.0.1.1 255.255.255.0
    > ip nat inside
    > ip virtual-reassembly
    > no snmp trap link-status
    > !
    > interface FastEthernet0/0.3
    > description $ETH-LAN$
    > encapsulation dot1Q 3
    > ip address 192.168.1.1 255.255.255.0
    > ip nat inside
    > ip virtual-reassembly
    > no snmp trap link-status
    > !
    > interface Ethernet1/0
    > description $ETH-WAN$
    > ip address 74.xx.xx.78 255.255.255.248
    > ip nbar protocol-discovery
    > ip nat outside
    > ip virtual-reassembly
    > full-duplex
    > service-policy output SDM-QoS-Policy-1
    > !
    > ip route 0.0.0.0 0.0.0.0 74.xx.xx.73
    > ip http server
    > no ip http secure-server
    > !
    > ip nat inside source list 1 interface Ethernet1/0 overload
    > ip nat inside source static 10.0.1.2 74.xx.xx.76
    > !
    > ip dns server
    > !
    > access-list 1 remark SDM_ACL Category=2
    > access-list 1 permit 10.0.0.0 0.0.0.255
    > access-list 1 permit 10.0.1.0 0.0.0.255
    > access-list 1 permit 192.168.1.0 0.0.0.255
    > !
    > !
    > control-plane
    > !
    > !
    > line con 0
    > line aux 0
    > line vty 0 4
    > login
    > !
    > end
    >
    > I have to say this network is my test environment, so we dont have
    > serial port on 1760, I just connect my wic-1enet card to my netpioa T1
    > router's ethernet port, dont know whether this will cause the issue.


    Ahh, grasshopper...it appears you used AutoQoS. :)

    I have mixed feelings about AutoQoS. On L2 switches, it's a nice tool,
    especially where DSCP mapping and queue assignments are involved.
    Configuring a L2 Cat for proper classification/mapping can be a bit
    arcane if done manually. The generated config should be adequate for
    just about any environment so I recommend folks utilize it as-is.

    I think you're problem is that the RTP audio streams are not getting
    classified correctly. I'll bet you'll find that if you start a phone
    call, you'll see the stream being dumped to the default queue. I've had
    AutoQoS burn me like this before. My money's on the line:

    class-map match-any SDM-Voice-1
    match protocol rtp audio

    The problem is that the keyword "audio" is changing the classification
    of your audio traffic you trying to match. I'm a little fuzzy here in
    what AutoQoS is doing (actually, nBar), but the audio keyword is keying
    on the payload type value in the packet. My guess is that you're using
    G711 for your codec? I don't believe that matches between 0 - 32 as the
    payload type value, and so the traffic is dumped into the default queue.
    This is what happened to me. As soon as I removed the keyword "audio",
    my classification of G711 traffic worked as expected. To be honest, I've
    not pursued this issue, as my traffic mix isn't that complex. Besides,
    given the myriad bugs related to QoS, nBAR, and other IOS modules, I
    didn't want to mess with what what working. :)

    IMHO, your config is probably over-engineered - common with default
    AutoQoS generated configs. However, it's still a good template to start
    from. Here's my config:

    class-map match-any Business
    match protocol dns
    match protocol snmp
    match protocol kerberos
    match protocol ldap
    match protocol syslog
    match protocol telnet
    class-map match-any Voice
    match protocol rtp
    match protocol skinny
    class-map match-any Signaling
    match protocol h323
    match protocol rtcp
    !
    !
    policy-map QoS-Out
    class Business
    bandwidth remaining percent 75
    class Signaling
    bandwidth remaining percent 5
    class Voice
    priority percent 70
    class class-default
    fair-queue
    random-detect dscp-based
    !
    ip multicast-routing
    ip cef
    !
    interface Serial0/0
    ip address 1.1.1.1 255.255.255.0
    no ip redirects
    no ip unreachables
    no ip proxy-arp
    ip pim sparse-dense-mode
    ip virtual-reassembly
    ip tcp header-compression iphc-format
    load-interval 30
    service-policy output QoS-Out
    ip rtp header-compression iphc-format


    That's pretty much it. This is an actual config from a 1760 router. I
    threw in some other traffic related configs, but the core MQC policy is
    very simple.

    One other possible gotcha is that you're applying the MQC policy to an
    Ethernet interface. You might consider assigning a bandwidth statement
    to the class, not a bandwidth percentage. This is a 10 Mbps interface,
    no? My guess is that the upstream bandwidth is not the full interface
    line rate? You could approach this in a couple of different ways. First,
    carve up your traffic classes based on a proportion of the known
    upstream bandwidth. Define that as part of the "bandwidth" keyword under
    your respective classes and remove the "percent" keyword. Second (and
    this works for Ethernet subinterfaces), implement a hierarchical policy.
    The idea here is that you create a child policy for your traffic
    classes, then apply the child policy to a parent shaping policy. See the
    following CCO link for more info:
    http://www.cisco.com/en/US/tech/tk5...a0080114326.shtml#applyingahierarchicalpolicy

    I'd give these ideas a shot and see what you get. Best of luck, and I'll
    be happy to assist you further if possible.
     
    fugettaboutit, Sep 27, 2008
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Dmitry Melekhov

    smokeping, SAA, jitter

    Dmitry Melekhov, Nov 25, 2003, in forum: Cisco
    Replies:
    2
    Views:
    1,988
    Dmitry Melekhov
    Dec 5, 2003
  2. Dmitry Melekhov

    SAA, jitter, strange values

    Dmitry Melekhov, Dec 12, 2003, in forum: Cisco
    Replies:
    0
    Views:
    510
    Dmitry Melekhov
    Dec 12, 2003
  3. Colin chaplin
    Replies:
    0
    Views:
    691
    Colin chaplin
    Jun 3, 2004
  4. Jungleboy

    Jitter Buffer Calculation

    Jungleboy, Nov 25, 2004, in forum: VOIP
    Replies:
    1
    Views:
    6,437
    Daniel Rakel
    Nov 25, 2004
  5. Pat Coghlan
    Replies:
    1
    Views:
    2,917
    William P.N. Smith
    Jul 10, 2006
Loading...

Share This Page