Hello all,

In the documentation of the t_relay_cancel() (TM module) there is an
example that reads:

if (method == CANCEL) {
if (!t_relay_cancel()) {  # implicit drop if relaying was successful,
                                  # nothing to do

# corresponding INVITE transaction found but error occurred
sl_reply("500", "Internal Server Error");
drop;
}
# bad luck, corresponding INVITE transaction is missing,
# do the same as for INVITEs
}

What bothers me is the phrase #do the same as or INVITEs, because in RFC(
http://tools.ietf.org/html/rfc3261#section-16.10 )  it says:

If a response context is not found, the element does not have any
knowledge of the request to apply the CANCEL to.  It MUST *statelessly*
forward the CANCEL request (it may have statelessly forwarded the
associated request previously).


So aren't we supposed to immediately statelessly forward the CANCEL if
t_relay_cancel() did not find the INVITE transaction, instead of doing
the same as INVITEs, which could be t_relay() (not stateless)?. Like
below:


if (method == CANCEL) {
        if (!t_relay_cancel()) {  # implicit drop if relaying was successful,
                                  # nothing to do

                # corresponding INVITE transaction found but error occurred
                sl_reply("500", "Internal Server Error");
                drop;
        }
        # bad luck, corresponding INVITE transaction is missing,
        forward();
}

Am I correct or am i missing something?
Thank you in advance,
Bill
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to