At 15:58 26/02/2007, Klaus Darilion wrote:
FYI: This is the pragmatic approach how openser users
handle the problem:
1. drop the CANCEL if there is no corresponding INVITE transaction. The UAC must
retransmit the CANCEL and meanwhile there should be the INVITE transaction. (since 1.0)
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
# the INVITE transaction is already created for the next CANCEL
xlog("L_WARN","$ci CANCEL without matching transaction ...
ignore\n");
exit;
}
which does not appear really reboot-safe to me. What it can lead to that ser reboot
affects pending calls in that cancels are never forwarded and ringing phones will
never stop ringing -- not very pleasant indeed, is it.
-jiri
--
Jiri Kuthan
http://iptel.org/~jiri/