MWI globaly switching off

Answered Question
Jun 1st, 2010

Hi All,

I Need expert advice on MWI

We are using CUCM 6.1 and we recently migrated to Microsoft voice messaging. I would  like to know whether there is any command from CUCM that turns off the MWI for all  phones/ UDPs.

Thanks,

Thomas

I have this problem too.
0 votes
Correct Answer by William Bell about 6 years 6 months ago

I am not sure I follow.  If you are looking for how the CUCM facilitates MWI on/off in legacy and SCCP systems, then take a look at what Hailey posted.  With SIP integration, there is a service parameter for MWI On/Off CSS and I believe it is expected that a SIP Notify will carry the Message Waiting indication.

That being said, I had a different understanding of your question.  My original understanding was that you had extensions that had their light's lit and you wanted to reset the MWI status back to "off" (not lit) across all phones or a group of phones.  I assume as part of a migration process or something similar.  Now that I read Hailey's response I am not so sure what you are looking to do ;-)  Anyway, since I tested this out in my lab maybe it is of interest.

There is no command or bulk update process that targets the MWI setting itself.  However, you can reset the current MWI state using either the "run sql" command facility that is built into the CLI or via the AXL/SOAP API (i.e. using the AXL SQL Toolkit).  For example, let's say you wanted to turn off the MWI light for every line that has it lit.  You could use this command from the CLI.

admin: run sql update numplandynamic set tklampblinkrate_messagewaiting=1 where tklampblinkrate_messagewaiting=2

If you want to find out what the heck "lamp blink rate" value 1 means, you can use this command:

admin: run sql select * from typelampblinkrate

Likely, you will get this response:

enum name     moniker
==== ======== =====================
1    Lamp Off LAMP_BLINK_RATE_OFF
2    Lamp On  LAMP_BLINK_RATE_ON
3    Wink     LAMP_BLINK_RATE_WINK
4    Flash    LAMP_BLINK_RATE_FLASH
5    Blink    LAMP_BLINK_RATE_BLINK

It is a good idea to test things like this out first.  The CLI sql facility does protect you from doing something bad to the database, but this is still a non-standard approach to accomplishing what you are looking to do (or at least what I thought you were looking to do).  To test, you can select one line on one device.  Now, this is kinda ugly but I found that the CLI SQL facility wouldn't allow me to get fancy with the update query.  Anyway, an example for testing one directory number:

admin:run sql select n.pkid,n.dnorpattern, npd.pkid as npdpkid, npd.tklampblinkrate_messagewaiting from numplan as n inner join numplandynamic as npd on npd.fknumplan=n.pkid where n.dnorpattern ='9165552001'
pkid                                 dnorpattern npdpkid                              tklampblinkrate_messagewaiting
==================================== =========== ==================================== ==============================
52efb303-5ed0-4f3a-c247-16bee84f8567 9165552001  ad5bcd9f-29d9-4551-aaf4-85313be13bd8 2

So, the above gives us a bunch of crazy stuff.  What we care about is the npdpkid column value.  We will use this value to set the MWI status:

admin:run sql update numplandynamic set tklampblinkrate_messagewaiting=1 where pkid='ad5bcd9f-29d9-4551-aaf4-85313be13bd8'
Rows: 1

So, the output of this is quite unassuming but if you are sitting there looking at the phone, you will see that the light went out immediately.

I have tested this on my 7.1(3b) cluster but my schema notes say that the schema (with respect to this topic) is the same on 6.1.  I have shut down all of my 6.1 VMs while I am testing 7.1 and 8.0.  Let me know if you have issues and I can check the data dictionary in 6.1.

If you needed to do this individually as opposed to "all phone lines that have the MWI lit today" then you may want to run a query to export the data and then build a custom update file for use with the AXL SQL  Toolkit.  I discuss the toolkit and give an example on its use starting with this article:

http://www.netcraftsmen.net/resources/blogs/running-sql-queries-on-cucm-6x7x-using-axl-soap-toolkit-part-1.html

One word of warning.  DO NOT RUN THIS COMMAND:

admin: run sql update numplandynamic set  tklampblinkrate_messagewaiting=2 where tklampblinkrate_messagewaiting=1

Or anything similar to this command.  The reason is that all of the lines in the numplandynamic table would be affected.  This includes intercom extensions, translation patterns, route patterns, etc.  If you execute a command that turns MWI off if it is already on, then this shouldn't be a problem because only certain patterns should have this enabled in the first place.  But if you modify the MWI setting on an Intercom DN then that is a problem that would get really hairy if you did it to like 10, 100, 1000 numbers.

I also have to give the general disclaimer that I have tested this out in a lab scenario with a handful of phones and was able to toggle MWI on/off without issue.  But if you go this route, test and make sure you are able to support yourself.  You may also want to see if your existing VM system has a method that you can take advantage of.  Something a little more straighforward perhaps.

Now, if you find that you did not need all of this and just wanted to know how to integrate MWI then sorry to burn up your cycles.  I have had the need in the past to reset MWI to "off" globally and this was one of two methods.  I'll spare you the second one.

HTH.


Regards,

Bill

Please remember to rate helpful posts.

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 4.3 (5 ratings)
Loading.
David Hailey Tue, 06/01/2010 - 14:27

The Message Waiting Configuration window defines  directory numbers for message-waiting on and message-waiting off  indicator. A directly connected voice-messaging system uses the  specified directory number to set or to clear a message-waiting  indication for a particular Cisco Unified IP Phone. When a caller leaves a message in a mailbox, the  voice-messaging system sends a message-waiting indication to the party  that received the voice message. Similarly, when the owner of a voice  mailbox deletes all pending voice messages, the voice-messaging system  sends a messaging-waiting indication off to inform the voice-mailbox  owner that no more messages are pending.

