SIP Protocol User Guide (Release 4.5.x)
Chapter 1: SIP Devices Support Overview

Table Of Contents

SIP Devices Support Overview

SIP Roles Played by Cisco BTS 10200 Softswitch

Limitation On Treatment of Transient Calls

SIP Phone Registrar

User Agent Client and User Agent Server

Back-to-Back User Agent

SIP Subscriber Features

New or Enhanced SIP Subscriber Features for Release 4.5.x

Other Common Subscriber Features

Phone-Based Features

Jointly-Provided Features

SIP Trunk Features

Limitations on Number of URLs, Parameters, and Headers (Release 4.5.1, Maintenance Release 2)


SIP Devices Support Overview


Revised: May 3, 2007, OL-5352-12

The purpose of this guide is to detail the Session Initiation Protocol (SIP) device support, and the changed trunk support in Release 4.5.x. Support for SIP trunks existed in previous releases of the Cisco BTS 10200 Softswitch, but support for SIP devices was new in Release 4.1. The user guide covers areas impacted by the SIP feature, and is an addition to the existing Cisco BTS 10200 Softswitch documentation.


Note The term "SIP devices" refers to Cisco ATA 186/188 adaptors, and to Cisco IP phones.


The SIP support feature provided in Release 4.5.x was built on the existing Cisco BTS 10200 Softswitch software and hardware platform. The user guide describes the features and protocol changes in Cisco BTS 10200 Release 4.5.x for supporting SIP trunks and subscribers.

The Cisco BTS 10200 Softswitch complex includes a Call Agent (CA), Feature Server (FS), Element Management System (EMS), and an optional HTTP feature server (HTTP-FS) which is comprised of a GUI Feature Server (GUI-FS) and Mini-Browser Adapter (MBA). In this book, all references to the term "Cisco BTS 10200" refer to the Call Agent unless otherwise specified.

SIP protocol support for subscriber features is provided by the Call Agent and the POTS Feature Server.

The Cisco BTS 10200 Softswitch uses SIP and SIP for telephones (SIP-T) signaling to communicate with other SIP-based network elements. The implementation is based upon the evolving industry standards for SIP, including IETF document RFC 3261, SIP: Session Initiation Protocol. The Cisco BTS 10200 Softswitch supports both SIP trunks and SIP-based subscriber lines (SIP devices), and provides the following SIP-related functions:

Protocol conversion between SIP and several other protocols, including SS7, PRI, ISDN, H.323, MGCP, and CAS.

Tandem back-to-back user agent for direct SIP-to-SIP calls (trunk to trunk, phone to phone, and trunk to/from phone), and SIP-to-SIP-T calls.

SS7 bridging between Softswitches using SIP-T methods.

Native support of SIP endpoints such as SIP phones, including authentication and registration management. (For example, the Cisco BTS 10200 Softswitch maintains the current location of SIP subscribers.)

The Cisco BTS 10200 Softswitch provides billing data for SIP calls. Specific fields are supported in the call detail records for calls that originate or terminate on a SIP trunk or subscriber. For detailed information on these fields, including billing management and data, refer to the Cisco BTS 10200 Softswitch Billing Interface Guide.

SIP Roles Played by Cisco BTS 10200 Softswitch

Figure 1-1 shows the new Cisco BTS 10200 Softswitch architecture with native support for SIP phone subscribers. In addition to its existing capabilities, in this new architecture, Cisco BTS 10200 provides Registrar (with SIP user authentication) services.

The Cisco BTS 10200 Softswitch supports call processing for SIP trunks and phone users. As a result of native SIP subscriber support, SIP subscribers can use features formerly available only to MGCP subscribers.

For a comparison of the MGCP and SIP feature support, see "MGCP Features vs. SIP Features."

Figure 1-1 Cisco BTS 10200 Softswitch Network Architecture

SIP roles performed by the Cisco BTS 10200 Softswitch include:

User agent server (UAS)

User agent client (UAC)

Registrar


Note The Cisco BTS 10200, as part of the Back-to-Back functionality, plays the role of the UAS and UAC.


