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.