Guest

Cisco SIP Proxy Server

Release Notes for the Cisco SIP Proxy Server Version 2.1

Table Of Contents

Release Notes for the Cisco SIP Proxy Server (SPS) Version 2.1

Contents

Related Documentation

Recommended Platforms

Cisco SPS Release 2.1 Performance

New and Changed Information

New Hardware Features in Cisco SIP Proxy Server, Version 2.1

New Software Features in Cisco SIP Proxy Server, Version 2.1

Call-Processing Redundancy

Increased Dynamic and Static Registration and Route Capacity

Compatibility with TIBCO Rendezvous Daemon

Compatibility with Linux VRRP Daemon

Registration and Route Queries from Provisioning GUI

Routing Enhancement s

Call Forwarding Unavailable Prior to Routing

Accounting Enhancements to Generate Start/Stop Messages for All Branches

Provisioning Security via Multiple Classes of Administrators

Server Control from Provisioning GUI.

Bulk Provisioning of Registrations and Routes

New Reference Hardware Platforms

Verify Handling of SUBSCRIBE, NOTIFY, and OPTIONS Requests

Transport Layer Security

3261 Compliance

RFC 3263 Compliance

Caveats in this Release

Open Caveats—Cisco SIP Proxy Server, Version 2.1

Resolved Caveats—Cisco SIP Proxy Server, Version 2.1

Obtaining Documentation

World Wide Web

Documentation CD-ROM

Ordering Documentation

Documentation Feedback

Obtaining Technical Assistance

Cisco.com

Technical Assistance Center

Cisco TAC Web Site

Cisco TAC Escalation Center


Release Notes for the Cisco SIP Proxy Server (SPS) Version 2.1


August 18, 2003

Cisco SIP Proxy Server Version 2.1

78-15952-01 Rev. 1

This document lists the known problems in the Cisco SIP Proxy Server (SPS) Version 2.1 and contains information about the Cisco SPS that was not included in the Cisco SIP Proxy Server Administrator Guide.

Contents

These release notes describe the following topics:

Related Documentation

Recommended Platforms

New and Changed Information

Caveats in this Release

Obtaining Documentation

Obtaining Technical Assistance

Related Documentation

In addition to this release note, use the following publications to learn how to install and use the Cisco SIP Proxy Server:

Cisco SIP Proxy Server CD Installation Guide Version 2.1 —Describes how to install the Cisco SPS software on a Sparc-based server running Solaris 2.6 or later Operating Environment and on an Intel Pentium III-based server running Linux Kernel 2.2.13 or later. This document ships with the product CD and is available online at:
http://www.cisco.com/univercd/cc/td/doc/product/voice/sipproxy/cdinst/fifthin.htm

Cisco SIP Proxy Server Administrator Guide, Version 2.1 —Describes how to configure a Cisco SIP proxy server (Cisco SPS) to be operational in a voice-over-IP (VoIP) network. This document ships with the product CD and is available online at:
http://www.cisco.com/univercd/cc/td/doc/product/voice/sipproxy/admingd/ver2_1/index.htm

Recommended Platforms

The following platforms are the recommended platforms on which to run the Cisco SPS:

Linux

IBM xSeries 335: 2 x 2.0 GHz or higher

Memory - 1 GB or more

Disk - 40 GB or larger

OS Version - RedHat Linux 7.3

Solaris High End

Netra 20 replacing Netra t 1405

Memory - 1 GB or more

Disk - 40 GB or larger

OS Version - Solaris 8

Solaris Low End

Sun Fire V120 replacing the Netra T1-AC200

Memory - 512 MB or more

Disk - 40 GB or higher

OS Version - Solaris 8

The per platform performance summary may be used to help determine which platform is best suited for your needs.

Cisco SPS Release 2.1 Performance

Table 1 Cisco SPS Release 2.1 Performance

Platform
CPU
Registers / Sec
Calls / Sec
UDP
TCP
UDP
TCP

Sun Fire V120

1 x 550 MHz

55

8

90

45

Netra 20

2 x 900 MHz

67

20

375

125

IBM xSeries 335

2 x 2.0 GHz

67

40

1000

250


Up to 1000 TCP Connections per Server

Performance assumptions

Redundant servers

Record route used

20,000 dynamic registrations

TCP connections not reused. (Reuse will improve performance.)

30% overhead allowed for other features

For Solaris servers with concurrent registrations and calls, a conservative engineering guideline is:

X = (expected peak registers per second (rps) / value in table) * 100%

Y = (expected peak calls per second (cps) / value in table) * 100%

X + Y <= 80%

Linux servers can sustain peak rps and cps concurrently

New and Changed Information

The following sections list the new hardware and software features supported by the Cisco SIP Proxy Server, Version 2.1.

New Hardware Features in Cisco SIP Proxy Server, Version 2.1

Cisco SPS is software based and does not support hardware features.

New Software Features in Cisco SIP Proxy Server, Version 2.1

This section documents new software features supported by the Cisco SIP Proxy Server, Version 2.1.

Call-Processing Redundancy

When deployed in "farms" that are comprised of two servers, no single point of failure exists in processing SIP requests and responses. In particular, subscriber data necessary to authenticate REGISTER and INVITE requests and support call forwarding features remains available to other servers in the event any one server in the farm fails.

Increased Dynamic and Static Registration and Route Capacity

When deployed in "farms" comprised of two servers, Cisco SPS supports a maximum of 20,000 registrations and routes. Dynamic registrations are processed at a peak rate of 67 registrations per second, enabling all users to register within 5 minutes. Registration and routing updates may be temporarily blocked during recovery from the failure of one server. Such blocking does not exceed 20 seconds, or 1 second for every1,000 registrations and routes that are supported by the Cisco SPS. Updates are never blocked under normal operating conditions. At peak registration processing rates, or when recovering from the failure of one server, the Cisco SPS reserves sufficient resources to maintain at least 50 percent of the normal rate for processing other requests.

Compatibility with TIBCO Rendezvous Daemon

Cisco SPS is compatible with the TIBCO Rendezvous Daemon (rvd) and with a software adapter that translates TIBCO requests into Cisco SPS provisioning commands.

Compatibility with Linux VRRP Daemon

Cisco SPS is compatible with the Virtual Router Redundancy Protocol (VRRP) based high-availability solution.

Registration and Route Queries from Provisioning GUI

By using the Cisco SPS provisioning GUI, you can query dynamic as well as static registrations and routes.

Routing Enhancement s

Several new routing enhancements are supported in Cisco SPS 2.1.

Ability to Use Less Specific Routes

Cisco SPS can use less specific routes if there is no successful response on more specific routes. For example, Cisco SPS can use routes associated with 1* if there is no successful response on routes associated with 1408*.

Ability to Block Calls to Specific Destinations

Cisco SPS can explicitly block calls on certain routes, such as 1900*, with 403 Forbidden responses and associated log messages.

This feature is addressed by adding another field to each static route specifying whether this route is a blocking or a non blocking route. The default is non-blocking. Whenever a route is selected for use by the usual route selection strategy, this field checks to determine whether to return a 403-Forbidden (if blocked) or forward using the next-hop field (if not blocked).

Ability to Temporarily Remove Routes from Service

Cisco SPS can temporarily remove static routes from service without deprovisioning; for example, you can check a checkbox on the GUI or set a parameter through the sysadmin_CSPS_provision_cli tool.

Another field is added to each static route specifying whether this route is in service. The default is in service. Whenever a route is selected for use by the usual route selection strategy, this new field checks to determine whether to use or ignore the route. If the route is ignored, the route is treated as if it did not exist, meaning that if it is only route at this level of specificity, and searching of less specific routes continues regardless of any other configuration options.

Call Forwarding Unavailable Prior to Routing

Cisco SPS checks subscriber data for call forward unavailable after checking registrations, and before matching static routes.

This feature is addressed by modifying the request processing logic so that the step to check MySQL for a call forward unavailable contact for unregistered users is performed at the end of the translation phase rather than after the routing phase. Other translations, such as ENUM and GKTMP callouts, if configured, are attempted, but static routing is not attempted, before checking for the existence of a call forward unavailable contact.

Accounting Enhancements to Generate Start/Stop Messages for All Branches

Cisco SPS provides the option to generate accounting start and stop messages for all branches.

Accounting start and stop messages are sent by Cisco SPS to a Remote Authentication Dial-in User Service (RADIUS) server for all call attempts, including all branches of forked-call attempts, whether successful, unsuccessful, or canceled. All accounting requests for the same call must contain the same Call ID, and the RADIUS server correlates them based on this Call ID.

Provisioning Security via Multiple Classes of Administrators

The provisioning GUI in Cisco SPS supports two classes of users: read-only permission, and write and read permission.

This feature is addressed by adding a more flexible mechanism by which there can be multiple users with their own user ID, password, and set of administrative privileges.

Server Control from Provisioning GUI.

The provisioning GUI in Cisco SPS allows you to start, gracefully restart, and stop the server. The GUI provides positive indications of success or appropriate error messages in the case of failure.

Bulk Provisioning of Registrations and Routes

The provisioning GUI in Cisco SPS and sysadmin_CSPS_provision_cli allow you to read and write registrations and routes from and to a user-defined file, using a well-known format (for example, comma-separated values (.csv)) that is readily usable by common applications (for example, Microsoft Excel).

New Reference Hardware Platforms

Cisco SPS is verified on reference hardware platforms for Linux and Solaris. For Linux, the reference platforms are one or more versions of the IBM x335. For Solaris, the current reference platforms (Netra T1 AC200, Netra t 1405) are updated. The Cisco SPS is compatible with any hardware platform that is running Solaris 8 or Red Hat Linux 7.3 and meets minimum specifications (for example, memory, hard-drive capacity) provided by engineering.

Verify Handling of SUBSCRIBE, NOTIFY, and OPTIONS Requests