Most features provided by the SIP phones comply with LATA Switching Systems Generic Requirements (LSSGR), depending on the phone implementation and capabilities. Due to the nature of the SIP protocol, however, your experience with a feature may differ from what is documented in the LSSGR for that feature.

Limitation On Treatment of Transient Calls

If the active Call Agent experiences a problem and switches over to the standby side, stable calls are preserved. However, calls that are in a transient state (call setup is not complete) might be dropped or improperly set up. During a Call Agent switchover, the Cisco BTS 10200 Softswitch cannot complete call setup for these transient calls.

Transient calls and inactive connected calls originated on the Cisco BTS 10200 Softswitch are cleaned up through a periodic audit mechanism that runs once per hour. The frequency of this audit can be modified. However, changing this requires careful consideration to avoid adverse effects on call processing. Contact Cisco TAC if you have identified a need to change this frequency.

SIP Phone Registrar

SIP Register support enables SIP devices to be served by Cisco BTS 10200 directly without a proxy. The Cisco BTS 10200 acts as a Registrar and authenticates the SIP request.

To initiate a session with a SIP phone, Cisco BTS 10200 must know the current address of the phone. Registration creates bindings in a location service for a particular domain that associate an address-of-record Uniform Resource Identifier (URI) with one or more contact addresses. A user notifies its availability at the address provided in the contact for the specified duration.

The SIP phone registers with Cisco BTS 10200, setting up a binding between the Address of Record (AOR) and its contact address. The registration is valid for a period of time until it expires.

Figure 1-2 demonstrates the SIP phone Registrar function.

Figure 1-2 SIP Phone Registrar Function

Cisco BTS 10200 supported SIP subscribers with SIP phones starting in Release 4.1. SIP users register with Cisco BTS 10200 and originate calls through Cisco BTS 10200. To identify the SIP user, Cisco BTS 10200 uses the challenge-based Digest Access Authentication.

User Agent Client and User Agent Server

The User Agent is a SIP endpoint (such as a phone or a gateway). In this scenario, the User Agent is software running on the endpoint to enable SIP service.

The User Agent can work either as a client or server. When a call is placed, the User Agent Client (UAC) places the request, and the User Agent Server (UAS) services the request and sends a suitable response. The roles change continually, however; for example, with call hold, either user can put the other user on hold.

Figure 1-3 shows the Cisco BTS 10200 working as a UAC, sending out a call request.

Figure 1-3 User Agent Client

Figure 1-4 shows the Cisco BTS 10200 working as a UAS, accepting a call request.

Figure 1-4 User Agent Server

Back-to-Back User Agent

The back-to-back user agent acts as a UAC and UAS for a single call. It keeps the two call segments separate on the Cisco BTS 10200 Softswitch. Typically, a proxy routes a call, but does not act as a User Agent. The Cisco BTS 10200 acts as a User Agent. In a call between two SIP endpoints (such as SIP phone or SIP trunk), Cisco BTS 10200 terminates the originating half of the call, playing the UAS role, and then sets up the terminating half of the call as a UAC.


Note There is no provisioning associated with the back-to-back functionality. The Cisco BTS 10200 automatically acts as a back-to-back user agent for a SIP to SIP call.


Figure 1-5 shows the Cisco BTS 10200 working as a back-to-back user agent.

Figure 1-5 Back-to-Back User Agent Server

Figure 1-5 shows the call flow for registration.

Figure 1-6 Call Flow for Registration

Figure 1-7 shows the call flow for a back-to-back User Agent.

Figure 1-7 Back-to-Back User Agent Call Flow with Authentication

SIP Subscriber Features

SIP Subscriber features are categorized as follows:

Cisco BTS 10200 Softswitch-Based Features—These are provided entirely by the Cisco BTS 10200, and require suitable provisioning of the Cisco BTS 10200.

Phone-Based Features—These are provided exclusively by the phone, which require provisioning on the phone.

Jointly-Provided Features—These are provided jointly. The features are provided partly by the phone's capability, and partly by Cisco BTS 10200 capabilities. To use these features, you must provision both the phone and the Cisco BTS 10200.

New or Enhanced SIP Subscriber Features for Release 4.5.x

