Asterisk Polycom Guide

99
Polycom ® SoundPoint ® IP and SoundStation ® IP SIP phones A guide for use with Asterisk

Transcript of Asterisk Polycom Guide

Page 1: Asterisk Polycom Guide

Polycom® SoundPoint® IP and SoundStation® IP SIP phones

A guide for use with Asterisk

Page 2: Asterisk Polycom Guide

Document History

0 Draft 28th September 20051 Release 7th November 2005

Please send any questions, comments, or feedback to [email protected].

Copyright © 2005

Page 3: Asterisk Polycom Guide

Introduction............................................................................................................................... 5Creating a basic configuration...................................................................................................6Adding line busy lamps...........................................................................................................15Paging a group of extensions..................................................................................................19Enabling auto answer.............................................................................................................23Using the group or directed call pickup function......................................................................25Using the call park feature......................................................................................................26Using the phone to send and receive text messages..............................................................27Disabling call waiting on the phones.......................................................................................28Remotely rebooting the phone to force a configuration reload................................................30Using the Services button.......................................................................................................32Phone firmware....................................................................................................................... 37Support for PoE...................................................................................................................... 38

Cables for IP300/301, IP500/501:.......................................................................................39Power consumption:...........................................................................................................39

Digit map................................................................................................................................. 40Digit Map Examples............................................................................................................43

One way voice or no voice......................................................................................................44Access for diagnostic or control purposes...............................................................................45Setting the time and date........................................................................................................50Allocating VLANs.................................................................................................................... 59Configuring idle display bitmaps.............................................................................................64

A static idle bitmap for the IP600 phone.............................................................................65An animated idle display image on an IP500......................................................................66

CDP on the phones................................................................................................................. 69Manually rebooting a phone....................................................................................................71Restoring factory defaults.......................................................................................................73Removing configuration over rides..........................................................................................75

Copyright © 2005 Index

Page 4: Asterisk Polycom Guide
Page 5: Asterisk Polycom Guide

Introduction

This document provides an introduction to the use of the Polycom SoundPoint IP SIP desk phones and SoundStation IP SIP conference phone with the Asterisk PBX.

It offers answers to frequently asked questions along with feature configuration examples for both Asterisk and the Polycom phones. The examples do not claim to follow best practices for either the Asterisk PBX nor for the Polycom phones; they are designed to show a working starting point which may be enhanced through documentation from other sources. In particular the following reference sources should be consulted for further information:

“Administrator Guide - SoundPoint and SoundStation IP SIP”. This document is available from the Polycom web site at http://extranet.polycom.com. Registration is available to anyone who applies and is required to download the manual.

The Asterisk wiki at http://www.voip-info.org.

This document assumes you have an installed and functioning Asterisk server. If you have not yet reached this stage, please refer to one of the support pages listed below:

For Asterisk Business Edition – http://www.digium.com For general Asterisk information – http://www.voip-info.org/wiki-Asterisk For the Asterisk at Home distribution – http://asteriskathome.sourceforge.net/

Where the term SoundPoint IP phone is used, it refers to any of the following IP300, IP301, IP500, IP501, IP600, or IP601 SIP desk phones. Where the term SoundStation IP phone is used, it refers to the IP4000 SIP conference phone. The term Asterisk or Asterisk server is used to refer to a functioning Asterisk PBX installation.

This document does not cover the SoundStation IP3000 H323 conference phone.

The examples shown in this document were tested with Polycom SIP application release 1.5.2 with boot ROM 3.0.1 along with Asterisk version 1.07 and 1.09. If there are issues with a configuration specific to a given software release that issue is noted.

The Asterisk community is acknowledged as the source of much of the material in this document.

Please send any feedback to the email address shown on the cover sheet.

Copyright © 2005 Page 5

Page 6: Asterisk Polycom Guide

Creating a basic configuration

Keys:

The configuration file fragments below show the basic settings required to configure both Asterisk and the SoundPoint or SoundStation IP phones to successfully interoperate.

Note that these settings are minimal configurations and only show changes from default factory settings on the phone. If you are not sure of the current settings and their impact on the phone in your configuration, you should restore the phone to the factory default settings using the procedure outlined elsewhere in this document.

1. For each phone to be connected, define the phone extension number in the Asterisk file “sip.conf”. If you are using the asterisk@home Linux distribution you can use the provided web interface to easily add the extension otherwise you need to directly edit the file as shown below.

.

.[8036]username=8036usernamesecret=8036passwordmailbox=8036@defaulttype=friendhost=dynamicdtmfmode=rfc2833context=polycomcanreinvite=yescallerid="Polycom Demo" <8036>..

Fragment from sip.conf

In the example above we define an extension number 8036; this extension:

Is defined by the number inside square brackets “[8036]” Has a SIP registration username of “8036username” Has a SIP registration password of “8036password” Uses the Asterisk mailbox number “8036” in the “default” context Is an Asterisk type “friend”, meaning it is both a user and a peer Is a “dynamic” host according to Asterisk Sends DTMF tones as special RTP packets according to RFC2833 Exists in the Asterisk context “polycom” Allows RTP traffic to bypass the Asterisk server Sends a caller ID with text as “Polycom Demo” and a number “8036”

2. Define the dial plan in the Asterisk file “extensions.conf” for the context declared above. If you are using the asterisk@home Linux distribution this will be created automatically for you when you defined the extension in step 1, otherwise, you will need to edit the file directly:

.

.[polycom]exten => 8036,1,Dial(SIP/8036,25)exten => 8036,2,VoiceMail,u8036exten => 8036,102,VoiceMail,b8036..

Fragment from extensions.conf

Page 6 Copyright © 2005

Page 7: Asterisk Polycom Guide

In the example above we add an extension number 8036 into the dialplan; when someone dials this extension from within the context “polycom”:

Asterisk will first try to ring the extension 8036 using the SIP channel, waiting up to 25 seconds for the extension to answer

If the extension is unanswered, Asterisk will direct it to mailbox 8036 If the extension is busy, Asterisk will direct it to mailbox 8036

3. Once the Asterisk configuration is complete you need to configure the SoundPoint or SoundStation phone. This can be done in one of three ways:

Via a centralized provisioning (or boot) server using configuration files. This method offers the most flexibility and is the recommended choice. To configure the phone using this method, proceed from step 4.

Via the phones inbuilt web server using a web browser. Not all options are available via the web browser interface on the phone but you can configure the phone to register with Asterisk using this method. To use this method, proceed from step 5.

Via the phones inbuilt menu using the phone buttons. Not all options are available using this method but it is sufficient to allow registration of the phone with Asterisk. To use this method, proceed from step 6.

4. If you are configuring your SoundPoint or SoundStation IP phone to be provisioned from a boot server, first locate the files provided by Polycom in the firmware distribution. There are four (4) configuration files, three (3) systems files, and one (1) language customization directory provided with firmware release SIP 1.5 or later:

000000000000.cfg 000000000000-directory~.cfg phone1.cfg sip.cfg sip.ld sip.ver SoundPointIPWelcome.wav SoundPointIPLocalisation (a sub directory)

For firmware releases prior to SIP 1.5 there is one additional configuration file:

ipmid.cfg

Place all these files into a directory which is accessible from your phone using FTP, then:

a. Copy the default 000000000000.cfg file to a file named <mac>.cfg where <mac> is the 12 character MAC address of the phone (which is also the phones serial number). This MAC address is printed on a sticker attached to the underside of the phone.

b. Open the <mac>.cfg file with a text editor then locate the line starting with the text “APPLICATION APP_FILE_PATH”. On this line change the “CONFIG_FILES” key as shown below:

.

.… CONFIG_FILES="<extension>.cfg, sip.cfg" …..

Fragment from <mac>.cfg for firmware > 1.5

Copyright © 2005 Page 7

Page 8: Asterisk Polycom Guide

.

.… CONFIG_FILES="<extension>.cfg, sip.cfg", “ipmid.cfg” …..

Fragment from <mac>.cfg for firmware < 1.5

c. Copy the default phone1.cfg file to a file named <extension>.cfg where <extension> is the phones extension number decided earlier.

d. Open the <extension>.cfg file with a text editor then locate the line starting with the text “<phone1>”. On the following line is the registration information the phone requires to register with asterisk. Change the keys shown below to suit your configuration. For our example:

The extension is “8036” The registration username is “8036username” The registration password is “8036password”

.

.… reg.1.displayName="8036" reg.1.address="8036" reg.1.label="8036" …… reg.1.auth.userId="8036username" reg.1.auth.password="8036password" …... reg.1.server.1.address="<your_asterisk_IP_address> .....

Fragment from <extension>.cfg

If your phone supports more than one line (all except for the IP4000) you can also define the registration parameters for the other lines by changing the keys starting with reg.2.displayname, reg.2.address, etc.

e. Once all the file configuration described above is complete, you can configure the phone itself. Assuming the phone is powered and has IP connectivity with the Asterisk server, reboot the phone using the key combination or by a power cycle.

f. When the phone display shows something similar to this:

Press the button underneath the SETUP label.

g. Enter the phone administrator password. By default this is “456”.h. Enable or disable the phones DHCP client:

If you enable the phones DHCP client, an IP address and other phone parameters will be supplied by your DHCP server (see the FAQ entry for configuring DHCP parameters).

If you disable the phones DHCP client, you must specify at least the IP address, network mask, and default gateway (use the asterisk servers IP address if this is an isolated network). Note that this is a minimum configuration – at this stage you could also specify the DNS server IP address(es), NTP server IP address and time offset (refer to the FAQ entry for setting the phone time), domain name, and CDP settings (refer to the FAQ entry for CDP).

Page 8 Copyright © 2005

Page 9: Asterisk Polycom Guide

i. Navigate to the “Server Menu…” option and press the select key.j. Set the “Server Type” to “FTP” for other options, refer to the administrators

guide.k. Set the “Server Address” to the IP address of your FTP server where the

previously described configuration files are located.l. Set the “Server User” to a username with the correct permissions to GET files

from your FTP server. By default the “Server User” is “PlcmSpIp”. m. Set the “Server Password” to the password for the above mentioned “Server

User”. By default the “Server Password” is “PlcmSpIp”.n. Set the “Provisioning Method” to “Default”, refer to the administrators guide

for other options.o. Press the exit key and select “Save & Reboot”. The phone should now

reboot, access your FTP server, load the configuration files, and register with your Asterisk server.

5. If you are configuring your SoundPoint or SoundStation IP phone stand alone using the web browser, first you must establish the phones basic IP parameters:

a. Reboot the phone using the key combination or by a power cycle.

b. When the phone display shows something similar to this:

Press the button underneath the SETUP label.

c. Enter the phone administrator password. By default this is “456”.

d. Enable or disable the phones DHCP client:

If you enable the phones DHCP client, an IP address and other phone parameters will be supplied by your DHCP server (see the FAQ entry for configuring DHCP parameters).

If you disable the phones DHCP client, you must specify at least the IP address, network mask, and default gateway (use the asterisk servers IP address if this is an isolated network). Note that this is a minimum configuration – at this stage you could also specify the DNS server IP address(es), NTP server IP address and time offset (refer to the FAQ entry for setting the phone time), domain name, and CDP settings (refer to the FAQ entry for CDP).

e. Point your web browser to the phones IP address; for example enter the URL http://192.168.0.66. You should see a screen similar to that shown below:

f. Select the Lines page from the home menu. The number of lines shown under this menu will vary depending on the phone model.

Copyright © 2005 Page 9

Page 10: Asterisk Polycom Guide

g. Select the Line 1 option on the Lines page (you can also select the other lines at this stage if you wish to provision multiple lines on the phone):

h. Once the phone has restarted from the above step it should register with your Asterisk server.

Page 10 Copyright © 2005

Enter the extension defined in Asterisk

here.(eg. 8036)

Enter the extensions username defined in

Asterisk here.(eg. 8036username)

Enter the extensions password defined in

Asterisk here.(eg. 8036password)

Enter the IP address of your Asterisk

server here.

Enter the default SIP port used by Asterisk here (usually 5060)

Press the Submit button. The phone

will restart.

Page 11: Asterisk Polycom Guide

Notes: It may take 1 to 2 minutes for the browser interface to become available

after the phone restarts If your phone is configured to obtain its IP address from a DHCP server

then its IP address may have changed. You may need to re-authenticate (the default username is ‘Polycom’ and

password is ‘456’) to access the required page.

6. If you are configuring your SoundPoint or SoundStation IP phone stand alone using the phones menu keys, note that the SIP server settings affect all lines on the phone. You cannot configure separate SIP servers for separate line appearances on the phone. If you wish to do this you must use either the web configuration or the boot server configuration methods described earlier.

First you must establish the phones basic IP parameters:

a. Reboot the phone using the key combination or by a power cycle.

b. When the phone display shows something similar to this:

Press the button underneath the SETUP label.

c. Enter the phone administrator password. By default this is “456”.

d. Enable or disable the phones DHCP client:

If you enable the phones DHCP client, an IP address and other phone parameters will be supplied by your DHCP server (see the FAQ entry for configuring DHCP parameters).

If you disable the phones DHCP client, you must specify at least the IP address, network mask, and default gateway (use the asterisk servers IP address if this is an isolated network). Note that this is a minimum configuration – at this stage you could also specify the DNS server IP address(es), NTP server IP address and time offset (refer to the FAQ entry for setting the phone time), domain name, and CDP settings (refer to the FAQ entry for CDP).

e. Once the phone has had its IP parameters configured and has restarted, press the phones Menu key.

f. Using the phones arrow keys, scroll down to Settings and press the Select soft key:

Copyright © 2005 Page 11

Menu

1. Features...

2. Status...

3. Settings...

Exit Select

Main Menu

Page 12: Asterisk Polycom Guide

g. Scroll down to Advanced and press the Select soft key:

h. Enter the administrator password (by default “456”) and press the Enter soft key:

i. Press the Select soft key to choose Admin Settings:

