I have a wierd issue. We have a long time customer with Cisco 7940 phones who are connected to us via layer 2 switch and fiber so there is NO router between us. We have MTE connected to the switches and provide their phones with IP addresses via DHCP.
Well we upgraded to the 6.1.1.8 version of MTE yesterday and now today none of the Cisco Phones can ring. The calls come in, they signal and eventaully go to voicemail as they should if no one was picking up the call.
We are running:
Asterisk 1.6.2.17 built by root @ distro-e5.asterroid.com on a i686 running Linux on 2011-03-01 12:21:37 UTC
I also did a capture using SIP Debugging and I do see a few things that do bother me:
-- Called 1358-Customer1
-- Got SIP response 400 "Bad Request" back from 172.16.200.56
-- SIP/1358-Customer1-00000046 is circuit-busy
Um ok, We have a clean layer 2 shot to the phone with no firewalls in place and no filterring. They can call out all day long and the only issue is when someone calls their phones never ring. I see the signaling and then the call goes to voicemail.
What else should I be looking at? No changes at all anywhere else in the environment. Its very very wierd.
Looks like the engineers
Looks like the engineers changed the asterisk version to 1.6.2.17 from .14
The wierd thing is people on NAT in other networks work just fine, its only isolated to this one client.
Here is an example of a call we just tested with:
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP VRTP TOS bits 136
== Using SIP VRTP CoS mark 4
== Using UDPTL TOS bits 184
== Using UDPTL CoS mark 5
-- Executing [s@macro-tl-userexten-base:157] GotoIf("SIP/CTS_Gateway-00000136", "1?chanavail") in new stack
-- Goto (macro-tl-userexten-base,s,159)
-- Executing [s@macro-tl-userexten-base:159] GotoIf("SIP/CTS_Gateway-00000136", "1?dial") in new stack
-- Goto (macro-tl-userexten-base,s,165)
-- Executing [s@macro-tl-userexten-base:165] Dial("SIP/CTS_Gateway-00000136", "SIP/1355-Customer1,30,rtT") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP VRTP TOS bits 136
== Using SIP VRTP CoS mark 4
== Using UDPTL TOS bits 184
== Using UDPTL CoS mark 5
-- Called 1355-Customer1
-- Nobody picked up in 30000 ms
-- Executing [s@macro-tl-userexten-base:166] Goto("SIP/CTS_Gateway-00000136", "s-orig-NOANSWER,1") in new stack
-- Goto (macro-tl-userexten-base,s-orig-NOANSWER,1)
-- Executing [s-orig-NOANSWER@macro-tl-userexten-base:1] Goto("SIP/CTS_Gateway-00000136", "s-NA,1") in new stack
-- Goto (macro-tl-userexten-base,s-NA,1)
-- Executing [s-NA@macro-tl-userexten-base:1] GotoIf("SIP/CTS_Gateway-00000136", "0?s-exit,1") in new stack
-- Executing [s-NA@macro-tl-userexten-base:2] GotoIf("SIP/CTS_Gateway-00000136", "1?s-NA-VOICEMAIL,1") in new stack
-- Goto (macro-tl-userexten-base,s-NA-VOICEMAIL,1)
-- Executing [s-NA-VOICEMAIL@macro-tl-userexten-base:1] Answer("SIP/CTS_Gateway-00000136", "") in new stack
-- Executing [s-NA-VOICEMAIL@macro-tl-userexten-base:2] Wait("SIP/CTS_Gateway-00000136", "2") in new stack
-- Executing [s-NA-VOICEMAIL@macro-tl-userexten-base:3] GotoIf("SIP/CTS_Gateway-00000136", "0?ringing") in new stack
-- Executing [s-NA-VOICEMAIL@macro-tl-userexten-base:4] GotoIf("SIP/CTS_Gateway-00000136", "0?ringing") in new stack
-- Executing [s-NA-VOICEMAIL@macro-tl-userexten-base:5] VoiceMail("SIP/CTS_Gateway-00000136", "1355@default-Customer1,u") in new stack
-- Playing '/var/spool/asterisk/voicemail/default-Customer1/1355/greet.gsm' (language 'en')
-- Playing 'vm-isunavail.gsm' (language 'en')
-- Playing 'vm-intro.gsm' (language 'en')
== Spawn extension (macro-tl-userexten-base, s-NA-VOICEMAIL, 5) exited non-zero on 'SIP/CTS_Gateway-00000136' in macro 'tl-userexten-base'
== Spawn extension (macro-tl-userexten, s, 5) exited non-zero on 'SIP/CTS_Gateway-00000136' in macro 'tl-userexten'
== Spawn extension (local-extensions-Customer1, 1355, 1) exited non-zero on 'SIP/CTS_Gateway-00000136'
[2011-04-19 15:33:53] WARNING[29311]: chan_sip.c:3828 retrans_pkt: Maximum retries exceeded on transmission 382be12029ddda891080a78c198d5c89@172.16.200.5 for seqno 102 (Critical Request) -- See doc/sip-retransmit.txt.
I did notice:
382be12029ddda891080a78c198d5c89@172.16.200.5 for seqno 102 (Critical Request) -- See doc/sip-retransmit.txt.
Which seems consistent on a signaling issue. The call does not ring the phone and teh phone show now missed calls but when I leave a VM the VM light comes on. So its communicating with the MTE.
Anything I should specifically look at?
I had something similar
I had something similar happen with aastra phones for another customer where local phones were not affected but remote phones behind NAT were. I did a sip debug and found that after we sent the 401 rejection the phone was not sending a new invite message with the authenticate string in it.
I ended up having to add these 3 lines to their template for the 57i models
sip gruu: 0
sip instance id: 0
sip use basic codecs: 1
its probably not related but clearly something has changed in terms of protocol. Try reverting back to 1.6.2.11 (14 and higher have deadlock issues under load with call recording, you dont want that).
Thanks for the suggestions,
Thanks for the suggestions,
My situation is exactly opposite. On campus phones can make calls no issue but no ringy when calling. I did an internal and external call capture and check this out:
EXTERNAL
#######################
Via: SIP/2.0/UDP 172.16.200.5:5060;branch=z9hG4bK1bbfde35;rport
Max-Forwards: 70
From: """" ;tag=as1a0b6c41
To:
Contact:
Call-ID: 2212d6040bbfae3c38154b8a5a626459@172.16.200.5
CSeq: 102 INVITE
User-Agent: Thirdlane
Remote-Party-ID: """" ;privacy=off;screen=no
Date: Tue, 19 Apr 2011 19:41:01 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 313
v=0
o=root 927501535 927501535 IN IP4 172.16.200.5
s=Asterisk PBX 1.6.2.17
c=IN IP4 172.16.200.5
t=0 0
m=audio 13432 RTP/AVP 0 8 3 111 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:3 GSM/8000
a=rtpmap:111 G726-32/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecv
SIP/2.0 400 Bad Request
Via: SIP/2.0/UDP 172.16.200.5:5060;branch=z9hG4bK1bbfde35;rport
From: """" ;tag=as1a0b6c41
To:
Call-ID: 2212d6040bbfae3c38154b8a5a626459@172.16.200.5
Warning: 399 Bad Request - 'Malformed/Missing FROM: field'
CSeq: 102 INVITE
Content-Length: 0
INTERNAL
#######################
INVITE sip:1355-Customer1@172.16.200.57:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 172.16.200.5:5060;branch=z9hG4bK6e81f0c6;rport
Max-Forwards: 70
From: "Tony Bazemore" ;tag=as4e536f6b
To:
Contact:
Call-ID: 74b82dbe785177ec5d1931d971efa506@172.16.200.5
CSeq: 102 INVITE
User-Agent: Thirdlane
Remote-Party-ID: "Tony Bazemore" ;privacy=off;screen=no
Date: Tue, 19 Apr 2011 19:42:32 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 315
v=0
o=root 1886296298 1886296298 IN IP4 172.16.200.5
s=Asterisk PBX 1.6.2.17
c=IN IP4 172.16.200.5
t=0 0
m=audio 18702 RTP/AVP 0 8 3 111 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:3 GSM/8000
a=rtpmap:111 G726-32/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecv
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 172.16.200.5:5060;branch=z9hG4bK6e81f0c6;rport
From: "Tony Bazemore" ;tag=as4e536f6b
To:
Call-ID: 74b82dbe785177ec5d1931d971efa506@172.16.200.5
CSeq: 102 INVITE
Server: Cisco-CP7940G/8.0
Contact:
Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER,REGISTER,UPDATE
Content-Length: 0
Seems to be an issue missing the FROM FIELD. The phone is rejecting because its missing those variables? I see the internal call populates those without issue and goes through without issue.
This means an internal user can signal another internal user and make outbound calls all through the PBX. Interresting huh?
I like your idea of the rollback. Can you point me to a good doc so I can do that without blowing too much up? Never had to do a fun rollback before.
ok do this.. in the bottom of
ok do this..
in the bottom of asterisk.conf add these 2 line
[compat]
app_set=1.4
then restart asterisk
I currently
I currently have:
[compat]
pbx_realtime=1.6
res_agi=1.6
app_set=1.6
Should I comment out the 1.6 lines first?
Just checking, but a restart
Just checking, but a restart now from the Asterisk CLI is sufficient? Or do I need to do something more drastic?
Excellent, did a restart and
Excellent, did a restart and we are testing now with port sniffers. If this works out, we need to send you a pizza!
Mission accomplished. What
Mission accomplished. What beer do you like and where should I ship it to. Send me a PM and I will get you beeer!
whats your contact info.. I
whats your contact info.. I like a lot of microbrews so it depends on where you're at. What city and state are you in?
did you change asterisk versions as well? changing TL management alone should not have had any impact on sip signalling.