Thursday, May 6, 2010

Implementing Basic Voice Features

A business phone system is expected to provide the following features:
  • Music on Hold
  • Call Forward
  • Call Transfer
  • Call Park
  • Intercom
  • Paging
  • Call Pickup
  • Call Blocking
  • Directory Services
The next sections describe the configuration of these basic business telephony features in CM Express.


Music on Hold

No one likes to be on hold, but having something to listen to makes it a little better and can even relay useful information to the listener. Configuring Music on Hold (MOH) in CM Express is simple. First copy a .wav file to Flash (avoiding copyright issues by using royalty-free recordings). Next, issue the command moh wavefilename.wav in config-telephony mode. By default, the router will multicast the stream to 239.23.4.10:2000; if you need to change this default multicast address (typically you do not), issue the command multicast moh ip-address port port-number.


Call Forward

The user can configure call-forwarding of all calls using the phone softkey. Using the CLI, you can configure different call-forwarding options at the config-ephone-dn prompt:
  • call-forward all directory-number: Forwards all calls to the specified directory number.
  • call-forward busy directory-number: Forwards calls to the specified number if the user is on the phone.
  • call-forward noan directory-number timeout seconds: Forwards calls to the specified directory number if the user does not answer the phone before the specified timeout.
  • call-forward maxlength length: Restricts the number of digits specified for the call-forwarding number; this prevents call forwarding to an international long-distance number, for example.

Call Transfer

Users can transfer calls with the Transfer softkey; the administrator can configure how this transfer happens using the transfer-system {blind I full-blind I full-consult llocal-consult} config-telephony command. The command options are as follows:
  • Blind: Calls are transferred immediately using a Cisco-proprietary method.
  • Full-blind: Calls are transferred immediately using the H.450.2 standard.
  • Full-consult: Calls are transferred with consultation (meaning the user must speak to the target of the transfer before the call is released); uses the H.450.2 standard.
  • Local-consult: Uses a proprietary transfer method; not commonly used.

Call Park

Call park allows a user to hold a call but retrieve it from another location by dialing the call park extension. A call-park extension is a "floating" ephone-dn that is not assigned to any ephone. Multiple calls can be parked at a single extension and are retrieved by dialling the extension; calls are picked up in the order in which they were parked. The syntax is relatively complex and specifies several options:
  • park-slot [reserved-for extension-number] [timeout seconds limit count] [notify extension-number [only]] [recall] [transfer extension-number][alternate extension-number][retry seconds limit count].
  • reserved-for: (Optional) Indicates that this slot is a private park slot for the phone with the specified extension number as its primary line. All lines on that phone can use this park slot.
  • timeout seconds: (Optional) Sets the Call Park reminder timeout interval, in seconds. The range is from 0 to 65535. When the interval expires, the Call Park reminder sends a 1-second ring and displays a message on the LCD panel of the Cisco IP Phone that parked the call and to any extension that is specified with the notify keyword. By default, the reminder ring is sent only to the phone that parked the call. If the timeout keyword is not used, no reminder ring is sent to the extension that parked the call.
  • limit count: (Optional) Sets a limit for the number of reminder timeouts and reminder rings for a parked call. For example, a limit of 10 sends 10 reminder rings to the phone at intervals that are specified by the timeout keyword. When a limit is set, a call parked at this slot is disconnected after the limit has been reached. The limit range is from 1 to 65535 reminders.
  • notify extension-number: (Optional) Sends a reminder ring to the specified extension in addition to the reminder ring that is sent to the phone that parked the call.
  • only: (Optional) Sends a reminder ring only to the extension that is specified with the notify keyword and does not send a reminder ring to the phone that parked the call. This option allows all reminder rings for parked calls to be sent to the phone of a receptionist or an attendant, for example.
  • recall: (Optional) Returns the call to the phone that parked it after the timeout limits expire.
  • transfer: (Optional) Returns the call to the specified number after the timeout limits expire.
  • alternate: (Optional) Returns the call to a specified second target number if the recall or transfer target phone is in use on any of its extensions (ringing or in conversation).
  • retry seconds: (Optional) Sets the delay before another attempt to recall or transfer a parked call, in seconds. The range is from 0 to 65535. The number of attempts is set by the limit keyword.