j. Scroll to SIP Configuration and press the Select soft key:

k. Press the Select soft key to choose the Server settings:

l. Press the Edit soft key to set the server address:

Page 12 Copyright © 2005

1. Basic...

2. Advanced...

Exit Select

Settings

Enter 1/A/a Exit

Password

1. Admin Settings...

2. Change User Password...

3. Restart Phone...

Exit Select

Advanced

1. Network Configuration...

2. SIP Configuration...

3. Reset to Default...

4. Change Admin Password...

Exit Select

Admin Settings

Server: ...

Outbound Proxy: ...

RFC2543 Hold: No

Calls Per Line Key: ...

Exit Select

SIP Configuration

...

Address:

Port: 5060

DNS Lookup: Naptr

Register: Yes

Exit Edit

SIP Configuration

Page 13: Asterisk Polycom Guide

m. Press the 1/A/a soft key to enter digits and enter the IP address of your Asterisk server. Note that when using the menus to configure the phone, all line registrations must use the same server address.

n. Press the Ok soft key and then the Exit soft key:

o. Scroll down to Line 1 and press the Select soft key:

p. Scroll to Address, press the Edit soft key:

q. Press the 1/A/a soft key to select digit entry and enter the extension number defined in the Asterisk configuration done earlier. Press the Ok soft key.

r. Scroll down to the field labelled Auth User ID, and again press the Edit soft key. Enter the extension user name defined in Asterisk – for the example this would be 8036username. Press the Ok soft key.

Copyright © 2005 Page 13

Address:

Port: 5060

DNS Lookup: Naptr

Register: Yes

1/A/a Cancel Ok

Server (a/Ascii)

Address: 172.21.6.1

Port: 5060

DNS Lookup: Naptr

Register: Yes

1/A/a Cancel Ok

Server (1/Ascii)

Outbound Proxy: ...

RFC2543 Hold: No

Calls Per Line Key: ...

Line 1:

Exit Select

SIP Configuration

Display Name:

Address:

Calls Per Line Key:

Type: Private

Exit Edit

Line 1

Display Name:

Address: 8036

Calls Per Line Key:

Type: Private

Cancel Ok

Line 1(1/Ascii)

1/A/a

Type: Private

Third Party Name:

Auth User ID:

Auth Password:Private

Exit Edit

Line 1

Page 14: Asterisk Polycom Guide

s. Scroll down once more to reach the Auth Password field, press the Edit soft key, enter the extension password defined in Asterisk (example, 8036password) and press the Ok soft key, then the Exit soft key twice.

t. Press the Select soft key. The phone will restart and when completed, the line will register with the Asterisk server.

Page 14 Copyright © 2005

Type: Private

Third Party Name:

Auth User ID: 8036user…

Auth Password:Private

Exit Edit

Line 1

Exit w/o Save

Save Config

Resume Setup

Select

SIP Configuration

Page 15: Asterisk Polycom Guide

Adding line busy lamps

Keys: shared line, private line, BLF, busy lamp, key system, buddies, presence

Note: The following has been verified on Asterisk release 1.0.7. The forthcoming Asterisk release 1.2 introduces changes to the hint facility that may affect the configuration.

Some PBXs have a feature which allows one phone station to indicate the status of many lines using LEDs or other indicators on the phone. This feature is sometimes called busy lamp feature and is common on key systems.

The SoundPoint IP phones, when configured correctly, can simulate this feature using the phones presence features and the Asterisk hint option.

To demonstrate how to use this feature we will consider a case with three phones; extensions 8003, 8027, and 8036. Each extension will have the other two lines configured using presence so that a user of that phone can view the status of the other lines.

1. The extensions are first defined in the asterisk configuration file sip.conf as shown below. This section of configuration is standard and as described previously:

.

.[8003]username=8003usernamesecret=8003passwordmailbox=8003@defaulttype=friendhost=dynamicdtmfmode=rfc2833context=polycomcanreinvite=yescallerid="Polycom Demo 1" <8003>

[8027]username=8027usernamesecret=8027passwordmailbox=8027@defaulttype=friendhost=dynamicdtmfmode=rfc2833context=polycomcanreinvite=yescallerid="Polycom Demo 2" <8027>

[8036]username=8036usernamesecret=8036passwordmailbox=8036@defaulttype=friendhost=dynamicdtmfmode=rfc2833context=polycomcanreinvite=yescallerid="Polycom Demo 3" <8036>..

Fragment from sip.conf

2. Next, enable the presence feature on the SoundPoint IP phone. Open the phones sip.cfg file with a text editor and locate the line starting with the text “<feature”, then enable the presence feature by setting the key value for that feature to 1 as shown below:

.

Copyright © 2005 Page 15

Page 16: Asterisk Polycom Guide

.<feature feature.1.name="presence" feature.1.enabled="1" … ..

Fragment from sip.cfg

3. Then, make sure the extensions that you wish to monitor are included as “buddies” on the SoundPoint IP phone. To do this, add these extensions to the phones directory stored in the file <mac>-directory.xml as shown below:

.

.<directory>

<item_list><item>

<ln>Demo 1</ln><fn></fn><ct>8003</ct><sd>1</sd><rt>1</rt><dc/><ad>0</ad><ar>0</ar><bw>1</bw><bb>0</bb>

</item><item>

<ln>Demo 2</ln><fn></fn><ct>8027</ct><sd>2</sd><rt>1</rt><dc/><ad>0</ad><ar>0</ar><bw>1</bw><bb>0</bb>

</item><item>

<ln>Demo 3</ln><fn></fn><ct>8036</ct><sd>3</sd><rt>1</rt><dc/><ad>0</ad><ar>0</ar><bw>1</bw><bb>0</bb>

</item></item_list>

</directory>..

Fragment from <mac>-directory.xml

In the example shown above:

The text between <ln> and </ln> (last name), <fn> and </fn> (first name) is shown on the phones LCD display.

The number between <ct> and </ct> (contact) is the extension number you wish to monitor.

The number between <sd> and </sd> (speed dial) determines which line appearance to use for this line indicator. Position 1 is the first free line position available.

The number between <rt> and </rt> (ring type) is not relevant since these appearances only represent the status of extensions and do not ring.

The <dc/> (divert contact) on its own means there is no divert contact and must be included even though not relevant for this application.

Page 16 Copyright © 2005

Page 17: Asterisk Polycom Guide

The number between <ad> and </ad> (auto divert) should be 0 although it is not used in the application.

The number between <ar> and </ar> (auto reject) should be 0 although it is not used in the application.

The number between <bw> and </bw> (buddy watch) must be 1 to indicate that we wish to monitor the presence of this entry.

The number between <bb> and </bb> (buddy block) should be 0 although it is not used in the application.

An alternative to creating the <mac>-directory.xml on the provisioning server is to add these entries manually using the phones directory button and the add contact softkeys. If adding entries this way, follow the descriptions from the above bulleted list to create each monitored contact.

4. Next, in the Asterisk dial plan, add a hint line for each extension you wish to monitor. For our example shown below, we add the three hint lines after the context “[polycom]”:

.

.[polycom]exten => 8003,hint,SIP/8003exten => 8027,hint,SIP/8027exten => 8036,hint,SIP/8036

exten => 8003,1,Dial(SIP/8003,25)exten => 8003,2,VoiceMail,u8003exten => 8003,102,VoiceMail,b8003exten => 8027,1,Dial(SIP/8027,25)exten => 8027,2,VoiceMail,u8027exten => 8027,102,VoiceMail,b8027exten => 8036,1,Dial(SIP/8036,25)exten => 8036,2,VoiceMail,u8036exten => 8036,102,VoiceMail,b8036..

Fragment from extensions.conf

5. Reboot the phones to ensure they are using the configured directory entries and have the presence feature enable.

The main line for each phone should register and the next two line keys should show the status of the other lines.

You can check your configurations using the Asterisk command “sip show subscriptions”.

.

.asterisk*CLI> sip show subscriptionsPeer User Call ID URI172.21.17.57 8003 c89cf3f5-e930279b-73d sip:[email protected] 8003 8c685d3a-d1f9a0a0-441 sip:[email protected] 8027 26c3cd9f-c19f8c5-5ca7 sip:[email protected] 8027 75693924-8bb2240a-d53 sip:[email protected] 8036 c20aae4f-e8a9b59-b3e3 sip:[email protected] 8036 8330f80a-303a6534-deb sip:[email protected] active SIP subscriptions(s)..

Asterisk “sip show subscriptions” command

How this works:

Copyright © 2005 Page 17

Page 18: Asterisk Polycom Guide

Put simply, the SoundPoint IP phone is configured to monitor the presence of a line by including that line as a contact with the buddy watch flag set. This instructs the phone to issue a SIP subscribe request to the server – in this case Asterisk – for the given extension. Asterisk checks its list of hint extensions and responds with a SIP notify indicating the status of the extension linked via the hint for the line given in the subscribe request. Whenever Asterisk observes a change in the status of the subscribed line (such as when a call is made on that line), Asterisk will send a subsequent SIP notify to the subscribed phone indicating the updated status.

Note: There is a limit of how many phones can be monitored using this method.Currently only 7 presence monitored contacts are supported.

Asterisk does not currently (as of release 1.0.9) support the SIP PUBLISH method for publishing presence documents in Presence Information Data Format (PIDF) defined in RFC 3863, but it can generate NOTIFY to SUBSCRIBEd users when REGISTER occurs and also when the client disconnects – this is what the above configuration achieves. Due to the lack of PUBLISH method support, there is no support of extended states (Away, Do not disturb, Busy). Asterisk version 1.2 will begin to address this limitation.

Page 18 Copyright © 2005

Page 19: Asterisk Polycom Guide

Paging a group of extensions

Keys: paging, group page

Sometimes a paging function is useful: for example, you dial a single number and a defined group of phones answer automatically then the caller can make an announcement to all the answered phones.

By configuring the SoundPoint or SoundStation IP phone to auto answer and using an Asterisk script to place the calling phone and all the answered phones into a single conference, a paging function such as that described above can be delivered.

To configure this requires several steps:

1. Asterisk-perl is required on your Asterisk installation. Installing asterisk-perl is beyond the scope of this FAQ – please refer to http://asterisk.gnuinter.net/ for instructions and downloads. Asterisk-perl is installed by default in the Asterisk at home distribution.

2. The AGI script (described later) must be able to connect to the Asterisk manager. To allow this, make sure the manager.conf file has an entry similar to that shown below. In the fragment shown, the user name to log into the manager is “pager” and the password is “amp111” – these should be changed to suit your installation. The permit, deny, read, and write settings should be altered to suit local security policies. Dependant on the system installation you may need to add a permit statement for your systems IP address (in this example 172.21.17.160).

.

.[pager]secret = amp111deny=0.0.0.0/0.0.0.0permit=127.0.0.1/255.255.255.0permit=172.21.17.160/255.255.255.0read = system,call,log,verbose,command,agent,userwrite = system,call,log,verbose,command,agent,user..

Fragment from Asterisk manager.conf

