El Miércoles, 4 de Marzo de 2009, alexander merkulov escribió:
thats work for invite nice, but not work fro cancel even this (very simple form) not change cancel
if (method == "BYE" || method == "CANCEL") {
# xlog("bye\n");a xlog("L_INFO", "CANCEL - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n"); if(t_check_trans()){ xlog("triing to rewrite"); if ( subst('/192/aaa/ig') ) {}; t_relay(); exit; }else{ xlog("no trans"); exit; }
CANCEL is hop-by-hop. This means that when a proxy receives a CANCEL it *doesn't* forward it. Instead it "eats" that CANCEL and *generates* a new one. This is how SIP defines the behaviour of a CANCEL.
But again I ask you, why do you need rewritting the To header? It shouldn't be required, neither in a CANCEL. In fact when a UAS receives a CANCEL it just should inspect the Via "branch" parameter to match it against a current INVITE server transaction.