Dismiss Notice
We would like to remind you that we’re updating our login process for all 3CX forums whereby you will be able to login with the same credentials you use for the Partner or Customer Portal. Click here to read more.

Day/Night Mode Visual Indication

Discussion in '3CX Phone System - General' started by rayfield, Jul 12, 2015.

Thread Status:
Not open for further replies.
  1. rayfield

    rayfield New Member

    Joined:
    May 4, 2010
    Messages:
    130
    Likes Received:
    8
    I'm setting up a new 3CX system and I need to implement a manual Day/Night Mode button. I'm using Polycom phones and this functionality needs to reside on the SPIP670 phone that the receptionist will use.

    Setting up Day/Night Mode is easy enough, using either the Emergency Dial Code or setting up Custom Speed Dial buttons to select Available, Away, and Out of Office status.

    The problem is that I've got to have a visual indication on the SPIP670 of the 'status' of the system (or the receptionist's extension, if I use the Available/Away/Out of Office method).

    I know that I can use 3CXPhone for Windows to monitor the status of the entire system, but in this case, the customer wants this visual indication on the phone.

    BLF lights only show when an extension is actually in a call. They will not show if an extension is set to Do Not Disturb or any other 'status' (such as Away or Out of Office).

    The Polycom phones actually support SIP Presence, which would work great, but it appears that 3CX does not support SIP Presence (even Asterisk supports that).

    So, has anyone come up with a way to get a visual indication of the 'status' of an extension, or the 'status' of the 3CX system (In Office Hours or Out of Office Hours) on a Polycom phone?

    John Rayfield, Jr.
     
    Nicolas V. likes this.
  2. pj3cx

    pj3cx Active Member

    Joined:
    Aug 1, 2013
    Messages:
    646
    Likes Received:
    1
    Hi John,
    On supported phones and with an activated phone system, BLF's can be set from Phones provisioning tab within each extension properties.

    Regarding the global status day/night which can be toggled with emergency code, unfortunately there is no color indication possible, kindly post this as a feature request on 3CX Ideas : http://www.3cx.com/ideas
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. rayfield

    rayfield New Member

    Joined:
    May 4, 2010
    Messages:
    130
    Likes Received:
    8
    Thank you Pierre.

    Setting BLF's is not a problem. The problem is that the only 'action' that changes the color on a BLF light is when that phone is actually in a call. If that phone is 'busy', such as DND set, or "Out of Office" is set, then the BLF light still shows the phone as 'Available", even though it really is not "Available".

    I have submitted a feature request.

    John Rayfield, Jr.
     
  4. craigreilly

    craigreilly Well-Known Member

    Joined:
    Feb 1, 2012
    Messages:
    3,569
    Likes Received:
    302
    would like to be able to see this as well...
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. Frankyeal

    Joined:
    Jan 20, 2016
    Messages:
    1
    Likes Received:
    0
    Like to see this as well
     
  6. uptime1

    uptime1 New Member

    Joined:
    Jan 13, 2012
    Messages:
    112
    Likes Received:
    30
  7. vb3cx

    Joined:
    Jan 8, 2014
    Messages:
    14
    Likes Received:
    1
    I have created a solution for this for our Yealink phones which might also be possible for Polycom:

    Program the BLF to call a PHP script through it's URL. This PHP script now can control the phone to do 2 things: dial the in/out of office dialcode AND light up the LED of the BLF key of the day/night button. I have created 2 scripts, 1 for day and 1 for night and call these from my day and night BLF's.

    Actually in my case there are about 10 phones which can set and see day/night; in my script i just control all the LED's of the phones. I use the Yealink API to do this, i assume Polycom also has an API.
     
  8. 3CXusername

    3CXusername New Member

    Joined:
    Jul 31, 2014
    Messages:
    183
    Likes Received:
    16
    vb3cx - Care to share your scripts?

    thanks.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. vb3cx

    Joined:
    Jan 8, 2014
    Messages:
    14
    Likes Received:
    1
    Below you will find an example for the day button. The night button would be a seperate script which does the same but switches the LED's the other way around and uses night dial code. You program the Yealink LINE15 button to call this script and the LINE16 button to call the night script (or use a button of your liking). You will have to add the desired IP addresses to match your own situation.

    Using it this way you can achieve all kinds of useful enhancements. I also use something like this to switch an extension to out of office when the computer shuts down and back to available when it boots up. In another script i trigger an attention tone and display message when the doorbel is ringed. But beware that controlling the phones like this is also a potential security risk, IIRC for Yealink you have to change the config so it will allow these commands to be sent remotely but you can filter it so it only accepts them from a specific IP address.

    Use at your own risk. For us it works very well. If you don't have a web server you can install the free WAMP server on the 3CX server.

    Code:
    <?php
    
    $xml = "<"."?xml version=\"1.0\" encoding=\"ISO-8859-1\"?".">\n";
    $xml.= "<3CXIPPhoneExecute Beep=\"no\">\n";
    $xml.= "  <ExecuteItem URI=\"Led:LINE15_GREEN=on\" />\n";  // light up "day" button LED
    $xml.= "  <ExecuteItem URI=\"Led:LINE16_GREEN=off\" />\n"; // switch off "night" button LED
    $xml.= "</3CXIPPhoneExecute>\n";
    
    // push LED on/off command to all desired phones (repeat this line for all phones you want to control)
    push2phone ("ip.address.of.server", "ip.address.of.phone1", $xml);
    push2phone ("ip.address.of.server", "ip.address.of.phone2", $xml);
    
    // switch LED on/off and dial "day" shortdial for phone which calls this script
    Echo "<"."?xml version=\"1.0\" encoding=\"ISO-8859-1\"?".">\n";
    Echo "<3CXIPPhoneExecute Beep=\"no\">\n";
    Echo "  <ExecuteItem URI=\"Led:LINE15_GREEN=on\" />\n";
    Echo "  <ExecuteItem URI=\"Led:LINE16_GREEN=off\" />\n";
    Echo "  <ExecuteItem URI=\"Dial:*71\" />\n";
    Echo "</3CXIPPhoneExecute>\n";
    
    
    //-----------------------------------------------------------------
    function push2phone ($server, $phone, $data)
      {
      $xml = "xml=".$data;
      $post = "POST / HTTP/1.1\r\n";
      $post.= "Host: $phone\r\n";
      $post.= "Referer: $server\r\n";
      $post.= "Connection: Keep-Alive\r\n";
      $post.= "Content-Type: text/xml\r\n";
      $post.= "Content-Length: ".strlen ($xml)."\r\n";
      $post.= "\r\n";
    
      $fp= @fsockopen ($phone, 80, $errno, $errstr, 0.01);
      if ($fp)
         {
         fputs ($fp, $post.$xml);
         fclose($fp);
         }
      }
    
    ?>
     
    Nicolas V. likes this.
  10. datatech1

    Joined:
    May 17, 2010
    Messages:
    11
    Likes Received:
    11
    Hi Guys,
    I have just up-voted this and would appreciate that this is done on the post i have just put on the ideas forum as to how 3CX could easily implement this change on the system by using a global extension number.

    The post also has a link with how someone else managed to do this with an Asterisk system and a Cisco VoIP phone.

    The link to the forum post is:-
    http://www.3cx.com/forums/3cx-night-mode-visual-indication-45633.html

    Kind regards,
    Marc - Datatech UK
     
Thread Status:
Not open for further replies.