Guest

Cisco SIP Proxy Server

Release Notes for the Cisco SIP Proxy Server Version 2.0 on Linux

Table Of Contents

Release Notes for the Cisco SIP Proxy Server (CSPS) Version 2.0 on Linux

Related Documentation

Known Problems in this Release

Amendments to the Documentation

Installing the Cisco SIP Proxy Server (CSPS) Software

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 (CSPS) Version 2.0 on Linux


July 2002

This document lists the known problems in the Cisco SIP Proxy Server Version 2.0 and contains information about the CSPS that was not included in the Cisco SIP Proxy Server Administrator Guide.

Sections in this document include the following:

Related Documentation

Known Problems in this Release

Amendments to the Documentation

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:

CD Installation Guide for the Cisco SIP Proxy Server (CSPS) on Linux—Describes how to install the Cisco SIP Proxy Server software 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/en/US/products/sw/voicesw/ps2157/index.html

Cisco SIP Proxy Server Administration Guide—Provides information for network and telephone administrators for understanding, installing, and configuring the Cisco SIP IP phone. This guide is available on the product CD as well as online at http://www.cisco.com/en/US/products/sw/voicesw/ps2157/index.html

Known Problems in this Release

This section lists the currently known problems in the Cisco SIP Proxy Server, Version 2.0.

Problem: Adding Routes/Registry Entries through regroute is very slow (CSCdy04827)

Problem Description:

Adding route or registry entries using the regroute tool for 7000, 10000, 30000 routes takes a very long time (minutes/hours) when mysql is configured.

There is a huge latency when the regroute tool exports the entries into the mysql database, because the regroute tool perform a select on non-primary key fields of a table before inserting a record into the database.

Recommended Action: Change the attribute of the table with the following steps:

a. log onto the mysql server.

% mysql -u<user> -p<password> sip

b. alter the table.

mysql>  alter table CspsStaticRoute add index (Static_Route_DestinationPattern);

Problem: When recovering from a split network, some registrations are lost (CSCdy02296)

Problem Description: In the event of a split network, it is possible that each farm member separately accepts new registrations. When the networks join, a synchronization is performed. This synchronization is based on which member accepts 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 prior to the split contains entries for a,b,c. When a network split occurs. P1 accepts new registrations for d,e,f. P2 accepts new registrations for g,h. The networks join. P1's view of the world is inherited by P2, so the registry is: a,b,c,d,e,f, and g,h are lost.

Conditions:

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

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

c. 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 all clients register with the same server at any time. The clients must not experience the split with some clients see only the primary and some see only the secondary. This may not be possible.

Problem: sipd processes block when handling REGISTERs (CSCdy02211)

Problem Description: Requests, such as REGISTERs and INVITEs, are handled by CSPS

at a reduced rate or not at all.

Conditions:

a. CSPS 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, and

b. The traffic levels exceed the following for an extended period of time.

REGISTERs/second=5

INVITEs/second=50

Recommended Action: Make sure the calls rates do not exceed those described above, or do not enable Registry farming

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

Problem Description: CSPS supports both SRV and A record lookups, and performs an SRV lookup prior to an A record lookup if the port number in the destination URI or static route is zero or missing.

For SRV records, CSPS cycles through all addresses prior to giving up (depending on the type of error). For A records, it selects the first and tries that one only. If there is an error from the first address, the request fails.

Condition: This may be an issue when interworking with SIP entities which provide high availability through the use of multiple servers. In this case, it is likely the destination URIs and/or static routes 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.

Problem: pserver looses connection w/ MySQL server (CSCdx94994)

Problem Description: When a user tries to use provisioning GUI after an extended period of time while the provisioning system is running, GUI may display an error dialog indicating it has no data.

Recommended Action: Try the same operation again. If the error message persists, check if the pserver is running properly.

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

Problem Description: CSPS provides only limited support for the tel URL. It translates the tel URL into a sip URL, then handles the message based on the sip URL. The translation is performed 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.

