|Summary:||ASTERISK-20119: Peer MWI subscriptions erroneously removed when another SIP dialog is destroyed|
|Reporter:||Misha Vodsedalek (vmisha)||Labels:|
|Date Opened:||2012-07-11 12:42:00||Date Closed:||2012-08-15 15:21:06|
|Environment:||Asterisk 126.96.36.199||Attachments:||( 0) 20119.patch|
|Description:||A peer MWI subscription gets cancelled when another SIP dialog (unrelated to the MWI subscription) gets destroyed. The MWI light on phones that rely only on subscription messages stops working (e.g., Nortel 1100 and 1200 series phones with SIP firmware).|
The problem is caused by an incorrect check if the dialog that is being destroyed is related to the MWI subscription.
The same issue exists in Asterisk 1.6 as well as Asterisk 10.
|Comments:||By: Misha Vodsedalek (vmisha) 2012-07-11 12:51:30.226-0500|
The attached patch solves the issue
By: alexr1 (alexr1) 2012-07-17 13:34:11.259-0500
This does not fix the issue for me (Asterisk 1.8.11).
I am using the Unsolicited Notify patch from ASTERISK-17362 EDIT: (linked to correct issue now)
My phone does not subscribe to MWI, but Asterisk sends notifies anyway. Everything works perfectly within 32 seconds of a REGISTER or INVITE from my phone. I can send unsolicited notifies to asterisk from my PC and it will pass it onto the phone. As soon as the 32 seconds is up, it doesn't work anymore - but the next time the phone registers, it receives the most recent unsolicited notify that was cached by the event queue/cache thing.
It seems the Event Queueing function requires a subscription (or at least an active dialog). Can it not create new dialogs for the purpose of sending an MWI instantly?
Is it possible that I could just slip in a ast_event_check_subscriber(host_event_type, AST_EVENT_IE_END) before I queue an event so that I could ALSO send an MWI directly after receiving the unsolicited notify?
By: Misha Vodsedalek (vmisha) 2012-07-17 14:05:20.643-0500
This fix corrects a problem with MWI only for phones that subscribe to MWI and process only subscription related messages (ignore unsolicited NOTIFY messages).
By: Rusty Newton (rnewton) 2012-07-17 18:20:53.916-0500
Misha, do you know whether this issue exists in trunk, and is your patch tested against trunk?
By: alexr1 (alexr1) 2012-07-17 22:50:27.033-0500
I can't seem to comment directly to this Issue anymore, do you want me to create a new issue regarding the fact that MWI events don't trigger for "made-up" subscriptions unless there's an active dialog? (where asterisk has subscribed the phone despite that it didn't solicit an MWI subscription). (EDIT: Also, I'm using realtime peers but voicemail is being handled by a completely separate system)
By: Misha Vodsedalek (vmisha) 2012-07-17 23:35:19.416-0500
Yes, the issue exists in the trunk.
No, I haven't tested it in the trunk. That said, due to the type of the bug (" == p" obviously missing in the if statement), I am sure that the fix will work in the trunk, too.
By: Matt Jordan (mjordan) 2012-07-18 08:11:00.063-0500
alexr1: the problem you're referring to may be related to this issue, but is not precisely the same thing Misha's patch is attempting to resolve. As we try very hard not to track multiple bugs on a single issue, it doesn't make sense to discuss those bugs here.
You most likely couldn't comment on this issue due to it being in "Waiting for Feedback" - in which case, only the person its assigned to can comment on the issue.
By: Kinsey Moore (kmoore) 2012-08-15 15:21:06.401-0500
The attached patch has been committed.