Prosody RTP processing: API: sm_vmptx_config_codec_gsmfr

Prototype Definition

int sm_vmptx_config_codec_gsmfr(struct sm_vmptx_codec_gsmfr_parms *codecp)

Parameters

*codecp
a structure of the following type:
typedef struct sm_vmptx_codec_gsmfr_parms {
	tSMVMPtxId vmptx;					/* in */
	tSM_INT payload_type;					/* in */
	enum kSMGSMVariant {
		kSMGSMVariantStandard,
		kSMGSMVariantMS,
	} variant;						/* in */
	enum kSMVMPTxVADMode VADMode;				/* in */
	tSM_INT frames_per_packet;				/* in */
} SM_VMPTX_CODEC_GSMFR_PARMS;

Description

Configures a VMP[tx] to use GSM full-rate for encoding data.

This requires the module gsm-fr to have been downloaded.

Fields

vmptx
The VMP[tx] to which to add this 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.
variant
One of these values:
kSMGSMVariantStandard
Use the standard GSM 06.10 codec.
kSMGSMVariantMS
Encode packets using the alternate MS-GSM encoding scheme. The GSM 06.10 codec itself is identical, however the bitstream is packed with two frames in 65 bytes instead of one frame in 33 bytes. If this variant is used then frames_per_packet must be a multiple of 2.
VADMode
The mode of operation for the voice activity detector. One of these values:
kSMVMPTxVADModeDisabled
Disable VAD - all data delivered to the VMP[tx] is encoded and sent
kSMVMPTxVADModeEnabled
Enable VAD - if the signal is inactive, no data is sent (DTX)
kSMVMPTxVADModeComfortNoise
Enable VAD with comfort noise generation - if the signal is inactive, comfort noise packets are sent. If the main codec does not define its own comfort noise, it must have been configured by sm_vmptx_config_codec_comfort_noise().
frames_per_packet
The number of frames to send per packet. This value is normally one, which encodes 20 milliseconds per packet, but larger values can be used, reducing the packet overhead at the expense of extra delay.

Returns

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


This function is part of the Prosody RTP processing API.