================================================================================ VOICE OVER IP (VoIP) FUNCTIONAL ROUTER CONFIGURATIONS ================================================================================ Assign router hostnames. Configure and test all router interfaces that link to other routers, switches, and/or PBXs with ip addresses and no shutdowns. Verify and record the type and ID for all interfaces with "Router#show ip interface brief". Configure and test any WAN connections to include encapsulation types, PPP, Frame Relay, etc. on these interfaces. Configure and test any required routing protocol. Verify proper routing table entries. All of this is covered in Cisco 1-4 (CCNA 1-4) and/or Cisco 5 (CCNP 1). ================================================================================ SET UP GENERAL VoIP OPERATION with GLOBAL and INTERFACE CONFIGURATION COMMANDS = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = For router to ignore real time clock updates through "wic 2" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#no network-clock-participate wic 2 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = To configure type of voice card used in router - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#voice-card 0 - - voice card type "0" Router(config-voice-card)#no dspfarm - - do not use for "dspfam" = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = CONFIGURE DIFFERENT INTERFACES for GENERAL VoIP OPERATION -------------------------------------------------------------------------------- To see router interface ID numbers and settings - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router#show ip interface brief - - see summary table of all interfaces Router#show interface - - see detailed information of all interfaces Router#show interface serial0/0/0 - - see detail of interface "Serial0/0/0" -------------------------------------------------------------------------------- To see voice port ID numbers and settings - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router>show voice port summary - - see summary table of all voice ports Router>show voice port - - see detailed information of all voice ports Router>show voice port 0/0/0 - - see detailed information of voice port "0/0/0" -------------------------------------------------------------------------------- To configure interface Controller T1 (E1) for VoIP operation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#controller T1 0/2/0 - - configure "T1" controller number "0/2/0" Router(config-controller)#clock source internal - - router clock source, default or Router(config-controller)#clock source line - - get clock source from other end Router(config-controller)#framing esf - - specifies "esf" framing type Router(config-controller)#default framing - - set "framing" or other to default Router(config-controller)#linecode b8zs - - specifies "b8zs" line code setting Router(config-controller)#ds0-group 1 timeslots 1-12 type e&m-wink-start specify "ds0" group "1" timeslots "1-12" for signal type "e&m-wink-start" Note: controller T1 "0/2/0" will now show up with show voice port number "0/2/0:1" -------------------------------------------------------------------------------- To see router voice port configurations and call information - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router>show voice port - - show detailed information on all voice ports Router>show voice port 0/0/0 - - show detailed information on voice port "0/0/0" Router>show voice port summary - - show summary information on all voice ports Router>show voice port busyout - - show ports configured as busyout Router>show voice dsp - - display DSP usage Router>show controller T1 - - show operational status of the controller -------------------------------------------------------------------------------- To configure FXS voice port ring cadence and regional style - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#voice-port 0/0/0 - - configure voice port number "0/0/0" Router(config-voice-port)#ring cadence define 6 10 - - ring cadence to "6 10" Router(config-voice-port)#cptone AU - - Australian "AU" ring, busy, etc. style and that regional ring cadence if not specifically set as above Note: FXO ports get the ring cadence and style from the PBX or central office -------------------------------------------------------------------------------- To configure FXS, FXO, or T1/E1 voice port timeouts - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#voice-port 0/0/0 - - configure voice port number "0/0/0" Router(config-voice-port)#timeout initial 8 - - first digit timeout "8" seconds Router(config-voice-port)#timeouts interdigit 15 - - interdigit timeout "15" seconds Router(config-voice-port)#timeouts ringing 240 - - ringing timeout "240" seconds Router(config-voice-port)#timeouts hookflash-in 500 - - hookflash-in "500"ms duration = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = CONFIGURE DIFFERENT DAIL PEERS for GENERAL VoIP OPERATION -------------------------------------------------------------------------------- To see router dial peer voice configurations and call information - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router>show call active voice - - see detailed information on all active calls Router>show voice call summary - - see summary information on all active calls Router>show voice dsp - - display DSP usage Router>show ip rtp header-compression - - shows RTP header compression statistics Router>show dial-peer voice - - see detailed information of all dial-peers Router>show dial-peer voice 100 - - see detailed information of dial-peer "100" Router#show dial-peer voice summary - - see summary table of all dial-peers Router#show dialplan number 1000 - - which dial-peer matches phone number "1000" -------------------------------------------------------------------------------- To configure dial peers for normal pots and VoIP operations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router examines all dial peers for each call and selects the most complete phone number match, or uses "preference" or hunt group rules to select the "voice-port" (pots) or "session target" ip number (voip) to link for that call - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#dial-peer voice 100 pots - - configure dial peer "100" for "pots" or Router(config)#dial-peer voice 200 voip - - configure dial peer "200" for "voip" dial peer number must be unique, does not need to be configured in sequence, and will not be re-sequenced after entering Router(config-dial-peer)#destination-pattern 1102 - - match phone number "1102" strips off the "1102" pattern when call sent to next location; use dots "." for required positions of any value, i.e. "12..","551....","....","9","*","#" Router(config-dial-peer)#no digit-strip - - will not strip off specified pattern or Router(config-dial-peer)#forward-digits all - - will forward all digits Router(config-dial-peer)#forward-digits 5 - - will forward last "5" digits Router(config-dial-peer)#port 0/0/1 - - links "pots" dial peer to voice-port "0/0/1" or Router(config-dial-peer)#port 0/2/0:1 - - links T1 dial peer to voice-port "0/2/0:1" or Router(config-dial-peer)#session target ipv4:10.1.1.2 - "voip" ipv4 add "10.1.1.2" Router(config-dial-peer)#preference 1 - - set dial peer preference "1" default "0" uses lowest dial peer preference for a phone number pattern match; used to set up primary and backup dial peers pointing to different voice port/ip numbers -------------------------------------------------------------------------------- To configure dial peers to hunt for a non busy phone within a group of numbers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Configure multiple dial peers with the same destination-pattern unassigned phone number but with valid "port #" or "session target ipv4:#", if phone pointed to by port or ip is busy the call goes to the next dial peer, can use preference # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#dial-peer hunt 7 - - set dial peer selection order "7" values (0-7) order "0" (default) next dial peer, order "7" is dial peer of longest idle time -------------------------------------------------------------------------------- To Configure Plar, Plar opx, Trunk, and Tie-line - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#voice-port 0/2/0:1 - - configure "T1" voice port number "0/2/0:1" Router(config-voice-port)#connection plar 123 - - links dial peer "123" all calls Router(config-voice-port)#connection plar opx 456 - - links dial peer "456" all calls do not report to PBX call completion until the phone has answered, remote PBX Router(config-voice-port)#connection trunk 500 - - links dial peer "500" for outbound permanent virtual trunk connection across for outbound calls Router(config-voice-port)#connection trunk 501 answer-mode - - links dial peer "501" for permanent virtual trunk connection across the link in "answer-mode" inbound Router(config-voice-port)#connection Tie-line 600 - - links dial peer "600" for temporary virtual trunk connection across the link for all traffic -------------------------------------------------------------------------------- Configure dial peer to use specified codec for calls using that dial peer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#dial-peer voice 200 voip - - configure dial peer "200" for "voip" Router(config-dial-peer)#codec clear-channel - - set clear channel codec thru DSP Router(config-dial-peer)#codec g711ulaw - - set codec "g711ulaw" on this dial peer -------------------------------------------------------------------------------- To configure dial peers to use a codec list and/or negotiate the codec to use - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#voice class codec 400 - - set up codec voice class "400" Router(config-voice-class)#codec preference 1 g711ulaw - preference "1" use "g711ulaw" Router(config-voice-class)#codec preference 2 g729r8 - - preference "2" use "g729r8" uses preference 1 if hardware/other end can support or shifts to preference 2 Router(config)#dial-peer voice 200 voip - - configure dial peer "200" for "voip" Router(config-dial-peer)#voice-class codec 400 - - links to voice class "400" above -------------------------------------------------------------------------------- Configure interfaces for VoIP packet header compression - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#interface FastEthernet0/1/0 - - configure interface "0/1/0" Router(config-interface)#fair-queue - - enables Weighted Fair Queue (WFQ) on an interface Router(config-interface)#ip tcp header-compression iphc-format - - activate tcp header compression Router(config-interface)#ip rtp header-compression iphc-format - - activate rtp header compression Router(config)#interface Serial0/1/0 - - configure Frame Relay link "0/1/0" Router(config-interface)#frame relay ip rtp header-compression - - header compression Router(config-interface)#no shutdown - - must do "no shutdown" to start interface -------------------------------------------------------------------------------- To debug dial peers for pots and VoIP operations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router#debug voip ccapi inout - - debug real-time call control and call leg data Router#debug vpm signal - - debug active call voice port module signaling Router#undebug all (u all) - - un-debug all debugging activity = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = CONFIGURE VoIP GATEWAYS and GATEKEEPERS USING H.323 OPERATION -------------------------------------------------------------------------------- To see gateway and gatekeeper configurations and information - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router#show gateway - - shows if the gateway is connected to the gatekeeper Router#show gatekeeper xxxx - - displays various gatekeeper parameters and statuses xxxx = calls, endpoints, performance stats, servers, status, zone status Router>show gatekeeper status - - displays the current status of gatekeeper parameters, including maximum and current bandwidth information -------------------------------------------------------------------------------- Configure VoIP gateway on an interface and register with gatekeeper - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#interface FastEthernet0/1/0 - - configure interface "0/1/0" Router(config-interface)#h323-gateway voip interface - - register int with gatekeeper Router(config-interface)#h323-gateway voip id gkp1r1 ipaddr 10.1.10.3 1719 defines gatekeeper name "gkp1r1" and address "10.1.10.3" for this gateway Router(config-interface)#h323-gateway voip h323-id gwp1r1 - - gateway name "gwp1r1" Router(config-interface)#h323-gateway voip bind srcaddr 10.1.10.1 - - bind to int ip Router(config)#gateway - - enables gateway after above configuration Router(config-gateway)#timer receive-rtp 1200 - - set round trip rtp timer to "1200" -------------------------------------------------------------------------------- Configure voice dial peer to get session target IP number from gatekeeper - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#dial-peer voice 900 voip - - configure dial peer "900" for "voip" Router(config-dial-peer)#destination-pattern .... - - default match pattern "...." Default Dial Peer for Phone Numbers not configured separately Router(config-dial-peer)#session target ras - - ask gatekeeper for session target IP Router(config)#dial-peer voice 111 pots - - configure dial peer "111" for "pots" Router(config-dial-peer)#no register e164 - - do not register with gatekeeper -------------------------------------------------------------------------------- Configure VoIP gatekeeper on a router and register gateways - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#gatekeeper - - enables gatekeeper functionality Router(config-gk)#zone local gkp1r1 sunset.com 10.1.10.1 - - set local zone "gkp1r1" add to gatekeeper database "sunset.com" local zone address "10.1.10.1" Router(config-gk)#zone remote gkp1r2 sunset.com 10.1.10.2 1719 - - set remote zone "gkp1r2" add to gatekeeper database "sunset.com" remote zone address "10.1.10.2", make one entry for each different remote gateway Router(config-gk)#zone prefix gkp1r2 12.. - - match "12.." for "gkp1r2" gateway use dots "." required of any value, i.e. "12..","551....","....","9","*","#", make one entry for each different remote gateway Router(config-gk)#zone prefix 972 - - set phone number prefix "972" for above zone Router(config-gk)#bandwidth total default xxxxx - - sets total amount of bandwidth for H.323 traffic allowed in a zone Router(config-gk)#gw-type-prefix 1#* default-technology - - "1#*" default technology Router(config-gk)#no shutdown - - must do "no shutdown" to start gatekeeper -------------------------------------------------------------------------------- Configuration to shutdown the router VoIP gatekeeper - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#gatekeeper - - enables gatekeeper functionality Router(config-gk)#shutdown - - must do "shutdown" to stop the router gatekeeper -------------------------------------------------------------------------------- To debug a VoIP gateway router and a VoIP gatekeeper router - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router#debug cch323 h225 - - debug state transition of the H.225 state gateway Router#debug gatekeeper server - - debug Cisco IOS gatekeeper messages = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = CONFIGURE VoIP SIP PROXY SERVER USING SESSION INITIATION PROTOCOL (SIP) -------------------------------------------------------------------------------- To see SIP Proxy configurations and information - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router#show sip-ua status - - shows SIP proxy server information Router#show sip-ua timers - - shows SIP proxy server timers -------------------------------------------------------------------------------- Configure SIP Proxy user agent - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#sip-ua - - enters SIP UA configuration mode Router(config-sip-ua)#retry invite 2 - - xxxxxxxxxxxxxxxxxxx Router(config-sip-ua)#retry response 2 - - xxxxxxxxxxxxxxxxxxx Router(config-sip-ua)#retry bye 2 - - xxxxxxxxxxxxxxxxxxx Router(config-sip-ua)#retry cancel 2 - - xxxxxxxxxxxxxxxxxxx Router(config-sip-ua)#sip-server dns:server - - sets SIP server as a DNS server -------------------------------------------------------------------------------- Configure SIP Dial Peers for users - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#dial-peer voice 900 voip - - configure dial peer "900" for "voip" Router(config-dial-peer)#destination-pattern .... - - default match pattern "...." Router(config-dial-peer)#session protocol sipv2 - - specifies that the VoIP dial peer should use SIP call control when processing the call Router(config-dial-peer)#session target ipv4:10.1.1.2 - "voip" ipv4 add "10.1.1.2" or Router(config-dial-peer)#session target sip-server - - specifies the "voip" session target ip address be obtained from the SIP proxy server -------------------------------------------------------------------------------- To debug the SIP Proxy configurations and information - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router#debug ccsip xxxxxx - - displays various real-time SIP call information = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = CONFIGURE VoIP MGCP SERVER (Cisco Call Manager) -------------------------------------------------------------------------------- To see MGCP Server configurations and information - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router>show call application voice summary - - shows summary available applications Router>show ccm-manager - - displays Cisco CallManager MGCP information Router#show mgcp status - - shows mgcp server information -------------------------------------------------------------------------------- Configure MGCP Server configurations user agent - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#ccm-manager mgcp - - enables support for Cisco CallManager MGCP Router(config)#mgcp - - enables MGCP functionality on the router Router(config)#mgcp call-agent 10.1.10.99 service-type mgcp version 0.1 Links to MGCP call agent at "10.1.10.99" with service-type "mgcp version 0.1" Router(config)#mgcp profile default - - configure default mgcp profile -------------------------------------------------------------------------------- Configure MGCP Dial Peer configurations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#dial-peer voice 100 pots - - configure dial peer "100" for "pots" Router(config-dial-peer)#server MGCPAPP - - enables MGCP in this dial peer Make Sure that MGCPAPP is all in Capital Letters Router IOS may use Router(config-dial-peer)#application MGCPAPP - - enables MGCP in this dial peer Make Sure that MGCPAPP is all in Capital Letters Router(config-dial-peer)#port 0/0/1 - - links "pots" dial peer to voice-port "0/0/1" -------------------------------------------------------------------------------- To debug MGCP configurations and information - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router#debug ccm-manager xxxxxxx - - displays real-time Cisco CallManager MGCP information Router#debug ccm-manager xxxxx - - displays real-time Cisco CallManager MGCP information Router#debug mgcp xxxxx - - displays real-time MGCP call information = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = IMPLEMENTING CISCO AUTO QUALITY OF SERVICE (AutoQoS) -------------------------------------------------------------------------------- To see Quality of Service (QoS) configurations and information - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router>show policy-map interface 0/0/0 - - display interface "0/0/0" policy map -------------------------------------------------------------------------------- To Clear Frame Relay Inverse Address Resolution Protocol (IARP) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router#clear frame-relay inarp - - clears ghost Frame Relay Inverse Address Resolution Protocol (ARP) associations -------------------------------------------------------------------------------- To Display Learned Frame Relay DLCI numbers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router#show frame-relay map - - displays Frame Relay Map Associations, DLCI # -------------------------------------------------------------------------------- To configure router to use Cisco Express Forwarding "cef" Switching - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#ip cef - - enable Cisco Express Forwarding "cef" interface switching -------------------------------------------------------------------------------- To prepare Serial PPP interface to use Cisco AutoQoF - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#interface Serial0/3/0 - - configure Serial PPP link "0/3/0" Router(config-interface)#ip address 10.1.1.1 255.255.255.0 - - ip "10.1.1.1" Router(config-interface)#bandwidth 72 - - sets the bandwidth "72,000" on the physical interface, must be set for correct fragment sizes to be calculated Router(config-interface)#encapsulation ppp - - enables PPP encapsulation configure in both serial and multilink interfaces Router(config-interface)#ip tcp header-compression iphc-format - - header compression Router(config-interface)#ip rtp header-compression iphc-format - - header compression - - - - - - - - - - - - - - - - - - - - - - - - - - reconfigure "voip" dial peer session target ip address to link to other end Serial PPP interface ip address, test with ping and voice call, both directions - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config-interface)#auto qos voip - - enables Cisco AutoQoS configuration for interface - - - - - - - - - - - - - - - - - - - - - - - - - - Named class maps, named policy maps, and named access list will be created See commands following Frame Relay Cisco AutoQoF for individual commands - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To prepare Frame Relay interface to use Cisco AutoQoF - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To use Cisco AutoQoF change the Frame Relay interface to a subinterface Delete the IP address from the interface and then clear the IARP as above Create point-to-point subinterface using the deleted IP address adding bandwidth and interface-dlci statements getting dlci number from above - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#interface Serial0/1/0 - - configure frame relay link "0/1/0" Router(config-interface)#no ip address - - removes the IP address Router(config-interface)#encapsulation frame-relay - - sets encapsulation type Router(config-interface)#frame-relay lmi-type cisco - - sets lmi type Router(config)#interface Serial0/1/0.1 point-to-point - - point-to-point subinterface Router(config-interface)#bandwidth 72 - - sets the bandwidth "72,000" on the physical interface, must be set for correct fragment sizes to be calculated Router(config-interface)#ip address 192.168.1.11 255.255.255.0 - - ip "192.168.1.11" Router(config-interface)#frame-relay interface-dlci 102 - - assigns dlci "102" and enables DLCI configuration mode Router(config-interface)#frame relay ip rtp header-compression - - header compression - - - - - - - - - - - - - - - - - - - - - - - - - - reconfigure "voip" dial peer session target ip address to link to other end Frame Relay interface ip address, test with ping and voice call, both directions - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config-interface-dlci)#auto qos voip - - activates Cisco AutoQoF - - - - - - - - - - - - - - - - - - - - - - - - - - Named class maps, named policy maps, and named access list will be created The following commands could be used to create the same - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Configure Class Maps for Quality of Service (QoS) - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#class-map match-any AutoQoS-VoIP-Remark - - creates a class map named "AutoQoS-VoIP-Remark" and enters class map configuration mode Router(config-class-map)#match ip dscp ef - - specifies that the class map should match packets marked with the highest precedence of "1" Router(config-class-map)#match ip dscp cs3 - - specifies that the class map should match packets marked with a precedence of "3" Router(config-class-map)#match ip dscp af31 - - specifies that the class map should match packets marked with xxxxxxxxxx - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#class-map match-any AutoQoS-VoIP-Control-UnTrust - - creates a class map named "AutoQoS-VoIP-Control-UnTrust" and enters class map configuration mode Router(config-class-map)#match access-group name AutoQoS-VoIP-Control - - links to named access list "AutoQoS-VoIP-Control" - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#class-map match-any AutoQoS-VoIP-RTP-UnTrust - - creates a class map named "AutoQoS-VoIP-RTP-UnTrust" and enters class map configuration mode Router(config-class-map)#match protocol rtp audio - - links rtp "voice streams" to this class map Router(config-class-map)#match access-group name AutoQoS-VoIP-RTCP - - links to named access list "AutoQoS-VoIP-RTCP" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Configure Policy Map for Quality of Service (QoS) - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#policy-map AutoQoS-VoIP-Policy-UnTrust - - creates a policy map named "AutoQoS-VoIP-Policy-UnTrust" and enters policy map configuration mode Router(config-policy-map)#class AutoQoS-VoIP-RTP-UnTrust - - links policy map to named class map "AutoQoS-VoIP-RTP-UnTrust" for following commands Router(config-policy-map-class)#priority percent 70 - - assigns voice class traffic to the priority queue and reserves "70%" of bandwidth to allow for that queue Router(config-policy-map-class)#set dscp ef - - assigns packets that match this class map highest precedence of "1" - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config-policy-map)#class AutoQoS-VoIP-Control-UnTrust - - links policy map to named class map "AutoQoS-VoIP-Control-UnTrust" for following commands Router(config-policy-map-class)#bandwidth percent 5 - - sets maximum bandwidth of "5%" for this class map Router(config-policy-map-class)#set dscp af31 - - xxxxxxxxxxxxxxxxxx - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config-policy-map)#class AutoQoS-VoIP-Remark - - links policy map to named class map "AutoQoS-VoIP-Remark" for following commands Router(config-policy-map-class)#set dscp default - - set dscp to the default - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config-policy-map)#class class-default - - links policy map to for everything else to following commands Router(config-policy-map-class)#fair-queue - - enables Weighted Fair Queue (WFQ) on the interface - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Link Frame Relay Subinterface to Named Map Class - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#interface Serial0/1/0.1 point-to-point - - point-to-point subinterface Router(config-interface)#bandwidth 72 - - sets the bandwidth "72,000" on the physical interface, must be set for correct fragment sizes to be calculated Router(config-interface)#ip address 192.168.1.11 255.255.255.0 - - ip "192.168.1.11" Router(config-interface)#frame-relay interface-dlci 102 - - assigns dlci "102" and enables DLCI configuration mode Router(config-interface-dlci)#class AutoQoS-VoIP-FR-Serial0/3/1.1-102 - - links interface dlci "102" to named map-class "AutoQoS-VoIP-FR-Serial0/3/1.1-102" Router(config-interface-dlci)#auto qos voip - - activates Cisco AutoQoF on dlci "102" Router(config-interface)#frame relay ip rtp header-compression - - header compression - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Create Extended Named Access Lists - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#ip access-list extended AutoQoS-VoIP-Control - - creates an access list named "AutoQoS-VoIP-Control" and enters access list configuration mode Router(config-access-list)#permit tcp any any eq 1720 - - permit "tcp" on port "1720" Router(config-access-list)#permit tcp any any range 11000 11999 - - permit "tcp" on port range "11000" to "11999" Router(config-access-list)#permit udp any any eq 2427 - - permit "udp" on port "2427" Router(config-access-list)#permit tcp any any eq 2428 - - permit "tcp" on port "2428" Router(config-access-list)#permit tcp any any range 2000 2002 - - permit "tcp" on port range "2000" to "2002" Router(config-access-list)#permit udp any any eq 1719 - - permit "udp" on port "1719" Router(config-access-list)#permit udp any any eq 5060 - - permit "udp" on port "5060" - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#ip access-list extended AutoQoS-VoIP-RTCP - - creates an access list named "AutoQoS-VoIP-RTCP" and enters access list configuration mode Router(config-access-list)#permit udp any any range 16384 32767 - - permit "udp" on port range "16384" to "32767" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Create Named Map Class - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#map-class frame-relay AutoQoS-VoIP-FR-Serial0/3/1.1-102 - - creates an frame relay map class named "AutoQoS-VoIP-FR-Serial0/3/1.1-102" and enters map class configuration mode Router(config-map-class)#frame-relay cir 72000 - - xxxxxxxxxxxxxx Router(config-map-class)#frame-relay bc 720 - - xxxxxxxxxxxxxx Router(config-map-class)#frame-relay be 0 - - xxxxxxxxxxxxxx Router(config-map-class)#frame-relay mincir 72000 - - xxxxxxxxxxxxxx Router(config-map-class)#service-policy output AutoQoS-VoIP-Policy-UnTrust - - links a policy map named "AutoQoS-VoIP-Policy-UnTrust" to an interface, use the name of the policy map you created Router(config-map-class)#frame-relay fragment 90 - - xxxxxxxxxxxxxx - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Other Frame Relay Class Map Commands - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config-class-map)#frame-relay bc xxxxx - - specifies the committed burst value this value should be 1/100 of the CIR for a 10-ms maximum burst delay Router(config-class-map)#frame-relay cir xxxxx - - specifies the "CIR" of the Frame Relay link Router(config-class-map)#frame-relay fair-queue - - enables Weighted Fair Queue (WFQ) for the interface Router(config-class-map)#frame-relay fragment xxxxx - - specifies the fragment size for frames fragment size should be set to accommodate a 10-ms delay in queue calculate this based on the link speed = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = IMPLEMENTING CAC and RSVP on A Router -------------------------------------------------------------------------------- To see router CAC and RSVP information and settings - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router>show ip rsvp reservation - - displays RSVP reservations for active calls Router>show ip rsvp installed - - displays RSVP reservation for active calls Router>show ip rsvp installed detail - - displays RSVP reservation details for active calls -------------------------------------------------------------------------------- To debug router CAC and RSVP information during VoIP operations - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router#debug ip rsvp traffic-control - - displays resource allocation based on QoS policy Router#debug voice ccapi individual 6 - - displays debug output specifically for call control application programming interface (CCAPI) debug message 6, which is generated when a call is attempted that exceeds the configured max-conn count for the dial peer -------------------------------------------------------------------------------- Set Maximum Number of Connections on a Dial Peer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#dial-peer voice 100 pots - - configure dial peer "100" for "pots" or Router(config)#dial-peer voice 200 voip - - configure dial peer "200" for "voip" Router(config-dial-peer)#max-conn - - sets the maximum connections per dial peer for both inbound and outbound peer matches -------------------------------------------------------------------------------- Enable RSVP on a Serial PPP interface - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#interface Serial0/3/0 - - configure Serial PPP link "0/3/0" Router(config-interface)#ip address 10.1.1.1 255.255.255.0 - - ip "10.1.1.1" Router(config-interface)#bandwidth 72 - - sets the bandwidth "72,000" on the physical interface, must be set for correct fragment sizes to be calculated Router(config-interface)#encapsulation ppp - - enables PPP encapsulation configure in both serial and multilink interfaces Router(config-interface)#ip tcp header-compression iphc-format - - header compression Router(config-interface)#ip rtp header-compression iphc-format - - header compression Router(config-interface)#ip rsvp bandwidth 20 - - enable "rsvp" on the interface and configures maximum bandwidth "20" kilobits per second that can be reserved by RSVP. -------------------------------------------------------------------------------- Configure Dial Peers to use RSVP - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#dial-peer voice 200 voip - - configure dial peer "200" for "voip" Router(config-dial-peer)#req-qos guaranteed-delay - - configures the requested QoS to be used for calls matching this dial peer Router(config-dial-peer)#acc-qos guaranteed-delay - - configures the minimally acceptable QoS to be used for calls matching this dial peer = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = OTHER CONFIGURATION COMMANDS -------------------------------------------------------------------------------- Interface Commands - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config)#interface multilink xxxx - - creates an MP interface and enters multilink interface configuration mode Router(config-interface)#multilink-group xxxxx - - used to link multilink (logical) interface to the serial (physical) interface use the same command and group number in both interfaces to bind them together Router(config-interface)#ppp multilink - - enables MLP on an interface configure in both serial and multilink interface -------------------------------------------------------------------------------- Other Dial Peer Commands - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config-dial-peer)#ip qos dscp xxxxx - - specifies the DSCP for the dial peer use class selector 5 (cs5) to specify an IP precedence of 5 -------------------------------------------------------------------------------- Other Frame Relay Commands - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config-interface)#fair-queue - - enables Weighted Fair Queue (WFQ) on an interface Router(config-interface)#frame-relay traffic-shaping - - enables Frame Relay traffic shaping on the interface -------------------------------------------------------------------------------- Other Frame Relay DLCI Commands - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config-dlci)#class xxxxxxx - - applies the frame relay map class that was created previously -------------------------------------------------------------------------------- Other Policy Map Commands - - - - - - - - - - - - - - - - - - - - - - - - - - Router(config-policy-map)#fair-queue - - enables Weighted Fair Queue (WFQ) on the interface Router(config-policy-map)#class xxxxxx - - associates the previously created class map to this policy ensure that the same name is used as when you created the class map Router(config-policy-map)#ppp multilink fragment delay xxxx - - specifies a maximum size in units of time for packet fragments on an MLP bundle Router(config-policy-map)#ppp multilink interleave - - enables interleaving of packets among the fragments of larger packets on an MLP bundle ================================================================================ Prepared by: John C. Samuel, Professor, Computer Information Systems, Information Technology Programs and System Support Division, El Centro College, Dallas, Texas 75202, 214-860-2221, jcs5522@dcccd.edu, 30 May 2006.