[OpenSIPS-Users] Passing Register requests with B2BUA Topology Hiding

Jeryes . jeryes at voicetechnology.com.br
Sat Jan 12 02:34:48 CET 2013


Hi,

I have a very simple b2bua server (running on opensips 1.7) that only uses
topology hiding to make the communication between two sip server, and it's
working fine to process calls, but I'm having problems with Register
requests. When one of the sip servers sends the Register to b2bua, the
Request is not being processed and opensips is logging the following
errors:

Error log:

Jan 11 19:48:20 /usr/local/sbin/opensips[20559]: REGISTER (call id:
2ce8dced12ca6e7c0e9a68d6311c501b at 192.168.194.130)
Jan 11 19:48:20 /usr/local/sbin/opensips[20559]:
ERROR:b2b_entities:b2b_new_dlg: Called b2b_init on a Cancel message
Jan 11 19:48:20 /usr/local/sbin/opensips[20559]:
ERROR:b2b_entities:server_new: failed to create new dialog structure entry
Jan 11 19:48:20 /usr/local/sbin/opensips[20559]:
ERROR:b2b_logic:create_top_hiding_entities: failed to create new b2b server
instance


Is the top hiding script suposed to work with Register requests or I should
process those requests by other way?

SipServer (pbx, sip proxy) ---> B2BUA ---> SipServer(carrier, sip proxy)
Register Request -----------------> stuck


The opensips.cfg is the default, and I only changed the main route:

loadmodule "b2b_entities.so"
loadmodule "b2b_logic.so"


route{

        if (!mf_process_maxfwd_header("10"))
        {
                sl_send_reply("483","Too Many Hops");
                exit;
        }

        if( is_method("INVITE") || is_method("REGISTER") )
        {
            # DO NOT call t_newtran() on this request -> it will
result in the transaction never being deleted
            xlog("REGISTER (call id: $ci)\n");

            b2b_init_request("top hiding");
            exit; # do not forward this request, another one will be generated
        };

        route(1);
}


route[1] {
        # for INVITEs enable some additional helper routes
        if (is_method("INVITE")) {
                t_on_branch("2");
                t_on_reply("2");
                t_on_failure("1");
        }

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




Thanks in advance!


regards,

jeryes
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20130111/5e828552/attachment.htm>


More information about the Users mailing list