Media server configuration

media_server.conf

This file controls settings for the LumenVox Media Server.

It is located by default in mrcp-api/docker/lumenvox/media_server.conf  - see following steps to edit this file.

While the MRCP-API instance is running execute the following command: 

docker cp docker-cloud-media-server-1:/etc/lumenvox ./lumenvox 

Then stop the MRCP-API instance by running this command:

docker compose down

Then edit the following file "mrcp-api/docker/docker-compose.yml"  

volumes:     

             - ./certs:/certs      

            - ./lumenvox:/etc/lumenvox     

           - ./logs:/var/log/lumenvox/ 

Then edit the following file "mrcp-api/docker/lumenvox/media_server.conf"

* Description: Enables compatibility encoding of results. Contact LumenVox for
* details.
* Default Value: 0

 compatibility_mode = 1 

Then restart the MRCP-API instance by running this command: 

docker compose up -d


The following parameters can be set. The format to use within the configuration file is PROPERTY_NAME = VALUE



GLOBAL

This section contains global configuration settings for both SRE (Speech Engine) and TTS (text-to-speech server).

VERSION

Description: Contains information about the version of the software that created the configuration file. Do not modify this.

Possible Values: This should not be modified by users. 


mrcp_server_ip

Description: This is the one parameter you must modify for the Media Server to function properly. This should be the IP address of the machine the Media Server is running on. This will be used to generate responses to RTSP and SIP traffic, and must be an IP address that is reachable by the machine that your MRCP client platform is running on.

Possible Values: An IP address. 

Default Value: 127.0.0.1


mrcp_server_port_base

Description: The lowest-numbered port that will be used for MRCP. One port will be used per MRCP resource.

Possible Values: A valid port number.

Default Value: 20000   ( Note: prior to LumenVox legacy version 12.1, this value was 30000. See Network Ports and Ranges for details of why this was changed )


rtp_server_port_base

Description: The lowest-numbered port that will be used for RTP/RTCP. One pair of ports will be used per RTP resource, with RTP using the even port numbers.

Possible Values: A valid port number.

Default Value: 25000   ( Note: prior to LumenVox legacy version 12.1, this value was 35000. See Network Ports and Ranges for details of why this was changed )


num_channels

Description: The maximum number of channels to be used on the machine. Cannot exceed available licenses.  Setting this close to the right value for the machine will automatically scale resource usage for the specified number of channels.

Possible Values: 1-5000 ( channels / sessions )

Default Value: 200


mrcp_server_resmax

Description: The maximum number of concurrent resources. Practically speaking, this number can not be significantly greater than the number of port licenses you have for your ASR and TTS resources. There can be up to this number of RTP ports AND also sup to this number of MRCP ports, providing that licensing requirements are met. You should allow at least a small percentage of overhead above the maximum number of licenses you intend to use, since this will help the resource manager, and there is little cost for allocating more than you need.

Possible Values: An integer.

Default Value: auto   ( Note: prior to LumenVox legacy version 12.1, this value was 200. Setting this to auto now allows the num_channels option to determine the optimal value for this )


messaging_port (deprecated)

Description: this parameter sets the port on which the server will listen for incoming LVManager messages .

Possible Values: A valid port number.

Default Value: 7590

This setting has been deprecated


sre_ip (deprecated)

Description: If you are running the Media Server and SRE on different machines, set this value to the IP address of the machine(s) that is/are running the ASR.

Possible Values: A list of IP addresses and optional ports separated by semicolons. For instance, 127.0.0.1;10.0.0.1:5721 specifies a server at 127.0.0.1 using the default port of 5730, and a server at 10.0.0.1 using the port 5721.

Default Value: 127.0.0.1

This setting has been deprecated


enable_sre_logging (deprecated - see new setting available)

This setting has been deprecated - to save audio & metadata this needs to be enabled in SessionSettings.archives_session  see Protocol Documentation (lumenvox.com) 


enable_app_stat_logging

This setting has been deprecated  


listening_socket_size

Description: Sets the number of sockets that are allowed to backlog on the listen function.Reduce this number if your OS cannot handle the default value. A higher number here allows better call surge performance.

