Hi I'm having a problem registering my latest UA (Nokia E65) to my own proxy (Linksys SPA9000). The proxy sends a 200 OK and lists the binding in its status page, and routes calls, but the UA never accepts the 200 OK and keeps on sending REGISTER messages. I looked through the message exchange, and at first found nothing out of the ordinary. Upon further inspection, I then came across a discrepancy in the Contact field of the REGISTER message and the reply.
Here's the field from the REGISTER Contact: <sip:[EMAIL PROTECTED];transport=UDP>;expires=3600 And the reply Contact: sip:[EMAIL PROTECTED]:5060;expires=360 Then I went into the RFC to see if I could figure out whether this is allowable or not. What initially struck me is the lack of the <> brackets in the response, but reading through 20.10 makes me thing this is permissible in this case as there's no display name, and the addr-spec contains no comma, question mark or semicolon. However, section 19.1.4 mentions that an URI without the port does not match a URI that includes the port, even if that port is the default 5060 for UDP. Now according to 10.4, when creating a new binding, the UA should go through the URIs in the register reply, and apply the URI matching rule from 19.1.4 and once it has located the binding it wanted to create, update the registration timer with the expiration time for the binding in question. Since sip:[EMAIL PROTECTED]:5060 does not match <sip:[EMAIL PROTECTED];transport=UDP> (the transport is ignored, and I think the missing <> do not matter, but the port is the problem), the UA doesn't find the binding it is looking for, thus assumes the creation of the binding has failed, and continues to send register messages. I'm wondering whether anyone could confirm that my reasoning is correct or point out any flaws. For your reference, I'm also pasting the entire REGISTER and reply messages in the hope that if there's something I'm missing, somebody more experienced then me could figure it out. REGISTER sip:192.168.1.4:6060;transport=UDP SIP/2.0 Route: <sip:192.168.1.4:6060;lr;transport=UDP> Via: SIP/2.0/UDP 192.168.1.124:5060;branch=z9hG4bKu43hooi1d9hc6ca74fs0t0b;rport From: <sip:[EMAIL PROTECTED]>;tag=nvohoonl3hhc7hul4fs0 To: <sip:[EMAIL PROTECTED]> Contact: <sip:[EMAIL PROTECTED];transport=UDP>;expires=3600 CSeq: 875 REGISTER Call-ID: nqUsoFTNoIffFOfU3L2NZS9vlyUUzW Supported: sec-agree User-Agent: Nokia RM-208 1.0633.18.01 Max-Forwards: 70 Content-Length: 0 SIP/2.0 200 OK To: <sip:[EMAIL PROTECTED]>;tag=60b7acd9-0 From: <sip:[EMAIL PROTECTED]>;tag=nvohoonl3hhc7hul4fs0 Call-ID: nqUsoFTNoIffFOfU3L2NZS9vlyUUzW CSeq: 875 REGISTER Via: SIP/2.0/UDP 192.168.1.124:5060;branch=z9hG4bKu43hooi1d9hc6ca74fs0t0b Contact: sip:[EMAIL PROTECTED]:5060;expires=360 Server: Linksys/SPA9000-5.1.7 Allow-Events: talk, hold, conference Content-Length: 0 Date: Mon, 13 Apr 2007 22:56:36 PST Before I forget, the Date field in the reply also violates 20.17 - only GMT is allowed Regards Stephan _______________________________________________ Sip-implementors mailing list [email protected] https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
