Cisco 7960 Incoming problem

Hi

I managed to configure the Cisco 7960 IP phone with SIP firmware and tried outgoing calls from the phone with a asterisk extension.

The problem is incoming calls to that extension goes directly to the voicemail, even the account is registered with the server.

I am able to see the peer details at asterisk CLI and it shows

[color=green]Status : OK (150 ms)
Useragent : Cisco-CP7960G/8.0[/color]

Tired of getting incoming calls on the phone.

Please someone help me !!!

Thanks in advance
Vino

Please help me !!!

Your help is much appreciated…

Thanks n Regards
Vino

Please provide version, platform and verbose CLI trace, at least.

Hi David,

Im using

[color=green]CentOS 5
Asterisk 1.4.15
Cisco IP-7960 SIP Firmware Version 8.0[/color]

My Asterisk CLI trace:

-- Executing [7222@from-internal:1] Macro("SIP/7223-c4109300", "exten-vm|7222|7222") in new stack -- Executing [s@macro-exten-vm:1] Macro("SIP/7223-c4109300", "user-callerid") in new stack -- Executing [s@macro-user-callerid:1] NoOp("SIP/7223-c4109300", "user-callerid: device 7223") in new stack -- Executing [s@macro-user-callerid:2] Set("SIP/7223-c4109300", "AMPUSER=7223") in new stack -- Executing [s@macro-user-callerid:3] GotoIf("SIP/7223-c4109300", "0?report") in new stack -- Executing [s@macro-user-callerid:4] ExecIf("SIP/7223-c4109300", "1|Set|REALCALLERIDNUM=7223") in new stack -- Executing [s@macro-user-callerid:5] NoOp("SIP/7223-c4109300", "REALCALLERIDNUM is 7223") in new stack -- Executing [s@macro-user-callerid:6] Set("SIP/7223-c4109300", "AMPUSER=7223") in new stack -- Executing [s@macro-user-callerid:7] Set("SIP/7223-c4109300", "AMPUSERCIDNAME=7223") in new stack -- Executing [s@macro-user-callerid:8] GotoIf("SIP/7223-c4109300", "0?report") in new stack -- Executing [s@macro-user-callerid:9] Set("SIP/7223-c4109300", "AMPUSERCID=7223") in new stack -- Executing [s@macro-user-callerid:10] Set("SIP/7223-c4109300", "CALLERID(all)="7223" <7223>") in new stack -- Executing [s@macro-user-callerid:11] Set("SIP/7223-c4109300", "REALCALLERIDNUM=7223") in new stack -- Executing [s@macro-user-callerid:12] ExecIf("SIP/7223-c4109300", "0|Set|CHANNEL(language)=") in new stack -- Executing [s@macro-user-callerid:13] NoOp("SIP/7223-c4109300", "TTL: ARG1: 7222") in new stack -- Executing [s@macro-user-callerid:14] GotoIf("SIP/7223-c4109300", "0?continue") in new stack -- Executing [s@macro-user-callerid:15] Set("SIP/7223-c4109300", "__TTL=64") in new stack -- Executing [s@macro-user-callerid:16] GotoIf("SIP/7223-c4109300", "1?continue") in new stack -- Goto (macro-user-callerid,s,23) -- Executing [s@macro-user-callerid:23] NoOp("SIP/7223-c4109300", "Using CallerID "7223" <7223>") in new stack -- Executing [s@macro-exten-vm:2] Set("SIP/7223-c4109300", "FROMCONTEXT=exten-vm") in new stack -- Executing [s@macro-exten-vm:3] Set("SIP/7223-c4109300", "VMBOX=7222") in new stack -- Executing [s@macro-exten-vm:4] Set("SIP/7223-c4109300", "EXTTOCALL=7222") in new stack -- Executing [s@macro-exten-vm:5] Set("SIP/7223-c4109300", "CFUEXT=") in new stack -- Executing [s@macro-exten-vm:6] Set("SIP/7223-c4109300", "CFBEXT=") in new stack -- Executing [s@macro-exten-vm:7] Set("SIP/7223-c4109300", "RT=30") in new stack -- Executing [s@macro-exten-vm:8] Macro("SIP/7223-c4109300", "record-enable|7222|IN") in new stack -- Executing [s@macro-record-enable:1] GotoIf("SIP/7223-c4109300", "0?2:4") in new stack -- Goto (macro-record-enable,s,4) -- Executing [s@macro-record-enable:4] AGI("SIP/7223-c4109300", "recordingcheck|20090317-125906|1237294746.68141") in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck recordingcheck|20090317-125906|1237294746.68141: Inbound recording not enabled -- AGI Script recordingcheck completed, returning 0 -- Executing [s@macro-record-enable:5] NoOp("SIP/7223-c4109300", "No recording needed") in new stack -- Executing [s@macro-exten-vm:9] Macro("SIP/7223-c4109300", "dial|30|tr|7222") in new stack -- Executing [s@macro-dial:1] GotoIf("SIP/7223-c4109300", "1?dial") in new stack -- Goto (macro-dial,s,3) -- Executing [s@macro-dial:3] AGI("SIP/7223-c4109300", "dialparties.agi") in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi dialparties.agi: Starting New Dialparties.agi dialparties.agi: Caller ID name is '7223' number is '7223' dialparties.agi: USE_CONFIRMATION: 'FALSE' dialparties.agi: RINGGROUP_INDEX: '' dialparties.agi: Methodology of ring is 'none' -- dialparties.agi: Added extension 7222 to extension map -- dialparties.agi: Extension 7222 cf is disabled -- dialparties.agi: Extension 7222 do not disturb is disabled >dialparties.agi: extnum 7222 has: cw: 0; hascfb: 0 [] hascfu: 0 [] >dialparties.agi: ExtensionState: 0 dialparties.agi: Extension 7222 has ExtensionState: 0 -- dialparties.agi: Checking CW and CFB status for extension 7222 -- dialparties.agi: dbset CALLTRACE/7222 to 7223 -- dialparties.agi: Filtered ARG3: 7222 -- AGI Script dialparties.agi completed, returning 0 -- Executing [s@macro-dial:7] Dial("SIP/7223-c4109300", "SIP/7222|30|tr") in new stack -- Called 7222 -- SIP/7222-029dd8a0 is circuit-busy == Everyone is busy/congested at this time (1:0/1/0) -- Executing [s@macro-dial:8] Set("SIP/7223-c4109300", "DIALSTATUS=CONGESTION") in new stack -- Executing [s@macro-exten-vm:10] Set("SIP/7223-c4109300", "SV_DIALSTATUS=CONGESTION") in new stack -- Executing [s@macro-exten-vm:11] GosubIf("SIP/7223-c4109300", "0?docfu|1") in new stack -- Executing [s@macro-exten-vm:12] GosubIf("SIP/7223-c4109300", "0?docfb|1") in new stack -- Executing [s@macro-exten-vm:13] Set("SIP/7223-c4109300", "DIALSTATUS=CONGESTION") in new stack -- Executing [s@macro-exten-vm:14] NoOp("SIP/7223-c4109300", "Voicemail is 7222") in new stack -- Executing [s@macro-exten-vm:15] GotoIf("SIP/7223-c4109300", "0?s-CONGESTION|1") in new stack -- Executing [s@macro-exten-vm:16] NoOp("SIP/7223-c4109300", "Sending to Voicemail box 7222") in new stack -- Executing [s@macro-exten-vm:17] Macro("SIP/7223-c4109300", "vm|7222|CONGESTION") in new stack -- Executing [s@macro-vm:1] Macro("SIP/7223-c4109300", "user-callerid|SKIPTTL") in new stack -- Executing [s@macro-user-callerid:1] NoOp("SIP/7223-c4109300", "user-callerid: 7223 7223") in new stack -- Executing [s@macro-user-callerid:2] Set("SIP/7223-c4109300", "AMPUSER=7223") in new stack -- Executing [s@macro-user-callerid:3] GotoIf("SIP/7223-c4109300", "0?report") in new stack -- Executing [s@macro-user-callerid:4] ExecIf("SIP/7223-c4109300", "0|Set|REALCALLERIDNUM=7223") in new stack -- Executing [s@macro-user-callerid:5] NoOp("SIP/7223-c4109300", "REALCALLERIDNUM is 7223") in new stack -- Executing [s@macro-user-callerid:6] Set("SIP/7223-c4109300", "AMPUSER=7223") in new stack -- Executing [s@macro-user-callerid:7] Set("SIP/7223-c4109300", "AMPUSERCIDNAME=7223") in new stack -- Executing [s@macro-user-callerid:8] GotoIf("SIP/7223-c4109300", "0?report") in new stack -- Executing [s@macro-user-callerid:9] Set("SIP/7223-c4109300", "AMPUSERCID=7223") in new stack -- Executing [s@macro-user-callerid:10] Set("SIP/7223-c4109300", "CALLERID(all)="7223" <7223>") in new stack -- Executing [s@macro-user-callerid:11] Set("SIP/7223-c4109300", "REALCALLERIDNUM=7223") in new stack -- Executing [s@macro-user-callerid:12] ExecIf("SIP/7223-c4109300", "0|Set|CHANNEL(language)=") in new stack -- Executing [s@macro-user-callerid:13] NoOp("SIP/7223-c4109300", "TTL: 64 ARG1: SKIPTTL") in new stack -- Executing [s@macro-user-callerid:14] GotoIf("SIP/7223-c4109300", "1?continue") in new stack -- Goto (macro-user-callerid,s,23) -- Executing [s@macro-user-callerid:23] NoOp("SIP/7223-c4109300", "Using CallerID "7223" <7223>") in new stack -- Executing [s@macro-vm:2] Set("SIP/7223-c4109300", "VMGAIN=""") in new stack -- Executing [s@macro-vm:3] GotoIf("SIP/7223-c4109300", "1?vmx|1") in new stack -- Goto (macro-vm,vmx,1) -- Executing [vmx@macro-vm:1] GotoIf("SIP/7223-c4109300", "0?s-CONGESTION|1") in new stack -- Executing [vmx@macro-vm:2] Set("SIP/7223-c4109300", "MODE=unavail") in new stack -- Executing [vmx@macro-vm:3] GotoIf("SIP/7223-c4109300", "1?notdirect") in new stack -- Goto (macro-vm,vmx,5) -- Executing [vmx@macro-vm:5] NoOp("SIP/7223-c4109300", "Checking if ext 7222 is enabled: ") in new stack -- Executing [vmx@macro-vm:6] GotoIf("SIP/7223-c4109300", "1?s-CONGESTION|1") in new stack -- Goto (macro-vm,s-CONGESTION,1) -- Executing [s-CONGESTION@macro-vm:1] Macro("SIP/7223-c4109300", "get-vmcontext|7222") in new stack -- Executing [s@macro-get-vmcontext:1] Set("SIP/7223-c4109300", "VMCONTEXT=default") in new stack -- Executing [s@macro-get-vmcontext:2] GotoIf("SIP/7223-c4109300", "0?200:300") in new stack -- Goto (macro-get-vmcontext,s,300) -- Executing [s@macro-get-vmcontext:300] NoOp("SIP/7223-c4109300", "") in new stack -- Executing [s-CONGESTION@macro-vm:2] VoiceMail("SIP/7223-c4109300", "7222@default|u") in new stack -- <SIP/7223-c4109300> Playing 'vm-theperson' (language 'en') -- <SIP/7223-c4109300> Playing 'digits/7' (language 'en') -- <SIP/7223-c4109300> Playing 'digits/2' (language 'en')

