Sie sind auf Seite 1von 81

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

Document History 0 1 Draft Release 28th September 2005 7th November 2005

Please send any questions, comments, or feedback to peter.johnson@polycom.com.

Copyright 2005

Introduction....................................................................................................................5 Creating a basic configuration........................................................................................6 Adding line busy lamps................................................................................................16 Paging a group of extensions........................................................................................20 Enabling auto answer...................................................................................................24 Using the group or directed call pickup function.........................................................26 Using the call park feature............................................................................................27 Using the phone to send and receive text messages.....................................................28 Disabling call waiting on the phones...........................................................................29 Remotely rebooting the phone to force a configuration reload....................................31 Using the Services button.............................................................................................33 Phone firmware............................................................................................................39 Support for PoE............................................................................................................40 Cables for IP300/301, IP500/501:............................................................................41 Power consumption:.................................................................................................41 Digit map......................................................................................................................42 Digit Map Examples.................................................................................................45 One way voice or no voice...........................................................................................46 Access for diagnostic or control purposes....................................................................47 Setting the time and date..............................................................................................53 Allocating VLANs.......................................................................................................63 Configuring idle display bitmaps.................................................................................68 A static idle bitmap for the IP600 phone..................................................................69 An animated idle display image on an IP500...........................................................71 CDP on the phones.......................................................................................................74 Manually rebooting a phone.........................................................................................76 Restoring factory defaults............................................................................................78 Removing configuration over rides..............................................................................80

Copyright 2005

Index

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

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=8036username secret=8036password mailbox=8036@default type=friend host=dynamic dtmfmode=rfc2833 context=polycom canreinvite=yes callerid="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,u8036

Page 6

Copyright 2005

exten => 8036,102,VoiceMail,b8036 . . Fragment from extensions.conf

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.

Copyright 2005

Page 7

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

. . 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

e.

f.

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. 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. When the phone display shows something similar to this:

Page 8

Copyright 2005

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).

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 l. m. n. o.
previously described configuration files are located. 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. Set the Server Password to the password for the above mentioned Server User. By default the Server Password is PlcmSpIp. Set the Provisioning Method to Default, refer to the administrators guide for other options. 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:

Copyright 2005

Page 9

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.

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):
Enter the extension defined in Asterisk here. (eg. 8036)

Page 10

Copyright 2005

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.

h. Once the phone has restarted from the above step it should register with your
Asterisk server. 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.

Copyright 2005

Page 11

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.
Menu

Main Menu

f. Using the phones arrow


keys, scroll down to Settings and press the Select soft key:

1. Features... 2. Status... 3. Settings...

Exit

Select

Page 12

Copyright 2005

Settings

g. Scroll down to Advanced and


press the Select soft key:

1. Basic... 2. Advanced...

Exit Password

Select

h. Enter the administrator


password (by default 456) and press the Enter soft key:
Enter 1/A/a Advanced 1. Admin Settings... Exit

i. Press the Select soft key to


choose Admin Settings:

2. Change User Password... 3. Restart Phone...

Exit Admin Settings 1. Network Configuration...

Select

j. Scroll to SIP Configuration


and press the Select soft key:

2. SIP Configuration... 3. Reset to Default... 4. Change Admin Password...

Exit SIP Configuration Server: ... ... ... No ... Exit SIP Configuration Address:

Select

k. Press the Select soft key to


choose the Server settings:

Outbound Proxy: RFC2543 Hold: Calls Per Line Key:

Select

l. Press the Edit soft key to set


the server address:

Port: DNS Lookup: Register:

5060 Naptr Yes Exit Edit

Copyright 2005

Page 13

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.
Address: Port:

Server (a/Ascii)

5060 Naptr Yes

DNS Lookup: Register:

1/A/a

Cancel

Ok

Server (1/Ascii) Address: 172.21.6.1 5060 Naptr Yes 1/A/a Cancel Ok

n. Press the Ok soft key and


then the Exit soft key:

Port: DNS Lookup: Register:

SIP Configuration Outbound Proxy: ... No ...

o. Scroll down to Line 1 and


press the Select soft key:

RFC2543 Hold: Calls Per Line Key: Line 1:

Exit Line 1 Display Name:

Select

p. Scroll to Address, press the


Edit soft key:

Address: Calls Per Line Key: Type: Private Exit Line 1(1/Ascii) Edit

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.

Display Name: Address: Calls Per Line Key: Type: Private 1/A/a Cancel Line 1 Type: Third Party Name: Auth User ID: Auth Password: Private Exit Edit Private Ok 8036

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.

Page 14

Copyright 2005

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.
Type:

Line 1 Private 8036user

Third Party Name: Auth User ID: Auth Password: Private Exit SIP Configuration Edit

t. Press the Select soft key.


The phone will restart and when completed, the line will register with the Asterisk server.
Exit w/o Save Save Config Resume Setup

Select

Copyright 2005

Page 15

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=8003username secret=8003password mailbox=8003@default type=friend host=dynamic dtmfmode=rfc2833 context=polycom canreinvite=yes callerid="Polycom Demo 1" <8003> [8027] username=8027username secret=8027password mailbox=8027@default type=friend host=dynamic dtmfmode=rfc2833 context=polycom canreinvite=yes callerid="Polycom Demo 2" <8027> [8036] username=8036username secret=8036password mailbox=8036@default type=friend host=dynamic dtmfmode=rfc2833 context=polycom canreinvite=yes callerid="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:
Page 16 Copyright 2005

. . <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.
Copyright 2005 Page 17

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. 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/8003 exten => 8027,hint,SIP/8027 exten => 8036,hint,SIP/8036 exten => 8003,1,Dial(SIP/8003,25) exten => 8003,2,VoiceMail,u8003 exten => 8003,102,VoiceMail,b8003 exten => 8027,1,Dial(SIP/8027,25) exten => 8027,2,VoiceMail,u8027 exten => 8027,102,VoiceMail,b8027 exten => 8036,1,Dial(SIP/8036,25) exten => 8036,2,VoiceMail,u8036 exten => 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 subscriptions Peer User Call ID 172.21.17.57 8003 c89cf3f5-e930279b-73d 172.21.17.57 8003 8c685d3a-d1f9a0a0-441 172.21.17.29 8027 26c3cd9f-c19f8c5-5ca7 172.21.17.29 8027 75693924-8bb2240a-d53 172.21.17.164 8036 c20aae4f-e8a9b59-b3e3 172.21.17.164 8036 8330f80a-303a6534-deb 0 active SIP subscriptions(s)

URI sip:8003@172.21 sip:8003@172.21 sip:8027@172.21 sip:8027@172.21 sip:8036@172.21 sip:8036@172.21

Page 18

Copyright 2005

. . Asterisk sip show subscriptions command

How this works: 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.

Copyright 2005

Page 19

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 = amp111 deny=0.0.0.0/0.0.0.0 permit=127.0.0.1/255.255.255.0 permit=172.21.17.160/255.255.255.0 read = system,call,log,verbose,command,agent,user write = 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!

Page 20

Copyright 2005

#!/usr/bin/perl # Copyright (C) 2004 Coalescent Systems Inc. (info@coalescentsystems.ca) # 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

Copyright 2005

Page 21

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'); $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)

Page 22

Copyright 2005

. . 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 <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.

Copyright 2005

Page 23

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, lets 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,u8027 exten => 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,u8027 exten => 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.

Page 24

Copyright 2005

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 <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.

Copyright 2005

Page 25

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, heres 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:groupcallpickup@172.21.17.160:5060 SIP/2.0 Via: SIP/2.0/UDP 172.21.17.164;branch=z9hG4bK2c958993779C4EC6 From: "8043" <sip:8043@172.21.17.160>;tag=C83049A5-DA366D2 To: <sip:groupcallpickup@172.21.17.160> CSeq: 1 SUBSCRIBE Call-ID: 4c8ff519-bebd151f-370a288c@172.21.17.164 Contact: <sip:8043@172.21.17.164> Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, INFO, MESSAGE, SUBSCRIBE, NOTIFY, PRACK, UPDATE, REFER Event: dialog User-Agent: PolycomSoundPointIP-SPIP_600-UA/1.5.2.0054 Accept: application/dialog-info+xml Max-Forwards: 70 Expires: 0 Content-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.

