Linksys PAP2 and RT31P2
PHONE ADAPTER Administration Guide
August 2004
Disclaimer ??? Please Read:
This document contains implementation examples and techniques using Linksys and, in some instances, other company???s technology and products and is a recommendation only and does not constitute any legal arrangement between Linksys and the reader, either written or implied. The conclusions reached and recommendations and statements made are based on generic network, service and application requirements and should be regarded as a guide to assist you in forming your own opinions and decision regarding your particular situation. As well, Linksys Technology reserves the right to change the features and functionalities for products described in this document at any time. These changes may involve changes to the described solutions over time.
Use of Proprietary Information and Copyright Notice:
Major portions of this document are the sole property of Sipura Technology,
Inc. and are provided to its licensee, Linksys LLC., and protected by United
States and international copyright laws.
Inc. - All rights reserved.
Table of Contents
1. Introduction
This guide describes basic administration and use of the Linksys Technology PHONE ADAPTER phone adapter ??? an intelligent
Examples of proper reactions are: playing dial tone, collecting DTMF digits, comparing them against a dial plan and terminating a call. With intelligent endpoints at the edges of a network, performing the bulk of the call processing duties, the deployment of a large network with thousands of subscribers can scale quickly without the introduction of complicated, expensive servers. As described later in this section, the Session Initiation Protocol (SIP) is a good choice of call signaling protocol for the implementation of such a device in this type of network.
The phenomenal growth of broadband Internet access (DSL, Cable, FTTH, etc.), has brought the realization of reliable packet switched IP Telephony Services with circuit switched
The technical challenges in deploying and operating a residential IP Telephony service, however, are not small. One of the main challenges is to make the service transparent to subscribers: The subscribers shall expect to use their existing phones to make or receive calls in the same way as with the existing PSTN service. To enable this level of transparency, the IP Telephony solution has to be tightly integrated. A key element in this
Important!! Please note: The information contained herein is not a warranty from Linksys Customers planning to use the PHONE ADAPTER in a VoIP service deployment are warned to test all functionality they plan to support in conjunction with the PHONE ADAPTER before putting the PHONE ADAPTER in service. Some information in Section 1 of this guide is written for educational purposes and describes functionality not yet implemented in the PHONE ADAPTER.
1.1.The Session Initiation Protocol
There are many excellent articles and books that discuss the advantages of SIP.i Here are some of the more popular details:
???SIP message constructs are very similar to those of HTTP which is
???SIP is transport agnostic ??? meaning it can be used over TCP/IP or UDP/IP, with or without security.
???SIP has a better chance of traversing NATs than other control protocols.
???SIP enables the implementation of intelligent endpoints to support scalable advanced services.
In a nutshell, SIP is a distributed signaling protocol (as opposed to a centralized protocol such as SS7, MGCP or MEGACO/H.248). With a distributive protocol, the intelligence does not necessarily reside on a central server, but can be built into the individual endpoints. By moving the intelligence to reside within the endpoints at the edge of the network, the processing load of the network application and associated call servers are significantly reduced, thus making the network a very scalable solution.
1.1.1.Components of a SIP Network
Service
Provider
Domain
Subscriber
Database
PSTN
Gateway
Figure 1
IP Telephony Gateway (PHONE ADAPTER): The PHONE ADAPTER is a small device that sits at the subscriber???s premises. It converts between analog telephone signals and IP Telephony signals. It has up to two
Home/SOHO Routers with NAT Functionality: A home/SOHO router is used for routing IP packets between the subscriber???s private network and the ISP???s public network. If the ISP provides only one public IP address to the subscriber, the devices attached to the private network will be assigned private IP addresses and the router will perform network address translation (NAT) on packets sent from the private network to the public network via the router. Home routers offer the following features:
???An
???A PPPoE client to connect with the ISP through a DSL modem.
???A DHCP client where the router will obtain an IP address, subnet mask, default router assignment, etc., for its WAN interface from a DHCP server on the public network.
???A DHCP server for
gateways, etc. The default router in this case is the IP address of the LAN interface of the router itself.
???Performs NAT on packets sent from the private network to the public network. This is an important feature such that recipients of the private packets will perceive them as originated from a public IP address (the router???s WAN interface) and will therefore return messages to the proper public IP address and port. Different routers may use different rules for allocating port numbers at the WAN interface to forward packets from a private IP address/port to a public IP address/port. The allocated port number is also used for routing packets from external IP addresses to a private address. Most routers will accept a number of static port mapping rules for forwarding packets received on a specific port at the WAN interface to a specific IP address/port in the private network.
PSTN - VoIP Gateways: These devices are required if user agents are expected to make calls to or receive calls from the PSTN. Many gateways may be deployed in order to service a wide area. Gateways also behave like SIP user agents. The proxy server can be configured with
Billing Servers: Billing servers are used to generate billing data per usage of the IP Telephony service. Typically, the service provider will charge a flat fee for unlimited calls between IP Telephony subscribers
Provisioning Servers: Provisioning servers are used to provision the subscriber user agent devices, e.g. the PHONE ADAPTER. When a subscriber signs up for IP Telephony service, he selects an appropriate service level and enters his personal information including billing information. This information is processed by the provisioning server and stored into the service provider???s customer database. The provisioning server generates a device profile based on the subscriber???s choice of options. The device profile, which is list of configuration parameters, is downloaded into the PHONE ADAPTER from the provisioning server. The PHONE ADAPTER can be configured to contact the provisioning server periodically to check for any update of the device profile, which may include a firmware upgrade or configuration modification to the PHONE ADAPTER.
Application Servers: Application servers are used to provide value added services, such as call forwarding, outgoing or incoming call blocking
Voice Mail Servers: Specialized servers provide voice mail services to the IP Telephony service subscribers. When the subscriber is busy or the PHONE ADAPTER is out of service for maintenance or other reason, incoming calls to the subscriber may be redirected to the voice mail servers where the caller can leave a voice mail. The voice mail server will then notify the subscriber???s PHONE ADAPTER of the availability of voice mail(s) in his mailbox. The subscriber can then contact the voice mail server to retrieve his voice mail(s). The PHONE ADAPTER can indicate the
1.1.2.Provisioning Overview
The PHONE ADAPTER is configurable in many ways such that it can provide a wide range of customizable services and operate in many diverse environments with a variety different vendors??? SIP Proxy Servers, VoIP Gateways, Voice Mail Servers, NAT applications, etc. Provisioning is the process by which the PHONE ADAPTER obtains a set of configuration parameters in order for it to operate in the Service Provider???s network.
The complete set of configuration parameters for an PHONE ADAPTER corresponding to an individual subscriber is referred to as a configuration profile or simply a Profile. The Profile can be encoded as an XML file or a simple plain text file with a list of tag/value pairs. When the PHONE
ADAPTER unit is shipped from the factory, it contains a default common Profile and is considered Unprovisioned. To save costs and expedite delivery, however, it is very desirable that an Unprovisioned unit can be shipped directly from the factory to the subscriber???s location without any preprocessing by the Service Provider.
The PHONE ADAPTER contacts the Service Provider???s provisioning server via the IP network or Internet when it is plugged into the subscriber???s home or business Local Area Network (LAN) ??? assuming the provisioning server is reachable from the subscriber???s home network ??? to pull the designated profile to be installed in that particular PHONE ADAPTER unit. Furthermore, the PHONE ADAPTER unit will periodically contact the provisioning server to download an updated profile. The protocol for downloading the configuration profile can be ???clear text??? TFTP or HTTP data or it can be encrypted TFTP, HTTP or HTTPS data if security is required. Security will be discussed in more details in a later section.
This type of autonomous remote provisioning, where the individual PHONE ADAPTER unit pulls the profile from the provisioning server is very scalable and flexible. Using this provisioning method, a large number of PHONE ADAPTER units can be provisioned simultaneously and updated periodically.
However, some basic information must be provided to the PHONE ADAPTER before it can be provisioned in this fashion: a) the IP address or domain name of the provisioning server to contact, and b) an ID and/or a password to send to the provisioning server such that it can associate it with a specific subscriber and obtain the corresponding profile. This information can be sent
In addition to the batch mode of remote provisioning, the PHONE ADAPTER allows an interactive mode of local provisioning. One way to offer this feature is through the use of an IVR system (accessed through an attached telephone set). The user can access a diagnostic or configuration menu to check the status of the device or to change some of the settings. This method of provisioning may be applied by an administrator when the device is at the Service Provider???s office, or by the subscriber under the guidance of trained personnel during
A third method of entering provisioning information into the PHONE ADAPTER is by way of its integral web server via a browser on a PC. The subscriber has the option to set and adjust configuration parameters via an
1.1.3.Security Overview
Security may be applied at many levels in the context of the PHONE ADAPTER. The following are examples of information that should be secured:
???The configuration profile pulled from the provisioning server ??? The downloading of the profile should be secured since it contains authentication (password/user name ID / number) information for accessing subscriber telephony services. It may also contain other passwords and/or encryption keys used for a variety of management and service operations.
???The administration password to the PHONE ADAPTER unit ??? The unit must disallow access to administrative functions to unauthorized users. This access can be controlled with an administrator password. The administrator password can be one of the parameters in the PHONE ADAPTER configuration profile.
???The SIP signaling messages ??? The SIP messages exchanged between the SIP proxy server and the PHONE ADAPTER should be encrypted with a secret key. This can be achieved, for instance, by transporting SIP over TLS.
???RTP packets ??? The RTP payload exchanged between SIP user agents can be encrypted with a secret key to protect against eavesdropper. The secret key can be negotiated with proper SIP signaling messages. Hence the signaling path must be secured also.
1.1.3.1.Proxy Servers
Proxy servers handle two functions:
1.Accept registrations from the SIP user agents,
2.Proxy requests and responses between user agents.
Registration is the process by which a user agent tells the proxy who it is and at what IP address and port that it can be reached via SIP. Registration usually expires within a finite period (e.g., 60s or 3600s) and the UA shall renew their registration periodically before the last registration expires. When a user agent initiates a call, it sends a SIP INVITE request to the proxy server and indicates the target recipient of the call. The proxy server then consults a database to determine where to forward the request to the destination user agent. The proxy server can request authentication credentials from the user agent before granting the service. The credentials are computed by the user agent based on a
1.1.4.SIP Services
Today???s PSTN offers a large number of enhanced services in addition to basic phone services. Most of the services offered by the PSTN are accessed by the subscribers through their telephone sets. The subscribers provide their input by talking into the handset, pressing the keypad, the switch hook or flash button, while the PSTN presents instructions/information/confirmation to the subscribers through a variety of audio tones, beeps and/or announcements. The PHONE ADAPTER supports a comparable range of services via a similar user interface in order to make the IP Telephony service transparent to subscribers.
The PHONE ADAPTER is fully programmable and can be custom provisioned to emulate just about any traditional telephony service available today. This ability to transparently deliver legacy services over an IP network coupled with the availability of Internet connected devices (PCs. PDA, etc.) and browsers opens up a new world of potential offerings that a provider can use to differentiate their service and grow their business.
The following is a list of commonly supported phone services:
1.1.4.1.Basic Services
1.1.4.1.1.Making Calls to PSTN and IP Endpoints
This is the most basic service. When the user picks up the handset, the PHONE ADAPTER provides dial tone and is ready to collect dialing information via DTMF digits from a touch tone telephone. While it is possible to support overlapped dialing within the context of SIP, the PHONE ADAPTER collects a complete phone number and sends the full number in a SIP INVITE message to the proxy server for further call processing. In order to minimize dialing delay, the PHONE ADAPTER maintains a dial plan and matches it against the cumulative number entered by the user. The PHONE ADAPTER also detects invalid phone numbers not compatible with the dial plan and alerts the user via a configurable tone (reorder) or announcement.
1.1.4.1.2.Receiving Calls from PSTN and IP Endpoints
The PHONE ADAPTER can receive calls from the PSTN or other IP Telephony subscribers. Each subscriber is assigned an E.164 phone number so that they may be reached from wired or wireless callers on the PSTN. The PHONE ADAPTER supplies ring voltage to the attached telephone set to alert the user of incoming calls.
1.1.4.2.Enhanced Services
Enhanced Services are provided in addition to Basic calling services and accessed by way of a touchtone phone through a series of menus. Since the service enabled by the PHONE ADAPTER are Internet in nature, these enhanced services can be made better by offering users a web browser based interface to control certain aspects of some or all services.
1.1.4.2.1.Caller ID
In between ringing bursts, the PHONE ADAPTER can generate a Caller ID signal to the attached phone when the phone is
Calling Line Identification Presentation (CLIP)
Some subscribers will elect to always block their Caller ID information, yet there may be a circumstance where sending Caller ID information for a particular call is desired, i.e. trying to reach a party that does not accept Caller ID blocked calls.
The subscriber activates this service to send his Caller ID when making an outgoing call. To activate the service, the subscriber enters the corresponding * or # code prior to making the call. This service is in effect only for the duration of the current call.
Calling Line Identification Restriction (CLIR) ??? Caller ID Blocking
The subscriber activates this service to hide his Caller ID when making an outgoing call. To activate the service, the subscriber enters the corresponding * or # code prior to making the call. This service is in effect only for the duration of the current call.
1.1.4.2.2.Call Waiting
The subscriber can accept a call from a 3rd party while engaging in an active call. The PHONE ADAPTER shall alert the subscriber for the 2nd incoming call by playing a call waiting tone.
Disable or Cancel Call Waiting
By setting the corresponding configuration parameter on the PHONE ADAPTER, the PHONE ADAPTER supports disabling of call waiting permanently or on a per call basis.
In between call waiting tone bursts, the PHONE ADAPTER can generate a
1.1.4.2.3. Voice Mail
Message Waiting Indication
Service Providers may provide voice mail service to their subscribers. When voice mail is available for a subscriber, a notification message will be sent from the Voice Mail server to the PHONE ADAPTER. The PHONE ADAPTER indicates that a message is waiting by, playing stuttered dial tone (or other configurable tone) when the user picks up the handset.
Checking Voice Mail
The PHONE ADAPTER allows the subscriber to connect to their voice mail box by dialing their personal phone number.
1.1.4.2.4.Call Transfer
Three parties are involved in Call Transfer: The transferor, transferee, and transfer target. There are 2
flavors of call transfer: Attended Transfer (Transfer with consultation) and Unattended Transfer (???Blind??? Transfer).
Attendant Transfer
The transferor dials the number of the transfer target, then he hangs up (or enters some * or # code) when the transfer target answers or rings to complete the transfer.
Unattended or ???Blind??? Transfer
The transferor enters some * or # code and then dials the number of the transfer target to complete the transfer (without waiting for the target to ring or answer).
1.1.4.2.5.Call Hold
Call Hold lets you put a caller on hold for an unlimited period of time. It is especially useful on phones without the hold button. Unlike a hold button, this feature provides access to a dial tone while the call is being held.
1.1.4.2.6.
The subscriber can originate a call to a 3rd party while engaging in an active call.
1.1.4.2.7.
The PHONE ADAPTER can host a
1.1.4.2.8.Call Return
The PHONE ADAPTER supports a service that allows the PHONE ADAPTER to automatically dials the last caller???s number.
1.1.4.2.9.Call Return on Busy
If the last called number is busy, the subscriber can order this service to monitor the called party and to receive a notification from the PHONE ADAPTER (such as special phone ring) when that party becomes available.
1.1.4.2.10. Automatic Call Back
This feature allows the user to place a call to the last number they tried to reach whether the call was answered, unanswered or busy by dialing an activation code.
1.1.4.2.11. Call Forwarding
These services forward all the incoming calls to a static or dynamically configured destination number based on three different settings. These services may be offered by the PHONE ADAPTER or by the SIP proxy server. They can be activated by entering certain * or # code, followed by entering a
telephone number to forward calls to. The PHONE ADAPTER provides audio instructions to prompt the user for a forwarding number and confirms that the requested service has been activated.
Call FWD ??? Unconditional
All calls are immediately forwarded to the designated forwarding number. The PHONE ADAPTER will not ring or provide call waiting when Call FWD ??? Unconditional is activated.
Call FWD ??? Busy
Calls are forwarded to the designated forwarding number if the subscriber???s line is busy because of the following; Primary line already in a call, primary and secondary line in a call or conference.
Call FWD - No Answer
Calls are forwarded to the designated forwarding number after a configurable time period elapses while the PHONE ADAPTER is ringing and does not answer.
1.1.4.2.12. Anonymous Call Blocking
By setting the corresponding configuration parameter on the PHONE ADAPTER, the subscriber has the option to block incoming calls that do not reveal the caller???s Caller ID.
1.1.4.2.13. Distinctive / Priority Ringing
The PHONE ADAPTER supports a number of ringing and call waiting tone patterns to be played when incoming calls arrive. The choice of alerting pattern to use is carried in the incoming SIP INVITE message inserted by the SIP Proxy Server (or other intermediate application server in the Service Provider???s domain).
1.1.4.2.14. Speed Dialing
The PHONE ADAPTER supports speed dialing of up to eight (8) phone numbers or IP addresses. To enter a telephone number speed dial using a touch tone telephone, the user dials a feature code (*74), followed by a number
Users may also enter/review speed dials from User1/User2
1.1.4.3.PSTN Interworking
The PHONE ADAPTER is designed to provide a transparent interworking relationship with the PSTN. Service providers can deploy the PHONE ADAPTER in such a way that PSTN endpoints ??? wired or wireless ??? communicating with PHONE ADAPTER endpoints do so without modification to their configuration or network settings.
The service provider may choose to deploy a
Architecture and functionality can vary greatly amongst the different softswitch vendors. The protocols used will depend on the types of connections that will be
If the service provider is offering origination and/or termination on endpoint equipment then it is very likely that the softswitch chosen for network operations will support multiple PSTN and VoIP signaling protocols.
The table below lists the most commonly accepted,
The PHONE ADAPTER supports SIP today. It has the capability to communicate with a variety of endpoints and signaling entities via SIP messages.
1.2.Network Address Translation (NAT) Traversal
1.2.1.What is a NAT or NAPT (Network Address Port Translator)?
A NAT allows multiple devices to share the same external IP address to access the resources on the external network. The NAT device is usually available as one of the functions performed by a router that routes packets between an external network and an internal (or private) one. A typical application of a NAT is to allow all the devices in a subscriber???s home network to access the Internet through a router with a single public IP address assigned by the ISP. The IP header of the packets sent from the private network to the public network can be substituted by the NAT with the public IP address and a port selected by the router according to some algorithm. In other words, recipient of the packets on the public network will perceive the packets as coming from the external address instead of the private address of the device where the packets are originated.
In most Internet protocols, the source address of a packet is also used by the recipient as the destination to send back a response. If the source address of the packets sent from the private network to the public network is not modified by the router, the recipient may not be able to send back a response to the originator of the message since its private source IP address/port is not usable. When a packet is sent from a device on the private network to some address on the external network, the NAT selects a port at the external interface from which to send the packet to the destination address/port. The private address/port of the device, the external address/port selected by the NAT to send the packet, and the external destination address/port of the packet form a NAT Mapping.
The mapping is created when the device first sends a packet from the particular source address/port to the particular destination address/port and is remembered by the NAT for a short period of time. This period varies widely from vendor to vendor; it could be a few seconds, or a few minutes, or more, or less. While the mapping is in effect, packets sent from the same private source address/port to the same public destination address/port is reused by the NAT. The expiration time of a mapping is extended whenever a packet is sent from the corresponding source to the corresponding destination.
More importantly, packets sent from that public address/port to the external address/port of the NAT will be routed back to the private address/port of the mapping session that is in effect. Some NAT devices actually reuse the same mapping for the same private source address/port to any external IP address/port and/or will route packets sent to its external address/port of a mapping from any external
address/port to the corresponding private source address/port. These characteristics of a NAT can be exploited by an PHONE ADAPTER to let external entities send SIP messages and RTP packets to it when it is installed on a private network.
1.2.2.
In the case of SIP, the addresses where messages/data should be sent to an PHONE ADAPTER are embedded in the SIP messages sent by the device. If the PHONE ADAPTER is sitting behind a NAT, the private IP address assigned to it is not usable for communications with the SIP entities outside the private network. The PHONE ADAPTER must substitute the private IP address information with the proper external IP address/port in the mapping chosen by the underlying NAT to communicate with a particular public peer address/port. For this the PHONE ADAPTER needs to perform the following tasks:
???Discover the NAT mappings used to communicate with the peer. This could be done with the help of some external device. For example a server could be deployed on the external network such that the server will respond to a special
???Communicate the NAT mapping information to the external SIP entities. If the entity is a SIP Registrar, the information should be carried in the Contact header that overwrites the private address/port information. If the entity is another SIP UA when establishing a call, the information should be carried in the Contact header as well as in the SDP embedded in SIP message bodies. The VIA header in outbound SIP requests might also need to be substituted with the public address if the UAS relies on it to route back responses.
???Extend the discovered NAT mappings by sending
1.3.Voice Quality Overview
Voice Quality perceived by the subscribers of the IP Telephony service should be indistinguishable from that of the PSTN. Voice Quality can be measured with such methods as Perceptual Speech Quality Measurement (PSQM)
The table below displays speech quality metrics associated with various audio compression algorithms:
Several factors that contribute to Voice Quality are described below.
Audio compression algorithm ??? Speech signals are sampled, quantized and compressed before they are packetized and transmitted to the other end. For IP Telephony, speech signals are usually sampled at 8000 samples per second with
The encoder and decoder pair in a compression algorithm is known as a codec. The compression ratio of a codec is expressed in terms of the bit rate of the compressed speech. The lower the bit rate, the smaller the bandwidth required to transmit the audio packets. Voice Quality is usually lower with lower bit rate, however. But Voice Quality is usually higher as the complexity of the codec gets higher at the same bit rate.
Silence Suppression ??? The PHONE ADAPTER applies silence suppression so that silence packets are not sent to the other end in order to conserve more transmission bandwidth; instead a noise level measurement can be sent periodically during silence suppressed intervals so that the other end can generate artificial comfort noise that mimics the noise at the other end (using a CNG or comfort noise generator).
Packet Loss ??? Audio packets are transported by UDP which does not guarantee the delivery of the packets. Packets may be lost or contain errors which can lead to audio sample
Network Jitter ??? The IP network can induce varying delay of the received packets. The RTP receiver in the PHONE ADAPTER keeps a reserve of samples in order to absorb the network jitter, instead of playing out all the samples as soon as they arrive. This reserve is known as a jitter buffer. The bigger the jitter buffer, the more jitter it can absorb, but this also introduces bigger delay. Therefore the jitter buffer size should be kept to a relatively small size whenever possible. If jitter buffer size is too small, then many late packets may be considered as lost and thus lowers the Voice Quality. The PHONE ADAPTER can dynamically adjust the size of the jitter buffer according to the network conditions that exist during a call.
Echo ??? Impedance mismatch between the telephone and the IP Telephony gateway phone port can lead to
Hardware Noise ??? Certain levels of noise can be coupled into the conversational audio signals due to the hardware design. The source can be ambient noise or 60Hz noise from the power adaptor. The PHONE ADAPTER hardware design minimizes noise coupling.
2. Hardware Overview
The PHONE ADAPTER has one of the smallest form factors on the market. It can be installed in minutes as a
Figure 3 ??? PAP2 Back
Figure 2 ??? PAP2 Front
The PAP2 PHONE ADAPTER has the following interfaces for networking, power and visual status indication:
1. Two (2)
These interfaces accept standard
2. One Ethernet 10baseT
This interface accepts a standard or crossover Ethernet cable with standard
The Broadband Router RT31P2 has the following interfaces for networking, power and visual status indication:
1. Two (2)
These interfaces accept standard
2. Four (4) Ethernet 10/100 baseT, three (3) for Local Network and one (1) for Internet, all the 4 ports uses
This interface accepts a standard or crossover Ethernet cable with standard
3. LEDs
2.1.Phone Adapter LED Status
2.2.Broadband Router (RT31P2) LED Status
4. One 5 Volt Power Adapter Interface (Figure 3, above) for PAP2 Phone Adapter and 12 Volt Power Adapter for the Broadband Router (RT31P2)
This interface accepts the PHONE ADAPTER power adapter that came with the unit. Linksys does not support the use of any other power adapters other then the power adapter that was shipped with the PHONE ADAPTER unit or the Broadband Router (RT31P2)
Please check to make sure that you have the following package contents:
1.Linksys Phone Adapter Unit or Linksys Broadband Router (RT31P2)
2.Ethernet Cable
3.5 Volt (PAP2) or 12 Volt (RT31P2) Power Adapter
4.CD with User Guide
You will also need:
1.One or Two Analog Touch Tone Telephones (or Fax Machine)
2.Access to an IP Network via an Ethernet Connection
3.One or Two
Please observe the following steps to install the PHONE ADAPTER. From the rear Side of the
PHONE ADAPTER:
1.Insert a standard
2.Insert a standard
3.Insert a standard
4.Connect the other end of the cable to an analog telephone or fax machine.
Note: Do not connect
3. Software Configuration Mechanisms
The PHONE ADAPTER provides for secure remote provisioning and remote upgrade. Linksys recommends that providers use a secure
The PHONE ADAPTER can be configured to resync its internal configuration state to a remote profile periodically and on power up. An administrator can also remotely trigger a profile resync by sending an authenticated SIP NOTIFY request to the PHONE ADAPTER.
Likewise, remote upgrades are achieved via TFTP, HTTP or HTTPS. The PHONE ADAPTER upgrade logic is capable of automating
General purpose parameters are provided as an additional aid to service providers in managing the provisioning process. The administrator can configure simple comparisons, translations, concatenations, and parameter substitution with the aid of these parameters.
All profile resyncs are attempted only when the PHONE ADAPTER is idle, since they may trigger a software reboot. User intervention is not required to initiate or complete a profile update or firmware upgrade. In general, most configuration changes take effect without requiring a reboot.
The PHONE ADAPTER also provides a Web Interface with
3.1.Configuration Profile Formats
The PHONE ADAPTER configuration profile is an XML or binary file with encoded PHONE ADAPTER parameter values and optionally user access permissions for those parameters. By convention, the profile is named with the extension ???.cfg??? (e.g. pap2.cfg). An administrator can easily generate the XML format and compress and/or encrypt this file with
The XML configuration file always begins with the
Empty elements (ex: <element/> ) or missing elements do not change the value already stored in
memory. An opening and closing tag (ex: <element></element>) with no included value, deletes the value stored in memory. Standard XML comments and arbitrary whitespace can be included in the file for readability purposes. Note that in XML,
<Proxy_1_>sip.provider.net</Proxy_1_> <User_ID_1_>1234567890</User_ID_1_> <Password_1_>YhJ89_Luk4E</Password_1_> <Display_Name_1_>1234567890</Display_Name_1_> <Line_Enable_2_>0</Line_Enable_2_>
The Linksys Supplementary Profile Compiler tool (SPC) is provided for compiling a
The syntax of the
The SPC syntax also controls the parameter???s
respectively. If neither mark is present, the parameter is made inaccessible to the user from the web interface. Note that this syntax has no effect on the
When using the SPC, a service provider is given full control over which parameters become inaccessible,
If the parameter specification is missing entirely from the
Parameter names in the
???
???For the PHONE ADAPTER, line and user specific parameters use bracketed index syntax to identify which line or user they refer to (e.g. Line_Enable[1] and Line_Enable[2]).
Comments are delimited by a ???#??? character up to the
Parameter_name [ ??????? | ???!??? ] [???quoted_parameter_value_string???] ???;???
Example of
# These parameters are for illustration only
Multiple plain text files can be spliced together to generate the source for each CFG file. This is accomplished by the ???import??? directive: the literal string ???import??? (placed at the start of a new line) followed by one or more spaces and the file name to splice into the stream of
#base.txt contains . . .
Param1 ???base value 1??? ; Param2 ???base value 2??? ;
. . .
#Phone Adapter1234.txt contains . . .
import base.txt
Param1 ???new value overrides base??? ; Param7 ???particular value 7??? ;
. . .
# The Phone Adapter1234.txt file above is equivalent to . . .
Param1 ???base value 1??? ; Param2 ???base value 2??? ;
. . .
Param1 ???new value overrides base??? ; Param7 ???particular value 7??? ;
. . .
A sample
spc
In both the XML and SPC configuration formats,] Boolean parameter values that evaluate to true are any one of the values {Yes | yes | Enable | enable | 1}. Boolean values that evaluate to false are any one of the values {No | no | Disable | disable | 0}.
3.1.1.Using the Supplemental Profile Compiler
Once a
A generic CFG file
The binary configuration format supports RC4 and AES symmetric key algorithms, with keys of up to 256 bits. The key can be specified explicitly as a
The following
spc pap2.txt pap2.cfg
A targeted CFG file (with basic encryption) is specified by supplying the MAC address of the target device:
spc
An encrypted CFG file requires either a password (or quoted
spc
spc
A CFG file can be both targeted and key encrypted, as suggested by the following example:
spc
The status messages printed by spc can be suppressed with the
spc
spc
3.1.2.Encrypting and Compressing XML configuration files
The Linksys PHONE ADAPTER supports encrypted XML configuration profiles. This can be used for subsequent configuration files stored on or generated by either TFTP or HTTP servers. When used in concert with HTTPS for initial config, this provides complete security, but only uses the HTTPS server for initial enrollment. For example, an example configuration file in XML setup to download an encrypted XML file via HTTP looks like this:
<Resync_Periodic>86400</Resync_Periodic> <GPP_B >9b4cef5677a129</GPP_B> <Admin_Passwd>9b4cef5677a129</Admin_Passwd>
<Proxy_1_>sip.provider.net</Proxy_1_> <User_ID_1_>1234567890</User_ID_1_> <Password_1_>YhJ89_Luk4E</Password_1_> <Display_Name_1_>1234567890</Display_Name_1_> <Line_Enable_2_>0</Line_Enable_2_>
An XML configuration file can be encrypted using the openssl command line utility as shown below. (Note that aes encryption is available beginning with OpenSSL versions 0.9.7. OpenSSL is freely available from http://www.openssl.org )
openssl
This utility generates
Linksys XML configuration files can be compressed using the gzip compression algorithm. Gzip is available from http://www.gzip.org .
gzip cleartextconfig.xml
If both compression and encryption are used, the clear text version must be compressed before it is encrypted. The PHONE ADAPTER does not recognize files which are encrypted and then compressed since encrypted files are uncompressible. The Linksys PHONE ADAPTER automatically detects if a file is compressed or encrypted.
3.2.Secure Initial Configuration
Linksys recommends a secure configuration system to providers to protect them from theft of service, account forgery, and denial of service. To that end, Linksys Terminal Adapters are provisioned at the factory with a public key certificate signed by the Linksys certificate authority.
The first step in this process is for the Linksys terminal adapters to use HTTPS to initially contact the configuration server specified in the Profile_Rule. The initial URL can be configured into the TA at manufacturing time for order over a certain size, it can be added during a staging process, or it can be provided via the web interface as described in the next section. The PHONE ADAPTER opens a TCP connection to the initial configuration server, and sends an SSLv2 ClientHello message. The configuration server then presents a server certificate signed by Linksys in a ServerHello message, and requests the certificate of the client. The Terminal Adapter validates the server certificate and provides its client certificate. From the client certificate, the provider is assured of the authenticity of the MAC address, serial number, and model number of the Linksys device which has connected. The terminal adapter will then use an HTTP GET over this TLS secure channel to fetch its initial configuration.
An Apache web server can be setup to perform all the certificate verification automatically as configuration directives. An example configuration is listed below:
SSLCertificateFile
SSLRequire ( %{SSL_CLIENT_VERIFY} eq "SUCCESS" \ and %{SSL_CLIENT_I_DN_O} eq "Linksys" \ and %{SSL_CLIENT_S_DN_O} eq "Linksys" \
and %{SSL_CLIENT_S_DN_CN} eq %{REQUEST_FILENAME}
</Directory>
Within this directory, the Apache module mod_ssl verifies the client certificate, and verifies that the MAC address in the certificate corresponds the configuration file it is requesting. Either this directory must contain a configuration file, or a CGI application needs to generate the appropriate config file if that MAC address is configured in your system. (The Apache web server is freely available at http://www.apache.org ).
Once an initial XML configuration file is downloaded from the provider web server, subsequent configuration can be downloaded from the same server. Alternatively, the individual configuration files can be encrypted using AES
Linksys recommends using an encrypted configuration file. In the unlikely event that the private key of a terminal adapter or the Linksys certificate authority is compromised, terminal adapters which have already enrolled with a provider and use an encrypted configuration file would be unaffected by such a compromise.
3.3.Web Interface
The PHONE ADAPTER provides a
3.3.1.Web Interface Conventions
The PHONE ADAPTER line uses the following conventions with the web administration capabilities:
oThe PHONE ADAPTER web administration supports two privilege levels: Administrator and User. To use the User privilege, simply point a web browser at the IP address of the PHONE ADAPTER; to use the administrator privilege, use this URL for the PAP2 http://IP_Address_Of_PHONE ADAPTER/admin/, and this URL for the RT31P2: http://IP_Address_Of_PHONE ADAPTER/Voice_adminPage.htm . The default IP address for the LAN interface of the RT31P2 is 192.168.15.1. See the next section for more information about administration privileges.
oThe PHONE ADAPTER supports Internet Explorer 5.5 and above and Netscape 7.0 and above.
oThe web configuration pages can be password protected. See 3.3.2 for more information about password protect.
o The user name of web Administrator is : admin
o The user name of web User is : user
o Note: The user names for both administrator and User are fixed and cannot be changed.
o After making changes to PHONE ADAPTER configuration parameters, pressing ???Submit All Changes??? button will apply all the changes and if necessary, automatically reboot the device. Multiple changes may be made on multiple page tabs of the web interface at the same time. Pressing ???Submit All Changes??? will apply all the modifications.
Important Note: switching between page tabs won???t apply the changes to PHONE ADAPTER, The only way to apply the changes is to press the ???Submit All Changes??? button.
oIf the ???Undo All Changes??? button is clicked, any modifications to profile parameters on any and all pages will be reset back to their original values before modification.
NOTE: Pressing the ???Undo All Changes??? has no effect on the PHONE ADAPTER; it will only reset the values on the web page.
3.3.2.Administration Privileges
The PHONE ADAPTER supports two levels of administration privileges: Administrator and User, both
privileges can be password protected. Important note: by factory default, there are no passwords assigned for both Administrator and User.
The Administrator has the privilege to modify all the web profile parameters and can also modify the passwords of both Administrator and User. A User only has the privilege to access part of the web profile parameters; the parameter group that User can access is specified by the Administrator, which can only be done through provisioning.
To access the Administrator level privilege, use the URL for your model number as described in the previous section. If the password has been set for Administrator, the browser will prompt for authentication. The username for Administrator is ???admin??? and cannot be changed.
To access the User level privilege, use URL: http://IP_Address_Of_PHONE ADAPTER/. If the password has been set for User, the browser will prompt for User authentication. The username for User is ???user??? and cannot be changed.
When browsing Administrator pages, one can switch to User privileges by click the link ???User Login???. (Note: if User password was set, the browser will prompt for User authentication when you click ???User Login??? link). On the other side, from the User pages you can switch to Administrator privilege by clicking the link ???Admin Login.??? Authentication is needed if Administrator password has been set.
Warning: Switching between the User and Administrator will discard the uncommitted changes that have already been made on the web pages.
3.3.3.Basic and Advanced Views
The PAP2 web configuration interface provides a Basic and an advanced view from which the various configuration parameters can be accessed. The PHONE ADAPTER Provisioning tab is only visible from the Advanced Administrator view of the web interface.
Warning: Switching between the basic and advanced view will discard the uncommitted changes that have already been made on the web pages.
3.4.Functional Configuration URLs
The web interface of the PHONE ADAPTER supports several functions through special URLs: Upgrade, Reboot, Profile Resync, and Factory Reset. Administrator privilege is needed for these functions.
Note that on the RT31P2, these URLs are only accessible from the LAN interface, unless the Admin_Passwd has been set and the Enable_Web_Admin_Access parameter is set.
3.4.1.Upgrade URL
Through upgrade URL you can upgrade the PHONE ADAPTER to a firmware specified by the URL. Note: If the value of ???upgrade enable??? parameter in Provisioning tab is no, you cannot upgrade the PHONE ADAPTER even if the web page tells you that the upgrade will be done when it is not in use. See 4.2.1 to get more information on firmware upgrade.
The syntax of Upgrade URL is:
If no protocol is specified, TFTP is assumed. Note: Only TFTP is supported in the current release. If no
If no port specified, default port of the protocol is used. (69 for TFTP, 80 for http, 443 for HTTPS)
The
For example: http://192.168.2.217/upgrade?tftp://192.168.2.251/PAP2.bin
3.4.2.Resync URL
Through Resync URL you can force the PHONE ADAPTER to do a resync to a profile specified in the URL.
Note: The PHONE ADAPTER will resync only when it is idle. The syntax of Resync URL is:
http://<Phone
If no parameter follows ???/resync????, the profile rule setting in provisioning is used. See 4.2 for detailed information about profile rule in provisioning
If no protocol is specified, TFTP protocol is assumed. Note: Only TFTP is supported in the current release.
If no
If no port specified, default port of the protocol is used ??? 69 for TFTP, 80 for http, 443 for HTTPS. The
For example: http://192.168.2.217/upgrade?tftp://192.168.2.251/PAP2.scf
3.4.3.Reboot URL
Through the Reboot URL, you can reboot the PHONE ADAPTER.
Note: Upon request, the PHONE ADAPTER will reboot only when it is idle.
The Reboot URL is: http://<Phone
3.4.4.Factory Reset URL
Through the Reset URL, you can perform a factory reset of the PHONE ADAPTER. Note: Upon request, the PHONE ADAPTER will reset and then reboot only when it is idle. The Reset URL is: http://<Phone
3.5.Configuration via the IVR (PAP2 only)
Administrators and/or users can check (read) and set (write) basic network configuration settings via a touchtone telephone connected to one of the
ADAPTER.
Please Note:
Service Providers offering service using the PHONE ADAPTER may restrict, protect or turn off certain aspects of the unit???s IVR and web configuration capabilities.
The Interactive Voice Response (IVR) capabilities of the PHONE ADAPTER are designed to give the administrator and/or user basic read/write capabilities such that the unit can attain basic IP network connectivity and the more advanced
1. The PHONE ADAPTER IVR uses the following conventions: By factory default there is no password and no password authentication is prompted for all the IVR settings. If administrator password is set, password authentication will be prompted for certain IVR settings. See 3.4.2 for detailed information about administrator password.
To input the password using the phone keypad, the following translation convention applies: o To input: A, B, C, a, b, c
o To input: D, E, F, d, e, f
o To input: G, H, I, g, h, i
o To input: J, K, L, j, k, l
o To input: M, N, O, m, n, o
o To input: P, Q, R, S, p, q, r, s
o To input: T, U, V, t, u, v
o To input: W, X, Y, Z, w, x, y, z
o To input all other characters in the administrator password, press ???0??? Note: This translation convention only applies to the password input.
For example: to input password ???test#@1234??? by phone keypad, you need to press the following
sequence of digits: 8378001234.
2.After entering a value, press the # (pound) key to indicate end of input. o To Save value, press ???1???
o To Review the value, press ???2??? o To
o To Cancel the value entry and return to the main configuration menu, press ???*??? (star) Notes:
o The final ???#??? key won???t be counted into value.
oSaved settings will take effect when the telephone is
3.After one minute of inactivity, the unit times out. The user will need to
4.If, while entering a value (like an IP address) and you decide to exit without entering any changes, you may do so by pressing the * (star) key twice within a half second window of time. Otherwise, the entry of the * (star) key will be treated as a dot (decimal point).
Example: To enter IP address, use numbers 0 ??? 9 on the telephone key pad and use the * (star) key to enter a decimal point.
To enter the following IP address value: 192.168.2.215
A.Use the touchtone key pad to enter: 192*168*2*215#
B.When prompted, enter 1 to save setting to configuration.
C.
- or -
D. Enter the value of the next setting category to modify . . .
5.
PHONE ADAPTER Interactive Voice Response (IVR) Menu:
Note: If the Administrator password is not set or the user is allowed to change it, the items marked with ???Requires Password??? will not require a password.
4. Configuration Parameters
4.1.Data Types
The data types for the PHONE ADAPTER configuration parameters are described below.
???Uns<n> ??? Unsigned
???Sig<n> ??? Signed
???Str<n> ??? A generic string with up to n
???Float<n> ??? A floating point value with up to n decimal places.
???Time<n> ??? Time duration in seconds, with up to n decimal places. Extra decimal places specified are ignored.
???PwrLevel ??? Power level expressed in dBm with 1 decimal place, such as
???Bool: Boolean value of either ???yes??? or ???no???
???{a,b,c,???} ??? A choice among a, b, c, ???
???IP ??? IP Address in the form of x.x.x.x, where x between 0 and 255. For example 10.1.2.100
???Port ??? TCP/UDP Port number
???UserID ??? User ID as appeared in a URL; up to 63 characters
???FQDN ??? Fully Qualified Domain Name, such as ???sip.Linksys.com:5060???, or ???109.12.14.12:12345???. It can contain up to 63 characters
???Phone ??? A phone number string, such as 14081234567, *69, *72, 345678, or a generic URL such as 1234@10.10.10.100:5068, or jsmith@Linksys.com. It can contain up to 39 characters.
???ActCode ??? Activation code for a supplementary service, such as *69. It can contain up to 7 characters.
???PhTmplt ??? A phone number template. Each template may contain 1 or more patterns separated by a ???,???. White Phone Adapterce at the beginning of each pattern is ignored. ??????? and ???*??? represent
wildcard characters. It can contain up to 39 characters. Examples: ???1408*, 1510*???, ???1408123????, 555?1???.
???RscTmplt ??? A template of SIP Response Status Code, such as ???404, 5*???, ???61????, ???407, 408, 487, 481???. It can contain up to 39 characters.
???CadScript ??? A
characters. Syntax: S1[;S2], where Si=Di(oni,1/offi,1[,oni,2/offi,2[,oni,3/offi,3[,oni,4/offi,4[,oni,5/offi,5[,oni,6/offi,6]]]]]) and is known as a section, oni,j and offi,j are the on/off duration in seconds of a segment and i = 1 or 2, and j = 1 to 6. Di is the total duration of the section in seconds. All durations can have up to 3 decimal places to provide 1 ms resolution. The wildcard character ???*??? stands for infinite duration. The segments within a section are played in order and repeated until the total duration is played. Examples:
Example 1: Normal Ring
60(2/4)
Number of Cadence Sections = 1
Cadence Section 1: Section Length = 60 s
Number of Segments = 1
Segment 1: On=2s, Off=4s
Total Ring Length = 60s
Example 2: Distinctive Ring (short,short,short,long)
60(.2/.2,.2/.2,.2/.2,1/4)
???FreqScript ??? A
characters. Syntax: F1@L1[,F2@L2[,F3@L3[,F4@L4[,F5@L5[,F6@L6]]]]], where
Example 1: Call Waiting Tone
Number of Frequencies = 1
Frequency 2 = 440 Hz at
Example 2: Dial Tone
???ToneScript ??? A
progress tone. May contain up to 127 characters. Syntax: FreqScript;Z1[;Z2]. The section Zi is similar to the Si section in a CadScript except that each on/off segment is followed by a frequency components parameter: Zi = Di(oni,1/offi,1/fi,1[,oni,2/offi,2/fi,2 [,oni,3/offi,3/fi,3 [,oni,4/offi,4/fi,4 [,oni,5/offi,5/fi,5 [,oni,6/offi,6/fi,6]]]]]), where fi,j = n1[+n2]+n3[+n4[+n5[+n6]]]]] and 1 < nk < 6 indicates which of the frequency components given in the FreqScript shall be used in that segment; if more than one frequency component is used in a segment, the components are summed together.
Example 1: Dial Tone
Number of Frequencies = 2
Frequency 1 = 350 Hz at
Frequency 2 = 440 Hz at
Number of Cadence Sections = 1
Cadence Section 1: Section Length = 10 s
Number of Segments = 1
Segment 1: On=forever, with Frequencies 1 and 2
Total Tone Length = 10s
Example 2: Stutter Tone
Number of Frequencies = 2
Frequency 1 = 350 Hz at
Frequency 2 = 440 Hz at
Number of Cadence Sections = 2
Cadence Section 1: Section Length = 2s
Number of Segments = 1
Segment 1: On=0.1s, Off=0.1s with Frequencies 1 and 2
Cadence Section 2: Section Length = 10s
Number of Segments = 1
Segment 1: On=forever, with Frequencies 1 and 2
Total Tone Length = 12s
Example 3: SIT Tone
Number of Frequencies = 3
Frequency 1 = 985 Hz at
Frequency 2 = 1428 Hz at
Frequency 3 = 1777 Hz at
Number of Cadence Sections = 1
Cadence Section 1: Section Length = 20s
Number of Segments = 4
Segment 1: On=0.38s, Off=0s, with Frequency 1
Segment 2: On=0.38s, Off=0s, with Frequency 2
Segment 3: On=0.38s, Off=0s, with Frequency 3
Segment 4: On=0s, Off=4s, with no frequency components
Total Tone Length = 20s
???ProvisioningRuleSyntax ??? Scripting syntax used to define configuration resync and firmware upgrade rules. Refer to the provisioning discussion in the next section for a detailed explanation of the syntax.
???DialPlanScript ??? Scripting syntax used to specify line 1 and line 2 dial plans. Refer to the dial plan section of this document for a detailed explanation of the syntax.
4.1.1.Conventions
???<Par Name> represents a configuration parameter name. In a profile, the corresponding tag is formed by replacing the space with an underscore ???_???, such as Par_Name.
???An empty default value field implies an empty string < ?????? >.
???The PHONE ADAPTER shall continue to use the last configured values for tags that are not present in a given profile.
???Templates are compared in the order given. The first, not the closest, match is selected. The parameter name must match exactly.
???If more than one definition for a parameter is given in a configuration file, the last such definition in the file is the one that will take effect in the PHONE ADAPTER.
???A parameter specification with an empty parameter value forces the parameter back to its default value. To specify an empty string instead, use the empty string ?????? as the parameter value.
4.2.Provisioning Related Parameters
Provisioning is controlled by the following parameters (firmware upgrades are discussed later in this section).
???Provision_Enable
???Resync_On_Reset
???Resync_Random_Delay
???Resync_Periodic
???Resync_Error_Retry_Delay
???Forced_Resync_Delay
???Resync_From_SIP
???Resync_After_Upgrade_Attempt
???Resync_Trigger_1
???Resync_Trigger_2
???Resync_Fails_On_FNF
???Profile_Rule
???Profile_Rule_B
???Profile_Rule_C
???Profile_Rule_D
???Log_Resync_Request_Msg
???Log_Resync_Success_Msg
???Log_Resync_Failure_Msg
???GPP_A through GPP_P
???GPP_SA through GPP_SD
Provision Enable:
ParName: Provision_Enable
Default: Enable
The CFG profile must be requested by the PHONE ADAPTER, and cannot be pushed from a provisioning server (although a service provider can effectively push a profile by triggering the request operation remotely via a SIP NOTIFY). The functionality is controlled by the Provision_Enable parameter. The parameter enables the functionality encompassed by the remaining provisioning parameters.
In addition, Provision_Enable also gates the ability to issue an explicit resync command from the web interface (discussed earlier in the "Function URLs" section of this document).
Resync on Reset:
ParName: Resync_On_Reset
Default: Enable
Resync_On_Reset determines whether the PHONE ADAPTER will attempt to resync with the provisioning server on
Resync Random Delay:
ParName: Resync_Random_Delay
Default: 2
Resync_Random_Delay helps to scatter resync requests from multiple devices uniformly over a period of time, whose duration (in seconds) is indicated by this parameter. Hence, if a number of PHONE ADAPTER devices were to
Resync Periodic:
ParName: Resync_Periodic
Default: 3600
The PHONE ADAPTER attempts to resync with the provisioning server periodically, provided the Resync_Periodic parameter is configured with a
active call is in progress. The PHONE ADAPTER will wait up to Forced_Update_Delay seconds for both lines to become idle. If the adapter still is not idle, the adapter will perform a resync anyway.
Resync Error Retry Delay:
ParName: Resync_Error_Retry_Delay
Default: 3600
If a resync attempt fails, the PHONE ADAPTER will retry with a delay indicated by the Resync_Error_Retry_Delay parameter, specified in seconds. If the value is zero, the PHONE ADAPTER treats resync failures as though they were successful, and simply waits for the next periodic event to resync.
Resync From SIP:
ParName: Resync_From_SIP
Default: Enable
Resync_From_SIP gates the ability of a service provider to trigger a profile resync via a SIP NOTIFY message to the PHONE ADAPTER.
If the PHONE ADAPTER receives a SIP NOTIFY request with an Event header field value of "resync", "reboot", or "restart"; the PHONE ADAPTER will attempt to Digest authenticate the notifier using the authentication password used for registrations on that line if the
Profile Rule:
ParName: Profile_Rule
Default: /spa$PSN.cfg
ParName: Profile_Rule_B through Profile_Rule_D
Default: Empty
The Profile_Rule parameter is a script that identifies the provisioning server to contact when performing a profile resync. The Profile_Rule_B, Profile_Rule_C, and Profile_Rule_D parameters are also scripts used to contact other provisioning URLs. Each profile rule is executed only if the previous profile rule was executed successfully(*).
These strings each supports one level of macro expansion, using a small set of variables. Following macro substitution, the rule is evaluated to obtain the URL of the CFG file to be requested from the provisioning server.
The URL can be partially specified, in which case default values are assumed for the unspecified terms. The filepath portion of the URL must always be specified.
The Profile_Rule supports additional syntax that allows the URL to include conditions, for example based on a function of the firmware release currently running in the PHONE ADAPTER. This mechanism can aid the service provider???s firmware upgrade sequence, by allowing them to define different configuration profiles for different stages of an upgrade sequence.
The conditional syntax consists of a sequence of
The sequence of conditions is evaluated until one is satisfied. The URL associated with that condition is then used to resync the PHONE ADAPTER. No additional URLs in the rule are considered.
(*) A profile rule which attempts to fetch a URL succeeds if the profile is received and parsed correctly. If the Resync_Fails_On_FNF parameter is set to No, a profile rule will also succeed if an attempted fetch for a URL returns a File Not Found error message. A profile rule with only assignments always succeeds.
Optional qualifiers can be specified in brackets, preceding each URL.
To ease testing and development, the script syntax also supports using ???#??? as a comment delimiter (until
The syntax for the rule is as follows (with standard conventions for URLs):
rule = term *( "|" term )
term = [condition] [assignments] [options] url
condition = "(" conditionseq ")" "?" conditionseq = condelem *( conjunction condelem ) condelem = numcond / vercond / strcond
numcond = number relop number vercond = [ version ] relop version
relop = "<" / "<=" / ">" / ">=" / "==" / "!="
/ "!" / "gt" / "ge" / "lt" / "le" / "eq" / "ne" version = major "." minor "." build [ "(" features ")" ] strcond = cond *( conjunction cond )
strcond = qstr eqop qstr conjunction = "and" qstr = DQUOT val DQUOT
eqop = "==" / "!=" / "!" / "eq" / "ne"
assignments = "(" *assignment ")" "!" assignment(*) = attribute "=" expr ";"
expr = DQUOT val DQUOT
options = "[" *option "]"
option =
url = [ method "://" [ server [":" port]]] "/" *(dir "/") file method = "tftp" / "http" / "https"
server(**) = ip4quad / fqdn
( * ) Attribute can contain the name of any configuration parameter
( ** ) If the server and scheme are unspecified, the TFTP server name provided by the LAN???s DHCP server is used instead. Also, an FQDN with multiple DNS entries is multiply resolved by the PHONE
ADAPTER.
The variables available for macro substitution (with example values) are as follows:
( * ) Note that the UPGCOND term is particularly useful in the Upgrade_Rule (discussed later in this document), but applies equally as a resync condition. It shows which term of the rule triggered the operation.
( ** ) See section 6.5 for the values of these macro variables.
( *** ) Upon successful firmware upgrade, the ERR variable carries the version of the newly installed load.
In addition, the contents of the general purpose parameters, GPP_A, through GPP_P, are available as macro variables A through P, respectively.
A secondary set of general purpose parameters is also available for macro substitution, GPP_SA, GPP_SB, GPP_SC, GPP_SD, using the respective expressions SA, SB, SC, and SD. These parameters are not accessible through the web interface, and can only be set via a configuration profile.
Strings identified above as "val" values are strings which can include variable substitution. The macro variables are invoked by prefixing the name with a ???$??? character (e.g. $MAC). The substitution works even within a quoted string, without requiring additional escapes. If the variable name is immediately followed by an alphanumeric character, enclose the variable name in parentheses (e.g.
"$(MAC)config.xml" ).
To include a dollar sign in the rule, escape it with another dollar sign. That is $$ maps to $.
Profile_Rule syntax examples (each line is a separate example):
/pap2.cfg pserv.myvoice.com:42000/sip/$MA/pap2.cfg
Profile Example Scenarios:
Enterprise LAN with DHCP Supplied TFTP Server Name:
The DHCP server automatically advertises a TFTP server name to service the local network. Each PHONE ADAPTER in the network is supplied a unique CFG file based on its MAC address. The TFTP server would also contain a generic Phone Adapter2000.cfg in its
/profiles/$MA/pap2.cfg
When first
VoIP Service Provider:
Conceptually, a service provider solution would follow the steps as in the above example. In addition, it would then proceed to enable stronger encryption by implementing one more provisioning step, with one more level of redirection, involving a random CFG file path and encryption key. Hence, each of the
Profile_Rule
GPP_B ???83c1e792bc6a824c0d18f429bea52d8483f2a24b32d75bc965d05e38c163d5ef???;
In practice, the first provisioning stage (which individualizes each PHONE ADAPTER into fetching a unique CFG file) could be preconfigured during manufacturing.
For added security, the second stage, which introduces strong encryption, may be performed in- house, prior to shipping an PHONE ADAPTER to each
Release 2.0 supports
A provisioning flow chart, from the point of view of the PHONE ADAPTER endpoint is presented in a later section.
Log Resync Request Message:
ParName: Log_Resync_Request_Msg
Default: $PN $MAC
The Log_Resync_Request_Msg is a script that defines the message sent to the configured Syslog server whenever the PHONE ADAPTER attempts to resync with the provisioning server. The string supports one level of macro substitution, with the same variables as for the Profile_Rule above. An empty string does not generate a syslog message.
Log Resync Success Message:
ParName: Log_Resync_Success_Msg
Default: $PN $MAC
The Log_Resync_Success_Msg is a script that defines the message sent to the configured Syslog server whenever the PHONE ADAPTER successfully completes a resync with the provisioning server. The string supports one level of macro substitution, with the same variables as for the Profile_Rule above. An empty string does not generate a syslog message.
Log Resync Failure Message:
ParName: Log_Resync_Failure_Msg
Default: $PN $MAC
The Log_Resync_Failure_Msg is a script that defines the message sent to the configured Syslog server whenever the PHONE ADAPTER fails to complete a resync with the provisioning server. The
string supports one level of macro substitution, with the same variables as for the Profile_Rule above. An empty string does not generate a syslog message.
General Purpose Parameters:
ParName: GPP_A through GPP_P
Default: empty
GPP_A through GPP_P are the 16 General Purpose Parameters, usable by both the provisioning and the upgrade logic. Each general purpose parameter can be configured to hold any string value. Such a value can then be incorporated in other scripted parameters.
General Purpose Secure Parameters:
ParName: GPP_SA through GPP_SD
Default: empty
GPP_SA through GPP_SD are the 4 Secure General Purpose Parameters, usable by both the provisioning and the upgrade logic. Each secure parameter can be configured to hold any string value. Such a value can then be incorporated in other scripted parameters. The secure parameters are not accessible through the PHONE ADAPTER web interface, and can only be set via a configuration profile. Also, the parameters cannot be incorporated as part of a syslog message.
Note: In a customized PHONE ADAPTER, the profile rule would point to a service provider???s server.
4.2.1.Firmware Upgrade
The PHONE ADAPTER is firmware upgradeable via TFTP and HTTP. Firmware loads are released as single binary files, which contain all the modules pertaining to any one release version. By convention, the firmware loads are named with the extension ???.bin??? (e.g. pap2.bin)
The PHONE ADAPTER can be configured to upgrade to a specific version, possibly staging through intermediate releases, if necessary. This process can be automated for a pool of devices through configuration profile parameters.
Alternatively, an individual PHONE ADAPTER can be directed to perform an upgrade to a specific firmware load via its
Firmware upgrades are attempted only when the PHONE ADAPTER is idle, since they trigger a software reboot.
Firmware upgrades are controlled by the following parameters (which operate in a manner similar to but independent of the provisioning parameters).
???Upgrade_Enable
???Upgrade_Error_Retry_Delay
???Upgrade_Rule
???Downgrade_Rev_Limit
???Log_Upgrade_Request_Msg
???Log_Upgrade_Success_Msg
???Log_Upgrade_Failure_Msg
Upgrade Enable:
ParName: Upgrade_Enable
Default: Enable
The firmware file must be requested by the PHONE ADAPTER and cannot be pushed from an upgrade server (although a service provider can effectively push a new firmware load by triggering the request operation remotely via the CFG file). The functionality is controlled by the Upgrade_Enable parameter. The parameter enables the functionality encompassed by the remaining upgrade parameters.
In addition, Upgrade_Enable also gates the ability to issue an explicit upgrade command from the web interface (discussed in section 3.4.1 of this document).
Upgrade Error Retry Delay:
ParName: Upgrade_Error_Retry_Delay
Default: 3600
If an upgrade attempt fails, the PHONE ADAPTER will retry with a delay indicated by the Upgrade_Error_Retry_Delay parameter, specified in seconds. If the value is zero, the PHONE ADAPTER treats upgrade failures as though they were successful, and will not retry to upgrade unless some event triggers a reboot.
Upgrade Rule:
ParName: Upgrade_Rule and Upgrade_Rule_B
Default: Empty
The Upgrade_Rule and Upgrade_Rule_B parameters are scripts that identifies the upgrade server to contact during a firmware upgrade. Upgrade_Rule_B is only executed if Upgrade_Rule executed successfully. These strings support one level of macro expansion, using a small set of variables. Following macro substitution, the rule is evaluated to obtain a URL of the firmware file to request from an upgrade server.
The URL can be partially specified, in which case default values are assumed for the unspecified terms. The filepath portion of the URL must be specified.
The Upgrade_Rule supports additional syntax that allows the URL to be a function of the firmware release currently running in the PHONE ADAPTER. This mechanism can aid service providers sequence through a firmware upgrade, by allowing them to automatically stage the upgrade sequence, if so required by the firmware. Also, the Downgrade_Rev_Limit parameter can contain a version string below which the PHONE ADAPTER will not downgrade.
The conditional syntax consists of a sequence of
The sequence of conditions is evaluated until one is satisfied. The URL associated with that condition is then used to upgrade the PHONE ADAPTER. No additional URLs in the rule are considered.
The upgrade will fail if the new firmware load does not satisfy the upgrade rule condition that suggested the URL. This alleviates the possibility of infinite upgrade loops, in case the device has been misconfigured.
The rule syntax is the same as for the Profile_Rule described in a previous section, except that there are no supported optional qualifiers for upgrades at this time. (That is, the bracketed options preceding the URL are not supported in the Upgrade_Rule).
Upgrade Rule Syntax Examples (each line is a separate example):
(! 1.0.2)? /Phone
(<0.99.52)?/Phone Adapter09952.bin | (<1.0.2)?/Phone Adapter10002.bin
Log Upgrade Request Message:
ParName: Log_Upgrade_Request_Msg
Default: $PN $MAC
The Log_Upgrade_Request_Msg is a script that defines the message sent to the configured Syslog server whenever the PHONE ADAPTER attempts an upgrade from the upgrade server. The string supports one level of macro substitution, with the same variables as for the Upgrade_Rule above. An empty string does not generate a syslog message.
Log Upgrade Success Message:
ParName: Log_Upgrade_Success_Msg
Default: $PN $MAC
The Log_Upgrade_Success_Msg is a script that defines the message sent to the configured Syslog server whenever the PHONE ADAPTER successfully completes an upgrade from the upgrade server. The string supports one level of macro substitution, with the same variables as for the Upgrade_Rule above. An empty string does not generate a syslog message.
Log Upgrade Failure Message:
ParName: Log_Upgrade_Failure_Msg
Default: $PN $MAC
The Log_Upgrade_Failure_Msg is a script that defines the message sent to the configured Syslog server whenever the PHONE ADAPTER fails to complete an upgrade from the upgrade server. The
string supports one level of macro substitution, with the same variables as for the Upgrade_Rule above. An empty string does not generate a syslog message.
Note: In a customized PHONE ADAPTER, the upgrade rule would point to a service provider???s server.
4.2.2.Provisioning Server Redundancy
The Provisioning Server (PS) may be specified as an IP address or a FQDN. PS redundancy is not available in the former case. For the latter, PHONE ADAPTER shall attempt to resolve the IP address of the PS via DNS SRV, then DNS A Record. In either case, the DNS server may return a number of IP addresses with priority (priority can be indicated in the case of SRV record; for A records, all IP addresses have the same priority). The PHONE ADAPTER then contacts the IP address with the highest priority. If that fails, the PHONE ADAPTER shall contact the next available IP address. The PHONE ADAPTER shall continue the process until one of the PS responds. If all PS fail to respond, the PHONE ADAPTER shall log an error to the Syslog server.
4.2.3.Configuring the Web Server and IVR
System Configuration
4.3.Basic Networking Configuration
Configuration parameters in this list are used for setting up basic network connectivity. In general, many of these parameters are set automatically (for example, using DHCP) or are configured by the end user of the device.
Note that the RT31P2 ignores the following parameters: DHCP, Static_IP, NetMask, and Gateway. Other than the DNS_Server_Order and DNS_Query_Mode, the rest these parameters also can be configured from the RT31P2 User GUI.
Network Configuration
-Parallel DNS query mode: PHONE ADAPTER will send the same request to all the DNS servers at the same time when doing a DNS lookup, the first incoming reply will be accepted by PHONE
ADAPTER.
-To log SIP messages, Debug Level must be set to at least 2.
-If both Debug Server and Syslog Server are specified, _Syslog messages are also logged to the Debug Server.
4.4.Basic Account Configuration
Basic SIP Account Configuration is typically straightforward, involving only a handful of key parameters. All of these parameters are configured on a
The Line_Enable parameters control whether a line is enabled or not. The Proxy setting is the address of the SIP Registrar (usually collocated with a SIP Proxy) for the account. The User_ID is the username or phone number of the SIP account. The Proxy and User_ID together form the SIP URI. For example: User_ID = alice ; Proxy = sip.provider.net:5060 ; the SIP URI used for registration would be sip:alice@sip.provider.net:5060.
The Password is the password used for Digest authentication. With some providers, the username used for authentication is different from the User_ID used in the SIP From header. For example, Alice Smith could have a User_ID of 1234, and a Digest username of alice.smith. In this situation, set the Auth_ID to alice.smith and set Use_Auth_ID to yes. The Display_Name is the string that will appear in quotes in the From header. It can be an arbitrary string such as a name (for example "Alice Smith") or a local phone number (for example "5551212").
parameter is useful only if the primary and backup proxy server list is provided to the PHONE ADAPTER via DNS SRV record lookup on the server name. (Using multiple DNS A record per server name does not allow the notion of priority and so all hosts will be considered at the same priority and the PHONE ADAPTER will not attempt to fall back after a fail over)
Subscriber Information
4.5.Configuration for NAT Traversal
In general, there are 3 general approaches to enable NAT traversal available on the PHONE ADAPTER: STUN (Simple Traversal of UDP through NAT), Using an outbound rewriting "proxy", and manual configuration. If the PHONE ADAPTER is not "behind" a NAT, the default settings should be used.
Note: The Linksys model RT31P2 includes NAT (Network Address Translator) functionality. As long as the IP address of the "WAN Port" is a public IP address, the RT31P2 can be configured with all NAT Traversal features (NAT Traversal off), since the PHONE ADAPTER portion shares the same IP address as the WAN Port. If the address obtained on the WAN Port is already a private address, then the RT31P2 still needs to be configured for NAT traversal.
The Outbound Proxy approach works through more than 99% of NATs, but it requires the service provider to relay RTP media packets for every call. To use this approach, set the following parameters: Outbound_Proxy, Use_Outbound_Proxy, NAT_Keep_Alive_Dest, NAT_Keep_Alive_Msg, NAT_Keep_Alive_Intvl, and NAT_Keep_Alive_Enable. If the NAT_Keep_Alive_Msg parameter is set to blank, the PHONE ADAPTER will send a Carriage-
The STUN approach works through more than 95% of home NATs when there is only a single PHONE ADAPTER in use behind the same NAT. The STUN approach requires a STUN server setup by the provider, but uses very few resources. The actual media flows directly between the PHONE ADAPTER and its peer. To configure STUN set the following parameters: STUN_Enable, STUN_Test_Enable, STUN_Server, NAT_Mapping_Enable, Substitute_VIA_Addr, NAT_Keep_Alive_Dest, NAT_Keep_Alive_Msg, NAT_Keep_Alive_Intvl, and NAT_Keep_Alive_Enable.
The Manual Configuration approach requires coordinated administration of the NAT and the PHONE ADAPTER. It is not practical for general retail use, but can be used behind symmetric NATs occasionally found in larger businesses, for troubleshooting, and in circumstances where other mechanisms have been exhausted. The configure the PHONE ADAPTER for manual NAT traversal, set the EXT_IP parameter to the public/translated/outside/external IP address, the EXT_SIP_Port parameters (per line) to the translated port number for this line and PHONE ADAPTER, and the EXT_RTP_Port_Min parameter to the first translated port number reserved for this PHONE
ADAPTER. Also, set the Substitute_VIA_Addr and NAT_Mapping_Enable parameters. Follow the instructions of the NAT software to configure static NAT mappings between the external address and ports (EXT_SIP_Port, EXT_RTP_Port_Min) and the internal address and ports (SIP_Port, RTP_Port_Min). Set the RTP_Port_Max parameter to a smaller number (for example, RTP_Port_Min plus 8). There must be mappings for the every port number between RTP_Port_Min and RTP_Port_Max when using the Manual Configuration approach. Reserving 8 ports is safe, since it allows both lines to have two simultaneous calls with a port for RTP and RTCP.
4.6.Media and SDP (Session Description Protocol) Configuration
4.6.1.DTMF and Hookflash
By default, the PHONE ADAPTER sends DTMF to the far end using
Likewise, hookflash events by default are handled internally by the PHONE ADAPTER and used to trigger supplementary services which are implemented on the PHONE ADAPTER. If a provider needs to convey a hookflash event to an application server to initiate a
The administrator can select a method for conveying DTMF and hookflash on a
4.6.2.Codec and Audio Settings
The following parameters are used to enable or disable access to specific codecs, echo cancellation, and FAX support.
Notes:
1. A codec resource is considered as allocated if it has been included in the SDP codec list of an active call, even though it eventually may not be the one chosen for the connection. So, if the G.729a codec is enabled and included in the codec list, that resource is tied up until the end of the call whether or not the call actually uses G.729a. If the G729a resource is already allocated and since only one G.729a resource is allowed per PHONE ADAPTER, no other
4.6.3.Dynamic Payload Types and SDP Codec Names
Note: You should only need to change the payload type mappings if you are interworking with a non- standard implementation.
Notes:
1.Valid range is 96 ??? 127
2.The configured dynamic payloads are used for outbound calls only where the PHONE ADAPTER presents the SDP offer. For inbound calls with a SDP offer, PHONE ADAPTER will follow the caller???s dynamic payload type assignments
Notes:
1.PHONE ADAPTER uses the configured codec names in its outbound SDP
2.PHONE ADAPTER ignores the codec names in incoming SDP for standard payload types (0 ??? 95).
3.For dynamic payload types, PHONE ADAPTER identifies the codec by the configured codec names. Comparison is
4.6.4.Secure Media Implementation:
A secure call is established in two stages. The first stage is no different form a normal call setup. Right after the call is established in the normal way with both sides ready to stream RTP packets, the second stage starts where the two parties exchange information to determine if the current call can switch over to the secure mode. The information is transported by base64 encoding and embedding in the message body of SIP INFO requests and responses with a proprietary format. If the second stage is successful, the PHONE ADAPTER will play a special ???Secure Call Indication Tone??? for short while to indicate to both parties that the call is secured and that RTP traffic in both directions are encrypted. If the user has a CIDCW capable phone and CIDCW service is enabled, then the CID will be updated with the information extracted from the
The second stage in setting up a secure all can be further divided into two steps. Step 1 the caller sends a ???Caller Hello??? message (base64 encoded and embedded in the message body of a SIP INFO request) to the called party with the following information:
-Message ID (4B)
-Version and flags (4B)
-SSRC of the encrypted stream (4B)
-
Upon receiving the Caller Hello, the callee responds with a Callee Hello message (base64 encoded and embedded in the message body of a SIP response to the caller???s INFO request) with similar information, if the Caller Hello message is valid. The caller then examines the Callee Hello and proceeds to step 2 if the message is valid. In step 2 the caller sends the ???Caller Final??? message to the callee with the following information:
-Message ID (4B)
-Encrypted Master Key (16B or 128b)
-Encrypted Master Salt (16B or 128b)
With the master key and master salt encrypted with the public key from the callee???s
A
-User Name (32B)
-User ID or Phone Number (16B)
-Expiration Date (12B)
-Public Key (512b or 64B)
-Signature (1024b or 512B)
The signing agent is implicit and must be the same for all PHONE ADAPTER???s that intended to communicate securely with each other. The public key of the signing agent is
User Interface
The PHONE ADAPTER can be set up such that all outbound calls are secure calls by default, or not secure by default. If outbound calls are secure by default, user has the option to disable security when making the next call by dialing *19 before dialing the target number. If outbound calls are not secure by default, user has the option to make the next outbound call secure by dialing *18 before dialing the target number. On the other hand, user cannot force inbound calls to be secure or not secure; it is at the mercy of the caller whether he/she enables security or not for that call.
If the call successfully switches to the secure mode, both parties will hear the ???Secure Call Indication Tone??? for a short while and the CID will be updated with the Name and Number extracted from the
Service Provider Requirements
The PHONE ADAPTER
Since the secure call establishment relies on exchange of information embedded in message bodies of SIP INFO requests/responses, the service provider must maker sure that their infrastructure will allow the SIP INFO messages to pass through with the message body unmodified.
Linksys provides a configuration tool called gen_mc for the generation of MC and private keys with the following syntax:
gen_mc
Where:
-
e3VgYxWCQNa335YCnDsenASeBxuMIEaBCYd1l1fVEodJZOGwXwfAde0MhcbD0kj7LVlzcsTyk2TZ
YTccnZ75TuTjj13qvYs=
5nEtOrkCa84/mEwl3D9tSvVLyliwQ+u/Hd+C8u5SNk7hsAUZaA9TqH8Iw0J/IqSrsf6scsmundY5j7Z5m
K5J9uBxSB8t8vamFGD0pF4zhNtbrVvIXKI9kmp4vph1C5jzO9gDfs3MF+zjyYrVUFdM+pXtDBxmM+f
GUfrpAuXb7/k=
-
-
-
The tool generates the <Mini Certificate> and <SRTP Private Key> parameters that can be provisioned to the PHONE ADAPTER.
For Example:
gen_mc ca_key ???Joe Smith??? 14085551234 ???00:00:00 1/1/34???
Produces:
<Mini Certificate> Sm9lIFNtaXRoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxNDA4NTU1MTIzNAAAAAAAMDAwM DAwMDEwMTM00OvJakde2vVMF3Rw4pPXL7lAgIagMpbLSAG2+++YlSqt198Cp9rP/xMGFfoPmDK Gx6JFtkQ5sxLcuwgxpxpxkeXvpZKlYlpsb28L4Rhg5qZA+Gqj1hDFCmG6dffZ9SJhxES767G0JIS+N8l QBLr0AuemotknSjjjOy8c+1lTCd2t44Mh0vmwNg4fDck2YdmTMBR516xJt4/uQ/LJQlni2kwqlm7scDvll5 k232EvvvVtCK0AYa4eWd6fQOpiESCO9CC9aYU1X5lJuU+EBZmi3AmcqE9U1LxEOGwopaGyGOh3 VyhKgi6JaVtQZt87PiJINKW8XQj3B9Qqe3VgYxWCQNa335YCnDsenASeBxuMIEaBCYd1l1fVEodJZ OGwXwfAde0MhcbD0kj7LVlzcsTyk2TZYTccnZ75TuTjj13qvYs=
<SRTP Private Key> b/DWc96X4YQraCnYzl5en1CIUhVQQqrvcr6Qd/8R52IEvJjOw/e+Klm4XiiFEPaKmU8UbooxKG36SEd Kusp0AQ==
4.6.5.Outbound Call Codec Selection Codes:
The User can use additional feature codes on the PHONE ADAPTER to force or prefer specific codecs. These codes are automatically appended to the
4.7.Supplementary Services
Each line of the PHONE ADAPTER has settings which enable or disable each of the supplementary services implemented directly in the PHONE ADAPTER. The expected behavior when a specific service is enabled is described in Section 5.
The PHONE ADAPTER provides native support of a large set of enhanced or supplementary services. All of these services are optional. The parameters listed in the following table are used to enable or disable a specific supplementary service. A supplementary service should be disabled if a) the user has not subscribed for it, or b) the Service Provider intends to support similar service using other means than relying on the PHONE ADAPTER.
1.Three Way Calling is required for Three Way Conference and Attended Transfer.
2.Three Way Conference is required for Attended Transfer.
3.MWI is available only if a Voice Mail Service is
4.7.1.Supplementary Services activated internally
Once Supplementary Services on the PHONE ADAPTER are Enabled, the services can be activated or deactivated dynamically by dialing specific (configurable) dial strings. For example, the default dial string to activate or deactivate most features is a "*" character followed by a two digit code. The following table lists the parameters which set these dial strings used internally by the PHONE ADAPTER. If a provider wishes to offer a service which is activated or deactivated in an application server in their network instead of internally in the PHONE ADAPTER, the dial pattern for that service should NOT be present in these configuration parameters.
In addition to the dynamic activation and deactivation codes, the following parameters control the default activation or deactivation of internal parameters.
4.7.2.Call Forwarding Implemented internally
The PHONE ADAPTER supports local call forwarding services (Call Forward All, Call Forward Busy, Call Forward No Answer, and Selective Call Forwarding for up to 8 numbers).
4.7.3.Supplementary Services implemented in the service provider network
For services which are activated or deactivated in the service provider network (for example in an application server), instead of internally in the PHONE ADAPTER, The Feature_Dial_Services_Codes and Referral_Services_Codes parameters contain a list of dial strings that correspond to feature codes in the network after which the PHONE ADAPTER needs to collect a target number. These codes are automatically appended to the dial plan, so there is no need to explicitly include them in the dial plan. For example, if call forwarding is implemented in the network, the code to activate call forwarding and collect the target number should be included in the Feature_Dial_Services_Codes parameter, but the code to deactivate call forwarding should not (since it does not require collection of a target phone number).
Feature Dial Services Codes
One or more *code can be configured into this parameter, such as *72, or *72|*74|*67|*82, etc. Max total length is 79 chars. This parameter applies when the user has a dial tone (1st or 2nd dial tone). Enter *code (and the following target number according to current dial plan) entered at the dial tone triggers the PHONE ADAPTER to call the target number prepended by the *code. For example, after user dials *72, the PHONE ADAPTER plays a prompt tone awaiting the user to enter a valid target number. When a complete number is entered, the PHONE ADAPTER sends a INVITE to *72<target_number> as in a normal call. This feature allows the proxy to process features like call forward (*72) or BLock Caller ID (*67).
Notes:
-The *codes should not conflict with any of the other vertical service codes internally processed by the PHONE ADAPTER. You can empty the corresponding *code that you do not want to PHONE ADAPTER to process.
-You can add a parameter to each *code in "Features Dial Services Codes" to indicate what tone to play after the *code is entered, such as *72`c`|*67`p`. Below are a list of allowed tone parameters (note the use of back quotes surrounding the parmeter w/o spaces)
`c` = <Cfwd Dial Tone> `d` = <Dial Tone>
`m` = <MWI Dial Tone> `o` = <Outside Dial Tone> `p` = <Prompt Dial Tone> `s` = <Second Dial Tone>
`x` = No tones are place, x is any digit not used above
If no tone parameter is specified, the PHONE ADAPTER plays Prompt tone by default.
-If the *code is not to be followed by a phone number, such as *73 to cancel call forwarding, do not include it in this parameter. In that case, simply add that *code in the dial plan and the PHONE ADAPTER will send INVITE *73@..... as usual when user dials *73.
Referral Services Codes
One or more *code can be configured into this parameter, such as *98, or *97|*98|*123, etc. Max total length is 79 chars. This parameter applies when the user places the current call on hold (by Hook Flash) and is listening to 2nd dial tone. Each *code (and the following valid target number according to current dial plan) entered on the 2nd
Notes:
- The *codes should not conflict with any of the other vertical service codes internally processed by the PHONE ADAPTER. You can empty the corresponding *code that you do not want to PHONE ADAPTER to process.
4.8.Dial Plan Configuration
The PHONE ADAPTER allows each line to be configured with a distinct dial plan. The dial plan specifies how to interpret digit sequences dialed by the user, and how to convert those sequences into an outbound dial string.
The PHONE ADAPTER syntax for the dial plan closely resembles the corresponding syntax specified by MGCP and MEGACO. Some extensions are added that are useful in an
The dial plan functionality is regulated by the following configurable parameters:
???Interdigit_Long_Timer
???Interdigit_Short_Timer
???Dial_Plan ([1] and [2])
???Enable_IP_Dialing
Other timers are configurable via parameters, but do not directly pertain to the dial plan itself. They are discussed elsewhere in this document.
Interdigit Long Timer:
ParName: Interdigit_Long_Timer
Default: 10
The Interdigit_Long_Timer specifies the default maximum time (in seconds) allowed between dialed digits, when no candidate digit sequence is as yet complete (see discussion of Dial_Plan parameter for an explanation of candidate digit sequences).
Interdigit Short Timer:
ParName: Interdigit_Short_Timer
Default: 3
The Interdigit_Short_Timer specifies the default maximum time (in seconds) allowed between dialed digits, when at least one candidate digit sequence is complete as dialed (see discussion of Dial_Plan parameter for an explanation of candidate digit sequences).
Dial Plan[1] and Dial Plan[2]:
The Dial_Plan parameters contain the actual dial plan scripts for each of lines 1 and 2.
Dial Plan Digit Sequences:
The plans contain a series of digit sequences, separated by the ???|??? character. The collection of sequences is enclosed in parentheses, ???(??? and ???)???.
When a user dials a series of digits, each sequence in the dial plan is tested as a possible match. The matching sequences form a set of candidate digit sequences. As more digits are entered by the user, the set of candidates diminishes until only one or none are valid.
Any one of a set of terminating events triggers the PHONE ADAPTER to either accept the
???No candidate sequences remain: the number is rejected.
???Only one candidate sequence remains, and it has been matched completely: the number is accepted and transmitted after any transformations indicated by the dial plan, unless the sequence is barred by the dial plan (barring is discussed later), in which case the number is rejected.
???A timeout occurs: the digit sequence is accepted and transmitted as dialed if incomplete, or transformed as per the dial plan if complete.
???An explicit ???send??? (user presses the ???#??? key): the digit sequence is accepted and transmitted as dialed if incomplete, or transformed as per the dial plan if complete.
The timeout duration depends on the matching state. If no candidate sequences are as yet complete (as dialed), the Interdigit_Long_Timeout applies. If a candidate sequence is complete, but there exists one or more incomplete candidates, then the Interdigit_Short_Timeout applies.
White space is ignored, and may be used for readability.
Digit Sequence Syntax:
Each digit sequence within the dial plan consists of a series of elements, which are individually matched to the keys pressed by the user. Elements can be one of the following:
???Individual keys ???0???, ???1???, ???2??? . . . ???9???, ???*???, ???#???.
???The letter ???x??? matches any one numeric digit (???0??? .. ???9???)
???A subset of keys within brackets (allows ranges): ???[??? set ???]??? (e.g. [389] means ???3??? or ???8??? or ???9???)
oNumeric ranges are allowed within the brackets: digit
oRanges can be combined with other keys: e.g.
Element repetition:
Any element can be repeated zero or more times by appending a period (???.??? character) to the element. Hence, ???01.??? matches ???0???, ???01???, ???011???, ???0111???, ??? etc.
Subsequence Substitution:
A subsequence of keys (possibly empty) can be automatically replaced with a different subsequence using an angle bracket notation: ???<???
Intersequence Tones:
An ???outside line??? dial tone can be generated within a sequence by appending a ???,??? character between digits. Thus, the sequence ???9, 1xxxxxxxxxx??? sounds an ???outside line??? dial tone after the user presses ???9???, until the ???1??? is pressed.
Number Barring:
A sequence can be barred (rejected) by placing a ???!??? character at the end of the sequence. Thus, ???1900xxxxxxx!??? automatically rejects all 900 area code numbers from being dialed.
Interdigit Timer Master Override:
The long and short interdigit timers can be changed in the dial plan (affecting a specific line) by preceding the entire plan with the following syntax:
???Long interdigit timer: ???L??? ???:???
???Short interdigit timer: ???S??? ???:???
Thus, ???L=8,( . . . )??? would set the interdigit long timeout to 8 seconds for the line associated with this dial plan. And, ???L:8,S:4,( . . . )??? would override both the long and the short timeout values.
Local Timer Overrides:
The long and short timeout values can be changed for a particular sequence starting at a particular point in the sequence. The syntax for long timer override is: ???L???
These overrides are especially useful to terminate dialing in countries with predictable but variable length numbering plans, or to provide an exception when a rule with fewer digits is known to override a rule waiting for more digits. For example, assuming a generic international calling sequence of 011xxxxxxxxx. in North America, the PHONE ADAPTER can be configured to complete dialing to France after the country code and exactly 10 digits using 01133xxxxxxxxxxS:0 as a dial plan digit sequence. When this sequence matches, it overrides the short interdigit timer, causing an immediate call. If the S:0 had been absent, the PHONE ADAPTER would wait for the short interdigit timer to expire before placing the call.
Pause:
A sequence may require an explicit pause of some duration before continuing to dial digits, in order for the sequence to match. The syntax for this is similar to the timer override syntax: ???P???
This syntax allows for the implementation of
Implicit sequences:
The PHONE ADAPTER implicitly appends the vertical code sequences entered in the Regional parameter settings to the end of the dial plan for both line 1 and line 2. Likewise, if Enable_IP_Dialing is enabled, then ip dialing is also accepted on the associated line.
Maximum Length
Each dial plan cannot exceed 2047 bytes, after all configured vertical codes have been added to the Dial_Plan parameter.
Examples:
The following dial plan accepts only
( 1 xxx xxxxxxx )
The following also allows
( 1 xxx xxxxxxx | <:1212> xxxxxxx )
For an office environment, the following plan requires a user to dial 8 as a prefix for local calls and 9 as a prefix for long distance. In either case, an ???outside line??? tone is played after the initial 8 or 9, and neither prefix is transmitted when initiating the call.
( <9,:> 1 xxx xxxxxxx | <8,:1212> xxxxxxx )
The following allows only placing international calls (011 call), with an arbitrary number of digits past a required 5 digit minimum, and also allows calling an international call operator (00). In addition, it lengthens the default short interdigit timeout to 4 seconds.
S:4, ( 00 | 011 xxxxx x. )
The following allows only
( 0 | [49]11 | 1
The following allows
( 1
The following allows arbitrary long distance dialing, but explicitly blocks the 947 area code.
( 1 947 xxxxxxx ! | 1 xxx xxxxxxx )
The following implements a Hot Line phone, which automatically calls 1 212 5551234.
( S0 <:12125551234> )
The following provides a Warm Line to a local office operator (1000) after 5 seconds, unless a 4 digit extension is dialed by the user.
( P5 <:1000> | xxxx )
Explanation of Default Dial Plan
The Default Dial Plan script for each line is:
IP Dialing
If IP dialing is enabled, one can dial
4.8.1.Speed Dialing Settings
If assigned, Speed Dials enable a user to dial a single digit from 2 through 9 and then the "#" character, to dial the number configured in the PHONE ADAPTER. Speed dials are specified per line.
4.9.Progress Tone and Ring Configuration
The progress tones and ring tones on the PHONE ADAPTER are extremely configurable. There are 18 configurable call progress tones, 8 configurable ringing cadences, and 8 configurable call waiting cadences. Progress tones and Ring cadences are configured using FreqScipts and CadScripts respectively (described in Section 4.1).
4.9.1.Distinctive Ring and Other Ring Settings
Distinctive Ringing and Distinctive Call Waiting Tones can be associated with specific callers configured directly into the PHONE ADPATER, by setting the appropriate callers in the Ring_n_Caller parameters. The Ring_1_Caller parameter specifies which callers will trigger ring cadence 1, and so forth. If a provider wishes to offer a distinctive ringing service by providing hints from the network, the provider can insert an
In addition to ordinary and distinctive rings, there are number of other situations where the PHONE ADAPTER can provide a short burst of ringing. These ring settings are described below.
Notes:
1.Caller number patterns are matched from Ring 1 to Ring 8. The first match (not the closest match) will be used for alerting the subscriber.
4.9.2.Progress Tones
Most of the 18 progress tones in the PHONE ADAPTER are played automatically in response to fixed stimuli. However, the administrator can select which SIP response codes correspond to the 4 SIT tones.
The Frequencies of the actual progress tones are configurable to accommodate local and regional conventions.
Notes:
1.Reorder Tone is played automatically when <Dial Tone> or any of its alternatives times out
2.Off Hook Warning Tone (also called Howler Tone) is played when Reorder Tone times out
4.10. Less Frequently Used Paramters
4.10.1.Advanced Protocol Parameters
Notes:
1.Reorder or Busy Tone will be played by default for all unsuccessful response status code
2.<RTP Port Min> and <RTP Port Max> should define a range that contains at least 4 even number ports, such as 100 ??? 106
3.If inbound SIP requests contain compact headers, PHONE ADAPTER will reuse the same compact headers when generating the response regardless the settings of the <Use Compact Header> parameter. If inbound SIP requests contain normal headers, PHONE ADAPTER will substitute those headers with compact headers (if defined by RFC 261) if <Use Compact Header> parameter is set to ???yes.???
4.During an active connection, the PHONE ADAPTER can be programmed to send out compound RTCP packet on the connection. Each compound RTP packet except the last one contains a SR (Sender Report) and a SDES.(Source Description). The last RTCP packet contains an additional BYE packet. Each SR except the last one contains exactly 1 RR (Receiver Report); the last SR
carries no RR. The SDES contains CNAME, NAME, and TOOL identifiers. The CNAME is set to <User ID>@<Proxy>, NAME is set to <Display Name> (or ???Anonymous??? if user blocks caller ID), and TOOL is set to the
4.10.2.Additional User Account Information
1.If proxy responded to REGISTER with a smaller Expires value, the PHONE ADAPTER will renew registration based on this smaller value instead of the configured value. If registration failed with an ???Expires too brief??? error response, the PHONE ADAPTER will retry with the value given in the Min- Expires header in the error response.
2.MOH Notes:
??? The remote party must indicate that it can receive audio while holding MOH to work. That is the SIP 2xx response from the remote party in reply to the
3. SAS Notes:
???Either or both of lines 1 and 2 can be configured as an SAS server.
???Each server can maintain up to 5 simultaneous calls. If the second line on the PHONE ADAPTER is disabled, then the SAS line can maintain up to 10 simultaneous calls. Further incoming calls will receive a busy signal (SIP 486 Response).
???The streaming audio source must be
???If no calls are in session, battery is removed from
???IVR can still be used on an SAS line, but the user needs to follow some simple steps: a) Connect a phone to the port and make sure the phone is
???Set up the Proxy and Subscriber Information for the SAS Line as you normally would with a regular user account.
???Call Forwarding, Call Screening, Call Blocking, DND, and
4.10.3.
4.10.4.Additional Timer Values (sec)
Notes:
1.The Call Progress Tones and DTMF playback level are not affected by the <FXS Port Output Gain>.
2.The interdigit timer values are used as defaults when dialing. The Interdigit_Long_Timer is used after any one digit, if all valid matching sequences in the dial plan are incomplete as dialed. The Interdigit_Short_Timer is used after any one digit, if at least one matching sequence is complete as dialed, but more dialed digits would match other as yet incomplete sequences.
3.PHONE ADAPTER has had polarity reversal feature since release 1.0 which can be applied to both the caller and the callee end. This feature is generally used for answer supervision on the caller side to signal to the attached equipment when the call has been connected (remote end has answered) or disconnected (remote end has hung up). This feature should be disabled for the called party (ie by using the same polarity for connected and idle state) and the CPC feature should be used instead.
4.Without CPC enabled, reorder tone will is played after a configurable delay. If CPC is enabled, dial tone will be played when
4.10.5.Miscellaneous Parameters
Notes:
1. It should be noted that the choice of CID method will affect the following features:
???On Hook Caller ID Associated with Ringing ??? This type of Caller ID is used for incoming calls when the attached phone is on hook. See figure below (a) ??? (c). All CID methods can be applied for this type of
???On Hook Caller ID Not Associated with Ringing ??? This feature is used for send VMWI signal to the phone to turn the message waiting light on and off (see Figure 1 (d) and (e)). This is available only for
???Off Hook Caller ID ??? This is used to delivery
a) Bellcore/ETSI Onhook
Figure: PHONE ADAPTER Caller ID Delivery Architecture
5. Expected Feature Behavior
The PHONE ADAPTER can be configured to the custom requirements of the service provider, so that from the subscriber???s point of view, the service behaves exactly as the service provider wishes ??? with varying degrees of control left with the end user. This means that a service provider can leverage the programmability of the PHONE ADAPTER to offer sometimes subtle yet continually valuable and differentiated services optimized for the network environment or target market(s).
This section of the Administration Guide, describes how some of the supported basic and enhanced, or supplementary services could be implemented. The implementations described below by no means are the only way to achieve the desired service behavior.
To understand the specific implementation options of the below features, including parameters, requirements and contingencies please refer the section Configuration Parameters, section Error! Reference source not found..
5.2. Receiving a Phone Call
5.3. Caller ID
5.4.Calling Line Identification Presentation (CLIP)
effect for the duration of the current call.
5.5.Calling Line Identification Restriction (CLIR) ??? Caller ID Blocking
5.6. Call Waiting
5.7.Disable or Cancel Call Waiting
5.10. Attendant Call Transfer
5.11. Unattended or ???Blind??? Call Transfer
5.12. Call Hold
5.13.
5.14.
5.16. Automatic Call Back
5.17. Call FWD ??? Unconditional
5.18. Call FWD ??? Busy
5.19. Call FWD - No Answer
5.20. Anonymous Call Blocking
5.21. Distinctive / Priority Ringing and Call Waiting Tone
5.22. Speed Calling ??? Up to Eight (8) Numbers or IP Addresses
6. Troubleshooting
6.1.Call Statistics Reporting
The following lists the statistics collected by the PHONE ADAPTER during normal operation. These statistics are presented in the PHONE ADAPTER
6.2.Enabling Logging and Debugging
The PHONE ADAPTER uses the following parameters to enable logging and debugging (both using the syslog protocol over UDP.)
???Syslog_Server
???Debug_Server
???Debug_Level
6.3.Error and Log Reporting
The PHONE ADAPTER Error Status Code (ESC) is used to indicate the current operation status of the PHONE ADAPTER unit. An error state can be a relatively long transient state or a steady state. The state is also represented by a special blinking pattern of the Status LED (next to the
6.4.Internal Error Codes
The PHONE ADAPTER defines a number of internal error codes
6.5.Provisioning and Upgrade result codes
The $PRVST and $UPGST macro variables expand to integer codes which report the state of a resync or upgrade attempt. They are typically used within triggers and resync/upgrade conditions. The values of these variables is as follows:
1 = triggered from configured trigger or rule
2 = error retry
6.6.Table of SIP Response Codes (Error Codes)
For convenience, below is a list of SIP error codes at the time of this printing which incorporates response codes from the IANA (Internet Assigned Numbers Authority) SIP parameter registry
Provisional 1xx 100 Trying
180Ringing
181Call Is Being Forwarded
182Queued
183Session Progress
Successful 2xx 200 OK
202 Accepted
Redirection 3xx
300 Multiple Choices
301 Moved Permanently
302 Moved Temporarily
305 Use Proxy
380 Alternative Service
Request Failure 4xx 400 Bad Request
401Unauthorized
402Payment Required
403Forbidden
404Not Found
405Method Not Allowed
406Not Acceptable
407Proxy Authentication Required
408Request Timeout
410 Gone
412 Conditional Request Failed
413 Request Entity Too Large
414
415 Unsupported Media Type
416 Unsupported URI Scheme
420 Bad Extension
421 Extension Required
423 Interval Too Brief
429 Provide Referrer Identity
480 Temporarily Unavailable
481 Call/Transaction Does Not Exist
482 Loop Detected
483 Too Many Hops
484 Address Incomplete
485Ambiguous
486Busy Here
487Request Terminated
488Not Acceptable Here
489Bad Event
491 Request Pending
493Undecipherable
494Security Agreement Required
Server Failure 5xx
500 Server Internal Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Server
505 Version Not Supported
513 Message Too Large
580 Precondition Failure
Global Failures 6xx 600 Busy Everywhere
603Decline
604Does Not Exist Anywhere
606Not Acceptable
7.Summary of Implemented Features and Specifications
The PHONE ADAPTER is a full featured, fully programmable phone adapter that can be custom provisioned within a wide range of configuration parameters. The below feature descriptions are written as a
7.1.Data Networking Features
7.1.1.MAC Address (IEEE 802.3)
7.1.2.IPv4 ??? Internet Protocol Version 4 (RFC 791) upgradeable to v6 (RFC 1883)
7.1.3.ARP ??? Address Resolution Protocol
7.1.4.DNS ??? A Record (RFC 1706), SRV Record (RFC 2782)
7.1.5.DiffServ (RFC 2475) and ToS ??? Type of Service (RFC 791/1349)
7.1.6.DHCP Client ??? Dynamic Host Configuration Protocol (RFC 2131)
7.1.7.ICMP ??? Internet Control Message Protocol (RFC792)
7.1.8.TCP ??? Transmission Control Protocol (RFC793)
7.1.9.UDP ??? User Datagram Protocol (RFC768)
7.1.10.RTP ??? Real Time Protocol (RFC 1889) (RFC 1890)
7.1.11.RTCP ??? Real Time Control Protocol (RFC 1889)
7.2.Voice Features
7.2.1.SIPv2 ??? Session Initiation Protocol Version 2 (RFC
7.2.1.1.SIP Proxy Redundancy ??? Static or Dynamic via DNS SRV
In typical commercial IP Telephony deployments, all calls are established through a SIP proxy server. An average SIP proxy server may handle tens of thousands subscribers. It is important that a backup server is available so that an active server can be temporarily switched out for maintenance. The PHONE ADAPTER supports the use of backup SIP proxy servers so that service disruption should be next to
Static Redundancy:
A relatively simple way to support proxy redundancy is to configure a static list of SIP proxy servers to the PHONE ADAPTER in its configuration profile where the list is arranged in some order of priority. The PHONE ADAPTER will attempt to contact the highest priority proxy server whenever possible. When the currently selected proxy server is not responding, the PHONE ADAPTER automatically retries the next proxy server in the list.
Dynamic Redundancy:
The dynamic nature of SIP message routing makes the use of a static list of proxy servers inadequate in some scenarios. In deployments where user agents are served by different domains, for instance, it would not be feasible to configure one static list of proxy servers per covered domain into an PHONE ADAPTER. One solution to this situation is through the use DNS SRV records. The PHONE ADAPTER can be instructed to contact a SIP proxy server in a domain named in SIP messages. The PHONE ADAPTER shall consult the DNS server to get a list of hosts in the given domain that provides SIP services. If an entry exists, the DNS server will return a SRV record which contains a list of SIP proxy servers for the domain, with their host names, priority, listening ports, etc. The PHONE ADAPTER shall try to contact the list of hosts in the order of their stated priority.
7.2.1.2.
If the PHONE ADAPTER is currently using a lower priority proxy server, it should periodically probe the higher priority proxy to see if it is back on line and attempt to switch back to the higher priority proxy whenever possible. It is very important that switching proxy server should not affect calls that are already in progress.
7.2.1.3.SIP Support in Network Address Translation Networks ??? NAT
7.2.2.Codec Name Assignment
Negotiation of the optimal voice codec is sometimes dependent on the PHONE ADAPTER device???s ability to ???match??? a codec name with the
7.2.3.Secure Calls
A user (if enabled by service provider or administrator) has the option to make an outbound call secure in the sense that the audio packets in both directions are encrypted.
7.2.4.Voice Algorithms:
7.2.4.1.G.711
This very low complexity codec supports uncompressed 64 kbps digitized voice transmission at one through ten 5 ms voice frames per packet. This codec provides the highest voice quality and uses the most bandwidth of any of the available codecs.
7.2.4.2.G.726
This low complexity codec supports compressed 16, 24, 32 and 40 kbps digitized voice transmission at one through ten 10 ms voice frames per packet. This codec provides the high voice quality.
7.2.4.3.G.729A
The ITU G.729 voice coding algorithm is used to compress digitized speech. Linksys supports G.729. G.729A is a reduced complexity version of G.729. It requires about half the processing power to code G.729. The G.729 and G.729A bit streams are compatible and interoperable, but not identical.
7.2.4.4.G.723.1
The PHONE ADAPTER supports the use of ITU G.723.1 audio codec at 6.4 kbps. Up to 2 channels of G.723.1 can be used simultaneously. For example, Line 1 and Line 2 can be using G.723.1 simultaneously, or Line 1 or Line 2 can initiate a
7.2.5.Codec Selection
The administrator can select which
7.2.6.Dynamic Payload
When no static payload value is assigned per RFC 1890, the PHONE ADAPTER can support dynamic payloads for G.726.
7.2.7.Adjustable Audio Frames Per Packet
This feature allows the user to set the number of audio frames contained in one RTP packet. Packets can be adjusted to contain from 1 ??? 10 audio frames. Increasing the number of packets decreases the bandwidth utilized ??? but it also increases delay and may affect voice quality.
7.2.8.Fax Tone Detection
Users can connect a fax terminal to the PHONE ADAPTER telephone port(s). Fax terminals transmit a single tone when they answer a call. The PHONE ADAPTER detects the type of equipment in use on the basis of its answer tone. When it detects the equipment answering the call, the PHONE ADAPTER performs a switchover from the current audio codec to G.711 codec.
7.2.9.DTMF:
The PHONE ADAPTER may relay DTMF digits as
7.2.10.Call Progress Tone Generation
The PHONE ADAPTER has configurable call progress tones. Parameters for each type of tone may include number of frequency components, frequency and amplitude of each component, and cadence information.
7.2.11.Call Progress Tone Pass Through
This feature allows the user to hear the call progress tones (such as ringing) that are generated from the
7.2.12.Jitter Buffer ??? Dynamic (Adaptive)
The PHONE ADAPTER can buffer incoming voice packets to minimize
The PHONE ADAPTER has a Network Jitter Level control setting for each line of service. The jitter level decides how aggressively the PHONE ADAPTER will try to shrink the jitter buffer over time to achieve a lower overall delay. If the jitter level is higher, it shrinks more gradually. If jitter level is lower, it shrinks more quickly.
7.2.13.Full Duplex Audio
7.2.14.Echo Cancellation ??? Up to 8 ms Echo Tail
The PHONE ADAPTER supports hybrid line echo cancellation. This feature uses the G.165 echo canceller to eliminate up to 8 ms of line echo. This feature does not provide acoustic echo cancellation on endpoint devices ??? that is, an end user???s speakerphone.
7.2.15.Voice Activity Detection with Silence Suppression & Comfort Noise Generation
Voice Activity Detection (VAD) and Silence Suppression is a means of increasing the number of calls supported by the network by reducing the required
7.2.16.Attenuation / Gain Adjustment
7.2.17.Signaling Hook Flash Event
The PHONE ADAPTER can signal hook flash events to the remote party on a connected call. This feature can be used to provide advanced
1.Call Waiting Service
2.Three Way Call Service
3.Three Way Conf Service
7.2.18.Configurable Flash / Switch Hook Timer
7.2.19.Configurable Dial Plan with Interdigit Timers
The PHONE ADAPTER has three configurable interdigit timers:
???Initial timeout (T) = handset off hook, no digit pressed yet.
???Long timeout (L) = one or more digits pressed, more digits needed to reach a valid number (as per the dial plan).
???Short timeout (S) = current dialed number is valid, but more digits would also lead to a valid number.
7.2.20.Message Waiting Indicator Tones ??? MWI
7.2.21.Polarity Control
The PHONE ADAPTER allows the polarity to be set when a call is connected and when a call is disconnected. This feature is required to support some pay phone system and answering machines.
7.2.22.Calling Party Control ??? CPC
CPC signals to the called party equipment that the calling party has hung up during a connected call by removing the voltage between the tip and ring momentarily. This feature is useful for
7.2.23.International Caller ID Delivery
In addition to support of the Bellcore (FSK) and Swedish/Danish (DTMF) methods of Caller ID (CID) delivery, release 2.0 adds a large subset of ETSI compliant methods to support international CID equipment. The figure below shows the CID/CIDCW architecture used in the PHONE ADAPTER. Different flavors of CID delivery method can be obtained by
It should be noted that the choice of CID method will affect the following features:
???On Hook Caller ID Associated with Ringing ??? This type of Caller ID is used for incoming calls when the attached phone is on hook (see Figure 1 (a) ??? (c). All PHONE ADAPTER CID methods can be applied for this type of
???On Hook Caller ID Not Associated with Ringing ??? In the PHONE ADAPTER this feature is used for send VMWI signal to the phone to turn the message waiting light on and off (see Figure 1 (d) and (e)). This is available only for
???Off Hook Caller ID ??? This is used to delivery
a) Bellcore/ETSI Onhook
PHONE ADAPTER Caller ID Delivery Architecture
7.2.24.Streaming Audio Server ??? SAS
This feature allows one to attach an audio source to one of the PHONE ADAPTER FXS ports and use it as a streaming audio source device. The corresponding Line (1 or 2) can be configured as a streaming audio server (SAS) such that when the Line is called, the PHONE ADAPTER answers the call automatically and starts streaming audio to the calling party provided the FXS port is
The SAS line can be setup to refresh each streaming audio session periodically (via SIP
7.2.25.Music On Hold ??? MOH
On a connected call, the PHONE ADAPTER may place the remote party on call (the only way to do this on te PHONE ADAPTER is to perform a
PA1:
IP=192.168.2.100
User ID[1]=1001, SIP Port[1]=5060
User ID[2]=1002, SIP Port[2]=5061
IP
Network
PA2:
IP=192.168.2.200
User ID[1]=2001, SIP Port[1]=5060
User ID[2]=2002, SIP Port[2]=5061
Phone 1
Phone 2
Example configuration for MOH application with a PHONE ADAPTER line configured as a SAS SAS Configuration Examples:
The following configuration examples are based on the setup as depicted in Figure. Example 1: SAS Line not registered with the Proxy Server for the other subscribers On PHONE ADAPTER 1:
SAS Enable[1] = no
MOH Server [1] = 1002@192.168.2.100:5061 or 1002@127.0.0.1:5061 SAS Enable[2] = yes
On PHONE ADAPTER 2:
SAS Enable[1] = no
MOH Server [1] = 1002@192.168.2.100:5061
SAS Enable[2] = no
MOH Server [2] = 1002@192.168.2.100:5061
Example 2: SAS Line registered with the Proxy Server as the other subscribers On PHONE ADAPTER 1:
SAS Enable[1] = no MOH Server [1] = 1002
SAS Enable[2] = yes
On PHONE ADAPTER 2:
SAS Enable[1] = no
MOH Server [1] = 1002
SAS Enable[2] = no
MOH Server [2] = 1002
7.4.1.Web Browser Administration and Configuration via Integral Web Server
7.4.2.Telephone Key Pad Configuration with Interactive Voice Prompts
7.4.3.Automated Provisioning & Upgrade via TFTP, HTTP and HTTPS
7.4.4.Periodic Notification of Upgrade Availability via NOTIFY or HTTP
7.4.5.
7.4.6.Report Generation and Event Logging
The PHONE ADAPTER reports a variety of status and error reports to assist service providers to diagnose problems and evaluate the performance of their services. The information can be queried by an authorized agent (using HTTP with digested authentication, for instance). The information may be organized as an XML page or HTML page.
7.4.7.Syslog and Debug Server Records
The PHONE ADAPTER supports detailed logging of all activities for further debugging. The debug information may be sent to a configured Syslog server. Via the configuration parameters, the PHONE ADAPTER allows some settings to select which type of activity/events should be logged ??? for instance, a debug level setting.
8. List of all configuration parameters
Below is a list of all the configuration parameters for this software version (2.0.9). To obtain this list for another version of software, run the profile compiler utility (spc).
#***
#*** Linksys PHONE ADAPTER Series Configuration Parameters
#***
#*** System Configuration
# *** Call Feature Settings
MOH_Server[1]"" ;
Xfer_When_Hangup_Conf[1] "Yes" ;
# *** Proxy and Registration
900+2.16uF/270+750||150nF/220+820||120nF/220+820||115nF/370+620||310nF
9. Acronyms
10.Glossary
ACD (Automatic Call Distribution): A switching system designed to allocate incoming calls to certain positions or agents in the order received and to hold calls not ready to be handled (often with a recorded announcement).
Area Code: A
Billing Increment: The division by which the call is rounded. In the field it is common to see
Blocked Calls: Caused by an insufficient network facility that does not have enough lines to allow calls to reach a given destination. May also pertain to a call from an originating number that is blocked by the receiving telephone number.
Bundled Service: Offering various services as a complete package.
Call Completion: The point at which a dialed number is answered.
Call Termination: The point at which a call is disconnected.
CDR (Call Detail Records): A software program attached to a VoIP/telephone system that records information about the telephone number???s activity.
Carrier???s Carrier: Companies that build fiber optic and microwave networks primarily selling to resellers and carriers. Their main focus is on the wholesale and not the retail market.
Casual Access: Casual Access is when customers choose not to use their primary carriers to process the
CO (Central Office): Switching center for the local exchange carrier.
Centrex: This service is offered by the LEC to the end user. The
Circuits: The communication path(s) that carry calls between two points on a network.
Customer Premise Equipment: The only part of the telecommunications system that the customer
comes into direct contact with. Example of such pieces of equipment are: telephones, key systems, PBXs, voicemail systems and call accounting systems as well as wiring telephone jacks. The standard for this equipment is set by the FCC, and the equipment is supplied by an interconnect company.
Dedicated Access: Customers have direct access to the
Dedicated Access Line (DAL): Provided by the local exchange carrier. An access line from the customer???s telephone equipment directly to the
Demarcation Point: This is where the LEC???s ownership and responsibility (wiring, equipment) ends and the customer???s responsibilities begin.
Direct Inward Dialing (DID): Allows an incoming call to bypass the attendant and ring directly to an extension. Available on most PBX systems and a feature of Centrex service.
Dual Tone Multifrequency (DTMF): Better known as the push button keypad. DTMF replaces dial pulses with electronically produced tones for network signaling.
Enhanced Service: Services that are provided in addition to basic long distance and accessed by way of a touchtone phone through a series of menus.
Exchange Code (NXX): The first three digits of a phone number.
IXC (Interexchange Carrier): A
IVR (Interactive Voice Response): Provides mechanism for information to be stored and retrieved using voice and a touchtone telephone.
Local Loop: The local telephone company provides the transmission facility from the customer to the telephone company???s office, which is engineered to carry voice and/or data.
North American Numbering Plan (NANP): How we identify telephone numbers in North America. We can identify the telephone number based on their three separate components (NPA) (NXX) (XXXX).
PIN (Personal Identification Code): A customer calling/billing code for prepaid and
Private Branch Exchange: Advanced phone system commonly used by the medium to larger customer. It allows the customer to perform a variety of
SS7 (System Signaling Number 7): Technology used by large carriers to increase the reliability and speed of transmission between switches.
Switch (Switching): Equipment that connects and routes calls and provides other interim functions such as least cost routing, IVR, and voicemail. It performs the ???traffic cop??? function of telecommunications via automated management decisions.
Touchtone (DTMF): The tone recognized by a push button (touchtone) telephone.
Unified Messaging: Platform that lets users send, receive, and manage all email, voice, and fax messages from any telephone, PC, or information device.
Voice Mail: A system that allows storage and retrieval of voice messages through voicemail boxes.