The extension 7222 as shown in the CLI is configured on the Cisco IP phone. I am trying to call from extension 7223.

Many Thanks
Vino

It thinks 4222 is busy. You need to do “sip set debug ip” for it to see exactly how it is responding. If it isn’t even being called, then “sip show inuse” may give some clues.

Hi david,

I got Inuse “0” for “sip show inuse” for that extension 7222.

Will “sip set debug ip” show sip debug info only for the extension ip address?

Is this problem due to the Cisco IP phone ?. Would i need any modification in the extension definition ?

Please advise me.

Many Thanks
Vino

That’s the idea. It was just to try and reduce the noise.

The idea of the SIP trace is to find out exactly how the phone is responding that is making Asterisk think it is busy.

Hi david,

I was looking at the CLI for the command sip set debug ip and I got “SIP/2.0 404 Not Found” back from my Cisco Phone.

Detailed CLI trace for sip set debug ip

Asterisk IP Address: xx.xx.xx.xx
Cisco Phone IP Address: yy.yy.yy.yy
Caller Extension: 7223
Called Extension: 7222

[code]
Audio is at xx.xx.xx.xx port 16476
Adding codec 0x4 (ulaw) to SDP
Adding codec 0x8 (alaw) to SDP
Adding non-codec 0x1 (telephone-event) to SDP
Reliably Transmitting (NAT) to yy.yy.yy.yy:64613:
INVITE sip:7222@yy.yy.yy.yy:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP xx.xx.xx.xx:5060;branch=z9hG4bK02b4a301;rport
From: “7223” sip:7223@xx.xx.xx.xx;tag=as5b43fe4e
To: sip:7222@yy.yy.yy.yy:5060;transport=udp
Contact: sip:7223@xx.xx.xx.xx
Call-ID: 720093163cfc9b66737826fc265a77eb@xx.xx.xx.xx
CSeq: 102 INVITE
User-Agent: Asterisk PBX
Max-Forwards: 70
Date: Wed, 18 Mar 2009 11:03:23 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: 266

