I ended up doing this right before the call to loose_route():

                if ((is_method("ACK") || is_method("BYE")) && !isdsturiset()) {
                   handle_ruri_alias();
                   if ($du != $null) {
                      $ru = $du;
                      $du = $null;
                   }
                }

Thanks a lot Daniel!


On Thu, Aug 29, 2013 at 10:58 AM, Marc Soda <msoda@coredial.com> wrote:
On Thu, Aug 29, 2013 at 3:53 AM, Daniel-Constantin Mierla <miconda@gmail.com> wrote:
 
what device is at 701? The 200ok receved from it has the contact address with the IP of kamailio:

SFLPhone
 
It seems there is a NAT between your kamailio and 701, as kamailio adds alias parameter to Contact in 200ok. That can be used to route the ack, like:

handle_ruri_alias();
$ru = $du;
$du = $null;

 There is no NAT in this scenario, although NAT support is enabled as we will have to deal with it.  Should I still use handle_ruri_alias()?

Thanks,
Marc



--

Marc Soda, Sr. Systems Engineer
CoreDial, LLC | www.coredial.com

1787 Sentry Parkway West, Building 16, Suite 100, Blue Bell, PA 19422
Office: (215) 297-4400 x203 | Fax: (215) 297-4401 | Email: msoda@coredial.com

- - - - -

The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission,  dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer.