====== CCME SIP Phones ====== ===== General ===== * Configuration file is generated and stored in system:cme/sipphone directory ===== Configuration ===== ==== Voice Register DN ==== * Configure DN * (Optional) Creates a Shared directory line * max-calls number-of-calls—(Optional) Maximum number of calls, both incoming and outgoing. Range: 2 to 16. Default: 2. voice register dn 2 number 2102 ! shared line [max-calls ] ==== Voice RegisterPool ==== * Configure SIP Phone * Phone Type * Unlike SCCP, it is not auto detected * G.729 is the default for SIP phones * For SCCP, G.711 is the default * We need to change to SIP default to G.711 if we want to call the SCCP phone. * Use DTMF rtp-nte sip-notify to work with CUE * For some reason, the 7971, 7975 and 7960 does not work with sip-notify so had to use rtp-nte (RFC 2833) * VAD is enabled by default voice register pool 2 id mac 0014.1C2E.529A type 7961 number 1 dn 2 codec g711ulaw dtmf-relay rtp-nte no vad ===== Different Subnets ===== The way that Cisco tie phones to profiles. When a phone tries to register with the SIP function on the router, the router ARPs for the IP address of the phone that is trying to register. It then uses this as a lookup mechanism for the voice register pool. This obviously works fine for local phones (they will answer the ARP request) but not for remote ones. A debug will show Router# debug voice-register error Router# debug voice-register event No contact info available for pool 1. No contact info available for pool 2. One workaround is to use a built-in procedure within the SIP protocol for authentication. This is called the SIP Digest Authentication mechanism. The user/passwd are sent to the phone in a cnf file (encrypted passwd) and during the registration process the user/passwd stored in the phone cnf file is compared with the credentials within the voice register pool. The downside is that if you specify “authenticate register” globally ALL phones must use the SIP Digest Authentication mechanism. You can¹t have some phones use the ARP procedure and some phones use the SIP procedure. voice register global authenticate register ! voice register pool 1 username 3005 password cisco Another workaround is to manually configure ARPs and static routes on the router for the remote IP address. * Not sure if the static route is required ! arp for none local phones arp 10.1.198.11 0014.f275.1d36 ARPA ! ! Ip route needed otherwise router thinks the address is local ip route 10.1.198.11 255.255.255.255 10.1.200.96 ! ===== Optional ===== * Creates a description that appears on the IP Phone header bar voice register pool 2 description * Creates a text identifier that replaces the line number voice register dn 2 label * Point to an XML with the logo * Assigns the URL of the logo to be displayed on the SIP Phone * The logo doesn't show up all the time but after a period of inactivity voice register global logo ===== Debug ===== * Show global configuration such as max DN, pool, cme source ip --- etc CMERouter# show voice register global * To see the phone has registered * Where the ephone generates a virtual FXS ports and POTS dial peer, SIP phones create VOIP dial-peer (hence the default codec is g729. CCME_Router#show voice register dial-peers Dial-peers for Pool 10: dial-peer voice 40001 voip destination-pattern 7310 session target ipv4:192.168.100.20:5060 session protocol sipv2 digit collect kpml codec g711ulaw bytes 160 after-hours-exempt FALSE CCME_Router# * Debug tftp CCME# debug tftp events Sep 21 13:06:25.675: TFTP: Looking for CTLSEP0019E8AFA8F4.tlv Sep 21 13:06:25.819: TFTP: Looking for SEP0019E8AFA8F4.cnf.xml Sep 21 13:06:25.819: TFTP: Opened flash:/SEP0019E8AFA8F4.cnf.xml, fd 9, size 2846 for process 364 Sep 21 13:06:26.031: TFTP: Finished flash:/SEP0019E8AFA8F4.cnf.xml, time 00:00:00 for process 364 Sep 21 13:06:35.964: TFTP: Looking for English_United_States/td-sip.jar Sep 21 13:06:36.380: TFTP: Looking for United_States/g3-tones.xml Sep 21 13:06:36.940: TFTP: Looking for softkeyDefault_kpml.xml Sep 21 13:06:36.940: TFTP: Opened flash:/softkeyDefault_kpml.xml, fd 9, size 4093 for process 364 Sep 21 13:06:37.240: TFTP: Finished flash:/softkeyDefault_kpml.xml, time 00:00:00 for process 364 CCME# * Debug SIP registration CCME# debug ccsip error Sep 21 21:48:16.657: //451/C69292D18357/SIP/Error/ccsip_spi_register_incoming_registration: CCSIP_REGISTER:: Reregistering 3013@192.168.100.21 Authentication Failed Sep 21 21:48:21.545: //-1/xxxxxxxxxxxx/SIP/Error/ccsip_reg_delete_from_mac_table: RCB with mac [000f90351e4d] has been removed Sep 21 21:48:21.545: VOICE REGISTER POOL-3 has unregistered. Name:SEP000F90351E4D IP:192.168.100.21 DeviceType:Phone Sep 21 21:48:21.545: //-1/xxxxxxxxxxxx/SIP/Error/ccsip_register_search_e164_table: ****No entry found in E164 Table Sep 21 21:48:21.545: //-1/xxxxxxxxxxxx/SIP/Error/ccsip_spi_register_process_e164_registration: CCSIP_REGISTER:: Error unregistering (3013) no entry found CCME# CCME# debug ccsip messages SUBSCRIBE sip:3012@iptel.in.telstra.com.au SIP/2.0 Via: SIP/2.0/UDP 192.168.100.205:36464;branch=z9hG4bK-d87543-134ec62dd6018450-1--d87543-;rport Max-Forwards: 70 Contact: To: "3214-3012" From: "3214-3012";tag=8d594241 Call-ID: YjA0Y2QxNmFhYjRmMTJhZDZlYTNjYmY5MjQ5MzU4YjI. CSeq: 1 SUBSCRIBE Expires: 300 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO User-Agent: X-Lite release 1011s stamp 41150 Event: message-summary Content-Length: 0 Sep 21 13:11:12.910: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Sent: SIP/2.0 481 Call Leg/Transaction Does Not Exist Date: Tue, 21 Sep 2010 13:11:12 GMT From: "3214-3012";tag=8d594241 Content-Length: 0 To: "3214-3012";tag=12BB8FD4-24BF Call-ID: YjA0Y2QxNmFhYjRmMTJhZDZlYTNjYmY5MjQ5MzU4YjI. Via: SIP/2.0/UDP 192.168.100.205:36464;branch=z9hG4bK-d87543-134ec62dd6018450-1--d87543-;rport CSeq: 1 SUBSCRIBE Sep 21 13:11:15.154: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Received: REGISTER sip:10.80.103.17 SIP/2.0 Via: SIP/2.0/UDP 192.168.100.20:5060;branch=z9hG4bKa2233a6b From: ;tag=0019e8afa8f40002af641a8c-565d993d To: Call-ID: 0019e8af-a8f40002-9251f932-e3dd1fbf@192.168.100.20 Max-Forwards: 70 Date: Thu, 13 Nov 2008 22:17:32 GMT CSeq: 101 REGISTER User-Agent: Cisco-CP7971G-GE/8.4.0 Contact: ;+sip.instance="";+u.sip!model.ccm.cisco.com="119" Supported: replaces,join,norefersub,extended-refer,X-cisco-callinfo,X-cisco-serviceuri,X-cisco-escapecodes,X-cisco-service-control,X-cisco-srtp-fallback,X-cisco-monrec,X-cisco-config,X-cisco-sis-3.0.0,X-cisco-xsi-7.0.1 Content-Length: 0 Reason: SIP;cause=200;text="cisco-alarm:25 Name=SEP0019E8AFA8F4 Load=SIP70.8-4-2S Last=initialized" Expires: 3600 Sep 21 13:11:15.158: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Sent: SIP/2.0 100 Trying Date: Tue, 21 Sep 2010 13:11:15 GMT From: ;tag=0019e8afa8f40002af641a8c-565d993d Content-Length: 0 To: Call-ID: 0019e8af-a8f40002-9251f932-e3dd1fbf@192.168.100.20 Via: SIP/2.0/UDP 192.168.100.20:5060;branch=z9hG4bKa2233a6b Server: Cisco-SIPGateway/IOS-12.x CSeq: 101 REGISTER Sep 21 13:11:15.158: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Sent: SIP/2.0 401 Unauthorized Date: Tue, 21 Sep 2010 13:11:15 GMT From: ;tag=0019e8afa8f40002af641a8c-565d993d WWW-Authenticate: Digest realm="",nonce="CE5D3A033512C276",algorithm=MD5,qop="auth" Content-Length: 0 To: ;tag=12BB9898-48 Call-ID: 0019e8af-a8f40002-9251f932-e3dd1fbf@192.168.100.20 Via: SIP/2.0/UDP 192.168.100.20:5060;branch=z9hG4bKa2233a6b Server: Cisco-SIPGateway/IOS-12.x CSeq: 101 REGISTER Sep 21 13:11:15.226: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Received: REGISTER sip:10.80.103.17 SIP/2.0 Via: SIP/2.0/UDP 192.168.100.20:5060;branch=z9hG4bK905dcbc9 From: ;tag=0019e8afa8f40002af641a8c-565d993d To: Call-ID: 0019e8af-a8f40002-9251f932-e3dd1fbf@192.168.100.20 Max-Forwards: 70 Date: Thu, 13 Nov 2008 22:17:32 GMT CSeq: 102 REGISTER User-Agent: Cisco-CP7971G-GE/8.4.0 Contact: ;+sip.instance="";+u.sip!model.ccm.cisco.com="119" Authorization: Digest username="3011",realm="",uri="sip:10.80.103.17",response="53c41a1cdb85140fa51487ce9d0d4d04",nonce="CE5D3A033512C276",cnonce="fd53b676",qop=auth,nc=00000001,algorithm=MD5 Supported: replaces,join,norefersub,extended-refer,X-cisco-callinfo,X-cisco-serviceuri,X-cisco-escapecodes,X-cisco-service-control,X-cisco-srtp-fallback,X-cisco-monrec,X-cisco-config,X-cisco-sis-3.0.0,X-cisco-xsi-7.0.1 Content-Length: 0 Reason: SIP;cause=200;text="cisco-alarm:25 Name=SEP0019E8AFA8F4 Load=SIP70.8-4-2S Last=initialized" Expires: 3600 Sep 21 13:11:15.230: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Sent: SIP/2.0 100 Trying Date: Tue, 21 Sep 2010 13:11:15 GMT From: ;tag=0019e8afa8f40002af641a8c-565d993d Content-Length: 0 To: ;tag=12BB9898-48 Call-ID: 0019e8af-a8f40002-9251f932-e3dd1fbf@192.168.100.20 Via: SIP/2.0/UDP 192.168.100.20:5060;branch=z9hG4bK905dcbc9 Server: Cisco-SIPGateway/IOS-12.x CSeq: 102 REGISTER Sep 21 13:11:15.230: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Sent: SIP/2.0 200 OK Date: Tue, 21 Sep 2010 13:11:15 GMT From: ;tag=0019e8afa8f40002af641a8c-565d993d Content-Length: 0 To: ;tag=12BB9898-48 Contact: ;expires=600;x-cisco-newreg Expires: 600 Call-ID: 0019e8af-a8f40002-9251f932-e3dd1fbf@192.168.100.20 Via: SIP/2.0/UDP 192.168.100.20:5060;branch=z9hG4bK905dcbc9 Server: Cisco-SIPGateway/IOS-12.x CSeq: 102 REGISTER Sep 21 13:11:15.230: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Sent: NOTIFY sip:3011@192.168.100.20:5060;transport=udp SIP/2.0 Date: Tue, 21 Sep 2010 13:11:15 GMT From: ;tag=12BB98E4-10AC Event: service-control Content-Length: 192 User-Agent: Cisco-SIPGateway/IOS-12.x To: Contact: Content-Type: text/plain Call-ID: 8C5C8C46-C4B811DF-823AD93B-8E81F3E7@10.80.103.17 Subscription-State: active Via: SIP/2.0/UDP 10.80.103.17:5060;branch=z9hG4bK1E2413 CSeq: 101 NOTIFY Max-Forwards: 70 action=check-version RegisterCallId={0019e8af-a8f40002-9251f932-e3dd1fbf@192.168.100.20} ConfigVersionStamp={3503205707453312} DialplanVersionStamp={} SoftkeyVersionStamp={3503205707453312} Sep 21 13:11:15.730: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Sent: NOTIFY sip:3011@192.168.100.20:5060;transport=udp SIP/2.0 Date: Tue, 21 Sep 2010 13:11:15 GMT From: ;tag=12BB98E4-10AC Event: service-control Content-Length: 192 User-Agent: Cisco-SIPGateway/IOS-12.x To: Contact: Content-Type: text/plain Call-ID: 8C5C8C46-C4B811DF-823AD93B-8E81F3E7@10.80.103.17 Subscription-State: active Via: SIP/2.0/UDP 10.80.103.17:5060;branch=z9hG4bK1E2413 CSeq: 101 NOTIFY Max-Forwards: 70 action=check-version RegisterCallId={0019e8af-a8f40002-9251f932-e3dd1fbf@192.168.100.20} ConfigVersionStamp={3503205707453312} DialplanVersionStamp={} SoftkeyVersionStamp={3503205707453312} Sep 21 13:11:16.386: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Received: SIP/2.0 200 OK Via: SIP/2.0/UDP 10.80.103.17:5060;branch=z9hG4bK1E2413 From: ;tag=12BB98E4-10AC To: Call-ID: 8C5C8C46-C4B811DF-823AD93B-8E81F3E7@10.80.103.17 Date: Tue, 21 Sep 2010 13:11:15 GMT CSeq: 101 NOTIFY Content-Length: 0 Sep 21 13:11:16.394: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Received: SIP/2.0 200 OK Via: SIP/2.0/UDP 10.80.103.17:5060;branch=z9hG4bK1E2413 From: ;tag=12BB98E4-10AC To: Call-ID: 8C5C8C46-C4B811DF-823AD93B-8E81F3E7@10.80.103.17 Date: Tue, 21 Sep 2010 13:11:15 GMT CSeq: 101 NOTIFY Content-Length: 0 CCME# * Show SIP Phone configure detail CMERouter# show voice register pool 1 Pool Tag 1 Config: Mac address is 0019.E8AF.A8F4 Type is 7971 Number list 1 : DN 11 Proxy Ip address is 0.0.0.0 DTMF Relay is enabled, sip-notify Call Waiting is enabled DnD is disabled Busy trigger per button value is 0 Description is 3214-3011 keep-conference is enabled username 3011 password cisco kpml signal is enabled Transport type is udp service-control mechanism is supported registration Call ID is 0019e8af-a8f40002-9251f932-e3dd1fbf@192.168.100.20 Privacy feature is not configured. Privacy button is disabled active primary line is: 3011 contact IP address: 192.168.100.20 port 5060 Dialpeers created: dial-peer voice 40002 voip destination-pattern 3011 session target ipv4:192.168.100.20:5060 session protocol sipv2 dtmf-relay sip-notify digit collect kpml codec g711ulaw bytes 160 after-hours-exempt FALSE Statistics: Active registrations : 2 Total SIP phones registered: 1 Total Registration Statistics Registration requests : 6 Registration success : 6 Registration failed : 0 unRegister requests : 4 unRegister success : 4 unRegister failed : 0 CMERouter# * Show DN configure detail CMERouter# show voice register dn * Each configure DN and SIP Phone will have an associated dial-peer and voice port created CMERouter# show dial-peer voice summary * Debug SIP Phone registration CMERouter# debug voice register [events | errors] * Debug SIP session CCME# debug ccsip messages * Debug TFTP CCME# debug tftp [options]