All,
I upgraded to Kamailio 1.5 and had a lot of problems getting BLF and MWI working. So I will list here some of my notes in case some body else ever has the same issue.
Firstly, in my tests I am using a GXP2000, GXP2020 and a SPA962. I also tested with a SNOM360.
my issue was the MWI seemed to fail after an hour, and I could not find why. So in searching my config, I found that when the phones were resubscribing to MWI and BLF, it was being caught in this condition :
if (has_totag()) { if (loose_route()) { if (is_method("BYE")) { setflag(1); # do accouting ... setflag(3); # ... even if the transaction fails } route(4); } else { sl_send_reply("404","Not here"); exit; } }
My subscribe code handling was after this block, I noticed the issue from the 404 the grandstream was getting when trying to subscribe. I therefore added handling for the subscribe packets in this section, and my MWI and BLF seems to be working.
else if ( is_method("PUBLISH") || is_method("SUBSCRIBE") ) { route(5); exit ; }
Where route(5) does the appropriate handling of these two types of SIP packets.
It should be noted, when I speak of MWI I am referring to presence message-summary which is sent via a publish by my media application. When I write BLF, I am referring to Presence Dialog.
So when my phones were resubscribing, they are being sent a 404.
I tested the Grandstream and the Linksys, and both seem to have the problem resolved. I will test this with the Snom tomorrow and post my results.
David