[SR-Users] uac_replace_from() and multiple branches

John Quick john.quick at smartvox.co.uk
Thu Aug 15 16:06:40 CEST 2019

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.


John Quick
Smartvox Limited

More information about the sr-users mailing list