[Devel] Notify CSeq number not increased?

Anca-Maria Vamanu anca at voice-system.ro
Tue Mar 27 11:59:38 CEST 2007


Hello,

Thanks again for your work. I am very glad of your interest in presence
. You are very helpful with improving this module.

I have committed 2 of the changes you sent in - that with the error in
updating remote_cseq and the improve when searching for Sip-If-Match.

( the RFC says that it should be SIP , but if you have encountered
situations in which it is Sip it is probably best to allow this also).

As for the third suggested change, with not deleting stored subscribe
when timeout, RFC 3265 says:

"

If the NOTIFY request fails (as defined above) due to an error

response, and the subscription was installed using a soft-state

mechanism, the notifier MUST remove the corresponding subscription.

"

, so it applies to all error messages. On the other hand it is a just
measure even in timeout cases as there is a large number of
retransmissions that should allow an on-line client to be reached.

If you have any patches please register them to tracker, in the patches
or bugs sections ( http://sourceforge.net/tracker/?group_id=139143 ).
They will be imported to SVN from there.

Thanks again,

Anca Vamanu


sukerry wrote:

>Anca-Maria Vamanu,
>
>Thanks a lot, I have tested it again. local cseq is ok now, but remote cseq in active_watchers table is not increased all the time. I modified subscribe.c to remove this bug. 
>
>Howerver, I still find some issues in openser presence code:
>
>1).  In p_tm_callback fuction in notify.c, we should not remove subscription when get 408 (transaction time out) response,which is auto generated by openser uac module when it can not get NOTIFY response from softphone in a certain time. For that due to occasional instant network error or cpu high load, the presence client ( softphone) may not handle NOTIFY  in time, in this case, openser should maintain the subscription to improve interoperatability. Maybe a more suitable way is to add a column named "error times" to active_watchers table to record softphone response time out error, only when time-out times reach a certain number does openser remove the subscription.
>I also slightly modified notify.c to remove this "bug"
>
>2).  in publish.c, I have modified the line below to improve interoperatability:
>if(strncmp(hdr->name.s, "SIP-If-Match",12)==0 || strncmp(hdr->name.s,"Sip-If-Match",12)==0)//modified by sukerry
> that is because sometimes client message  bears "Sip-If-Match" header but not "SIP-If-Match" header.
>
>After I modified the codes mentioned above, I took a strict test and found that  my clients work well with openser presence module!!
>I have posted notify.c, subscribe.c , publish.c as ATTACHED. All the changed codes are tagged with "sukerry" words.
>
>By the way, HOW can I apply to submit code to SVN? I am very interested in developing openser with tech fans from all parts of the world!!
>
>	
>
>Best Regards
>
>sukerry
>




More information about the Devel mailing list