Hi, Ehrny!

You need the IP address of whom? Caller? Callee?
$rd is null because a reply does not have a R-URI. Perhaps the reply doesn't have a received parameter in the reply either, that's why it is empty.

Best regards,

Răzvan Crainea
OpenSIPS Solutions
www.opensips-solutions.com

On 11/21/2016 12:13 PM, Ehrny wrote:

Hello Răzvan,

I need to do some routing in onreply_route[] based on destination IP.

Tried  $rd with no avail , it returns null

If I get you right regarding context, the var $var(upstream0) = $(hdr(Via)[0]{via.received}); Is empty also.

What is the right way to get an IP address in replies and do further routing?

Kind regards,

Ehrny

*From:*users-boun...@lists.opensips.org [mailto:users-boun...@lists.opensips.org] *On Behalf Of *Razvan Crainea
*Sent:* Monday, November 21, 2016 11:50 AM
*To:* users@lists.opensips.org
*Subject:* Re: [OpenSIPS-Users] $ai transformation

Hi, Ehrny!

You don't need to use contexts in the onreply_route[], because that route is already ran in the context of the reply message.

Best regards,


Răzvan Crainea
OpenSIPS Solutions
www.opensips-solutions.com <http://www.opensips-solutions.com>

On 11/19/2016 10:40 PM, Ehrny wrote:

    Dear Răzvan,

    … I’ve tried to add variable to onreply_route[1]

    $var(upstream0) = $(<reply>hdr(Via)[0]{via.param,received});

    xlog("upstream0  =  $var(upstream0) \n");

    and in the log I get critical alert:

    CRITICAL:tm:tm_pv_context_reply: no picked branch (-1) for a final
    response

    *From:*users-boun...@lists.opensips.org
    <mailto:users-boun...@lists.opensips.org>
    [mailto:users-boun...@lists.opensips.org] *On Behalf Of *Ehrny
    *Sent:* Saturday, November 19, 2016 2:06 PM
    *To:* OpenSIPS users mailling list
    *Subject:* Re: [OpenSIPS-Users] $ai transformation

    Hi Răzvan,

    I gues so.

    I’ve got      t_on_reply("1");       in the route

    and at the end of the script there is:

    onreply_route[1] {

    force_send_socket(udp:10.197.26.170:5060);

    }

    But it doesn’t seem to change send_socket back to priv IP addr ((

    Kind regards,

    Ehrny

    *From:*users-boun...@lists.opensips.org
    <mailto:users-boun...@lists.opensips.org>
    [mailto:users-boun...@lists.opensips.org] *On Behalf Of *Razvan
    Crainea
    *Sent:* Friday, November 18, 2016 12:22 PM
    *To:* users@lists.opensips.org <mailto:users@lists.opensips.org>
    *Subject:* Re: [OpenSIPS-Users] $ai transformation

    Hi, Ehrny!

    Did you try setting the private socket on the reply?

    Best regards,


    Răzvan Crainea

    OpenSIPS Solutions

    www.opensips-solutions.com <http://www.opensips-solutions.com>

    On 11/17/2016 01:00 AM, Ehrny wrote:

        Dear Răzvan,

        Thanks again for the prompt help. I was able to change the
        headers as needed but I’m stuck with another problem(

        I’ve got opensips with two Ethernet adapters, eth1 as a
        private and another one eth0 as public.  Opensips works fine
        when the call is coming on the public eth0 and leaves opensips
        through the same public adapter. (All the GWs are behind that
        public eth0 instead of one ). The problem happens when the
        call comes in through the private eth1, please see the drawing
        in attachment.

        -sip1.  After I’ve got invite from provider on the private
        eth1 , I send it through the public eth0.

        -sip2.  I use force_send_socket(udp:PUBLIC_IP:PORT) for the
        call to be able to pass through the opensips and come back
        from external GW (x.x.82.139). I also change SIP Request's URI
        and use uac_replace_to () to change these fields as needed.

        -sip4.  Opensips has got 180 Ringing from external GW
        (x.x.82.139)

        -sip5.  Opensips tries to send it back to originator
        (10.250.242.74) which is behind private NIC eth0 (10.197.26.170)

        the call can not be set up because I send reply from my public
        eth1

        2016-11-16 18:56:14      : x.x.80.43:5060 -> 10.250.242.74:5060

        SIP/2.0 *180* Ringing Via: SIP/2.0/UDP
        10.250.242.74:5060;branch=*z9hG4bKqci5ec *Record-Route:
        <sip:x.x.80.43;r2=on;lr;ftag=*2F81324631*;did=3a2.4667b68
        <sip:x.x.80.43;r2=on;lr;ftag=2F81324631353641A405EA00;did=3a2.4667b68>>
        Record-Route:
        <sip:10.197.26.170;r2=on;lr;ftag=*2F81324631*;did=3a2.4667b68
        
<sip:10.197.26.170;r2=on;lr;ftag=2F81324631353641A405EA00;did=3a2.4667b68>>
        From: sip:300...@domain.com;tag=*2F81324631*
        <sip:300...@domain.com;tag=2F81324631353641A405EA00> To:
        sip:300...@domain.com:5060;tag=231469dIr894
        <sip:300...@domain.com:5060;tag=231469dIr894p0D461D0t66>
        Call-ID: *020A3EA03A8@SFESIP4-id1-ext* CSeq: 1 INVITE Contact:
        <sip:54321@x.x.82.139:5060>

        I’m not sure if I do it right way because the packet (sip5)
        goes to 10.250.242.74 with the source ip of public eth0 and
        not the one it should pass through to be able to come back.

        What is the right way in my case to get the call through?

        Thank you for all of your help,

        Regards,

        Ehrny




        _______________________________________________

        Users mailing list

        Users@lists.opensips.org <mailto:Users@lists.opensips.org>

        http://lists.opensips.org/cgi-bin/mailman/listinfo/users




    _______________________________________________

    Users mailing list

    Users@lists.opensips.org <mailto:Users@lists.opensips.org>

    http://lists.opensips.org/cgi-bin/mailman/listinfo/users



_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to