====== 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]