v=0
o=root 4003 4003 IN IP4 xx.xx.xx.xx
s=session
c=IN IP4 xx.xx.xx.xx
t=0 0
m=audio 16476 RTP/AVP 0 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv


localhost*CLI>
<— SIP read from yy.yy.yy.yy:64613 —>
SIP/2.0 404 Not Found
Via: SIP/2.0/UDP xx.xx.xx.xx:5060;branch=z9hG4bK02b4a301;rport
From: “7223” sip:7223@xx.xx.xx.xx;tag=as5b43fe4e
To: sip:7222@yy.yy.yy.yy:64614;transport=udp
Call-ID: 720093163cfc9b66737826fc265a77eb@xx.xx.xx.xx
CSeq: 102 INVITE
Content-Length: 0

<------------->
— (7 headers 0 lines) —
Transmitting (NAT) to yy.yy.yy.yy:64613:
ACK sip:7222@yy.yy.yy.yy:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP xx.xx.xx.xx:5060;branch=z9hG4bK02b4a301;rport
From: “7223” sip:7223@xx.xx.xx.xx;tag=as5b43fe4e
To: sip:7222@yy.yy.yy.yy:5060;transport=udp
Contact: sip:7223@xx.xx.xx.xx
Call-ID: 720093163cfc9b66737826fc265a77eb@xx.xx.xx.xx
CSeq: 102 ACK
User-Agent: Asterisk PBX
Max-Forwards: 70
Content-Length: 0[/code]

