Late-to-Early Media Interworking
The late-to-early media interworking feature is supported for Session Initiation Protocol (SIP) calls. In order to interwork between a late media caller and an early media callee, Cisco Unified Border Element (SP Edition) sends an invite to the callee that includes a Session Description Protocol (SDP) offer of media. Two implementations of late-to-early media interworking are available:
- By default, SBC generates the SDP with a single media line that specifies codecs common to both the caller and the callee’s codec whitelists.
- SBC can also be configured with a media description using the sip sdp-media-profile command to generate a customized offer.
Cisco Unified Border Element (SP Edition) was formerly known as Integrated Session Border Controller and may be commonly referred to in this document as the session border controller (SBC).
For a complete description of the commands used in this chapter, refer to the Cisco Unified Border Element (SP Edition) Command Reference: Unified Model at:
http://www.cisco.com/en/US/docs/ios/sbc/command/reference/sbcu_book.html.
For information about all Cisco IOS commands, use the Command Lookup Tool at http://tools.cisco.com/Support/CLILookup or a Cisco IOS master commands list.
Feature History for Late-to-Early Media Interworking
|
|
The customizable offer for late-to-early media interworking feature was introduced on the Cisco IOS XR. |
Contents
Restrictions for Late-to-Early Media Interworking Support
The restrictions for late-to-early media interworking are:
- This feature applies only to SIP-to-SIP calls, it does not apply to SIP-to-H.323 interworking calls.
- This feature applies only to IPv4; you cannot use it with IPv6 addressing.
- If the caller refines the media chosen by the callee, this is sent back to the callee in a PRACK. However, if the callee attempts to refine the media again, the event is logged but it is not passed back to the caller.
- Because Cisco Unified Border Element (SP Edition) generates SDPs, any calls using this feature cannot use media bypass.
- Cisco Unified Border Element (SP Edition) only generates SDPs offering a single audio stream. If the caller and callee want to negotiate video, fax, or other media streams, they can renegotiate this after the call has been established.
- If the callee attempts to send early media either before or without sending a reliable 1XX INVITE, Cisco Unified Border Element (SP Edition) will drop that media. It will not reach the caller.
- The callee must not send unreliable 1XX INVITE responses because the caller would interpret them as an out-of-sequence SDP offer. For late-to-early interworking calls, Cisco Unified Border Element (SP Edition) sets 100rel as mandatory in order to forbid the callee from sending unreliable responses only if the caller side supports 100rel.
- Late-to-early media interworking must not be used with the Gq IMS interface. This interface does not provide Cisco Unified Border Element (SP Edition) with the local media address necessary to create an SDP offer (and will likely result in calls with incorrect media paths).
Information about Late-to-Early Media Interworking
This section includes the following topics:
- Late-to-Early Media Interworking Description
- Customizable Offer for Late-to-Early Media Interworking
Late-to-Early Media Interworking Description
Early Media is the ability of two user agents to communicate before a call is actually established. Early Media can flow when the caller makes a media proposal on the initial call setup request and the callee responds to the offer before the call is connected. Cisco Unified Border Element (SP Edition) provides interoperability between SIP devices that do not provide SDP on their INVITEs and SIP devices that require SDP on INVITEs they receive. This occurs when:
- An endpoint caller wants to negotiate media after the INVITE has been accepted (late media) and does not include an SDP offer on the initial INVITE
- The callee that expects an SDP offer on the initial INVITE, which it then answers with a 1XX response (early media).
The normal negotiation for media is for the caller to include an SDP offer on the initial INVITE and for the callee to accept with a 200 response. However, the following might occur:
- Late media is used by some endpoints, such as call agents that want to allow the callee to select the media used.
- Early media is used by some more recent endpoints that need to support media flow before the call is accepted, such as a pre-call announcement or in-band tones from a Call Hold server.
In order to interwork between a late media caller and an early media callee, Cisco Unified Border Element (SP Edition) sends an invite to the callee that includes an SDP offer of media. Cisco Unified Border Element (SP Edition) then sends appropriate messages between the caller and callee, depending on the responses from each.
Cisco Unified Border Element (SP Edition) supports this interworking on a per-adjacency basis. You can configure each adjacency to require late-to-early media interworking for calls made to that adjacency and/or for calls made from that adjacency.
Customizable Offer for Late-to-Early Media Interworking
By default, SBC generates the SDP with a single media description that specifies codecs common to both the caller and callee’s codec whitelists.
The Customizable Offer for Late-to-Early Media Interworking feature provides customized SDPs with one or more media descriptions. You configure the media descriptions in named profiles (SDP media profiles) and associate the profiles to signals by including the profile name in a CAC policy.
To enable a customized offer for late-to-early media interworking:
- Enable late-to-early media interworking per adjacency, as described in the “Configuring Late-to-Early Media Interworking Per Adjacency” section.
- Create a named SDP media profile containing one or more media description lines which will be inserted into the SDP when SBC is generating the INVITE. SBC will insert the media description lines into the SDP per the sequence number configured.
- Associate this sdp-media-profile with a cac-policy table entry.
When a call requires late-to-early interworking, if the CAC policy entry for that call contains a valid SDP media profile name, then SBC generates a customized SDP. In the absence of such an association, SBC generates the default SDP. In the customized case, SBC inserts the media description lines in the media profile in the SDP when it generates the INVITE. Each entry in the media profile includes a sequence number, which controls the ordering of the lines in the generated SDP.
Rules for Media Lines in SDP Media Profiles
A section of SDP is configured as an entry in the SDP Media profile. An entry can have one or many media description lines. The format of an SDP Media profile is:
If more than one media description is created in the same profile, all of the entries are used to generate the same output SDP, in ascending order by entry number.
The media_description argument must be enclosed in quotes ('' ''). The value inside the quotes must be syntactically valid SDP as defined in RFC 2327. The following rules apply:
- An SDP entry must contain exactly one m-line. The m-line must appear first in the entry. The m-line port must be zero. SBC replaces the zero with the appropriate port.
- An SDP entry must not contain a c-line.
The Cisco command line interface handles the contents of media_description as a string value. It does not check the syntax of the configured information. If the syntax is incorrect, outbound offers by the SBC are rejected.
Configuring Late-to-Early Media Interworking
This section describes the following configuration scenarios for Late-to-Early Media Interworking:
- Configuring Late-to-Early Media Interworking Per Adjacency
- Configuring Customized Offers for Late-to-Early Media Interworking
Configuring Late-to-Early Media Interworking Per Adjacency
This task shows how to configure late-to-early media interworking per adjacency.
Note The caller and callee commands have been used in this procedure. In some scenarios, the branch command can be used as an alternative to the caller and callee command pair. The branch command has been introduced in Release 3.5.0. See the “Configuring Directed Nonlimiting CAC Policies” section for information about this command.
SUMMARY STEPS
4. adjacency sip adjacency-name
8. authentication nonce timeout value
17. media-late-to-early-iw {incoming | outgoing}
DETAILED STEPS
Configuring Customized Offers for Late-to-Early Media Interworking
Prerequisites
Before performing this task, configure late-to-early media interworking per adjacency.
SUMMARY STEPS
4. sip sdp-media-profile profile-name
6. media-line index " media_description "
7. (Optional) Repeat the previous step with a different index to add more media lines to this entry.
9. (Optional) Repeat Steps 6 through 9 with a different entry-num in Step 6 to add another entry to this profile.
12. cac-policy-set policy-set-id
15. sip sdp-media-profile profile-name
17. show sbc sbc-name sbe sip sdp-media-profile profile-name
DETAILED STEPS
|
|
|
---|---|---|
|
||
|
Enters the submode for configuring the method profile. Use the service-name argument to define the name of the service. |
|
|
||
sip sdp-media-profile profile-name |
Configures an SDP media profile for a customized offer. Enter into SIP SDP media profile configuration mode. |
|
|
Enters the submode for adding a section of media description to the profile. A section, or entry, can contain one or more media description lines. |
|
media-line index “ media_description ” Router(config-sbc-sbe-sip-sdp-media-ele)# |
Adds a media description line to the entry. Quotation marks must surround the media description. See “Rules for Media Lines in SDP Media Profiles” section. |
|
(Optional) Repeat the previous step with a different index to add more media lines to this entry. Router(config-sbc-sbe-sip-sdp-media-ele)# |
Adds additional media descriptions to the entry. The index controls the ordering of the media descriptions. |
|
|
||
(Optional) Repeat Steps 5 through 8 with a different entry-num in Step 5 . Router(config-sbc-sbe-sip-sdp-media)# entry 2 Router(config-sbc-sbe-sip-sdp-media-ele)# Router(config-sbc-sbe-sip-sdp-media-ele)# |
||
|
||
|
||
|
Enters the submode to make a change to a previously configured CAC policy set. Changes are not permitted to the active policy set. |
|
|
Enters the submode to make a change to a previously configured admission control table. |
|
|
Enters the submode to modify an entry in an admission control table. |
|
sip sdp-media-profile profile-name Router(config-sbc-sbe-cacpolicy-cactable-entry)#sip sdp-media-profile profile1 |
Associates an SDP media profile with an admission control table entry. |
|
|
||
show sbc sbc-name sbe sip sdp-media-profile profile-name |
Shows the contents of the profile. It is important to check the contents of the profile to make sure it is syntactically valid SDP as defined in RFC 2327. The command line interface does not check the syntax of the media_description arguments. |
Configuration Examples for the Late-to-Early Media Interworking Feature
This section includes the following examples:
- Example: Late-to-Early Media Interworking
- Example: Customized Offer for Late-to-Early Media Interworking
Example: Late-to-Early Media Interworking
The following example shows a configuration of the Late-to-Early Media Interworking feature.
Note The caller and callee commands have been used in this procedure. In some scenarios, the branch command can be used as an alternative to the caller and callee command pair. The branch command has been introduced in Release 3.5.0. See the “Configuring Directed Nonlimiting CAC Policies” section for information about this command.
Example: Customized Offer for Late-to-Early Media Interworking
The following example configures a customized media description and assigns it to a CAC policy.
Verification
Use the commands listed in Table 49-1 to verify operation.
The following example shows adjacencies.
SBC Service "test"
SBC Service "test"
The following command lists a summary of the CAC policy tables associated with the given policy set:
SBC Service "test"
SBC Service "test"
The following example shows a list of SDP media profiles configured under an SBC service:
The following example shows the contents of a named SDP media profile:
SDP media profile "MediaProfile"