Page 26

Copyright 2005

Using the call park feature Keys: call park In short, this feature cannot be used with Asterisk, heres 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:8036@172.21.17.160 SIP/2.0 Via: SIP/2.0/UDP 172.21.17.164;branch=z9hG4bKdb9d416cA7133B5F From: "8043" <sip:8043@172.21.17.160>;tag=5C7B0F84-CF44AA0D To: <sip:8036@172.21.17.160;user=phone>;tag=as1d52a22c CSeq: 3 REFER Call-ID: fc9e37b0-6848fcc2-a4cceeb3@172.21.17.164 Contact: <sip:8043@172.21.17.164> User-Agent: PolycomSoundPointIP-SPIP_600-UA/1.5.2.0054 Refer-To: sip:callpark@172.21.17.160;orbit=70 Referred-By: "8043" <sip:8043@172.21.17.160> Proxy-Authorization: Digest username="8043", realm="asterisk", nonce="7ec65337", uri="sip:8036@172.21.17.160:5060;user=phone", response="73d8dc28a6d57f5ea829059d65747058", algorithm=MD5 Max-Forwards: 70 Content-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.

Copyright 2005

Page 27

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,Answer exten => 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.

Page 28

Copyright 2005

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.
Attribute Permitted Values Defaul t Interpretation 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. The number of line keys on the phone to be associated with registration x. reg.x.lineKeys 1 to max 1 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 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. If set to 1, an incoming call received when another call is active will change the User Interface focus (call appearance and soft keys).

call.callsPerLineKey

1 to 24 or 1 to 8

24 or 8

reg.x.callsPerLineKey

1 to 24 or 1 to 8

24 or 8

call.callWaiting.prompt

0, 1

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
Copyright 2005 Page 29

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.

Page 30

Copyright 2005

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 2.


will check the provisioning server and only reboot if any of the files listed in [mac].cfg have changed. 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.0 Via: SIP/2.0/UDP $phone From: <sip:asterisk\@$phone> To: <sip:$ext\@$phone> Event: check-sync Date: $httptime Call-ID: $call_id\@$phone CSeq: 1300 NOTIFY Contact: <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" }

Copyright 2005

Page 31

Perl script

Note:

In more recent versions of Asterisk, the ability to send a check-sync notify is built in and 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)

Page 32

Copyright 2005

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 structure o html, head, title, body Due to space constraints, there isnt 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. Text o 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. Formatting o i, b, u, hr Hypertext o a Basic Forms o 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. Image o 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. Links In 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 IP 600 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=""/>

Copyright 2005

Page 33

</microbrowser> . . Fragment from sip.cfg

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>

Page 34

Copyright 2005

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> <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 example of some of the uses for the Polycom XHTML Micro Browser.</p> <p>The <a href="/cgi-bin/inspiration">daily inspiration </a> link shows a short, 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 Browser can 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.

Copyright 2005

Page 35

#!/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 "", "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 )

Page 36

Copyright 2005

