The SIP message body and SDP session profiles
The SIP message body describes the session to be initiated. For example, in a SIP phone call the body usually includes audio codec types, sampling rates, server IP addresses and so on. For other types of SIP session the body could contain text or binary data of any type which relates in some way to the session. The message body is included in request and response messages.
Two possible SIP message body types:
- Session Description Protocol (SDP), most commonly used for SIP VoIP.
- Multipurpose Internet Mail Extensions (MIME)
SDP is most often used for VoIP and FortiGates support SDP content in SIP message bodies. SDP is a text-based protocol used by SIP to control media sessions. SDP does not deliver media but provides a session profile that contains media details, transport addresses, parameter negotiation, and other session description metadata for the participants in a media session. The participants use the information in the session profile to negotiate how to communicate and to manage the media session. SDP is described by RFC 4566.
An SDP session profile always contains session information and may contain media information. Session information appears at the start of the session profile and media information (using the
m= attribute) follows.
SDP session profiles can include the attributes listed in the following table.
SDP session profile attributes
Attributes to extend SDP in the form
Contains information about the bandwidth required for the session or media in the form
Connection data about the session including the network type (usually IN for Internet), address type (IPv4 or IPv6), the connection source address, and other optional information. For example:
A text string that contains information about the session. For example:
Can be used to convey encryption keys over a secure and trusted channel. For example:
Media information, consisting of one or more lines all starting with
Multiple media lines are needed if SIP is managing multiple types of media in one session (for example, separate audio and video streams).
Multiple ports for a media stream are indicated using a slash.
Media types include
The sender’s username, a session identifier, a session version number, the network type (usually IN for Internet), the address type (for example, IPv4 or IPv6), and the sending device’s IP address. The
Repeat times for a session. Used if a session will be repeated at one or more timed intervals. Not normally used for VoIP calls. The times can be in different formats. For example:
Any text that describes the session or s= followed by a space. For example:
The start and stop time of the session. Sessions with no time restrictions (most VoIP calls) have a start and stop time of 0.
SDP protocol version. The current SDP version is 0 so the v= field is always:
Time zone adjustments. Used for scheduling repeated sessions that span the time between changing from standard to daylight savings time.