Here is my config part for handling SUBSCRIBEs:
t_newtran(); xlog("L_ERROR","I am after t_newtran"); handle_subscribe(); t_release();
And for the previously mentioned scenario I see in my log: /usr/sbin/kamailio[13463]: I am after t_newtran /usr/sbin/kamailio[13463]: I am after t_newtran /usr/sbin/kamailio[13463]: ERROR:presence:get_stored_info: wrong sequence number;received: 2 - stored: 2
2009/10/9 Klaus Darilion klaus.mailinglists@pernau.at:
Try xlog() after t_newtran. In case of the retransmission, you should not see the xlog as it should be absorbed silently by t_newtran.
regards klaus
catalina oancea schrieb:
Hi
Thanks for answering. I tried with t_newtran. It still doesn't work. The error is:
ERROR:presence:get_stored_info: wrong sequence number;received: 2 - stored: 2
Thanks Catalina
2009/10/9 Klaus Darilion klaus.mailinglists@pernau.at:
catalina oancea schrieb:
Hello,
If a phone re-sends a presence SUBSCRIBE requests even after 5 or 500 milliseconds, kamailio replied with '400 Bad request' to the second SUBSCRIBE
The scenario is:
Phone Kamailio SUBSCRIBE ----------> 401 <---------- SUBSCRIBE ----------> 202 <---------- Pause [ 5ms] (or 500 ms, the same thing happens) SUBSCRIBE ----------> (previous SUBSCRIBE retransmitted) 400 Bad request <----------
Is this the expected behavior? Is there any way to get kamailio to recognize the retransmission? This causes problems with Snom phones because they receive 400 reply when they retransmit the SUBSCRIBE, and presence stops working.
First, it would be a good idea to handle the SUBSCRIBE stateful, I think his can be done by calling t_newtran() before, and t_release() after handle_subscribe().
regards klaus