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