Cisco Unified Border Element Configuration Guide
SIP - Gateway Support for the bind Command
Downloads: This chapterpdf (PDF - 96.0KB) The complete bookPDF (PDF - 4.0MB) | Feedback

SIP—Gateway Support for the bind Command

Table Of Contents

SIP—Gateway Support for the bind Command

Prerequisites

Information About SIP —Gateway Support for the bind Command

How to Configure SIP—Gateway Support for the bind Command

Verifying and Troubleshooting Tips

Configuration Examples for SIP —Gateway Support for the bind Command


SIP—Gateway Support for the bind Command

The Gateway Support for the bind Command feature introduces the bind command, which allows you to configure the source IP address of signaling packets or both signaling and media packets. Before this feature was introduced the source address of a packet going out of a Cisco IOS gateway is not deterministic. The session protocols and VoIP layers depended on the IP layer to give the best local address and then used the address for the source address in signaling or media or both, even if multiple interfaces can support a route to the destination address.

Prerequisites

Cisco Unified Border Element

Cisco IOS Release 12.2(8)T or a later release must be installed and running on your Cisco Unified Border Element.

Cisco Unified Border Element (Enterprise)

Cisco IOS XE Release 2.5 or a later release must be installed and running on your Cisco ASR 1000 Series Router.

Information About SIP —Gateway Support for the bind Command

Prior to the Gateway Support for the bind Command feature the source address of a packet going out of the gateway was never deterministic. That is, the session protocols and VoIP layers always depended on the IP layer to give the best local address. The best local address was then used as the source address (the address showing where the SIP request came from) for signaling and media packets. Using this nondeterministic address occasionally caused confusion for firewall applications, because a firewall could not be configured with an exact address and would take action on several different source address packets.

The bind interface command allows you to configure a specific interface's IP address as the source IP address of signaling and media packets. The address that goes out on the packet is bound to the IP address of the interface specified with the bind command. Packets that are not destined to the bound address are discarded.

When you do not specify a bind address, or if the interface is down, the IP layer still provides the best local address.

With the bind command, SIP signaling and media paths can advertise the same source IP address on the gateway for certain applications, even if the paths use different addresses to reach the source. This eliminates confusion for firewall applications that, Without the binding, may have taken action on several different source address packets.

Table 1 lists the results of the bind command based on the state of the interface.

Table 1 Command functions for the bind command based on the state of the interface 

Interface State
Result Using Bind Command

A bind interface is shut down, or its IP Address is changed, or the physical cable is pulled while SIP calls are active

The call becomes a one-way call with media flowing in only one direction. It flows from the gateway where the change or shutdown took place to the gateway where no change occurred. Thus, the gateway with the status change no longer receives media.

The call is then disconnected, but the disconnected message is not understood by the gateway with the status change, and the call is still assumed to be active.

No Shutdown—With no active calls.

The TCP and UDP socket listeners are initially closed. (Socket listeners receive datagrams addressed to the socket.)

Then the sockets are opened and bound to the IP address set by the bind command.

The sockets accept packets destined for the bound address only.

No Shutdown —With active calls.

The TCP and UDP socket listeners are initially closed.

Then the sockets are opened to listen to any IP address.

Shutdown —With or without active calls.

The TCP and User Datagram Protocol (UDP) socket listeners are initially closed. (Socket listeners receive datagrams addressed to the socket.)

Then the sockets are opened to listen to any IP address.

If the outgoing gateway has the bind command enabled and has an active call, the call becomes a one-way call with media flowing from the outgoing gateway to the terminating gateway.

The Bound interface's IP address is removed

The TCP and UDP socket listeners are initially closed.

Then the sockets are opened to listen to any address, because the IP address has been removed.

A message stating that the IP address has been deleted from SIP bound interface is displayed.

If the outgoing gateway has the bind command enabled and has an active call, the call becomes a one-way call with media flowing from the outgoing gateway to the terminating gateway.

The physical cable is pulled on the bound port, or the Interface layer goes down

The TCP and UDP socket listeners are initially closed.

Then the sockets are opened and bound to listen to any address.

When the pulled cable is replaced, the result is as documented for no shutdown interfaces.



Note If there are active calls, the bind command will not take effect if it is issued for the first time or if it is issued while another bind command is in effect. A message is displayed reminding you that there are active calls and that the bind command change cannot take effect.


How to Configure SIP—Gateway Support for the bind Command

To configure the SIP—Gateway Support for the bind Command feature, complete these tasks:

Setting the Bind Address (required)

Setting a Source IP Address for Signaling and Media Packets (required)

Verifying and Troubleshooting Tips

Setting the Bind Address

To set the bind address, complete the task in this section.

SUMMARY STEPS

1. enable

2. configure terminal

3. dial-peer voice number voip

4. session target ipv4:destination-address

5. exit

DETAILED STEPS
 
Command
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

dial-peer voice number voip

Example:

Router(config)# dial-peer voice 2 voip

Enters dial peer configuration mode to configure a VoIP dial-peer.

Step 4 

session target ipv4: destination-address

Example:

Router(config-dial-peer)# session target ipv4: 172.16.43.3

Specifies a network-specific address for a dial peer.

