3.15.4.1 Outgoing INVITE

This section follows the product behavior described in endnote <73>.

When a user agent initiates a SIP dialog using an INVITE containing SDP, as defined in [MS-SDPEXT], it MUST use one of the following MIME structures to construct the INVITE request body.

 3-level deep multipart
    L1: Multipart/mixed
       L2:Multipart/alternative
          L3:SDP ICEv6  (with ms-proxy-2007fallback parameter)
          L3:SDP ICEv19
       L2:Call context 
 If there is no call context, the following structure is used.
 2-level deep multipart
    L1:Multipart/alternative
       L2:SDP ICEv6  (with ms-proxy-2007fallback parameter)
       L2:SDP ICEv19

SDP ICEv6 and SDP ICEv19 are specified in [IETFDRAFT-ICENAT-06] and [IETFDRAFT-ICENAT-19] respectively. Call context is described in this section.

L1 refers to the first level in the SIP message body, L2 refers to the second level, and L3 refers to the third level.

The ms-proxy-2007fallback parameter in the Content-Disposition header field is used as a hint to the proxy server to retry the INVITE with only a single body part when a 415 response is received indicating that the remote user agent does not accept multi-part. The syntax of the ms-proxy-2007fallback parameter is described in section 2.2.14, and the applicable proxy server processing of the 415 response is described in section 3.9.5.5.

For 2-level deep multi-part, the SDP MUST be ICEv6, ICEv19 or it does not contain any Interactive Connectivity Establishment (ICE).

If ICEv19 SDP is carried in the multi-part MIME, it MUST be placed in the last part of the multi-part MIME that is carrying all the SDPs.

The 3-level deep multi-part must follow the same rules for carrying SDPs as in the 2-level deep multi-part.  The only difference being that the SDPs are level 3(L3) instead of level 2(L2).