ITU H.323/H.245 Use of Speex
Application is underway to make Speex a standard ITU codec.
However, until that is finalized, Speex MAY be used in H.323 by
using a non-standard codec block definition in the H.245 codec
capability negotiations.
As requested by the IETF we have removed ITU information out of the Internet Draft into this location.
NonStandardMessage format
For Speex use in H.245 based systems, the fields in the
NonStandardMessage should be:
- t35CountryCode = Hex: B5
- t35Extension = Hex: 00
- manufacturerCode = Hex: 0026
- [Length of the Binary Sequence (8 bit number)]
- [Binary Sequence consisting of an ASCII string, no NULL terminator]
The binary sequence is an ascii string merely for ease of use.
The string is not null terminated. The format of this string is
speex [optional variables]
The optional variables are identical to those used for the SDP
a=fmtp strings discussed in section 5 above. The string is built
to be all on one line, each key-value pair separated by a
semi-colon. The optional variables MAY be omitted, which causes
the default values to be assumed. They are:
ebw=narrow;mode=3;vbr=off;cng=off;ptime=20;sr=8000;penh=no;
The fifth octet of the block is the length of the binary sequence.
NOTE: this method can result in the advertising of a large number
of Speex 'codecs' based on the number of variables possible. For
most VoIP applications, use of the default binary sequence of
'speex' is RECOMMENDED to be used in addition to all other options.
This maximizes the chances that two H.323 based applications that
support Speex can find a mutual codec.
H.323 applications MUST use the H.245 H2250LogicalChannelParameters encoding to convey the RTP payload ID mapping.
Packet-based Multimedia Communications Systems
Control of communications between Visual Telephone Systems and Terminal Equipment