Example:

tel:7671234;phone-context=408;Subject=Hello SIP/2.0

CSPS converts the tel URL to the sip URL as 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

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

Recommended Action: None.

Problem: GUI does not allow&, >, < in any field (CSCdx88304)

Problem Description: Data entered into any field through the GUI cannot contain the following characters: &, <, >

Recommended Action: None.

Problem: GUI button selection with Tab key (CSCdx86385)

Problem Description: If you select a button in the GUI by using the Tab key to go to the button, the button is inactivated.

Recommended Action: Press space bar to activate the button.

Problem: CFUNV not working if 1st next hop is not reachable (CSCdx78534)

Problem Description: CFUNV is configured for user 100. Static registry also exists for user 100, with a contact (100@1.4.106.2). The IP address, 1.4.106.2, belongs to the subnet of CSPS. No equipment is associated to that IP address. Subscriber info for user 100 is CFUNV: forward to sip:5670@<proxy>. There is a static route configured for 5670@<proxy>.

Recommended Action: None.

Problem: Aliases not recognized as proxy (CSCdx74354)

Problem Description: When configured with an aliased hostname in /etc/hosts, CSPS does not recognize the alias as itself.

Recommended Action: None.

Problem: pkgadd creates S99sipd file (CSCdx73241)

Problem Description: During reboot on Solaris, CSPS appears to be started twice. This is a problem on a provisioning based system, if a new sipd.conf will be created by the spa at startup. sipd will not be started with the new sipd.conf, since it is already running.

Recommended Action: Use csps_setup during installation. Otherwise, remove the legacy startup script for sipd from /etc/rc3.d with the following command:

rm -f /etc/init.d/S99sipd

Problem: User unknowingly accepts 3rd party licenses (CSCdx72066)

Problem Description: By using the csps_setup program to install the provisioning GUI, you install JRE of SUN. The JRE is accompanied by a Binary Code License Agreement. The csps_setup program automatically accepts this license to automate the installation process.

Recommended Action: The user must know that before running the csps_setup to install the provisioning GUI, they are accepting Sun's Binary License Agreement.

Problem: Multi-threaded Pserver crashes with multiple clients (CSCdx48397)

Problem Description: The provisioning server is not thread safe due to the use of strings and gcc 2.95.3 for solaris. It seg faults if it is using more that one worker thread.

Condition: If the user changes the default number of worker threads in the provisioning server configuration file (ps.conf) to a number greater than 1, then the provisioning server may seg faults when used with multiple clients.

Recommended Action: Use the default number of worker threads set in the ps.conf, which is 1. This prevents the seg faults from occurring. gcc 3.0 should be used or the usage of string needs to be removed.

Problem: Solaris, Basic Auth with Radius -> seg fault (CSCdx32823)

Problem Description: When HTTP Basic authentication is used and CSPS receives a REGISTER or INVITE with corrupted credentials (combination of the user id and password), the child process may die without returning a response. The result is REGISTER or INVITE is ignored.


Note The child process will be re-started, so call processing will continue normally. If the credentials are properly formatted and the password is incorrect, CSPS returns a corresponding 401/407 challenge.


The property that users with valid credentials are able to REGISTER and place calls while users with incorrect or corrupted credentials are not is still upheld.

Recommended Action: None

Problem: Routing database can get out of sync with GUI/regroute tool (CSCdx31396)

Problem Description: The GUI shows different static routes from what is displayed by the sysadmin_csps_regroute tool. This occurs if you have created static routes via the sysadmin_csps_regroute tool, and then deleted them via the GUI.

Recommended Action: If you are using the GUI, do not use the sysadmin_csps_regroute tool for addition, modification, and deletion of static routes and registries.

Problem: GUI does not update domain menu (CSCdx23713)

Problem Description: When using the provisioning system GUI to enter new users, the domain field of the user can be set by using a drop-down box. If prior to doing