Possible Values: An integer in the range 5-1000.

Default Value: 5    ( Note: prior to LumenVox legacy version 12.1, this value was 150 )


port_allocation_mode

Description: Sets the mode used for MRCP/RTP port allocation.

Possible Values: 

  • 0 - ROUND-ROBIN approach, which may be optimal in large configurations
  • 1 - FIRST-AVAILABLE port uses lowest port number available.

Default Value: 0


num_spawning_threads

Description: Number of threads dedicated to handling RTSP and SIP call creation. Note that if you are planning to operate a large number of calls through the Media Server, and would like to allow for handling large spikes of inbound traffic, increasing this value is recommended.

Possible Values: 1-256

Default Value: auto    ( Note: prior to LumenVox legacy version 12.1, this value was 10. Setting this to auto now allows the num_channels option to determine the optimal value for this )


num_graveyard_threads

Description: Number of threads dedicated to performing RTSP and SIP session cleanup.

Possible Values: 1-256

Default Value: auto     ( Note: prior to LumenVox version legacy  12.1, this value was 10. Setting this to auto now allows the num_channels option to determine the optimal value for this )


num_mrcp_event_threads

Description: Number of MRCP processing threads.

Possible Values: 1-256

Default Value: auto      ( Note: prior to LumenVox legacy version 12.1, this value was 24. Setting this to auto now allows the num_channels option to determine the optimal value for this )


num_rtp_event_threads

Description: Number of RTP processing threads.

Possible Values: 1-256

Default Value: auto      ( Note: prior to LumenVox legacy version 12.1, this value was 12. Setting this to auto now allows the num_channels option to determine the optimal value for this )


max_num_rtp_packets_buffered

Description: Number of unprocessed RTP packets held when not in recognition mode.

Possible Values: 0-1000

Default Value: 0


max_rtp_packet_size

Description: Maximum size of received RTP packets. Setting this number higher will use more memory, but allows larger packets to be processed.

Possible Values: 180-3000 (bytes)

Default Value: 200

Added in 19.2.100


REUSE_SIP_TCP_SOCKET

Description: When set to true, and using MRCP v2 with TCP SIP sockets, the SIP socket will be kept open, even when all sessions are idle.  This provides better operability with platforms that prefer to re-use a single SIP TCP socket.

Possible Values: true or false

Default Value: false


sip_port

Description: Sets the mode used for MRCP/RTP port allocation.

Possible Values: A valid port number, or 0 to disable SIP interface

Default Value: 5060


sips_port

Description: The port the Media Server will listen for new MRCP v2 sessions (using the SIPS protocol).

Possible Values: A valid port number, or 0 to disable SIP interface

Default Value: 5061


sip_retransmission_interval

Description: SIP retransmission interval in milliseconds (SIP T1 timer). Media gateway will send the first retransmit message at SIP_RETRANSMISSION_INTERVAL milliseconds and keep doubling it until INVITE timeout. If it is set to 0, retransmission of SIP response messages is disabled.

Possible Values: 0, 500 to 32000 (should be less than the INVITE timeout)

Default Value: 0


sips_ssl_cert_file

Description: SSL certificate (*.pem) file to use with SIPS

Possible Values: A full path and certificate file name for certificate to use

Default Value: When no certificate is specified (default), a self signed certificate created during installation is used.


sips_cipher_list

Description: List of allowed ciphers to use during SIPS SSL/TLS negotiation.

Possible Values: Colon delimited list of one or more of the following: TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256, TLS_AES_128_GCM_SHA256, TLS_AES_128_CCM_8_SHA256, TLS_AES_128_CCM_SHA256

Default Value: All valid ciphers.


rtsp_port

Description: The port the Media Server will listen on for new incoming RTSP (MRCPv1) requests.

Possible Values: A valid port number, or 0 to disable RTSP interface

Default Value: 554


out_of_service

Description: When enabled(1) this will force any new calls/sessions to be rejected by the Media Server, allowing administrators to take it out of service. Any ongoing calls will be unaffected until the session ends.

