[OpenSIPS-Users] uac_replace_from and two openSIPS 1.6.4
Bogdan-Andrei Iancu
bogdan at opensips.org
Mon Apr 4 17:48:54 CEST 2011
Hi Anton,
On 04/04/2011 01:28 PM, Anton Zagorskiy wrote:
> Hello!
>
> I have two questions:
> 1. I have 2 openSIPS running on a one machine - first for routing, second
> for b2b (it has just one line 'b2b_init_request("top hiding")', in common).
> Since b2b modules require a DB, can I use a same DB for both openSIPS ?
if no table is used by both instances, you can share the same DB between
2 opensips.
> 2. I'm using uac_replace_from and uac_replace_to and I'm getting a strange
> behavior. I know that those functions shouldn't be called twice in a one
> branch, but they aren't - a call flow is:
> 1) REQUEST_ROUTE: route -> route[invite] (uac_replace_from) -> t_relay()
> with t_on_failure("1")
> 2) FAILURE_ROUTE: failure_route[1] -> route[failure] -> route[invite]
> (uac_replace_from) -> route[to_b2b] (uac_replace_to) -> t_relay with
> t_on_failure("1")
> And here I'm getting bad headers:
> Record-Route has two 'vsf' tag and From is "num1" "num2"
> <sip:num1 at domain1sip:num2domain2>
>
> Where is a problem?
The problem is that whatever you do in the main request route does apply
to all the branches (existing or future) of that request. So you
uac_replace_from (from 1) does apply to all branches, including to the
branch you create in failure route).
The correct approach will be to use a branch_route[] where to do the
from/to replacements, instead of request route.
Regards,
Bogdan
--
Bogdan-Andrei Iancu
OpenSIPS eBootcamp - 2nd of May 2011
OpenSIPS solutions and "know-how"
More information about the Users
mailing list