Toolpack:Profile SDP Description

From TBwiki
(Difference between revisions)
Jump to: navigation, search
(Examples: another link)
(some formatting clean-up for readability)
Line 1: Line 1:
==Toolpack: Profile SDP Description==
 
 
 
You can specify the Profile SDP Description to define which [[voice codecs]] are supported in the [[NAP]] using this Profile.
 
You can specify the Profile SDP Description to define which [[voice codecs]] are supported in the [[NAP]] using this Profile.
  
 
Here is the default Profile SDP Description.
 
Here is the default Profile SDP Description.
  
:m=audio 0 RTP/AVP 0 8 4 96 97 18 98 13
+
  m=audio 0 RTP/AVP 0 8 4 96 97 18 98 13
:a=rtpmap:96 iLBC/8000
+
  a=rtpmap:96 iLBC/8000
:a=rtpmap:97 iLBC/8000
+
  a=rtpmap:97 iLBC/8000
:a=fmtp:97 mode=20
+
  a=fmtp:97 mode=20
:a=rtpmap:98 telephone-event/8000
+
  a=rtpmap:98 telephone-event/8000
  
 
Each line of the Profile SDP Description consists of text of the form <type>=<value>. <type> is always exactly one character and is case-significant. <value> is a structured text string whose format depends on <type>. It also will be case-significant unless a specific field defines otherwise.  Whitespace is not permitted either side of the `=' sign. In general <value> is either a number of fields delimited by a single space character or a free format string.
 
Each line of the Profile SDP Description consists of text of the form <type>=<value>. <type> is always exactly one character and is case-significant. <value> is a structured text string whose format depends on <type>. It also will be case-significant unless a specific field defines otherwise.  Whitespace is not permitted either side of the `=' sign. In general <value> is either a number of fields delimited by a single space character or a free format string.
  
 
In our Profile SDP Description, only 2 <type> are used.
 
In our Profile SDP Description, only 2 <type> are used.
 +
  
 
===Media Announcement===
 
===Media Announcement===
Line 30: Line 29:
 
**the payload type number for static payload types
 
**the payload type number for static payload types
 
**the payload type number along with additional encoding information for dynamically allocated payload types.
 
**the payload type number along with additional encoding information for dynamically allocated payload types.
 +
  
 
Here are a few examples of the payload type numbers.
 
Here are a few examples of the payload type numbers.
Line 42: Line 42:
 
<tr><td>96-127</td><td>Dynamic</td></tr>
 
<tr><td>96-127</td><td>Dynamic</td></tr>
 
</table>
 
</table>
 +
  
 
When you use dynamic payload types, you need to specify the additional encoding information using the attribute for media announcement.
 
When you use dynamic payload types, you need to specify the additional encoding information using the attribute for media announcement.
 +
  
 
===Attribute for Media Announcement===
 
===Attribute for Media Announcement===
Line 56: Line 58:
  
 
Here are some examples of attributes.
 
Here are some examples of attributes.
 +
  
 
====Dynamic payload type====
 
====Dynamic payload type====
Line 64: Line 67:
  
 
For audio streams, <encoding parameters> may specify the number of audio channels. This parameter may be omitted if the number of channels is one provided no additional parameters are needed.  
 
For audio streams, <encoding parameters> may specify the number of audio channels. This parameter may be omitted if the number of channels is one provided no additional parameters are needed.  
 +
  
 
====Other media specific attribute====
 
====Other media specific attribute====
Line 76: Line 80:
  
 
This gives the length of time in milliseconds represented by the media in a packet. This is probably only meaningful for audio data. It should not be necessary to know ptime to decode RTP or vat audio, and it is intended as a recommendation for the encoding/packetisation of audio.  It is a media attribute, and is not dependent on charset.
 
This gives the length of time in milliseconds represented by the media in a packet. This is probably only meaningful for audio data. It should not be necessary to know ptime to decode RTP or vat audio, and it is intended as a recommendation for the encoding/packetisation of audio.  It is a media attribute, and is not dependent on charset.
 +
  
 
====Examples====
 
====Examples====
Line 81: Line 86:
 
Here are 2 examples of the attributes found in the default profile SDP description.
 
Here are 2 examples of the attributes found in the default profile SDP description.
  
