Welcome to

Welcome to!

This site was created as a place to share stories, tips, and troubleshooting help with ShoreTel/Mitel systems. ShoreTel/Mitel is obviously the MOST exciting VoiP platform on the market right now, and we realized there was no centralized place to discuss this platform, but now there is. Please feel free to join and share your experiences.

Please Note: This site IS NOT owned, funded, or managed by ShoreTel/Mitel, Inc. although you may find ShoreTel/Mitel employees sharing there experiences and expertise. If you would like more information on ShoreTel/Mitel systems, contact BTX at [email protected]

As always please support the advertisers that help support our site.

Thank You,
See more
See less
  • Filter
  • Time
  • Show
Clear All
new posts

  • IP Phone Buttons


    I have tried to find the answer to no avail. I need to change out an IP Phone Button globally, I know how to do on an individual basis, but can't figure out how to do it on global basis. Is there a way to do this?


  • #2
    To my knowledge, there is no batch utility for doing this presently.


    • #3
      You can make a change to a global PCM tool bar and then assign to users, but not the phone itself.


      • #4
        Thanks for the info.


        • #5
          Program custom IP Phone Buttons on all phones


          I wouldn't recommend it, but if you're comfortable with MySQL, you can change button assignments for all existing users in about 3 minutes. Be careful, though--if foul up your configuration in MySql and you'll be in a world of hurt. Before doing any of the following, review section 19.2.2 in the System Administration Guide (version 9).

          Edit: it's probably far easier to do this using SQLyog. See this excellent blog post on editing the Shoreware MySql database.

          Probably the safest and easiest way to go about this is:

          1) Change the IP Phone Button for one user (extension 2020, say). This will be your template.

          2) Create a backup of your MySql database, using a command like this:
          C:\Program Files\Shoreline Communications\Shoreware Server\MySQL\MySQL Server 5.0\bin\mysqldump.exe --user=root --password=shorewaredba --databases Shoreware --routines --single-transaction > C:\shoreware_Bkup.sql
          3) Create a COPY of this backup file (shoreware_buttons.sql). Keep the original someplace safe (copying it to another device wouldn't be a bad idea). If something should go wrong, you can always restore from this backup.

          4) Open the copied file (shoreware_buttons.sql) and find this section:
          -- Dumping data for table `userprogbuttons`

          LOCK TABLES `userprogbuttons` WRITE;
          /*!40000 ALTER TABLE `userprogbuttons` DISABLE KEYS */;
          INSERT INTO `userprogbuttons` VALUES ('2020',7,1,3,'Exmpl',7,0,'2001',NULL,-1,NULL,NULL,0,0,NULL,NULL,1,NULL,NULL,NULL),('2039 ',7,1,2,'Expl2',7,0,'2001',NULL,-1,NULL,NULL,0,0,NULL,NULL,1,NULL,NULL,NULL), ...;
          /*!40000 ALTER TABLE `userprogbuttons` ENABLE KEYS */;
          UNLOCK TABLES;
          5) Located your template user. In the above, 2020 is my template user, and "Exmpl" is the button text. Use Excel or something similar to create a comma separated list (if this takes more than 60 seconds, there's an easier way!) for all of your users (or even just a range of extensions, whether they exist or not...) based on this template.

          6) Append this list to the end of the INSERT query to ADD this button assignment to all existing extensions. Replace the INSERT values with your own value to replace programmed buttons with your new global program. You should have something that looks like this:
          LOCK TABLES `userprogbuttons` WRITE;
          /*!40000 ALTER TABLE `userprogbuttons` DISABLE KEYS */;
          INSERT INTO `userprogbuttons` VALUES ('2001',7,1,3,'Exmpl',7,0,'2001',NULL,-1,NULL,NULL,0,0,NULL,NULL,1,NULL,NULL,NULL),('2002 ',7,1,3,'Exmpl',7,0,'2001',NULL,-1,NULL,NULL,0,0,NULL,NULL,1,NULL,NULL,NULL), ... ,('2099',7,1,3,'Exmpl',7,0,'2001',NULL,-1,NULL,NULL,0,0,NULL,NULL,1,NULL,NULL,NULL);
          /*!40000 ALTER TABLE `userprogbuttons` ENABLE KEYS */;
          UNLOCK TABLES;
          7) Double check your syntax (one comma between each value ... semi-colon at the end). Then, save the file, and restore your Shoreware MySql database from this modified backup file.
          C:\Program Files\Shoreline Communications\Shoreware Server\MySQL\MySQL Server 5.0\bin\mysql.exe –u=root –p=shorewaredba Shoreware < c:\shoreware_buttons.sql
          8) Restart your phones and groove with your newly programmed buttons!

          If you're not 100% comfortable with this procedure, DON'T DO IT!!! If you run into trouble just restore your backup (in step 6, replace c:\shoreware_buttons.sql with shoreware_Bkup.sql). Also, be aware that ShoreTel will not provide support for your mass-customized buttons.

          Happy customizing!
          Last edited by markegge; 09-11-2009, 09:48 PM. Reason: Linked to with article in using SQLyog