Table 1-1 lists the new or enhanced SIP features supported in Release 4.5.x.

Table 1-1 New Cisco BTS 10200 Softswitch-Based SIP Features

SIP Feature
Description
For More Information

T.38 Fax Relay Call Agent Controlled Mode Across SIP Trunk Interface

In previous releases, Cisco BTS 10200 partially supported T.38 fax relay call agent controlled mode in MGCP and H.323 trunk interfaces. Release 4.5.x offers supports for the PacketCable environment, as well as extending T.38 fax support to SIP, NCS, and TGCP trunk interfaces.

Refer to the T.38 Fax Relay feature module.

Secure Provisioning for SIP Endpoints

Enhanced SIP Registration was added to Release 4.5.x to ensure that a SIP REGISTER message to the Cisco BTS 10200 is from a provisioned endpoint. The feature also ensures that the source IP address and contact parameter for all originating calls is from the provisioned SIP endpoint, and that no calls can originate from an unregistered endpoint.

Refer to the Secure Provisioning for SIP Endpoints feature module.

SIP Session Timers

SIP Session Timer values configured prior to Release 4.5.x are reset to the default values after upgrading to Release 4.5.x.

Refer to SIP Timer Values for an overview description.

For provisioning information, refer to Session Timers in the Cisco BTS 10200 SIP Provisioning Guide.

SIP Dynamic Memory Audit

Refer to SIP Dynamic Memory Audit for a more in-depth description.

Also, refer to the Activity table section in the Cisco BTS 10200 Command Line Interface Reference Guide.

SIP Transport

When a 503 response is received, the entity receiving the response proceeds by submitting the same request as a new transaction (with new branch ID) to the next IP address in the SRV list. Previously, when SIA received the 503 response, it tore down the call.

As a result, some calls may not have completed if one of the nodes in an SRV list returned the 503, while other nodes in the list were capable of handling the request successfully.

If an SRV server receiving the INVITE does not respond within the retransmission timer period, this enhancement allows for configuring the Cisco BTS 10200 to send the next retransmission of the same request to either the same server (as recommended in RFC3263) or the next server in the SRV list (legacy Cisco BTS 10200 behavior) using a provisionable flag DNS_SRV_ADV_ON_RETRANS_TIMEOUT on the SOFTSW-TG-PROFILE table.

 

INVITE Retries Are Configurable

The SIP protocol adapter enables the configuration of the number of INVITE and non-INVITE retries on timer expiry (instead of the fixed 6), and also makes the retry timers configurable. This improves route advancing and completes calls more quickly if one IP address is down.

SIP timers are configurable on a per trunk basis, or on a system wide basis for all non-trunk messages. The number of retries and retry interval could be tuned using RFC3261 timers. The guidelines and recommendations on configuring SIP timers will be available in the Cisco BTS 10200 SIP Protocol User Guide.

The timers are configurable on a global basis through the Softswitch Trunk Group Profile (SOFTSW Trunk Group Profile) and Call Agent Configuration (CA-CONFIG) tables.

Refer to the SOFTSW Trunk Group Profile and CA-CONFIG sections in the Cisco BTS 10200 Command Line Interface Reference Guide.

SIP Retry

SIP responses received from a Re-Invite or Update sent during an active call that contain a Retry-After header invoke the SIA retry mechanism. Currently, this includes only the SIP 500 class response. The check has been expanded to include other responses.

 

SIP Stack Message Size

Previous to Release 4.5.x, the SIP stack could only send and receive messages up to 1500 bytes in size from the network. If a message was bigger than 1500 bytes, only the first 1500 bytes were read and parsed.

Release 4.5.x fixes the limitation imposed on the maximum size of the SIP messages which can be sent or received. The SIP stack can now receive/send SIP messages up to 3000 bytes in size.

 

SIP Trunk Hop Counter

The SIP Trunk Hop Counter feature was added into Cisco BTS 10200 Release 4.1, but was not provisionable. However, the feature's provisionable components are available in Release 4.5.x, and are provisionable using the SOFTSW Trunk Group Profile table:

HOP-COUNTER-MAX

HOP-COUNTER-SUPP

MAX-FORWARDS

