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