cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
997
Views
0
Helpful
4
Replies

spa 508g phones continue to ring after ack'ing sip CANCEL

pescinergy
Level 1
Level 1

I have a customer that has 23 SPA 508G phones at a location running firmware version 7.5.5. We are not using the Cisco VoIP switch but one from a company called Netsapiens. This customer just wants all phones to ring until answered so they don't want an auto-attendant or queues configured so we have them set up for a simultaneous ring. What happens is when a call comes in the server sends the INVITE to the phones, the phones respond with a 100 Trying, and then a 180 ringing. The phones at the site ring at that point. One user will answer the call and that phone sends a 200 Ok. The server then sends a CANCEL to all the other phones. The record I'm looking at right now shows what looks like first a 487 Request Terminated and then a 200 Ok coming from each unanswered phone. That is from the server end. At the customer location though, and I have a video of this happening, the unanswered phones continue to ring for about 10 seconds after the call is answered elsewhere. All of the SIP signalling takes place within less than a second (the call record shows all the 487 and then 200s with the same time with a resolution of seconds) so I don't think the problem is network related. Is there a bug in 7.5.5 that would cause this? Does anyone know a fix for this?

 

Thanks!
 

4 Replies 4

Dan Lukes
VIP Alumni
VIP Alumni

There is known issue with pre-7.5.6 firmwares. Read Problem when sending CANCEL before 180 Ringing is received thread for more info.

But it seems not to be the same issue you described.

We have hundreds of SPA504G(7.5.5) here (same hardware and firmware as SPA508G, just limited to use four lines only) and we never hit issue you described. I have SPA508G(7.5.5) here as well, I tried it just now, and it works like a charm.

So it seems to be issue related to particular configuration - either configuration of phone itself or network configuration or switch configuration. You need to identify who's guilty here at the first.

Configure syslog&debug on phones. Catch all SIP packets between phones and switch as well as all syslog&debug messages sent by them. Wait for issue to occur.

Catched records should reveal the source of the problem and allow us to advice next steps.

If you will post the catched data here wishing for help you should mention time of event and IP of affected phone.

Of course, you can upgrade to 7.5.6 to check the issue can manifest with such firmware as well, but read Bug in the latest spa3XX-5XXG phone firmware 7.5.6 - Can not transfer anonymous calls

 

Thanks for the answer. I had already upgraded the phones to 7.5.6 just before I saw your reply and it did not solve the problem. In addition I did see the anonymous call problem but due to how our system implements dynamic call park they can be parked and then when the call is picked up again the xfer button is back and it works so we can work around that for now.

 

Due to some things we have found out I'm thinking now it is a network problem. This customer has a point to point fiber link and the provider of that link says they are having problems with their pon equipment and are in the process of replacing many of them. Just as a note, I have verified that the device that is doing nat for this customer does not have sip alg turned on (a cisco 2800 with the no service sip udp 5060 command - I think that is the exact syntax from memory but I would have to login to check the exact syntax).

 

I still see something I don't understand at all. I turned the debug on for 3 phones - debug level 3 as well as full sip debugging. I did that late last night and then made a test call. Now the description I originally gave was for a call that exhibited the problem I described but it looked like a trace for a normal call. We have found out that on many of the problem calls though there are multiple invites sent due to not receiving a response from the phone. So, for example, a call comes in, the server sends an invite, waits for a timeout period with no response and then sends another invite. Eventually responses are received from the phones. My test call at 02:42 this morning exhibited that behaviour, 3 invites were sent before a response.

 

Now here is the weird part, when I looked at the logs I see no invites for the call. There are a lot of NOTIFY messages which are used for registration to our server normally but I even see them associated with the call ID of my test call. I'm attaching the log with my cell number sanitized (and the command I ran to filter this out was

cat syslog.1 | grep 20140906074250023017-fcdd719c346870e86975fdd57713f6b > ~/tsb.log

so the log should only show entries related to that phone call since that is the term call-id):

 

Sep  6 02:42:50 NOTIFY sip: 118@10.110.0.146 SIP/2.0#015#012Via: SIP/2.0/UDP 74.112.209.130:5060;branch=z9hG4bKUVWWVs4t2q4Wq73993B53D#015#012To: "Greg Elsner" <sip:118@tsb>;tag=89e554bf95c65b7f#015#012From: <sip:104@tsb>;tag=bmH0iT0QrJl9zEpz930F3B#015#012Call-ID: cd52bdbf-4290067f@10.110.0.146#015#012CSeq: 110 NOTIFY#015#012Contact: <sip:74.112.209.130:5060;transport=udp>#015#012Server: NetSapiens SiPBx 1-1224#015#012Event: dialog#015#012Subscription-State: active#015#012Content-Type: application/dialog-info+xml#015#012Content-Length: 506#015#012#015#012<?xml version="1.0"?>#012<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="9" state="full" entity="sip:104@tsb"#012>#012<dialog id="20140906074250023017-fcdd719c346870e86975fdd57713f6b5" direction="recipient">#012<state>early</state>#012<local>#012<identity display="Tri State Bearing">"sip:104@tsb"#012</identity>#012<target uri="sip:104@tsb"/>#012</local>#012<remote>#012<identity display="SITCO LLC">"sip:+xxxxxxxxxxx@4.55.39.95"#012</identity>#012<target uri="sip:+xxxxxxxxxxx@4.55.39.95"/>#012</remote>#012</dialog>#012</dialog-info>