Was this info helpful?

Many Thanks
Vino

The phone is saying number unobtainable. I’m wondering if that is something to do with the non-standard port number. It could also be that Cisco SIP phones don’t want a user part.

Actually the Cisco IP phone sits on a local ip address. And the ip address what I’ve received on the CLI is the NAT address(my dsl public ip address).

Whether asterisk is unable to locate the private ip address of the phone?

Many Thanks
Vino

It is normally the device on the inside of the NAT that is responsible for dealing with NAT issues, i.e. the phone in this case.

However I haven’t had much experience of NAT and Asterisk, so, if the phone really can’t handle this (e.g. X-Lite does it on the SIP Accounts | Properties | Topology dialogue), there may be tricks you can play with Asterisk, e.g. pretending Asterisk is really inside the NAT and the phone outside (not thought this through, though).

Hi David,

I mean to say that, Asterisk is on a direct public ip address and on a different location. My Cisco IP phone is with the private ip address on another location.

I think this is a normal situation where all the other endpoints would work without any problem. Also my other endpoints like grandstream, snom, etc, with the same asterisk server are working without problem.

Please advise…

Many thanks
Vino

It’s not particularly normal, except for a service provider serving single “lines”. Normally phones would only be inside the NAT if the PBX was inside the same one.

By elimination, it seems that the Cisco doesn’t support NAT, which is quite plausible, given that the original concept was that it would be on the same LAN as the CCM. However, it might be possible to manually configure it.

Hi

I want to tell you that we are a Internet Telephone Service Provider.

We are testing Cisco IP phones with our asterisk servers (in public ip) to test the complete functionality of the Cisco phones (in private ip) and its features.

Ok. From your saying, I think I need to test the whole scenario within a local network. i.e. Both Asterisk and Cisco IP phone on the same local private network.

But to be aware, does Cisco 7960 IP phones support NAT ?

Many Thanks
Vino

[quote=“vinodc”]

We are testing Cisco IP phones with our asterisk servers (in public ip) to test the complete functionality of the Cisco phones (in private ip) and its features.

Ok. From your saying, I think I need to test the whole scenario within a local network. i.e. Both Asterisk and Cisco IP phone on the same local private network.

But to be aware, does Cisco 7960 IP phones support NAT ?[/quote]

I have 2 working asterisk installs, and we use Cisco 7940/7960 phones, and in one case we have to explicitly set nat=no in sip.conf in order to get the phones to register. That server has 2 nics, with one nic on the public network, and the second nic on a private network with the IP phones.

sip.conf:
[123]
type=friend
context=default
host=dynamic
nat=no
mailbox=123