[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