Cisco 7600 Series Routers Session Border Controller Configuration Guide
SIP 3xx Redirect Responses

Table Of Contents

SIP 3xx Redirect Responses

Contents

Information About 3xx Redirect Responses in SIP

3xx Responses

Diversion Headers

How to Configure SBC to Process SIP 3xx Responses

Configuring SBC to Process SIP 3xx Responses

Examples of Configuring SBC to Process SIP 3xx Responses


SIP 3xx Redirect Responses


This section describes how the Session Border Controller (SBC) can be configured to process Session Initiation Protocol (SIP) 3xx responses. 3xx is a class of the response code used in SIP to indicate that further action needs to be taken in order to complete the request. The sender of the request should retry the request, using one or more alternative Uniform Resource Identifiers (URIs), which are presented in the 3xx response.


Note For ACE SBC Release 3.0.00, this feature is supported in the unified model only.


Feature History for SIP 3xx Redirect Responses

Release
Modification

ACE SBC Release 3.0.00

This feature was introduced on the Cisco 7600 series router along with support for the SBC unified model.


Contents

This module contains the following sections:

Information About 3xx Redirect Responses in SIP

How to Configure SBC to Process SIP 3xx Responses

Examples of Configuring SBC to Process SIP 3xx Responses

Information About 3xx Redirect Responses in SIP

This section contains the following subsections:

3xx Responses

Diversion Headers

3xx Responses

3xx responses are usually only expected in session-initiating requests, INVITEs. However, the SIP specification does not preclude sending 3xx responses for other request types. A number of alternative URIs are supplied on the 3xx responses in Contact headers.

The 3xx class of responses includes any response code in the range of 300-399 and indicates a redirection of the call. The redirection requires further action to be taken to complete the request. The following 3xx response codes are defined in SIP.

300 Multiple Choices. The address in the request resolved to several choices, each with its own specific location. The user or user agent (UA) can select a preferred communication end point and redirect the request to that location.

The response may include a message body containing a list of resource characteristics and location(s), from which the user or UA can choose the most appropriate one, if allowed by the Accept request header field. However, no MIME types have been defined for this message body.

The choices should also be listed as Contact fields. The response may contain several Contact fields or a list of addresses in a Contact field. UAs may use the Contact header field value for automatic redirection or ask the user to confirm a choice.

301 Moved Permanently. The user can no longer be found at the address in the Request-URI, and the requesting client should retry at the new address given by the Contact header field. The requestor should update any local directories, address books, and user location caches with this new value, and redirect future requests to the addresses listed.

302 Moved Temporarily. The requesting client should retry the request at the new address(es) given by the Contact header field. The Request-URI of the new request uses the value of the Contact header field in the response.

The duration of the validity of the Contact URI can be specified through an Expires header field or an Expires parameter in the Contact header field. Both proxies and UAs may cache this URI for the duration of the expiration time. If there is no explicit expiration time, the address is valid only once for recursing, and must not be cached for future transactions.

If the URI cached from the Contact header field fails, the Request-URI from the redirected request may be tried again only once.

305 Use Proxy. The requested resource must be accessed through the proxy given by the Contact field. The Contact field gives the URI of the proxy. The recipient is expected to repeat this single request via the proxy. 305 responses must only be generated by the user agent servers (UASs).

380 Alternative Service. The call was not successful, but alternative services are possible. The alternative services are described in the message body of the response. There are no formats currently defined for this information.

In each case, the request should be retried to one of the supplied alternative URIs. The request can be retried by either the originating UA, or by an intermediate back-to-back user agent (B2BUA) or proxy on behalf of the originating UA (and without notifying it).

SBC is a B2BUA, and, therefore, in some deployments it may be necessary for SBC to retry the request instead of sending a negative response back to the initiator of the request.

Diversion Headers

The Diversion header enables the called SIP user agent to identify from whom the call was diverted and why it was diverted. The header notifies the original caller:

That the call has been redirected to a destination that differs from the original target

The number to which the call has been redirected

The reason for the redirection

The diversion header is attached by networking elements that change the final destination of a request.

How to Configure SBC to Process SIP 3xx Responses

This section contains the steps for configuring SBC to process SIP 3xx responses.

Configuring SBC to Process SIP 3xx Responses

SUMMARY STEPS

1. configure

2. sbc sbc-name

3. sbe

4. adjacency sip adjacency-name

5. redirect-mode mode

6. attach

7. exit

8. redirect-limit limit

9. exit

10. show services sbc sbc-name sbe adjacencies

11. show services sbc sbc-name sbe redirect-limit

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

configure

Example:

host1/Admin# configure

Enables global configuration mode.

Step 2 

sbc service-name

Example:

host1/Admin(config)# sbc mysbc

Enters the mode of an SBC service.

Use the service-name argument to define the name of the service.

Step 3 

sbe

Example:

host1/Admin(config-sbc)# sbe

Enters the mode of the signaling border element (SBE) function of the SBC.

Step 4 

adjacency sip adjacency-name

Example:

host1/Admin(config-sbc-sbe)# adjacency sip SipToIsp42

Enters the mode of an SBE SIP adjacency.

Use the adjacency-name argument to define the name of the service.

Step 5 

redirect-mode mode









Example:

host1/Admin(config-sbc-sbe-adj-sip) redirect-mode recurse

Configures the behavior of the SBC on receipt of a 3xx response to an INVITE from the SIP adjacency.

redirect-mode pass-through—SBC passes all 3xx responses back to the caller (the default mode).

redirect-mode recurse—On 300, 301, 302, and 305 INVITE responses (under the redirect-limit, see Step 8), SBC resends the INVITE to the first listed contact address. Otherwise, SBC passes 3xx responses back.

no redirect-mode—The no version of this command returns the adjacency to the default behavior.

Step 6 

attach

Example:

host1/Admin(config-sbc-sbe-adj-sip)# attach

Attaches the adjacency.

Step 7 

exit

Example:

host1/Admin(config-sbc-sbe-adj-sip)# exit

Exits the adjacency-sip mode and returns to the SBE mode.

Step 8 

redirect-limit limit





Example:

host1/Admin(config-sbc-sbe)# redirect-limit 4

Configures the maximum number of redirections that the SBC performs on a given call.

redirect-limit limit—A numeric value, the maximum number of redirections performed before the call is failed (the range is 0-100, the default is 2).

no redirect-limit—The no version of this command returns the adjacency to the default behavior.

Step 9 

exit

Example:

host1/Admin(config-sbc-sbe)# exit

Exits the SBE mode.

Step 10 

show services sbc sbc-name sbe adjacencies

Example:

host1/Admin(config-sbc)# show services sbc mysbc sbe adjacencies

Lists the adjacencies configured on SBEs.

Step 11 

show services sbc sbc-name sbe redirect-limit

Example:

host1/Admin(config-sbc)# show services sbc mysbc sbe redirect-limit

Displays the current limit on the maximum number of redirections a call can undergo.

Examples of Configuring SBC to Process SIP 3xx Responses

This section provides two simple configurations for processing SIP 3xx responses on the SBC.

The following command configures the adjacency "SipToIsp42" to recurse on 300, 301, 302, and 305 INVITE responses.

host1/Admin(config)# sbc mySbc sbe adjacency sip SipToIsp42
host1/Admin(config-sbc-sbe-adj-sip)# redirect-mode recurse
host1/Admin(config-sbc-sbe-adj-sip)# end

The following command configures the SBE to perform maximum 4 SIP 3xx redirections per call.

host1/Admin(config)# sbc mySBC 
host1/Admin(config-sbc)# sbe 
host1/Admin(config-sbc-sbe)# redirect-limit 4 
host1/Admin(config-sbc-sbe)# end