[OpenSIPS-Users] Opensips B2B + RTP proxy in bridged mode

NagyBeci becinagy at gmail.com
Mon Dec 13 14:47:59 CET 2010


Hello Anca, Stefano,
thanks for reply, i've already tried to loop the signalling through
localhost, i'm still debugging it though. However, in my opinion, it's not
the ideal solution... It would be nice if there could be a possibility to
manipulate with message parameters generated by b2bua module.
For illustration, this is the exctract from cfg (without loop to localhost):

# ----- tm  params -----
# due to B2BUA
modparam("tm", "pass_provisional_replies", 1)

# ----- b2b modules params -----
modparam("b2b_entities", "server_address", "sip:abc at OpenSIPS_IP2")

##### Calls to domains served by other proxy
## multi-domain support is used
if (!is_uri_host_local())
{
     if(is_from_local() && uri=~"^sip:790@*") {
           if ($Ri=="OpenSIPS_IP1") {
                     setflag(5);  #Use RTP poxy
        }

       route(1);

       } else {
        sl_send_reply("403", "Not here");
       }
}


route[1] {

        # Use RTPproxy?
        if (isflagset(5)) {

            route(6); #Call from UA to exch.
            $du="IP/domain of destination UA";
            b2b_init_request("top hiding");
            exit;
    }

    # for INVITEs enable some additional helper routes
    if (is_method("INVITE")) {
                if (isflagset(5)){
            t_on_branch("2");
            t_on_reply("3");
                  }

                else {
            engage_media_proxy(); ### use mediaproxy for intradomain calls
            t_on_branch("2");
                 t_on_reply("2");
                }
        t_on_failure("1");
    }

    if (!t_relay()) {
        sl_reply_error();
    };
    exit;
}

route[6] {
    #---- RTP Proxy handling ---#
    if (is_method("BYE|CANCEL")) {
        unforce_rtp_proxy();
    }
    else if (is_method("INVITE")){
        #---- Activates the RTP Proxy for the CALLEE ---#
        force_rtp_proxy("ei");
    t_on_failure("1");
        };
    }


branch_route[2] {
    xlog("new branch at $ru\n");
}


onreply_route[2] {
    xlog("incoming reply\n");
}

onreply_route[3] {
        force_rtp_proxy("ie","OpenSIPS_IP1");
}

Bela

On Mon, Dec 13, 2010 at 2:25 PM, Anca Vamanu <anca at opensips.org> wrote:

> Hi Bela,
>
>
> On 12/13/2010 12:48 PM, beci345 wrote:
>
>> However, i have problem if i would like to extend the configuration with
>> topology hiding functionality - byusing the B2B modules.
>> By calling the scenario with b2b_init_request("top hiding"), Opensips
>> fires
>> out the INVITE with wrong SDP Connection information (IP of calling UA)
>> towards the called party.
>>
> Yes, indeed the B2BUA generates a new request and the changes made on the
> old request are not visible in the new one. You could change that request in
> local_route before being fired on the network, but then you have problems
> with the generated replies.. there is no way to catch those before being
> sent out.
> So the only solution is to introduce another hop before sending the request
> out - you could either loop the generated request or run b2bua in another
> instance of opensips. In both cases the b2bua should be the first to do the
> processing and the on the other hop do the specific changes on the message.
>
> Regards,
>
> --
> Anca Vamanu
> www.voice-system.ro
>
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20101213/cca76252/attachment-0001.htm>


More information about the Users mailing list