Hello,
with the latest version there are alternatives you can use:
On 12/10/09 5:06 PM, David wrote:
Hey,
I won't pretend to be an expert in Kamailio, someone will probably suggest a better way. But here is how I rewrote my SIP packet's TO header before relaying it to the next hop :
# Rewrite RURI avp_printf("$rU", "prefix_$rU");
$rU = "prefix_" + $rU;
# Remove existing header remove_hf("To") ;
# Add new header which is copied from RURI insert_hf("To: $ru\r\n", "From");
you can do in one step, so you avoid operations on r-uri:
insert_hf("To: sip:prefix_$rU@$rd\r\n", "From");
DISCLAIMER : Several threads have said that changing the TO header is a bad idea, so I only recommend using this as a last resort.
If devices are RFC3261 (SIP 2.0), then it is ok. If there are SIP 1.0 devices, then you have to preserve To/From header.
For the future, I would add options to change the From/To values via pseudo-variables. It is the admin to decide to use it or not -- now people need and do workarounds with subst or append_hf().
Cheers, Daniel
David
David a écrit :
Hey,
I do understand that normally the TO header should not be written, my problem is that I am using the presence_dialoginfo module which uses the TO header and not the RURI, which means that in order to tell the difference between customer A's extension 101 and Customer B's extension 101, I rewrite the TO header to add context.
This is actually the ame problem that I started discussing here : http://lists.kamailio.org/pipermail/users/2009-August/024316.html
Trouble is I have not had time to work on this since then.
Thanks,
David
Olle E. Johansson a écrit :
10 dec 2009 kl. 15.04 skrev Iñaki Baz Castillo:
El Jueves, 10 de Diciembre de 2009, David escribió:
Hey,
I need to rewrite the $tU variable on a packet before it is relayed. It is ok if the change is only on the relayed packet and the $tU variable change. The important thing is that I modify the To header, it seems that rewritting $tU would be the easiest.
$tU is not writable, but just readable. If you want to change the "To" header you should do some "dirty" replacing operation (see textops module).
This is propably something we need to change and make the To and From headers writable. It's not dirty to change them any more.
David: In the original SIP 1.0 protocol the To/From headers was part of the dialog identification, thus you where not allowed to change them in a proxy. THis was kept in RFC3261 - sip v2 - but has been removed in an additional RFC a short while ago (seen from SIP history).
Regards, /O _______________________________________________ Kamailio (OpenSER) - Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users http://lists.openser-project.org/cgi-bin/mailman/listinfo/users
Kamailio (OpenSER) - Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users http://lists.openser-project.org/cgi-bin/mailman/listinfo/users
Kamailio (OpenSER) - Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users http://lists.openser-project.org/cgi-bin/mailman/listinfo/users