:a=rtpmap:97 iLBC/8000
+
  a=rtpmap:97 iLBC/8000
:a=fmtp:97 mode=20
+
  a=fmtp:97 mode=20
  
 
The above defines iLBC codec of 8000/sec sample rate with 20ms frame size.
 
The above defines iLBC codec of 8000/sec sample rate with 20ms frame size.
  
:a=rtpmap:98 telephone-event/8000
+
  a=rtpmap:98 telephone-event/8000
  
 
The above defines the [[DTMF]] relay using RFC2833.
 
The above defines the [[DTMF]] relay using RFC2833.
 +
  
 
==References==
 
==References==

Revision as of 08:24, 24 August 2009

You can specify the Profile SDP Description to define which voice codecs are supported in the NAP using this Profile.

Here is the default Profile SDP Description.

 m=audio 0 RTP/AVP 0 8 4 96 97 18 98 13
 a=rtpmap:96 iLBC/8000
 a=rtpmap:97 iLBC/8000
 a=fmtp:97 mode=20
 a=rtpmap:98 telephone-event/8000

Each line of the Profile SDP Description consists of text of the form <type>=<value>. <type> is always exactly one character and is case-significant. <value> is a structured text string whose format depends on <type>. It also will be case-significant unless a specific field defines otherwise. Whitespace is not permitted either side of the `=' sign. In general <value> is either a number of fields delimited by a single space character or a free format string.

In our Profile SDP Description, only 2 <type> are used.


Contents

Media Announcement

The format of media announcement is as follows.

m=<media> <port> <transport> <fmt list>
  • The first sub-field is the media type. Currently defined media for TMedia is "audio".
  • The second sub-field is the transport port to which the media stream will be sent. In Toolpack, it is not specified in Profile SDP Description and therefore you should specify "0".
  • The third sub-field is the transport protocol. For most of the application, you may specify it as "RTP/AVP" - the IETF's Realtime Transport Protocol using the Audio/Video profile carried over UDP.
  • The fourth and subsequent sub-fields are media formats. For audio and video, these will normally be media payload types as defined in the RTP Audio/Video Profile. When a list of payload formats is given, this implies that all of these formats may be used in the session, but the first of these formats is the default format for the session. When the transport protocol is specified as "RTP/AVP", the payload format can be specified as either
    • the payload type number for static payload types
    • the payload type number along with additional encoding information for dynamically allocated payload types.


Here are a few examples of the payload type numbers.

PTencoding name
0PCMU
4G.723
8PCMA
13Comfort Noise
18G.729
96-127Dynamic


When you use dynamic payload types, you need to specify the additional encoding information using the attribute for media announcement.


Attribute for Media Announcement

A media description may have any number of attributes ("a=" fields) which are media specific. The format of attribute is as follows.

a=<attribute>
or
a=<attribute>:<value>

Here are some examples of attributes.


Dynamic payload type

You specify the additional encoding information for dynamic payload type in the following format:

a=rtpmap:<payload type> <encoding name>/<clock rate>[/<encoding parameters>]

For audio streams, <encoding parameters> may specify the number of audio channels. This parameter may be omitted if the number of channels is one provided no additional parameters are needed.


Other media specific attribute

The use of other media specific attributes depends on the specification of the RTP payload format for the specific media type. Here are some example of attributes.

  • a=fmtp:<format> <format specific parameters>

This attribute allows parameters that are specific to a particular format to be conveyed in a way that SDP doesn't have to understand them. The format must be one of the formats specified for the media. Format-specific parameters may be any set of parameters required to be conveyed by SDP and given unchanged to the media tool that will use this format.

  • a=ptime:<packet time>

This gives the length of time in milliseconds represented by the media in a packet. This is probably only meaningful for audio data. It should not be necessary to know ptime to decode RTP or vat audio, and it is intended as a recommendation for the encoding/packetisation of audio. It is a media attribute, and is not dependent on charset.


Examples

Here are 2 examples of the attributes found in the default profile SDP description.

 a=rtpmap:97 iLBC/8000
 a=fmtp:97 mode=20

The above defines iLBC codec of 8000/sec sample rate with 20ms frame size.

 a=rtpmap:98 telephone-event/8000

The above defines the DTMF relay using RFC2833.


References

Personal tools