NAME
Polycom::App::Push - Module for sending push requests to Polycom's SoundPoint IP and VVX series VoIP phones
SYNOPSIS
use Polycom::App::Push;
my $phone = Polycom::App::Push->new(address => '172.23.8.100', username => 'Bob', password => '1234');
# Send a simple XHTML message to a Polycom phone that will pop-up on the screen
$phone->push_message({priority => 'normal', data => '<h1>Fire drill at 2:00pm!</h1>'});
# Request that the phone show the specified web page, relative to the URL specified in the "apps.push.serverRootURL" configuration parameter
$phone->push_message({priority => 'critical', url => '/announcement.xhtml'});
# Request that the phone execute the specified internal URI, or prompt the user to dial the specified "tel:" or "sip:" URI
$phone->push_message({priority => 'critical', uri_data => 'sip:172.23.8.100'});
DESCRIPTION
The Polycom::App::Push class is for writing web applications for Polycom's SoundPoint IP and VVX series VoIP phones. It provides a mechanism to push messages to a phone for display to the user.
Note that to use the push_message method, the phone must be configured with the following parameters, where the values of each parameters should be customized based on your requirements:
<apps
apps.push.messageType="5"
apps.push.serverRootURL="http://192.168.1.11"
apps.push.username="Polycom"
apps.push.password="456" />
The value of the 'apps.push.messageType' parameter is very important, because it determines how the phone will filter incoming push messages based on their 'priority' attributes. The allowable values for the 'apps.push.messageType' parameter are:
0 - Don't show any push messages
1 - Show messages with 'priority="normal"'
2 - Show messages with 'priority="important"'
3 - Show messages with 'priority="high"'
4 - Show messages with 'priority="critical"'
5 - Show all messages, regardless of their 'priority' value
The 'apps.push.serverRootURL' parameter is used as the base URL for the relative URL passed to 'push_message' method in its 'url' parameter.
The 'apps.push.username' and 'apps.push.password' parameters must match the 'username' and 'password' parameters passed to the 'push_message' method.
CONSTRUCTOR
new ( %fields )
use Polycom::App::Push;
my $phone = Polycom::App::Push->new(address => '172.23.8.100', username => 'Polycom', password => '456');
Returns a newly created Polycom::App object. The following parameters are required:
address - the IP address of the phone.
username - the user name configured on the phone with the "apps.push.username" parameter.
password - the password configured on the phone with the "apps.push.password" parameter.
ACCESSORS
address
my $ip_address = $phone->address
$phone->address('172.23.8.100'); # Set the address to "172.23.8.100"
username
my $username = $phone->username;
$phone->username('Bob'); # Set the username to 'Bob'
password
my $password = $phone->password;
$phone->password('1234'); # Set the password to '1234'
METHODS
push_message
if (!$phone->push_message({priority => "critical", url => "/announcements/happy_birthday.xhtml"});)
{
print "Failed to send push message\n";
}
This method can be used to send a push request to a Polycom IP phone that will trigger it to display the supplied message or URL in its web browser. The following parameters are supported:
priority - the priority of the message (either "critical" or "normal"). If not specified, "normal" is assumed.
url - the URL to display on the phone, relative to the "apps.push.serverRootURL" configuration parameter.
data - a URI-escaped HTML document to display on the phone.
uri_data - an internal URI to execute, or a "sip:" or "tel:" URI to prompt the user to dial
Note that either url or data must be specified, but not both. Returns 1 if the message was sent successfully, or 0 otherwise.
SEE ALSO
Developer's Guide SoundPoint IP / SoundStation IP - http://support.polycom.com/global/documents/support/setup_maintenance/products/voice/Web_Application_Developers_Guide_SIP_3_1.pdf
Polycom(R) UC Software Administrator's Guide - http://support.polycom.com/global/documents/support/setup_maintenance/products/voice/spip_ssip_vvx_Admin_Guide_UCS_v4_0_0.pdf
Polycom::App::URI - A module that can be used to generate XHTML documents for displaying custom softkeys and hyperlinks using internal URIs for Polycom phones.
AUTHOR
Zachary Blair, <zblair@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2012 by Zachary Blair
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.