Note Seven SIP hops are equivalent to one SS7 hop.

For more information, refer to the SOFTSW Trunk Group Profile section in the Cisco BTS 10200 Command Line Interface Reference Guide.

Cisco BTS 10200 Sends SDP for SIP Call When rbk=N for Call Waiting

When a SIP call inbound to the Cisco BTS 10200 is routed to a local subscriber, and this call causes "call waiting" at the subscriber, the originator is provided local ringback indication. However, in this case, the SIP interface was providing remote ringback indication. This may result in the originator not hearing ringback or possibly the discussion of the other dialog.

The SIP interface was corrected to provide local ringback.

 

SIA Diversion Header

Previously, when one diversion header was received in the initial SIP Invite message, the Original Called Number (OCN) was populated. To be consistent with other adapters, the value is now copied to the Redirect Number (RDN) as well.

 

SIP Outbound Numbers Require +CC Depending on NOA

RFC 3398 states that any outbound SIP number with NOA of NATIONAL must be prefixed with "+CCnumber" which is an international format, and any number with NOA=subscriber must be formatted also with international significance. This was not done in previous releases.

Sending Full E.164 is enabled by a flag in softsw-tg-profile to enable interworking with downstream devices that require this number format.

 

SIP Stack

SIP message loop detection was removed in Release 4.5.x. Previously, the SIP stack did not allow receipt of an un-changed Request URI on hairpinned INVITEs. This required the entity that was hairpinning the SIP call back to Cisco BTS 10200 to modify the user portion of the Request-URI, so that Cisco BTS 10200 does not detect a loop.

Since adding the Digman feature, the digit manipulation is performed within Cisco BTS 10200, thereby preventing a requirement for this check. As such, this check is a configurable option that can be toggled through SIA's configuration file for SIP stack.

 

DOMAIN-NAME Verified on SIP INVITE Messages

SIP INVITE messages are now validated. This helps detect invalid provisioning or configuration, as well as providing a basic check against intrusion from unauthorized call-agents.


Note This is applicable to the CP environment only.


An alarm is generated when an invalid SIP INVITE is detected due to an invalid domain name. The event is corrected with the following steps:

1. Verify the provisioned domain name and the one used by SIM to process the command-line parameter.

2. Verify the message source, whether it is on-net request or a potential unspoofed intrusion attempt.

A "403 FORBIDDEN MSG" is returned in response to an "INVITE MSG" from an unauthorized/unrecognized CP. The CP processes the call as a basic call.

Due to a change in the Logical IP Migration feature, this feature is suppressed by default in Release 4.5.x. To turn on the DOMAIN NAME validation feature, use the -enable_dnv option included in Args= of the platform.cfg for POTS and ASM.

 

SIP Stack Attempts Next Address If TCP Connection Fails for INVITE

When provisioning a SIP trunk-grp, the SOFTSW_TSAP_ADDR is usually set to a FQDN that resolves to two or more IP addresses for the destination SIP endpoint(s). Prior to Release 4.5.x, when transmitting a SIP request, if the NON_SRV_TRANSPORT of the softsw-tg-profile is set to TCP and there is a failure to communicate with the first IP address of the FQDN, then no other IP address is tried.

In Release 4.5.x, the software has been enhanced so that each of the IP addresses that the FQDN resolves to is tried in succession when there is a failure to communicate with the destination SIP endpoint.


Note This functionality has always worked when UDP is the selected transport.


 

SIA Authentication

This is an enhancement for efficient lookup while processing requests targeted for SIP subscribers. It involves internal caching of the Serving Domain Name of the user sending a SIP request and using it for subsequent messages instead of doing a separate table lookup for each request.

 

SIP NOTIFY Rejected from Unity

In previous releases, if a request was received from a trunk that had the same domain name as the Cisco BTS 10200 serving domain name in the from header, the call failed, and the MWI Notify from Unity was rejected.

This is resolved in Release 4.5.x. In Release 4.5.x, it performs the trunk identification before subscriber identification, and thus identifies the trunk correctly.

 

Change Counter Names to SIS and SIP for Release 4.5.x Measurements