Possible Values: 

  • 0 = Enable service (default). Sessions will be handled normally
  • 1 = Reject any new sessions, allowing existing sessions to continue.

Default Value: 0  (service is enabled)


rtsp_out_of_service_code

Description: When out_of_service is enabled(1) this response code will be returned to RTSP clients to indicate that the Media Server is out of service. Different response codes are available to accommodate different types of client.

Possible Values: 

  • 404 = Not Found
  • 503 = Service Unavailable

Default Value: 404  (Not Found)


sip_out_of_service_code

Description: When out_of_service is enabled(1) this response code will be returned to SIP clients to indicate that the Media Server is out of service. Different response codes are available to accommodate different types of client.

Possible Values: 

  • 480 = Temporarily Unavailable
  • 486 = Busy Here
  • 488 = Not Acceptable Here
  • 503 = Service Unavailable

Default Value: 503 (Service Unavailable)


VendorSpecific

This section controls LumenVox-specific parameters that affect the behavior of the Media Server for both MRCPv1 and v2 traffic.

wind_back_time

Description: Amount of audio, in milliseconds, before voice activity has been detected that is sent to the speech recognition engine for decoding. Increasing this value may help if call logs show clipping at the beginning of decoded audio.

Possible Values: A time in ms (0-5000).

Default Value: 480


barge_in_timeout

Description: The amount of time in milliseconds the ASR will wait for speech before it returns a no-input event.

Possible Values: A time in ms (0-40000).

Default Value: 15000


end_of_speech_timeout

Description: Default number of milliseconds between barge-in and end-of-speech before timing out.

Possible Values: A time in ms (0-400000).

Default Value: 20000


vad_stream_init_delay

Description: Milliseconds of silence/noise/non-speech-data that can be guaranteed before the user starts speaking. This time is used in initializing some parameters. The longer this value the better the estimate. It is recommended to be 1 sec if that amount of data can be guaranteed to be non speech in the particular application

Possible Values: A time in ms.

Default Value: 100


vad_bargein_threshold

Description: Adjusts the setting of how sure the VAD needs to be that audio is human speech (as opposed to non-speech) before triggering barge-in. The higher the value, the more sure the algorithm needs to be that the frame is speech before barge-in occurs.

Possible Values: 0-100

Default Value: 50


compatibility_mode

Description: Enables compatibility encoding of results with other vendors.

Possible Values: 

  • 0 = Default LumenVox Mode
  • 1 = Compatibility Mode

Default Value: 0


secure_context

Description: When set to 1, sensitive recognizer data will be suppressed from logs. This provides additional security for sensitive data such as account numbers and passwords that may be used within applications. Anywhere that sensitive data would have been recorded will be replaced with _SUPPRESSED in the logs.

Possible Values: 

  • 0 = Default Logging
  • 1 = Secure Context Enabled (sensitive data will be suppressed)

Default Value: 0


tts_secure_context

Description: When set to 1, sensitive synthesizer data will be suppressed from logs. This provides additional security for sensitive data such as account numbers and passwords that may be used within applications. Anywhere that sensitive data would have been recorded will be replaced with _SUPPRESSED in the logs.

Possible Values: 

  • 0 = Default Logging
  • 1 = Secure Context Enabled (sensitive data will be suppressed)

Default Value: 1


MRCP

Parameters in this section define how the Media Server will work with both MRCPv1 and MRCPv2.

save_waveform

Description: Overrides the default behavior of the Save-Waveform header.

Possible Values: 

  • true (audio will be saved to disk)
  • false (audio will not be saved to disk)

Default Value: false


waveform_url_location

Description:Specifies the location to save waveforms to. If this is blank, it will be disabled.

Possible Values: A path on disk. Please ensure that the Media Server process has write access to this location.

Default Value: (blank)


remove_waveform_files

Description: If enabled, any waveform files saved to disk will be erased at the end of a given MRCP session.

Possible Values: 

  • 0 (off) - waveform files will not be erased at the end of the session
  • 1 (on) - waveform files will be erased at the end of the session

Default Value: (blank)


waveform_url_prefix

