[OpenSIPS-Users] TEXTOPS module
Stanisław Pitucha
viraptor at gmail.com
Mon Dec 20 15:09:32 CET 2010
On 20/12/10 13:51, Denis Putyato wrote:
> Thank you Bogdan for your answer. Now I understood that apply changes is a bad idea.
> But during process a call I have to make some changes to INVITE message.
> For example,
> I need to add Remote-Party-ID (RPI) and/or P-Asserted-ID (PAI) and make uac_replace_from(). If I make it for the first time everything fine.
> But if I need then change these fields (via subst or uac_replace_from() again)(for example, some gateways fails and cannot accepts call, I use use_next_gw() of d_routing module and MUST change callerid information) then my tests show that during, for example, second time call of uac_replace_from() there are two uri in From: header field (as you understand that is wrong), or if I make subst() of RPI or PAI then second header RPI and PAI appear in addition of first headers which I added (or subst) before.
>
> And to avoid this I make signaling loop. New INVITE process as a new message with modified early headers, so I can change it again.
I'm not 100% sure if that will work in your case (never used uac), but
you may be able to do all this by starting transaction early. If you
force t_newtran() early in the script (you probably should anyways), any
modification done to the message after that point should not be present
in the failure route.
So do t_newtran(), get the first gateway, modify as needed - if you
fail, just reapply the changes as if you were working on the original
message.
Unless someone shouts now that it doesn't interact properly with uac
that is ;)
Regards,
Stan
More information about the Users
mailing list