[SR-Users] CANCEL before INVITE

David kamailio.org at spam.lublink.net
Thu Jun 17 21:49:19 CEST 2010


Hey,

I am using a Cisco WIP310 wifi phone. Seeing as wifi is very battery 
demanding, the phone goes into a standby mode. When it's in the standby 
mode, it takes a few seconds to come back on.

So I send an INVITE to the phone, statefully using TM, I send out a 
CANCEL before the phone returns the "180 ringing" message.

Somehow the device is answering the CANCEL before the INVITE, so the 
result is that it responds to the CANCEL with "481 Call Leg/Transaction 
Does Not Exist.", after that it responds to the INVITE with a "180 
Ringing", the phone than rings indefinitely because the CANCEL is not 
sent out again as the transaction is completed from the 481 SIP message.

I had a look at the CANCEL, there is no Route: header or tag on the To, 
so it looks like it is part of a new dialog ( I believe that's what 
rfc3261 says.

As far as I can tell, my Kamailio is working properly. It is 
retransmitting the messages at the proper intervals, and it is passing 
along the messages as it receives them.

The trouble is that the device answers the initial CANCEL before it 
answers any of the retransmitted INVITEs.

Is there something that I can do in Kamailio to resolve this issue ? Is 
there an option that I can set that will cause Kamailio to relay the 
CANCEL only to devices that have already returned a 100 Trying or 180 
Trying ?

What information do you need to know about my config? What parts of the 
SIP trace do you need ?

Thanks,

David



More information about the sr-users mailing list