[Osip] Subtle bug in eXosip

Klaus Darilion klaus.mailinglists at pernau.at
Wed Feb 13 15:14:20 CET 2008


Nevertheless the Server should handle 200 ok after NOTIFY too - as one 
packet may overtake the other (in this case the NOTIFY could be seen as 
an implicit 200 OK)

klaus

Vadim Lebedev schrieb:
> Aymeric Moizard wrote:
>>
>>
>>>> sending *NOTIFY* before *200ok of SUBSCRIBE* compliant. the *NOTIFY* 
>>>> will establish/confirm the dialog on the remote application. I see 
>>>> no problem here.
>>>>
>>> Well,
>>>
>>> The RFC sais that 200 should be sent BEFORE NOTIFY...
>>> Notify is sent INSIDE the SUBSCRIBE dialog
>>
>> Can you specify where you found that in the rfc? I was not
>> able to find it such statement.
> RFC 3265:
> 
> *3.1.6.2. Confirmation of Subscription Creation/Refreshing*
> 
>   Upon successfully accepting or refreshing a subscription, notifiers
>   *MUST* send a NOTIFY message immediately to communicate the current
>   resource state to the subscriber.  This NOTIFY message is sent on the
>   same dialog as created by the SUBSCRIBE response.  If the resource
>   has no meaningful state at the time that the SUBSCRIBE message is
>   processed, this NOTIFY message *MAY* contain an empty or neutral body.
>   See section 3.2.2. for further details on NOTIFY message generation.
> 
>   Note that a NOTIFY message is always sent immediately after any 200-
>   class response to a SUBSCRIBE request, regardless of whether the
>   subscription has already been authorized.
> 
> 
>  From RFC 3856:
> 
> The SUBSCRIBE message establishes a "dialog" with the presence agent.
>   A dialog is defined in RFC 3261 
> <http://www.rfc-archive.org/getrfc.php?rfc=3261> [1], and it represents 
> the SIP state
>   between a pair of entities to facilitate peer-to-peer message
>   exchanges.  This state includes the sequence numbers for messages in
>   both directions (SUBSCRIBE from the subscriber, NOTIFY from the
>   presence agent), in addition to a route set and remote target URI.
>   The route set is a list of SIP (or SIPS) URIs which identify SIP
>   proxy servers that are to be visited along the path of SUBSCRIBE
>   refreshes or NOTIFY requests.  The remote target URI is the SIP or
>   SIPS URI that identifies the target of the message - the subscriber,
>   in the case of NOTIFY, or the presence agent, in the case of a
>   SUBSCRIBE refresh.
> 
> Then in the same RFC in section8 in the examples you see that relevant 
> call id's and to/from tags specify the same dialog
> 
> 
> 
> 
>>
>>> And i'm working right know against a server which enforces this rule 
>>> in rather strict way --- It simply *dies* if it see NOTIFY
>>> before 200    :)
>>
>> Too bad!
>>
>> Aymeric MOIZARD / ANTISIP
>> amsip - http://www.antisip.com
>> osip2 - http://www.osip.org
>> eXosip2 - http://savannah.nongnu.org/projects/exosip/
>>
>>
> 
> _______________________________________________
> Osip mailing list
> Osip at atosc.org
> http://www.atosc.org/mailinglist/listinfo/osip
> 



More information about the Osip mailing list