{ 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 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:
Copyright 2005 Page 37

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 38

Copyright 2005

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 1.x 2.0.x, 2.1.x 2.2.x 2.3.x, 2.4.x 2.5.x 2.6.x 3.0.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. Upgrade 2.x, 3.x 2.5.x, 2.6.x, 3.x 3.x 3.x 3.x Downgrade 1.x 1.x, 2.0.x, 2.1.x 1.x, 2.0.x, 2.1.x, 2.2.x 1.x, 2.0.x, 2.1.x, 2.2.x 1.x, 2.0.x, 2.1.x, 2.2.x 1.x, 2.x

Copyright 2005

Page 39

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 prestandard 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 IP601 IP600 IP501 mains IP501 PoE IP500 mains IP500 PoE IP301 mains IP301 PoE IP300 mains IP300 PoE Notes: Cisco pre-standard PoE 802.3af PoE

Note 1 Note 1 Note 1 Note 1

Note 2 Note 2 Note 2 Note 2 Note 2 Note 2 Note 2 Note 2

Note 3 Note 3 Note 3 Note 3

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-002 3. For this model to use 802.3af PoE, also order part #2200-11077-002

Page 40

Copyright 2005

Cables for IP300/301, IP500/501:

802.3af PoE Cable Male RJ-45 connector to phone Female RJ-45 connector for network

Cisco pre-standard PoE cable Male 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 IP300 IP301 IP500 IP501 IP600 IP601 IP601 EM IP4000 2.6w 2.8w 3.3w 3.6w 4.1w 4.6w 1.9w (each unit) Advertised by CDP2 6w 6w 6w 6w 6w 15.4w N/A Detected by 802.3af3 Class 0 (15.4w) Class 0 (15.4w) Class 0 (15.4w) Class 0 (15.4w) Class 0 (15.4w) Class 0 (15.4w) Class 0 (15.4w)

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 3.
within the power budget. CDP can be used with Cisco pre-standard or 802.3af power over Ethernet. 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 41

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:


Page 42

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
Copyright 2005

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:

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.

Copyright 2005

Page 43

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. 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:

Equivalent to the configuration file key dialplan.digitmap Equivalent to the configuration file key dialplan.digitmap.timeOut Equivalent to the configuration file key dialplan.removeEndOfDial Equivalent to the configuration file key dialplan.impossibleMatchHandling

Page 44

Copyright 2005

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]11
This 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. 0T This 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. 011xxx.T This 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. [0-1][2-9]xxxxxxxxx This 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. [2-9]xxxxxxxxx This 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. [2-9]xxxT This 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.

2.

3.

4.

5.

6.

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 45

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 46

Copyright 2005

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:
Main Menu 1. Features... 2. Status... 3. Settings...

Exit

Select

Status 1. Platform... 2. Network... 3. Lines... 4. Diagnostics... Exit Select

Line Information

Line 1: 8036 (Registered 260:24:17) Server-1: 172.21.17.160

Exit

Copyright 2005

Page 47

Menu > Status > Network > TCP/IP Parameters View the phones active TCP/IP settings.
Main Menu 1. Features... 2. Status... 3. Settings...

Exit

Select

Status 1. Platform... 2. Network... 3. Lines... 4. Diagnostics... Exit Select

Network 1. TCP/IP Parameters... 2. Ethernet... 3. Packet Statistics...

Exit

Select

TCP/IP Parameters 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

Page 48

Copyright 2005

Menu > Status > Network > Ethernet View the phones current Ethernet configuration.
Main Menu 1. Features... 2. Status... 3. Settings...

Exit

Select

Status 1. Platform... 2. Network... 3. Lines... 4. Diagnostics... Exit Select

Network 1. TCP/IP Parameters... 2. Ethernet... 3. Packet Statistics...

Exit

Select

Ethernet 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

Copyright 2005

Page 49

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

1. Features... 2. Status... 3. Settings...

Exit

Select

Status 1. Platform... 2. Network... 3. Lines... 4. Diagnostics... Exit Select

Network 1. TCP/IP Parameters... 2. Ethernet... 3. Packet Statistics...

Exit

Select

Packet Statistics

1. Overall... 2. Call...

Exit

Select

Network Statistics Elapsed Time: 20 days 20:42:37 Rx Packets: 1120196 Tx Packets: 71458

Exit

Page 50

Copyright 2005

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

1. Features... 2. Status... 3. Settings...

Exit

Select

Status 1. Platform... 2. Network... 3. Lines... 4. Diagnostics... Exit Select

Network 1. TCP/IP Parameters... 2. Ethernet... 3. Packet Statistics...

Exit

Select

Packet Statistics