Description: Specifies prefix of returned wavefile URLs. This prefix will be returned with the filename appended. The default waveform_url_location will be used if this value is not set. Using this option may be useful when exposing these files via some HTTP/HTTPS server, allowing you to specify a different returned URL in place of the actual location of the audio file(s) on the file system.

Possible Values: A prefix of your choosing, or blank for no prefix

Default Value: (blank)


send_sip_trying

Description: Some clients may require the optional '100 TRYING' messages to be returned from INVITE requests prior to OK. Most clients do not require this response. Set this to 1 (enabled) if you explicitly need these responses when using SIP, otherwise leave as the default 0 (disabled).

Possible Values: 

  • 0 (disabled) - SIP TRYING messages will not be sent
  • 1 (enabled) - SIP TRYING messages will be sent

Default Value: 0


use_speech_incomplete

Description: When enabled (1) the Media Server will use the greater of either speech-complete-timeout or speech-incomplete-timeout. When disabled, speech-incomplete-timeout will be ignored and timing will be based on speech-complete-timeout alone..

Possible Values: 

  • 0 (disabled) - speech-incomplete-timeout will be ignored (compatible with versions prior to 12.0)
  • 1 (enabled) - speech-incomplete-timeout will be used if greater than speech-complete-timeout

Default Value: 0


MRCPv1

The parameters in this section only apply to MRCPv1 sessions.

recognizer_resource_url

Description: The URL that clients will include in MRCPv1 requests for speech recognition resources. This value should be the same on both client and server

Possible Values: A URL.

Default Value: /media/speechrecognizer


synthesizer_resource_url

Description: The URL that clients will include in MRCPv1 requests for TTS resources. This value should be the same on both client and server

Possible Values: A URL

Default Value: /media/synthesizer


force_increment_rtsp_cseq

Description: When enabled (1), RTSP CSeq numbers will be incremented for server-originated packets. If disabled (0) the CSeq will correspond to the original request

Possible Values: 

  • 0 - CSeq will correspond to the original request (compatible with versions prior to 12.0)
  • 1 - CSeq will be incremented for server initiated packets, independent of client request CSeq numbers

Default Value: 0


enable_rtsp_idle_timeout

Description: Detects RTSP connections that remain idle after 10 seconds if enabled (1) and will drop the connection in such cases. If disabled (0), no such check is performed, meaning the client application is responsible for cleaning such idle connections.

Possible Values: 

  • 0 - Idle RTSP connections are ignored and allowed to remain idle for greater than 10 seconds after initial connection
  • 1 - Idle RTSP connections will be disconnected after 10 seconds of initial inactivity (compatible with versions prior to 13.1).

Default Value: 0


MRCPv2

The parameters in this section only apply to MRCPv2 sessions.

mrcp_tls_cert_file

Description: SSL certificate (*.pem) file to use with MRCPv2/TLS

Possible Values: A full path and certificate file name for certificate to use

Default Value: When no certificate is specified (default), a self signed certificate created during installation is used.


mrcp_tls_cipher_list

Description: List of allowed ciphers to use during MRCPv2 TLS negotiation.

Possible Values: Colon delimited list of one or more of the following TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256, TLS_AES_128_GCM_SHA256, TLS_AES_128_CCM_8_SHA256, TLS_AES_128_CCM_SHA256

Default Value: All valid ciphers.


allow_unauthenticated_srtp

Description: When enabled (1), SIPS calls that specify UNAUTHENTICATED_SRTP in SDP crypto parameter will be allowed. If disabled (0) SIPS calls that specify UNENCRYPTED_SRTP in all SDP crypto parameter will not be allowed.

Possible Values: 0 or 1

Default Value:  1


allow_unencypted_srtp

Description: When enabled (1), SIPS calls that specify UNENCRYPTED_SRTP in SDP crypto parameter will be allowed. If disabled (0) SIPS calls that specify UNENCRYPTED_SRTP in all SDP crypto parameter will not be allowed.

Possible Values:  0 or 1

Default Value: 1




Was this article helpful?
Copyright (C) 2001-2024, Ai Software, LLC d/b/a LumenVox