Table Of Contents
IMS Rx and Diameter
Contents
Information about IMS Rx Interfaces
Information about the Diameter Protocol in SBC
Configuring IMS Rx
Configuring an IMS Rx Interface
Configuring Media Service for IMS Rx
Disabling Preliminary AAR Messages
Configuring SBC Diameter Routing
Configuring Diameter Host-based Routing
Configuring Diameter Realm-based Routing
IMS Rx Configuration: Examples
IMS Rx Interface Configuration: Example
Media Service for IMS Rx Configuration: Example
Disabling Preliminary AAR Messages Configuration: Example
Diameter Configuration: Examples
Diameter Host-based Routing Configuration: Example
Diameter Realm-based Routing Configuration: Example
IMS Rx and Diameter
Cisco Unified Border Element (SP Edition) supports IMS Rx and Diameter.
Feature History for Implementing SNMP
Release
|
Modification
|
Cisco IOS XE Release 3.1S
|
IMS Rx feature was introduced.
Diameter feature was introduced.
|
Contents
•
Information about IMS Rx Interfaces
•
Information about the Diameter Protocol in SBC
•
Configuring IMS Rx
•
Configuring SBC Diameter Routing
•
IMS Rx Configuration: Examples
•
Diameter Configuration: Examples
Information about IMS Rx Interfaces
An IMS Rx interface is a 3GPP interface that runs between an application function and a Policy Charging and Rules Function (PCRF) in a 3GPP architecture. In this case, SBC is the application function.
SBC uses the Rx interface to communicate with the PCRF during call initiation and renegotiation to ensure that a call conforms to policy. SBC uses the Rx interface during registration to learn access network information.
The PCRF performs the following functions for SBC via an IMS Rx interface:
•
Confirms that call media requests conform to the appropriate policy.
•
Opens gates or pinholes in the media route, and specifies the appropriate QoS.
•
Requests per-flow charging information when needed.
•
Informs SBC of media-plane events.
An IMS Rx interface can be configured as a pure Rx environment or as a mixed Rx and media resource environment in unified SBC.
Features Supported
SBC can be deployed as the application function connecting to a PCRF via an Rx interface, in a mobile network, under an IMS or non-IMS environment. SBC supports the following requirements for these environments:
•
Support for precondition call flows with Rx
•
Support for late-INVITE and PRACK with Rx
•
SIP late and early interworking in combination with Rx
•
SIP PRACK and non-PRACK interworking in combination with Rx
•
Support for session binding on registration
•
SBC does not add any IMS-specific SIP headers to requests or responses in non-IMS environment, and does not add P-Charging-Vector or P-Access-Network-Info information
•
SBC can also use an Rx interface to query a policy server to perform admission control for requests from subscribers on an access network in non-IMS environments.
Restrictions
SBC does not provide preferred or alternate routes for SIP or DNS interfaces.
SBC does not support use of Rx in combination with local call transfers.
Lawful Intercept of media for calls using Rx is not possible.
SBC does not support Packet Cable billing on Rx interfaces.
Call Failures
If the PCRF fails to respond to a request from SBC, SBC treats only the individual request as failed.
Only fully established calls are maintained during redundant switchovers. Calls in the process of being set up are dropped.
Configuration
See the "Configuring IMS Rx" section for the procedural steps for configuring an IMS Rx Interface.
See the "IMS Rx Configuration: Examples" section for configuration examples of IMS Rx.
Information about the Diameter Protocol in SBC
Diameter is an Authentication Authorization Accounting (AAA) protocol and is an enhanced version of the RADIUS (Remote Authentication Dial-In User Service) protocol. Diameter is the protocol of choice for the next generation network IP Multimedia Subsystem (IMS) developed by 3rd Generation Partnership Project (3GPP).
When the Diameter protocol is implemented on a network, the Policy Charging and Rules Function (PCRF) acts as the Diameter server and the Application Function (AF), in our case SBC, acts as the Diameter client. SBC performs the functions of an IMS Rx Diameter client application and handles policy information and media reservations at the border of an access network.
SBC Diameter provides users with the option of configuring of either of two types of routing:
•
Host-based routing
•
Realm-based routing where multiple peers can be configured
Interfaces are referred as reference points in IMS. Reference points are named using unique acronyms, such as Rx (receiving reference point).
Features Supported
The following features are supported by SBC Diameter:
•
SBC Diameter runs over TCP.
•
SBC Diameter uses IPv4 addressing only.
•
SBC Diameter supports IP Security Protocol (IPSEC).
•
SBC Diameter supports multiple peers per realm.
•
SBC Diameter supports redundancy switchover of Diameter peers as follows:
–
All Diameter messages are sent to the primary peer of the realm by default.
–
If the the primary peer fails, Diameter switches to a secondary peer and retransmits all pending messages
Restrictions
SBC Diameter has the following restrictions:
•
SBC Diameter does not replicate states or outstanding requests during redundancy switchovers. All states and outstanding requests are lost after a switchover from a failed active connection to a backup connection.
•
SBC Diameter does not support IPv6 addressing.
•
IPv6 is not supported.
Configuration
See the "Configuring SBC Diameter Routing" section for the procedural steps for configuring the Diameter protocol in SBC.
See the "Diameter Configuration: Examples" section for configuration examples of the Diameter protocol in SBC.
Configuring IMS Rx
This section provides the following step procedures:
•
Configuring an IMS Rx Interface
•
Configuring Media Service for IMS Rx
•
Disabling Preliminary AAR Messages
Configuring an IMS Rx Interface
Use the following procedure to configure an IMS Rx interface.
SUMMARY STEPS
1.
configure terminal
2.
sbc sbc-name
3.
sbe
4.
adjacency sip adjacency-name
5.
ims realm realm-name
6.
ims rx
7.
ims pani
8.
end
DETAILED STEPS
| |
Command or Action
|
Purpose
|
Step 1
|
configure terminal
Example:
Router# configure terminal
|
Enters global configuration mode.
|
Step 2
|
sbc sbc-name
Example:
Router(config)# sbc MySBC
|
Creates the SBC service on Cisco Unified Border Element (SP Edition) and enters into SBC configuration mode.
|
Step 3
|
sbe
Example:
Router(config-sbc)# sbe
|
Enters the mode of the signaling border element (SBE) function of the SBC.
|
Step 4
|
adjacency sip adjacency-name
Example:
Router(config-sbc-sbe) adjacency sip A_1
|
Enters the mode of an SBE SIP adjacency.
|
Step 5
|
ims realm realm-name
Example:
Router(config-sbc-sbe-adj-sip)# ims realm
Realm_1
|
Configures an IMS realm for use by an IMS Rx interface.
|
Step 6
|
ims rx
Example:
Router(config-sbc-sbe-adj-sip)# ims rx
|
Configures an IMS Rx interface for access adjacency
|
Step 7
|
ims pani
Example:
Router(config-sbc-sbe-adj-sip)# ims pani
|
(Optional) Configures the P-Access-Network-Info (PANI) header process preference for the adjacency.
|
Step 8
|
end
Example:
Router(config-sbc-sbe-enum-entry)# end
|
Exits configuration mode and returns to privileged EXEC mode.
|
Configuring Media Service for IMS Rx
Use the following procedure to configure media service for IMS Rx.
SUMMARY STEPS
1.
configure terminal
2.
sbc sbc-name
3.
sbe
4.
cac-policy-set policy-set-id
5.
cac-table table-name
6.
table-type policy-set
7.
entry entry-id
8.
ims media-service
9.
end
DETAILED STEPS
| |
Command or Action
|
Purpose
|
Step 1
|
configure terminal
Example:
Router# configure terminal
|
Enters global configuration mode.
|
Step 2
|
sbc sbc-name
Example:
Router(config)# sbc SBC1
|
Creates the SBC service on Cisco Unified Border Element (SP Edition) and enters into SBC configuration mode.
|
Step 3
|
sbe
Example:
Router(config-sbc)# sbe
|
Enters the mode of the signaling border element (SBE) function of the SBC.
|
Step 4
|
cac-policy-set policy-set-id
Example:
Router(config-sbc-sbe)# cac-policy-set 1
|
Enters the mode of CAC policy set configuration within an SBE entity, creating a new policy set if necessary.
policy-set-id—Integer chosen by the user to identify the policy set. The range is 1 to 2147483647.
|
Step 5
|
cac-table table-name
Example:
Router(config-sbc-sbe-cacpolicy)# cac-table
testSecure
|
Enters the mode for configuration of an admission control table (creating one if necessary) within the context of an SBE policy set.
table-name—Name of the admission control table.
|
Step 6
|
table-type policy-set
Example:
Router(config-sbc-sbe-cacpolicy-cactable)#
table-type policy-set
|
Configures a CAC table to allow the use of media resources and 3rd party transcoding resources as well as Rx resources the table type of a CAC table within the context of an SBE policy set.
|
Step 7
|
entry entry-id
Example:
Router(config-sbc-sbe-cacpolicy-cactable)#
entry 1
|
Enters the mode to modify an entry in an admission control table.
entry-id—Specifies the table entry.
|
Step 8
|
Example:
Router(config-sbc-sbe-cacpolicy-cactable-entry)
# ims media-service
|
(Optional) Configures a CAC table to allow the use of media resources and 3rd party transcoding resources as well as Rx resources.
|
Step 9
|
end
Example:
Router(config-sbc-sbe-enum-entry)# end
|
Exits configuration mode and returns to privileged EXEC mode.
|
Disabling Preliminary AAR Messages
Use the following procedure optionally to prevent preliminary AAR messages from being sent during an IMS Rx session.
SUMMARY STEPS
1.
configure terminal
2.
sbc sbc-name
3.
sbe
4.
cac-policy-set policy-set-id
5.
cac-table table-name
6.
table-type policy-set
7.
entry entry-id
8.
ims rx preliminary-aar-forbid
9.
end
DETAILED STEPS
| |
Command or Action
|
Purpose
|
Step 1
|
configure terminal
Example:
Router# configure terminal
|
Enters global configuration mode.
|
Step 2
|
sbc sbc-name
Example:
Router(config)# sbc SBC1
|
Creates the SBC service on Cisco Unified Border Element (SP Edition) and enters into SBC configuration mode.
|
Step 3
|
sbe
Example:
Router(config-sbc)# sbe
|
Enters the mode of the signaling border element (SBE) function of the SBC.
|
Step 4
|
cac-policy-set policy-set-id
Example:
Router(config-sbc-sbe)# cac-policy-set 1
|
Enters the mode of CAC policy set configuration within an SBE entity, creating a new policy set if necessary.
policy-set-id—Integer chosen by the user to identify the policy set. The range is 1 to 2147483647.
|
Step 5
|
cac-table table-name
Example:
Router(config-sbc-sbe-cacpolicy)# cac-table
testSecure
|
Enters the mode for configuration of an admission control table (creating one if necessary) within the context of an SBE policy set.
table-name—Name of the admission control table.
|
Step 6
|
table-type policy-set
Example:
Router(config-sbc-sbe-cacpolicy-cactable)#
table-type policy-set
|
Configures a CAC table to allow the use of media resources and 3rd party transcoding resources as well as Rx resources the table type of a CAC table within the context of an SBE policy set.
|
Step 7
|
entry entry-id
Example:
Router(config-sbc-sbe-cacpolicy-cactable)#
entry 1
|
Enters the mode to modify an entry in an admission control table.
entry-id—Specifies the table entry.
|
Step 8
|
ims rx preliminary-aar-forbid
Example:
Router(config-sbc-sbe-cacpolicy-cactable-entry)
# ims rx preliminary-aar-forbid
|
Prevents preliminary AAR messages from being sent during an IMS Rx session.
|
Step 9
|
end
Example:
Router(config-sbc-sbe-enum-entry)# end
|
Exits configuration mode and returns to privileged EXEC mode.
|
Configuring SBC Diameter Routing
This section provides two routing configurations:
•
Configuring Diameter Host-based Routing
•
Configuring Diameter Realm-based Routing
Configuring Diameter Host-based Routing
Use the following procedure to configure Diameter host-based routing. This procedure sets up an Rx adjacency first and then the Diameter host-based routing.
SUMMARY STEPS
1.
configure terminal
2.
sbc sbc-name
3.
sbe
4.
adjacency sip adjacency-name
5.
ims realm realm-name
6.
ims rx pcrf pcrf-name
7.
ims pani [ received | rx | received rx | rx received ]
8.
exit
9.
diameter
10.
origin-realm realm-name
11.
origin-host host-name
12.
activate
13.
end
14.
show sbc sbc-name sbe diameter
15.
show sbc sbc-name sbe diameter peers peer-name
16.
show sbc sbc-name sbe diameter stats
DETAILED STEPS
| |
Command or Action
|
Purpose
|
Step 1
|
configure terminal
Example:
Router# configure terminal
|
Enters global configuration mode.
|
Step 2
|
sbc sbc-name
Example:
Router(config)# sbc MySBC
|
Creates the SBC service on Cisco Unified Border Element (SP Edition) and enters into SBC configuration mode.
|
Step 3
|
sbe
Example:
Router(config-sbc)# sbe
|
Enters the mode of the signaling border element (SBE) function of the SBC.
|
Step 4
|
adjacency sip adjacency-name
Example:
Router(config-sbc-sbe) adjacency sip Adj_1
|
Enters the mode of an SBE SIP adjacency.
|
Step 5
|
ims realm realm-name
Example:
Router(config-sbc-sbe-adj-sip)#ims realm
Rx_Realm_1
|
Creates an IMS realm for the Rx.
|
Step 6
|
ims rx pcrf pcrf-name
Example:
Router(config-sbc-sbe-adj-sip)# ims rx pcrf
cisco.com
|
Configures an IMS Rx reference point on this SIP adjacency and specifies the PCRF host where the Rx messages are routed.
|
Step 7
|
ims pani [ received | rx | received rx |
rx received ]
Example:
Router(config-sbc-sbe-adj-sip)# ims pani rx
received
|
(Optional) Configures the P-Access-Network-Info (PANI) header process preference for the adjacency.
|
Step 8
|
exit
Example:
Router(config-sbc-sbe-enum)# exit
|
Exits to the previous mode.
|
Step 9
|
diameter
Example:
Router(config-sbc-sbe)# diameter
|
Enters the Diameter configuration mode.
|
Step 10
|
origin-realm realm-name
Example:
Router(config-sbc-sbe-diameter)# origin-realm
cisco.com
|
Configures the name of SBC's local realm for diameter messages.
|
Step 11
|
origin-host host-name
Example:
Router(config-sbc-sbe-diameter)# origin-host
sbc.cisco.com
|
Configures the name of SBC's local host for diameter messages.
|
Step 12
|
activate
Example:
Router(config-sbc-sbe-enum)# activate
|
Activates Diameter host-based routing.
|
Step 13
|
end
Example:
Router(config-sbc-sbe-enum-entry)# end
|
Exits configuration mode and returns to privileged EXEC mode.
|
Step 14
|
show sbc sbc-name sbe diameter
Example:
Router# show sbc MySBC sbe diameter
|
Displays the local configuration information for Diameter.
|
Step 15
|
show sbc sbc-name sbe diameter peers peer-name
Example:
Router# show sbc MySBC sbe diameter peers Peer1
|
Displays the configuration information for IMS peers.
|
Step 16
|
show sbc sbc-name sbe diameter stats
Example:
Router# show sbc MySBC sbe diameter stats
|
Displays the transport statistics for an IMS peer.
|
Configuring Diameter Realm-based Routing
Use the following procedure to configure Diameter realm-based routing.
SUMMARY STEPS
1.
configure terminal
2.
sbc sbc-name
3.
sbe
4.
adjacency sip adjacency-name
5.
ims realm realm-name
6.
ims rx
7.
exit
8.
diameter
9.
origin-realm realm-name
10.
origin-host host-name
11.
peer peer-name ipv4 ipv4-address
12.
peer peer-name ipv4 ipv4-address
13.
realm realm-name [app rx] peer peer-name [priority priority]
14.
realm realm-name [app rx] peer peer-name [priority priority]
15.
activate
16.
end
17.
show sbc sbc-name sbe diameter peers
18.
show sbc sbc-name sbe diameter peers peer-name
19.
show sbc sbc-name sbe diameter peers peer-name
DETAILED STEPS
| |
Command or Action
|
Purpose
|
Step 1
|
configure terminal
Example:
Router# configure terminal
|
Enters global configuration mode.
|
Step 2
|
sbc sbc-name
Example:
Router(config)# sbc MySBC
|
Creates the SBC service on Cisco Unified Border Element (SP Edition) and enters into SBC configuration mode.
|
Step 3
|
sbe
Example:
Router(config-sbc)# sbe
|
Enters the mode of the signaling border element (SBE) function of the SBC.
|
Step 4
|
adjacency sip adjacency-name
Example:
Router(config-sbc-sbe) adjacency sip Adj_1
|
Enters the mode of an SBE SIP adjacency.
|
Step 5
|
ims realm realm-name
Example:
Router(config-sbc-sbe-adj-sip)#ims realm
Rx_Realm_1
|
Creates an IMS realm for the Rx.
|
Step 6
|
ims rx
Example:
Router(config-sbc-sbe-adj-sip)# ims rx pcrf
cisco.com
|
Configures an IMS Rx reference point on this SIP adjacency.
|
Step 7
|
exit
Example:
Router(config-sbc-sbe-enum)# exit
|
Exits to the previous mode.
|
Step 8
|
diameter
Example:
Router(config-sbc-sbe)# diameter
|
Enters the Diameter configuration mode.
|
Step 9
|
origin-realm realm-name
Example:
Router(config-sbc-sbe-diameter)# origin-realm
cisco.com
|
Configures the domain name of an IMS local realm.
|
Step 10
|
origin-host host-name
Example:
Router(config-sbc-sbe-diameter)# origin-host
sbc.cisco.com
|
Configures the domain name of the local IMS host.
|
Step 11
|
peer peer-name ipv4 ipv4-address
Example:
Router(config-sbc-sbe-diameter)# peer peerA
address ipv4 1.2.3.4
|
Configures the name and IPv4 address of peerA.
|
Step 12
|
peer peer-name ipv4 ipv4-address
Example:
Router(config-sbc-sbe-diameter)# peer peerB
address ipv4 1.2.3.5
|
Configures the name and IPv4 address of peerB.
|
Step 13
|
realm realm-name [app rx] peer peer-name
[priority priority]
Example:
Router(config-sbc-sbe-diameter)# realm test.com
app rx peer peerA
|
Configures a peer and assign the peer to the realm.
|
Step 14
|
realm realm-name [app rx] peer peer-name
[priority priority]
Example:
Router(config-sbc-sbe-diameter)# realm test.com
app rx peer peerB priority 10
|
Configures another peer and assign the peer to the realm.
|
Step 15
|
activate
Example:
Router(config-sbc-sbe-enum)# activate
|
Activates Diameter realm-based routing.
|
Step 16
|
end
Example:
Router(config-sbc-sbe-enum-entry)# end
|
Exits configuration mode and returns to privileged EXEC mode.
|
Step 17
|
show sbc sbc-name sbe diameter peers
Example:
Router# show sbc MySBC sbe diameter peers
|
Displays the configuration information for all IMS peers.
|
Step 18
|
show sbc sbc-name sbe diameter peers peer-name
Example:
Router# show sbc MySBC sbe diameter peers peerA
|
Displays the configuration information for peerA.
|
Step 19
|
show sbc sbc-name sbe diameter peers peer-name
Example:
Router# show sbc MySBC sbe diameter peers peerB
|
Displays the configuration information for peerB.
|
IMS Rx Configuration: Examples
This section provides the following examples:
•
IMS Rx Interface Configuration: Example
•
Media Service for IMS Rx Configuration: Example
•
Disabling Preliminary AAR Messages Configuration: Example
IMS Rx Interface Configuration: Example
The following example shows how to configure an IMS Rx interface:
Router# configure terminal
Router(config)# sbc mySBC
Router(config-sbc-sbe)# adjacency sip A_1
Router(config-sbc-sbe-adj-sip)# ims realm Realm_1
Router(config-sbc-sbe-adj-sip)# ims rx
Router(config-sbc-sbe-adj-sip)# ims pani
Router(config-sbc-sbe-adj-sip)# end
Media Service for IMS Rx Configuration: Example
The following example shows how to configure media service for IMS Rx:
Router# configure terminal
Router(config)# sbc MySBC
Router(config-sbc-sbe)# cac-policy-set 1
Router(config-sbc-sbe-cacpolicy)# cac-table my_table
Router(config-sbc-sbe-cacpolicy-cactable)# table-type policy-set
Router(config-sbc-sbe-cacpolicy-cactable)# entry 1
Router(config-sbc-sbe-cacpolicy-cactable-entry)# ims media-service
Router(config-sbc-sbe-cacpolicy-cactable-entry)# end
Disabling Preliminary AAR Messages Configuration: Example
The following example shows how to prevent preliminary AAR messages from being sent during an IMS Rx session (optional):
Router# configure terminal
Router(config)# sbc MySBC
Router(config-sbc-sbe)# cac-policy-set 1
Router(config-sbc-sbe-cacpolicy)# cac-table my_table
Router(config-sbc-sbe-cacpolicy-cactable)# table-type policy-set
Router(config-sbc-sbe-cacpolicy-cactable)# entry 1
Router(config-sbc-sbe-cacpolicy-cactable-entry)# ims rx preliminary-aar-forbid
Router(config-sbc-sbe-cacpolicy-cactable-entry)# end
Diameter Configuration: Examples
This section provides the following examples:
•
Diameter Host-based Routing Configuration: Example
•
Diameter Realm-based Routing Configuration: Example
Diameter Host-based Routing Configuration: Example
The following example shows how to configure Diameter host-based routing:
Router# configure terminal
Router(config)# sbc MySBC
Router(config-sbc-sbe) adjacency sip Adj_1
Router(config-sbc-sbe-adj-sip)# ims realm Rx_Realm_1
Router(config-sbc-sbe-adj-sip)# ims rx pcrf cisco.com
Router(config-sbc-sbe-adj-sip)# ims pani
Router(config-sbc-sbe-enum)# exit
Router(config-sbc-sbe)# diameter
Router(config-sbc-sbe-diameter)# origin-realm cisco.com
Router(config-sbc-sbe-diameter)# origin-host sbc.cisco.com
Router(config-sbc-sbe-enum)# activate
Router(config-sbc-sbe-enum-entry)# end
Router# show sbc MySBC sbe diameter
Router# show sbc MySBC sbe diameter peers Peer1
Router# show sbc MySBC sbe diameter stats
Diameter Realm-based Routing Configuration: Example
The following example shows how to configure Diameter realm-based routing:
Router# configure terminal
Router(config)# sbc MySBC
Router(config-sbc-sbe) adjacency sip Adj_1
Router(config-sbc-sbe-adj-sip)# ims realm Rx_Realm_1
Router(config-sbc-sbe-adj-sip)# ims rx
Router(config-sbc-sbe-enum)# exit
Router(config-sbc-sbe)# diameter
Router(config-sbc-sbe-diameter)# origin-realm cisco.com
Router(config-sbc-sbe-diameter)# origin-host sbc.cisco.com
Router(config-sbc-sbe-diameter)# peer peerA address ipv4 1.2.3.4
Router(config-sbc-sbe-diameter)# peer peerB address ipv4 1.2.3.5
Router(config-sbc-sbe-diameter)# realm test.com app rx peer peerA
Router(config-sbc-sbe-diameter)# realm test.com app rx peer peerB priority 10
Router(config-sbc-sbe-enum)# activate
Router(config-sbc-sbe-enum-entry)# end
Router# show sbc MySBC sbe diameter peers
Router# show sbc MySBC sbe diameter peers peerA
Router# show sbc MySBC sbe diameter peers peerB
Note
You can use the following, existing ASR1000 IPSEC functionality to provide secure Diameter protocol transport:
crypto isakmp key cisco123 address 0.0.0.0 0.0.0.0
crypto ipsec transform-set testcpoc esp-des esp-md5-hmac
crypto map diamap 10 ipsec-isakmp
set security-association lifetime kilobytes 536870912
set transform-set testcpoc
access-list 199 permit ip 192.169.0.0 0.0.255.255 193.169.0.0 0.0.255.255
ip address 192.68.9.2 255.255.255.0