I am guessing you are also calling uac_replace_from from the request_route 
during initial message processing. This is altering the original request, so 
that when you try to do so again in failure_route (which processes the original 
request, not the response) you get a double value.

You should be doing the uac_replace_from actions in a branch route, so that the 
changes they make to the From header are specific to the branch. This way when 
you end up in failure_route you have the original request with the original 
From, not a previously altered version, and you can then make new changes in a 
branch route for the new branch.

Ben Newlin

From: Users <[email protected]> on behalf of Saint Michael 
<[email protected]>
Reply-To: OpenSIPS users mailling list <[email protected]>
Date: Sunday, February 23, 2020 at 5:29 AM
To: "[email protected]" <[email protected]>
Subject: [OpenSIPS-Users] Change From on failure_route fails to work

failure_route[FAILOVER] {
        if(t_check_status("487")) {
                xlog("L_INFO", "Request was cancelled");
                exit;
        }
                 
uac_replace_from("0000000000)","sip:[email protected]<mailto:sip%[email protected]>");
        $rd = "2.2.2.2";
        $rp = 5060;
        t_relay();
        exit;
}
The code above fails because the old data does not get replaced with the new 
one, but the new one is appended.
Is there a workaround? I need to do this for business reasons.
I tried removing the From header and creating a new one with the same tag and 
the new name, but it fails, since the From cannot be treated as a new 
user-header.


_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to