1. Overall... 2. Call...

Exit

Select

Call 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

Copyright 2005

Page 51

Page 52

Copyright 2005

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 server 2. Configure the time offset to suit your time zone location 3. 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 file 3. 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

Copyright 2005

Page 53

A basic Cisco router DHCP server configuration using the DHCP option 42 is shown below:
. . ip dhcp excluded-address 192.168.1.1 192.168.1.200 ip 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:

Page 54

Copyright 2005

Main Menu 1. Features... 2. Status... 3. Settings...

Exit

Select

b. Select Settings:
Settings

1. Basic... 2. Advanced...

Exit

Select

c. Select Advanced:
Password

Enter

1/A/a

Exit

d. Enter the administrator password (default: 456) and press the Enter soft key:
Advanced 1. Admin Settings... 2. Change User Password... 3. Restart Phone...

Exit

Select

e. Select Admin Settings:


Admin Settings 1. Network Configuration... 2. SIP Configuration... 3. Reset to Default... 4. Change Admin Password...

Exit

Select

Copyright 2005

Page 55

f. Select Network Configuration, scroll down to SNTP Address, and press the Edit
soft key:
Network Configuration(a/Ascii) IP Gateway: Server Menu: SNTP Address: GMT Offset: 0 172.21.17.1

1/A/a

Cancel

Ok

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.
Network Configuration

Exit w/o Save Save Config Resume Setup

Select

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:

Page 56

Copyright 2005

Enter SNTP server IP address here and press the Submit button

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. 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

Copyright 2005

Page 57

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.200 ip 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" 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:
Main Menu 1. Features... 2. Status... 3. Settings...

Exit

Select

Page 58

Copyright 2005

j. Select Settings:
Settings

1. Basic... 2. Advanced...

Exit

Select

k. Select Advanced:
Password

Enter

1/A/a

Exit

l. Enter the administrator password (default: 456) and press the Enter soft key:
Advanced 1. Admin Settings... 2. Change User Password... 3. Restart Phone...

Exit

Select

m. Select Admin Settings:


Admin Settings 1. Network Configuration... 2. SIP Configuration... 3. Reset to Default... 4. Change Admin Password...

Exit

Select

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

Network Configuration(a/Ascii) IP Gateway: Server Menu: SNTP Address: GMT Offset: 172.21.17.1 172.21.17.4 0

1/A/a

Cancel

Ok

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.
Network Configuration

Exit w/o Save Save Config Resume Setup

Select

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. 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"

Page 60

Copyright 2005

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:
Attribute tcpIpApp.sntp.daylightSavings.enable tcpIpApp.sntp.daylightSavings.fixedDayEnable tcpIpApp.sntp.daylightSavings.start.month tcpIpApp.sntp.daylightSavings.start.date tcpIpApp.sntp.daylightSavings.start.time tcpIpApp.sntp.daylightSavings.start.dayOfWeek Permitted Values 0,1 0,1 1-12 1-31 0-23 1-7 Defaul t 1 0 4 1 2 1 Interpretation If set to 1, apply daylight savings rules to displayed time. If set to 1, April 1st is used, otherwise the first Sunday in April is used. Month to start DST. 1=Jan, 2=Feb ... ,12=Dec Day of the month to start DST. Time of day to start DST, in 24 hour clock. 2=2 am, 14=2 pm Day of week to apply DST. 1=Sun, 2=Mon ... , 7=Sat 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. Month to stop DST. 1=Jan, 2=Feb ... ,12=Dec Day of the month to stop DST. Time of day to stop DST, in 24 hour clock. 2=2 am, 14=2 pm Day of week to stop DST. 1=Sun, 2=Mon ... , 7=Sat 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.

tcpIpApp.sntp.daylightSavings.start.dayOfWeek.lastInMonth

0,1

tcpIpApp.sntp.daylightSavings.stop.month tcpIpApp.sntp.daylightSavings.stop.date tcpIpApp.sntp.daylightSavings.stop.time tcpIpApp.sntp.daylightSavings.stop.dayOfWeek

