[Serusers] Problem with cancel a invite

Greger V. Teigre greger at teigre.com
Mon Jun 13 12:48:37 CEST 2005


Hi Marian!

Marian Dumitru wrote:
> CANCEL has nothing to do with loose route - and it will never hit he
> loose route. The Route ser is set only when the dialog is established
> (200 ok); and CANCEL happens *before* the dialog completion.
>
> The big idea with CANCEL is to take care to route it *exactly* as its
> INVITE.

AFAIK, CANCEL can happen both in-dialog and outside a dialog.  This was a 
part of the verification we did when developing the ONsip.org reference 
config filers. I'm not sure if the discussion was on serusers or not, but as 
far as I remember, there is situation where CANCEL will be in-dialog and 
thus can take the loose route path, i.e. reINVITEs.
As you will see in the ONsip.org config files, CANCEL is handled as an 
INVITE, but loose route test is done *before* the test on CANCEL to make 
sure that any in-dialog CANCELs are handled properly.

> As a hint, if you use TM, t_relay() all the time will take care to
> send the CANCEL to same destination as INVITE.

... as long as you have done the same r-uri transformations as with the 
INVITE.
g-)

> regards,
> Marian
>
> Greger V. Teigre wrote:
>> Most likely you don't handle the CANCEL messages correctly. May be
>> that you don't do proper loose route handling.  Take a look at the
>> example configs (and the Getting Started document) at
>> http://onsip.org/  You gain much be following the logic found there,
>> they have been verified for all kinds of situations...
>> g-)
>>
>> Anders Hansson wrote:
>>
>>> Hi all,
>>> I´ve got a problem when trying to cancel an invite.
>>> The situation: A makes a call to B (INVITE). B press the "hang up"
>>> button. An here comes the problem.
>>> From As side, everything is OK, but from Bs side, the phone is still
>>> ringing...
>>> How can a solve this problem? Anyone?
>>>
>>> Thanks,
>>> Anders 




More information about the sr-users mailing list