The following example creates four call-park slots. Ephone-dn 10 and 11 can be used by any extension. A call parked in these slots will stay parked for 100 seconds and will send a notification every 10 seconds to the extension that parked it. If the 100-second limit elapses, the parked call is automatically transferred to 5309; if 5309 is busy or does not answer, it goes to 5310. Ephone-dn 12 and 13 are reserved for 5301 and 5302, respectively. After a call has been parked for 100 seconds, it will be disconnected.


Intercom

An intercom is a one-way audio speed-dial. Commonly used by an executive to an admin assistant, it allows the user to press a phone button and be directly connected to another user. The destination phone answers the call in muted speakerphone mode so that privacy is maintained. Any user could dial the intercom if the extension is known. To make it impossible for anyone to dial the intercom (except those phones configured to do so), the extension number of the intercom can include the A, B, C, or D character. These characters were at one time part of the touchtone dialpad, but because they are no longer on the phone itself, users cannot dial them; it is still possible to configure them in an ephone-dn, however. The following configuration shows a typical intercom configuration, using the B digit as part of the intercom extension number:


Paging

Audio paging builds a one-way audio path from the speaker to a single phone, a group of phones, or combined groups of phones. A paging group is created by configuring a dummy ephone-dn with the paging command and associating that ephone-dn with one or more ephones using the paging-dn command. When a user dials the paging extension, all configured phones answer the call in muted speakerphone mode. The default transport is unicast, which limits paging to a maximum of 10 targets; multicast is also supported. The command syntax to create the ephone-dn is the following:

Router(config-ephone-dn)# paging [ip multicast-address port udp-port]

The following shows the syntax for associating an ephone to the paging ephone-dn. Note the unicast keyword, which will override the multicast configuration if the phone is not reachable by multicast:

Router(config-ephone)# paging-dn paging-dn-tag [unicast]

The following example sets up a single paging group:


Call Pickup

There are three variations of call pickup:
  • Directed call pickup: Any extension can pick up a call that is on hold on another directory number, without belonging to a pickup group.
  • Group pickup: A user can pick up a call for another group if the user knows the group extension. If only one pickup group is defined, users need only press the Pickup softkey, whether or not they are a member of a pickup group.
  • Local group pickup: Users can pick up a ringing extension in their own group using the Pickup softkey plus the star key (*).

An ephone-dn is assigned to a pickup group with the command pickup-group number. The numbers are arbitrary, but the leading characters must be unique to each group; for example, the group numbers 81 and 817 will both be interpreted

If the ringing extension is in the user's group, pressing the Pickup softkey will redirect the call to the user's phone. If the ringing extension is in another group, the user must press the GPickup softkey and enter the group number of the ringing extension.


Call Blocking

Call blocking prevents unauthorized use of phones, typically to specific number patterns or times of day. You can define up to 32 patterns of digits to block and apply a time schedule to restrict calls to whatever schedule suits your needs. Call blocking applies to all IP Phones (except analog FXS phones), but phones can be exempted from call blocking individually. An override function exists, configurable with a PIN for authorized users.

The schedule can be configured by day or by date using the following config-telephony commands:

a f t e r - h o u r s day day s t a r t - t i m e stop-time
a f t e r - h o u r s date month date s t a r t - t i m e stop-time

When the after-hours schedule is in place, use the block command to activate call blocking:

a f t e r - h o u r s block pattern tag pattern [7-24]

The patterns use the same syntax as dial plan patterns. Using the 7-24 keyword blocks the configured pattern 24 hours a day, 7 days a week, and disables the override PIN functionality.

The following configuration sets up a call blocking plan for all calls outside of normal business hours of 8:00 a.m. to 5:00 p.m., Monday through Sunday, and the holidays for New Year's day, the Fourth of July, and Christmas day:



Exempting a phone from after-hours blocking is easily configured with the after-hours exempt command at the configephone prompt. Adding a PIN is equally simple at the same prompt with pin pin-number.