Is this an issue you are experiencing OR are you curious on how you can do this?

Hailey

Please rate helpful posts!

Correct Answer
William Bell Tue, 06/01/2010 - 15:25

I am not sure I follow.  If you are looking for how the CUCM facilitates MWI on/off in legacy and SCCP systems, then take a look at what Hailey posted.  With SIP integration, there is a service parameter for MWI On/Off CSS and I believe it is expected that a SIP Notify will carry the Message Waiting indication.

That being said, I had a different understanding of your question.  My original understanding was that you had extensions that had their light's lit and you wanted to reset the MWI status back to "off" (not lit) across all phones or a group of phones.  I assume as part of a migration process or something similar.  Now that I read Hailey's response I am not so sure what you are looking to do ;-)  Anyway, since I tested this out in my lab maybe it is of interest.

There is no command or bulk update process that targets the MWI setting itself.  However, you can reset the current MWI state using either the "run sql" command facility that is built into the CLI or via the AXL/SOAP API (i.e. using the AXL SQL Toolkit).  For example, let's say you wanted to turn off the MWI light for every line that has it lit.  You could use this command from the CLI.

admin: run sql update numplandynamic set tklampblinkrate_messagewaiting=1 where tklampblinkrate_messagewaiting=2

If you want to find out what the heck "lamp blink rate" value 1 means, you can use this command:

admin: run sql select * from typelampblinkrate

Likely, you will get this response:

enum name     moniker
==== ======== =====================
1    Lamp Off LAMP_BLINK_RATE_OFF
2    Lamp On  LAMP_BLINK_RATE_ON
3    Wink     LAMP_BLINK_RATE_WINK
4    Flash    LAMP_BLINK_RATE_FLASH
5    Blink    LAMP_BLINK_RATE_BLINK

It is a good idea to test things like this out first.  The CLI sql facility does protect you from doing something bad to the database, but this is still a non-standard approach to accomplishing what you are looking to do (or at least what I thought you were looking to do).  To test, you can select one line on one device.  Now, this is kinda ugly but I found that the CLI SQL facility wouldn't allow me to get fancy with the update query.  Anyway, an example for testing one directory number:

admin:run sql select n.pkid,n.dnorpattern, npd.pkid as npdpkid, npd.tklampblinkrate_messagewaiting from numplan as n inner join numplandynamic as npd on npd.fknumplan=n.pkid where n.dnorpattern ='9165552001'
pkid                                 dnorpattern npdpkid                              tklampblinkrate_messagewaiting
==================================== =========== ==================================== ==============================
52efb303-5ed0-4f3a-c247-16bee84f8567 9165552001  ad5bcd9f-29d9-4551-aaf4-85313be13bd8 2

So, the above gives us a bunch of crazy stuff.  What we care about is the npdpkid column value.  We will use this value to set the MWI status:

admin:run sql update numplandynamic set tklampblinkrate_messagewaiting=1 where pkid='ad5bcd9f-29d9-4551-aaf4-85313be13bd8'
Rows: 1

So, the output of this is quite unassuming but if you are sitting there looking at the phone, you will see that the light went out immediately.

I have tested this on my 7.1(3b) cluster but my schema notes say that the schema (with respect to this topic) is the same on 6.1.  I have shut down all of my 6.1 VMs while I am testing 7.1 and 8.0.  Let me know if you have issues and I can check the data dictionary in 6.1.

If you needed to do this individually as opposed to "all phone lines that have the MWI lit today" then you may want to run a query to export the data and then build a custom update file for use with the AXL SQL  Toolkit.  I discuss the toolkit and give an example on its use starting with this article:

http://www.netcraftsmen.net/resources/blogs/running-sql-queries-on-cucm-6x7x-using-axl-soap-toolkit-part-1.html

One word of warning.  DO NOT RUN THIS COMMAND:

admin: run sql update numplandynamic set  tklampblinkrate_messagewaiting=2 where tklampblinkrate_messagewaiting=1

Or anything similar to this command.  The reason is that all of the lines in the numplandynamic table would be affected.  This includes intercom extensions, translation patterns, route patterns, etc.  If you execute a command that turns MWI off if it is already on, then this shouldn't be a problem because only certain patterns should have this enabled in the first place.  But if you modify the MWI setting on an Intercom DN then that is a problem that would get really hairy if you did it to like 10, 100, 1000 numbers.

I also have to give the general disclaimer that I have tested this out in a lab scenario with a handful of phones and was able to toggle MWI on/off without issue.  But if you go this route, test and make sure you are able to support yourself.  You may also want to see if your existing VM system has a method that you can take advantage of.  Something a little more straighforward perhaps.

Now, if you find that you did not need all of this and just wanted to know how to integrate MWI then sorry to burn up your cycles.  I have had the need in the past to reset MWI to "off" globally and this was one of two methods.  I'll spare you the second one.

HTH.


Regards,

Bill

Please remember to rate helpful posts.

thomasmphil123 Wed, 06/02/2010 - 06:05

Thanks William for the reply. I just want to know whether or not there is a posibility to turn off MWI for all the phones with a single command.

Regards,

Thomas

William Bell Wed, 06/02/2010 - 06:14

Gotcha.  Well, while cryptic - this is a single command:

admin: run sql update  numplandynamic set tklampblinkrate_messagewaiting=1 where  tklampblinkrate_messagewaiting=2

Sorry for all of the other fluff.

Regards,
Bill

David Hailey Wed, 06/02/2010 - 06:48

Bill's follow-up overshadows just about any other answer you could have gotten.  +5 to Mr. Bell on that.

Actions

This Discussion