Cisco SPS correctly proxies SUBSCRIBE, NOTIFY, UPDATE, INFO, and MESSAGE requests. Correct proxying entails using existing route headers, if they exist, and otherwise using the same translation and routing phases used for INVITE and BYE requests.

Transport Layer Security

Cisco SPS supports Transport Layer Security (TLS) for mutual and one-way authentication and for encryption as specified in RFC 3261 [2]. Cisco SPS supports at least 1000 simultaneous TLS connections.

TCP support was added to Cisco SPS as part of Cisco Proxy Server. The limitations of TCP are as follows:

1000 concurrent connections

40 calls per second on reference platforms

3261 Compliance

Cisco SPS migrates its SIP compliance to the RFC 3261. This migration addresses the highest priority modifications initially. Subsequent modifications will be addressed in later releases.

The critical changes included in Cisco SPS are as follows:

Use relative times instead of absolute times in the expires field of Contact headers returned in 200s for REGISTERs.

Forward all 1xx responses, except 100 upstream, not just 18x.

Always send the qop parameter in authentication challenges.

RFC 3263 Compliance

SIP uses domain name system (DNS) procedures to allow a client to resolve a SIP URI into the IP address, port, and transport protocol of the next hop to contact. SIP also uses DNS to allow a server to send a response to a backup client if the primary client has failed.

Caveats in this Release

Open Caveats—Cisco SIP Proxy Server, Version 2.1

This section documents possible unexpected behavior by the Cisco SIP Proxy Server, Version 2.1.

Table 2 Open Caveats for the Cisco SIP Proxy Server, Version 2.1 

DDTS ID Number
Description

CSCdr26023

Problem: Comments not supported in header value

Problem Description: Cisco SPS does not support comments embedded in sip header. However, from the SIP RFC:

Comments can be included in some SIP header fields by surrounding the comment text with parentheses. Comments are only allowed in fields containing "comment" as part of their field value definition. In all other fields, parentheses are considered part of the field value.

comment = LPAREN *(ctext / quoted-pair / comment) RPAREN 
ctext = %x21-27 / %x2A-5B / %x5D-7E / UTF8-NONASCII / LWS 

