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:
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 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 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 ftp source-interface Ethernet0
bind all source-interface FastEthernet0
ip address 172.18.192.204 255.255.255.0
ip rsvp bandwidth 75000 100