this, you configure new Virtual Proxy Hosts with new domains, those domains will not be added to the drop-down box until the GUI has been shut down and reactivated.

Condition: This occurs 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 shut down and reactivated the GUI.

Recommended Action:

a. Shut down and re-activate the GUI, or

b. Enter the domain manually

Problem: Cannot rename MySQL db fields if using provisioning (CSCdw94123)

Problem Description: In sipd.conf, you can re-map the MySQL subscriber database field names from the default names used by the MySQL installation script to new values. It is done if there is an existing MySQL subscriber database in the system, and you want CSPS to use it. In this case, CSPS reads and uses the new field names specified in sipd.conf.

If provisioning is used, the provisioning GUI does not read sipd.conf or use the new field names. It ignores any new field names and use the default names which match those used by the MySQL install script.

Condition: This problem occurs only if CSPS is used with provisioning and an existing MySQL database is used instead of the new database created by the MySQL installation script. If the existing database has different names for the MySQL table fields than those used by the Provisioning system, new subscriber information entered using the provisioning GUI may not be accessible by CSPS.

Recommended Action: None.

Problem: Upgrading from version 1.2 to version 1.3 requires reinstallation of MySQL (CSCdw85177)

Problem Description: In some cases, after upgrading from version 1.2 to 1.3, CSPS 1.3 is cannot access the existing MySQL database.

Conditions: This problem occurs if the following conditions exist.

a. you are using MySQL to perform user authentication or user call forwarding features with CSPS 1.2.

b. you are upgrading from CSPS 1.2 to CSPS 1.3

Recommended Action: Uninstall and reinstall MySQL using the scripts provided.

Problem: Digest authent with radius does not work with multiple domains (CSCdw67833)

Problem Description: If 111@aaa.com and 111@bbb.com are different users, they can not have a different authentication password as digest authentication does not understand domain (digest authentication on the proxy using mysql works, as mysql considers 111@aaa.com and 111@bbb.com as two different users).

The following directives should be turned on.

Authentication

Authentication On

AuthServer Radius

AuthScheme HTTP_Digest


Note Multiple domains configuration (example given above with aaa.com and bbb.com)


Cisco_Registry On

Cisco_Registry_Use_Virtual_Proxy_Host On

<VirtualProxyHost 1.1>

Virtual_Proxy_Domain aaa.com

</VirtualProxyHost>

<VirtualProxyHost 1.2>

Virtual_Proxy_Domain bbb.com

</VirtualProxyhost>


Note 111 is defined in mysql in both aaa.com and bbb.com with a different password.


Recommended Action: The realm is the same regardless of the originating domain of the caller. The User-Name attribute cannot be modified, since it is for Basic authentication with a radius server and CSPS would need to recompute the digest response before sending it to the radius server. A possible solution is to add a new domain attribute to the list of attributes sent to the digest radius server.

Problem: segfault in Sip_Services/ACE with CSS and RegFarm (CSCdw58265)

Problem Description: When Sip_Services is first started by using sipdctl start, it dumps core and then starts correctly. It has no effect on functionality. Only a core file is left over.

Condition: When using a virtual IP or hostname as the ServerName in combination with having registry or route farming enabled.

Recommended Action: None.

Problem: sysadmin_csps_regroute tool not displaying registry entries (CSCdw16780)

Problem Description: CSPS 1.2 sysadmin_csps_regroute tool not displaying all entries in registry database.

Recommended Action: None.

Problem: 500 Memory alloc failure when bad request is sent to Proxy (CSCdw00579)

Problem Description: For some types of invalid SIP requests, CSPS responds with a "500 Memory alloc failure" instead of "400 Bad Request". This is due to an incorrect mapping of error case to SIP

status code. This problem occurs when an invalid SIP request is received by CSPS. For example, if the Request URI is incomplete or is in incorrect format.

Recommended Action: None.

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

