Re: Re: [nist-sip-dev] what to do when NOTIFY arrives before OK on SUBSCRIBE ?

"Jeroen van Bemmel" <[email protected]>
Newsgroups gmane.comp.voip.nist-sip
Message-ID <000b01c6612e$24d226e0$31713b51@BEMBUSTER>
Ranga,

There is a problem here: How will the application match the NOTIFY with a 
subscription it initiated? And who (application or stack) is supposed to 
send "481 call/transaction does not exist" when the NOTIFY does not match an 
existing subscription?

My approach is to maintain dialogs using { from-tag + call-id } as key. 
Then, when a NOTIFY comes in, this is used to lookup the corresponding 
SUBSCRIBE-initiated dialog, and 481 is sent when it does not exist.

The above setup is also needed to support forking: when multiple NOTIFYs 
with different from-tags arrive, N dialogs should be created. If you only 
create the dialog upon SUBSCRIBE 200 OK, it won't work (since other 2xx 
responses may get filtered by proxies)

Regards,

Jeroen

----- Original Message ----- 
From: "M. Rangnathan" <[email protected]>
To: "Bayart, Frederik" <[email protected]>
Cc: <[email protected]>; "sip mailing" <[email protected]>
Sent: Sunday, April 16, 2006 5:28 AM
Subject: [nist-sip] Re: [nist-sip-dev] what to do when NOTIFY arrives before 
OK on SUBSCRIBE ?


> Hi Frederik,
>
> This case is working. I modified the examples/subsnotify to send notify 
> first. My original answer was wrong. Yes the getServerTransaction should 
> indeed return a null pointer, This is because the dialog has not yet been 
> established by the Subscribe (it gets established on an OK). You can 
> create one using sipProvider.getNewServerTransaction().
>
> I have committed the new example to the nist cvs repository.
>
> Ranga
> Bayart, Frederik wrote:
>
>>Hallo Ranga,
>>
>>Did you had time to look at this problem ?
>>
>>Best regards,
>>
>>Frederik
>>
>>-----Original Message-----
>>From: M. Ranganathan [mailto:[email protected]]
>>Sent: Monday, March 20, 2006 8:06 PM
>>To: Bayart, Frederik
>>Cc: [email protected]
>>Subject: Re: [nist-sip-dev] what to do when NOTIFY arrives before OK on
>>SUBSCRIBE ?
>>
>>
>>Hi Frederik,
>>
>>It should not return a null pointer. I will check and fix the bug if it 
>>exists.
>>
>>Ranga
>>
>> If you can Bayart, Frederik wrote:
>>
>>
>>>Hallo,
>>>
>>>Can someone tell me how to proceed in the next case :
>>>
>>>|  SUBSCRIBE       |
>>>| ---------------> |
>>>|                  |
>>>|    NOTIFY        |
>>>| <--------------- |
>>>|                  |
>>>|    OK SUBSCRIBE  |
>>>| <--------------- |
>>>
>>>
>>>If the NOTIFY arrives before the OK on the SUBSCRIBE, the call to 
>>>event.getServerTransaction( ) in the function processRequest( 
>>>RequestEvent event ) returns a null pointer. According to me, this is 
>>>because the OK on the subscribe is not arrived yet. So I can't reply on 
>>>the NOTIFY (with the function 
>>>event.getServerTransaction( ).sendResponse). What is the way to detect 
>>>this case and to proceed ?
>>>
>>>Regards,
>>>
>>>Frederik
>>>
>>>
>>>_______________________________________________
>>>nist-sip-dev mailing list
>>>[email protected]
>>>http://fs4.antd.nist.gov/mailman/listinfo/nist-sip-dev
>>>
>>>
>>>
>>
>>
>>
>
>
> -- 
> M. Ranganathan
> Advanced Networking Technologies Division,
> National Institute of Standards and Technology (NIST),
> 100 Bureau Drive, Stop 8920, Gaithersburg, MD 20899. tel:301 975 3664 , 
> fax:301 590 0932 http://w3.antd.nist.gov/
> Advanced Networking Technologies For the People!
>
>
> _______________________________________________
> nist-sip mailing list
> [email protected]
> http://www-x.antd.nist.gov/mailman/listinfo/nist-sip
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.