That looks like all other registration attempts I see in the logs but I don't understand why the call id of this call is associated with it - and that is a question to be answered by the phone switch vendor. Here is an example of other registration attempts:

 

Sep  6 02:28:57 NOTIFY sip: 101@10.110.0.129 SIP/2.0#015#012Via: SIP/2.0/UDP 74.112.209.130:5060;branch=z9hG4bKE8IDms6ZgzZIEw7k934A51#015#012To: "Ron Eli" <sip:101@tsb>;tag=25f3b6f160bf0b0a#015#012From: <sip:110@tsb>;tag=S2HbkUT5gWBJ05Hx93057B#015#012Call-ID: 731b063d-a899242e@10.110.0.129#015#012CSeq: 104 NOTIFY#015#012Contact: <sip:74.112.209.130:5060;transport=udp>#015#012Server: NetSapiens SiPBx 1-1224#015#012Event: dialog#015#012Subscription-State: active#015#012Content-Type: application/dialog-info+xml#015#012Content-Length: 354#015#012#015#012<?xml version="1.0"?>#012<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="3" state="full" entity="sip:110@tsb"#012>#012<dialog id="20140905215139056156-fcdd719c346870e86975fdd57713f6b5">#012<state>terminated</state>#012<local>#012<identity display="Tri State Bearing">"sip:110@tsb"#012</identity>#012<target uri="sip:110@tsb"/>#012</local>#012</dialog>#012</dialog-info>


Now one thing to note in the log is the phone does respond with a 180 ringing. Here is the response the server received from one phone:

 

@2014-09-06_02:42:51
Received Packet from 74.112.209.59:1167
SIP/2.0 180 Ringing
To: <sip:118@tsb>;tag=e509be5a6f2c02edi0
From: "SITCO LLC" <sip:+xxxxxxxxxxx@4.55.39.95>;tag=5xCRHR4oc34m3aR893B545
Call-ID: 20140906074250023017-fcdd719c346870e86975fdd57713f6b5
CSeq: 201 INVITE
Via: SIP/2.0/UDP 74.112.209.130:5060;branch=z9hG4bK5xCRHR4oc34m3aR893B545
Contact: "Greg Elsner" <sip:118@10.110.0.146:5060>
Server: Cisco/SPA508G-7.5.6
Content-Length: 0

and there is a matching packet from the phone log that is exactly like that received by the server.

 

What I don't understand is if the phone log reports that the phone didn't receive an invite then why does it respond with the 180? That just makes no sense to me. I did a test call from a phone in my office this morning and the log for that looks like one would expect with the phone logging the invite and then responding to it. Any ideas on what might be making the phone ring without it receiving an invite - or at least showing that in the logs? I am going to be getting some packet captures from one of the phones in question on Monday but if there is any insight you may have it would be greatly appreciated.

 

Thanks!

 

P.S. I'm adding this note because I figured out one thing about the logs. All of the phones this customer has have the attendant consoles and they have 23 (I think that is correct) phones ring at once. So I now know those NOTIFY packets are for those consoles. It still doesn't explain why the phones don't report seeing an INVITE yet they still respond with a 180 Ringing. I don't thing the NOTIFY packets would be causing a problem but that is one thing I'm going to test. I'll disable the consoles and make some test calls and see if I can replicate the no INVITE and then see what the phones do.

I'll keep everyone updated on this in case anyone else ever runs into a problem like this. I must admit that I am becoming very curious about what exactly is going on but it is also very exasperating as well! :-)

Not all packets are sent to syslog as far as I know. If you wish to see SIP packets, then catch them using a packet catcher like tcpdump or WireShark.

You are confused then. I'm almost sure there is no 180 RINGING response with no INVITE.

There are a lot of NOTIFY messages which are used for registration to our server normally

No way. REGISTER messages are used to register phone to switch. NOTIFY messages are related to particular SUBSCRIPTION.

 

Hmm, these must be wrong then:

http://www.ietf.org/rfc/rfc3265.txt

http://www.3cx.com/blog/voip-howto/busy-lamp-field/

http://stackoverflow.com/questions/20427967/asterisk-configuration-for-getting-notify-to-the-blf

http://wiki.unify.com/wiki/Asterisk_Feature_Busy_Lamp_Field_%28BLF%29

 

So I was wrong on one thing, I took a packet capture yesterday and on the call I looked at the server had to send out 5 invites and it wasn't until the 5th one that one was seen at the phone. Now that invite wasn't logged via syslog. There have been invites logged through syslog though so I guess it wasn't logged. So the phone is ringing due to an invite.

 

One thing that I have proven though is that it is due to the 500DS console attendants. After my packet capture yesterday I turned them off and everything is working great now. I played with that over the weekend and I can turn the problem on and off by turning the consoles on and off so something with the signaling and those consoles is causing a problem. Now whether it is a network problem, switch problem, or phone problem I don't yet know - that kinda is what I was asking for help with. It would help to get a command line on the phone and look what it is doing.