Problem Description: When a call is made to a IP phone registered to CSPS which has a Call Forward No Answer (CFNA) entry in MySQL, and if the caller hangs up when the phone is ringing, CSPS depends on the IP phone in sending a CANCEL instead of sending a BYE.

If CANCEL is sent when the caller hangs up, the call is terminated without any problems. If BYE is sent instead, CSPS keeps the CFNA timer running and this leads to an INVITE being sent by CSPS to wherever the user has CFNA configured after the timer expires. This may lead to a phone ringing when no call is being made.

Conditions: This problem occurs under the following circumstances:

a. CFNA is being used

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

Recommended Action: None.

Problem: sipd fails to start if NULL StaticRouteNextHop (CSCdu88015)

Problem Description:

If an imported StaticRouteNextHop directive is empty in a route stanza, the CSPS does not start or print any error information to stdout or error_log. See the following example:

<StaticRoute 25>
Static_Route_DestinationPattern        *
Static_Route_Type                      IP
Static_Route_NextHop
Static_Route_NextHopPort               5060
Static_Route_TransportProtocol         UDP
</StaticRoute>

The above configuration in a file which is imported using sysadmin_csps_regroute prevents the CSPS from being started.

Recommended Action: Remove static route from the file.

Problem: Accounting with Cisco Access Registrar conflicts (CSCdu72935)

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

"07/16/2001 15:13:47:Log:SessionManager session-mgr-1 was unable to create/acquire a Session because the request packet did not contain a NAS and/or NAS-Port attribute. 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 Radius packets to be dropped and the CSPS will be timed-out, waiting for the response from the CAR.

Recommended Action: The DefaultSessionManager parameter can be set to "" in the CAR server shown as follows.

> cd Radius

> set DefaultSessionManager ""

Problem: Accounting with XACCT Radius not working properly (CSCdu69703)

Problem Description: If accounting is enabled on CSPS, the session-id for START and STOP records is populated with SIP Call-Id, so the Radius/billing server can 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. For XACCT Radius server, XACCT does not respond to records with duplicate session-ids. As a result, CSPS blocks waiting for a response. Eventually, CSPS times out and continues processing the call. However, if enough concurrent calls are placed, it is possible that all of CSPS's processes will be blocked waiting for Radius responses and call processing will effectively stop. 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.

Problem: Solaris pkgadd prompts ?, ??, q (CSCdu65165)

Problem Description: When a user is prompted with [?, ??, q] as shown below, use the instruction in Recommended Action.

# pkgadd -d /tmp/CSPS-2.0-solaris.pkg
The following packages are available:
1  CSPS     Cisco SIP Proxy Server
(sparc) Version 2.0 - Experimental Version
Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]:

Recommended Action: Press Enter to install all.

Problem: ACE_OS_MONITOR_LOCK message in error_log (CSCdu65102)

Problem Description: Running Call Forward Unconditional stress test with 50cps, the following message is printed randomly in error_log:

ace/OS.cpp, line 6758: ACE_OS_MONITOR_LOCK failed: Device or resource busy

Recommended Action: None.

Problem: Drops non-200 final responses after transaction is cancelled (CSCdu17285)

Problem Description: When CSPS receives a non-200 final response like 487, after the request has been cancelled, it drops the response. It should forward the response back upstream. This behavior has no affect on successful call setup or handling of 200 responses to INVITE.

Recommended Action: None

Problem: Server stops writing any error log after space is 100% (CSCdu12594)

Problem Description: This occurs if the file system runs out of disk space while writing to the log file. If disk space is available later, the error_log remains unwritable.

Recommended Action: Ensure the filesystem always has free disk space. This may be done by enabling rotatelogs and operational procedures that insure some disk space is always available. Alternatively, set size thresholds by using CIAgent (defaults are 5MB). If the thresholds are crossed, an SNMP trap is generated.

Problem: access_log and error_log file size (CSCdu12376)

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

Recommended Action: Use log rotation to avoid this problem. Alternatively, set size thresholds by using CIAgent (defaults are 5MB). If the thresholds are crossed, an SNMP trap is generated.

