Support for Encoded Multipart Message Bodies
SIP messages and responses may arrive at the
Oracle Communications Session Border Controller with encoded multipart message bodies, such that the content of the body is unreadable. This information may be encoded for the purpose of compressing the data. Normally, the
Oracle Communications Session Border Controller would consider the body invalid and reject the entire message, replying to the sender with a
400 Invalid Body
error response. The user, however, can configure the
sip-config option,
proxy-content-type-encodings, allowing the
Oracle Communications Session Border Controller to accept, process and forward messages containing these encoded parts. This configuration causes the
Oracle Communications Session Border Controller to ignore the encoding, identify the end of the message via content length, and pass the message towards its intended recipient with the multipart body fully encoded.
The condition that triggers this functionality is the Oracle Communications Session Border Controller recognizing the presence of a multipart message body and the definition of the encoding type within the message.
NOTIFY sip:user@example.com SIP/2.0
Via: SIP/2.0/TCP
...
Content-Type: multipart/mixed;boundary="imdn-boundary"
Content-Encoding: gzip
... Encoded multipart content ...
When configured, the proxy-content-type-encodings is simply a list of strings. The Oracle Communications Session Border Controller looks to match the string defining the content encoding with a string in the list to proceed with the functionality.
The Oracle Communications Session Border Controller only performs this procedure on messages encoded with types for which it is configured and that are properly formed. Examples of when the Oracle Communications Session Border Controller does not perform this procedure include:
- The
Oracle Communications Session Border Controller receives a message with an encoded multipart message block, but
proxy-content-type-encodings list is empty. In this case, the
Oracle Communications Session Border Controller responds with a
415 Unsupported Media Type
. - The message arrives with a multipart message body with encoding for which the
proxy-content-type-encodings is configured, but there is no terminating boundary. In this case, the
Oracle Communications Session Border Controller replies with a
400 Invalid Body error
. - The Oracle Communications Session Border Controller receives a response with an encoded multipart message block, but proxy-content-type-encodings list is empty. In this case, the Oracle Communications Session Border Controller simple drops the response.
Multipart Message Encoding Support Configuration
The procedure below provides the steps needed to configure the Oracle Communications Session Border Controller for multipart message encoding support.