[SR-Users] uac_replace_from() and multiple branches

John Quick john.quick at smartvox.co.uk
Fri Aug 16 11:39:58 CEST 2019


Hi Daniel,

Thanks. I can see now what I have done. I'm using the same branch route for initial requests and also for loose routed requests.
It either needs a test like the one you suggest or maybe use a different branch route for loose routed requests.

John Quick
Smartvox Limited


-----Original Message-----
From: Daniel-Constantin Mierla <miconda at gmail.com> 
Sent: 16 August 2019 07:49
To: john.quick at smartvox.co.uk; Kamailio (SER) - Users Mailing List <sr-users at lists.kamailio.org>
Subject: Re: [SR-Users] uac_replace_from() and multiple branches

Hello,

the reason for writing the error message seems to be that you execute the uac_replace_from() for requests within dialog (e.g., re-INVITE, BYE). In auto-restore mode it has to be done only for the initial request (first INVITE of the call), then the module does automatically the changes for requests within the dialog and the responses.

You should add a condition like:

if(!has_totag()) { ... }

Cheers,
Daniel

On 15.08.19 16:06, John Quick wrote:
> v5.2.3 of Kamailio. Serial forking is used to route calls to a 
> multiple destinations as described in documentation for the TM module.
> Also using the DIALOG module - my script calls dlg_manage() before 
> loading the serialised branches.
> I need to be able to substitute the username part of the From header 
> and have been trying this with calls to uac_replace_from().
>  modparam("uac", "restore_mode", "auto")  modparam("uac", 
> "restore_dlg", 1)
>
> There is no problem if all branches use one substituted From username, 
> in which case my script calls uac_replace_from() in the main route.
>   uac_replace_from("sip:" + $avp(route:src) + "@" + $fd);
>
> However, I may need to substitute a different value for each branch. 
> Can this be done?
>
> I tried moving the call to uac_replace_from() into the branch route, 
> but then I get an error when the final BYE is received:
>  ERROR: uac [replace.c:281]: replace_uri(): decline FROM replacing in 
> sequential request in auto mode (has TO tag)
>
> Is there a simple solution to this please? Hoping I can still use UAC 
> auto restore mode because manual restore looks quite tedious/complex.
>
> Thanks.
>
> John Quick
> Smartvox Limited
> www.smartvox.co.uk
>
>
>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

--
Daniel-Constantin Mierla -- www.asipto.com www.twitter.com/miconda -- www.linkedin.com/in/miconda




More information about the sr-users mailing list