ctext includes all characters except left and right parentheses and backslash. A string of text is parsed as a single word if it is quoted using double-quote marks. In quoted strings, quotation marks (") and backslashes (\) need to be escaped.

quoted-string = SWS DQUOTE *(qdtext / quoted-pair ) DQUOTE 
qdtext = LWS / %x21 / %x23-5B / %x5D-7E / UTF8-NONASCII 

Example:

Retry-After: 120 (I'm in a meeting) 

Recommended Action: There is no workaround.

CSCdr26025

Problem: Headers inside SIP URL are not supported

Problem Description: Cisco SPS doesn't support headers in SIP URL. From RFC 3261: Headers are an option component of a SIP URI.

Headers: Header fields to be included in a request constructed from the URI. Headers fields in the SIP request can be specified with the "?" mechanism within a URI. The header names and values are encoded in ampersand separated hname = hvalue pairs. The special hname "body" indicates that the associated hvalue is the message-body of the SIP request.

SIP-URI = "sip:" [ userinfo ] hostport uri-parameters [ headers ] 
SIPS-URI = "sips:" [ userinfo ] hostport uri-parameters [ headers ] 
headers = "?" header *( "&" header ) 
header = hname "=" hvalue 
hname = 1*( hnv-unreserved / unreserved / escaped ) 
hvalue = *( hnv-unreserved / unreserved / escaped ) 
hnv-unreserved = "[" / "]" / "/" / "?" / ":" / "+" / "$" 

Example:

sip:user@host?Subject=foo&Call-Info=<"http://www.foo.com> 

Recommended Action: There is no workaround.

CSCdr61706

Problem: shmem segment tmpnam() files are not deleted

Problem Description: Each time the server is started, a file named "fileXXXXX.sem", where XXXXX is a random string, is created in the "/tmp" directory. This causes no operational problems, but the administrator can occasionally delete the files to eliminate clutter.

Recommended Action: There is no work around.

CSCds52504

Problem: Misleading Syntax error message when sipd.conf is wrong

Problem Description: When there is a syntax error in the sipd.conf config file, the line number is reported incorrectly. It always shows the last line of the config file instead of the line number where the error actually occurred. An example of such a config error would be an illegal value given for a valid directive. A related problem is that only the first syntax error in the configuration file is reported.

Recommended Action: Correct the misconfiguration.

CSCds53849

Problem: sipdctl configtest does not detect all syntax errors

Problem Description: The sipdctl configtest command does not accurately detect all syntax errors. Also an incorrect line number is reported when a syntax error is detected. Possible errors that are not detected include illegal values given in non-boolean directives.

Conditions: Attempting to run ./sipdctl configtest with an invalid sipd.conf file.

Recommended Action: The sipd.conf configuration file can only be verified by successfully loading the server.

CSCds56981

Problem: Start Sip_Services after a Farm DBs Old entries are deleted

Problem Description: If the proxy server has been down for more than the Cisco_Routing_Max_DB_Age_on_Boot or Cisco_Registry_Max_DB_Age_On_Boot, the ServerRoot/logs/*.db files are removed. Otherwise, these values might accidentally get reused if a farm member tries to synchronize.

Recommended Action: There is no workaround.

CSCds75715

Problem: sipdctl start:sipd started message is misleading

Problem Description: When starting Cisco SPS from the GUI or command line, it is possible to see "sipdctl start: sipd started" when in reality sipd was not able to start correctly.

Condition: This can happen for a number of reasons, including a failure to allocate enough shared memory or corrupted databases.

Recommended Action: Manually check that sipd started successfully by looking at the error_log file and/or running the command "ps -ef | grep sps" to make sure that the correct number of sipd processes are running (the default is 7).

CSCdt35155

Problem: External entity failure causes reduced performance

Problem Description: Server child processes have no means to communicate failures of external entities to the other child processes. Server performance can drop significantly, depending on the number of child processes that are running.

Conditions: A failure of an external entity (for example, RADIUS, DNS, subscriber db), is not communicated to all child processes.

Recommended Action: Reducing the number of child processes is the only was to alleviate this problem.

CSCdt35294

Problem: Add Registry/Routing Code changes to support TEL URL SLURPEE,

Problem Description: Proxy parses tel URLs completely based on the rules specified in RFC 2806. At this point, there are no routing changes based on tel URL additional fields.

Conditions: For example, in "tel:1111;phone-context=919;phone-context=456", only 1111 is used for routing the call, like in sip: URL, not in the additional fields.

And tel URL is transformed to a sip: URL as follows.

sip:1111@whatever-proxy.com SIP/2.0
RecordRoute:<sip:1111@whatever-proxy.com;parameters including phone-context>

Recommended Action: At this point, the number cannot be changed from "tel:555XXXX;phone-context=919" to "tel:+1-919-555-XXXX".

CSCdt50814

Problem: Log file check and verification needed for proxy server

Problem Description: When the Cisco SPS is started, it writes the logs to the error_log and access_log files in the logs subdirectory by default. The log files can be deleted manually while the server is still running. The Cisco SPS will continue to run, but no logs will be logged because the log files were deleted.

Recommended Action: After the deletion of the log files, gracefully restart the server so new log files can be created and server can then continue the logging process.

CSCdt65349

Problem: sipdctl & sipd should use relative paths for conf, logs & libraries

Problem Description: The sipdctl tool contains absolute paths to various file locations such as sipd.pid, Sip_Services.pid, sip_registry.conf and sip_routing.conf. Manually modify the files if different file locations will be used.

Also, the sipd process looks for the sipd.conf file at the pre-configured path ServerRoot /conf/sipd.conf.

Recommended Action: To use a different configuration file, use the "-f" switch to force sipd to look for a different configuration file.

For example, to force sipd to read from the sipd.conf file from the user's home directory.

sipd -f ~/sipd.conf 

CSCdt87934

Problem: Proxy will crash if SharedMemorySize too little for call rate

Problem Description: The Cisco SPS proxy can crash if it is not configured with enough shared memory to handle the call rate.

Recommended Action: This problem can be resolved by increasing the value of SharedMemorySize directive in sipd.conf file. To configure the total usable shared memory segment size on Linux or Solaris platform, follow the instructions in the README.cisco file.

CSCdu00398

Problem: User agents on same box/different port disallowed

Problem Description: Proxy will not terminate calls to a user agent running on the same box but on a different port.

Conditions: Set up a test case when there is another SIP entity running on the same box where SIP proxy is running (on different port), and try to make a call that has that SIP entity in the call path.

Recommended Action: User agents should be running on a different machine than the proxy.

CSCdu05953

Problem: Static routes need to have unique tags

Problem Description: When more than one route is assigned the same tag/number, only the first route is used. Subsequent routes with the same tag/number are ignored. An error message appears only if DebugFlag directive under Cisco_Routing module is on.

For example, the following 2 routes have a tag value of 10:

<StaticRoute 10>
Static_Route_DestinationPattern        919.......
Static_Route_Type                      PHONE
Static_Route_NextHop                   tisu-view1.cisco.com
Static_Route_NextHopPort               5060
Static_Route_TransportProtocol         UDP
Static_Route_Priority                  1
Static_Route_Weight                    5
Static_Route_Delete_or_Add             ADD
</StaticRoute>
<StaticRoute 10>
Static_Route_DestinationPattern        919.......
Static_Route_Type                      PHONE
Static_Route_NextHop                   grigio.cisco.com
Static_Route_NextHopPort               5060
Static_Route_TransportProtocol         UDP
Static_Route_Priority                  1
Static_Route_Weight                    5
Static_Route_Delete_or_Add             ADD
</StaticRoute>

The second route (with Static_Route_NextHop value of grigio.cisco.com) is ignored.

Recommended Action: The sysadmin_csps_regroute tool and/or the provisioning system GUI can be used to add or update routes and the administrator does not need to enter route tags. See the
Cisco SIP Proxy Server Administrator Guide for more details on the sysadmin_csps_regroute tool and provisioning system GUI.

CSCdu12376

Problem: access_log and error_log file size limit

Problem Description: When the error_log or the access_log file size grows beyond 2147483647 bytes (~2.1GB), Cisco SPS stops logging entries to the file.

Recommended Action: You can use log rotation to avoid this problem and also specify size thresholds in CIAgent (default is 5MB), which if crossed, generates an SNMP trap.

CSCdu12594

Problem: server stop writing any error log after space is 100%

Problem Description: Cannot write to the error_log or access_log

Conditions: This happens if the file system runs out of disk space while writing to the log file. Even if the disk space is later freed and made available, the error_log remains unwritable.

Recommended Action: The only workaround is to ensure that the file system always has free disk space. You can do this by enabling rotate logs and making sure that some disk space is always available.

Set size thresholds using CIAgent (defaults are 5MB). If the thresholds are crossed, an SNMP trap is generated.

CSCdu69703

Problem: Accounting with XACCT RADIUS not working properly

Problem Description: If accounting is enabled on Cisco SPS, the session-id for START and STOP records is populated with SIP Call-ID, which is needed so that it is possible for the Remote Authentication Dial-in User Service (RADIUS)/billing server to correlate the STOP with the appropriate START.

For accounting to work correctly, the back end RADIUS/billing server must be able to accept and correlate START/STOP records with duplicate session-ID values. In the case of the XACCT RADIUS server, XACCT does not respond at all to records with duplicate session-IDs.

As a result, Cisco SPS blocks waiting for a response. Eventually, Cisco SPS times out and continues processing the call; however, if enough concurrent calls are placed, it is possible that all of the Cisco SPS processes will be blocked while waiting for RADIUS responses and call processing will effectively stop.

Conditions: Accounting is enabled and the backend RADIUS server does not respond to RADIUS request records with duplicate session-IDs.

Recommended Action: Disable accounting or use a backend RADIUS server, such as Livingston, which supports the reception of multiple RADIUS records with the same session-ID.

CSCdu72935

Problem: Accouting with Cisco Access Registrar conflicts

Problem Description: When Cisco SPS interoperates with Cisco Access Register (CAR v1.7) server, error messages similar to the following can seen in the CAR trace:

07/16/2001 15:13:47: Log: SessionManager session-mgr-1 was unable to create/acqu ire a 
Session because the request packet did not contain a NAS and/or NAS-Port a ttribute.  
These are required for Session Management.
07/16/2001 15:13:47: P286: Dropping packet because we did not acquire or create the 
session

This causes the Remote Authentication Dial-in User Service (RADIUS) packets to be dropped, and the Cisco SPS times out while waiting for the response back from the CAR.

Recommended Action: Set the DefaultSessionManager parameter to "" in the CAR server to workaround this problem.

Example:

> cd Radius
> set DefaultSessionManager "" 

CSCdv34778

Problem: CFNA timers not reset if BYE sent instead of CANCEL

Problem Description: When a call is made to an IP phone that is registered to Cisco SPS which has a Call Forward No Answer (CFNA) entry in MySQL, if the caller hangs up on the call during the ringing phase before it is answered, the behavior of Cisco SPS is dependent on the IP phone that sends a CANCEL before/instead of sending a BYE.

1) If CANCEL is sent when the caller hangs up, the call is terminated without any problems.

2) If BYE is sent instead of CANCEL, Cisco SPS keeps the CFNA timer running, and this leads to an INVITE being sent by Cisco SPS to wherever the user has CFNA configured after the timer expires. This may lead to a phone ringing suddenly when no call is being made.

Conditions: This is an issue only in the following circumstances:

1) CFNA is being used.

2) The SIP client originating the call does not send a CANCEL when aborting an attempted call, but sends only a BYE instead.

Recommended Action: There is no workaround.

CSCdv54154

Problem: Proxy returns 400 Req-URL is bad when rec tel url w/cic parm

Problem Description: When handling a SIP INVITE with a tel URL containing the cic parameter, the proxy returns "SIP/2.0 400 Request-URI is bad". The proxy should convert the tel URL to its equivalent sip URL.

For example, the following INVITE:


INVITE tel:+19195550001;cic=1234 SIP/2.0

results in a 400 response from the proxy.

Conditions: This problem occurs whenever the proxy receives a tel URL containing a parameter it does not explicitly support.

Recommended Action: There is no workaround.

CSCdw58265

Problem: segfault in Sip_Services/ACE with CSS and RegFarm

Problem Description: When Sip_Services is first started by using sipdctl start, Sip_Services dumps core and then starts correctly. This happens on Linux only, and it has no effect on functionality. The only oddity is that a core file is left over. On Solaris, Sip_Services starts correctly the first time.

Conditions: This happens on Linux when using a virtual IP or hostname as the ServerName when registry or route farming is enabled.

This never happens on Solaris.

Recommended Action: There is no workaround.

CSCdw94123

Problem: Cannot rename MySQL db fields if using provisioning

Problem Description: In sipd.conf, it is possible to remap the MySQL subscriber database field names from the default names used by the MySQL installation script to new preferred values. One reason to do this is perhaps because the customer already has an existing MySQL subscriber database and wants Cisco SPS to use it. In this case, Cisco SPS reads and uses the new field names that are specified in sipd.conf.

The problem is that if the customer is using provisioning, the provisioning GUI will not read sipd.conf, nor will it use the new field names. Rather, the GUI ignores any new field names and uses the default names which match those used by the MySQL install script.

Conditions: This is an issue only if the customers are using Cisco SPS with the provisioning GUI and have an existing MySQL database which they wish to use rather than using the MySQL installation script to create a new database. If the existing database has different names for the MySQL table fields than those used by the provisioning system, new subscriber information entered by using the provisioning GUI may not be accessible by Cisco SPS.

Recommended Action: There is no workaround.

CSCdx61275

Problem: Error message in csps_ciagent_install

Conditions: This problem has existed since Cisco SPS Release 2.0 in the third party software CIAgent.

Problem Description: When installing ciagent, the following error messages appear:

setany $Version $Agent $User  \
    smLaunchControl.$LOwner.$LName       abort
Error code set in packet - INCONSISTENT_VALUE_ERROR: 1.
setany $Version $Agent $User  \
    smScriptAdminStatus.$SOwner.$SName   disabled
Error code set in packet - INCONSISTENT_VALUE_ERROR: 1.
setany $Version $Agent $User  \
    smScriptRowStatus.$SOwner.$SName     destroy
smScriptRowStatus.1.65.1.66 = destroy(6)

These error messages, which are logged from running the script "smPopScript" when installing CIAgent for the first time on a system, are benign and are due to the fact that the script is trying to remove an item that does not exist in the script MIB table. As far as all the other subsequent "setany" commands are executed successfully, the "smPopScript" is considered to finish its job well.

Recommended Action: There is no workaround.

CSCdx66179

Problem: sappagt is taking 100% cpu for a few minutes at startup

Problem Description: sappagt is taking 100% CPU when starting ciagent. This is acceptable since ciagent is not restarted frequently.

Both the sappagtsubagent and the hostagt subagent show high CPU utilization upon startup because they both must retrieve large amounts of information from the system to initialize the tables that they support. Once these tables are initialized, the utilization will go down. This is not abnormal behavior.

Recommended Action: On a Linux machine that has many packages/softwares installed, the System Applications Monitor (sappagt) may take 100% CPU for a few minutes at startup. You can disable this subagent from being invoked by removing sappagt from the "ciagent" script file under /usr/local/ciagent directory on your Linux machine, and restart CIAgent.

CSCdx67593

Problem: MySQL Suscriber table needs to be CASE SENSITIVE to USER info

Problem Description: MySQL sees "tdeleon" and "TDELEON" as the same. As a result, Cisco SPS accesses MySQL for Authentication & Call Forwarding info for a single entry which is incorrect. MySQL will not allow another entry.

Conditions: During testing of the SIP products for CASE Sensitivity to the USER portion of the SIP URI, observations were made that the Cisco SPS, Phones, and Gateways recognize the differences between "tdeleon" and "TDELEON". One issue was with MySQL.

Recommended Action: There is no workaround.

CSCdx77555

Problem: sipd core dumps after 8+ hr of stress using TCP

Problem Description: sipd core dumps after 8+ hours of very high-TCP traffic load

Conditions: sipd may crash after very high-TCP traffic is run for more than 8 hours because sipd may run out of shared memory.

Recommended Action: Configure shared memory to high (>128M)

CSCdx78228

Problem: TCP on Solaris using too many fds for reuse=off

Problem Description: TCP calls are not accepted/connected by proxy.

Conditions: When TCP services are not configured to reuse the TCP connections, the proxy can run out of file decriptors because OS may not free the file descriptors immediately. This happens when the proxy is connected with another SIP entity on Solaris or Linux, however, with Cisco gateways, the connections are closed immediately.

Recommended Action: When configuring the system, if the proxy is expected to connect with Solaris or Linux based SIP entities, it should be configured to reuse the TCP connections.

CSCdx83047

Problem: Solaris critagt sends trap with child sipds process ID

Problem Description: The Solaris version of the Critical Applications Monitor (critagt) subagent sometimes reports critAppUp traps with one of sipd children's process ID. SNMP Research explained that is because the critagt always tries to get and monitor the first process ID in the process table that matches the specified application name. However, on Solaris, the first process ID that matches sipd is not always the master/parent sipd, but is likely one of the child sipd. We really want to monitor master sipd's status, so we want the SR to fix/improve their handling of process IDs in critagt.

This doesn't seem to be a problem on Linux, since the first process ID seems always to be the master sipds, and the traps correctly report that.

Recommended Action: There is no workaround.

CSCdx88304

Problem: GUI does not allow input of &, >, < in any field

Problem Description: Data entered through the GUI may not contain any of the characters &, < or >. The GUI will reject any data with these characters and prompt you to reenter the data.

Recommended Action: There is no workaround.

CSCdx91876

Problem: CSPS does not convert a tel: url to a sip: url correctly

Problem Description: Cisco SPS provides only limited support for the tel URL. Essentially, Cisco SPS translates the tel URL into a sip URL and then handles the message based on the sip URL. The translation performed is as follows:

tel:<global-phone-number> SIP/2.0 is converted to
sip:<global-phone-number>@<ProxyDomain>;user=phone SIP/2.0

If there are additional parameters in the tel URL, they are not handled correctly.

For example:

tel:7671234;phone-context=408;Subject=Hello SIP/2.0
CSPS converts the tel URL to the following sip URL:
sip:7671234@1.7.104.89:5060;user=phone;phone-context=408 SIP/2.0

The sip URL should be:

sip:7671234;phone-context=408;user=phone SIP/2.0

Conditions: The tel to sip URL conversion will be a problem if the URL contains additional parameters other than a global phone number.

Recommended Action: There is no workaround.

CSCdx95989

Problem: sysadmin_csps_regroute takes 97% CPU when window closed

Problem Description: Closing the window in which the sysadmin_sps_regroute is running, rather than exiting by using the 'Q', 'q', or 'Ctrl-C' command, causes the sysadmin_sps_regroute to take 97% CPU time.

Recommended Action: The workaround is to not close the window before exiting the tool; however, once in this state, you can stop the process with either the SIGINT or the SIGQUIT signal.

CSCdy01790

Problem: CIAgent:Dr-Web on Linux Make Changes button not working

Problem Description: On Linux, when you are using dr-web to make changes to the critical application monitor and click on Make Changes, sometimes the change does not take place until the user clicks on Reload on the Web browser.

Recommended Action: Click the Reload button on the Web browser to make the changes reflected in CIAgent.

CSCdy02211

Problem: sipd process(es) block when handling REGISTERs

Problem Description: Requests, such as REGISTERs and INVITEs, are handled by Cisco SPS at a reduced rate or not at all.

Conditions:

1) Cisco SPS is configured as a farm of 2 or more servers with Registry farming enabled, and the farm member processing the request is not able to connect to one or more of the other farm members.

2) The traffic levels exceed the following for an extended period of time:

REGISTERs/second = 5

INVITEs/second = 50

Recommended Action:

1) Ensure that the call rates do not exceed those described above.

or

2) Do not enable Registry farming.

CSCdy02296

Problem: when recovering from a split netwrok, some registrations lost

Problem Description: In the event of a split network, it is possible that each farm member will separately accept new registrations. When the networks join, a sync is performed; however, the sync is performed based on which member accepted the most registrations rather than as a merge. As a result, some registrations may be lost.

For example, if there are farm members P1 and P2:

The registration database before the split contains entries for a, b, and c.

A network split occurs.

P1 accepts new registrations for d, e, and f

P2 accepts new registrations for g and h

The networks join.

P1's view of the world is inherited by P2, so the registry is:

a, b, c, d, e, and f

g and h are lost.

Conditions:

1) There must be a farm of 2 or more servers with registration farming enabled.

2) Clients must be configured to load balance or failover between the servers.

3) A split network must exist for a period of time, and during that time more than one server must accept one of more registrations.

Recommended Action: Configure the servers as primary and secondary, so that all clients register with the same server at any point in time. This requires that the clients do not experience the split with some clients who can see only the primary server and some clients who can see only the secondary. This may or may not be possible.

CSCdy05591

Problem: Too many open files with persistent TCP connection

Problem Description: TCP calls may fail with error message "socket: Too many open files".

Conditions: When the proxy is connecting with other Solaris or Linux-based SIP entities, the proxy may run out of file descriptors, even with the persistent connections.

Recommended Action: There is no workaround.

CSCdy05850

Problem: MySQL wont install if SNMP just started

Problem Description: MySQL installation fails with the error message:

"cannot get exclusive lock on /var/lib/rpm/Packages"

Conditions: This happens when MySQL installation is started just after starting CIAgent. The problem is that when CIAgent starts, it gets an exclusive lock on /var/lib/rpm/Packages. MySQL installation also needs this lock; therefore, MySQL installation fails.

Recommended Action: When starting CIAgent, wait for about 30 seconds before installing MySQL.

CSCdy07416

Problem: escaped characters in URIs are not handled

Problem Description: You can run into a problem with this specifically when dealing with tech prefixes. The problem was that the '#' character was inserted in the Request URI and To headers by the GW in the INVITE is sent to Cisco SPS. Cisco SPS can strip the '#' from the Request URI header, but not from the To header.

Cisco SPS also includes the '#' in its Record-Route header. The fix is to have the GW escape the '#' as "%23" wherever it appears. Now Cisco SPS needs to be able to translate from escaped to non-escaped for the LRQ.

Currently Cisco SPS treats escaped characters within URIs no differently than any other character. It parses them fine, and is able to store them, for example, in the registry database, and pass them along, but it doesn't convert them from escaped to non-escaped when it should.

At a minimum to solve this problem, a solution is to have the GW makes code changes to escape the '#' character in all URLs before sending the INVITE to the proxy. Cisco SPS will need to modify the RAS module to unescape the%23 before constructing the LRQ.

As for fixing this in general, it is legal for URLs to escape any characters it likes, meaning that Cisco SPS could receive %31%32%33%34 in the username which should be interpreted as "1234" for number expansion, accounting, routing, and so on.

Recommended Action: There is no workaround.

CSCdy24211

Problem: core not created when run as root and changed uid on solaris

Problem Description: On Solaris, when Cisco SPS is started as root, the effective user ID of the processes is changed to csps, and the core file does not get generated when something goes wrong. This is for security reasons.

Conditions: If Cisco SPS is started as part of the boot process for the machine, it will be started as root.

Recommended Action: To create core files for debugging in the case something goes wrong, stop Cisco SPS, change the user to csps, and restart the server.

CSCdy26700

Problem: Linux cant handle overload of Invites

Problem Description: No calls are processed. Cisco SPS server's CPU goes to 100% idle.

Conditions: Overload the Cisco SPS with more Invites than it can handle. With the AddRecordRoute directive turned on, the call rate must be beyond 150 calls per second on a single CPU 700MHz Linux machine and beyond 500 calls per second on a dual CPU 900MHz Linux machine.

Recommended Action: Perform a graceful restart on the Cisco SPS.

CSCdy29642

Problem: Regroute cannot parse DOS formatted sipd.conf file

Problem Description: Open a valid sipd.conf file using Wordpad and save the file. Doing so will reformat the file into DOS format. Try to use sysadmin_csps_regroute tool and you will get the following error:

: No such file or directory

Recommended Action: Convert sipd.conf back to UNIX format, or use the GUI to create a new sipd.conf.

CSCdy75125

Problem: convert_mysql_db[v2] needs to be more robust

Problem Description: When upgrading from Cisco SPS 1.x to Cisco SPS 2.x, the convert_mysql_db and convert_mysql_db_v2 scripts make certain assumptions about your MySQL database, namely, that is was installed using the install_mysql_db script and accepted the defaults. If you did not, the convert_mysql_db routines may fails.

Conditions: Upgrade from Cisco SPS 1.x to Cisco SPS 2.x, and keep an existing MySQL database with a null password.

Recommended Action: Change your MySQL password from null to something non-null before running the convert_mysql_db or convert_mysql_db_v2 script.

CSCdz20402

Problem: TCP to UDP translation is not 99.999

Problem Description: The call success rate for TCP to UDP translation calls is not 99.999%

Conditions: When proxy translates transport between TCP and UDP, some of the calls may fail.

Recommended Action: There is no workaround.

CSCdz23707

Problem: proxy retransmits non-local non-2xx over TCP

Problem Description: Proxy retransmits non-local non-2xx responses over TCP

Conditions: If the client on TCP connections does not sends ACK for non-200 responses, the proxy starts to retransmit the final response, similar to the UDP behavior.

Recommended Action: There is no workaround.

CSCdz62420

Problem: GUI needs a warning notification for required missing values

Problem Description: Server may fail to restart if a value for a required field has not been provided.

Conditions: Using the provisioning GUI set RAS to ON.

Add a Tech prefix, but leave the Dialed Number or Tech Prefix field blank.

Submit the changes.

Perform a restart in the Proxy Control window.

Recommended Action: Add information for all fields when configuring RAS.

CSCea58230

Problem: static routes do not support . in middle of dest pattern

Problem Description: Cisco SPS allows wildcard digits in the destination pattern of static routes in the form of a '.' character.

For example, 5... as a destination pattern means any 4 digit number beginning with a 5. However, Cisco SPS does not support wildcard digits followed by a non-wildcard digit. For example, the following are not supported:


5..5
.555
55.5
...5

Recommended Action: There are two options:

1) Use a less restrictive destination pattern which does not require embedded wildcard digits. For example, each of the problematic destination patterns above could be made less restrictive as follows:


   5..5 -> 5...
   .555 -> ....
   55.5 -> 55..
   ...5 -> ....

2) Use multiple more restrictive destination patterns which do not require embedded wildcard digits. For example:


   .555 -> 0555, 1555, 2555, etc.

CSCea58255

Problem: routes with embedded * ignored by provisioning system

Problem Description: It is not possible to use the GUI-based provisioning system to define a static route with a destination pattern including a '*' character. Trailing '*' characters are to be treated as expanded wildcards, but embedded '*' characters are to be treated as single '*' characters. The GUI accepts the destination pattern as a valid input; however, the route does not make it into the routing database used by Cisco SPS.

Conditions:

1) Add '*' to the numberic character set as follows:

NumericUsernameCharacterSet            *+0123456789.-()#

2) Define a static route with destination pattern *69.

3) The GUI accepts the input but no route is added to the in memory route database (can be verified using sysadmin_csps_regroute).

Recommended Action: Define a static registration for the destination pattern instead.

For the example above:

1) Define a user as *69@<ProxyDomain>

2) Set the contact to *69@<next-hop>

Sample output from sysadmin_csps_regroute is as follows:


user type -->           PHONE
user -->                *69
Domain -->              <ProxyDomain>
contact -->             *69@<next-hop>
contact user type -->   PHONE
contact port -->        5060
transport -->           UDP
expired at -->          -

CSCea58268

Problem: regroute does not allow * in middle of destination pattern

Problem Description: sysadmin_csps_regroute does not allow a '*' character in the middle of a route destination pattern. The route is rejected as invalid.

Conditions:

If trying to add a static route for a destination pattern which includes the '*' character as a valid digit (not a wildcard), after having set the '*' as a valid character as follows:


NumericUsernameCharacterSet            *+0123456789.-()#

Entering a static route through sysadmin_csps_regroute with a destination pattern, such as *69 fails.

Recommended Action: Use a static registration instead. To do this, define a new user with a user ID which matches the intended destination pattern. For example:


user_id = *69@<ProxyDomain>
contact = <next-hop>

CSCea66342

Problem: rfc 3261 compliance, dont send CANCEL if no provisional response

Problem Description: A proxy should not send a CANCEL for an INVITE for which it has not received a provisional response, but Cisco SPS sends CANCEL for all branches associated with the INVITE regardless of whether it receives a provisional response.

Conditions: Cisco SPS receives an INVITE and forwards it to one or more downstream entities. It then receives a CANCEL and forwards the CANCEL to any downstream entities from which it has not received a final response, including those from which it has not received any provisional response. According to RFC 3261, the CANCEL should not be sent unless a provisional response has been sent.

Recommended Action: None required. This problem does not effect the functionality of Cisco SPS. This was allowed in RFC 2543 but leads to potential race conditions.

CSCea69911

Problem: unable to insert registry contact with @host

Problem Description: While entering a contact for a static registration in either the CLI or provisioning GUI, if the customer neglects to add a user_info portion, i.e. user_info@host_info, the registration cannot be viewed via the GUI or CLI.

Recommended Action: Always have a user_info portion when adding a contact in the CLI or GUI.

CSCea82993

Problem: Cannot redirect output of sysadmin_csps_regroute to a file

Problem Description: Attempts to redirect the output to a file fail.

Example:

> # cat input-file
> d
> s
> e 5000
> q
> 
> # ./sysadmin_csps_regroute < input-file > output-file

Afterwards, the output file is empty.

Recommended Action: Use expect scripts rather than redirecting the output.

CSCea83745

Problem: Default diffserv value should be changed to 0x60

Problem Description: The default DiffServValue for SIP signaling is set to 0x00 (worst-effort). It should be 0x60 (Class 3) instead.

Recommended Action: Change the default value of the DiffServValue directive to 0x60, or whatever is suited for your network.

CSCea91984

Problem: ControlCSPS on 2 servers checked only unchecks one

Problem Description: In certain situations in the Proxy Control screen, only one of two servers becomes unchecked after a Graceful Restart.

Conditions: This has only been observed on Windows. In the ProxyControl window, check both servers in the farm and make sure that the bottom one is highlighted. Click the Graceful button. Only one of the servers becomes unchecked. The other one stays checked. Note that if the top server is highlighted, both servers become unchecked.

Recommended Action: Make sure that the top server in the table is highlighted instead of the bottom one.

CSCeb05010

Problem: SIP client diverts not working properly (double diverts not working)

Problem Description: Multiple redirects not working properly.

Conditions: 4.0(0.188)

Recommended Action: There is no workaround.

CSCeb05745

Problem: pserverctl needs to stop Sip_Services

Problem Description: If using pserverctl rather than the sip script to stop or restart the pserver, the Sip_Services process cannot be restarted or stopped, but continues to run.

Conditions: For custom setups where pserver is the only Cisco SPS process running on the farm member, and pserver is being restarted in order to change the farming configuration.

If the farm configuration is changed, and Sip_Services continues to run without itself being restarted, then that Sip_Services can seriously degrade the performance of the farm, either by trying to connect to a missing farm member, or by causing unnecessary data synchronization between farm members.

Recommended Action: If possible, use the /etc/init.d/sip script to restart and stop Cisco SPS. Otherwise, when you need to restart the pserver via pserverctl, do a pserverctl stop first, then kill the Sip_Services process, the issue a pserverctl start.

CSCeb21352

Problem: noreuse TCP connection for RR call doesnt close with tcb

Problem Description: Under high TCP traffic, Cisco SPS may run out of the TCP connection limit of 1000 soon.

Conditions: When AddRecordRoute flag is On, and the SipTcpReuseConnection flag is Off, then some of the TCP connections take longer to get freed.

Recommended Action: Decrease the value of SipMaxT3InMs, which is used to detect timeouts for idle connections.

CSCeb27053

Problem: Wait Timer remains after edit multiple entries

Problem Description: After performing an Edit or Add within a table in the Cisco SPS GUI, the wait cursor does not change back to the default cursor.

Conditions: Can occur when editing multiple records at once.

Recommended Action: Move the mouse cursor to the top menu bar of the GUI, or off of the GUI completely, and back on to restore the default cursor.

CSCeb27117

Problem: proxy does not handle failover for ACK messages

Problem Description: When the next hop in the ACK's route list is not reachable, the proxy is not able to failover to the alternate DNS records, unlike other SIP requests

Conditions: This happens when the next hop is not reachable from the default network interface, but it uses the alternate network interface to retransmit the 200 OK, which results in the upstream user retransmitting the ACK.

Recommended Action: There is no workaround.

CSCeb38768

Problem: error seen when exiting Windows OS Cisco_SPS GUI

Problem Description: When closing the GUI that is installed on a Windows 2000 PC, the following log is generated in ./logs/pserver_log:

#  tail -f  ./logs/pserver_log
ERR  : transport/Connection.cxx:257 Failed to read data, 
       reason:Connection reset by peer

This error is NOT seen when using the GUI installed on Linux or Solaris.

Recommended Action: The error message is non-service affecting and can be ignored.

CSCeb44311

Problem: no timer running to trigger any action when 487 never c

Problem Description: When a 200 to CANCEL is received on a branch, but no 487 ever comes back from the downstream, Cisco SPS will not be able to generate a client side STOP record for that branch.

Recommended Action: If the canceled branch is the only branch or the best branch to return response upstream, a 408 response will be returned upstream when the original INVITE request finally times out in Cisco SPS, and the user can gather some information from the server side STOP record instead.

CSCeb49412

Problem: Toggling Virtual Proxy Host on/off can cause duplicate records

Problem Description: Cisco SPS has virtual proxy host enabled and two registrations with the same user ID but different domains have been entered, i.e. user ID: 3000, domain: foo.com and user ID: 3000, domain: bar.com.

If the virtual proxy host is then disabled in Cisco SPS, it appears as if there are duplicate records for the 3000 user. If one of these records is then changed, the database starts behaving badly.

Recommended Action: Once the virtual proxy host is enabled, do not disable it.

CSCeb61810

Problem: GUI should disallow sip:in contact for static reg

Problem Description: Calls cannot be delivered successfully to a static Registry if the user entered the contact incorrectly in the GUI. The syntax should be user@host and not sip:user@host.

Condition: The GUI does not check on the static Registry contact to see if you entered 'sip:' in front of the contact address.

Recommended Action: When manually entering a Registry contact, do not put 'sip:' in front of the contact.

CSCeb61814

Problem: GUI dynamic column resize sometimes fails

Problem Description: One column of a table can stretch across the entire viewable area of the GUI. You must move the slider bar to see the other columns.

Condition: Sporadically, after performing an action in the GUI, a column may fill up the viewable area of the GUI and cause the other columns to be pushed to the side.

Recommended Action: Click on the Refresh button, or click on the column header to resize the columns.

CSCeb63312

Problem: First graceful after adding IgnoreProxyRequire fails

Problem Description: If you add an IgnoreProxyRequire directive (vi sipd.conf or in GUI) and gracefully restart the server, the graceful restart signal shows in error_log, but the daemons get stuck in <defunct> state and never restart.

#./bin/sip graceful
# tail -f ./logs/error_log
[Mon Jul 14 17:32:51 2003] [notice] AP_SIG_GRACEFUL received.  
Doing graceful restart.

# ps -ef | grep csps
csps     11307     1  0 13:31 pts/0    00:00:00 /usr/local/sip/bin/Sip_Services 
csps     11309     1  0 13:31 ?        00:00:00 [pserver]
csps     11318     1  0 13:31 ?        00:00:00 [licenseMgr]
csps     11319 11318  0 13:31 ?        00:00:00 [licenseMgr]
csps     11320 11319  0 13:31 ?        00:00:00 [licenseMgr]
csps     11331     1  0 13:31 ?        00:00:00 [spa]
csps     11340 11331  0 13:31 ?        00:00:00 [spa]
csps     11341 11340  0 13:31 ?        00:00:00 [spa]
csps     11354     1 82 13:31 pts/0    00:04:06 [sipd]
csps     11356 11354  0 13:31 pts/0    00:00:00 [sipd]
csps     11358 11354  0 13:31 pts/0    00:00:00 [sipd <defunct>]
csps     11359 11354  0 13:31 pts/0    00:00:00 [sipd <defunct>]
csps     11361 11354  0 13:31 pts/0    00:00:00 [sipd <defunct>]
csps     11363 11354  0 13:31 pts/0    00:00:00 [sipd <defunct>]
csps     11365 11354  0 13:31 pts/0    00:00:00 [sipd <defunct>]
root     11393  6904  0 13:36 pts/0    00:00:00 grep csps

Condition:

1) No IgnoreProxyRequire directive was configured the last time the proxy was started

2) An IgnoreProxyRequire directive was added through the GUI or by manually editing sipd.conf

3) ./sip graceful or ./sipdctl graceful was performed to gracefully restart the server with the new configuration

Recommended Action: A full restart fixes the problem

# ./bin/sip restart  or
# ./bin/sipdctl restart

Further graceful restarts are successful; and new IgnoreProxyRequire directives that are added will gracefully restart successfully.

CSCeb67486

Problem: Recursive Proxy ignores SipResolveLocalContactInRedirectMode

Problem Description: Cisco SPS ignores the "SipResolveLocalContactsInRedirectMode" parameter and always tries RAS first.

Conditions: This symptom is observed when Cisco SPS is configured in Recursive mode and configured for RAS.

Recommended Action: Create a Cisco SPS route for to the proxy for all destinations for which you want Cisco SPS to check its registry and/or MySQL database before checking RAS for the call forwarding contact.

CSCeb71070

Problem: Changing UseVirtualProxyHost from Off to On causes conflicts

Problem Description: Turning the 'Use Virtual Proxy Host' directive from On to Off can cause several problems.

1. Phones using entries with a Domain Name previously set to a Virtual Proxy Host before the 'Use Virtual Proxy Host' directive was turned Off can no longer be called.

2. Entries with a Domain Name previously set to a Virtual Proxy Host before the 'Use Virtual Proxy Host' directive was turned off can no longer be edited or deleted via the GUI.

3. Entries which were unique before the directive was turned Off may no longer be unique.

4. The Domain Name column is empty.

Condition: The database uses the Registry entry's 'Domain Name' as one of the key fields for identifying unique registry records. When the directive is On, the database stores the value of each Registry record's domain name and retrieves it when requested. When the directive is turned off the database no longer uses the stored value, but instead uses the current value of the 'Proxy Domain' directive.

When attempting to access records, the Proxy Domain is used. Because this does not match what is stored in the database, the records that have domains that do not match the Proxy Domain cannot be accessed.

Recommended Action: Leave 'Use Virtual Proxy Host' set to On. If you no longer wish to have any Virtual Proxy Hosts, delete all hosts from the table, but leave 'Use Virtual Proxy Host' set to On. If you must turn it Off for some reason, follow these steps:

Before turning 'Use Virtual Proxy Host' Off, prepare the existing Registry records. Manually change the Domain Name for each Registry Record to match the Proxy Domain. Verify that this does not cause two records to become the same. If so, assign a new user ID to one of the records or change one of the other values so that the records remain unique. If a record is no longer needed, delete it.

If the database is large, you can quickly use the export/import functions under the Operations menu in the GUI. Export the Registry database into a comma separated value (csv) file using the GUI's export command. Open the saved file in Microsoft Excel and modify the Domain Name column, so that all entries are set to the Proxy Domain. Import the modified csv file back into Cisco SPS by using the GUI's Import command.

If these steps were not followed before turning 'Use Virtual Proxy Host' from On to Off, simply turn 'Use Virtual Proxy Host' back on and follow the steps above before turning 'Use Virtual Proxy Host' off again.

CSCeb85264

Problem: Cannot add wildcarded route by editing existing route in GUI

Problem Description: When using the GUI to edit an existing route, adding a wildcard destination pattern such as "408*" will not work correctly. Rather than expanding the route into multiple routes of the form 408, 408., 408.., and so on; enter a single route of 408* into the database instead.

Recommended Action: Instead of editing the existing route, first delete the existing route and add a new wildcard route.

CSCec03170

Problem: Support multiple Proxy-Authorization headers in INVITE

Problem Description: When multiple Proxy-Authorization headers are present in an INVITE and authentication is turned on, Cisco SPS can't handle these Proxy-Authorization headers and sends back 407.

Recommended Action: Only configure one Cisco SPS to do authentication so that only one Proxy-Authorization header is present and necessary to pass an authentication check.


Resolved Caveats—Cisco SIP Proxy Server, Version 2.1

All the caveats listed in this section are resolved in the Cisco SIP Proxy Server, Version 2.1.

Table 3 Resolved Caveats for the Cisco SIP Proxy Server, Version 2.1

DDTS ID Number
Description

CSCds73342

Problem: Unresolvable static route targets not handled

Problem Description: When there are multiple routes for a destination, but the highest priority/weight route is not resolvable, then all other routes are also ignored.

Conditions: This problem may happen if a static route entry is misconfigured.

For example, if there are 2 static routes to 919.......

gw1.domain.com : 5060

and

gw2.domain.com : 5060

Suppose gw1.domain.com has higher priority/weight and is selected. Attempt to resolve gw1.domain.com fails. The proxy will not try the second route. However, if gw1.domain.com is resolvable but is down, proxy will try gw1.domain.com and after exhausting its retransmissions to gw1.domain.com, the proxy will try gw2.domain.com.

Recommended Action: Simple workaround is to not configure static route targets which cannot be resolved. Static route targets should either be IP addresses or names that can be resolved by DNS lookup.

CSCdx23713

Problem: GUI doenst update domain menu

Problem Description: When using the provisioning system GUI to enter new users, you can set the domain field of a user by using a drop-down box. If you do so before you configure the new Virtual Proxy Hosts with new domains, those domains will not be added to the drop-down box until you close the GUI and reopened it.

Conditions: This is a potential issue only if you are using the Virtual Proxy Host feature to support users in multiple domains, and you have added new domains since the last time you closed/reopened the GUI.

Recommended Action: The workarounds are:

1) Close and reopen the GUI.

or

2) Enter the domain manually rather than using the drop-down box.

CSCdx32823

Problem: Solaris, Basic Auth with RADIUS -> seg fault

Problem Description: If you are using HTTP Basic authentication, and Cisco SPS receives a REGISTER or INVITE with corrupted credentials, where the credentials are the combination of the user ID and the password, it is possible that the child process will die without returning a response. The end result is that the REGISTER or INVITE is effectively ignored. Note, the child process will be restarted, so call processing will continue normally.

Also note, if the credentials are properly formatted and the password is simply incorrect, Cisco SPS will return a corresponding 401/407 challenge. The property that allows users with valid credentials to REGISTER and place calls while users with incorrect or corrupted credentials are not allowed is still upheld.

Recommended Action: There is no workaround.

CSCdx66858

Problem: Does not handle ip address ending with 0

Problem Description: An INVITE with a FROM header that has an IP address ending with .0 gets rejected with a 400 Bad or missing FROM response. An IP address ending with .0 should be accepted during parsing.

Recommended Action: There is no workaround.

CSCdx76205

Problem: Incorrect error reported when BadHeader present

Problem Description: When a bad (blank) header is present, Cisco SPS mis-reports the error as a bad Via header. Cisco SPS should provide a 4xx response indicating "Header field is missing colon separator".

Recommended Action: There is no workaround.

CSCdx88445

Problem: Routing based on maddr in Via

Problem Description: When an ACK message's top most via contains a maddr parameter that has an IP address followed by a port number, the port number is illegal in maddr andCisco SPS will not forward the ACK. Because the ACK is silently dropped, no error message is printed to indicate the situation, even though parser debug is turned on.

Recommended Action: There is no workaround.

CSCdx88868

Problem: sipd fails to start when group name (Group) is numerical

Problem Description: sipd does not start up when a numerical value is specified for Group in sipd.conf.

Recommended Action: sipd should start up normally when a numerical value is specified for Group in sipd.conf. Starting with Cisco SPS Release 2.0, csps group and csps user are defined as part of the installation process and set in sipd.conf. As long as these default values are used, all is fine. Before Cisco SPS Release 2.0., another workaround was to manually create a csps user and group, and enter those values in sipd.conf.

CSCdx94994

Problem: No Data error on GUI when pserver loses MySQL connection

Problem Description: The GUI may display an error dialogue message that it has no data.

Conditions: A user tries to use the provisioning GUI that had been running, but is inactive for an extended period of time.

Further Problem Description: The connection to the MySQL server will be dropped by the MySQL server after a default 28800 seconds (8 hours). After the connection has been lost, the client MySQL software used by the pserver will throw an connection lost exception. The pserver catches that exception and automatically reconnect to the MySQL server.

Recommended Action: Try the same operation again and it should work correctly on the second try. If the error message still appears, then check pserver to see if it's running properly.

CSCdx95649

Problem: Should cycle through all 1.3(3.3) entries returned by A record query

Problem Description: Cisco SPS supports both SRV and A record lookups and performs an SRV lookup before an A record lookup if the port number in the destination URI or static route is 0 or missing.

For SRV records, Cisco SPS cycles through all addresses before giving up (depending on the type of error).

For A records, Cisco SPS selects the first address and tries that one only. If there is an error from the first address, the request fails.

Conditions: This may be an issue when interworking with SIP entities which provide high availability through the use of multiple servers. In such scenarios, it is likely the destination URIs and/or static routes will contain DNS records which resolve to multiple addresses, one or more of which are capable of handling the transaction.

Recommended Action: Use DNS SRV records instead of DNS A records (All SRV records will be same priority/weight, to achieve equivalent functionality).

CSCdy08066

Problem: GUI has to restarted every time pserver is restarted

Problem Description: The user can not open new windows through the GUI interface.

There is an error message:

"Could not find an entry in the "CSPS" table" or
"Could not generate table for "subscriber"" or
"Could not generate table for "CspsStaticRoute"" or
"Could not generate table for "Seeding"" or 
"Could not find an entry in the "DBAuthenticationTable" table".

Conditions: This happens when pserver has been restarted, but the GUI has not been restarted. The pserver is restarted when using sip restart, sip stop or sip start.

Recommended Action: When restarting pserver, restart the GUI as well.

CSCdy11289

Problem: move critical files in logs directory to safer location

Problem Description: Important operational files are mixed with log files in the logs directory. This is dangerous in that these important files are likely to accidentally be removed as a result of manipulating the log files. A new, more appropriately named directory needs to be created to store these files.

Conditions: If while clearing disk space, everything in the logs directory is removed, the server will lose some important files. Files lost will include the server's registration and route databases, which can cause the need for a synchronization of the databases, or the loss of the data.

Recommended Action: Regularly backup and never delete and files in the <serverRott>/logs directory which do not end with "logs". For example, the following files should be backup up regularly:


registry_db
routing_db

And the following should never be removed:


apache_runtime_status.sem
backing_store_lock_registry_db
sipd.pid
Sip_Services.pid
name_space_lock_registry_db

CSCdy22545

Problem: Registration w/ Authentication issues for UAs w/ a - in name

Problem Description:When authentication is on and using HTTP_Digest with Proxy authentication, if you try to register with a "-" in the name, for example, sip-phone5, its REGISTER message with proper authorization will be rejected with 401.

Recommended Action: There is no workaround.

CSCdy54900

Problem: upgrade from CSPS 1.3 to CSPS 2.0 has problems

Problem Description: The ErrorLog directive was truncated as a result of upgrading Cisco SPS. When upgrading Cisco SPS from a previous release, and the former sipd.conf file contained an "ErrorLog" directive such as:

ErrorLog "|/usr/local/sip/bin/rotatelogs /usr/local/sip/logs/error_log 86400" 

The newly created sipd.conf file contains:

ErrorLog "|/usr/local/sip/bin/rotatelogs

Recommended Action: Manually edit both the old sipd.conf file and the new sipd.conf file, replacing the "ErrorLog" directive in the new sipd.conf with the directive from the old sipd.conf.

CSCdy61292

Problem: changes to directives requires complete restart

Problem Description: The GUI and Cisco SIP Proxy Server Administrator Guide state that a graceful restart is required for directive changes to take effect. In the following cases, a complete restart is required:


StatefulServer
Sip_Token_Port 
Sip_Services_Port
Cisco_Registry_Remote_Update_Port
Cisco_Registry_Max_DB_Age_on_Boot
Cisco_Registry_Farm_Members
Cisco_Routing_Remote_Update_Port
Cisco_Routing_Max_DB_Age_on_Boot
Cisco_Routing_Farm_Members

Conditions: If any of the directives listed above are modified, and only a graceful restart (./bin/sip graceful) is performed, the changes will not take effect, and in some cases, the server could be left in a bad state.

Recommended Action: Perform a complete restart (./bin/sip restart)

CSCdy67778

Problem: GUI field for IgnoreProxyRequire needs to be a list

Problem Description: It is not possible to enter multiple IgnoreProxyRequire directives when configuring Cisco SPS through the GUI. The value field is a single field rather than a list of fields. If multiple values are entered in the field, only the first is used and the rest are ignored.

Conditions: If you are using the provisioning system and corresponding GUI, and you need to enter multiple values for the IgnoreProxyRequire directive, you will be limited to entering only one value.

Recommended Action: Stop using the provisioning system altogether. Manually edit the sipd.conf and enter multiple IgnoreProxyRequire directives as follows:

RadiusRetransmissionAfterFailure       0 
RadiusRetryTime                        300 
UseIpAddrInPathHeaders                 OFF 
IgnoreProxyRequire                     privacy 
IgnoreProxyRequire                     rpid 
SipStatsLog                            On 

CSCdy74617

Problem: csps_setup custom install farm members list

Problem Description: When installing a farm without provisioning using the Custom option of csps_setup, the resulting values for the Cisco_Routing_Farm_Members and Cisco_Registry_Farm_Members directives are incorrect. They should contain the remote farm members only; however, they contain both the local machine and any remote machines. This can lead to registration and route database synchronization problems.

Recommended Action: On any farm members, edit sipd.conf, and remove the local machine from both directives. For example, if a farm was installed consisting of proxy1 and proxy2, the directives on both machines will be set as:

Cisco_Routing_Farm_Members   proxy1, proxy2
Cisco_Registry_Farm_Members  proxy1, proxy2

Change these on proxy1 to be:

Cisco_Routing_Farm_Members   proxy2
Cisco_Registry_Farm_Members  proxy2

and on proxy2 to be:

Cisco_Routing_Farm_Members   proxy1
Cisco_Registry_Farm_Members  proxy1

CSCdy77288

Problem: rpm does not pick up all help files

Problem Description: The following help files are missing from the csps rpm:

./conf/prov/www/help/CspsStaticRoute.help

./conf/prov/www/help/DBAuthenticationTable.help

./conf/prov/www/help/Seeding.help

./conf/prov/www/help/subscriber

./conf/prov/www/help/subscriber/Static_Registry.help

./conf/prov/www/help/subscriber/Subscriber.help

If you click on the help button for one of the corresponding screens, you will see a message indicating that the requested file is missing.

Recommended Action: There is no workaround.

CSCdy77812

Problem: entries with overdecadic digits are translated to lower case

Problem Description: NumericUsernameCharacterSet is set to:

+ABCDabcd0123456789.-()#

Following route is added via reg_route tool:

Static_Route_DestinationPattern         5084A
Static_Route_Type                       PHONE
Static_Route_NextHop                    abc.com
Static_Route_NextHopPort                5060
Static_Route_TransportProtocol          UDP
Static_Route_Priority                   1
Static_Route_Weight                     5
Static_Route_Delete_or_Add              ADD

The GUI shows correctly the destination pattern 5084A. The reg_route tool shows:

call type -->           phone
destination -->         5084a
next hop -->            abc.com
contact port -->        5060
transport -->           UDP
priority -->            1
weight -->              5

The problem is when dialing 5084A, Cisco SPS returns "404 not found". If dialing 5084a, the call goes through.

CSCdz04065

Problem: DB_MySQL_HostName not set correctly with csps_setup

Problem Description: The DB_MySQL_HostName directive in sipd.conf is not set correctly if the secondary Cisco SPS server is installed before the primary Cisco SPS server is installed.

Conditions: This only occurs when installing the secondary Cisco SPS server before the primary.

Further Problem Description: Although the DB_MySQL_HostName directive in sipd.conf will now be correct even if the secondary Cisco SPS server is installed first, the directive will not work correctly. If the primary Cisco SPS server has only been installed and not modified, then simply re-run csps_setup for the secondary Cisco SPS server. Otherwise, see the Cisco SIP Proxy Server CD Installation Guide on how to add a secondary Cisco SPS server.

Recommended Action: Always install the primary Cisco SPS server first.

CSCdz12870

Problem: Malformed headers not processed correctly

Problem Description: When Cisco SPS can't break down the headers properly, for example, when "Content-Type" is sent as "Content Type", Cisco SPS will not generate the appropriate debugging information or error response string. For example, Cisco SPS sends "400 Bad or missing via header".

Conditions: When Cisco SPS receives a SIP message with headers which are malformed to the extent they are not parsed correctly, it may not return an appropriate error response string or generate an appropriate debug message. However, the SIP signalling is correct, such as sending a 400.

Recommended Action: There is no workaround.

CSCdz15867

Problem: graceful restart fails after turning on MySQL

Problem Description: Turn on mysql in sipd.conf and then do a graceful restart. The sipd processes hang and will not accepts any calls.

Conditions: The sipd processes are already running with mysql turned off.

Further Problem Description: Note that the entries for mysql in sipd.conf are correct.

Recommended Action: Instead of graceful, do a stop and start (or restart) of the sipd process.

CSCdz17634

Problem: removing provisioning clients from DBSubscriberTable

Problem Description: pserver continues to send updates (sipd.conf changes) to the downed SPA if the SPA crashes.

Conditions: If SPA crashes, it doesn't have the opportunity to unregister with the pserver for updates. As a result, the pserver will try to send updates to SPA until you manually remove the corresponding registration entry from the mysql database. In the event that SPA is brought down gracefully by using the control scripts (sip or spactl), SPA will shutdown, and unregister itself for updates from the pserver.

Recommended Action: If the pserver is sending requests to a SPA that is no longer available, the pserver will not allow sipd.conf changes. To fix this, bring the corresponding SPA back up. Once the corresponding SPA is running and receiving messages, the pserver will allow sipd.conf changes.

In the event that SPA is removed from usage and it wasn't brought down gracefully, a user will need to remove the registered SPA entry from the MySQL database.

1. Log in to the MySQL server.

>mysql -h<hostname> -u<user> -p<password> sip;

Example:

>mysql -hlocalhost -uguest -pnobody sip;

2. After getting to the mysql prompt, select all from the DBSubscriberTable.

mysql> select * from DBSubscriberTable;

This should provide a listing of the a number of hosts.

3. Remove all instances of the corresponding SPA.

mysql> delete from DBSubscriberTable where 
mysql> (DBSubscriberPrimaryKey >= "<hostname / ip>" );

After the entries have been removed, the pserver will no longer send updates to the affected host.

Further Problem Description: The way that the pserver handles the registration for updates is not secure. The provisioning system does not currently have a secure method to authenticate the registrations as it comes it.

CSCdz22652

Problem: proxy cannot reopen upstream TCP connection

Problem Description: Proxy is not able to failover and reopen the upstream TCP connection, in case the connection gets closed during a transaction that is in progress.

Conditions:

1. The caller sends an INVITE to proxy.

2. The callee receives the INVITE from proxy.

3. The caller closes TCP connection it sent INVITE on.

4. The callee sends 180.

5. The caller expects proxy to open the TCP connection based on Via and forward the 180.

Proxy detects that the connection is closed by the caller, but proxy tries to reopen the TCP connection to the port from which it received INVITE, instead of a port in Via, and fails to open connection.

Recommended Action: There is no workaround.

CSCdz79175

Problem: Disconnect time in acct stop sometimes has millisec = 1000

Problem Description: The accounting stop message has the range of 0-1000 milliseconds. The Remote Authentication Dial-in User Service (RADIUS) server vendor was expecting to have 0-999. For example:

cisco-h323-disconnect-time = "h323-disconnect-time=10:10:22.1000 GMT

Conditions: Whenever accounting is enabled.

Recommended Action: There is no workaround.

CSCdz82468

Problem: SPA gets updates for subscriber data

Problem Description: SPA gets updates from the pserver for any changes in the subscriber database. The subscriber database includes information with call features and static registrations. If only call feature or security information is entered and sent to the pserver, the pserver will send an update to SPA. Since SPA is only interested in static registration or static route information, this update is extraneous.

When SPA receives the update, SPA will try to add the entry to the static registry. Since there is no static registration, SPA will fail to add the entry and the following error message appears:


   Insufficient Registry Data Provided.

Although this behavior is expected, it is not the most efficient.

Further Problem Description: This bug is no longer reproducible in Fifth. SPA will no longer receive updates for registrations. It will only receive updates for sipd.conf changes.

Recommended Action: There is no workaround.

CSCea51523

Problem: MySQL processing for subscriber lookups result in high CPU load

Problem Description: MySQL process is taking up significant CPU (i.e. > 50%). Individual lookups for a subscriber's information takes up to and sometimes more than 1 second.

Conditions:

7000 subscribers (3500 active)

Authentication enabled

Registration rate of around 4 per second

Recommended Action: Create a combined index in the subscriber table for the user_id and the domain_name fields. Use only the first 32 chars of the user_id field and only the first 100 chars of the domain_name field. MySQL has a 500 combined character limit for the primary keys and indices.

Additional notes: Creating a combined index for the queried fields will speed up the searches. Do not modify anything to create the combined index. However, there are some caveats to the index. With the 500 combined character limit, any further modifications to increase the size of the indices must comply with the MySQL limit. MySQL will prevent the creation of an index that exceeds this limit.

Since only the first 32 chars of the user_id and the first 100 chars of the domain_name are used as indices, it is unknown whether queries to the database will see speed improvements if the respective field values exceed the length of the combined index.

The fix:

Log onto MySQL and enter the following command:

mysql> create index user_id_domain_join_index on subscriber (user_id (32), 
       domain_name (100));

CSCea53253

Problem: Disappearing mysql.sock from /tmp

Problem Description: MySQL data cannot be accessed from the sipd processes.

Conditions: mysql.sock is somehow deleted from /tmp

Recommended Action: For Linux, simply recreate the link in /tmp by running the following command:

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

For Solaris, simply restart mysql by running the following commands:

/etc/init.d/mysql stop
/etc/init.d/mysql start

For a more permanent workaround, check out the following link:

http://www.mysql.com/doc/en/Problems_with_mysql.sock.html

CSCea65414

Problem: SPS cannot resolve more that 1 A record in a DNS response

Problem Description: Proxy is not able to use multiple A records in a DNS lookup. Hence, only the first record ID is tried and others are not used.

Conditions: This issue occurs when interworking with a PSTN GW or a call agent with more that one IP address.

If the call agent initiates a call and places its DNS domain name in the contact header, the final UA (i.e. the phone) will build this domain name into the route set.

Hanging the phone up generates a BYE towards the call agent. Cisco SPS now needs to resolve the domain name in the route list to determine the IP address of the call agent

If the call agent has moved off the primary IP addresses (the first A record in the DNS response), Cisco SPS cannot find the call agent.

Recommended Action: There is no workaround.

CSCea65890

Problem: SNMP (CIAgent) auto startup at boot

Problem Description: If Cisco SPS is rebooted, the CIAgent SNMP executable does not start automatically.

Conditions:

1) Use the CIAgent SNMP services to monitor Cisco SPS processes and restart any process if they die.

2) If the server is rebooted, Cisco SPS processes will restart automatically, but the SNMP processes will not. As a result, Cisco SPS processes will no longer be monitored.

Recommended Action: Restart CIAgent SNMP manually.

CSCea83745

Problem: Default diffserv value should be changed to 0x60

Problem Description: The default DiffServValue for SIP signaling is set to 0x00 (worst-effort). It should be 0x60 (Class 3) instead.

Recommended Action: Change the default value of the DiffServValue direcetive to 0x60, or whatever is suited for your network.

CSCeb07160

Problem: non-INVITE responses not handled correctly for RR

Problem Description: The handling of Record-Route for non-INVITE responses is not correct. The handling checks for method *is equal to* INVITE, before transforming downstream Record-Route headers to their upstream version. Instead, the handling should check if method *is not equal to* ACK, REGISTER, BYE and CANCEL.

Conditions:

1. Record-Route is enabled

2. Cisco SPS processes a request other than INVITE, ACK, REGSITER, BYE, and CANCEL, such as a SUBSCRIBE, NOTIFY, and so on. This may cause the subsequent requests that use the Record-Route from the SUBSCRIBE, NOTIFY, and so on, to not be routed correctly.

Recommended Action: There is no workaround.

CSCeb27296

Problem: Remove Proxy-Auth prior to forwarding non authenticated requests

Problem Description: Cisco SPS currently uses and strips credentials only from requests it challenges (i.e. not from ACK, BYE, and so on.) It should remove the credentials from other requests, assuming the credentials were meant for it (i.e. realm matches proxy's realm). The end result is that the credentials are included in the request forwarded by Cisco SPS downstream. Note, the user ID is in clear text, but the password is encrypted, so this is not an issue in most cases.

Conditions: Authentication is enabled on Cisco SPS. UA includes cached credentials (i.e from INVITE), in subsequent non-INVITE requests such as ACK, BYE, and so on.

Recommended Action: There is no workaround.


Obtaining Documentation

The following sections explain how to obtain documentation from Cisco Systems.

World Wide Web

You can access the most current Cisco documentation on the World Wide Web at the following URL:

http://www.cisco.com

Translated documentation is available at the following URL:

http://www.cisco.com/public/countries_languages.shtml

Documentation CD-ROM

Cisco documentation and additional literature are available in a Cisco Documentation CD-ROM package, which is shipped with your product. The Documentation CD-ROM is updated monthly and may be more current than printed documentation. The CD-ROM package is available as a single unit or through an annual subscription.

Ordering Documentation

Cisco documentation is available in the following ways:

Registered Cisco Direct Customers can order Cisco product documentation from the Networking Products MarketPlace:

http://www.cisco.com/cgi-bin/order/order_root.pl

Registered Cisco.com users can order the Documentation CD-ROM through the online Subscription Store:

http://www.cisco.com/go/subscription

Nonregistered Cisco.com users can order documentation through a local account representative by calling Cisco corporate headquarters (California, USA) at 408 526-7208 or, elsewhere in North America, by calling 800 553-NETS (6387).

Documentation Feedback

If you are reading Cisco product documentation on Cisco.com, you can submit technical comments electronically. Click Leave Feedback at the bottom of the Cisco Documentation home page. After you complete the form, print it out and fax it to Cisco at 408 527-0730.

You can e-mail your comments to bug-doc@cisco.com.

To submit your comments by mail, use the response card behind the front cover of your document, or write to the following address:

Cisco Systems
Attn: Document Resource Connection
170 West Tasman Drive
San Jose, CA 95134-9883

We appreciate your comments.

Obtaining Technical Assistance

Cisco provides Cisco.com as a starting point for all technical assistance. Customers and partners can obtain documentation, troubleshooting tips, and sample configurations from online tools by using the Cisco Technical Assistance Center (TAC) Web Site. Cisco.com registered users have complete access to the technical support resources on the Cisco TAC Web Site.

Cisco.com

Cisco.com is the foundation of a suite of interactive, networked services that provides immediate, open access to Cisco information, networking solutions, services, programs, and resources at any time, from anywhere in the world.

Cisco.com is a highly integrated Internet application and a powerful, easy-to-use tool that provides a broad range of features and services to help you to

Streamline business processes and improve productivity

Resolve technical issues with online support

Download and test software packages

Order Cisco learning materials and merchandise

Register for online skill assessment, training, and certification programs

You can self-register on Cisco.com to obtain customized information and service. To access Cisco.com, go to the following URL:

http://www.cisco.com

Technical Assistance Center

The Cisco TAC is available to all customers who need technical assistance with a Cisco product, technology, or solution. Two types of support are available through the Cisco TAC: the Cisco TAC Web Site and the Cisco TAC Escalation Center.

Inquiries to Cisco TAC are categorized according to the urgency of the issue:

Priority level 4 (P4)—You need information or assistance concerning Cisco product capabilities, product installation, or basic product configuration.

Priority level 3 (P3)—Your network performance is degraded. Network functionality is noticeably impaired, but most business operations continue.

Priority level 2 (P2)—Your production network is severely degraded, affecting significant aspects of business operations. No workaround is available.

Priority level 1 (P1)—Your production network is down, and a critical impact to business operations will occur if service is not restored quickly. No workaround is available.

Which Cisco TAC resource you choose is based on the priority of the problem and the conditions of service contracts, when applicable.

Cisco TAC Web Site

The Cisco TAC Web Site allows you to resolve P3 and P4 issues yourself, saving both cost and time. The site provides around-the-clock access to online tools, knowledge bases, and software. To access the Cisco TAC Web Site, go to the following URL:

http://www.cisco.com/tac

All customers, partners, and resellers who have a valid Cisco services contract have complete access to the technical support resources on the Cisco TAC Web Site. The Cisco TAC Web Site requires a Cisco.com login ID and password. If you have a valid service contract but do not have a login ID or password, go to the following URL to register:

http://www.cisco.com/register/

If you cannot resolve your technical issues by using the Cisco TAC Web Site, and you are a Cisco.com registered user, you can open a case online by using the TAC Case Open tool at the following URL:

http://www.cisco.com/tac/caseopen

If you have Internet access, it is recommended that you open P3 and P4 cases through the Cisco TAC Web Site.

Cisco TAC Escalation Center

The Cisco TAC Escalation Center addresses issues that are classified as priority level 1 or priority level 2; these classifications are assigned when severe network degradation significantly impacts business operations. When you contact the TAC Escalation Center with a P1 or P2 problem, a Cisco TAC engineer will automatically open a case.

To obtain a directory of toll-free Cisco TAC telephone numbers for your country, go to the following URL:

http://www.cisco.com/warp/public/687/Directory/DirTAC.shtml

Before calling, please check with your network operations center to determine the level of Cisco support services to which your company is entitled; for example, SMARTnet, SMARTnet Onsite, or Network Supported Accounts (NSA). In addition, please have available your service agreement number and your product serial number.