Hi,

I am using a popular UA to test a multi homed SIP proxy deployment to 
bridge a private network to the open Internet.  I run into some problems 
when X-Ten sends an ACK it receives for the 200 OK.  I have pasted the 
SIP messages below:

++++++++++++++++++++
SIP/2.0 200 OK
Via: SIP/2.0/UDP 
192.168.232.152:12000;branch=z9hG4bK-d87543-d95b446fc3710f48-1--d87543-;rport=12000;received=125.60.243.66
Record-Route: <sip:63.116.xxx.xxx:9000;lr>
Record-Route: <sip:192.168.10.102:5080;lr>
Contact: <sip:192.168.10.102:5100>
To: ""100""<sip:[EMAIL PROTECTED]>;tag=1814262005
From: ""Joegen""<sip:[EMAIL PROTECTED]>;tag=b5116967
Call-ID: Njc2ODg3M2U1YzQ4MTU3NzdjMDI4ODgzYmEzM2RmZTg.
CSeq: 1 INVITE
Accept-Language: en
Allow: INVITE, ACK, CANCEL, BYE, REFER, OPTIONS, NOTIFY
Content-Type: application/sdp
Date: Thu, 23 Nov 2006 04:30:11 GMT
Supported: sip-cc, sip-cc-01, replaces, replaces
User-Agent: sipX/3.6.0 sipX/vxml (Linux)
Content-Length: 200

+++++++++++++++++++++
ACK sip:192.168.10.102:5100 SIP/2.0
Via: SIP/2.0/ ;branch=z9hG4bK-d87543-1974382aca77376a-1--d87543-;rport
Max-Forwards: 70
Route: <sip:192.168.10.102:5080;lr>
Route: <sip:63.116.xxx.xxx:9000;lr>
Contact: <sip:[EMAIL PROTECTED]:12000;addTransport>
To: ""100""<sip:[EMAIL PROTECTED]>;tag=1814262005
From: ""Joegen""<sip:[EMAIL PROTECTED]>;tag=b5116967
Call-ID: Njc2ODg3M2U1YzQ4MTU3NzdjMDI4ODgzYmEzM2RmZTg.
CSeq: 1 ACK
User-Agent: X-Lite release 1006e stamp 34025
Content-Length: 0
+++++++++++++++++++++


The problem that arises here is that the ACK gets sent to 
192.168.10.102:5100 by-passing the SIP proxy (63.116.xxx.xxx:9000) that 
is suppose to bridge the signaling between the public and private 
network.  Rechecking RFC 3261 I found the following:

       The client transaction
       MUST pass the received response up to the TU, and the client
       transaction MUST generate an ACK request, even if the transport is
       reliable (guidelines for constructing the ACK from the response are
       given in Section 17.1.1.3) and then pass the ACK to the transport
       layer for transmission.  The ACK MUST be sent to the same address,
       port, and transport to which the original request was sent.

I've also noticed that the UA did not rearrange the Route set in reverse 
order.  So two questions, should ACK be really sent to the contact 
address instead of 1)  Send it to the to the same address,
   port, and transport to which the original request was sent? and 2)   
Completely ignore record routes for ACK?

Joegen
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to