[OpenSER-Devel] [Fwd: Re: pua module - unsubscribe]
Reinhold Buchinger
reinhold.buchinger at gmail.com
Wed Nov 14 10:26:08 UTC 2007
Hi,
Thanks for the changes. Only the second if is not working correctly at
the moment:
if((hentity->desired_expires- (int)time(NULL))<= 0)
because hentity->desired_expires is of type unsigned int.
If you add a cast to int it should work, I guess...
Regards,
Reinhold
Anca Vamanu schrieb:
> -------- Original Message --------
> Subject: Re: [OpenSER-Devel] pua module - unsubscribe
> Date: Tue, 13 Nov 2007 11:57:03 +0200
> From: Anca Vamanu <anca at voice-system.ro>
> To: Reinhold Buchinger <reinhold.buchinger at gmail.com>
> References: <473420DF.8020809 at gmail.com>
> <47342410.4080307 at voice-system.ro> <47348B90.8070700 at gmail.com>
> <47381EEA.6090702 at voice-system.ro> <4738CC58.6040105 at gmail.com>
>
>
>
> Hello,
>
> The succession on checks was wrong. Please test with the latest revision.
>
> Thanks and regards,
> Anca
>
> Reinhold Buchinger wrote:
>
>> Hi,
>>
>> Unfortunately, there is also an unwanted side-effect. If a
>> subscription is renewed expires is set to -1 for the call-back
>> parameter (infinite subscribes). In case of an error this also
>> triggers a new subscription with expires = 0....
>>
>> regards,
>> Reinhold
>>
>> Anca Vamanu schrieb:
>>
>>> Hello,
>>>
>>> It is not about retransmission there, but about the cases in which a
>>> request is sent inside a dialog stored by pua but which is not
>>> recognized by the client (the case of a client signing off and no
>>> Subscribe with expires= 0 sent to pua to announce it that the dialog
>>> has ended). The logics are like this: if someone asked me to send a
>>> request (for publish it's the same) and I matched it with a stored
>>> dialog and it failed, try again with an initial request. This is to
>>> ensure a a certain reliability.
>>> Therefore, in that case that you mentioned, when a second attempt is
>>> made, it is no longer about an unsubscribe. The request sent will be
>>> an fetching Subscribe(one with expires= 0)- I have made the changes
>>> to make this case possible. However,even if an unsubscribe was
>>> desired, the effects are the same, the dialog is already no longer
>>> valid, the pua record is deleted, and a Notify is sent.
>>>
>>> regards,
>>> Anca Vamanu
>>>
>>> Reinhold Buchinger wrote:
>>>
>>>> Hi,
>>>>
>>>> Thanks for your answer. But there is still a problem with
>>>> subs_cback_func(...) if a retransmission is triggered. This message
>>>> cannot be send with expires=0.
>>>>
>>>> subs.expires= (hentity->desired_expires>0)?
>>>> hentity->desired_expires- (int)time(NULL)+ 10:-1;
>>>>
>>>> Regards,
>>>> Reinhold
>>>>
>>>>
>>>> Anca Vamanu schrieb:
>>>>
>>>>> Hello,
>>>>>
>>>>> The expires= 0 case is covered in subs_build_hdr(...) :
>>>>>
>>>>> if( expires<= min_expires)
>>>>> subs_expires= int2str(min_expires, &len); else
>>>>> subs_expires= int2str(expires+ 10, &len);
>>>>>
>>>>> if the module parameter min_expires maintains its default value,
>>>>> which is 0.
>>>>> I will test to see if indeed it is not possible now to unsubscribe.
>>>>>
>>>>> regards,
>>>>> Anca Vamanu
>>>>>
>>>>> Reinhold Buchinger wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> Using the pua module, I cannot send a subscription with expires=0.
>>>>>> If you look at subs_build_hdr(...) in send_subscribe.c this case
>>>>>> is not covered.
>>>>>>
>>>>>> Regards,
>>>>>> Reinhold
>>>>>>
>>>>>> _______________________________________________
>>>>>> Devel mailing list
>>>>>> Devel at lists.openser.org
>>>>>> http://lists.openser.org/cgi-bin/mailman/listinfo/devel
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
>
>
> _______________________________________________
> Devel mailing list
> Devel at lists.openser.org
> http://lists.openser.org/cgi-bin/mailman/listinfo/devel
>
>
More information about the Devel
mailing list