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: 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