I'm in need of a little help. I've been trawling the internet for days to try and find the answer I'm looking for, everything tells me I've got it right, but something must be wrong.
I have a Cisco 2901 being configured as a CUBE to register a SIP Trunk with my provider. I'm running IOS 15.2(3). Running CUCM 9.1 in the backend, but I'm mainly concerned at the moment with the SIP Trunk Registration on the CUBE.
Basically my trunk won't register, my provider tells me that the Supported:Path tag in the outbound Register header shouldn't be there and I should also be sending a NONCE, which as you will see from the output below is blank. Apparently at that point they will challenge me with a new NONCE which my gateway will respond to and receive a 200 OK. I'm not sure how to get my CUBE to send a NONCE, everything I've read so far suggests my (basic) config should generate it in the Authorize Register Header. I have included the key bits of the config below the CCSIP Register output, if you need anything else from the config please let me know. Can someone please point me in the right direction?
Nov 11 12:24:30.868: //-1/xxxxxxxxxxxx/SIP/Info/ccsip_register_reset_dns_cache: CCSIP_REGISTER:: registrar 0 DNS resolved addr reset
Nov 11 12:24:30.868: //-1/xxxxxxxxxxxx/SIP/Info/ccsip_spi_register_update_e164_registrations: CCSIP_REGISTER:: e164 number (1411802) event (1)
Nov 11 12:24:30.868: //-1/xxxxxxxxxxxx/SIP/Info/ccsip_register_search_e164_table: ****No entry found in E164 Table
Nov 11 12:24:30.868: //-1/xxxxxxxxxxxx/SIP/Info/ccsip_spi_register_get_rcb: Getting New RCB [0x32875B1C]
Nov 11 12:24:30.868: //-1/xxxxxxxxxxxx/SIP/Info/sipSPIAddContextToTable: Added context(0x32651960) with key= to table
Nov 11 12:24:30.868: //-1/000000000000/SIP/Info/ccsip_offer_ans_init:
Nov 11 12:24:30.868: //-1/000000000000/SIP/Info/ccsip_iwf_init:
Nov 11 12:24:30.868: //-1/000000000000/SIP/Info/ccsip_ipip_media_service_init:
Nov 11 12:24:30.868: //-1/000000000000/SIP/Info/sipSPI_ipip_vcc_Initialization: Entry...
Nov 11 12:24:30.868: //-1/000000000000/SIP/Info/ccsip_ipip_media_forking_init: MF: Queue is initialised..
Nov 11 12:24:30.868: //-1/000000000000/SIP/Info/ccsipRegisterSetTargetInfo: p2p mode with Registrar Server = dns:sip.orbtalk.co.uk
Nov 11 12:24:30.868: //-1/000000000000/SIP/Info/ccsipRegisterSetTargetInfo: Parsing The Registrar Address
Nov 11 12:24:30.868: //-1/xxxxxxxxxxxx/SIP/Info/sipSPIGetOutboundHostAndDestHostPrivate: CCSIP: target_host : sip.orbtalk.co.uk target_port : 5060
Nov 11 12:24:30.868: //-1/000000000000/SIP/Info/sipSPIValidateAndCopyOutboundHost: CCSIP: copy target_host to outbound_host
Nov 11 12:24:30.868: //-1/000000000000/SIP/Info/sipSPIOutboundProxyReuse: Do not reuse Outbound Proxy IP adress and Port
Nov 11 12:24:30.868: //-1/000000000000/SIP/State/sipSPIChangeState: 0x32651960 : State change from (STATE_NONE, SUBSTATE_NONE) to (STATE_IDLE, SUBSTATE_NONE)
Nov 11 12:24:30.868: //-1/000000000000/SIP/Info/ccsip_spi_registrar_add_expires_header: Inside ccsip_spi_registrar_add_expires_header for Expires
Nov 11 12:24:30.868: //-1/xxxxxxxxxxxx/SIP/Event/sipSPIEventInfo: Queued event from SIP SPI : SIPSPI_EV_OUTBOUND_REGISTER
Nov 11 12:24:30.868: //-1/xxxxxxxxxxxx/SIP/Info/sipSPIIncrementOverloadCount: Local 1 Global 1
Nov 11 12:24:30.868: //-1/xxxxxxxxxxxx/SIP/Info/ccsip_register_add_to_e164_table: ****Added to E164 Table at position: 0
Nov 11 12:24:30.868: //-1/xxxxxxxxxxxx/SIP/Info/ccsip_process_sipspi_queue_event: ccsip_spi_get_msg_type returned: 3 for event 40
Nov 11 12:24:30.868: //-1/000000000000/SIP/Info/act_idle_outgoing_register: In act_idle_outgoing_register
Nov 11 12:24:30.868: //18/000000000000/SIP/Info/act_idle_outgoing_register: Send REGISTER to sip.orbtalk.co.uk:5060
Nov 11 12:24:30.868: //18/000000000000/SIP/Info/sipSPIUaddCcbToUACTable: ****Adding to UAC table.
Nov 11 12:24:30.868: //18/000000000000/SIP/Info/sipSPIUaddCcbToTable: Added to table. ccb=0x32651960 key=856ACD7B-68D411E4-800CC209-840A6404
Nov 11 12:24:30.868: //-1/xxxxxxxxxxxx/SIP/Event/sipSPIEventInfo: Queued event from SIP SPI : SIPSPI_EV_DNS_RESOLVE
Nov 11 12:24:30.868: //18/000000000000/SIP/State/sipSPIChangeState: 0x32651960 : State change from (STATE_IDLE, SUBSTATE_NONE) to (STATE_IDLE, SUBSTATE_SENT_DNS)
Nov 11 12:24:30.868: //18/000000000000/SIP/State/sipSPIChangeState: 0x32651960 : State change from (STATE_IDLE, SUBSTATE_SENT_DNS) to (SIP_STATE_OUTGOING_REGISTER, SUBSTATE_SENT_DNS)
Nov 11 12:24:30.868: //-1/xxxxxxxxxxxx/SIP/Info/sip_dns_type_srv_query: TYPE SRV query for _sip._udp.sip.orbtalk.co.uk and type:1
Nov 11 12:24:30.900: //-1/xxxxxxxxxxxx/SIP/Info/sip_dns_type_a_aaaa_query: DNS query for sip.orbtalk.co.uk and type:1
Nov 11 12:24:30.900: //-1/xxxxxxxxxxxx/SIP/Info/sip_dns_type_a_query: TYPE A query successful for sip.orbtalk.co.uk
Nov 11 12:24:30.900: //-1/xxxxxxxxxxxx/SIP/Info/sip_dns_type_a_aaaa_query: IP Address of sip.orbtalk.co.uk is:
Nov 11 12:24:30.900: //-1/xxxxxxxxxxxx/SIP/Info/sip_dns_type_a_aaaa_query: 126.96.36.199
Nov 11 12:24:30.900: //-1/xxxxxxxxxxxx/SIP/Info/ccsip_process_sipspi_queue_event: ccsip_spi_get_msg_type returned: 2 for event 43
Nov 11 12:24:30.900: //-1/xxxxxxxxxxxx/SIP/Info/sipSPICacheHostToCCB: sipSPICacheHostToCCB dnsResponse.num_hosts = 1
Nov 11 12:24:30.900: //-1/xxxxxxxxxxxx/SIP/Info/sipSPICacheHostToCCB: IP Address No. 1, IP address 188.8.131.52
Nov 11 12:24:30.900: //-1/xxxxxxxxxxxx/SIP/Info/resolve_sig_ip_address_to_bind: calling reg_invoke_ip_first_hop()
Nov 11 12:24:30.900: //-1/xxxxxxxxxxxx/SIP/Info/resolve_sig_ip_address_to_bind: ip_best_local_address 184.108.40.206 for SIP
Nov 11 12:24:30.900: //-1/xxxxxxxxxxxx/SIP/Info/resolve_sig_ip_address_to_bind: return addr 220.127.116.11
Nov 11 12:24:30.900: //-1/xxxxxxxxxxxx/SIP/Info/ccsip_spi_register_get_rcb: Getting New RCB [0x328766A8]
Nov 11 12:24:30.900: //-1/xxxxxxxxxxxx/SIP/Info/ccsip_register_set_dns_resolved_address: CCSIP_REGISTER:: registrar 0 DNS resolved addr set to 18.104.22.168:5060
Nov 11 12:24:30.900: //-1/xxxxxxxxxxxx/SIP/Info/ccsipRegisterStartRCBTimer: Starting timer for pattern for 3600 seconds
Nov 11 12:24:30.900: //18/000000000000/SIP/State/sipSPIChangeState: 0x32651960 : State change from (SIP_STATE_OUTGOING_REGISTER, SUBSTATE_SENT_DNS) to (SIP_STATE_OUTGOING_REGISTER, SUBSTATE_NONE)
Nov 11 12:24:30.900: //18/000000000000/SIP/Info/sipSPIPresendProcessing: Presend Processing called for 7 event
Nov 11 12:24:30.900: //-1/xxxxxxxxxxxx/SIP/Info/sipSPIRetrieveOutgoingPassThruData: Retrieving Data from RCB
Nov 11 12:24:30.900: //-1/xxxxxxxxxxxx/SIP/Info/sipSPIRetrieveOutgoingPassThruData: Retrieving Data from RCB
Nov 11 12:24:30.900: //-1/xxxxxxxxxxxx/SIP/Info/sipSPISetDateHeader: Converting TimeZone ASD to SIP default timezone = GMT
Nov 11 12:24:30.900: //18/000000000000/SIP/Info/sipSPISendRegister: Associated container=0x3285AE3C to Register
Nov 11 12:24:30.900: //18/000000000000/SIP/Transport/sipSPISendRegister: Sending REGISTER to the transport layer
Nov 11 12:24:30.900: //18/000000000000/SIP/Transport/sipSPIGetSwitchTransportFlag: Return the Global configuration, Switch Transport is FALSE
Nov 11 12:24:30.900: //18/000000000000/SIP/Transport/sipSPITransportSendMessage: msg=0x2C9FC918, addr=22.214.171.124, port=5060, sentBy_port=0, local_addr=, is_req=1, transport=1, switch=0, callBack=0x255E40D8
Nov 11 12:24:30.900: //18/000000000000/SIP/Transport/sipSPITransportSendMessage: Proceedable for sending msg immediately
Nov 11 12:24:30.900: //18/000000000000/SIP/Transport/sipTransportLogicSendMsg: switch transport is 0
Nov 11 12:24:30.900: //-1/xxxxxxxxxxxx/SIP/Transport/sipConnectionManagerGetConnection: connection required for raddr:126.96.36.199, rport:5060 with laddr:
Nov 11 12:24:30.900: //-1/xxxxxxxxxxxx/SIP/Transport/sipInstanceGetConnectionId: Registering gcb=0x32651960 with connection=0x316F6034 context list
Nov 11 12:24:30.900: //18/000000000000/SIP/Transport/sipTransportLogicSendMsg: Set to send the msg=0x2C9FC918
Nov 11 12:24:30.900: //-1/xxxxxxxxxxxx/SIP/Transport/sipTransportPostSendMessage: Posting send for msg=0x2C9FC918, addr=188.8.131.52, port=5060, local_addr=, connId=2 for UDP
Nov 11 12:24:30.900: //18/000000000000/SIP/State/sipSPIChangeState: 0x32651960 : State change from (SIP_STATE_OUTGOING_REGISTER, SUBSTATE_NONE) to (SIP_STATE_OUTGOING_REGISTER, SUBSTATE_NONE)
Nov 11 12:24:30.900: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg:
REGISTER sip:sip.orbtalk.co.uk:5060 SIP/2.0
Via: SIP/2.0/UDP 184.108.40.206:5060;branch=z9hG4bK119DE
Date: Tue, 11 Nov 2014 12:24:30 GMT
CSeq: 2 REGISTER
Authorization: Digest username="1111111",realm="sip.orbtalk.co.uk",uri="sip:sip.orbtalk.co.uk:5060",response="",nonce=""
Nov 11 12:24:30.908: //-1/xxxxxxxxxxxx/SIP/Info/HandleUdpIPv4SocketReads: Msg enqueued for SPI with IP addr: [220.127.116.11]:5060, local_address:[ - ]
Nov 11 12:24:30.908: //-1/xxxxxxxxxxxx/SIP/Info/ccsip_process_sipspi_queue_event: ccsip_spi_get_msg_type returned: 2 for event 1
Nov 11 12:24:30.908: //-1/xxxxxxxxxxxx/SIP/Transport/sipTransportProcessNWNewConnMsg: context=0x316F4C4C
Nov 11 12:24:30.908: //-1/xxxxxxxxxxxx/SIP/Transport/sipConnectionManagerProcessNewConnMsg: gConnTab=0x316F4C4C, addr=18.104.22.168, port=5060, local_addr=, connid=2, transport=UDP
Nov 11 12:24:30.908: //-1/xxxxxxxxxxxx/SIP/Info/sipHolderGetConnInstance: Return existing connection for port 5060 connId 2
Nov 11 12:24:30.908: //-1/xxxxxxxxxxxx/SIP/Info/ccsip_new_msg_preprocessor: Checking Invite Dialog
Nov 11 12:24:30.908: //18/000000000000/SIP/Info/sipSPIMatchRespToReqTran: removing unneeded z9hG4bK119DE from via branch list
Nov 11 12:24:30.908: //18/000000000000/SIP/Msg/ccsipDisplayMsg:
SIP/2.0 405 Method Not Allowed
Via: SIP/2.0/UDP 22.214.171.124:5060;received=126.96.36.199;rport=59499;branch=z9hG4bK119DE
CSeq: 2 REGISTER
Nov 11 12:24:30.908: //18/000000000000/SIP/Info/sipSPICheckResponseExt: non-INVITE response with no RSEQ - do not disable IS_REL1XX
Nov 11 12:24:30.908: //-1/xxxxxxxxxxxx/SIP/Info/sipSPIDecrementOverloadCount: Count:Local 0 Global 0
Nov 11 12:24:30.908: //18/000000000000/SIP/Error/ccsip_api_register_result_ind:
Message Code Class 4xx Method Code 100 received for REGISTER
Nov 11 12:24:30.908: //-1/xxxxxxxxxxxx/SIP/Info/ccsipGetCCBFromRCB: Retrived CCB pointer [0x0]
Nov 11 12:24:30.908: //-1/xxxxxxxxxxxx/SIP/Info/ccsip_spi_register_free_rcb: Freeing rcb [0x328766A8]
Nov 11 12:24:30.908: //-1/xxxxxxxxxxxx/SIP/Info/ccsip_register_reset_dns_cache: CCSIP_REGISTER:: registrar 0 DNS resolved addr reset
Nov 11 12:24:30.908: //18/000000000000/SIP/Info/sipSPIRegPthruProcessResponse: Processing response w/ resp code == 405
Nov 11 12:24:30.908: //-1/xxxxxxxxxxxx/SIP/Info/sipSPIGetRPCBFromRCB: Retreiving RCB [0x32875B1C] from RPCB [0x0]
Nov 11 12:24:30.908: //18/000000000000/SIP/Error/sipSPIRegPthruProcessResponse:
Error NO RPCB
Nov 11 12:24:30.908: //-1/xxxxxxxxxxxx/SIP/Info/ccsipRegisterStartRCBTimer: Starting timer for pattern 1411802 for 180 seconds
Nov 11 12:24:30.908: //-1/xxxxxxxxxxxx/SIP/Info/sipSPIDeleteContextFromTable: Context for key= removed.
Nov 11 12:24:30.908: //18/000000000000/SIP
SIP_NEW_TEST(config-sip-ua)#/Info/sipSPIUdeleteCcbFromUACTable: ****Deleting from UAC table.
Nov 11 12:24:30.908: //18/000000000000/SIP/Info/sipSPIUdeleteCcbFromTable: Deleting from table. ccb=0x32651960 key=856ACD7B-68D411E4-800CC209-840A6404
Nov 11 12:24:30.908: //18/000000000000/SIP/Info/sipSPIFlushEventBufferQueue: There are 0 events on the internal queue that are going to be free'd
Nov 11 12:24:30.908: //-1/xxxxxxxxxxxx/SIP/Transport/sipConnectionManagerUnregisterCtxtInConnection: gConnTab=0x316F4C4C, addr=188.8.131.52, port=5060, local_addr=, unregistering context=0x32651960
Nov 11 12:24:30.908: //-1/xxxxxxxxxxxx/SIP/Transport/sipInstancePurgeContextInConnection: Purging context gcb=0x32651960 from the connection=0x316F6034 context list
Nov 11 12:24:30.908: //18/000000000000/SIP/Info/sipSPI_ipip_free_codec_profile: Codec Profiles Freed
Nov 11 12:24:30.908: //18/000000000000/SIP/Info/ccsip_offer_ans_delete:
Nov 11 12:24:30.908: //18/000000000000/SIP/Info/ccsip_iwf_delete:
Nov 11 12:24:30.908: //18/000000000000/SIP/Info/sipSPIUfreeOneCCB: Freeing ccb 0x32651960
Nov 11 12:24:30.908: //-1/xxxxxxxxxxxx/SIP/Info/sipSPIGetContextFromTable: NO context for key
voice service voip
ip address trusted list
ipv4 184.108.40.206 255.255.255.255
ipv4 220.127.116.11 255.255.255.255
ipv4 18.104.22.168 255.255.255.255
ipv4 22.214.171.124 255.255.255.255
ipv4 126.96.36.199 255.255.255.255
ipv4 188.8.131.52 255.255.255.255
ipv4 184.108.40.206 255.255.255.255
ipv4 220.127.116.11 255.255.255.255
ipv4 18.104.22.168 255.255.255.255
allow-connections h323 to h323
allow-connections h323 to sip
allow-connections sip to h323
allow-connections sip to sip
no supplementary-service sip moved-temporarily
no supplementary-service sip refer
fax protocol pass-through g711alaw
modem passthrough nse codec g711alaw
no call service stop
credentials username 1111111 password 7 xxxxxxxxxxxxxxxxxxxx realm sip.orbtalk.co.uk
authentication username 1111111 password 7 xxxxxxxxxxxxxxxxxxxx realm sip.orbtalk.co.uk
registrar dns:sip.orbtalk.co.uk expires 3600 auth-realm sip.orbtalk.co.uk
Why don't you try creating a sip-profile so you can insert dummy nonce values into the register message?
voice class sip-profiles 1 request REGISTER sip-header Authorization modify "response=\"\",nonce=\"\"" "response=\"2342f17faba6b2aa668030fd60a94690\",nonce=\"BroadcoreXhyvht82kTqeadcgBW\",cnonc e=\"037CFE8\",qop=auth,algorithm=MD5,nc=00000001"
You don't need to paste it exactly as above. But make sure the nonce has some dummy value. This profile should only get engaged on the first attempt since we are matching with blank response and nonce strings.
Activate the profile by configuring under voice service voip -> sip
voice service voip
Thanks a lot for your response.
Just tried this and unfortunately it didn't work. I spoke to my provider again and they seem to insist that it's caused by the Supported: Path tag in the Register Header. Apparently this prevents the SIP Trunk populating the nonce.
if you want to remove the Supported header from Register message, please try the below.
voice class sip-profiles 1
request REGISTER sip-header Supported remove
Thanks for your suggestion, I tried with just your suggested statement and also tried with both suggestions but unfortunately it still doesn't work. I should have said that both statements have the desired effect, the first from Sreekanth populates the response and nonce fields and the second from Suresh removes the Supported: Path tag. So both really good suggestions, but for some reason in my environment the trunk still won't register.
I have since opened a TAC Case with Cisco. I'll update this discussion with more information as soon as I get a resolution. It may help others in the future.
Thanks again for talking the time to respond.
Following another conversation with my provider it turns out that it was a configuration problem their end. After weeks of them telling me it was my configuration it turns out to be their side. Not very happy, maybe I should look at alternative suppliers before I jump into a contract with these guys!
Thanks to everyone that has responded, as always the Cisco community hasn't let me down. I'm just sorry it was a waste of time in the end.