I found this post that is similar to the problem I'm having: http://www.openser.org/pipermail/users/2008-August/000176.html
Specifically this section: >>* But RFC 3581 says that:*>>* 4. Server Behavior*>>* The server behavior >>specified here affects the transport processing*>>* defined in Section >>18.2 of SIP [1].*>>* When a server compliant to this specification (which >>can be a proxy*>>* or UAS) receives a request, it examines the topmost Via >>header field*>>* value. If this Via header field value contains an >>"rport" parameter*>>* with no value, it MUST set the value of the >>parameter to the source*>>* port of the request. This is analogous to the >>way in which a server*>>* will insert the "received" parameter into the >>topmost Via header*>>* field value. In fact, the server MUST insert a >>"received" parameter*>>* containing the source IP address that the request >>came from, even if*>>* it is identical to the value of the "sent-by" >>component. Note that*>>* this processing takes place independent of the >>transport protocol. *The problem I'm experiencing is that on a Cisco 7960 IP phone, there is a nat setting that processes the value of the received parameter in the via on a REGISTER response and notes that as valid for subsequent requests with the request URI's port DIFFERENT than that of the contact port. For example: U 2010/05/25 19:43:58.196780 24.30.9.224:16513 -> 69.61.97.113:5060 REGISTER sip:1.2.3.4 SIP/2.0. Via: SIP/2.0/UDP 192.168.0.1:5060;branch=z9hG4bK057bee3c. From: <sip:[email protected] <sip%[email protected]> >;tag=001c58f1032e006c28023bfc-599bbfde. To: <sip:[email protected] <sip%[email protected]>>. Call-ID: [email protected]. Max-Forwards: 70. Date: Tue, 25 May 2010 23:43:58 GMT. CSeq: 119 REGISTER. User-Agent: Cisco-CP7960G/8.0. Contact: <sip:[email protected]:5060 ;transport=udp>;+sip.instance="<urn:uuid:00000000-0000-0000-0000-001c58f1032e>";+u.sip! model.ccm.cisco.com="7". Content-Length: 0. Expires: 120. . U 2010/05/25 19:43:58.198578 69.61.97.113:5060 -> 24.30.9.224:16513 SIP/2.0 200 OK. Via: SIP/2.0/UDP 1.2.3.4;branch=z9hG4bK057bee3c;rport=16513. From: <sip:[email protected] <sip%[email protected]> >;tag=001c58f1032e006c28023bfc-599bbfde. To: <sip:[email protected] <sip%[email protected]> >;tag=73928404c1df6c95e5850a715820bdcb.f5a7. Call-ID: [email protected]. CSeq: 119 REGISTER. Contact: <sip:[email protected]:5060;transport=udp>;expires=45;received="sip: 1.2.3.4:16513". Server: OpenSIPS (1.6.1-notls (x86_64/linux)). Content-Length: 0. I need that received to also be appended to the Via header. Is there a correct way, or a "quick and dirty" way of doing this? The problem is on an inbound INVITE, the 200 OK contact has the port 16513 (which should be correct, because we're dealing with NAT), and so the ACK RURI is formed with this port, but the Cisco UA throws the message out because the port in the RURI isn't "correct" for it. Thanks for the help.
_______________________________________________ Users mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
