[OpenSIPS-Users] Topology Hiding- ACK not going through
Royee Tichauer
royee.tichauer at vonage.com
Mon Jun 5 08:20:44 EDT 2017
Adding capture
On Mon, Jun 5, 2017 at 3:15 PM Royee Tichauer <royee.tichauer at vonage.com>
wrote:
> Hi,
>
> I'm having some problems when using topology hiding. In my scenario an
> INVITE comes in to the opensips (SBC) instance from another opensips
> instance (Proxy). It is routed to a callee which eventually answers with a
> 200OK. The 200 OK is routed through the SBC to the Proxy which answers back
> with an ACK. This ACK is absorbed by the SBC which (by looking at the logs)
> attempts to send this ACK to the private IP of the callee instead of the
> the NAT IP which was originally used for the incoming INVITE.
>
> From the logs I see that right before I attempt to do
> 'topology_hiding_match()' the 'ruri=public_IP' and after the method is
> called the ruri switches to 'ruri=private_IP'.
>
> Attached is a trace, the problematic ACK is message number 53. Below is a
> partial opensips.cfg file I am using with opensips 2.1:
>
>
> # ----- NATHELPER -----
> loadmodule "nathelper.so"
> modparam("nathelper", "received_avp", "$avp(42)")
>
> # ----- DIALOG -----
> loadmodule "dialog.so"
> modparam("dialog", "db_mode", 0)
> modparam("dialog", "dlg_match_mode", 1)
> modparam("dialog", "profiles_no_value", "inboundcalls")
>
>
> # ----- TOPOLOGY_HIDING -----
> loadmodule "topology_hiding.so"
> modparam("topology_hiding", "force_dialog", 1)
> modparam("topology_hiding", "th_callid_passwd", "*********")
> modparam("topology_hiding", "th_contact_encode_passwd", "*****")
> modparam("topology_hiding", "th_callid_prefix", "****")
>
> route {
> route(nat_checks);
> route(topology_check);
> .
> .
> .
>
> create_dialog();
>
> record_route();
>
> if (!has_totag() && is_method("INVITE")) {
> topology_hiding("U");
> }
>
> .
> .
> .
> }
>
>
> route[topology_check] {
>
> force_rport();
> xlog("L_INFO", "[REQUEST $ci] current ruri: $ruri");
> if (has_totag()) {
> if (topology_hiding_match()) {
> xlog("L_INFO", "[REQUEST $ci] $rm topology_check successful match
> reinvite TH_callee_callid: $TH_callee_callid ruri: $ruri");
> route(relay);
> } else {
> xlog("L_INFO", "[REQUEST $ci] $rm topology_check Did not match this
> request to a topology hiding dialog.");
> if ( is_method("ACK") ) {
> if ( t_check_trans() ) {
> xlog("L_INFO", "[REQUEST $ci] $rm within a transaction
> relaying");
> route(relay);
> } else {
> xlog("L_INFO", "[REQUEST $ci] $rm not within a transaction
> exiting");
> exit;
> }
> }
> xlog("L_INFO", "[REQUEST $ci] $rm sending 404 Not Found");
> send_reply("404","Not Found");
> exit;
> }
> }
>
> }
>
> route[nat_checks] {
>
> if (nat_uac_test("1")) {
> xlog("L_INFO", "[REQUEST $ci] $rm fix_nated_contact()");
> fix_nated_contact();
> }
> }
> .
> .
> .
>
>
>
>
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20170605/92be29f8/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: capture.pcap
Type: application/octet-stream
Size: 50784 bytes
Desc: not available
URL: <http://lists.opensips.org/pipermail/users/attachments/20170605/92be29f8/attachment-0001.obj>
More information about the Users
mailing list