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