This command must be set to the bind address of the receiving gateway before using the bind command.

ipv4:destination-address: Sets the IP address of the dial peer. A valid IP address is in this format: xxx.xxx.xxx.xxx.

Step 5 

exit

Example:
Router(config-dial-peer)# exit

Exits dial peer voice configuration mode.

Setting a Source IP Address for Signaling and Media Packets

SIP configuration mode starts from voice-service VoIP configuration mode. When the router is in SIP configuration mode, several options are available, including the bind command. To enable this feature, review the prerequisites to make sure your network is compliant, and then complete the task in this section.

Prerequisites

Endure you have Cisco IOS XE Release 2.5 or a later release installed and running on your Cisco ASR 1000 Series Router.

Ensure that the gateway has voice functionality that is configurable for SIP.

Establish a working IP network.

Configure VoIP.

Set the bind address prior to using the bind command.

SUMMARY STEPS

1. enable

2. configure terminal

3. voice service voip

4. sip

5. session transport {udp | tcp}

6. bind {control | all} source-interface interface-id

7. default {command}

8. exit

DETAILED STEPS
 
Command or Action
Purpose

Step 1 

enable

Example:

Router> enable

Enables privileged EXEC mode.

Enter your password if prompted.

Step 2 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 3 

voice service voip

Example:

Router(config)# voice service voip

Enters voice-service configuration mode

Step 4 

sip

Example:

Router(config-voi-srv)# sip

Enters the SIP configuration mode.

Step 5 

session transport {udp | tcp}

Example:

Router(conf-serv-sip)# session transport udp

(Optional) Sets the session transport type for the SIP user agent.

The default is UDP.

The transport protocol (udp or tcp) specified with the session transport command, and the protocol specified with the transport command, must be identical.

Step 6 

bind {control | all} source-interface interface-id

Example:

Router(conf-serv-sip)# bind all source- interface fastethernet

Sets a source address for signaling and media packets.

control: Binds SIP signaling packets.

all: Binds SIP signaling packets and media packets.

source-interface: Specifies an interface as the source address of SIP packets.

interface-id argument specifies the type of interface:

Async

BVI

CTunnel

Dialer

Ethernet

FastEthernet

Lex

Loopback

Multilink

Null

Serial

Tunnel

Vif

Virtual-Template

Virtual-TokenRing

Step 7 

default {bind|rel1xx|session-transport|url}

Example:

Router(conf-serv-sip)# bind

(Optional) Resets the default value of a SIP command.

bind—Configures the source address of signaling and media packets to a specific interface's IP address

rel1xx—Enables all SIP provisional responses (other than 100 Trying) to be sent reliably to the remote SIP endpoint

session-transport—Configures the underlying transport layer protocol for SIP messages to TCP or UDP

url—Configures URLs to either the SIP or TEL format for your voip sip calls

Step 8 

exit

Example:

Router(conf-serv-sip)# exit

Exits the current configuration mode.

Verifying and Troubleshooting Tips

Two show commands verify the correct settings for the bind command. The first enables you to verify a bound IP address. The second indicates the status of bind (enabled or disabled):

Verifying a Bound IP Address

Verifying Bind Status

Verifying a Bound IP Address

The following examples show output for the show ip socket command, indicating that the bind address of the receiving gateway is set:

Router# show ip socket

Proto Remote Port      Local     Port   In Out Stat TTY OutputIF

17       0.0.0.0     0         --any-- 2517 0 0 9 0

17       --listen--            172.18.192.204 1698 0 0 1 0

17       0.0.0.0     0         172.18.192.204 67 0 0 489 0

17       0.0.0.0     0         172.18.192.204 5060 0 0 A1 0

Verifying Bind Status

The following example shows output for the show sip-ua status command, indicating that bind is enabled.

Router# show sip-ua status

SIP User Agent Status 
SIP User Agent for UDP : ENABLED 
SIP User Agent for TCP : ENABLED 
SIP User Agent bind status(signaling): ENABLED 172.18.192.204
SIP User Agent bind status(media): ENABLED 172.18.192.204
SIP max-forwards : 6 

SIP DNS SRV version: 1 (rfc 2052)

To troubleshoot this feature, perform the following:

Use the debug ccsip all command to enable all SIP debugging capabilities, or use one of the following SIP debug commands:

debug ccsip calls

debug ccsip error

debug ccsip events

debug ccsip messages

debug ccsip states

Use the show ip socket command to display IP socket information.

Use the show sip-ua status command to verify if binding is enabled. See the show sip-ua status command for details.

Configuration Examples for SIP —Gateway Support for the bind Command

This section contains examples for SIP—Gateway Support for the bind Command feature:

SIP—Gateway Support for the bind Command: Example

SIP—Gateway Support for the bind Command: Example

This section shows partial output from the show running-config command, indicating that bind is functional on receiving router 172.18.192.204.

ip subnet-zero
ip ftp source-interface Ethernet0
!
voice service voip 
 sip
  bind all source-interface FastEthernet0
!
interface FastEthernet0
 ip address 172.18.192.204 255.255.255.0
 duplex auto
 speed auto
 fair-queue 64 256 1000
 ip rsvp bandwidth 75000 100
!!