[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