1-12 1-31 0-23 1-7

10 1 2 1

tcpIpApp.sntp.daylightSavings.stop.dayOfWeek.lastInMonth

0, 1

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:

Copyright 2005

Page 61

Configure the settings here as per above table and press the Submit button

Page 62

Copyright 2005

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:

Menu

Main Menu 1. Features...

2. Select Settings:

2. Status... 3. Settings...

Exit Settings

Select

3. Select Advanced:

1. Basic... 2. Advanced...

Exit

Select

Copyright 2005

Page 63

Password

4. Enter the administrator password


(default: 456) and press the Enter soft key:

Enter

1/A/a Advanced

Exit

5. Select Admin Settings:

1. Admin Settings... 2. Change User Password... 3. Restart Phone...

Exit Admin Settings 1. Network Configuration...

Select

6. Select Network Configuration:

2. SIP Configuration... 3. Reset to Default... 4. Change Admin Password...

Exit Network Configuration DNS Alt. Server:

Select

172.21.17.7 Enabled

7. Scroll down to VLAN ID and press


the Edit soft key:

DNS Domain: CDP: VLAN ID:

Exit Network Configuration DNS Alt. Server:

Edit

172.21.17.7 Enabled 95

8. Enter the desired VLAN, press the


Ok soft key then the Exit soft key:

DNS Domain: CDP: VLAN ID:

Cancel Network Configuration

Ok

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.

Exit w/o Save Save Config Resume Setup

Select

Page 64

Copyright 2005

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

1. Press the phones Menu key:

Menu

Main Menu 1. Features...

2. Select Settings:

2. Status... 3. Settings...

Exit Settings

Select

3. Select Advanced:

1. Basic... 2. Advanced...

Exit Password

Select

4. Enter the administrator password


(default: 456) and press the Enter soft key:

Enter

1/A/a Advanced

Exit

5. Select Admin Settings:

1. Admin Settings... 2. Change User Password... 3. Restart Phone...

Exit Admin Settings 1. Network Configuration...

Select

6. Select Network Configuration:

2. SIP Configuration... 3. Reset to Default... 4. Change Admin Password...

Exit

Select

Copyright 2005

Page 65

Network Configuration DHCP Client: Enabled ... 172.21.1.6 000.000.0..

7. Ensure that DHCP client is enabled


and scroll to DHCP menu and press the Select soft key:

DHCP Menu: Phone IP Addr: Subnet Mask:

Exit DHCP Menu BootSrv Opt: 150

Select

8. Scroll to VLAN Discovery and press


the Edit soft key:

BootSrv Type: VLAN Discovery: VLAN ID Opt:

IP address Disabled 129 Exit Edit

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.

DHCP Menu

10. If you have selected the Fixed


option, press the Exit soft key twice and skip to step 12

BootSrv Opt: BootSrv Type: VLAN Discovery: VLAN ID Opt:

150 IP address Fixed 129 Exit DHCP Menu Edit

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
BootSrv Opt: BootSrv Type: VLAN Discovery: VLAN ID Opt: 150 IP address Custom 129 129 Exit Edit

Page 66

Copyright 2005

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.

Network Configuration

Exit w/o Save Save Config Resume Setup

Select

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 67

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 Width Height Bytes Aspect ratio 114 51 3,178 2.2:1 IP600 / IP601 209 109 11,890 1.9:1 IP4000 150 33 2,626 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 model o IP_500 for the IP500 and IP501 o IP_600 for the IP600 and IP601 o 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 model o IP_500 for the IP500 and IP501 o IP_600 for the IP600 and IP601 o IP_4000 for the IP4000


Page 68

y represents the bitmap index z represents the animated frame number


Copyright 2005

Within the <indicators> and <indicators> tags there is the single key used to enable the idle display feature; ind.idleDisplay.enabled. 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 .

Copyright 2005

Page 69

. <animations> <IP_300> . </IP_300/> <IP_500> . </IP_500/> <IP_600> . <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.

