# Configuring the Video Messaging Server Interface

Create a configuration file (srv.cfg) to set up the Video Messaging Server Interface. Each line of the configuration file must specify a different parameter value. The format of a line is:

<Parameter> = <Value>

Any text on a line appearing after a hash character (#) is ignored as a comment.

The following tables describe the types of parameters in the srv.cfg file:

- IP interface

- System

- Play and record

- Silence detection

- Audio and video codec

- 3GP

## IP interface parameters

The parameters in the following table define IP interface settings for the Video Messaging Server Interface:

Parameter | Type | Default | Description
destIPAddr_audio | string | 10.1.8.94 | IP address of the system (3G-324M Interface) receiving the audio RTP stream from the server.
destIPAddr_video | string | 10.1.8.94 | IP address of the system (3G-324M Interface) receiving the video RTP stream from the server.
destPort_audio | DWORD | 1000 | UDP port on the remote system (3G-324M Interface) receiving the audio RTP stream.
destPort_video | DWORD | 2000 | UDP port on the remote system (3G-324M Interface) receiving the video RTP stream.
frame_quota | int | 2 | Number of audio frames assembled in each packet.
srcIPAddr_audio | string | 10.1.8.94 | IP address of the server sending or receiving the audio RTP stream.
srcIPAddr_video | string | 10.1.8.94 | IP address of the server sending or receiving the video RTP stream.
srcPort_audio | DWORD | 3000 | UDP port on the server receiving the audio RTP stream from the 3G-324M Interface.
srcPort_video | DWORD | 4000 | UDP port on the server receiving the video RTP stream from the 3G-324M Interface.
useIPv6 | int | 0 | IP network type for the server: 0: IPv4 1: IPv6

## System parameters

The parameters in the following table describe the system parameters for the Video Messaging Server Interface:

Parameter | Type | Default | Description
enableAVsync | int | 0 | Enables or disables audio and video RTP endpoints to perform incoming skew calculations: 0: Disables RTP endpoints from performing incoming skew calculations. 1: Enables endpoints to perform incoming skew calculations.
nBoardType | int | 6000 | CG board type (6000, 6060, 6500, 6565).
nPorts | init | 1 | Number of ports to run.
vidSkewTime | int | 0 | Video skew (in ms) that is set by the application and sent to the board to adjust video skew with respect to audio. A positive value indicates that the video lags audio. A negative value indicates that the video leads audio. The maximum value is 4095.

## Play and record parameters

The parameters in the following table define play and record audio and video settings for the Video Messaging Server Interface:

Parameter | Type | Default | Description
audio_buffer_size | int | 4000000 | Maximum audio file size (in bytes) that can be recorded.
AutoPlay | DWORD | 0 | Enables or disables an immediate play after completion of H.245 negotiation. 0: Disables immediate play. 1: Enables immediate play.
AutoPlayList | int | 0 | Enables or disables automatic play of files from the list after the call setup. The files are listed in the ListFileName file. 0: Does not start automatically playing files from the list. 1: Automatically starts playing files from the list after the call setup.
AutoPlayRec | int | 0 | Enables or disables simultaneous play/record after call setup. 0: Does not start simultaneous play/record after call setup. 1: Starts simultaneous play/record after call setup. This setting automatically affects the AutoRecord, AutoPlay, and AutoPlayList parameters when they are set to 0.
AutoRecord | DWORD | 0 | Enables or disables immediate start of recording after completion of H.245 negotiation. 0: Does not automatically start recording. 1: Starts recording immediately.
enable_Iframe | DWORD | 1 | Determines when recording on audio and video channels begins. 0: Recording begins immediately after the ADI multimedia recording function is called. 1: Recording begins upon receipt of next I-frame.
ListFileName | int | autoplay.lst | Name of file that contains the list of files to start playing after the call is set up. Only used if AutoPlayList = 1.
Maxtime | DWORD | 0 | Maximum allowed time for recording (in hundreds of milliseconds). If Maxtime is exceeded, recording is immediately terminated and all files are closed. 0: Disables this time limit.
PartialBuffers | int | 0 | Specifies either synchronous or asynchronous play/record. 0: Synchronous play/record. 1: Asynchronous play/record.
video_buffer_size | int | 4000000 | Maximum video file size (in bytes) that can be recorded.

## Silence detection parameters

The parameters in the following table define silence detection settings for the Video Messaging Server Interface:

Parameter | Type | Default | Description
audioStop_InitTimeout | DWORD | 0 | Enables or disables automatic stop of audio and video recording when audio silence (for example, no voice activity) is detected at the start of the audio recording. 0: Audio and video recording is not automatically stopped. 1-65535: Number of milliseconds of silence needed to trigger the stop. This option has no effect on playback.
audioStop_SilenceLevel | DWORD | -45 | Audio level (in dBm) required to trigger audioStop_initTimeout or audioStop_SilenceTimeout. Range: -51 to -15 dBm
audioStop_SilenceTimeout | DWORD | 0 | Enables or disables automatic stop of audio and video recording when audio silence (for example, no voice activity) is detected while recording audio. 0: Audio and video recording is not automatically stopped. 1-65535: Number of milliseconds of silence needed to trigger the stop. This option has no effect on playback.
native_silence_detect | DWORD | 0 | Enables or disables silence detection: 0: Disables silence detection. 1: Enables silence detection.
videoStop_InitTimeout | DWORD | 0 | Enables or disables automatic stop of audio and video recording when the video signal is not present at the start of a recording session (for example, if the RTP packet stream is not transmitting). 0: Audio and video recording is not automatically stopped. 1-65535: Number of milliseconds of no video needed to trigger the stop. This option has no effect on playback.
videoStop_NosignalTimeout | DWORD | 0 | Enables or disables automatic stop of audio and video recording when the video signal is not present during a recording session (for example, if the RTP packet stream stops transmitting). 0: Audio and video recording is not automatically stopped. 1-65535: Number of milliseconds of no video needed to trigger the stop. This option has no effect on playback.

## Audio and video codec parameters

The parameters in the following table define audio and video codec settings for the Video Messaging Server Interface.

Parameter | Type | Default | Description
Audio_Record_Format1 | enum | None | Audio record format: 0: NO_AUDIO 1: N_AMR (passthrough or native AMR) 2: N_G723 (passthrough or native G.723) 3: F_G711U 4: F_G711A 5: F_G723_5 6: F_G723_6 7: F_GSM_FR 8: F_AMR_475 9: F_AMR_515 10: F_AMR_590 11: F_AMR_670 12: F_AMR_740 13: F_AMR_795 14: F_AMR_102 15: F_AMR_122
Audio_RTP_Format | enum | 11 (AMR_122) | Audio RTP format (only applies if audio transcoding is performed): 0: NO_AUDIO_RTP 1: G723_5 2: G723_6 3: G711 4: AMR_475 5: AMR_515 6: AMR_590 7: AMR_670 8: AMR_740 9: AMR_795 10: AMR_102 11: AMR_122
Video_Format | enum | 1 | Video format: 0: NO_VIDEO Non-zero: Video record format is based on the video codec negotiated in 3G-324M.

## 3GP parameters

The parameters in the following table define 3GP settings for the Video Messaging Server Interface.

Parameter | Type | Default | Description
3gpDirectWrite | unsigned long | 0 | Enables the 3GP library to wait until mmCloseFile is invoked before writing 3GP data to disk: 0: 3GP library waits until mmCloseFile is invoked before writing 3GP data to disk. 1: 3GP library writes data when mmWriteStream is invoked.
3gpFileName | string | record.3gp | 3GP file name.
3gpFileName_play | string | play.3gp | 3GP file name containing audio and video media used for play during simultaneous play/record operation.
createHintTracks | int | 0 | Enables or disables whether the 3GP library should create hint tracks for each track in the 3GP file. 0: Disables the creation of hint tracks. 1: Enables the creation of hint tracks.
getSDP | int | 0 | Enables or disables the retrieval of SDP-related parameters from 3GP file to be played. Data will be written to an output SDP file using outputSDPFileName. 0: Disables retrieval/storage of SDP information. 1: Enables retrieval/storage of SDP information.
inputSDPFileName | string | input.sdp | Input SDP file for setting of SDP-related parameters in recorded 3GP file. Enable the capability using setSDP.
outputSDPFileName | string | output.sdp | Output SDP file for storage of SDP-related parameters from 3GP file to be played. Enable the capability using getSDP.
seekTime | int | 0 | Uses mmSeekToTime to seek to the specified time during a play operation. The seek time is in ms and is relative to the start of the 3GP file. Valid values lie between the first sync point time and the last sync point time. A value of 0 disables seeking.
setSDP | int | 0 | Enables or disables the setting of SDP-related parameters in a recorded 3GP file, based on information in an input SDP file using inputSDPFilename. 0: Disables setting SDP information. 1: Enables setting SDP information.
skewCorrection | int | 0 | Enables the 3GP library to perform skew correction for an audio stream during a record operation. The application sets the skew correction time by using mmSetSkewCorrection. The 3GP library adjusts audio skew with respect to video by inserting or removing audio frames. skewCorrection is in ms. The range is -4095 to 4095 ms. 0: Disables skew correction. A positive value indicates that audio leads video. A negative value indicates that audio lags video.
useHintTracks | int | 0 | Enables or disables the 3GP library from using hint tracks for each track in the 3GP file. 0: Disables the use of hint tracks. 1: Enables the use of hint tracks.
writeSyncPoints | int | 0 | Enables or disables the 3GP library from creating sync points for random access support. 0: Disables the writing of sync points as part of the 3GP file. 1: Enables the writing of sync points as part of the 3GP file.