[Kamailio-Users] NAT & Branching in Parallel Forking Scenarios

Daniel-Constantin Mierla miconda at gmail.com
Mon Apr 20 12:50:25 CEST 2009



On 04/17/2009 07:45 PM, Brandon Armstead wrote:
> Hello Guys,
>
>     Going to say thanks for any input ahead of time.  My question is 
> currently we may have a scenario where we have a client using several 
> UAC's registered to the same username.  Now what I've seen is that 
> sometimes one endpoint of User A may be NATed, another may be public.  
> This seems to be causing some call flow control issues in a sense for 
> when we handle for NAT / vs NOT NAT, at the time of a request and all 
> of this is in parallel being handled.
>
> Example Scenario.
>
> User A calls User B -- (both internal).
>
> User B has end points X (NAT), Y(PUBLIC), and Z(NAT).
>
> So a call is being branched to X, Y, and Z in parallel.  Now we 
> fix_nated_contact for endpoint X, next we go to Y, however we've 
> already fixed_nated_contact, thus this call is deemed bad, and then Z 
> continues.
>
> Any thoughts / examples / suggestions for these types of scenarios?

you have to apply nat-related changes (force_rtp_proxy()) after 
transaction was created. One option is in branch_route, as Juha pointed 
in another email. Then for each branch of the call you have different 
states (natted/not-natted) in the branch flags.

If you need to do it before branch_route, then call t_newtrans() and 
after that point you can do changes that will apply only to first 
branch.  For other branches changes can be done in failure_route (serial 
forking) or branch_route (serial/parallel forking).

This can be applied to serial/parallel forking, therefore solves your 
both scenarios.

Cheers,
Daniel


>   This is just an example one, one particular case where issues we 
> have seen is more like follows:
>
> PSTN Calls User B (external to internal)
>
> User B has the same previous end points (X,Y,Z) + (PSTN End Points 
> that we are adding in parallel to fork to).
>
> Same type issue, same type scenario.
>
> The end result of the issues are lack of audio, mis routed contacts, etc.
>
> So any help and input is appreciated, thanks!
> ------------------------------------------------------------------------
>
> _______________________________________________
> Kamailio (OpenSER) - Users mailing list
> Users at lists.kamailio.org
> http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
> http://lists.openser-project.org/cgi-bin/mailman/listinfo/users

-- 
Daniel-Constantin Mierla
http://www.asipto.com/





More information about the sr-users mailing list