[Kamailio-Users] Multiple SIP Proxy Environment / Socket Information

Daniel-Constantin Mierla miconda at gmail.com
Sat May 2 11:35:58 CEST 2009


Hello,

On 05/02/2009 12:19 AM, Brandon Armstead wrote:
> Daniel,
>
>     I got this part working, in the case of the absence of $du (i.e. 
> no received parameter) I just exclude it and all works well!

ok. $du is special field that is mostly internally by several modules, 
e.g., rr, dispatcher or usrloc. It is not present all the time.

Cheers,
Daniel

>   Thanks guys!
>
> * fixed reply to all.
>
> On Thu, Apr 30, 2009 at 1:16 AM, Daniel-Constantin Mierla 
> <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>
>     Hello,
>
>
>     On 04/29/2009 08:35 PM, Brandon Armstead wrote:
>
>         Daniel,
>
>            You are correct it is not set for this usrloc.  Should I be
>         able to just not modify $du in this case?
>
>
>     I do not understand what you mean now?!?!
>
>     Cheers,
>     Daniel
>
>          Thanks!
>
>
>         On Wed, Apr 29, 2009 at 7:39 AM, Daniel-Constantin Mierla
>         <miconda at gmail.com <mailto:miconda at gmail.com>
>         <mailto:miconda at gmail.com <mailto:miconda at gmail.com>>> wrote:
>
>            Hello,
>
>            $du is set by usrloc only if there is a received value in the
>            location record. Can you check if you have it in db?
>
>            Cheers,
>            Daniel
>
>
>
>            On 04/29/2009 11:45 AM, Brandon Armstead wrote:
>
>                Daniel,
>
>                   Yes I'm doing an append_hf("X-Duri: $du\r\n"); inside of
>                branch_route[] i.e.:
>
>                branch_route[2]
>                {
>                   if(isbflagset(4)){
>                       # thats me!
>                   } else {
>                       # at this point X-Duri is null, so we are not
>         saving it
>                from the lookup?
>                       # we need to save this to pass onto Proxy B, however
>                the value is NULL at this point, and at the point of
>         Proxy B
>                (when received).
>                       append_hf("X-Duri: $avp(s:duri)\r\n");
>                       if(isbflagset(6)){
>                           $du = "sip:PROXY_B;transport=udp;";
>                       }
>                   }
>
>                   xlog("L_INFO", "[$ci][branch_route][$T_branch_idx]
>         ru=$ru
>                fu=$fu tu=$tu si=$si flag=$bF du=$du");
>                }
>
>                Then when X-Duri reaches Proxy B, if I see the INVITE comes
>                from Proxy A, I take X-Duri and restore "$du" with the
>         correct
>                value.
>
>                However this is causing issues now as the value is <null>,
>                I've tried saving $du into avp after looking up usrloc,
>         I've
>                tried simply calling $du in branch_route[], and I've tried
>                saving $du in loose_route() into an avp, all to no avail.
>
>                What am I missing here as far as passing the value of
>         $du from
>                branch route to header, to pass along to Proxy B.
>
>                Thanks again!
>
>                On Wed, Apr 29, 2009 at 2:42 AM, Daniel-Constantin Mierla
>                <miconda at gmail.com <mailto:miconda at gmail.com>
>         <mailto:miconda at gmail.com <mailto:miconda at gmail.com>>
>                <mailto:miconda at gmail.com <mailto:miconda at gmail.com>
>         <mailto:miconda at gmail.com <mailto:miconda at gmail.com>>>> wrote:
>
>
>
>                   On 04/29/2009 11:32 AM, Brandon Armstead wrote:
>
>                       Daniel,
>
>                          It looks like you helped me find part of the
>         problem,
>                       apparently Proxy A was sharing same branch flag
>         as the
>                one I
>                       used to distinguish which proxy it was.  I corrected
>                this and
>                       now branch flag for branch 1 is 00000060, and
>         branch 2 is
>                       00000040, however now both branches are routed
>                appropriately
>                       to the correct server, however the X-Duri (to
>         restore to in
>                       the INVITE) is null.
>
>
>                   I may not followed all discussion branch - the
>         X-Duri is a
>                header
>                   you append to the message? If yes, it is not visible
>                immediately
>                   in the script, but you can see it when the messages
>         is ent
>                to the
>                   network.
>
>                        Do I need to save this value into an AVP after
>                       lookup("location")?
>
>
>                   What you need to do with it? Where is its values
>         taken from?
>
>                   Cheers,
>                   Daniel
>
>                        Or should it be readily available in
>         branch_route[],
>                and for
>                       some reason my variable is null?
>
>                       P.S. (recap)
>                       Proxy A NAT Branch Flag: 5
>                       Proxy B NAT Branch Flag: 5
>
>                       (Problem existed as used Flag 5 to distinguish
>         "itself" as
>                       proxy) -- changed this to 4 so now:
>
>                       Proxy A NAT Branch Flag: 4
>                       Proxy B NAT Branch Flag: 6
>
>                       Calls are routed to Proxy B
>
>                       X-Duri: <null> (as it is null in Proxy A).  I'm
>                       append_hf(X-Duri: $du) inside of branch_route[].
>
>                       Thanks!
>
>                       On Wed, Apr 29, 2009 at 2:17 AM,
>         Daniel-Constantin Mierla
>                       <miconda at gmail.com <mailto:miconda at gmail.com>
>         <mailto:miconda at gmail.com <mailto:miconda at gmail.com>>
>                <mailto:miconda at gmail.com <mailto:miconda at gmail.com>
>         <mailto:miconda at gmail.com <mailto:miconda at gmail.com>>>
>                       <mailto:miconda at gmail.com
>         <mailto:miconda at gmail.com> <mailto:miconda at gmail.com
>         <mailto:miconda at gmail.com>>
>                <mailto:miconda at gmail.com <mailto:miconda at gmail.com>
>         <mailto:miconda at gmail.com <mailto:miconda at gmail.com>>>>> wrote:
>
>
>
>                          On 04/29/2009 11:11 AM, Brandon Armstead wrote:
>
>                              Daniel,
>
>                                 No that would be the UAC (I have two
>         clients
>                behind the
>                              same NAT).  The problem is it looks like the
>                branch flag is
>                              not being set for both for some reason (when
>                comparing)
>                       even
>                              though in the database it is the same?
>
>
>                          So you have the brach flag for nat and branch
>         flags
>                for next
>                          proxy, right? What is the value of branch
>         flag? The
>                value are
>                          different indeed, but some flags  you are looking
>                for might be
>                          set. It is easier spot if you print the hexa
>         format
>                of the
>                       flags
>                          rather than decimal one.
>
>                          Cheers,
>                          Daniel
>
>                               Take a look at the flag= value from each of
>                those logs
>                       (this
>                              is one call) to a UAC with two registrations
>                line1/line2.
>
>                              On Wed, Apr 29, 2009 at 2:02 AM,
>                Daniel-Constantin Mierla
>                              <miconda at gmail.com
>         <mailto:miconda at gmail.com> <mailto:miconda at gmail.com
>         <mailto:miconda at gmail.com>>
>                <mailto:miconda at gmail.com <mailto:miconda at gmail.com>
>         <mailto:miconda at gmail.com <mailto:miconda at gmail.com>>>
>                       <mailto:miconda at gmail.com
>         <mailto:miconda at gmail.com> <mailto:miconda at gmail.com
>         <mailto:miconda at gmail.com>>
>                <mailto:miconda at gmail.com <mailto:miconda at gmail.com>
>         <mailto:miconda at gmail.com <mailto:miconda at gmail.com>>>>
>                              <mailto:miconda at gmail.com
>         <mailto:miconda at gmail.com>
>                <mailto:miconda at gmail.com <mailto:miconda at gmail.com>>
>         <mailto:miconda at gmail.com <mailto:miconda at gmail.com>
>                <mailto:miconda at gmail.com <mailto:miconda at gmail.com>>>
>                       <mailto:miconda at gmail.com
>         <mailto:miconda at gmail.com> <mailto:miconda at gmail.com
>         <mailto:miconda at gmail.com>>
>                <mailto:miconda at gmail.com <mailto:miconda at gmail.com>
>         <mailto:miconda at gmail.com <mailto:miconda at gmail.com>>>>>> wrote:
>
>                                 Hello,
>
>
>                                 On 04/29/2009 10:53 AM, Brandon
>         Armstead wrote:
>
>                                     Hey guys,
>
>                                        Still facing a few challenges and
>                seeing if
>                       any further
>                                     input, I'm specifically trying inaki's
>                suggestions /
>                              method,
>                                     but here are the current problems:
>
>                                     sip:/etc/kamailio/m4cfgs# tail -f
>                       /var/log/openser.log
>                              | grep
>                                     -v -E 'non-local|repeated' | grep
>                branch_route
>                                     Apr 29 07:38:05 db06
>         /sbin/kamailio[21279]:
>                                     [77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>
>                       <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>>
>                              <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>
>                       <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>>>
>                                    
>         <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>
>                       <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>>
>                              <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>
>                       <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>>>>
>                                    
>         <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>
>                       <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>>
>                              <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>
>                       <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>>>
>                                    
>         <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>
>                       <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>>
>                              <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>
>                       <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>>>>>][branch_route][1]
>                                     ru=sip:CALLEE at 99.XX.XX.XX:5079
>                              fu=sip:CALLER at sip.example.com
>         <mailto:sip%3ACALLER at sip.example.com>
>                <mailto:sip%3ACALLER at sip.example.com
>         <mailto:sip%253ACALLER at sip.example.com>>
>                       <mailto:sip%3ACALLER at sip.example.com
>         <mailto:sip%253ACALLER at sip.example.com>
>                <mailto:sip%253ACALLER at sip.example.com
>         <mailto:sip%25253ACALLER at sip.example.com>>>
>                              <mailto:sip%3ACALLER at sip.example.com
>         <mailto:sip%253ACALLER at sip.example.com>
>                <mailto:sip%253ACALLER at sip.example.com
>         <mailto:sip%25253ACALLER at sip.example.com>>
>                       <mailto:sip%253ACALLER at sip.example.com
>         <mailto:sip%25253ACALLER at sip.example.com>
>                <mailto:sip%25253ACALLER at sip.example.com
>         <mailto:sip%2525253ACALLER at sip.example.com>>>>
>                                    
>         <mailto:sip%3ACALLER at sip.example.com
>         <mailto:sip%253ACALLER at sip.example.com>
>                <mailto:sip%253ACALLER at sip.example.com
>         <mailto:sip%25253ACALLER at sip.example.com>>
>                       <mailto:sip%253ACALLER at sip.example.com
>         <mailto:sip%25253ACALLER at sip.example.com>
>                <mailto:sip%25253ACALLER at sip.example.com
>         <mailto:sip%2525253ACALLER at sip.example.com>>>
>                              <mailto:sip%253ACALLER at sip.example.com
>         <mailto:sip%25253ACALLER at sip.example.com>
>                <mailto:sip%25253ACALLER at sip.example.com
>         <mailto:sip%2525253ACALLER at sip.example.com>>
>                       <mailto:sip%25253ACALLER at sip.example.com
>         <mailto:sip%2525253ACALLER at sip.example.com>
>                <mailto:sip%2525253ACALLER at sip.example.com
>         <mailto:sip%252525253ACALLER at sip.example.com>>>>>
>                                    
>         <mailto:sip%3ACALLER at sip.example.com
>         <mailto:sip%253ACALLER at sip.example.com>
>                <mailto:sip%253ACALLER at sip.example.com
>         <mailto:sip%25253ACALLER at sip.example.com>>
>                       <mailto:sip%253ACALLER at sip.example.com
>         <mailto:sip%25253ACALLER at sip.example.com>
>                <mailto:sip%25253ACALLER at sip.example.com
>         <mailto:sip%2525253ACALLER at sip.example.com>>>
>                              <mailto:sip%253ACALLER at sip.example.com
>         <mailto:sip%25253ACALLER at sip.example.com>
>                <mailto:sip%25253ACALLER at sip.example.com
>         <mailto:sip%2525253ACALLER at sip.example.com>>
>                       <mailto:sip%25253ACALLER at sip.example.com
>         <mailto:sip%2525253ACALLER at sip.example.com>
>                <mailto:sip%2525253ACALLER at sip.example.com
>         <mailto:sip%252525253ACALLER at sip.example.com>>>>
>                                    
>         <mailto:sip%253ACALLER at sip.example.com
>         <mailto:sip%25253ACALLER at sip.example.com>
>                <mailto:sip%25253ACALLER at sip.example.com
>         <mailto:sip%2525253ACALLER at sip.example.com>>
>                       <mailto:sip%25253ACALLER at sip.example.com
>         <mailto:sip%2525253ACALLER at sip.example.com>
>                <mailto:sip%2525253ACALLER at sip.example.com
>         <mailto:sip%252525253ACALLER at sip.example.com>>>
>                              <mailto:sip%25253ACALLER at sip.example.com
>         <mailto:sip%2525253ACALLER at sip.example.com>
>                <mailto:sip%2525253ACALLER at sip.example.com
>         <mailto:sip%252525253ACALLER at sip.example.com>>
>                       <mailto:sip%2525253ACALLER at sip.example.com
>         <mailto:sip%252525253ACALLER at sip.example.com>
>                <mailto:sip%252525253ACALLER at sip.example.com
>         <mailto:sip%25252525253ACALLER at sip.example.com>>>>>>
>
>
>
>
>                                     tu=sip:CALLEE at sip.example.com
>         <mailto:sip%3ACALLEE at sip.example.com>
>                <mailto:sip%3ACALLEE at sip.example.com
>         <mailto:sip%253ACALLEE at sip.example.com>>
>                       <mailto:sip%3ACALLEE at sip.example.com
>         <mailto:sip%253ACALLEE at sip.example.com>
>                <mailto:sip%253ACALLEE at sip.example.com
>         <mailto:sip%25253ACALLEE at sip.example.com>>>
>                              <mailto:sip%3ACALLEE at sip.example.com
>         <mailto:sip%253ACALLEE at sip.example.com>
>                <mailto:sip%253ACALLEE at sip.example.com
>         <mailto:sip%25253ACALLEE at sip.example.com>>
>                       <mailto:sip%253ACALLEE at sip.example.com
>         <mailto:sip%25253ACALLEE at sip.example.com>
>                <mailto:sip%25253ACALLEE at sip.example.com
>         <mailto:sip%2525253ACALLEE at sip.example.com>>>>
>                                    
>         <mailto:sip%3ACALLEE at sip.example.com
>         <mailto:sip%253ACALLEE at sip.example.com>
>                <mailto:sip%253ACALLEE at sip.example.com
>         <mailto:sip%25253ACALLEE at sip.example.com>>
>                       <mailto:sip%253ACALLEE at sip.example.com
>         <mailto:sip%25253ACALLEE at sip.example.com>
>                <mailto:sip%25253ACALLEE at sip.example.com
>         <mailto:sip%2525253ACALLEE at sip.example.com>>>
>                              <mailto:sip%253ACALLEE at sip.example.com
>         <mailto:sip%25253ACALLEE at sip.example.com>
>                <mailto:sip%25253ACALLEE at sip.example.com
>         <mailto:sip%2525253ACALLEE at sip.example.com>>
>                       <mailto:sip%25253ACALLEE at sip.example.com
>         <mailto:sip%2525253ACALLEE at sip.example.com>
>                <mailto:sip%2525253ACALLEE at sip.example.com
>         <mailto:sip%252525253ACALLEE at sip.example.com>>>>>
>                                    
>         <mailto:sip%3ACALLEE at sip.example.com
>         <mailto:sip%253ACALLEE at sip.example.com>
>                <mailto:sip%253ACALLEE at sip.example.com
>         <mailto:sip%25253ACALLEE at sip.example.com>>
>                       <mailto:sip%253ACALLEE at sip.example.com
>         <mailto:sip%25253ACALLEE at sip.example.com>
>                <mailto:sip%25253ACALLEE at sip.example.com
>         <mailto:sip%2525253ACALLEE at sip.example.com>>>
>                              <mailto:sip%253ACALLEE at sip.example.com
>         <mailto:sip%25253ACALLEE at sip.example.com>
>                <mailto:sip%25253ACALLEE at sip.example.com
>         <mailto:sip%2525253ACALLEE at sip.example.com>>
>                       <mailto:sip%25253ACALLEE at sip.example.com
>         <mailto:sip%2525253ACALLEE at sip.example.com>
>                <mailto:sip%2525253ACALLEE at sip.example.com
>         <mailto:sip%252525253ACALLEE at sip.example.com>>>>
>                                    
>         <mailto:sip%253ACALLEE at sip.example.com
>         <mailto:sip%25253ACALLEE at sip.example.com>
>                <mailto:sip%25253ACALLEE at sip.example.com
>         <mailto:sip%2525253ACALLEE at sip.example.com>>
>                       <mailto:sip%25253ACALLEE at sip.example.com
>         <mailto:sip%2525253ACALLEE at sip.example.com>
>                <mailto:sip%2525253ACALLEE at sip.example.com
>         <mailto:sip%252525253ACALLEE at sip.example.com>>>
>                              <mailto:sip%25253ACALLEE at sip.example.com
>         <mailto:sip%2525253ACALLEE at sip.example.com>
>                <mailto:sip%2525253ACALLEE at sip.example.com
>         <mailto:sip%252525253ACALLEE at sip.example.com>>
>                       <mailto:sip%2525253ACALLEE at sip.example.com
>         <mailto:sip%252525253ACALLEE at sip.example.com>
>                <mailto:sip%252525253ACALLEE at sip.example.com
>         <mailto:sip%25252525253ACALLEE at sip.example.com>>>>>>
>         si=99.XX.XX.XX
>
>
>
>
>                                     flag=96 du=<null>
>
>
>                                     This call is not sent to Proxy B
>         (this is a
>                       result of bflag
>                                     not being set) ???
>
>                                 is the proxy B at 99.XX.XX.XX:5079? If
>         not,
>                then set
>                       $du to the
>                                 address of that proxy. It is null in
>         the log
>                above.
>
>                                 Cheers,
>                                 Daniel
>
>                                     My question is "Why", I look at
>         the AOR /
>                usrloc and
>                              they both
>                                     have the "same exact flags set",
>         this call is
>                       rather sent
>                                     directly to UAC endpoint.
>
>                                     ---
>
>                                     Apr 29 07:38:05 db06
>         /sbin/kamailio[21279]:
>                                     [77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>
>                       <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>>
>                              <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>
>                       <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>>>
>                                    
>         <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>
>                       <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>>
>                              <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>
>                       <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>>>>
>                                    
>         <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>
>                       <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>>
>                              <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>
>                       <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>>>
>                                    
>         <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>
>                       <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>>
>                              <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>
>                       <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>
>                <mailto:77e4c600-147767fb at 172.16.1.35
>         <mailto:77e4c600-147767fb at 172.16.1.35>>>>>>][branch_route][2]
>                                     ru=sip:CALLEE at 99.XX.XX.XX:5062
>                              fu=sip:CALLER at sip.example.com
>         <mailto:sip%3ACALLER at sip.example.com>
>                <mailto:sip%3ACALLER at sip.example.com
>         <mailto:sip%253ACALLER at sip.example.com>>
>                       <mailto:sip%3ACALLER at sip.example.com
>         <mailto:sip%253ACALLER at sip.example.com>
>                <mailto:sip%253ACALLER at sip.example.com
>         <mailto:sip%25253ACALLER at sip.example.com>>>
>                              <mailto:sip%3ACALLER at sip.example.com
>         <mailto:sip%253ACALLER at sip.example.com>
>                <mailto:sip%253ACALLER at sip.example.com
>         <mailto:sip%25253ACALLER at sip.example.com>>
>                       <mailto:sip%253ACALLER at sip.example.com
>         <mailto:sip%25253ACALLER at sip.example.com>
>                <mailto:sip%25253ACALLER at sip.example.com
>         <mailto:sip%2525253ACALLER at sip.example.com>>>>
>                                    
>         <mailto:sip%3ACALLER at sip.example.com
>         <mailto:sip%253ACALLER at sip.example.com>
>                <mailto:sip%253ACALLER at sip.example.com
>         <mailto:sip%25253ACALLER at sip.example.com>>
>                       <mailto:sip%253ACALLER at sip.example.com
>         <mailto:sip%25253ACALLER at sip.example.com>
>                <mailto:sip%25253ACALLER at sip.example.com
>         <mailto:sip%2525253ACALLER at sip.example.com>>>
>                              <mailto:sip%253ACALLER at sip.example.com
>         <mailto:sip%25253ACALLER at sip.example.com>
>                <mailto:sip%25253ACALLER at sip.example.com
>         <mailto:sip%2525253ACALLER at sip.example.com>>
>                       <mailto:sip%25253ACALLER at sip.example.com
>         <mailto:sip%2525253ACALLER at sip.example.com>
>                <mailto:sip%2525253ACALLER at sip.example.com
>         <mailto:sip%252525253ACALLER at sip.example.com>>>>>
>                                    
>         <mailto:sip%3ACALLER at sip.example.com
>         <mailto:sip%253ACALLER at sip.example.com>
>                <mailto:sip%253ACALLER at sip.example.com
>         <mailto:sip%25253ACALLER at sip.example.com>>
>                       <mailto:sip%253ACALLER at sip.example.com
>         <mailto:sip%25253ACALLER at sip.example.com>
>                <mailto:sip%25253ACALLER at sip.example.com
>         <mailto:sip%2525253ACALLER at sip.example.com>>>
>                              <mailto:sip%253ACALLER at sip.example.com
>         <mailto:sip%25253ACALLER at sip.example.com>
>                <mailto:sip%25253ACALLER at sip.example.com
>         <mailto:sip%2525253ACALLER at sip.example.com>>
>                       <mailto:sip%25253ACALLER at sip.example.com
>         <mailto:sip%2525253ACALLER at sip.example.com>
>                <mailto:sip%2525253ACALLER at sip.example.com
>         <mailto:sip%252525253ACALLER at sip.example.com>>>>
>                                    
>         <mailto:sip%253ACALLER at sip.example.com
>         <mailto:sip%25253ACALLER at sip.example.com>
>                <mailto:sip%25253ACALLER at sip.example.com
>         <mailto:sip%2525253ACALLER at sip.example.com>>
>                       <mailto:sip%25253ACALLER at sip.example.com
>         <mailto:sip%2525253ACALLER at sip.example.com>
>                <mailto:sip%2525253ACALLER at sip.example.com
>         <mailto:sip%252525253ACALLER at sip.example.com>>>
>                              <mailto:sip%25253ACALLER at sip.example.com
>         <mailto:sip%2525253ACALLER at sip.example.com>
>                <mailto:sip%2525253ACALLER at sip.example.com
>         <mailto:sip%252525253ACALLER at sip.example.com>>
>                       <mailto:sip%2525253ACALLER at sip.example.com
>         <mailto:sip%252525253ACALLER at sip.example.com>
>                <mailto:sip%252525253ACALLER at sip.example.com
>         <mailto:sip%25252525253ACALLER at sip.example.com>>>>>>
>
>
>
>
>                                     tu=sip:CALLEE at sip.example.com
>         <mailto:sip%3ACALLEE at sip.example.com>
>                <mailto:sip%3ACALLEE at sip.example.com
>         <mailto:sip%253ACALLEE at sip.example.com>>
>                       <mailto:sip%3ACALLEE at sip.example.com
>         <mailto:sip%253ACALLEE at sip.example.com>
>                <mailto:sip%253ACALLEE at sip.example.com
>         <mailto:sip%25253ACALLEE at sip.example.com>>>
>                              <mailto:sip%3ACALLEE at sip.example.com
>         <mailto:sip%253ACALLEE at sip.example.com>
>                <mailto:sip%253ACALLEE at sip.example.com
>         <mailto:sip%25253ACALLEE at sip.example.com>>
>                       <mailto:sip%253ACALLEE at sip.example.com
>         <mailto:sip%25253ACALLEE at sip.example.com>
>                <mailto:sip%25253ACALLEE at sip.example.com
>         <mailto:sip%2525253ACALLEE at sip.example.com>>>>
>                                    
>         <mailto:sip%3ACALLEE at sip.example.com
>         <mailto:sip%253ACALLEE at sip.example.com>
>                <mailto:sip%253ACALLEE at sip.example.com
>         <mailto:sip%25253ACALLEE at sip.example.com>>
>                       <mailto:sip%253ACALLEE at sip.example.com
>         <mailto:sip%25253ACALLEE at sip.example.com>
>                <mailto:sip%25253ACALLEE at sip.example.com
>         <mailto:sip%2525253ACALLEE at sip.example.com>>>
>                              <mailto:sip%253ACALLEE at sip.example.com
>         <mailto:sip%25253ACALLEE at sip.example.com>
>                <mailto:sip%25253ACALLEE at sip.example.com
>         <mailto:sip%2525253ACALLEE at sip.example.com>>
>                       <mailto:sip%25253ACALLEE at sip.example.com
>         <mailto:sip%2525253ACALLEE at sip.example.com>
>                <mailto:sip%2525253ACALLEE at sip.example.com
>         <mailto:sip%252525253ACALLEE at sip.example.com>>>>>
>                                    
>         <mailto:sip%3ACALLEE at sip.example.com
>         <mailto:sip%253ACALLEE at sip.example.com>
>                <mailto:sip%253ACALLEE at sip.example.com
>         <mailto:sip%25253ACALLEE at sip.example.com>>
>                       <mailto:sip%253ACALLEE at sip.example.com
>         <mailto:sip%25253ACALLEE at sip.example.com>
>                <mailto:sip%25253ACALLEE at sip.example.com
>         <mailto:sip%2525253ACALLEE at sip.example.com>>>
>                              <mailto:sip%253ACALLEE at sip.example.com
>         <mailto:sip%25253ACALLEE at sip.example.com>
>                <mailto:sip%25253ACALLEE at sip.example.com
>         <mailto:sip%2525253ACALLEE at sip.example.com>>
>                       <mailto:sip%25253ACALLEE at sip.example.com
>         <mailto:sip%2525253ACALLEE at sip.example.com>
>                <mailto:sip%2525253ACALLEE at sip.example.com
>         <mailto:sip%252525253ACALLEE at sip.example.com>>>>
>                                    
>         <mailto:sip%253ACALLEE at sip.example.com
>         <mailto:sip%25253ACALLEE at sip.example.com>
>                <mailto:sip%25253ACALLEE at sip.example.com
>         <mailto:sip%2525253ACALLEE at sip.example.com>>
>                       <mailto:sip%25253ACALLEE at sip.example.com
>         <mailto:sip%2525253ACALLEE at sip.example.com>
>                <mailto:sip%2525253ACALLEE at sip.example.com
>         <mailto:sip%252525253ACALLEE at sip.example.com>>>
>                              <mailto:sip%25253ACALLEE at sip.example.com
>         <mailto:sip%2525253ACALLEE at sip.example.com>
>                <mailto:sip%2525253ACALLEE at sip.example.com
>         <mailto:sip%252525253ACALLEE at sip.example.com>>
>                       <mailto:sip%2525253ACALLEE at sip.example.com
>         <mailto:sip%252525253ACALLEE at sip.example.com>
>                <mailto:sip%252525253ACALLEE at sip.example.com
>         <mailto:sip%25252525253ACALLEE at sip.example.com>>>>>>
>         si=99.XX.XX.XX
>
>
>
>
>                                     flag=64 du=sip:PROXY_B;transport=udp;
>
>
>                                     This call is sent to Proxy B (however
>                Proxy B) -
>                              however the
>                                     X-Duri (is null) as it is not
>         existant in
>                Proxy
>                       A's branch
>                                     route? should I save this from right
>                after the
>                                     lookup("location") result into an avp?
>
>
>                                     Again, thank you for all and any help,
>                thanks!
>
>                                     On Mon, Apr 27, 2009 at 5:42 PM,
>         Brandon
>                Armstead
>                                     <brandon at cryy.com
>         <mailto:brandon at cryy.com>
>                <mailto:brandon at cryy.com <mailto:brandon at cryy.com>>
>         <mailto:brandon at cryy.com <mailto:brandon at cryy.com>
>                <mailto:brandon at cryy.com <mailto:brandon at cryy.com>>>
>                       <mailto:brandon at cryy.com
>         <mailto:brandon at cryy.com> <mailto:brandon at cryy.com
>         <mailto:brandon at cryy.com>>
>                <mailto:brandon at cryy.com <mailto:brandon at cryy.com>
>         <mailto:brandon at cryy.com <mailto:brandon at cryy.com>>>>
>                              <mailto:brandon at cryy.com
>         <mailto:brandon at cryy.com>
>                <mailto:brandon at cryy.com <mailto:brandon at cryy.com>>
>         <mailto:brandon at cryy.com <mailto:brandon at cryy.com>
>                <mailto:brandon at cryy.com <mailto:brandon at cryy.com>>>
>                       <mailto:brandon at cryy.com
>         <mailto:brandon at cryy.com> <mailto:brandon at cryy.com
>         <mailto:brandon at cryy.com>>
>                <mailto:brandon at cryy.com <mailto:brandon at cryy.com>
>         <mailto:brandon at cryy.com <mailto:brandon at cryy.com>>>>>
>                                     <mailto:brandon at cryy.com
>         <mailto:brandon at cryy.com>
>                <mailto:brandon at cryy.com <mailto:brandon at cryy.com>>
>                       <mailto:brandon at cryy.com
>         <mailto:brandon at cryy.com> <mailto:brandon at cryy.com
>         <mailto:brandon at cryy.com>>>
>                <mailto:brandon at cryy.com <mailto:brandon at cryy.com>
>         <mailto:brandon at cryy.com <mailto:brandon at cryy.com>>
>                       <mailto:brandon at cryy.com
>         <mailto:brandon at cryy.com> <mailto:brandon at cryy.com
>         <mailto:brandon at cryy.com>>>>
>                              <mailto:brandon at cryy.com
>         <mailto:brandon at cryy.com>
>                <mailto:brandon at cryy.com <mailto:brandon at cryy.com>>
>         <mailto:brandon at cryy.com <mailto:brandon at cryy.com>
>                <mailto:brandon at cryy.com <mailto:brandon at cryy.com>>>
>                       <mailto:brandon at cryy.com
>         <mailto:brandon at cryy.com> <mailto:brandon at cryy.com
>         <mailto:brandon at cryy.com>>
>                <mailto:brandon at cryy.com <mailto:brandon at cryy.com>
>         <mailto:brandon at cryy.com <mailto:brandon at cryy.com>>>>>>> wrote:
>
>                                        Klaus, Inaki, Daniel,
>
>                                            Thanks!  Sorry I did not
>         see this
>                email come
>                              through, I'm
>                                        going to go ahead and give this
>         method
>                a go,
>                       and I'll
>                                     update with
>                                        the results, I have optimistic
>         views.
>
>                                        As for the reason I was
>         rewriting $ru and
>                       setting $du to
>                                     null, is
>                                        because originally when I just
>         changed
>                $du to the
>                              'destination
>                                        proxy' it did not seem to work
>         at all
>                (I do
>                       not even
>                              recall
>                                     what
>                                        exactly what was happening)
>         however I
>                decided
>                       to just
>                                     change $ru,
>                                        and have the other proxy just
>         "lookup"
>                the usrloc
>                              information
>                                        again.  Again, this method looks
>                interesting and
>                              I'll let
>                                     you guys
>                                        know how it goes, thanks for
>         all the input
>                       and help!
>
>                                        Sincerely,
>                                        Brandon.
>
>
>                                        On Fri, Apr 24, 2009 at 1:18
>         AM, Klaus
>                Darilion
>                                        <klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>
>                       <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>>
>                              <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>
>                       <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>>>
>                                    
>         <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>
>                       <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>>
>                              <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>
>                       <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>>>>
>                                      
>          <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>
>                       <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>>
>                              <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>
>                       <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>>>
>                                    
>         <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>
>                       <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>>
>                              <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>
>                       <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>>>>>> wrote:
>
>
>
>                                            Brandon Armstead schrieb:
>
>                                                Klaus,
>
>                                                   So I took you and
>         Inaki's
>                input and
>                              essentially
>                                                constructed a setup like so
>                after the
>                                     lookup("location") call:
>
>                                                if(isbflagset(1)){
>                                                   $du = null;
>                                                   $rd = "P1";
>                                                } else if(isbflagset(2)){
>                                                   $du = null;
>                                                   $rd = "P2";
>                                                } else if(isbflagset(3)){
>                                                   $du = null;
>                                                   $rd = "P3";
>                                                } else if(isbflagset(4)){
>                                                   $du = null;
>                                                   $rd = "P4";
>                                                }
>
>
>                                            1. The above code has to be
>         in the
>                       branch_route
>                              block -
>                                            otherwise multiple
>         registrations
>                of a single
>                              user are not
>                                            handled correctly.
>
>                                            2. you are rewriting the
>         RURI. You
>                should
>                       not do
>                              that
>                                     as some
>                                            clients wants to the in the
>         RURI
>                the Contact
>                              provided
>                                     during
>                                            REGISTER.
>
>                                            3. probably you use
>                fix_nated_register() to
>                              store the
>                                     public
>                                            IP:port of the client too.
>         After
>                lookup, this
>                                     information is
>                                            written to DURI. Thus, by
>         setting
>                $du you
>                       overwrite
>                                     this info.
>                                            You should put it into a
>         special
>                header
>                       so that
>                              you can
>                                            restore it in the other proxy.
>
>                                            Here a snippet how it
>         should work
>                       (untested, no
>                                     warranty): ( I
>                                            use the term "originating"
>         proxy
>                for the
>                       proxy which
>                                     received
>                                            the INVITE and the term
>         "serving"
>                proxy
>                       for the
>                              proxy which
>                                            handles the
>                connection/registration of a
>                       certain SIP
>                                     client).
>
>                                            e.g:
>                                            Alice -----INVITE----->
>                       P1------->P2----->Bob2
>                                                                   /  \
>                                                                  /    \
>                                                                 /      V
>                                                                V      
>                P3---->Bob3
>                                                             Bob1
>
>                                            Bob's client Bob1 is
>         connected to P1.
>                                            Bob's client Bob2 is
>         connected to P2.
>                                            Bob's client Bob3 is
>         connected to P3.
>
>                                            So, P1 is the originating
>         proxy.
>                P2 is the
>                              serving proxy of
>                                            Bob2. ....
>
>                                            We do NAT traversal (note:
>         we must
>                not call
>                                            fix_nated_contact() for
>         messages sent
>                       between the
>                                     proxies!):
>                                            the originating proxy for the
>                call-leg to the
>                              caller, the
>                                            serving proxy for the
>         call-leg to
>                the callee.
>                                            The RTP proxy will be
>         managed by the
>                       originating
>                              proxy
>                                     only.
>
>
>
>                                            route{
>                                            if (loose_route()) {
>                                             ... additional loose route
>                processing...
>                                             if
>                (check_route_param("rtpproxy=yes")) {
>                                               force_rtp_proxy();
>                                               setbflag(7);
>                                             }
>
>                                             # downstream: in-dialog
>         request is in
>                       the same
>                                     direction as the
>                                             # initial request
>                                             if (
>                (check_route_param("nat=caller") &&
>                                            is_direction("downstream"))
>                                               ||
>                (check_route_param("nat=callee") &&
>                                            is_direction("upstream"))) {
>                                               fix_nated_contact();
>                                             } else if
>                (check_route_param("nat=both") {
>                                               fix_nated_contact();
>                                               setbflag(8);
>                                             } else {
>                                               setbflag(8);
>                                             }
>
>                                             t_on_reply("1");
>                                             t_relay();
>                                             exit();
>                                            }
>                                            ...
>
>                                            # I am proxy 1
>                                            if ((src_ip=ip.of.proxy.2) ||
>                              (src_ip=ip.of.proxy.3)...) {
>                                             # request comes from other
>         proxy,
>                that
>                       means I
>                              am the
>                                             # serving proxy
>                                             # do not lookup(), RURI is
>                already set and
>                                             # DURI is provided in our
>         X-DURI
>                header
>                                             $du = $header(X-DURI);
>                                             # we do not care about an RTP
>                proxy because
>                              that's the
>                                     task
>                                            of the
>                                             # proxy which performed the
>                lookup() (the
>                              originating
>                                     proxy)
>                                             # add some record-route
>         cookie to
>                mark
>                       that we
>                              should
>                                     perform
>                                             # SIP NAT traversal for
>         the callee
>                                             add_rr_param(";nat=callee");
>                                             # activate reply_route to
>                       fix_nated_contact of
>                              callee
>                                             setbflag(8); # flag 8 =
>         fix contact
>                                             t_on_reply("1");
>                                             record_route();
>                                             t_relay();
>                                             exit;
>                                            }
>
>                                            ...
>                                            # a new request - thus I am the
>                       originating proxy
>
>                                            if ($dU looks like phone
>         number) {
>                                              ... route to Gateway....
>                                             exit;
>                                            }
>
>                                            if (!lookup("location")) {
>                                             sl_send_reply("404","not
>         found");
>                                             exit;
>                                            }
>                                            # activate branch route to have
>                dedicated
>                              routing per
>                                     branch
>                                            t_on_branch("1");
>
>                                            # activate reply route to
>         activate
>                RTP proxy
>                                            t_on_reply("1");
>
>                                            # NAT traversal
>                                            fix_nated_contact();
>
>                                            record_route();
>                                            t_relay();
>                                            exit;
>                                            }
>
>                                            branch_route[1]{
>                                             if(isbflagset(1)){
>                                              # oh, that's me
>
>                                              # add some record-route
>         cookie
>                to mark
>                       that we
>                              should
>                                     perform
>                                              # SIP NAT traversal for the
>                callee and
>                       caller
>                                              add_rr_param(";nat=both");
>
>                                              # add some record-route
>         cookie
>                to mark
>                       that we are
>                                              # in charge for the RTP proxy
>                                            
>          add_rr_param(";rtpproxy=yes");
>
>                                              force_rtp_proxy();
>                                              setbflag(7); # flag 7 =
>         RTP proxy
>                                             } else {
>                                              # add some record-route
>         cookie
>                to mark
>                       that we
>                              should
>                                     perform
>                                              # SIP NAT traversal for
>         the caller
>                                              add_rr_param(";nat=caller");
>
>                                              # we have to route the
>         request
>                to the
>                       serving
>                              proxy
>                                              # write DURI in the header
>                                              append_hf("X-DURI: $du");
>                                              if(isbflagset(2)){
>                                                  $du =
>                sip:ip.of.proxy.2;transport=udp;
>                                              } else if(isbflagset(3)){
>                                                  $du =
>                sip:ip.of.proxy.3;transport=udp;
>                                              } else if(isbflagset(4)){
>                                                  $du =
>                sip:ip.of.proxy.4;transport=udp;
>                                              }
>                                             }
>                                            }
>
>                                            reply_route[1]{
>                                             if (isbflagset(7) &&
>                       has_body("application/sdp")) {
>                                               force_rtp_proxy()
>                                             }
>                                             if (isbflagset(8)) {
>                                               fix_nated_contact()
>                                             }
>                                            }
>
>
>
>                                            Note: this code does not care
>                about the
>                       received
>                              socket
>                                     of the
>                                            proxy. Thus it works if the
>         proxy
>                listens
>                       only
>                              on one port.
>
>                                            regards
>                                            klaus
>
>
>                                                On each Proxy, I
>         changed the code
>                       appropriately
>                                     excluding
>                                                the Proxy from itself
>         (so it
>                does not
>                       forward to
>                                     itself).
>                                                 I'm noticing weird
>         behavior
>                however
>                       as it
>                              seems as if
>                                                what is happening is it
>                created other
>                       issues
>                              such as:
>
>                                                [INCOMING SERVER] -> P1
>         -> P2
>                -> P1
>                       -> (loop?)
>
>                                                Also I setup this test
>         amongst two
>                       development
>                                     servers (in
>                                                which case it worked
>         without
>                issues).
>                        Once I
>                                     included in
>                                                more development instances
>                into the
>                       ring it
>                              seemed
>                                     as if
>                                                the flags were being
>         set when
>                they should
>                              not be?
>
>                                                I.e. I placed a call
>         FROM UA1
>                (with
>                       bflag 5 SET)
>                                     From the
>                                                above example
>         configuration ^
>                code.
>                        If you
>                              notice
>                                     (flag
>                                                5) is missing.  To UA2
>         (Flag 3),
>                       again this
>                              looked
>                                     to be
>                                                doing some strange
>         things such as
>                       acting as
>                              if another
>                                                flag was set when it should
>                not have
>                       been, thus
>                                     forwarding
>                                                to the wrong proxy or the
>                wrong proxy
>                       order.  Do
>                                     you guys
>                                                have any further
>         thoughts or
>                input on
>                       this?
>                               Thanks!
>
>                                                On Thu, Apr 23, 2009 at
>         12:31 AM,
>                       Klaus Darilion
>                                              
>          <klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>
>                       <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>>
>                              <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>
>                       <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>>>
>                                    
>         <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>
>                       <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>>
>                              <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>
>                       <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>>>>
>                                                    
>          <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>>
>                       <mailto:klaus.mailinglists at pernau.at
>         <mailto:klaus.mailinglists at pernau.at>
>                <mailto:
>
>     ...
>
>     [Message clipped]  
>
>

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




More information about the Users mailing list