Prosody RTP processing: API: sm_vmptx_config_codec_tetra

Prototype Definition

int sm_vmptx_config_codec_tetra(struct sm_vmptx_codec_tetra_parms *codecp)

Parameters

*codecp
a structure of the following type:
typedef struct sm_vmptx_codec_tetra_parms {
	tSMVMPtxId vmptx;					/* in */
	tSM_INT payload_type;					/* in */
} SM_VMPTX_CODEC_TETRA_PARMS;

Description

There is not currently a standard packet encoding for wrapping TETRA-encoded speech into RTP. This implementation creates RTP frames that have standard RTP header followed by: ETSI two octet Payload header (with bits for framing rate, frame number, information element control, traffic type, contents control and payload) - the payload header follows the format described in ETSI TS 100 392-3-8 V0.0.8 section 5.2.1 TETRA ISI payload encoding. Two 18 octet tetra frames - each frame consisting of BFI bit followed by 137 bits of tetra encoded data (holding 30ms of encoded audio data according to traffic type 0 followed by 6 padding bits) - thus this pair of frames conveys 60ms of audio.

The tetra encoded data in the 18 octet tetra frames is always traffic type 0 - ACELP (ETS 300 395-2, 4.2.2.7) following MSB-LSB bit order.

This requires the module tetra to have been downloaded.

Fields

vmptx
The VMP[tx] to which to add the codec
payload_type
The payload type identifer to use with this codec (see IETF RFC 3550 section 13). Supplying a value of -1 will remove any payload type configuration from the codec preventing its use.

Returns

0 if call completed successfully, otherwise a standard error such as:


This function is part of the Prosody RTP processing API.