Problem: Sip_services get "killed" when sysadmin_csps_regroute exits (CSCdu12370)

Problem Description: When starting sysadmin_csps_regroute and sipd with the following sequence, the Sip_Services daemon can be killed while the CSPS is still running. However, the Sip_Services daemon will be started again once the CSPS discovers the process does not exist.

a. Start sysadmin_csps_regroute before starting sipd (Starting Sip Services ... message after the command is issued).

> ./sysadmin_csps_regroute
Starting Sip Services. Success
Cisco SIP Proxy Server Command Line Interface V2.0
--------------------------------------------------------
            Main Menu
            Using Registry Database
--------------------------------------------------------
Choose an option below: (Items in <> are required input.)
<S> Select registry (default) or routing database
<D> query, add to, or delete from the Database
<I> Import a configuration <file> with route/registry entries
<X> eXport current database entries to a configuration <file>
<Q> or ^C (exit)

b. > ps -eaf | grep -i sip

lab      27760     1  0 15:12 pts/0    00:00:00
/usr/local/sip/bin/Sip_Services

c. > ../bin/sipdctl start

Version of CSPS        : 2.0 - Experimental Version
Version in Config file : 2.0 - Experimental Version
../bin/sipdctl start: sipd started

d. > ps -eaf | grep -i sip

lab      27760     1  0 15:12 pts/0    00:00:00
/usr/local/sip/bin/Sip_Services
lab      27767     1  2 15:16 ?        00:00:00 /usr/local/sip/bin/sipd
lab      27768 27767  0 15:16 ?        00:00:00 /usr/local/sip/bin/sipd
lab      27769 27767  0 15:16 ?        00:00:00 /usr/local/sip/bin/sipd
lab      27770 27767  0 15:16 ?        00:00:00 /usr/local/sip/bin/sipd
lab      27771 27767  0 15:16 ?        00:00:00 /usr/local/sip/bin/sipd
lab      27772 27767  0 15:16 ?        00:00:00 /usr/local/sip/bin/sipd

e. Stop sysadmin_csps_regroute

f. ps -eaf | grep -i sip

lab      27767     1  0 15:16 ?        00:00:00 /usr/local/sip/bin/sipd
lab      27768 27767  0 15:16 ?        00:00:00 /usr/local/sip/bin/sipd
lab      27769 27767  0 15:16 ?        00:00:00 /usr/local/sip/bin/sipd
lab      27770 27767  0 15:16 ?        00:00:00 /usr/local/sip/bin/sipd
lab      27771 27767  0 15:16 ?        00:00:00 /usr/local/sip/bin/sipd
lab      27772 27767  0 15:16 ?        00:00:00 /usr/local/sip/bin/sipd

Sip_Services is gone.

Recommended Action: None.

Problem: Permission denied in sysadmin_csps_regroute (CSCdu10017)

Problem Description: When the CSPS is started by "root" user, the sysadmin_csps_regroute tool cannot be run by any user other than the root or the one specified in the "User" and "Group" directives in sipd.conf file. This is because the file ownership of registry and routing database is replaced by the user specified in the sipd.conf file when the CSPS is run by root user.

Recommended Action: Run the sysadmin_csps_regroute as root user or the one specified in the sipd.conf file. This is only needed when the CSPS is to be started by the root user.

Problem: sysadmin_csps_regroute export says cannot access file (CSCdu10003)

Problem Description: When the CSPS is running as the root user, the registry and routing database are created in logs subdirectory with file ownership reassigned to the "User" and "Group" directives in sipd.conf file.

After the server is up and running, the sysadmin_csps_regroute can be run by the root user, but the eXport function is not allowed to access the directories not owned by the user specified in sipd.conf.

If the user uses sysadmin_csps_regroute, the user is still able to eXport the database contents to a file owned by the user specified in sipd.conf when the program is run as root.