Page 70

Copyright 2005

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 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"/>

Copyright 2005

Page 71

. </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:
. <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

Page 72

Copyright 2005

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.

Copyright 2005

Page 73

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:

Menu

Main Menu 1. Features...

2. Select Settings:

2. Status... 3. Settings...

Exit Settings

Select

3. Select Advanced:

1. Basic... 2. Advanced...

Exit Password

Select

4. Enter the administrator password


(default: 456) and press the Enter soft key:

Enter

1/A/a Advanced

Exit

5. Select Admin Settings:

1. Admin Settings... 2. Change User Password... 3. Restart Phone...

Exit

Select

Page 74

Copyright 2005

Admin Settings 1. Network Configuration...

6. Select Network Configuration:

2. SIP Configuration... 3. Reset to Default... 4. Change Admin Password...

Exit Network Configuration DNS Server:

Select

000.000 000.000

7. Scroll down to the CDP entry and


press the Edit key

DNS Alt. Server: DNS Domain: CDP:

Disabled Exit Network Configuration Edit

8. Use the phones arrow keys to


choose either Enabled or Disabled as desired, then press the Ok soft key

DNS Server: DNS Alt. Server: DNS Domain: CDP:

000.000 000.000 Disabled Cancel Ok

Network Configuration

9. Press the Select soft key. The phone


will now use send and receive CDP packets.

Exit w/o Save Save Config Resume Setup

Select

Copyright 2005

Page 75

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:

Menu

Main Menu 1. Features...

2. Select Settings:

2. Status... 3. Settings...

Exit Settings

Select

3. Select Advanced:

1. Basic... 2. Advanced...

Exit Password

Select

4. Enter the administrator password


(default: 456) and press the Enter soft key:

Enter

1/A/a Advanced

Exit

5. Select Admin Settings:

1. Admin Settings... 2. Change User Password... 3. Restart Phone...

Exit Restart Phone

Select

6. Press the Yes soft key:

Are you sure?

Exit

Yes

Page 76

Copyright 2005

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:

Copyright 2005

Page 77

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:

Menu

Main Menu 1. Features...

2. Select Settings:

2. Status... 3. Settings...

Exit Settings

Select

3. Select Advanced:

1. Basic... 2. Advanced...

Exit Password

Select

4. Enter the administrator password


(default: 456) and press the Enter soft key:
Enter 1/A/a Exit

Page 78

Copyright 2005

Advanced 1. Admin Settings... 2. Change User Password... 3. Restart Phone...

5. Select Admin Settings:

Exit Admin Settings 1. Network Configuration... 2. SIP Configuration...

Select

6. Select Reset to Default

3. SSL Security... 4. Reset to Default...

Exit Reset to Default 1. Reset Local Config... 2. Reset Device Setting...

Select

7. Select Reset Device Setting

3. Format File System... 4. Reset to Default...

Exit Reset Device Setting

Select

8. Press the Yes soft key:

Are you sure?

Exit

Yes

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).

Copyright 2005

Page 79

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:

Menu

Main Menu 1. Features...

2. Select Settings:

2. Status... 3. Settings...

Exit Settings

Select

3. Select Advanced:

1. Basic... 2. Advanced...

Exit Password

Select

4. Enter the administrator password


(default: 456) and press the Enter soft key:

Enter

1/A/a Advanced

Exit

5. Select Admin Settings:

1. Admin Settings... 2. Change User Password... 3. Restart Phone...

Exit Admin Settings 1. Network Configuration... 2. SIP Configuration...

Select

6. Select Reset to Default

3. SSL Security... 4. Reset to Default...

Exit

Select

Page 80

Copyright 2005

Reset to Default 1. Reset Local Config... 2. Reset Device Setting...

7. Select Reset Local Config

3. Format File System... 4. Reset to Default...

Exit Reset Device Setting

Select

8. Press the Yes soft key. The phone


will restart.

Are you sure?

Exit

Yes

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.

Copyright 2005

Page 81

Das könnte Ihnen auch gefallen