SIP Gateway Support for the bind Command

SIP Gateway Support for the bind Command

Last Updated: May 10, 2012

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. Befor 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.

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest feature information and caveats, see the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the Feature Information Table at the end of this document.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.

Prerequisites for SIP Gateway Support for the bind Command

  • Ensure that the gateway has voice functionality that is configurable for SIP.
  • Establish a working IP network.
  • Configure VoIP.

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.

The table below lists the results of the bind command based on the state of the interface.

Table 1Command 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 bindcommand 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 shutdowninterfaces.


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

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 or ActionPurpose
Step 1
enable


Example:

Device> enable

 

Enables privileged EXEC mode.

  • Enter your password if prompted.
 
Step 2
configure terminal


Example:

Device# configure terminal

 

Enters global configuration mode.

 
Step 3
dial-peer voice number voip


Example:

Device(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:

Device(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:

Device(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.

Before You Begin

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 {bind|rel1xx|session-transport|url}

8.    exit


DETAILED STEPS
 Command or ActionPurpose
Step 1
enable


Example:

Device> enable

 

Enables privileged EXEC mode.

  • Enter your password if prompted.
 
Step 2
configure terminal


Example:

Device# configure terminal

 

Enters global configuration mode.

 
Step 3
voice service voip


Example:

Device(config)# voice service voip

 

Enters voice-service configuration mode

 
Step 4
sip


Example:

Device(config-voi-srv)# sip

 

Enters the SIP configuration mode.

 
Step 5
session transport {udp | tcp}


Example:

Device(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 transportcommand, and the protocol specified with the transport command, must be identical.
 
Step 6
bind {control | all} source-interface interface-id


Example:

Device(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:

Device(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:

Device(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

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

Device# 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 statuscommand, indicating that bind is enabled.

Device# 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 socketcommand to display IP socket information.
  • Use the show sip-ua statuscommand to verify if binding is enabled. See the show sip-ua statuscommand for details.

Configuration Examples for SIP Gateway Support for the bind Command

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
!!

Feature Information for SIP Gateway Support for the bind Command

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.

Table 2Feature Information for SIP: Gateway Support for the bind Command

Feature Name

Releases

Feature Information

SIP: Gateway Support for the bind Command

12.2(8)T

12.3(2)T

12.2(11)T

12.2(15)T

In Cisco IOS Release 12.2(8)T, This feature was introduced on the Cisco Unified Border Element.

The following commands were introduced or modified: bindand sip.

SIP: Gateway Support for the bind Command

Cisco IOS XE Release 2.5

In Cisco IOS XE Release 2.5, This feature was introduced on the Cisco ASR 1000 Series Routers.

The following commands were introduced or modified: bindand sip.

Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R)

Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.

© 2012 Cisco Systems, Inc. All rights reserved.