Hi Faheem,

In onreply route you must not touch the contact hdr if reply comes from the proxy. That reply will contain as contact the IP of the end callee (some device behind the proxy). IF you do fix_nated_contact(), you will overwrite it with the IP of the source entity (the proxy) loosing valuable routing info.

Regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com

On 29.09.2015 20:00, Faheem Muhammad wrote:
Hi,
I'm facing an ACK loop while making calls. The issue is occurred due to bad CONTACT header. Scenario is as follows.

sip_user1(10.111.11.136) <-> OpenSIPS-1(10.109.5.189) <-->Outbound_proxy1 (10.109.5.237)

The issue occurs when sip_user1 sends INVITE to OpenSIPS-1. OpenSIPS-1 processes the request and send to Outbound_proxy1. When OpenSIPS-1 receive 200 OK from Outbound_proxy1, it relays '200 OK' back to sip_user1 with bad CONTACT header. It relays '200 OK' with the CONTACT header of the proxy.

I have tried to apply the fix_nated_contact() in reply route block but it does not fix the contact header which causes an ACK loop internally when first ACK is received from sip_user1.
Can you please suggest me what's wrong with my routing logic.


Here is my reply_route block.
------------------------------------------------------------------
onreply_route[handle_nat] {
search_append('Contact:.*sip:[^>[:cntrl:]]*', ';nat=yes');
    if (isbflagset(FLB_NAT)) {
 xlog("L_NOTICE", "[$pr:$fU@$si:$sp]:  fixing Nated Contact. \n");
# issue comes here...
        fix_nated_contact();

    }

}
--------------------------------------------------------------------

OpenSIPS Logs and SIP trace is attached below link.
https://www.dropbox.com/sh/rrjgajt9zgj852q/AABrCIftwjVcaMbWgJwR9NYha?dl=0

Regards,
Faheem



_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to