For example, if the user specified is "nobody", sysadmin_csps_regroute will be able to eXport the contents to the logs directory since the logs directory is created by "nobody" during installation. If the specified user has a home directory, it also works.

Recommended Actions:

Try not to run CSPS as root as much as possible.

If CSPS is installed and run as root, use logs directory or a directory owned by the user specified in sipd.conf for eXporting.

Problem: Static_Registry_ContactAge needs to be specified as a timestamp (CSCdu07016)

Problem Description: When entering a static registration by using either sysadmin_csps_regroute or the provisioning system GUI, the directive Static_Registry_ContactAge needs to be specified as a timestamp value in terms of seconds since 1970. If a relative timestamp (e.g. 3600 for one hour) is used, it is accepted as a valid value. However, the contact expires immediately, since it is already more than one hour since 1970.

This is an issue if you do not use the default value of Permanent for Static_Registry_ContactAge and want to configure a specific expiration time.

Recommended Action: Compute the desired value as the number of seconds since 1970 and enter this value as the Static_registry_ContageAge.

Problem: Static routes need to have unique tags (CSCdu05953)

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 is ignored. An error message is printed only if DebugFlag directive under Cisco_Routing module is On.

For example the following two 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 provisioning system GUI can be used to add/update routes. 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.

Problem: Rolling No space left on device (CSCdu01816)

Problem Description: When the CSPS box runs out of disk space, the following rolling messages prints on the screen.

(10025|1) malloc:No space left on device
(10025|1) /opt/sip/libexec/../logs/registry_db:No space left on device

Recommended Action: Put /opt/sip in a big partition on the disk.

Problem: User agents on same box/different port disallowed (CSCdu00398)

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

Recommended Action: User agents should be running on a different system from the proxy.

Problem: Proxy does not accept calls after 150 cps stress (CSCdt87934)

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

Recommended Action: Increase the value of SharedMemorySize directive in sipd.conf file. To configure the total usable shared memory segment size, see the README.cisco file.

Problem: Route Farm - 500 Internal Server Error (CSCdt74891)

Problem Description: When multiple nodes of CSPS are sharing static routes in a farm mode, "500 Internal Server Error" response can be generated by the CSPS.

A "500 Internal Server Error" message is created at around the 800th call when 7,000 static routes shared by two CSPS farm members with incoming calls alternating between them.

Recommended Action: None.

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

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. They need to be manually modified if different file locations is used.

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

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

For example, to force sipd to read in the sipd.conf file from the user's home directory. Use the command sipd -f ~/sipd.conf

Problem: Looped Contact headers in 302 are forwarded upstream (CSCdt60611)

Problem Description: When the CSPS receives a Contact header in a 3xx response that has already been tried before, it detects it but does not invalidate that Contact. It forwards this Contact upstream, if it happens to be the best branch.

This occurs only if the proxy server is in non-recursive mode, that is, the value of directive Recursive is Off.

Recommended Action: Run the proxy server in Recursive mode, that is, the value of directive Recursive is On.

Problem: Log file check and verification needed for proxy server (CSCdt50814)

Problem Description: When the CSPS 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 CSPS continues to run but no logs is logged due to the deletion of the log files.

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

Problem: Add Registry/Routing Code changes to support TEL URL (CSCdt35294)

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. See the following example.

In "tel:1111;phone-context=919;phone-context=456", only 1111 is used for routing the call, like in sip:url. The additional fields are not used.

Also, 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>

Currently, there is no intelligence to change the number from "tel:392-8076;phone-context=919" to "tel:+1-919-392-8076".

Recommended Action: None

Problem: External entity failure causes reduced performance (CSCdt35155)

Problem Description: Server child processes have no means to communicate failures of external entities to the other child processes. A failure of an external entity such as radius, dns, subscriber database, is not communicated to all child processes.

Server performance can drop significantly, depending on the number of child processes being executed.

Recommended Action: Reduce the number of child processes.

Problem: The include directive does not work for some block configuration directives (CSCds73530)

