[Freeswitch-dev] bad REGISTER processing

Michael Jerris mike at jerris.com
Mon Apr 7 10:43:40 EDT 2008


Please re-test this with current trunk.  A patch just went in to  
address this issue.

Mike

On Apr 6, 2008, at 4:48 AM, kokoska rokoska wrote:

>
> Hi all,
>
> I just start to play with Freeswitch and first thing I discover is bad
> REGISTER processing in mod_sofia :-(
>
> The problem is, that Sofia modifies Contact header (append port 5060
> which is not in original REGISTER request) in 200 OK reply and thus  
> a ot
> of clients refuses it (for example SJPhone, Nokia E series etc.).
> Full debug is included at the end of my e-mail.
>
>
> In this manner Freeswitch behaviour IMO violates rfc3261:
>
> 19.1.4 URI Comparison
> ...
>
> A URI omitting any component with a default value will not
> match a URI explicitly containing that component with its
> default value.  For instance, a URI omitting the optional port
> component will not match a URI explicitly declaring port 5060.
> The same is true for the transport-parameter, ttl-parameter,
> user-parameter, and method components.
>
> Defining sip:user at host to not be equivalent to
> sip:user at host:5060 is a change from RFC 2543.  When deriving
> addresses from URIs, equivalent addresses are expected from
> equivalent URIs.  The URI sip:user at host:5060 will always
> resolve to port 5060.  The URI sip:user at host may resolve to
> other ports through the DNS SRV mechanisms detailed in [4].
> ...
>
>
> Could you please tell me how to configure mod_sofia to properly handle
> REGISTER request?
>
> Thanx a lot, regards
>
> kokoska.rokoska
>
>
> ----------------------------
> SIP debug made with SJPhone:
>
> 2008-04-06 08:26:36.093 UDP LOCAL->192.168.1.128:5065
> REGISTER sip:192.168.1.128:5065 SIP/2.0
> Via: SIP/2.0/UDP
> 192.168.1.101 
> ;branch=z9hG4bKc0a801650000001e47f8893c000053f900000006;rport
> From: "unknown" <sip:1000 at 192.168.1.128:5065>;tag=42f1ed397
> To: <sip:1000 at 192.168.1.128:5065>
> Contact: <sip:1000 at 192.168.1.101>
> Call-ID: 02C388469A134FC18B97E294E4BD845C0xc0a80165
> CSeq: 3 REGISTER
> Max-Forwards: 70
> User-Agent: SJphone/1.65.377a (SJ Labs)
> Content-Length: 0
>
>
> 2008-04-06 08:26:36.109 UDP 192.168.1.128:5065->LOCAL
> SIP/2.0 401 Unauthorized
> Via: SIP/2.0/UDP
> 192.168.1.101 
> ;branch=z9hG4bKc0a801650000001e47f8893c000053f900000006;rport=5060
> From: "unknown" <sip:1000 at 192.168.1.128:5065>;tag=42f1ed397
> To: <sip:1000 at 192.168.1.128:5065>;tag=vHv1X7K9yemUe
> Call-ID: 02C388469A134FC18B97E294E4BD845C0xc0a80165
> CSeq: 3 REGISTER
> User-Agent: FreeSWITCH-mod_sofia/1.0.pre4-8038
> Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, SUBSCRIBE,
> NOTIFY, REFER, UPDATE, REGISTER, INFO, PUBLISH
> Supported: 100rel, precondition, timer
> WWW-Authenticate: Digest realm="192.168.1.128",
> nonce="3a4ee704-f9a9-4789-9853-e8e8d6b562e9", algorithm=MD5,  
> qop="auth"
> Content-Length: 0
>
>
> 2008-04-06 08:26:36.109 UDP LOCAL->192.168.1.128:5065
> REGISTER sip:192.168.1.128:5065 SIP/2.0
> Via: SIP/2.0/UDP
> 192.168.1.101 
> ;branch=z9hG4bKc0a801650000001f47f8893c00007cb100000008;rport
> From: "unknown" <sip:1000 at 192.168.1.128:5065>;tag=42f1ed397
> To: <sip:1000 at 192.168.1.128:5065>
> Contact: <sip:1000 at 192.168.1.101>
> Call-ID: 02C388469A134FC18B97E294E4BD845C0xc0a80165
> CSeq: 4 REGISTER
> Max-Forwards: 70
> User-Agent: SJphone/1.65.377a (SJ Labs)
> Content-Length: 0
> Authorization: Digest
> username="1000",realm="192.168.1.128",nonce="3a4ee704-f9a9-4789-9853- 
> e8e8d6b562e9",uri="sip: 
> 192.168.1.128 
> : 
> 5065 
> ",response 
> = 
> "cd1a36378bdb3efaabcfa263a6b9f24c 
> ",algorithm=MD5,cnonce="5536ed3a7",qop=auth,nc=00000001
>
>
> 2008-04-06 08:26:36.109 UDP 192.168.1.128:5065->LOCAL
> SIP/2.0 200 OK
> Via: SIP/2.0/UDP
> 192.168.1.101 
> ;branch=z9hG4bKc0a801650000001f47f8893c00007cb100000008;rport=5060
> From: "unknown" <sip:1000 at 192.168.1.128:5065>;tag=42f1ed397
> To: <sip:1000 at 192.168.1.128:5065>;tag=XtNtZ24cvQaea
> Call-ID: 02C388469A134FC18B97E294E4BD845C0xc0a80165
> CSeq: 4 REGISTER
> Contact: "user" <sip:1000 at 192.168.1.101:5060>;expires=60
> User-Agent: FreeSWITCH-mod_sofia/1.0.pre4-8038
> Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, SUBSCRIBE,
> NOTIFY, REFER, UPDATE, REGISTER, INFO, PUBLISH
> Supported: 100rel, precondition, timer
> Content-Length: 0
>
>
> 10:26:36 SIP.Registration WARNING   Registrar did not registered  
> none of
> our contacts!
> 10:26:36 SIP.Registration NOTICE    Foreign contacts returned by the
> server: sip:1000 at 192.168.1.101:5060
> 10:26:36 SIP.Registration INFO      Not registered
> sip:1000 at 192.168.1.128:5065
> 10:26:36 SIP.RegistrationClient INFO      Registration reattempt
> scheduled after 60 seconds
> 10:26:36 SIP.Network DEBUG
> 2008-04-06 08:26:36.234 UDP 192.168.1.128:5065->LOCAL
> NOTIFY sip:1000 at 192.168.1.101:5060 SIP/2.0
> Via: SIP/2.0/UDP 192.168.1.128:5065;rport;branch=z9hG4bKc5ZBa6F96yHee
> Max-Forwards: 70
> From: <sip:1000 at 192.168.1.128>;tag=y3eK1XNgS000N
> To: <sip:1000 at 192.168.1.128>
> Call-ID: feef82f8-7e55-122b-fb8d-000854d1424f
> CSeq: 97616858 NOTIFY
> Contact: <sip:mod_sofia at 192.168.1.128:5065>
> User-Agent: FreeSWITCH-mod_sofia/1.0.pre4-8038
> Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, SUBSCRIBE,
> NOTIFY, REFER, UPDATE, REGISTER, INFO, PUBLISH
> Supported: 100rel, precondition, timer
> Event: message-summary
> Subscription-State: terminated;timeout
> Content-Type: application/simple-message-summary
> Content-Length: 65
>
> Messages-Waiting: no
> Message-Account: sip:1000 at 192.168.1.128
>
>
> 10:26:36 SIP.Network DEBUG
> 2008-04-06 08:26:36.234 UDP LOCAL->192.168.1.128:5065
> SIP/2.0 200 OK
> Via: SIP/2.0/UDP
> 192.168.1.128 
> :5065;branch=z9hG4bKc5ZBa6F96yHee;rport=5065;received=192.168.1.128
> From: <sip:1000 at 192.168.1.128>;tag=y3eK1XNgS000N
> To: "unknown" <sip:1000 at 192.168.1.128>;tag=6c19ed424
> Call-ID: feef82f8-7e55-122b-fb8d-000854d1424f
> CSeq: 97616858 NOTIFY
> Content-Length: 0
> Server: SJphone/1.65.377a (SJ Labs)
>
>
> _______________________________________________
> Freeswitch-dev mailing list
> Freeswitch-dev at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> http://www.freeswitch.org




More information about the Freeswitch-dev mailing list