Re: [sipcore] RFC5626 and REGISTER with multiple contacts

Ivo Sedlacek <ivo.sedlacek@ericsson.com> Mon, 07 May 2012 12:06 UTC

Return-Path: <ivo.sedlacek@ericsson.com>
X-Original-To: sipcore@ietfa.amsl.com
Delivered-To: sipcore@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 50D5E21F8559 for <sipcore@ietfa.amsl.com>; Mon, 7 May 2012 05:06:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.293
X-Spam-Level:
X-Spam-Status: No, score=-5.293 tagged_above=-999 required=5 tests=[AWL=-0.244, BAYES_00=-2.599, HELO_EQ_SE=0.35, J_CHICKENPOX_37=0.6, J_CHICKENPOX_38=0.6, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lW6onF70DptN for <sipcore@ietfa.amsl.com>; Mon, 7 May 2012 05:06:30 -0700 (PDT)
Received: from mailgw1.ericsson.se (mailgw1.ericsson.se [193.180.251.45]) by ietfa.amsl.com (Postfix) with ESMTP id 9196021F84D5 for <sipcore@ietf.org>; Mon, 7 May 2012 05:06:28 -0700 (PDT)
X-AuditID: c1b4fb2d-b7b76ae0000063d8-ef-4fa7bac39ac3
Authentication-Results: mailgw1.ericsson.se x-tls.subject="/CN=esessmw0184"; auth=fail (cipher=AES128-SHA)
Received: from esessmw0184.eemea.ericsson.se (Unknown_Domain [153.88.253.125]) (using TLS with cipher AES128-SHA (AES128-SHA/128 bits)) (Client CN "esessmw0184", Issuer "esessmw0184" (not verified)) by mailgw1.ericsson.se (Symantec Mail Security) with SMTP id 75.CA.25560.3CAB7AF4; Mon, 7 May 2012 14:06:27 +0200 (CEST)
Received: from ESESSCMS0360.eemea.ericsson.se ([169.254.1.5]) by esessmw0184.eemea.ericsson.se ([10.2.3.53]) with mapi; Mon, 7 May 2012 14:06:27 +0200
From: Ivo Sedlacek <ivo.sedlacek@ericsson.com>
To: "Kevin P. Fleming" <kpfleming@digium.com>, "sipcore@ietf.org" <sipcore@ietf.org>
Date: Mon, 07 May 2012 14:06:26 +0200
Thread-Topic: [sipcore] RFC5626 and REGISTER with multiple contacts
Thread-Index: Ac0qBytb/Uktg52PRbahRPXczsMSuACOncSw
Message-ID: <3A324A65CCACC64289667DFAC0B88E12197E438967@ESESSCMS0360.eemea.ericsson.se>
References: <3A324A65CCACC64289667DFAC0B88E12197E3BB890@ESESSCMS0360.eemea.ericsson.se> <CD5674C3CD99574EBA7432465FC13C1B22726A0AA4@DC-US1MBEX4.global.avaya.com> <3A324A65CCACC64289667DFAC0B88E12197E3BBBC8@ESESSCMS0360.eemea.ericsson.se> <CALiegfmdb5PHiXk0fiveHAiM6zwUTB8Fi5gPhM-WgzYT_J2uUg@mail.gmail.com> <3A324A65CCACC64289667DFAC0B88E12197E3BBDF5@ESESSCMS0360.eemea.ericsson.se> <CALiegfk5t5p=sw0MVcrzVshYs2Z3kiw0KYmqzLRGmdcPZj3YfA@mail.gmail.com> <3A324A65CCACC64289667DFAC0B88E12197E3BBEA3@ESESSCMS0360.eemea.ericsson.se> <4FA3EFD8.2080903@digium.com>
In-Reply-To: <4FA3EFD8.2080903@digium.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: AAAAAA==
Subject: Re: [sipcore] RFC5626 and REGISTER with multiple contacts
X-BeenThere: sipcore@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: SIP Core Working Group <sipcore.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sipcore>, <mailto:sipcore-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sipcore>
List-Post: <mailto:sipcore@ietf.org>
List-Help: <mailto:sipcore-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sipcore>, <mailto:sipcore-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 07 May 2012 12:06:31 -0000

Hello,

To Kevin's statement: 
> Each Contact header you provide in a REGISTER request represents a distinct SIP UA.

To Dale's statement: 
> If you want to register several contacts, each contact *is* a distinct User Agent, regardless of the fact that they are contained within one physical device and use the same IP address.

When reading RFC3261, I was not able to find any text stating that a SIP UA can have only a single contact. Quite the opposite, RFC3261 states that UA can register several Contacts and update its own contact addresses:
--------------------------------------------------
10.2.1 Adding Bindings
...
   The REGISTER request sent to a registrar includes the contact
   address(es) to which SIP requests for the address-of-record should be
   forwarded. 
...
Typically, a UA
   only updates its own contact addresses. 
...
--------------------------------------------------

To Kevin's statement: 
> If you want your individual applications 
> (with differing 
> capabilities) to be selected by a proxy/registrar, even if they all physically reside 
> in the same endpoint, they will need different sip.instance values because they are 
> separate UAs. 

I have not found any statement that when outbound is used, each contact of a UA must be the same. Can you please point me to such text in RFC5626?

Moreover, when outbound is used, each contact is different due to reg-id even if UA is monolithic. Given Kevin's statement above, each such contact would have to have different sip.instance which defeats the purpose of the outbound.

Moreover, Inaki stated that contacts can differ even for the same sip.instance:
> First it's registered fom my home WiFi network but then I leave my home and my mobile connects via 3G to Internet. So the SIP app sends a new REGISTER indicating the same sip.instance but a different Contact SIP URI (i.e. different IP).


To Kevin's statement: 
> You are using a non-SIP term here, 'applications'.

True. It was only used to describe the use-case. All the 'applications' in the UA bind to the same SIP stack. The fact that the SIP stack assigns a unique contact for each application is an implementation issue, and does in my opinion not break any SIP specification.

To Inaki:
> Said that, IMHO it's useless that you set different SIP URI usernames in each Contact header since Contact matching in the registrar just considers the sip.instace and reg-id Contact parameters. 
> With this in mind, a REGISTER with multiple Contact headers providing the same sip.instance is useless and/or invalid.

Disagree. Several contacts enable expressing user agent capabilities which cannot be expressed in single contact. See the example in the other mail. 

Kind regards

Ivo Sedlacek 

Ericsson
GF Technology, Terminal Standardization
Sweden
Office: +46 10 711 9382
ivo.sedlacek@ericsson.com
www.ericsson.com

This communication is confidential. We only send and receive email on the basis of the term set out at www.ericsson.com/email_disclaimer


-----Original Message-----
> From: sipcore-bounces@ietf.org [mailto:sipcore-bounces@ietf.org] On Behalf Of Kevin 
> P. Fleming 
> Sent: 4. května 2012 17:04 
> To: sipcore@ietf.org 
> Subject: Re: [sipcore] RFC5626 and REGISTER with multiple contacts 
> 
> On 05/04/2012 07:54 AM, Ivo Sedlacek wrote: 
> 
> > applications have different capabilities, indicated in the associated contacts 
> using the mechanism in RFC 3840. The home proxy then uses the mechanism in RFC 3841 
> to choose the correct contact (and correct UA, if multiple UAs have registered for 
> the same AoR). 
> 
> You are using a non-SIP term here, 'applications'. Contact URIs aren't bound to an 
> AoR for applications, they are bound for SIP UAs. Each Contact header you provide 
> in a REGISTER request represents a distinct SIP UA. If you want your individual applications 
> (with differing 
> capabilities) to be selected by a proxy/registrar, even if they all physically reside 
> in the same endpoint, they will need different sip.instance values because they are 
> separate UAs. 
> 
> -- 
> Kevin P. Fleming 
> Digium, Inc. | Director of Software Technologies 
> Jabber: kfleming@digium.com | SIP: kpfleming@digium.com | Skype: kpfleming 
> 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA Check us out at www.digium.com 
> & www.asterisk.org _______________________________________________ 
> sipcore mailing list 
> sipcore@ietf.org 
> https://www.ietf.org/mailman/listinfo/sipcore 
>