Problem Description: Block configuration directives, <StaticRouteID> and <StaticRegistryID>, cannot be placed in a separate file and included in the sipd configuration file. Static routes and static registry entries must be defined in the main sipd.conf file

Recommended Action: None.

Problem: Static routes targets that are not resolvable are not processed (CSCds73342)

Problem Description: If a static route entry is not resolvable, it is not processed. For example, if two static routes to a target (919 ....) are configured as gw1.domain.com and gw2.domain.com and the gw1.domain.com route has a higher priority and weight, it is selected. However, if the attempt to resolve gw1.domain.com fails, the CSPS does not try the second route, gw2.domain.com. However, if gw1.cisco.com is resolvable but down, the CSPS will try the route until it has exhausted its retransmission attempts and then it will try gw2.domain.com.

Recommended Action: Ensure that the static route target entries are resolvable. Static routes should be IP address or names that can be resolved by a DNS lookup.

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

Problem Description: If the proxy server has been down for more than the value in Cisco_Routing_Max_DB_Age_on_Boot or Cisco_Registry_Max_DB_Age_On_Boot, the ServerRoot/logs/*.db files must be removed or cleaned. Otherwise, these values may be re-used if a farm member tries to "sync" in a farm mode.

Recommended Action: None.

Problem: sipdctl configtest does not work properly (CSCds53849)

Problem Description: The "sipdctl configtest" command is not supported. It does not accurately detect many syntax errors. Also, an incorrect line number is reported when a syntax error is detected.

Examples of errors that are not detected include misconfigurations in the <StaticRoute ID> and <StaticRegistry ID> block directives, and illegal values given in non-boolean directives.

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

Problem: Syntax error message line number is incorrect and only the first syntax error is reported (CSCds52504)

Problem Description: When a syntax error occurs in the sipd.conf file, the line number reported in the syntax error message is incorrect. The number that appears in the syntax error message is always the last line of the sipd.conf file instead of the line in which the error occurred. An example of such a config error would be an illegal value given for a valid directive. In addition, only the first syntax error in the sipd.conf file is reported.

Recommended Action: None.

Problem: Bug in TCB delete/recount interaction (CSCds42804)

Problem Description: This problem occurs when a sipd worker process with a Transaction Control Block (TCB) lock crashes after the age-off timer for that TCB has been started. This is likely to occur only during the handling of retransmitted requests or responses. The process that handles the age-off timer for this TCB hangs until restarted by the parent process. A process in this state cannot be identified.

Recommended Action: None.


Note This error has never been observed, but it is identified as possible.


Problem: CSPS does not support SIP message lines that exceed 1024 bytes (CSCds22652)

Problem Description: If an incoming SIP message has a header or Request-URI that exceeds 1024 bytes, the message may be rejected by the server with a 400 response.

Recommended Action: Ensure that messages with headers or Request-URIs greater than 1024 are not sent.

Problem: Static Registry config problems (CSCds07314)

Problem Descriptions: Each problem is listed as follows.

a. If action is specified against Static_Registry_Contact as follows,

<StaticRegistry 11>
Static_Registry_User     222
Static_Registry_Contact
12345678@dwilliams-linux.cisco.com;action=redirect
....

The contact information in the code will be as follows. "<sip:12345678@dwilliams-linux.cisco.com;action=redirect;user=phone>"

It is because the entry against Static_Registry_Contact is read as "user@host" inside the code.

The contact info in the code should be as follows. "<sip:12345678@dwilliams-linux.cisco.com;user=phone>;action=redirect"

Recommended Action: Do not specify any parameters in the Static_Registry_Contact line. It should only be in the "user@host" form.

b. Misspelled Contact_Age can cause the registry entry not being added. For example, if Contact_Age is specified as "Permat" instead of "Permanent", it will not be added.

Recommended Action: The Contact_Age directive needs to be spelled correctly.

c. Only one contact can be added for the same Static_Registry_User. For example, in the sipd.conf or sip_registry.conf file, the following two entries (entries 10.1 and 10.2) are listed.

<StaticRegistry 10.1>
Static_Registry_User_Type             IP
Static_Registry_User                  22945
Static_Registry_Contact               0019193922913@lmetzger-linux
Static_Registry_Contact_User_Type     PHONE
Static_Registry_ContactPort           5060
Static_Registry_TransportProtocol     UDP
Static_Registry_ContactAge            Permanent
Static_Registry_Delete_or_Add         ADD
</StaticRegistry>

and


<StaticRegistry 10.2>
Static_Registry_User_Type             PHONE
Static_Registry_User                  22945
Static_Registry_Contact               0019193922914@lmetzger-linux
Static_Registry_Contact_User_Type     PHONE
Static_Registry_ContactPort           5060
Static_Registry_TransportProtocol     UDP
Static_Registry_ContactAge            Permanent
Static_Registry_Delete_or_Add         ADD
</StaticRegistry>

The 10.2 entry will overwrite the 10.1 entry. Only "0019193922914@lmetzger-linux" will be stored for user 22945 regardless of the user type.

Recommended Action: None.

Problem: The CSPS does not support SIP and HTTP simultaneously (CSCdr67142)

Problem Description: The Cisco SIP Proxy cannot establish a TCP connection or initiate a HTTP transfer regardless of the specifications for Apache-specific configuration directives that would allow it to do so.

Recommended Action: None. If HTTP support is required, a separate copy of Apache Web Server must be loaded. However, to provide adequate performance and ease of administration, it is recommended that httpd and sipd to be run on separate systems.

Problem: shmem segment tmpnam files are not deleted (CSCdr61706)

Problem Description: Each time the CSPS is started, a file named filexxxxx.sem (where xxxxx is a random string) is created in the /tmp directory. These files do no cause any operational problems, but it is recommended to occasionally delete the files to eliminate clutter.

Recommended Action: None.

Problem: sipds die with no traffic if MaxRequestsPerChild is non-zero (CSCdy05175)

Problem Description: sipd child processes are periodically killed despite not handling MaxRequestsPerChild requests. This occurs if MaxRequestsPerChild is not zero.

Recommended Action: Set MaxRequestsPerChild to 0 to disable the periodic killing of the child sipds. Alternatively, set it to a value greater than the actual number of SIP requests it should handle prior to being killed. For example, set it to 100,000 or 1,000,000 to have the sip children killed more, such as hours or days.

Problem: Static registry not added into mysql when importing (CSCdy05191)

Problem Description: When regroute tool is used to import registration, it is not added into mysql. Recommended Actions:

a. Import registration into shared-memory (registry_db)—run sysadmin_csps_regroute and choose option -i to import registry.

b. Export registry info into mysql database—run sysadmin_csps_regroute and choose option -p to export registry into mysql.

Problem: MySQL will not install if SNMP just started (CSCdy05850)

Problem Description: MySQL installation fails with the following error message displayed.

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

This occurs when MySQL installation is started immediately after starting ciagent. It is because 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 approximately 30 seconds before installing MySQL.

Amendments to the Documentation

This section contains information that was not included in the Cisco SIP Proxy Server Administrator Guide, Version 2.0 or the CD Installation Guide for the Cisco SIP Proxy Server (CSPS) on Linux.

Installing the Cisco SIP Proxy Server (CSPS) Software

The installation procedure documented in the Installing the CSPS Software section describes how to install the CSPS in such a manner that it will run as root when started.

The CSPS needs to be installed by root user. After the server is installed, the root user can change the ownership of the sipd.conf file in the conf subdirectory so that a permitted user can change the server configuration. By default, the directory permission to logs subdirectory is set to 777, this allows any user to run the CSPS.The server administrator can change the permission by issue the UNIX command chmod.

Also, the CSPS on Linux image names as they appear on the product CD is CSPS-2.0-linux.i386.rpm.

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.