Mediatrix 1124 5.0.24.172 MWI Woes

The mediatrix mwi subscription has never seemed to work quite right. Below is a list of the caveats I've noticed.

Caveat 1:
Summary: If the subscription timer (.1.3.6.1.4.1.4935.15.100.1.20 mwiExpirationTime) seems to be anything other than 180 seconds (the minimum) it does not seem to send the re-subscribe before the session expires like it should.
Explanation: When the subscription timer is set to 180, the mediatrix consistently re-subscribes every 120 seconds. When the subscription timer is set to 300 or 600, the mediatrix does not send the re-subscribe message. It instead waits for the subscription to expire producing the syslog message
SipEngine [0204] L2 subscription terminated, server shutting down, will retry subscription in 2 minutes.
All subsequent NOTIFY messages from the switch receive a 487 REQUEST TERMINATED until the mediatrix re-subscribes. It seems that it re-subscribes the next time it registers, or two mins after its subscription expired (which ever comes first)

Caveat 2:
Summary: The mediatrix breaks its subscription if it receives a NOTIFY for a line shortly after the line has been hung up.
Explanation. If the mediatrix receives a NOTIFY for a line just after that line has been hung up, it returns a 400 INVALID MESSAGE-SUMMARY. This causes the switch to drop the subscription and the end user to not get any notifications until later when the mediatrix tries to re-subscribe when it thinks the session expires. At this point the mediatrix tries to re-subscribe but since the switch has already dropped the subscription, it returns a 481 Call/Transaction Does Not Exist. The mediatrix sends a new subscribe a few mins later and succeeds. I suspect this problem has something to do with the state the mediatrix is in just after line is hung up, and the mediatrix just handles it poorly.

Here is summary of the tests I performed


mediatrix is registering with sip server in router every 2 mins for rate pacing purposes, but router only allowing registers to central office every 1800 seconds


Subscription Timer Set for 180 seconds (3 mins) and empty vm box
0  seconds - mediatrix sends SUBSCRIBE receives OK, immediately gets NOTIFY returns OK
2 mins - 120 seconds -mediatrix sends SUBSCRIBE receives OK, immediately gets NOTIFY returns OK
4 mins - 240 seconds - mediatrix sends SUBSCRIBE receives OK, immediately gets NOTIFY returns OK
Continue.



Subscription Timer Set for 300 seconds (5 mins) and empty vm box
0  seconds - mediatrix sends SUBSCRIBE receives OK, immediately gets NOTIFY returns OK
3 mins -180 seconds - gets unsolicited notify from NMS and mediatrix responds with OK
5 mins - 300 seconds - gets unsoliticted notify from NMS and mediatrix responds with 487 Request Terminated
6 mins - 360 seconds - mediatrix sends REGISTER to router (which doesn't make it to nms) and sends SUBSCRIBE (which does make it to nms). Nms responds with NOTIFY and the mediatrix OKs it.
Repeat.

Subscription timer set for 600 seconds (10 mins) and empty vm box
0  seconds - mediatrix sends SUBSCRIBE receives OK, immediately gets NOTIFY returns OK
3 mins - 180 seconds - gets unsolicited NOTIFY from NMS and mediatrix responds with OK
6 mins - 360 seconds - gets unsolicited NOTIFY from NMS and mediatrix responds with OK
9 mins - 540 seconds - gets unsolicited NOTIFY from NMS and mediatrix responds with OK
10 mins - 600 seconds - gets unsoliticted NOTIFY from NMS and mediatrix responds with 487 Request Terminated
12 mins - 720 seconds - mediatrix sends REGITSTER to router (which doesn't make it to nms b/c of rate pacing) and sends SUBSCRIBE (which does make it to nms). Nms responds with NOTIFY and the mediatrix OKs it.
Repeat.