3. The script shown below is a modified version of that originally developed by Coalescent Systems Inc. (http://www.coalescentsystems.ca/). Coalescent Systems have kindly given permission for this script to be used in this document.

You must place a copy of the script into a directory that Asterisk will look for scripts. Probably this will be the var/lib/asterisk/agi-bin directory. Within this script, find the lines:

$astman->user('pager');$astman->secret('amp111');$astman->host('127.0.0.1');

Edit these to suit the manager logon credentials configured in the manager.conf file in the previous step. If the Asterisk manager is bound to a particular interface you may also need to change the IP address.

Make sure the script has executable file permissions for the user under which your installation of Asterisk is running!

#!/usr/bin/perl

Copyright © 2005 Page 19

Page 20: Asterisk Polycom Guide

# Copyright (C) 2004 Coalescent Systems Inc. ([email protected])# This program is free software; you can redistribute it and/or# modify it under the terms of the GNU General Public License# as published by the Free Software Foundation; either version 2# of the License, or (at your option) any later version.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU General Public License for more details.

# Modified to allow page originator to be shown in caller ID and ALERT_INFO# variable to be set outside of the script (eg: in the dial plan)# Peter Johnson

# This script will ring a list of extensions. All extensions that # answer within 5 seconds (ie: polycom auto-answer) will be transfered# to a listen only meetme room.

# Put in extension.conf:# *** Sample pager extension***# exten = 9876,1,SetVar(extenlist=SIP/204&SIP/205)# exten = 9876,2,AGI(pager.agi)# exten = 9876,3,Goto(joinmeetme,pager${EXTEN},1)# ******# [joinmeetme]# exten = _pagerX.,1,MeetMe(${EXTEN:5}|Axdq)# exten = _pageX.,1,SetVar(ALERT_INFO=page)# exten = _pageX.,2,Answer()# exten = _pageX.,3,Wait(2)# exten = _pageX.,4,MeetMe(${EXTEN:4}|mxq)

use Asterisk::Manager;use Asterisk::AGI;$AGI = new Asterisk::AGI;

# pull AGI variables into %input%input = $AGI->ReadParse();

$thispage = $input{'extension'};$caller = $input{'callerid'};$caller =~ s/\"//g;

my $arg = $AGI->get_variable('extenlist');my $alert = $AGI->get_variable('ALERT_INFO');

@dialnumbers=split(/&/,$arg);foreach my $k (@dialnumbers) {

$AGI->verbose("Added extension $k to page", 3);}

originate(%dialnumbers);

exit 3;

sub originate { foreach $number (@dialnumbers) { my $astman = new Asterisk::Manager;

my ($dialnum) = @_;

$astman->user('admin'); $astman->secret('password'); $astman->host('127.0.0.1');

$astman->connect || die $astman->error . "\n";

$AGI->verbose('Originating call to '.$number,3);

# Note bug in Asterisk 1.0.7: Variable not passed without Async=1

print STDERR $astman->sendcommand( Action => 'Originate',Channel => $number,

Page 20 Copyright © 2005

Page 21: Asterisk Polycom Guide

Exten => 'page'.$thispage,Context => 'joinmeetme',Priority => '1',Callerid => 'Page from '.$caller,Variable => 'ALERT_INFO='.$alert,Timeout => '5000');

$astman->disconnect; }}

Paging AGI script - original from: http://www.coalescentsystems.ca/karma/pager.agi

Note: In Asterisk version 1.0.7 there is a bug in the Asterisk manager “sendcommand” that prevents the variable (ALERT_INFO in this example) being passed to the channel. As a workaround for this problem, include the Async flag set to true; replace the line under the comment in the script with this:

print STDERR $astman->sendcommand( Action => 'Originate',Channel => $number,Exten => 'page'.$thispage,Context => 'joinmeetme',Priority => '1',Callerid => 'Page from '.$caller,Variable => 'ALERT_INFO='.$alert,Timeout => '5000',Async => 1);

This problem was corrected in Asterisk release 1.08.

4. Modify the Asterisk dial plan so that the script is called when a particular number is dialed. The example shown from the Asterisk extensions.conf file below, links the script to the digits 8100. Modify this example for the extension you wish to use for paging and so that the variables:

“extenlist”, lists all the extensions you wish to page “ALERT_INFO”, matches the tag used later when configuring the phone

.

.exten = 8100,1,SetVar(extenlist=SIP/8036&SIP/8099)exten = 8100,2,SetVar(ALERT_INFO=pager)exten = 8100,3,AGI(pager.agi)exten = 8100,4,Goto(joinmeetme,pager${EXTEN},1)..

Fragment from extensions.conf

Further modify the Asterisk dial plan to include the context “joinmeetme” referred to in the script and in the above dial plan fragment:

.

. [joinmeetme] exten = _pagerX.,1,MeetMe(${EXTEN:5}|Axdq) exten = _pageX.,1,SetVar(ALERT_INFO=pager) exten = _pageX.,2,Answer() exten = _pageX.,3,Wait(2) exten = _pageX.,4,MeetMe(${EXTEN:4}|mxq)..

Fragment from extensions.conf

5. Finally, configure the phones such that they will silently auto answer. Open the phones sip.cfg file with a text editor and locate the line starting with the text

Copyright © 2005 Page 21

Page 22: Asterisk Polycom Guide

“<alertinfo”, then set the key voIpProt.SIP.alertinfo.2.value to the value you set in the Asterisk dial plan above and set the key voIpProt.SIP.alertinfo.2.class to a value of 3 as shown below:

.

.<alertInfo voIpProt.SIP.alertInfo.2.value="pager" voIpProt.SIP.alertInfo.2.class="3"/>..

Fragment from sip.cfg

These changes allow the phone to recognize the alert in the invite message coming from Asterisk and give it an internal ring class of 3 – this internal class is used to reference the ring type to use as shown below:

.

.<VISUAL_ONLY se.rt.2.name="Visual" se.rt.2.type="visual"/><AUTO_ANSWER se.rt.3.name="Auto Answer" se.rt.3.type="answer"/>..

Fragment from sip.cfg

With an internal ring class of 3 we reference the line starting with “<AUTO_ANSWER”. This will allow the phone to answer without any ringing at all.

With the previous configuration complete, dialing the pager extension number should initiate a call to all the extensions defined in the dial plan. Any extension that answers within 5 seconds will be placed into a listen-only meetme room. Any extension that is currently busy will be unaffected. All extensions will be hung up on when the caller/pager hangs up.

Page 22 Copyright © 2005

Page 23: Asterisk Polycom Guide

Enabling auto answer

Keys: intercom, auto answer

You can configure the SoundPoint or SoundStation IP phones with an Asterisk server to operate in a manner similar to an intercom system. For example, you dial a specific number and the remote party phone automatically answers after a short ring. Once answered, the call is connected and you can speak freely in both directions.

To achieve this is a two step process:

1. Set the “ALERT_INFO” variable in the Asterisk dial plan.

First, let’s have a look at how a simple dial plan looks before the changes are made. In this example, extension 8027 will ring for 25 seconds and if the user does not answer within that time, the call will forward to a voice mailbox. The call will also forward to a voice mailbox if the extension is busy when dialed.

.

.[polycom]

exten => 8027,1,Dial(SIP/8027,25,tr)exten => 8027,2,VoiceMail,u8027exten => 8027,102,VoiceMail,b8027

.

.

Fragment from extensions.conf

Since it is unlikely you will always want extension 8027 to automatically answer a call it may be a good idea to assign a separate number for the same physical extension. In this example we do this simply by changing the first digit. To ring the person on extension 8027 normally you would dial 8027, but to ring them and force them to automatically answer you would dial 9027. Modifying the dial plan by adding this additional extension number and setting the “ALERT_INFO” variable is simple; just insert the extra lines as shown here:

.

.[polycom]

exten => 9027,1,SetVar(ALERT_INFO="intercom")exten => 9027,2,Dial(SIP/8027)exten => 8027,1,Dial(SIP/8027,25,tr)exten => 8027,2,VoiceMail,u8027exten => 8027,102,VoiceMail,b8027

.

.

Fragment from extensions.conf

The value of the “ALERT_INFO” variable is not strictly important but it must match with the configuration done on the phone (shown further) and ideally it should be a short descriptive string – for this example we will set it to a value of “intercom”.

In the above example, when the digits 9027 are dialed, first the variable is set and then Asterisk sends the SIP invite (with the set variable) to extension 8027.

2. Configure the phone to interpret the variable sent by Asterisk

Open the phones sip.cfg file with a text editor and locate the line starting with the text

Copyright © 2005 Page 23

Page 24: Asterisk Polycom Guide

“<alertinfo”, then set the key voIpProt.SIP.alertinfo.1.value to the value you set in the Asterisk dial plan above and set the key voIpProt.SIP.alertinfo.1.class to a value of 4 as shown below:

.

.<alertInfo voIpProt.SIP.alertInfo.1.value="intercom" voIpProt.SIP.alertInfo.1.class="4"/>..

Fragment from sip.cfg

These changes allow the phone to recognize the alert in the invite message coming from Asterisk and give it an internal ring class of 4 – this internal class is used to reference the ring type to use as shown below:

.

.<VISUAL_ONLY se.rt.2.name="Visual" se.rt.2.type="visual"/><AUTO_ANSWER se.rt.3.name="Auto Answer" se.rt.3.type="answer"/><RING_ANSWER se.rt.4.name="Ring Answer" se.rt.4.type="ring-answer" …… se.rt.4.timeout="200" …… se.rt.4.ringer="2" …… se.rt.4.callWait="6" …… se.rt.4.mod="1"/>..

Fragment from sip.cfg

With an internal ring class of 4 we reference the line starting with “<RING_ANSWER”. If we had set the voIpProt.SIP.alertinfo.1.class to a value of 3 we would have referenced the line starting with “<AUTO_ANSWER” and in that case the phone would answer without any ringing at all.

The setting for se.rt.4.timeout is by default 2000 (milliseconds) and for this intercom application we change it for a much shorter ring time of 200 milliseconds.

Page 24 Copyright © 2005

Page 25: Asterisk Polycom Guide

Using the group or directed call pickup function

Keys: group call pickup, directed call pickup

In short, these phone features cannot be used with Asterisk, here’s why.

If enabled, the call pickup features provide additional options under a soft key labelled “Pickup”. You can enable these features by opening the phones sip.cfg file with a text editor and locating the line starting with the text “<feature”. On this line you will find feature enable keys which you can change to a 1 as shown in the fragment below:

.

.… feature.12.name="group-call-pickup" feature.12.enabled="1" … … feature.13.name="directed-call-pickup" feature.13.enabled="1" …..

When these features are used the phone sends a SIP subscribe message similar to that shown in the fragment below:

.

.SUBSCRIBE sip:[email protected]:5060 SIP/2.0Via: SIP/2.0/UDP 172.21.17.164;branch=z9hG4bK2c958993779C4EC6From: "8043" <sip:[email protected]>;tag=C83049A5-DA366D2To: <sip:[email protected]>CSeq: 1 SUBSCRIBECall-ID: [email protected]: <sip:[email protected]>Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, INFO, MESSAGE, SUBSCRIBE, NOTIFY,

PRACK, UPDATE, REFEREvent: dialogUser-Agent: PolycomSoundPointIP-SPIP_600-UA/1.5.2.0054Accept: application/dialog-info+xmlMax-Forwards: 70Expires: 0Content-Length: 0 ..

The event type “dialog” in the above subscribe message is not currently supported in Asterisk and thus, the SoundPoint and SoundStation IP phone call pickup features and Asterisk are not compatible.

Copyright © 2005 Page 25

Page 26: Asterisk Polycom Guide

Using the call park feature

Keys: call park

In short, this feature cannot be used with Asterisk, here’s why.

If enabled, the call park feature provides an additional softkey labeled “Park” once a call is established. You can enable this feature by opening the phones sip.cfg file with a text editor and locating the line starting with the text “<feature”. On this line you will find feature enable key which you can change to a 1 as shown in the fragment below:

.

.… feature.11.name="call-park" feature.11.enabled="1" … ..

When this feature is used (that is, you are on a call and press the “Park” softkey) you are prompted to enter a number and then press the “Park” softkey again. The phone will then send a SIP refer message similar to that shown in the fragment below:

.

.REFER sip:[email protected] SIP/2.0Via: SIP/2.0/UDP 172.21.17.164;branch=z9hG4bKdb9d416cA7133B5FFrom: "8043" <sip:[email protected]>;tag=5C7B0F84-CF44AA0DTo: <sip:[email protected];user=phone>;tag=as1d52a22cCSeq: 3 REFERCall-ID: [email protected]: <sip:[email protected]>User-Agent: PolycomSoundPointIP-SPIP_600-UA/1.5.2.0054Refer-To: sip:[email protected];orbit=70Referred-By: "8043" <sip:[email protected]>Proxy-Authorization: Digest username="8043", realm="asterisk", nonce="7ec65337",

uri="sip:[email protected]:5060;user=phone", response="73d8dc28a6d57f5ea829059d65747058", algorithm=MD5

Max-Forwards: 70Content-Length: 0 ..

The tag “orbit” on the end of the Refer-To field, is the number entered on the phone handset.

The Asterisk call park facility currently operates somewhat differently. In Asterisk, the sequence to park a call is to first transfer the call to the Asterisk call parking facility (typically 70 or 700), Asterisk then announces a number on which the call will be parked (for example, the number 71 maybe be “read out”. The user then completes the transfer and hangs up their handset – the call may now be picked up from any station by dialing the number on which the call was parked.

Thus, the SoundPoint and SoundStation IP phone call park feature and the Asterisk call park facility are not compatible.

Page 26 Copyright © 2005

Page 27: Asterisk Polycom Guide

Using the phone to send and receive text messages

Asterisk does not support receiving the SIP MESSAGE method, and since any messages from the SoundPoint or SoundStation IP phone are in the first instance sent to the server (Asterisk) using this method, sending of messages from a phone can never be successful. However, Asterisk can send a message itself to the calling phone using the SendText(Text) dial plan command.

In the example from a dial plan shown below, when a phone dials 9100, Asterisk will answer the call and send the text message “Hello world” back to the phone. The phones message waiting indicator will light and the message will be viewable in the message log.

.

.exten => 9100,1,Answerexten => 9100,2,SendText(Hello world)exten => 9100,3,Hangup..

Fragment from extensions.conf

The Answer step shown above at priority 1 is needed, since the channel needs to be established before anything can be sent on it.

Copyright © 2005 Page 27

Page 28: Asterisk Polycom Guide

Disabling call waiting on the phones

Keys: call waiting, hunt group

Call waiting (the ability to receive an indication on your phone handset when a subsequent call arrives whilst you are already on a call) can be useful and desired in some cases whilst in other cases it may be considered a nuisance. To be able to configure your phones and system to provide the type of call waiting desired, it is important to understand firstly that call waiting can be controlled from two distinct areas:

The Asterisk PBX The SoundPoint or SoundStation IP phone

Within Asterisk, call waiting is under control of the dial plan; Asterisk will check if the extension is in use and, depending on the logic of the dial plan, it may send a second call to the extension or it may divert the call. Again, dependant on the logic of the Asterisk dial plan, you may be able to turn on and off this level of call waiting by dialing a feature code such as *70 from the extension in question. You can check your dial plan (extensions.conf) in Asterisk to determine how your server is configured. (By default, the Asterisk at home distribution has call waiting disabled for every extension.)

On the SoundPoint and SoundStation IP phones, call waiting is always on, but can be effectively controlled through the use of the keys in the sip.cfg file shown below.

AttributePermitted

ValuesDefault Interpretation

call.callsPerLineKey1 to 24

or1 to 8

24or8

For the SoundPoint® IP 600 the permitted range is 1 to 24 and the default is 24.For all other phones the permitted range is 1 to 8 and the default is 8. This is the number of calls or conferences which may be active or on hold per line key associated with this registration. Note that this may be overridden by the per line registration attribute call.callsPerLineKey.

reg.x.lineKeys 1 to max 1

The number of line keys on the phone to be associated with registration ‘x’.

max = the number of line keys on the phone. max = 1 on SoundStation® IP 4000, max = 2 on SoundPoint® IP 300, max = 3 on SoundPoint® IP 500, max = 6 on SoundPoint® IP 600

reg.x.callsPerLineKey1 to 24

or1 to 8

24or8

For the SoundPoint® IP 600 the permitted range is 1 to 24 and the default is 24.For all other phones the permitted range is 1 to 8 and the default is 8. This is the number of calls or conferences which may be active or on hold per line key associated with this registration. Note that this overrides call.callsPerLineKey for this registration.

call.callWaiting.prompt 0, 1 0If set to 1, an incoming call received when another call is active will change the User Interface focus (call appearance and soft keys).

Note that prior to SIP application release 1.5, the above keys did not exist and could not be used in the configuration file – the phone was hard coded to support 2 calls per line appearance. If you are using this earlier firmware and wish to implement scenarios similar to those shown in the examples below, then some manipulation of

Page 28 Copyright © 2005

Page 29: Asterisk Polycom Guide

the Asterisk dial plan is necessary. There are some examples of how to do this on the Asterisk wiki.

Perhaps the best way to understand how to use these keys to control call waiting is to present some examples.

1. A user with one line who would like call waiting and the ability to handle a maximum of two calls at one time.

Set reg.x.lineKeys = 1. This will allow the user one line. Set reg.x.callsPerLineKey = 2. This will allow a second call to come in on the

same line. The user will hear a call waiting tone and be able to place the first call on hold and accept the second call.

2. A user with one line who does not want call waiting and does not want to deal with more than one call at a time.

Set reg.x.lineKeys = 1. This will allow the user one line. Set reg.x.callsPerLineKey = 1. A second call coming in on the same line will be

rejected by the phone. The user will not be aware of the second incoming call attempt and the Asterisk dial plan must determine what to do with the rejected call (eg: forward to voice mail).

3. A user with one line who wants to be able to handle 6 calls at once (eg: a receptionist).

Set reg.x.lineKeys = 6. This will allow the user one line but the same line will appear on 6 positions (an IP600 is required for this example).

Set reg.x.callsPerLineKey = 1. Second and subsequent calls coming in on the same line will be rolled onto the next free line appearance on the phone. The user will hear the call waiting tone and be able to handle the new call as desired.

4. A user with one line who wants to be able to handle 24 calls at once (eg: a busy receptionist with a software console).

Set reg.x.lineKeys = 1. This will allow the user one line but the same line will appear on 6 positions (an IP600 is required for this example).

Set reg.x.callsPerLineKey = 24. Second and subsequent calls coming in on the same line will be accepted by the phone and the user will hear the call waiting tone.

In the above examples we set the options on a per line basis. You can also use the call.callsPerLineKey attribute to configure this parameter for all lines on the phone.

The last attribute, not yet mentioned, is the call.callWaiting.prompt. By setting this to a value of 1, when a second incoming call is received, the soft keys on the phone will automatically change to allow the user to deal with the new call. If left at its default value of 0, the user needs to place the existing call on hold before being able to control the second call.

Copyright © 2005 Page 29

Page 30: Asterisk Polycom Guide

Remotely rebooting the phone to force a configuration reload

Keys: notify, reboot, resync, check-sync, checksync

It is possible to remotely reboot a SoundPoint or SoundStation IP phone by using the SIP NOTIFY method with an event type of check-sync. When the phone receives this SIP message, it will take one of two possible actions dependant on how it is configured:

1. If voIpProt.SIP.specialEvent.checkSync.alwaysReboot is set to 0 then the phone will check the provisioning server and only reboot if any of the files listed in [mac].cfg have changed.

2. If voIpProt.SIP.specialEvent.checkSync.alwaysReboot is set to 1 then the phone will always reboot.

When the phone reboots, it will reload its configuration files from the provisioning server.

The key voIpProt.SIP.specialEvent.checkSync.alwaysReboot exists in the sip.cfg configuration file.

The SIP message may be generated in a number of ways; an example of how to send the correct type of message is shown below in the sample perl script.

.#!/usr/bin/perl -w

use Socket;

$phone = shift;$ext = shift;

if ($phone ne "" && $ext ne "") {

$tm = time(); $call_id = $tm . "msgto$ext"; $httptime = `date /T`; $MESG = "NOTIFY sip:$ext\@$phone:5060 SIP/2.0Via: SIP/2.0/UDP $phoneFrom: <sip:asterisk\@$phone>To: <sip:$ext\@$phone>Event: check-syncDate: $httptimeCall-ID: $call_id\@$phoneCSeq: 1300 NOTIFYContact: <sip:asterisk\@$phone>Content-Length: 0

";

$proto = getprotobyname('udp'); socket( SOCKET, PF_INET, SOCK_DGRAM, $proto ); $iaddr = inet_aton("$phone"); $paddr = sockaddr_in( 5060, $iaddr ); bind( SOCKET, $paddr ); $port = 5060;

$hisiaddr = inet_aton($phone); $hispaddr = sockaddr_in( $port, $hisiaddr );

if ( send( SOCKET, $MESG, 0, $hispaddr ) ) { print "SIP check sync sent to ", "$phone", " ok", "\n"; } else { print "Sending of SIP check sync to phone ", "$phone", " failed", "\n"; }

}else { die "Syntax:\n checksync PhoneIP Extension\n" }

Perl script

Page 30 Copyright © 2005

Page 31: Asterisk Polycom Guide

Note: In more recent versions of Asterisk, the ability to send a check-sync notify is built inand the above perl script is not required. You are still required to do the configuration changes to the SoundPoint or SoundStation IP phone but then:

In your /etc/asterisk/sip_notify.conf make sure you have:

[polycom-check-cfg] Event=>check-sync Content-Length=>0

And on the CLI you can enter:

sip notify polycom-check-cfg xxxx (where xxx is the sip account in sip.conf)

Copyright © 2005 Page 31

Page 32: Asterisk Polycom Guide

Using the Services button

Keys: xhtml, browser, web, micro browser

The Soundpoint IP600 and IP601 support a micro browser that may be launched using the Services feature key on the phone. Although the IP500 and IP501 also have a Services feature key, these phone models do not support the micro browser and the button can be more usefully used by remapping to another function. The IP300, IP301, and IP4000 do not support the micro browser functionality.

The micro browser is a standards based XHTML web browser that supports most of the commonly used XHTML tags and directives, specifically:

xhtml structureo html, head, title, body

Due to space constraints, there isn’t a static title bar at the top of the browser window, as there is in most other browsers. The title is rendered in large bold text in the first line of the page, and is scrolled off the screen as the focus is moved down the document.

Texto br, h1, h2, h3, h4, h5, h6, p

The micro browser parses and understands all six levels of headings; however, they are all rendered with the same font and style as the body text. They otherwise behave as one would expect.

Formattingo i, b, u, hr

Hypertexto a

Basic Formso form, input

The micro browser supports both the GET and POST methods for submitting forms, and supports the following types of form elements: text, password, radio, submit, reset, hidden. Nesting of one form tag within another is unsupported and may lead to unexpected results.

Imageo img

Currently the only supported image format is uncompressed Microsoft BMPs with less than 24-bits of colour. It is strongly recommended to dither and save images as 4-bit greyscale. Images can be scrolled up and down; however, images that are too wide will be truncated.

LinksIn addition to the standard http:// form of URLs, the micro browser supports using the tel:// URL which, when followed, will cause the phone to switch over to the Telephone interface, and dial the number specified in the tel:// URL. The number is dialed ‘as-is’.

To launch the micro browser, press the ‘Services’ hard key to the left of the SoundPoint IP600 display. The first time the micro browser is launched, it loads the homepage specified in the SPIP server-side configuration files. To configure this homepage page, edit the phones sip.cfg file as shown in the fragment below:

.

. <microbrowser mb.proxy=""> <main mb.main.home="http://asterisk.local/polycom/index.xhtml"/> <limits mb.limits.nodes="" mb.limits.cache=""/> </microbrowser>..

Fragment from sip.cfg

Page 32 Copyright © 2005

Page 33: Asterisk Polycom Guide

In the fragment of sip.cfg shown above, you can also see the keys that allow further control of micro browser operation – for details of these please refer to the Administrator Guide.

Once a page is loaded by the micro browser, the user can navigate by moving the ‘focus’ with the up and down arrow keys. The focus moves between all the focusable items on a page, in the order that they appear in the XHTML source. Focusable items are links, form elements and buttons. When the user has focused a link they would like to follow, or a form element they would like to edit or toggle, they push the ‘select’ key, in the center of the four arrow keys. This will either generate a request for the linked page, toggle the selection of an element in the form, or allow the user to enter text in to a textbox in a form.

If the next element to be selected by the focus is off the bottom or the top of the screen, the screen is scrolled in the direction of that element, and the element is given focus. If there is a large area of the page without a focusable element, such as a large block of text or a large image, the page is only scrolled by one screen for each push of the arrow key. Large blocks of focusable items (such as a long menu) can be scrolled past by using the ‘*’ key and the ‘#’ key as ‘page up’ and ‘page down’ respectively.

Text may be entered into text boxes via the standard ‘multi-tap’ method used on most cell phones, and elsewhere on the IP phone.

Both the left arrow key, and the ‘Back’ soft key will take the user to the previous page they had viewed. The ‘refresh’ and ‘home’ soft keys behave in the expected manner, reloading the current page and returning to the users homepage respectively. When editing a text field, the 1/A/a soft key appears to let the user change between entering capital letters, lowercase letters, or numbers. ‘Cancel’ and ‘Enter’ soft keys appear as well, allowing the user to exit from the text entry while discarding, or keeping their input.

The simple scripts and files shown below provide a working sample XHTML site to demonstrate the capability of the micro browser. There are three static XHTML web pages:

index.xhtml directory.xhtml what.xhtml

Cut and paste these files as shown below into text files in a directory accessible to your web server. For example, /var/www/html/polycom.

<?xml version="1.0" encoding="utf-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>Polycom Micro Browser Sample</title></head><body><p><a href="what.xhtml">What is this site?</a><br /><a href="/cgi-bin/inspiration">Daily Inspiration</a><br /><a href="directory.xhtml">Employee Directory</a><br /><a href="/cgi-bin/stocks?symbol=PLCM">Polycom Stock</a><br /></p></body></html>

index.xhtml

<?xml version="1.0" encoding="utf-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>Employee Directory</title></head>

Copyright © 2005 Page 33

Page 34: Asterisk Polycom Guide

<body><p>John F. Kennedy<br />Telephone: <a href="tel://1001">+1 (604) 982-1001</a></p>

<p>Marlyn Monroe<br />Telephone: <a href="tel://1003">+1 (604) 982-1003</a></p>

<p>Lester B. Pearson<br />Telephone: <a href="tel://1004">+1 (604) 982-1004</a></p>

<p>Virgil I. "Gus" Grissom<br />Telephone: <a href="tel://1005">+1 (604) 982-1005</a></p></body></html>

directory.xhtml

<?xml version="1.0" encoding="utf-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>What is this site?</title></head><body><p>Welcome to the Polycom XHTML demo site. This site is here as an exampleof some of the uses for the Polycom XHTML Micro Browser.</p>

<p>The <a href="/cgi-bin/inspiration">daily inspiration </a> link shows ashort, random quote</p>

<p>The <a href="directory.xhtml">employee directory </a> shows how the tel://URL can be used to initiate a phone call from within the browser. </p>

<p>The <a href="/cgi-bin/stocks">stock ticker </a> shows how the Micro Browsercan display dynamically generated data in a useful manner.</p>

</body></html>

what.xhtml

There are two CGI scripts which dynamically create web pages:

inspiration stocks

Cut and paste these files as shown below into text files in the CGI directory of your web server. For example, /var/www/cgi-bin.

#!/usr/bin/perl#### inspiration -- demo CGI program which just prints out a fortune

use strict;use CGI qw/:standard/;

my $refr = param('ref');if ($refr){ print "Refresh: $refr; url=”, ”http://$ENV{SERVER_NAME}:$ENV{SERVER_PORT}$ENV{SCRIPT_NAME}?ref=$refr\n",}print "",

Page 34 Copyright © 2005

Page 35: Asterisk Polycom Guide

"Content-type: application/xhtml+xml\n\n", "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n", "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"xhtml11.dtd\">\n", "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n", "<head><title>Today's Words of Wisdom</title></head>\n", "<body>\n";

print "<p>\n";unless (open FORTUNE, "/usr/games/fortune -s fortunes|"){ print "", "like the wisps of snow<br/>\n", "on a January afternoon<br/>\n", "fortune was not found<br/>\n";}else{ while(<FORTUNE>) { s/&/&amp;/g; s|\"|&quot;|g; #fix vim syntax colouring --> " s|>|&gt;|g; s|<|&lt;|g;# s|\n|<br/>\n|g; print; } close FORTUNE;}

print "", "</p>\n", "<p><a href=”, ”\"http://$ENV{SERVER_NAME}:$ENV{SERVER_PORT}$ENV{SCRIPT_NAME}\">”, “Get another perl of wisdom</a></p>\n", "</body>\n", "</html>\n";

Inspiration cgi

#!/usr/bin/perl#### stocks -- demo CGI program which gets a stock graph, and information

use strict;use CGI qw/:standard/;use LWP::UserAgent;

my $symbol = param('symbol');

my $identify = '/usr/local/bin/identify';my $convert = '/usr/local/bin/convert';

my $tempfile = "/tmp/stock-imgconvert.result.$$";my $useragent = 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1) Gecko/20031029';

if( !$symbol ){ showError("no symbol parameter was found");}elsif( $symbol !~ /[A-Za-z_.^]{2,4}/ ){ showError("invalid symbol parameter");}else{ my $url = "http://ichart.yahoo.com/t?s=$symbol";

my @headers = `wget -S -U '$useragent' -O $tempfile '$url' 2>&1`;

my @contentType = split(/ /, (grep(/Content-Type:/i,@headers))[0]); my $contentType = $contentType[$#contentType]; # should be the last thing on the line

Copyright © 2005 Page 35

Page 36: Asterisk Polycom Guide

chomp $contentType; if($contentType =~ /image\/(.*)$/i || $url =~ /\.(gif)$|\.(jpe?g)$|\.(png)$|\.(bmp)$|\.(tiff)$|\.(ico)$/i) { my $imageType = $+;

my $tempImage = "/var/www/html/polycom/images/stock.bmp"; my $source_width = `$identify -verbose $tempfile | grep Geometry`; $source_width =~ s,\s+, ,g; $source_width = (split(/ /, $source_width))[2]; $source_width = (split(/x/, $source_width))[0];

my $scale_options = ($source_width > 300 ? '-scale 300' : '');

system("$convert -compress None +matte -dither -monochrome -colors 4 -depth 4" . "$scale_options $imageType:$tempfile $tempImage"); my $size = (stat($tempImage))[7];

open IMG, "<$tempImage" || die "failed to open $tempImage for reading\n";

unlink($tempfile);

print header(-content_type =>'application/xhtml+xml');

print "", "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n", "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"xhtml11.dtd\">\n", "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n", "<head><title>Stock graph</title></head>", "<body><p><img src=\"/polycom/images/stock.bmp\" /></p></body></html>"; }}

#### END of main

#### Subroutines#

sub showError(){ my $errStr = shift; print header(-content_type =>'application/xhtml+xml');

print "", "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n", "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"xhtml11.dtd\">\n", "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n", "<head><title>ERROR</title></head>", "<body><h1>an error has occurred</h1><p>$errStr</p></body></html>";}

stocks cgi

Note that to use the above demonstration pages and scripts you need a webserver configured to support CGI scripts, with:

perl from http://www.perl.org/ along with perl modules CGI and LWP::UserAgent wget from http://www.gnu.org/software/wget/wget.html imagemagick from http://www.imagemagick.org/ (uses identify and convert)

The CGIs were developed and served from a UNIX environment. Getting them to work in a different environment is possible but may require significant additional work.

Page 36 Copyright © 2005

Page 37: Asterisk Polycom Guide

Phone firmware

Keys: firmware, software, release, bootrom, application, upgrade, downgrade

Firmware for the SoundPoint and SoundStation IP phones consists of two parts:

Boot ROM – a generic program used to load the application Application – the SIP application

The same firmware image (both Boot ROM and application) is used on all the SoundPoint and SoundStation IP SIP phones however, as new hardware is introduced, new firmware is required so that earlier firmware may not support the latest hardware.

All current and future firmware images include cryptographic signatures as a security feature. It is not possible to downgrade from a signed image to an unsigned image for either the Boot ROM or the application because these signed firmware versions will only load other signed firmware images. Therefore care should be taken when deciding to upgrade from an unsigned image to a signed image.

Boot ROM

Version 2.6.2 is the latest unsigned Boot ROM image.Version 3.1.0 is the latest signed Boot ROM image.

Both Boot ROM version 2.6.2 and version 3.0.1 support the IP300, IP301, IP500, IP501, IP600, IP4000. Boot ROM releases prior to 2.6.0 do not support the IP4000.

Due to some enhancements that have been added to the Boot ROM software, it is not always possible to go to certain versions even if the hardware is compatible. The following table lists the upgrade/downgrade paths that are not supported:

From Upgrade Downgrade

1.x 2.x, 3.x

2.0.x, 2.1.x 2.5.x, 2.6.x, 3.x 1.x

2.2.x 3.x 1.x, 2.0.x, 2.1.x

2.3.x, 2.4.x 3.x 1.x, 2.0.x, 2.1.x, 2.2.x

2.5.x 3.x 1.x, 2.0.x, 2.1.x, 2.2.x

2.6.x 1.x, 2.0.x, 2.1.x, 2.2.x

3.0.x 1.x, 2.x

Application

Version 1.6.2 is the latest signed SIP application image.

SIP application version 1.6.2 supports all current phones: IP300, IP301, IP500, IP501, IP600, IP4000. Note however, that due to limited memory in the IP300 and IP500, some features of release 1.6.2 are not available in those phones.

In all cases before upgrading or downgrading firmware, please refer to the relevant release notes available from http://extranet.polycom.com.

Copyright © 2005 Page 37

Page 38: Asterisk Polycom Guide

Support for PoE

Keys: power, poe, power over Ethernet, 802.3af, cisco power, pre-standard, CDP

All SoundPoint IP desktop phones support power over Ethernet (PoE), both Cisco pre-standard and IEEE 802.3af. The IP600 and IP601 phones support both PoE types natively whilst the other phones require an adapter cable to support the specific PoE desired. The models requiring an adapter cable may be ordered packaged with the adapter cable or with the mains power pack – this package availability varies dependent on the country of sale so please check for the correct part numbers with your reseller. All phones may also be powered from a mains adapter.

The table below summarises the powering options:

Mains power pack Cisco pre-standard PoE 802.3af PoE

IP601

IP600

IP501 mains Note 2 Note 3

IP501 PoE Note 1 Note 2

IP500 mains Note 2 Note 3

IP500 PoE Note 1 Note 2

IP301 mains Note 2 Note 3

IP301 PoE Note 1 Note 2

IP300 mains Note 2 Note 3

IP300 PoE Note 1 Note 2

Notes:1. For this model to use mains power, also order part #2. For this model to use Cisco pre-standard PoE, also order part #2200-11014-0023. For this model to use 802.3af PoE, also order part #2200-11077-002

Page 38 Copyright © 2005

Page 39: Asterisk Polycom Guide

Cables for IP300/301, IP500/501:

802.3af PoE CableMale RJ-45 connector to phone

Female RJ-45 connector for network

Cisco pre-standard PoE cableMale RJ-45 connector to phone

Male RJ-45 connector for network

Power consumption:

The power requirements of the phones are summarised in the table below. Please refer to the notes for an explanation of the different quoted power figures.

Power used1 Advertised by CDP2 Detected by 802.3af3

IP300 2.6w 6w Class 0 (15.4w)

IP301 2.8w 6w Class 0 (15.4w)

IP500 3.3w 6w Class 0 (15.4w)

IP501 3.6w 6w Class 0 (15.4w)

IP600 4.1w 6w Class 0 (15.4w)

IP601 4.6w 15.4w Class 0 (15.4w)

IP601 EM 1.9w (each unit) N/A Class 0 (15.4w)

IP4000

Notes:1. This is the actual power used by the device.2. If CDP is enabled on the phone and the phone is connected with a CDP

enabled switch, then this is the power value the phone advertises to the switch. The switch uses this value to calculate the overall switch load to ensure it remains within the power budget. CDP can be used with Cisco pre-standard or 802.3af power over Ethernet.

3. If 802.3af power over Ethernet is used, the switch detects a signature from the 802.3af attached device. The SoundPoint IP phones present a signature representing a 802.3af class 0 device indicating a power requirement of 15.4w. The switch uses this value to calculate the overall switch load and ensure it remains within the power budget. If CDP is not used with 802.3af powered phones it is recommended that you manually set the power requirements on each port of the switch.

Copyright © 2005 Page 39

Page 40: Asterisk Polycom Guide

Digit map

Keys: digit map, dial plan, MGCP

For the purpose of this explanation, the process of creating a call from a SIP phone handset can be summarised as follows:

The destination phone number or URL is entered on the SIP handset The SIP handset sends the digits or URL to the SIP server The SIP server connects the calling party to the destination party

The so called “digit map” within the phone is a feature that may be used to determine when the handset sends the digits to the SIP server. It is important to understand these key points about a digit map:

The digit map is only used when the phone is “off-hook” (that is, the handset it lifted or the speaker button is pressed). When the phone is on hook, you always need to press the “Dial” soft key.

Without a digit map, the phone will only send the entered digits to the SIP server when the “Send” soft keys are pressed.

With a digit map, the phone will automatically send the entered digits to the SIP server once a defined “match” occurs and, if so configured, once an “impossible match” occurs.

The digit map can not alter the dialled digits with the one exception that it can strip a trailing # from a dialled number.

The digit map does not affect URL dialling.

In summary, the local digit map feature is used to automate the setup phase of number-only calls. When properly configured, the digit map feature eliminates the need for using the Send soft key when making outgoing calls.

The phones digit map may be configured using server configuration files or by using the web browser access to the phone. The digit map cannot be configured using the phone menu keys.

To specify the digit map of the phone there are four settings to be configured. Each setting can be specified globally for all lines on the phone, or separately for each individual line on the phone. The settings are:

1. The digit map itself. This is a string of maximum length 512 characters or 20 segments (see explanation below) and consisting of the following elements:

digits 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 a wildcard: “x” (matches any digit 0-9) a timer character: “T” a DTMF digit: *, A, B, C, D a range of digits: for example, “[278]” matches digits 2, 7, or 8 a sub range of digits: for example, “[4-7]” matches any digit between 4 and 7 a repeat character: “.” (period) matches any number of occurrences of the

preceding element a separator: “|” (pipe) indicates the start of a new pattern. Patterns between

pipes (or the string start and a pipe etc) are called segments. a terminator: “#” (hash) indicates the digits should be sent now a comma: “,” turns dial tone back on

The digit map works by building up a string of the digits as they are entered on the phone and comparing that string with each segment in the digit map. If the result of the comparison:

Page 40 Copyright © 2005

Page 41: Asterisk Polycom Guide

matches, the phone considers the dialling complete, and sends the string to the SIP server.

matches, except the matching segment terminates in a “T” character, then phone will wait for “T” seconds before declaring it a match and sending the string to the SIP server. If another keypad element is pressed within “T” seconds then the matching process starts again.

matches, up to the position of a comma in the digit map segment, then the phone will turn the dial tone back on to the user (dial tone normally disappears as soon as any digits are entered) and then continues matching against the segment.

cannot possibly match any of the segments in the digit map, the phone considers it an “impossible match” and follows the behaviour defined below in point 3.

does not match any segments but may match if more digits are entered, then the phone will wait for more digits to be entered.

The digit map may be set globally (that is, for all lines on the phone) in the sip.cfg file under key dialplan.digitmap. By default this key is set to suit the North American numbering plan – “[2-9]11|0T|011xxx.T|[0-1][2-9]xxxxxxxxx|[2-9]xxxxxxxxx|[2-9]xxxT”.

The digit map may also be set on a per line basis (this will over ride the global setting) in the phone1.cfg file under key dialplan.x.digitmap (where the x represent the line number). By default this key is set to a null string.

2. The digit map timeout. This is a positive integer specifying the timeout in seconds for ‘T’ feature of digit map. A digit map string segment terminating in a “T” will cause the matching process to be true once the timeout occurs.

The digit map timeout can be specified globally in the sip.cfg file under key dialplan.digitmap.timeOut. By default this key is set to 3 (seconds).

The digit map timeout can also be set on a per line basis (over riding the global setting) in the phone1.cfg file under key dialplan.digitmap.timeOut (where “x” indicates the line number). By default this key is null.

3. The impossible match behaviour. This may be set to 0, 1, or 2 and defines the behaviour taken when an impossible match is determined (refer to point 1).

If set to 0, the digits entered up to and including the point where an impossible match occurred are sent to the server immediately.

If set to 1, the phone will give reorder (busy) tone indicating to the user that the entered digits are invalid.

If set to 2, the phone simply keeps accepting further entered digits until the Send soft key is pressed at which stage it sends all digits to the SIP server.

The impossible match behaviour is configured globally in the sip.cfg file under key dialplan.impossibleMatchHandling. By default this key is set to 0.

The impossible match behaviour may be configured on a per line basis in the phone1.cfg file under key dialplan.x.impossibleMatchHandling (where “x” indicates the line number). By default this key is set to 0.

4. Remove the hash end of dial character option. This may be set to 0 or 1 and determines if the phone should remove the hash character entered as a dial string terminating character by the user. Typically the hash character is used in any digit map segment that includes the “T” character to allow the user to override the timeout and send the digits immediately. This option may be set to a 0 to disable stripping of the hash character, or 1, to enable stripping of the hash character.

Copyright © 2005 Page 41

Page 42: Asterisk Polycom Guide

The remove end of dial character option may be set globally in the sip.cfg file under key dialplan.removeEndOfDial. By default this key is set to 1.

The remove end of dial character option may be set on a per line basis in the phone1.cfg file under key dialplan.x.removeEndOfDial (where “x” indicates the line number). By default this key is 1.

When configuring the digit map feature using a web browser you can only configure global settings. Configuring digit maps on a per line basis is only available via the configuration files. To configure the digit map using the web browser (rather than the previously mentioned configuration file keys) point your web browser to the phones IP address; for example enter the URL http://192.168.0.66. You should see a screen similar to that shown below:

Select the General page from the home menu:

Select the User Preferences option:

Page 42 Copyright © 2005

Equivalent to the configuration file keydialplan.digitmap

Equivalent to the configuration file keydialplan.digitmap.timeOut

Equivalent to the configuration file keydialplan.removeEndOfDial

Equivalent to the configuration file keydialplan.impossibleMatchHandling

Page 43: Asterisk Polycom Guide

Digit Map Examples

The North American digit map:

dialplan.digitmap=[2-9]11|0T|011xxx.T|[0-1][2-9]xxxxxxxxx|[2-9]xxxxxxxxx|[2-9]xxxT

This digit map consists of 6 segments:

1. [2-9]11This digit map segment will only match a 3 digit number starting with 2, 3, 4, 5, 6, 7, 8, or 9 and ending in 11. When the 3rd digit is entered the phone sends the digits immediately to the SIP server.

2. 0TThis digit map segment will match when the single digit 0 is entered and no further digits are entered for the timeout period specified in dialplan.digitmap.timeOut. After the timeout, the phone sends the digits to the SIP server.

3. 011xxx.TThis digit map segment will match when any number longer than 7 digits and beginning with 011 digits is entered. The phone will only forward the digits to the SIP server when no further digits are entered on the phone for the timeout period specified in dialplan.digitmap.timeOut.

4. [0-1][2-9]xxxxxxxxxThis digit map segment will only match a 11 digit number starting with 0 or 1 followed by any digit from 2 to 9 followed by 9 more digits of any number from 0 to 9. When the 11th digit is entered the phone sends the digits immediately to the SIP server.

5. [2-9]xxxxxxxxxThis digit map segment will only match a 10 digit number starting with 2 to 9 and followed by 9 more digits of any number from 0 to 9. When the 10th digit is entered the phone sends the digits immediately to the SIP server.

6. [2-9]xxxTThis digit map segment will match when any number longer than 4 digits and starting with digits 2 to 9 and followed by any 3 digits from 0 to 9. The match will not be true until the time period specified in dialplan.digitmap.timeOut expires.

The Australian digit map (to suit Telstra connections):

000|10x|123x|01x.T|11x.T|1[4-7]x.T|00[1-9]x.T|122x.T|12[4-9]x.T|1[389][1-9]x.T|180[1-9]x.T|0[2-9]xxxxxxxx|1[39]0xxxxxxx|1800xxxxxx|[2-9]xxxxxxx|*xx

Copyright © 2005 Page 43

Page 44: Asterisk Polycom Guide

One way voice or no voice

Keys:

First, check the handset cable is fully seated in the handset. It is easy to think the cable is fully inserted when in fact the connector is not correctly seated.

If this does not help it is possible the problem is caused because of NAT (Network Address Translation) issues. NAT issues are beyond the scope of this document.

Page 44 Copyright © 2005

Page 45: Asterisk Polycom Guide

Access for diagnostic or control purposes

Keys: telnet, diagnostics, remote control

There is no telnet access to the phones, however, statistics information is available from the handset itself and remote configuration is available via the web interface.

To obtain diagnostic information using the phones menu structure refer to the steps shown below:

Menu > Status > Lines View the line server and registration information:

Copyright © 2005 Page 45

1. Features...

2. Status...

3. Settings...

Exit Select

Main Menu

1. Platform...

2. Network...

3. Lines...

4. Diagnostics...

Exit Select

Status

Line 1: 8036 (Registered 260:24:17)

Server-1: 172.21.17.160

Exit

Line Information

Page 46: Asterisk Polycom Guide

Menu > Status > Network > TCP/IP Parameters…View the phones active TCP/IP settings.

Page 46 Copyright © 2005

1. Features...

2. Status...

3. Settings...

Exit Select

Main Menu

1. Platform...

2. Network...

3. Lines...

4. Diagnostics...

Exit Select

Status

1. TCP/IP Parameters...

2. Ethernet...

3. Packet Statistics...

Exit Select

Network

IP: 172.21.17.157

DHCP: Enabled

Subnet Mask: 255.255.255.0

IP Gateway: 172.21.17.1

SNTP Address: 172.21.17.160

GMT Offset: 36000(10.0)

DNS Server: 172.21.6.204

DNS Alt. Server: 0.0.0.0

DNS Domain: asia.polycom.com

VLAN ID:

Exit

TCP/IP Parameters

Page 47: Asterisk Polycom Guide

Menu > Status > Network > Ethernet…View the phones current Ethernet configuration.

Copyright © 2005 Page 47

1. Features...

2. Status...

3. Settings...

Exit Select

Main Menu

1. Platform...

2. Network...

3. Lines...

4. Diagnostics...

Exit Select

Status

1. TCP/IP Parameters...

2. Ethernet...

3. Packet Statistics...

Exit Select

Network

MAC: 00:04:F2:01:C3:B3

LAN port: Active

LAN Speed: 100Mbps

LAN Mode: Full-duplex

PC port: Inactive

PC Speed: Unknown

PC Mode: Unknown

Exit

Ethernet

Page 48: Asterisk Polycom Guide

Menu > Status > Network > Packet Statistics > Overall…View the phones up time and total transmitted and received packet counts.

Page 48 Copyright © 2005

1. Features...

2. Status...

3. Settings...

Exit Select

Main Menu

1. Platform...

2. Network...

3. Lines...

4. Diagnostics...

Exit Select

Status

1. TCP/IP Parameters...

2. Ethernet...

3. Packet Statistics...

Exit Select

Network

1. Overall...

2. Call...

Exit Select

Packet Statistics

Elapsed Time:

20 days 20:42:37

Rx Packets: 1120196

Tx Packets: 71458

Exit

Network Statistics

Page 49: Asterisk Polycom Guide

Menu > Status > Network > Packet Statistics > Call…Shows information for the last (or current) call.

Copyright © 2005 Page 49

1. Features...

2. Status...

3. Settings...

Exit Select

Main Menu

1. Platform...

2. Network...

3. Lines...

4. Diagnostics...

Exit Select

Status

1. TCP/IP Parameters...

2. Ethernet...

3. Packet Statistics...

Exit Select

Network

1. Overall...

2. Call...

Exit Select

Packet Statistics

Tx Packets: 5444

Rx Packets: 5433

Lost Packets: 0

Jitter (ms): 10

Max. Jitter (ms): 14

Tx Codec: G.711 u-Law

Rx Codec: G.711 u-Law

Exit

Call Statistics

Page 50: Asterisk Polycom Guide

Setting the time and date

Keys: time, clock, rtc, tod, ntp, sntp

The SoundPoint and SoundStation IP phones maintain a time of day clock which can be displayed on the idle screen and is used for time stamps and logging purposes. This clock can only be set using the NTP protocol – it cannot be configured manually.

To configure the phone such that is always had the correct time and date is a 3 stage process:

1. Configure the phone to obtain time information from a NTP server2. Configure the time offset to suit your time zone location3. Configure the phone to compensate for daylight savings variations

Step 1:

Network Time Protocol (NTP) servers are devices which respond with a time stamp to NTP requests from an NTP client. The phone must know the IP address (or URL) of an NTP server so it can send the NTP request and obtain the correct time.

Most Windows and Linux machines can function as an NTP server, or, if your phone can route to the public internet, you can select a suitable NTP server from the list at:

http://ntp.isc.org/bin/view/Servers/WebHome#Finding_A_Time_Server

The phone can obtain the NTP server address in one of four ways:

1. As a DHCP option during the boot 2. From the provisioning server configuration file3. From the phones non-volatile memory set using either the phones menu keys or a

web browser.

The different methods require different configurations. Refer to the relevant section below:

1. To obtain the SNTP server address from the DHCP server during the phone boot process requires configuration of the DHCP server itself. The SNTP address can be provided using either DHCP option 42 (ntp server) or DHCP option 4 (time server).

A basic sample Linux DHCP servers /etc/dhcp.conf file using DHCP option 42 is shown below:

.

.subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.201 192.168.1.220; default-lease-time 86400; max-lease-time 86400; option routers 192.168.1.1; option broadcast-address 192.168.1.255; option subnet-mask 255.255.255.0; option domain-name-servers 192.168.1.100; option ntp-server 192.168.1.100; option time-offset 36000;}..

Sample dhcpd.conf file

A basic Cisco router DHCP server configuration using the DHCP option 42 is shown below:

Page 50 Copyright © 2005

Page 51: Asterisk Polycom Guide

.

.ip dhcp excluded-address 192.168.1.1 192.168.1.200ip dhcp excluded-address 192.168.1.221 192.168.1.255!ip dhcp pool polycom network 192.168.1.0 255.255.255.0 default-router 192.168.1.1 dns-server 192.168.1.100 192.168.4.5 domain-name polycom.com option 42 ip 192.168.1.100 option 2 hex 0000.8ca0 option 66 ascii "192.168.1.2" lease 0 4!..

Sample Cisco dhcp server configuration

2. For the phone to obtain the SNTP server address from the phone configuration file requires setting the tcpIpApp.sntp.address key in the configuration file. In firmware releases prior to 1.5 this key is included in the ipmid.cfg file, from release 1.5 onwards the settings are in the sip.cfg file.

Locate the relevant lines in the configuration file as shown in the sample below and set tcpIpApp.sntp.address equal to your SNTP server address:

.

. <TCP_IP> <netMon tcpIpApp.netMon.enabled="1" tcpIpApp.netMon.period="30"/> <SNTP tcpIpApp.sntp.resyncPeriod="300" … … tcpIpApp.sntp.address="192.168.1.100" … … tcpIpApp.sntp.gmtOffset="36000" … … tcpIpApp.sntp.daylightSavings.enable="1" … … tcpIpApp.sntp.daylightSavings.fixedDayEnable="0" … … tcpIpApp.sntp.daylightSavings.start.month="10" … … tcpIpApp.sntp.daylightSavings.start.date="1" … … tcpIpApp.sntp.daylightSavings.start.time="2" … … tcpIpApp.sntp.daylightSavings.start.dayOfWeek="1" … … tcpIpApp.sntp.daylightSavings.start.dayOfWeek.lastInMonth="1" … … tcpIpApp.sntp.daylightSavings.stop.month="3" … … tcpIpApp.sntp.daylightSavings.stop.date="1" … … tcpIpApp.sntp.daylightSavings.stop.time="2" … … tcpIpApp.sntp.daylightSavings.stop.dayOfWeek="1" … … tcpIpApp.sntp.daylightSavings.stop.dayOfWeek.lastInMonth="1"/>..

Fragment of sip.cfg or ipmid.cfg file

3. The phone can store the SNTP address in its non-volatile memory. To configured the SNTP address via the menu keys:

a. Press the phones Menu key:

Copyright © 2005 Page 51

1. Features...

2. Status...

3. Settings...

Exit Select

Main Menu

Page 52: Asterisk Polycom Guide

b. Select Settings:

c. Select Advanced:

d. Enter the administrator password (default: 456) and press the Enter soft key:

e. Select Admin Settings:

f. Select Network Configuration, scroll down to SNTP Address, and press the Edit soft key:

Page 52 Copyright © 2005

1. Basic...

2. Advanced...

Exit Select

Settings

Enter 1/A/a Exit

Password

1. Admin Settings...

2. Change User Password...

3. Restart Phone...

Exit Select

Advanced

1. Network Configuration...

2. SIP Configuration...

3. Reset to Default...

4. Change Admin Password...

Exit Select

Admin Settings

IP Gateway: 172.21.17.1

Server Menu: …

SNTP Address:

GMT Offset: 0

Cancel Ok

Network Configuration(a/Ascii)

1/A/a

Page 53: Asterisk Polycom Guide

g. Press the 1/A/a soft key (to allow the entering of digits rather than letters) and enter the IP address of your SNTP server, then press the Ok and Exit soft keys.

h. Press the Select soft key to save the new configuration. The SNTP server should now be regularly polled.

4. To configured the SNTP address saved in the phone non-volatile memory using a web browser enter the phones URL, for example http://192.168.0.66, into the web browser. You should see a screen similar to that shown below:

Select the General page from the home menu:

Select the Time option:

Order of selection

An NTP server address obtained from a DHCP server during the boot process will override an NTP server address obtained from a provisioning server configuration file which will override an NTP server address set via the phones menu settings.

Copyright © 2005 Page 53

Exit w/o Save

Save Config

Resume Setup

Select

Network Configuration

Enter SNTP server IP address here and

press the Submit button

Page 54: Asterisk Polycom Guide

NTP server addresses can be specified as an IP version 4 dotted decimal address or as a fully qualified domain name (FQDN) if your phone is also configured to use DNS.

Step 2:

NTP servers always supply the time as a UTC (Universal Time Co-ordinate) time and you must specify the time offset for the location that your phone is operating. For example, in Sydney Australia, the UTC offset needs to be set to 10 hours, since Sydney is 10 hours in front of UTC time.

The UTC offset can also be defined in one of four ways:

1. You can specify the time offset as a DHCP option in a similar way that the NTP server address was specified. When the offset is given as a DHCP option it must be provided in minutes, not hours. For example, on a Linux DHCP server:

.

.subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.201 192.168.1.220; default-lease-time 86400; max-lease-time 86400; option routers 192.168.1.1; option broadcast-address 192.168.1.255; option subnet-mask 255.255.255.0; option domain-name-servers 192.168.1.100; option ntp-server 192.168.1.100; option time-offset 36000;}..

Sample dhcpd.conf file

A basic Cisco router DHCP server configuration using the DHCP option 2 to define the time offset is shown below. Note that with Cisco DHCP servers, the time offset must be specified in seconds and as a hex value.

.

.ip dhcp excluded-address 192.168.1.1 192.168.1.200ip dhcp excluded-address 192.168.1.221 192.168.1.255!ip dhcp pool polycom network 192.168.1.0 255.255.255.0 default-router 192.168.1.1 dns-server 192.168.1.100 192.168.4.5 domain-name polycom.com option 42 ip 192.168.1.100 option 2 hex 0000.8ca0 option 66 ascii "192.168.1.2" lease 0 4!..

Sample Cisco dhcp server configuration

2. As with the SNTP server address, you can configure the time offset from the provisioning server configuration file. In firmware release prior to 1.5 the settings are included in the ipmid.cfg file, from release 1.5 onwards the settings are in the sip.cfg file. Locate the relevant lines in the configuration file as shown in the sample below:

.

. <TCP_IP> <netMon tcpIpApp.netMon.enabled="1" tcpIpApp.netMon.period="30"/> <SNTP tcpIpApp.sntp.resyncPeriod="300" …

Page 54 Copyright © 2005

Page 55: Asterisk Polycom Guide

… tcpIpApp.sntp.address="192.168.1.100" … … tcpIpApp.sntp.gmtOffset="36000" … … tcpIpApp.sntp.daylightSavings.enable="1" … … tcpIpApp.sntp.daylightSavings.fixedDayEnable="0" … … tcpIpApp.sntp.daylightSavings.start.month="10" … … tcpIpApp.sntp.daylightSavings.start.date="1" … … tcpIpApp.sntp.daylightSavings.start.time="2" … … tcpIpApp.sntp.daylightSavings.start.dayOfWeek="1" … … tcpIpApp.sntp.daylightSavings.start.dayOfWeek.lastInMonth="1" … … tcpIpApp.sntp.daylightSavings.stop.month="3" … … tcpIpApp.sntp.daylightSavings.stop.date="1" … … tcpIpApp.sntp.daylightSavings.stop.time="2" … … tcpIpApp.sntp.daylightSavings.stop.dayOfWeek="1" … … tcpIpApp.sntp.daylightSavings.stop.dayOfWeek.lastInMonth="1"/>..

Fragment of sip.cfg or ipmid.cfg file

3. From the phones non-volatile memory as configured via the menu

i. Press the phones Menu key:

j. Select Settings:

k. Select Advanced:

Copyright © 2005 Page 55

1. Features...

2. Status...

3. Settings...

Exit Select

Main Menu

1. Basic...

2. Advanced...

Exit Select

Settings

Enter 1/A/a Exit

Password

Page 56: Asterisk Polycom Guide

l. Enter the administrator password (default: 456) and press the Enter soft key:

m. Select Admin Settings:

n. Select Network Configuration, scroll down to GMT Offset, and press the Edit soft key:

o. Use the left and right navigation keys to change the offset to a value suitable to your location. Each press of the button alters the offset by 0.5 hour. When the correct offset is shown press the Ok and Exit soft keys.

p. Press the Select soft key to save the new configuration. The time obtained from the SNTP server should now adjusted correctly.

Step 3:

If the phones location is in a time zone where daylight savings is applied during the year, then you must configure the phone to adjust its clock as daylight savings time starts and finishes. This configuration can only be done using the provisioning server files or the web access. It cannot be done using the phones menu keys.

Page 56 Copyright © 2005

1. Admin Settings...

2. Change User Password...

3. Restart Phone...

Exit Select

Advanced

1. Network Configuration...

2. SIP Configuration...

3. Reset to Default...

4. Change Admin Password...

Exit Select

Admin Settings

IP Gateway: 172.21.17.1

Server Menu: …

SNTP Address: 172.21.17.4

GMT Offset: 0

Cancel Ok

Network Configuration(a/Ascii)

1/A/a

Exit w/o Save

Save Config

Resume Setup

Select

Network Configuration

Page 57: Asterisk Polycom Guide

The examples below will use Sydney Australia as the location. Daylight savings time in Sydney commences at 2am on the last Sunday in October and finishes at 2am on the last Sunday in March.

1. As with the previous parameters, the configuration keys in firmware release prior to 1.5 the settings are included in the ipmid.cfg file, whilst from release 1.5 onwards the settings are in the sip.cfg file. Locate the relevant lines in the configuration file as shown in the sample below:

.

. <TCP_IP> <netMon tcpIpApp.netMon.enabled="1" tcpIpApp.netMon.period="30"/> <SNTP tcpIpApp.sntp.resyncPeriod="300" … … tcpIpApp.sntp.address="192.168.1.100" … … tcpIpApp.sntp.gmtOffset="36000" … … tcpIpApp.sntp.daylightSavings.enable="1" … … tcpIpApp.sntp.daylightSavings.fixedDayEnable="0" … … tcpIpApp.sntp.daylightSavings.start.month="10" … … tcpIpApp.sntp.daylightSavings.start.date="1" … … tcpIpApp.sntp.daylightSavings.start.time="2" … … tcpIpApp.sntp.daylightSavings.start.dayOfWeek="1" … … tcpIpApp.sntp.daylightSavings.start.dayOfWeek.lastInMonth="1" … … tcpIpApp.sntp.daylightSavings.stop.month="3" … … tcpIpApp.sntp.daylightSavings.stop.date="1" … … tcpIpApp.sntp.daylightSavings.stop.time="2" … … tcpIpApp.sntp.daylightSavings.stop.dayOfWeek="1" … … tcpIpApp.sntp.daylightSavings.stop.dayOfWeek.lastInMonth="1"/>..

Fragment of sip.cfg or ipmid.cfg file

The table below, taken from the Administrator Guide, shows the meaning of each key:

AttributePermitted

ValuesDefault Interpretation

tcpIpApp.sntp.daylightSavings.enable 0,1 1If set to 1, apply daylight savings rules to displayed time.

tcpIpApp.sntp.daylightSavings.fixedDayEnable 0,1 0If set to 1, “April 1st” is used, otherwise “the first Sunday in April” is used.

tcpIpApp.sntp.daylightSavings.start.month 1-12 4Month to start DST.1=Jan, 2=Feb ... ,12=Dec

tcpIpApp.sntp.daylightSavings.start.date 1-31 1 Day of the month to start DST.

tcpIpApp.sntp.daylightSavings.start.time 0-23 2Time of day to start DST, in 24 hour clock. 2=2 am, 14=2 pm

tcpIpApp.sntp.daylightSavings.start.dayOfWeek1-7 1

Day of week to apply DST.1=Sun, 2=Mon ... , 7=Sat

tcpIpApp.sntp.daylightSavings.start.dayOfWeek.lastInMonth0,1 0

If set to 1 and fixedDayEnable=0, start DST on the last day of the week (specified by dayOfWeek) in the month, rather than the first in the month.

tcpIpApp.sntp.daylightSavings.stop.month 1-12 10Month to stop DST.1=Jan, 2=Feb ... ,12=Dec

tcpIpApp.sntp.daylightSavings.stop.date 1-31 1 Day of the month to stop DST.

tcpIpApp.sntp.daylightSavings.stop.time 0-23 2Time of day to stop DST, in 24 hour clock. 2=2 am, 14=2 pm

tcpIpApp.sntp.daylightSavings.stop.dayOfWeek 1-7 1Day of week to stop DST. 1=Sun, 2=Mon ... , 7=Sat

tcpIpApp.sntp.daylightSavings.stop.dayOfWeek.lastInMonth 0, 1 1

If set to 1 and fixedDayEnable=0, stop DST on the last day of the week (specified by dayOfWeek) in the month, rather than the first in the month.

Copyright © 2005 Page 57

Page 58: Asterisk Polycom Guide

2. To configure the daylight savings settings using a web browser, enter the phones URL, for example http://192.168.0.66, into the web browser. You should see a screen similar to that shown below:

Select the General page from the home menu:

Select the Time option:

Page 58 Copyright © 2005

Configure the settings here as per

above table and press the Submit

button

Page 59: Asterisk Polycom Guide

Allocating VLANs

Keys: VLAN

VLANs play an important role in any VoIP network, providing segregated voice and data paths and allowing security and QoS policies to be optimised for each specific application.

The SoundPoint and SoundStation IP phones support VLANs and can place their voice traffic into any given VLAN whilst passing data traffic from any attached PC through on the so called native VLAN of the 802.1q link to the access switch.

By default, the voice VLAN is unspecified, meaning voice traffic and data traffic are untagged and both are transported in the native VLAN.

The voice VLAN can be specified:

Manually, using the menus on the phone Automatically, handed out as a DHCP option Automatically, using CDP (Cisco Discovery Protocol)

It is not possible to specify the VLAN using the configuration files or the phones web interface.

If the VLAN is specified by more than one of the above methods, then the allocation will take place in this order: allocation via CDP will override a manual allocation which will override a DHCP allocation.

To manually define the VLAN use the phones menu keys and follow the steps shown below. You can also access similar configuration screens by pressing the setup key when offered during the phone boot process.

1. Press the phones Menu key:

2. Select Settings:

3. Select Advanced:

Copyright © 2005 Page 59

Menu

1. Features...

2. Status...

3. Settings...

Exit Select

Main Menu

1. Basic...

2. Advanced...

Exit Select

Settings

Page 60: Asterisk Polycom Guide

4. Enter the administrator password (default: 456) and press the Enter soft key:

5. Select Admin Settings:

6. Select Network Configuration:

7. Scroll down to VLAN ID and press the Edit soft key:

8. Enter the desired VLAN, press the Ok soft key then the Exit soft key:

9. Press the Select soft key. The new voice VLAN is now allocated but the phone needs to be manually rebooted for it to operate correctly.

Page 60 Copyright © 2005

Enter 1/A/a Exit

Password

1. Admin Settings...

2. Change User Password...

3. Restart Phone...

Exit Select

Advanced

1. Network Configuration...

2. SIP Configuration...

3. Reset to Default...

4. Change Admin Password...

Exit Select

Admin Settings

DNS Alt. Server: 172.21.17.7

DNS Domain:

CDP: Enabled

VLAN ID:

Exit Edit

Network Configuration

DNS Alt. Server: 172.21.17.7

DNS Domain:

CDP: Enabled

VLAN ID: 95

Cancel Ok

Network Configuration

Exit w/o Save

Save Config

Resume Setup

Select

Network Configuration

Page 61: Asterisk Polycom Guide

To configure the phone to accept a VLAN allocation from the DHCP server:

1. Press the phones Menu key:

2. Select Settings:

3. Select Advanced:

4. Enter the administrator password (default: 456) and press the Enter soft key:

5. Select Admin Settings:

6. Select Network Configuration:

Copyright © 2005 Page 61

Menu

1. Features...

2. Status...

3. Settings...

Exit Select

Main Menu

1. Basic...

2. Advanced...

Exit Select

Settings

Enter 1/A/a Exit

Password

1. Admin Settings...

2. Change User Password...

3. Restart Phone...

Exit Select

Advanced

1. Network Configuration...

2. SIP Configuration...

3. Reset to Default...

4. Change Admin Password...

Exit Select

Admin Settings

Page 62: Asterisk Polycom Guide

7. Ensure that DHCP client is enabled and scroll to DHCP menu and press the Select soft key:

8. Scroll to VLAN Discovery and press the Edit soft key:

At this point you will find that the VLAN Discovery field can be set to one of three values:

Disabled – DHCP discovery of the VLAN is not used. Fixed – DHCP discovery of the VLAN is enabled and DHCP will look for the ID in

DHCP options 128, 144, 157, or 191. Custom – DHCP discovery of the VLAN is enabled and DHCP will look for the ID

in the DHCP option specified in the “VLAN ID Opt” field.

Use the phones arrow keys to select either “Fixed” or “Custom” depending on which DHCP option you wish to use. Once selected, press the Ok soft key.

10. If you have selected the Fixed option, press the Exit soft key twice and skip to step 12

11. If you selected Custom, scroll down to the VLAN ID Opt field, press the Edit soft key, enter the DHCP option you wish to use to supply the VLAN ID, press the Ok soft key and then press the Exit soft key

Page 62 Copyright © 2005

DHCP Client: Enabled

DHCP Menu:

Phone IP Addr: 172.21.1.6

Subnet Mask: 000.000.0..

Exit Select

Network Configuration

...

BootSrv Opt: 150

BootSrv Type: IP address

VLAN Discovery:

VLAN ID Opt: 129

Exit Edit

DHCP Menu

Disabled

BootSrv Opt: 150

BootSrv Type: IP address

VLAN Discovery:

VLAN ID Opt: 129

Exit Edit

DHCP Menu

Fixed

BootSrv Opt: 150

BootSrv Type: IP address

VLAN Discovery: Custom

VLAN ID Opt: 129

Exit Edit

DHCP Menu

129

Page 63: Asterisk Polycom Guide

12. Press the Select soft key. The phone will now look for the VLAN ID in the DHCP options specified. To force the phone to perform the DHCP cycle it should to be manually rebooted after the new configuration is saved.

To configure the phone to accept VLAN allocation via CDP, it is necessary only to enable CDP. Refer to the FAQ entry for enabling CDP.

Copyright © 2005 Page 63

Exit w/o Save

Save Config

Resume Setup

Select

Network Configuration

Page 64: Asterisk Polycom Guide

Configuring idle display bitmaps

Keys:

The screen area on the SoundPoint IP phones that is normally unused when the phone is idle may be used to display a customisable bitmap known as the idle image. Idle images can be static or animated and may be used on the IP500, IP501, IP600, IP601, and IP4000 phones.

The characteristics of the idle image vary with phone models as shown in the table below:

IP500 / IP501 IP600 / IP601 IP4000

Width 114 209 150

Height 51 109 33

Bytes 3,178 11,890 2,626

Aspect ratio 2.2:1 1.9:1 4.5:1

Colour depth for all phone images is 4 bits, providing 16 greyscales.

Idle displays may only be created using the phone configuration files – it is not possible to configure this feature using the menu keys or the web browser.

All configuration keys reside by default in the sip.cfg file and thus affect all phones using that configuration file. To create independent images on different phones, the same keys may be placed into the relevant phone1.cfg file. There are five keys within four sections of the sip.cfg file where keys may need to be changed to create the idle display:

Within the “<bitmaps>” and “</bitmaps>” tags. This is where the basic list of all bitmap images used in each model of phone is kept. Each phone model has its own tag for each image that is referenced by an index number. The keys within the “bitmaps” tags take the form: “bitmap.x.y.name” where:

x represent the phone modelo IP_500 for the IP500 and IP501o IP_600 for the IP600 and IP601o IP_4000 for the IP4000

y represents the bitmap index

Within the “<Animations>” and “</Animations>” tags. This is where the individual frames of any animated bitmap are defined. Each phone model has its own tag for each frame of each animated bitmap and its own tag for the duration (in milliseconds) of each frame for each animated bitmap. Since a static bitmap is considered an animated bitmap with only a single frame, even a non animated bitmap is defined in this section – in this case its duration is set to 0, indicating an infinite duration. The keys within the “Animations” tags take the form: “ind.anim.x.y.frame.z.bitmap” and “ind.anim.x.y.frame.z.duration” where:

x represent the phone modelo IP_500 for the IP500 and IP501o IP_600 for the IP600 and IP601o IP_4000 for the IP4000

y represents the bitmap index z represents the animated frame number

Within the “<indicators> and “<indicators>” tags there is the single key used to enable the idle display feature; “ind.idleDisplay.enabled”.

Page 64 Copyright © 2005

Page 65: Asterisk Polycom Guide

Within the “<resource> and “</resource>” tags there is a single key used to define how much memory is reserved for each bitmap image; “res.quotas.2.value”. By default, this is set to 10, reserving 10k bytes of memory for bitmaps. It can be seen by checking the bitmap sizes shown in the table above, that a full bitmap image on the IP 600 will require more than the 10k bytes reserved by default. This setting for this key must be large enough to cover all bitmap images for all phone models.

The best way to understand the use of this feature is by example.

A static idle bitmap for the IP600 phone

1. Firstly, create a bitmap image of size 209 pixels by 109 pixels and with a colour depth of 16 (4 bits). Save this bitmap image in a file called test.bmp and place it on your boot server in a location accessible from the phone.

2. Open the sip.cfg file with a text editor then locate the line starting with the text “<bitmaps>”. A few lines below that you can find the keys for the IP600 bitmaps – these keys will all start with “bitmap.IP_600”. Identify the last bitmap key and note its number – in the example shown below, the last key is bitmap.IP_600.69.name and the index is the number 69 from that key.

.

. <bitmaps> <IP_300 … /> <IP_500 … /> <IP_600 … bitmap.IP_600.69.name=”CtxACDLogout”/> <IP_4000 … /> </bitmaps>..

Fragment from sip.cfg

3. For our example, we use the next free index, 70 in this example. The next free index will vary with phone model and may vary between software releases – always check the last one in use. Add a new key with an index of 70 and pointing to our example bitmap file as shown below:

.

.<bitmaps> <IP_300 … /> <IP_500 … /> <IP_600 … bitmap.IP_600.69.name=”CtxACDLogout” bitmap.IP_600.70.name=”test.bmp”/> <IP_4000 … /></bitmaps>..

Fragment from sip.cfg

4. Next, in the same file, locate the line starting with the text “<animations>”, then locate the line starting with “<IP_600>” that follows it (this will be 100 or so lines later), and finally locate the next line that starts with “<IDLE_DISPLAY “.

.<animations> <IP_300> . </IP_300/> <IP_500> . </IP_500/> <IP_600> .

Copyright © 2005 Page 65

Page 66: Asterisk Polycom Guide

<IDLE_DISPLAY ind.anim.IP_600.38.frame.1.bitmap="IdleDefault" … … ind.anim.IP_600.38.frame.1.duration="0"/> . </IP_600/> <IP_4000/> . </IP_4000/></animations>..

Fragment from sip.cfg

5. Change the key ind.anim.IP_600.38.frame.1.bitmap to point to the example bitmap as shown below. For this example we leave the ind.anim.IP_600.38.frame.duration key at its default time of 0 (meaning display forever, no animation).

.<animations> . . <IP_600> . <IDLE_DISPLAY ind.anim.IP_600.38.frame.1.bitmap="test.bmp" … … ind.anim.IP_600.38.frame.1.duration="0"/> . </IP_600/> . .</animations>..

Fragment from sip.cfg

6. Again in the same file, search for the key “ind.idleDisplay.enabled” and ensure this is set to 1 as shown below:

.</bitmaps><indicators ind.idleDisplay.enabled="1"> <Animations>.

Fragment from sip.cfg

7. Finally, locate the key “res.quotas.2.value” and change it to 20 as shown below:

. <resource> <finder res.finder.sizeLimit="300"/> <quotas … res.quotas.2.name="bitmap" res.quotas.2.value="20" …/> </resource>.

Fragment from sip.cfg

8. Save the modified sip.cfg file to your boot server and reboot the SoundPoint or SoundStation IP phone. The idle display should show the bitmap image test.bmp.

An animated idle display image on an IP500

1. Firstly, create the bitmap images for each frame of the desired animation. Each bitmap should have a size 114 pixels by 51 pixels and a colour depth of 16 (4 bits). For the purpose of this example we will create 5 bitmap images named test1.bmp through to test5.bmp. Save these bitmap images in a location on your boot server that is accessible from the phone.

2. Open the sip.cfg file with a text editor then locate the line starting with the text “<bitmaps>”. A few lines below that you can find the keys for the IP500 bitmaps – these keys will all start with “bitmap.IP_500”. Identify the last bitmap key and note its

Page 66 Copyright © 2005

Page 67: Asterisk Polycom Guide

number – in the example shown below, the last key is bitmap.IP_500.65.name and the index is the number 65 from that key.

.

. <bitmaps> <IP_300 … /> <IP_500 … bitmap.IP_500.65.name=”CtxACDLogout”/> <IP_600 … /> <IP_4000 … /> </bitmaps>..

Fragment from sip.cfg

3. For our example, we use the next 5 free indexes, 66 through to 70 in this example. The next free index will vary with phone model and may vary between software releases – always check the last one in use. Add the new keys pointing to our example bitmap files as shown below:

.

.<bitmaps> <IP_300 … /> <IP_500 … bitmap.IP_500.65.name=”CtxACDLogout” … … bitmap.IP_500.66.name=”test1.bmp” … … bitmap.IP_500.67.name=”test2.bmp” … … bitmap.IP_500.68.name=”test3.bmp” … … bitmap.IP_500.69.name=”test4.bmp” … … bitmap.IP_500.70.name=”test5.bmp”/> <IP_600 … /> <IP_4000 … /></bitmaps>..

Fragment from sip.cfg

4. Next, in the same file, locate the line starting with the text “<animations>”, then locate the line starting with “<IP_500>” that follows it (this will be 50 or so lines later), and finally locate the next line that starts with “<IDLE_DISPLAY “.

.<animations> <IP_300> . </IP_300/> <IP_500> . <IDLE_DISPLAY ind.anim.IP_500.38.frame.1.bitmap="IdleDefault" … … ind.anim.IP_500.38.frame.1.duration="0"/> . </IP_500/> <IP_600> . </IP_600/> <IP_4000/> . </IP_4000/></animations>..

Fragment from sip.cfg

5. Change the key ind.anim.IP_500.38.frame.1.bitmap to point to the example bitmap and set the ind.anim.IP_500.38.frame.1.duration key to the length of time in milliseconds you want to show this frame (in our example we will use 1000 milliseconds). Add new keys for frame 2, 3, 4, and 5 as shown below:

Copyright © 2005 Page 67

Page 68: Asterisk Polycom Guide

.<animations> . . <IP_500> . <IDLE_DISPLAY ind.anim.IP_500.38.frame.1.bitmap="test1.bmp" … … ind.anim.IP_500.38.frame.1.duration="1000" … … ind.anim.IP_500.38.frame.2.bitmap="test2.bmp" … … ind.anim.IP_500.38.frame.2.duration="1000" … … ind.anim.IP_500.38.frame.3.bitmap="test3.bmp" … … ind.anim.IP_500.38.frame.3.duration="1000" … … ind.anim.IP_500.38.frame.4.bitmap="test4.bmp" … … ind.anim.IP_500.38.frame.4.duration="1000" … … ind.anim.IP_500.38.frame.5.bitmap="test5.bmp" … … ind.anim.IP_500.38.frame.6.duration="1000"/> . </IP_600/> . .</animations>..

Fragment from sip.cfg

6. Again in the same file, search for the key “ind.idleDisplay.enabled” and ensure this is set to 1 as shown below:

.</bitmaps><indicators ind.idleDisplay.enabled="1"> <Animations>.

Fragment from sip.cfg

7. Finally, locate the key “res.quotas.2.value” and ensure it is large enough to hold all the bitmap images. In this example, each bitmap is about 3.2k bytes and there are 5 images. Change it to 20 as shown below:

. <resource> <finder res.finder.sizeLimit="300"/> <quotas … res.quotas.2.name="bitmap" res.quotas.2.value="20" …/> </resource>.

Fragment from sip.cfg

8. Save the modified sip.cfg file to your boot server and reboot the SoundPoint IP phone. The idle display should show the bitmap image test1.bmp, 1 second later it will show test2.bmp, 1 more second later it will show test3.bmp, and so on up to test5.bmp. This will cycle indefinitely.

Page 68 Copyright © 2005

Page 69: Asterisk Polycom Guide

CDP on the phones

Keys: CDP, VLAN, power, PoE

All SoundPoint and SoundStation SIP IP phones support CDP (Cisco Discovery Protocol).

CDP plays two important roles for the phone:

When using PoE, CDP can help the switch determine how much power is required by the phone to operate. Refer to the FAQ entry on power over Ethernet for more information on this subject.

CDP can also be used to allocate VLANs. Refer to the FAQ entry for VLANs for more information on CDP allocation of VLANs.

CDP settings can only be configured through the phones menu selections. To change the setting:

1. Press the phones Menu key:

2. Select Settings:

3. Select Advanced:

4. Enter the administrator password (default: 456) and press the Enter soft key:

5. Select Admin Settings:

Copyright © 2005 Page 69

Menu

1. Features...

2. Status...

3. Settings...

Exit Select

Main Menu

1. Basic...

2. Advanced...

Exit Select

Settings

Enter 1/A/a Exit

Password

1. Admin Settings...

2. Change User Password...

3. Restart Phone...

Exit Select

Advanced

Page 70: Asterisk Polycom Guide

6. Select Network Configuration:

7. Scroll down to the CDP entry and press the Edit key

8. Use the phones arrow keys to choose either Enabled or Disabled as desired, then press the Ok soft key

9. Press the Select soft key. The phone will now use send and receive CDP packets.

Page 70 Copyright © 2005

1. Network Configuration...

2. SIP Configuration...

3. Reset to Default...

4. Change Admin Password...

Exit Select

Admin Settings

DNS Server: 000.000…

DNS Alt. Server: 000.000…

DNS Domain:

CDP:

Exit Edit

Network Configuration

Disabled

DNS Server: 000.000…

DNS Alt. Server: 000.000…

DNS Domain:

CDP:

Cancel Ok

Network Configuration

Disabled

Exit w/o Save

Save Config

Resume Setup

Select

Network Configuration

Page 71: Asterisk Polycom Guide

Manually rebooting a phone

Keys:

The SoundPoint and SoundStation IP phones may be manually rebooted using either the menu selections or via a special key press combination.

The phones may be rebooted through the menu sequence shown below:

1. Press the phones Menu key:

2. Select Settings:

3. Select Advanced:

4. Enter the administrator password (default: 456) and press the Enter soft key:

5. Select Admin Settings:

6. Press the Yes soft key:

Copyright © 2005 Page 71

Menu

1. Features...

2. Status...

3. Settings...

Exit Select

Main Menu

1. Basic...

2. Advanced...

Exit Select

Settings

Enter 1/A/a Exit

Password

1. Admin Settings...

2. Change User Password...

3. Restart Phone...

Exit Select

Advanced

Are you sure?

Exit Yes

Restart Phone

Page 72: Asterisk Polycom Guide

To reboot the phones using the key press combination, locate the relevant diagram for the phone below, and press and hold down the 4 keys highlighted keys for several seconds. A brief sound will be made and the phone will reboot.

IP300 and IP301 combination: IP500 and IP501 key combination:

IP600 and IP601 key combination: IP4000 key combination:

Page 72 Copyright © 2005

Page 73: Asterisk Polycom Guide

Restoring factory defaults

Keys:

The SoundPoint and SoundStation IP phones may be restored to factory default settings using either the menu selections or via a special key press combination.

Resetting a phone to factory defaults will configure the phone as per the Administrators Guide for the relevant release. Please refer to that document to identify the default settings for the various configuration items.

Factory defaults specifically include:

All IP Parameters FTP User Name and PW Custom (self signed) SSL Certificates User and Admin Passwords

These items are not affected:

Application firmware Boot firmware Configuration files Configuration over rides

To restore the factory defaults follow the menu sequence shown below:

1. Press the phones Menu key:

2. Select Settings:

3. Select Advanced:

4. Enter the administrator password (default: 456) and press the Enter soft key:

Copyright © 2005 Page 73

Menu

1. Features...

2. Status...

3. Settings...

Exit Select

Main Menu

1. Basic...

2. Advanced...

Exit Select

Settings

Enter 1/A/a Exit

Password

Page 74: Asterisk Polycom Guide

5. Select Admin Settings:

6. Select Reset to Default

7. Select Reset Device Setting

8. Press the Yes soft key:

To restore the factory defaults using the key press combination press and hold the down for several seconds, the 4 keys (4, 6, 8, *) highlighted below. A brief sound will be made and the defaults will be restored. (Note this key combination is the same on all phones).

Page 74 Copyright © 2005

1. Admin Settings...

2. Change User Password...

3. Restart Phone...

Exit Select

Advanced

1. Network Configuration...

2. SIP Configuration...

3. SSL Security...

4. Reset to Default...

Exit Select

Admin Settings

1. Reset Local Config...

2. Reset Device Setting...

3. Format File System...

4. Reset to Default...

Exit Select

Reset to Default

Are you sure?

Exit Yes

Reset Device Setting

Page 75: Asterisk Polycom Guide

Removing configuration over rides

Keys:

Configuration changes made to the SoundPoint and SoundStation IP phones via the menu keys or a web browser are stored locally in flash memory and also written back to the boot server (if so configured). To delete these settings you must use the phones menu keys as follows:

1. Press the phones Menu key:

2. Select Settings:

3. Select Advanced:

4. Enter the administrator password (default: 456) and press the Enter soft key:

5. Select Admin Settings:

6. Select Reset to Default

Copyright © 2005 Page 75

Menu

1. Features...

2. Status...

3. Settings...

Exit Select

Main Menu

1. Basic...

2. Advanced...

Exit Select

Settings

Enter 1/A/a Exit

Password

1. Admin Settings...

2. Change User Password...

3. Restart Phone...

Exit Select

Advanced

1. Network Configuration...

2. SIP Configuration...

3. SSL Security...

4. Reset to Default...

Exit Select

Admin Settings

Page 76: Asterisk Polycom Guide

7. Select Reset Local Config

8. Press the Yes soft key. The phone will restart.

Notes:1. For application releases later than 1.5, the above sequence on the phone will also

clear any configuration over ride files that may have been written back to the boot server.

2. For application releases prior to 1.5, you must manually delete these files. Locate the file named <mac-address>-phone.cfg and remove it. This must be done before the phone restarts otherwise the over rides will be read back into the phones flash memory.

Page 76 Copyright © 2005

1. Reset Local Config...

2. Reset Device Setting...

3. Format File System...

4. Reset to Default...

Exit Select

Reset to Default

Are you sure?

Exit Yes

Reset Device Setting