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