Hi Di-Shi,

if you have a stateful proxy, there is reason to do any special CANCEL processing in script as the TM will guarantee sending it to the same destination as the INVITE (conforming to RFC). So, we try to optimize CANCEL processing in script via this shortcut.

if the sipp does not retransmit CANCEL, it is buggy. NOTE that you must not send any reply for CANCEL from the script - ant provisional reply stops the retransmission.

regards,
bogdan

Di-Shi Sun wrote:
Hi Norman,

Thank you for your info. It looks like OpenSER does not use the same way
that SER uses to deal with this issue. I hope the source devices of our
customers will re-send the CANCEL. I used SIPp as call generator. It did not
re-send CANCEL.

Thanks,

Di-Shi Sun.

----- Original Message ----- From: "Norman Brandinger" <[EMAIL PROTECTED]>
To: "Bogdan-Andrei Iancu" <[EMAIL PROTECTED]>
Cc: "Di-Shi Sun" <[EMAIL PROTECTED]>; <[email protected]>
Sent: Saturday, February 24, 2007 2:17 AM
Subject: Re: [Devel] ask invite/cancel race condition issue again


Here is an example adapted from one of Klaus' postings.  Thanks Klaus.

#------------------------------------------------------------------
# CANCEL without matching INVITE transaction, discard it
#------------------------------------------------------------------
if ( is_method("CANCEL") && !t_check_trans() ) {
    # CANCEL without matching INVITE transaction, ignore
    # may happen if the INVITE is slower than the CANCEL
    #  ignore the CANCEL, as the client will retransmit it,
    # and maybe next time the INVITE transaction is already created
    xlog("L_NOTICE", "CANCEL without matching transaction discard.\n");
    exit;
}

Regards,
Norm


Bogdan-Andrei Iancu wrote:
Hi Di-Shi,

yes, there is a solution for this - at the beginning of the script use
t_check_tran() to see if the CANCEL does match an INVITE request. IF
no, just silently discard it - this will force the UAC to retransmit
the CANCEL until the proxy actually finished processing the INVITE
(and build transaction for it).

BTW, fo you have any input for bug 1592883 ?

regards,
bogdan

Di-Shi Sun wrote:
Hi All,

I met the INVITE/CANCEL race condition that had been disscussed long
ago in this maillist. The formal script of this issue like this:

*the CANCEL arrives BEFORE the INVITE, or
*it arrives after but you are doing other high-cost processing steps
(i.e., DNS lookup (ENUM)) before calling t_relay which will lead to
process the CANCEL before creating the transaction.

It said that this issue had been fixed. But I cannot find the
solution. Could anyone give me some suggestion?

Thanks,

Di-Shi Sun.

------------------------------------------------------------------------
_______________________________________________
Devel mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/devel

_______________________________________________
Devel mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/devel






_______________________________________________
Devel mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/devel



_______________________________________________
Devel mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/devel

Reply via email to