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