[OpenSIPS-Users] ACK/200 to wrong port

Andrew Pogrebennyk andrew.pogrebennyk at portaone.com
Fri Jul 23 07:33:14 CEST 2010


Marcio,

This looks like a bug in Cisco ATA186. Cisco A received 200 OK (packet 
no. 32):

Record-Route: <sip:200.198.184.198:5061;lr=on;ftag=3971837741>
Contact: <sip:10231 at 187.13.212.160:5081;user=phone;transport=udp>

And sent ACK sip:10231 at 187.13.212.160 SIP/2.0
Route: <sip:200.198.184.198:5061;lr=on;ftag=3971837741>

But it must put remote target URI learned from Contact to Request-URI:
ACK sip:10231 at 187.13.212.160:5081

According to RFC 3261:

    The UAC uses the remote target and route set to build the Request-URI
    and Route header field of the request.

    If the route set is empty, the UAC MUST place the remote target URI
    into the Request-URI.  The UAC MUST NOT add a Route header field to
    the request.

    If the route set is not empty, and the first URI in the route set
    contains the lr parameter (see Section 19.1.1), the UAC MUST place
    the remote target URI into the Request-URI and MUST include a Route
    header field containing the route set values in order, including all
    parameters.

Hope this helps..

On 23.07.2010 08:25, Marcio Veloso Antunes wrote:
> Hi all,
> 
>   I am two days working over a mistery on an ACK from a 200 that was missing.
> 
>   I was using 2 cisco ATA 186 both behind NAT, and both on other ports than 
> 5060 (one on 5080 and other on 5081).
> 
>   When calling eachother the ACK was sent from cisco A to OpenSIPS (1.6.2) 
> which processed the ACK and then forwarded to Cisco B.
> 
>   The problem is on debug Opensips showed that it forwarded but cisco B never 
> received.
> 
>   Today i found what was going on. OpenSips was sending to CISCO_B:5060 and 
> not CISCO_B:5080 as expected.
> 
>   I am sending a pdf with every packet of this dialog. If you wish, i can send 
> my config script too.
> 
>   Thanks in advance,

-- 
Sincerely,
Andrew Pogrebennyk



More information about the Users mailing list