Prerequisites for Cisco Firewall-SIP Enhancements ALG
Your system must be running Cisco IOS XE Release 2.4 or a later release.
The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
The enhanced Session Initiation Protocol (SIP) inspection in the Cisco XE firewall provides basic SIP inspect functionality (SIP packet inspection and pinholes opening) as well as protocol conformance and application security. These enhancements give you control on what policies and security checks to apply to SIP traffic and the capability to filter out unwanted messages or users.
The development of additional SIP functionality in Cisco IOS XE software provides increased support for Cisco Call Manager, Cisco Call Manager Express, and Cisco IP-IP Gateway based voice/video systems. The application-layer gateway (ALG) SIP enhancement also supports RFC 3261 and its extensions.
Your system must be running Cisco IOS XE Release 2.4 or a later release.
Although SIP methods can have Domain Name System (DNS) names instead of raw IP addresses, this feature currently does not support DNS names.
This feature was implemented without support for application inspection and control (AIC) on the Cisco ASR 1000 series routers. The Cisco IOS XE Release 2.4 supports the following commands only: class-map type inspect , class type inspect , match protocol , and policy-map type inspect .
The Cisco IOS XE Fuji 16.7.1 release does not support Transport Layer Security (TLS) or Secure Real-time Transport Protocol (SRTP).
Session Initiation Protocol (SIP) is an application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. These sessions could include Internet telephone calls, multimedia distribution, and multimedia conferences. SIP is based on an HTTP-like request/response transaction model. Each transaction consists of a request that invokes a particular method or function on the server and at least one response.
SIP invitations that are used to create sessions carry session descriptions that allow participants to agree on a set of compatible media types. SIP makes use of elements called proxy servers to help route requests to users' current locations, authenticate and authorize users for services, implement provider call-routing policies, and provide features to users. SIP also provides a registration function that allows users to upload their current locations for use by proxy servers. SIP runs on top of several different transport protocols.
The firewall for SIP support feature allows SIP signaling requests to traverse directly between gateways or through a series of proxies to the destination gateway or phone. After the initial request, if the Record-Route header field is not used, subsequent requests can traverse directly to the destination gateway address as specified in the Contact header field. Thus, the firewall is aware of all surrounding proxies and gateways and allows the following functionalities:
SIP signaling responses can travel the same path as SIP signaling requests.
Subsequent signaling requests can travel directly to the endpoint (destination gateway).
Media endpoints can exchange data between each other.
RFC 3261 is the current RFC for SIP, which replaces RFC 2543. This feature supports the SIP UDP and the TCP format for signaling.
This section describes the deployment scenarios supported by the Cisco Firewall--SIP ALG Enhancements feature.
The Cisco IOS XE firewall is located between Cisco Call Manager or Cisco Call Manager Express and SIP phones. SIP phones are registered to Cisco Call Manager or Cisco Call Manager Express through the firewall, and any SIP calls from or to the SIP phones pass through the firewall.
The Cisco IOS XE firewall is located between two SIP gateways, which can be Cisco Call Manager, Cisco Call Manager Express, or a SIP proxy. Phones are registered with SIP gateways directly. The firewall sees the SIP session or traffic only when there is a SIP call between phones registered to different SIP gateways. In some scenarios an IP-IP gateway can also be configured on the same device as the firewall. With this scenario all the calls between the SIP gateways are terminated in the IP-IP gateway.
The Cisco IOS XE firewall is located between two SIP gateways, which can be Cisco Call Manager, Cisco Call Manager Express, or a SIP proxy. One of the gateways is configured on the same device as the firewall. All the phones registered to this gateway are locally inspected by the firewall. The firewall also inspects SIP sessions between the two gateways when there is a SIP call between them. With this scenario the firewall locally inspects SIP phones on one side and SIP gateways on the other side.
The Cisco IOS XE firewall and Cisco Call Manager Express is configured on the same device. All the phones registered to the Cisco Call Manager Express are locally inspected by the firewall. Any SIP call between any of the phones registered will also be inspected by the Cisco IOS XE firewall.
When SIP is transferred over UDP, every SIP message is carried in one single UDP datagram. However, when SIP is transferred over TCP, one TCP segment may contain multiple SIP messages. And it is possible that the last SIP message in one of the TCP segments may be a partial one. Prior to Cisco IOS XE Release 3.5S, when there are multiple SIP messages in one received TCP segment, the SIP ALG parses only the first message. The data that is not parsed is regarded as one incomplete SIP message and returned to vTCP. When the next TCP segment is received, vTCP prefixes the unprocessed data to that segment to pass them to the SIP ALG and causes more and more data have to be buffered in vTCP.
In Cisco IOS XE Release 3.5S, the ALG--SIP over TCP Enhancement feature lets the SIP ALG to handle multiple SIP messages in one TCP segment. When a TCP segment is received, all complete SIP messages inside this segment are parsed one-by-one. If there is an incomplete message in the end, only that portion is returned to vTCP.
Command or Action | Purpose | |
---|---|---|
Step 1 |
enable Example:
|
Enables privileged EXEC mode.
|
Step 2 |
configure terminal Example:
|
Enters global configuration mode. |
Step 3 |
class-map type inspect match-any class-map-name Example:
|
Creates an inspect type class map and enters class-map configuration mode. |
Step 4 |
match protocol protocol-name Example:
|
Configures the match criterion for a class map based on the named protocol. |
Step 5 |
exit Example:
|
Exits class-map configuration mode. |
Step 6 |
policy-map type inspect policy-map-name Example:
|
Creates an inspect type policy map and enters policy-map configuration mode. |
Step 7 |
class type inspect class-map-name Example:
|
Specifies the class on which the action is performed and enters policy-map class configuration mode. |
Step 8 |
inspect Example:
|
Enables stateful packet inspection. |
Step 9 |
exit Example:
|
Exits policy-map class configuration mode and returns to policy-map configuration mode. |
Step 10 |
class class-default Example:
|
Specifies that these policy map settings apply to the predefined default class.
|
Step 11 |
end Example:
|
Exits policy-map configuration mode and returns to privileged EXEC mode. |
The following commands can be used to troubleshoot your SIP-enabled firewall configuration:
clear zone-pair
debug cce
debug policy-map type inspect
show policy-map type inspect zone-pair
show zone-pair security
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 |
enable Example:
|
Enables privileged EXEC mode.
|
||
Step 2 |
configure terminal Example:
|
Enters global configuration mode. |
||
Step 3 |
zone security {zone-name | default } Example:
|
Creates a security zone to which interfaces can be assigned and enters security zone configuration mode. |
||
Step 4 |
exit Example:
|
Exits security zone configuration mode and returns to global configuration mode. |
||
Step 5 |
zone security {zone-name | default } Example:
|
Creates a security zone to which interfaces can be assigned and enters security zone configuration mode. |
||
Step 6 |
exit Example:
|
Exits security zone configuration mode and returns to global configuration mode. |
||
Step 7 |
zone-pair security zone-pair-name [source {source-zone-name | self | default } destination [destination-zone-name | self | default ]] Example:
|
Creates a zone pair and returns to security zone-pair configuration mode.
|
||
Step 8 |
service-policy type inspect policy-map-name Example:
|
Attaches a firewall policy map to the destination zone pair.
|
||
Step 9 |
exit Example:
|
Exits security zone-pair configuration mode and returns to global configuration mode. |
||
Step 10 |
interface type number Example:
|
Configures an interface and enters interface configuration mode. |
||
Step 11 |
zone-member security zone-name Example:
|
Assigns an interface to a specified security zone.
|
||
Step 12 |
exit Example:
|
Exits interface configuration mode and returns to global configuration mode. |
||
Step 13 |
interface type number Example:
|
Configures an interface and enters interface configuration mode. |
||
Step 14 |
zone-member security zone-name Example:
|
Assigns an interface to a specified security zone. |
||
Step 15 |
end Example:
|
Exits interface configuration mode and returns to privileged EXEC mode. |
class-map type inspect match-any sip-class1
match protocol sip
!
policy-map type inspect sip-policy
class type inspect sip-class1
inspect
!
class class-default
zone security zone1
!
zone security zone2
!
zone-pair security in-out source zone1 destination zone2
service-policy type inspect sip-policy
!
interface gigabitethernet 0/0/0
zone security zone1
!
interface gigabitethernet 0/1/1
zone security zone2
Related Topic |
Document Title |
---|---|
Cisco IOS commands |
|
Firewall commands |
|
Additional SIP Information |
|
vTCP support |
vTCP for ALG Support |
Standard/RFC |
Title |
---|---|
RFC 3261 |
SIP: Session Initiation Protocol |
Description |
Link |
---|---|
The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password. |
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.
Feature Name |
Releases |
Feature Information |
---|---|---|
AGL--SIP Over TCP Enhancement |
Cisco IOS XE Release 3.5S |
The ALG--SIP over TCP Enhancement feature lets the SIP ALG to handle multiple SIP messages in one TCP segment. When a TCP segment is received, all complete SIP messages inside this segment are parsed one-by-one. If there is an incomplete message in the end, only that portion is returned to vTCP. |
Cisco Firewall--SIP ALG Enhancements |
Cisco IOS XE Release 2.4 |
The Cisco Firewall--SIP ALG Enhancements feature provides voice security enhancements within the firewall feature set in Cisco IOS XE software on the Cisco ASR 1000 series routers. The following commands were implemented without support for Layer 7 (application-specific) syntax, on the Cisco ASR 1000 series routers:class type inspect, class-map type inspect , match protocol , policy-map type inspect . |
Firewall--SIP ALG Enhancement for T.38 Fax Relay |
Cisco IOS XE Release 2.4.1 |
The Firewall--SIP ALG Enhancement for T.38 Fax Relay feature provides an enhancement within the Firewall feature set in Cisco IOS XE software on the Cisco ASR 1000 series routers. The feature enables SIP ALG to support T.38 Fax Relay over IP, passing through the firewall on the Cisco ASR 1000 series routers. |