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:00Date Closed:2012-08-15 15:21:06
Versions: Frequency of
Environment:Asterisk 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.