[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