RE: [reSIProcate] crash during handling of SUBSCRIBE response
hi Jason Fischl,
Thanks for response.
Yes, I receive a 200 ok to a SUBSCRIBE without a contact. I can also see
this case in Example of RFC 3824. I have mention one Example of RFC 3824.
A1: Subscriber (Alice's phone) ->
Notifier (Alice's voicemail gateway)
Subscribe to Alice's message summary status for 1 day.
SUBSCRIBE sip:alice@xxxxxxxxxxxxxxxxx SIP/2.0
To: <sip:alice@xxxxxxxxxxx>
From: <sip:alice@xxxxxxxxxxx>;tag=78923
Date: Mon, 10 Jul 2000 03:55:06 GMT
Call-Id: 1349882@xxxxxxxxxxxxxxxxxxxxxxx
CSeq: 4 SUBSCRIBE
Contact: <sip:alice@xxxxxxxxxxxxxxxxxxxxxxx>
Event: message-summary
Expires: 86400
Accept: application/simple-message-summary
Content-Length: 0
A2: Notifier -> Subscriber
SIP/2.0 200 OK
To: <sip:alice@xxxxxxxxxxx>;tag=4442
From: <sip:alice@xxxxxxxxxxx>;tag=78923
Date: Mon, 10 Jul 2000 03:55:07 GMT
Call-Id: 1349882@xxxxxxxxxxxxxxxxxxxxxxx
CSeq: 4 SUBSCRIBE
Expires: 86400
Content-Length: 0
Thanks & regards
Parag Patel
-----Original Message-----
From: jason.fischl@xxxxxxxxx [mailto:jason.fischl@xxxxxxxxx]On Behalf Of
Jason Fischl
Sent: Friday, November 11, 2005 11:19 PM
To: Patel Parag
Cc: resiprocate-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [reSIProcate] crash during handling of SUBSCRIBE response
You are receiving a 200 to a SUBSCRIBE without a Contact? What
endpoint is sending you this? What do people think we should do in
this case? I'm not sure what is the right thing to do here. Certainly,
we should catch the exception and not leak any state. If there is no
Contact, how can we refresh the subscription? I guess we could do
something if the expires=0 on the subscription.
Jason
On 11/11/05, Patel Parag <papatel@xxxxxxxxxx> wrote:
> hi ,
>
> I am facing one problem during handling of 200 ok response
of SUBSCRIBE
> Request. I try to explain flow of response handling for SUBSCRIBE.
>
> 1)DialogUsageManager::processResponce()
> 2)DialogSet::dispatch()
> there is Dialog not found so, DUM create new Dialog for
Subscription
>
> if (dialog == 0)
> {
> dialog = new Dialog(mDum, msg, *this);
> }
>
> but, problem is, response doesn't contain contact field so
throw
> exception.
>
> if (response.exists(h_Contacts) &&
response.header(h_Contacts).size() ==
> 1)
> {
> }
> else
> {
> // control will come here ... and throw exception.
> }
> please any buddy give me right direction...
>
> regards,
> parag Patel
>
> _______________________________________________
> resiprocate-devel mailing list
> resiprocate-devel@xxxxxxxxxxxxxxxxxxx
> https://list.sipfoundry.org/mailman/listinfo/resiprocate-devel
>