P-Early-Media-Header Usage

The syntax of the P-Early-Media header field is as follows.

P-Early-Media = "P-Early-Media" HCOLON[ em-param *(COMMA em-param) ] 
       em-param  = "sendrecv" / "sendonly" / "recvonly" / "inactive" / "gated" /  
      "supported" / token

The P-Early-Media header is used for requesting and authorizing requests for backward and/or forward early media. The P-Early-Media header field in an INVITE request contains the "supported" parameter. If P-CSCF is part of the trusted domain, then it must decide whether to insert or delete the P-Early-Media header field before forwarding the INVITE. The P-CSCF upon receiving the P-Early-Media header field in a message towards the UAC needs to verify that the early media request comes from an authorized source. If a P-Early-Media header field arrives from either an untrusted source, a source not allowed to send backward early media, or a source not allowed to receive forward early media, then it may remove the P-Early-Media header field or alter the direction parameter(s) of the P-Early-Media header field before forwarding the message, based on local policy.

The P-Early-Media header field with the "supported" parameter in an INVITE request indicates that the P-CSCF on the path recognizes the header field. The P-Early-Media header field includes one or more direction parameters where each has one of the values: "sendrecv", "sendonly", "recvonly", or "inactive", following the convention used for SDP stream directionality. Each parameter applies, in order, to the media lines in the corresponding SDP messages establishing session media. The parameter value "sendrecv" indicates a request for authorization of early media associated with the corresponding media line, both from the UAS towards the UAC and from the UAC towards the UAS. The value "sendonly" indicates request for authorization of early media from the sender to the receiver and not in the other direction. The value "recvonly" indicates a request for authorization of early media from the receiver, and not in the other direction. The value "inactive" indicates either a request that no early media associated with the corresponding media line be authorized, or a request for revocation of authorization of previously authorized early media. Each parameter applies, in order, to the media lines in the corresponding SDP lines. Unrecognized parameters are discarded and non-direction parameters are ignored. If there are more direction parameters than media lines, the excess are silently discarded. If there are fewer direction parameters than media lines, the value of the last direction parameter applies to all remaining media lines. The P-Early-Media header field in any message within a dialog towards the sender of the INVITE request can also include the non-direction parameter "gated" to indicate that a network entity on the path towards the UAS is already gating the early media, according to the direction parameter(s).

The P-Early-Media Header and the Rx Interface

As defined in 3GPP TS 24.229, IP multimedia call control protocol based on Session Initiation Protocol (SIP) and Session Description Protocol (SDP); Stage 3 both the P-CSCF and IBCF may add, remove, or modify, the P-Early-Media header field within forwarded SIP requests and responses according to procedures in RFC 5009.

The P-CSCF can use the P-Early-Media header field for the gate control procedures, as described in 3GPP TS 29.214. In the current implementation, if you set the configuration option early-media-allow to none, the SBC sends the Flow-Status AVP (511) in any AAR request set to disable until there is a final response.

Although you can configure the SBC to provide PEM header information within the Flow-Status AVP (511) to provide early media status over the Rx interface, there are two conditions that must be in place before it can populate this AVP with PEM header flags.

The SBC does not include PEM header feature status in the Rx Flow-Status AVP unless:

  1. You enable the get-flow-status-from-sdp option in the sip-config.
    ORACLEACMEPACKET#(media-manager) options +get-flow-status-from-sdp
  2. There has been an SDP exchange. Note that provisional responses without SDP, which occur prior any SDP exchange, do not generate update data within the Rx flow-status AVP even if they include PEM status.