The PEG Counters names were changed to match industry terminology. There are two types of SIP counters, those used by multiple stacks related to SIP, and those used by the SIP Adapter.

The Cisco BTS 10200 documentation uses the new names for several counters. In Release 4.5.x:

1. SIP common counters now begin with SIS_ instead of SIP_ for the SIA, SIM, POTS, and AIN categories.

2. SIA-specific counters now begin with SIA_ instead of SIP_.

3. AUDIT_SIP counters in the SIA category now begin with SIA_AUDIT instead.

 

Table 1-2 lists the SIP subscriber features introduced in previous releases of 4.x.

Table 1-2 Cisco BTS 10200 Softswitch-Based SIP Features

SIP Feature
Acronym

Call forwarding deluxe activation

CWDA

Call forwarding deluxe deactivation

CWDD

Call forwarding deluxe interrogation

CWDI

Call forwarding on busy variable activation

CFBVA

Call forwarding on busy variable deactivation

CFBVD

Call forwarding on busy interrogation

CFBI

Call forwarding on no answer variable activation

CFNAVA

Call forwarding on no answer variable deactivation

CFNAVD

Call forwarding on no answer interrogation

CFNAI

Call forwarding unconditional activation

CFUA

Call forwarding unconditional deactivation

CFUD

Call forwarding unconditional interrogation

CFUI

Do Not Disturb activation

DND_ACT

Do Not Disturb deactivation

DND_DEACT

Anonymous call rejection activation

ACR_ACT

Anonymous call rejection deactivation

ACR_DEACT

Calling identity delivery and suppression (per call)—suppression part

CIDSS

Calling identity delivery and suppression (per call)—delivery part

CIDSD

Calling name delivery blocking

CNAB

Outgoing call bearing activation

OCBA

Outgoing call bearing deactivation

OCBD

Outgoing call barring interrogation

OCBI


Other Common Subscriber Features

Table 1-3 lists the most-commonly used existing subscriber features, some of which have been enhanced or modified for use by the Cisco BTS 10200 with the SIP protocol.


Note Table 1-3 lists the most commonly used Softswitch-based features; however, it is not an exhaustive list.


Table 1-3 Most Common Cisco BTS 10200 Softswitch-Based Features

Feature
Acronym

Activation and Deactivation of Anonymous Call Rejection

ACR

Billing

 

Call Forwarding

CF

Calling Name and Number Delivery

CND

Caller ID Suppression

CIDS

Called Party Termination

CPT

Cisco BTS 10200 Supplementary Vertical Service Code Features

VSC

Customer Access Treatment

CAT

Customer-Originated Trace

COT

Direct Inward Dialing

DID

Direct Outward Dialing

DOD

Do Not Disturb

DND

Emergency Call

E911

E.164 and Centrex Dialing Plan (Extension Dialing)

E.164

Incoming and Outgoing Simulated Facility Group

ISFG and OSFG

Interworking

 

Multiple Directory Numbers

MDN

Operator Services (0-, 0+, 01+, 00 Calls)

 

Outgoing Call Barring

OCB

Remote Activation of Call Forwarding

RACF

SIP Endpoint Caveats

 

SIP Subscriber to SIP Calls

 

Type of Service

TOS


Phone-Based Features

Table 1-4 lists the phone-based features.

For more information about these features, see the Cisco BTS 10200 Softswitch Network and Subscriber Feature Descriptions document.

.

Table 1-4 Phone-Based Features

Feature
Acronym

Call Hold and Resume

CHD

Call Waiting

CW

Cancel Call Waiting

CCW

Three-Way Calling

TWC

Call Waiting Caller ID

CWCID

CODEC Up-Speeding

CODEC

Do Not Disturb

DND


For features (such as DND) that are available independently on the phones and the Cisco BTS 10200 Softswitch, you can provision either device to enable the feature.


Caution When provisioning features that are available independently on the switch and the phone, use caution to avoid conflicts between the two.

Jointly-Provided Features

Table 1-5 lists the most commonly used jointly-provided based features.

For more information about these features, see the Cisco BTS 10200 Softswitch Network and Subscriber Feature Descriptions document.

Table 1-5 Jointly-Provided Features

