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

Reply via email to