[SR-Users] Differentiation between ACK INVITE and ACK CANCEL

inge inge at legos.fr
Tue Jul 6 19:32:19 CEST 2010


Hi Alex,

It seems to be exactly what I want to do.

Unfortunately, I'm running SER 0.9.x and "t_check_trans" doesn't exist.

I was thinking also that I can probably do a "setflag" on an INVITE and
test it within the onreply-route. In that case, CANCEL should never came
into this call-flow.
Because, what I want to do exactly, is to handle a call for launching a
script. And so far I launched the script on ACK, therefore, the CANCEL
came in this case too.

I hope I'm clear.

Regards,

Adrien 

Le mardi 06 juillet 2010 à 11:11 -0400, Alex Balashov a écrit :
> Hi Adrien,
> 
> On 07/06/2010 10:39 AM, inge wrote:
> 
> > Firstly, I was thinking to make a difference using the CSeq field, but
> > it seems that the CSeq on ACK contains the ACK himself. Probably because
> > ACK is a request and not a response.
> 
> You are correct;  ACK is a wholly different request and a separate 
> transaction from the exchange it is meant to acknowledge.
> 
> It is possible to differentiate end-to-end vs. hop-by-hop ACKs using 
> t_check_trans():
> 
> http://www.kamailio.org/docs/modules/3.0.x/modules/tm.html#t_check_trans
> 
> See its usage in the stock kamailio.cfg.
> 
> Note that 200 response to CANCEL does not generate an ACK, but a 487 
> response does, so your question is rather academic.
> 




More information about the sr-users mailing list