Session Timer

Reliable Provisional Responses

Text-GUI Features

Call Transfer (Blind and Attended)

Distinctive Ringing

Distinctive Ringing for Centrex DID Calls


SIP Trunk Features

The SIP Trunk features supported by Release 4.2 are listed in Table 1-6. For more information about the features, see "SIP Protocol Trunk Features."

Table 1-6 SIP Trunk Features

Feature
Acronym

Call Redirection

 

DNS SRV

 

Type of Service

ToS

Reliable Provisional Responses

 

Diversion Indication

 

Carrier Identification Code over SIP

CIC

Number Portability Information over SIP

NP

Voice-Mail over SIP: Message Waiting Indication

MWI

Voice-Mail over SIP: Cisco BTS 10200 Centrex Subscribers

 

SIP Trunk Sub-Groups

 

Session Timer

 

SIP-T

 

DTMF SIP Signaling

 

Asserted Identity

 

Third-Party Call Control

3PCC

ANI-Based Routing

 

TCP/UDP

 

Business Group ID

BGID

Trunk Group ID

TGID


Limitations on Number of URLs, Parameters, and Headers (Release 4.5.1, Maintenance Release 2)

The system imposes limits on the decoding of incoming SIP messages. These limits are applicable to both subscriber-related and trunk-related incoming SIP messages. These limitations are intended to protect the system from decoding extremely large messages, which in turn could overload the system and cause performance problems.


Note These limits are not provisionable. If you need to change any of these limits, contact your Cisco account team.


Table 1-7 lists the limits related to URL and ReqUri.

Table 1-7 Limits on URL and ReqUri 

Description
Limit

Maximum number of URLs (SIP+Tel+Unknown) in a SIP message

25

Maximum number of parameters in the ReqUri of a message

10

Maximum number of header parameters (parameters occurring after "?" character) in the Requset-URI of a message

5

Maximum number of parameters in a SIP URL

10

Maximum number of header parameters (parameters occurring after "?" character) in a SIP URL

5

Maximum number of parameters in a Tel URL

5


Table 1-8 lists the maximum number of parameters allowed in each type of SIP message header.

Table 1-8 Maximum Number of Parameters Allowed in SIP Message Headers 

Header Name
Maximum Number of Parameters Allowed in Header

Contact

10

Via

10

Route

5

Record-Route

5

Diversion

10

Call-Info

5

Alert-Info

5

Error-Info

5

P-Asserted-Identity

5

Accept-Contact

5

To

5

From

5

Referred-By

5

Refer-To

5


Table 1-9 lists the maximum number of unknown Option tags of a specified kind in a SIP message.

Table 1-9 Maximum Number of Unknown Option Tags in SIP Message 

Message
Maximum Number of Unknown Option Tags Allowed

Supported

5

Unsupported

5

Require

5


Table 1-10 lists the maximum number of parameters allowed in each type of SIP message header.

Table 1-10 Maximum Number of Parameters Allowed in SIP Message Headers 

Header Name
Parameter Type
Maximum Number of Parameters Allowed in Header

Replaces

All parameters

5

Event

All parameters

5

Reason

All parameters

5

Accept

All parameters

5

Session-Expires

All parameters

5

Min-SE

All parameters

5

Warnings

All parameters

5

Accept-Language

Number of languages in the Accept-Language header

5

Accept-Language

Language parameters

5

Accept-Encoding

All parameters

5

Authorization

All parameters

15

Retry-After

All parameters

5


Table 1-11 lists the maximum number of headers allowed in a SIP message.

Table 1-11 Maximum Number of Headers Allowed in a SIP Message 

Header Name
Maximum Number of Headers Allowed

Contact

5

Via

5

Route

5

Record-Route

5

Diversion

5

Call-Info

5

Alert-Info

5

Error-Info

5

P-Asserted-Identity

5

Contact

5

To

1

From

1

Call-ID

1

CSeq

1

Session-Expires

1

Min-SE

1

Referred-By

1

Refer-To

1

Replaces

1

Allow-Events

5

Event

1

Reason

5

Accept

5

Accept-Encoding

5

Authorization

1

Retry-After

1