Thanks a lot, now I understand.

regards
klaus

Paul Kyzivat wrote:
> inline
> 
> Klaus Darilion wrote:
>> Hi all!
>>
>> RFC 3261 explicitly allows the having multiple contacts in a single 
>> header.
>>
>>  > 7.3: ... Specifically, any SIP header whose grammar is of the form
>>  >
>>  >   header  =  "header-name" HCOLON header-value *(COMMA header-value)
>>  >
>>  > allows for combining header fields of the same name into a comma-
>>  > separated list.  The Contact header field allows a comma-separated
>>  > list unless the header field value is "*".
>>
>> Further RFC 3261 specifies that single and multiple header files have 
>> the same semantic:
>>
>> 7.3.1 ...
>>  >  Multiple header field rows with the same field-name MAY be present in
>>  >  a message if and only if the entire field-value for that header field
>>  >  is defined as a comma-separated list (that is, if follows the grammar
>>  >  defined in Section 7.3).  It MUST be possible to combine the multiple
>>  >  header field rows into one "field-name: field-value" pair, without
>>  >  changing the semantics of the message, by appending each subsequent
>>  >  field-value to the first, each separated by a comma.
>>
>> Ok, thus:
>> Contact: <sip:1.1.1.1>
>> Contact: <sip:2.2.2.2>
>>
>> can be written as:
>> Contact: <sip:1.1.1.1>, <sip:2.2.2.2>
>>
>> But what about:
>> Contact: <sip:1.1.1.1>;expires=111
>> Contact: <sip:2.2.2.2>;expires=222
>>
>> This can not be written in a single header without changing semantic.
> 
> Sure it can:
> 
> Contact: <sip:1.1.1.1>;expires=111,<sip:2.2.2.2>;expires=222
> 
>> Further is this allowed?
>> Contact: <sip:1.1.1.1>, <sip:2.2.2.2>;expires=111
>> Contact: <sip:3.3.3.3>, <sip:4.4.4.4>;expires=222
> 
> Yes.
> 
>> What about:
>> Contact: <sip:1.1.1.1>
>> Contact: <sip:2.2.2.2>;expires=222
> 
> Yes.
> 
>> This can be rewritten as
>> Contact: <sip:1.1.1.1>, <sip:2.2.2.2>;expires=222
>>
>> Does this imply that a missing expires header means that the expires 
>> is equivalent to the expires of the next Contact header with expires 
>> parameter?
> 
> no.
> 
>> How should we deal with such scenarios?
> 
> A header field parameter ( ;... ) binds to the header field it is within.
> 
> Note that while Contact may (according to the ABNF) appear multiple 
> times in a message, that is only permitted in *certain* messages.
> 
> For instance it can be repeated in REGISTER and 3xx, but not in INVITE, 
> or responses to INVITE other than 3xx.
> 
> The significance of the expires depends on where the Contact appears. 
> Off the top of my head I think it only applies to REGISTER and its 
> response.
> 
>     Thanks,
>     Paul

_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to