Starting with LumenVox version 15.0, a new method of taking LumenVox Media Servers out of service was introduced. This Administrative Out-Of-Service option allows system administrators to gracefully extract a LumenVox Media Server from a production system without impacting overall performance.
Specifically, when this feature is enabled, any existing sessions being handled by the Media Server will continue to be processed unaffected by the change, however any new session requests will be rejected with one of a number of configurable response codes. Any current sessions are then permitted to continue until their natural conclusion, at which time, when all active sessions have concluded, the system administrator has the option of taking the Media Server offline to perform whatever maintenance is needed.
Note that this functionality assumes that the platform that is requesting ASR and TTS resources from the LumenVox Media Server can correctly handle this situation in a practical way. Often, platforms communicating with the Media Server have the ability to connect to multiple LumenVox servers, so that taking one of these servers out-of-service for some period does not adversely affect overall system performance.
Practical Use Case
From a practical perspective, let's say you have two LumenVox servers, each with it's own Media Server that communicates with a common telephony platform. Both systems are in service, and the load is being distributed between these two servers from the telephony platform, such that if one of the LumenVox servers were to fail for any reason, the telephony platform would route all MRCP ASR and TTS requests to the remaining server. In this type of configuration, assuming everything is working normally, a system administrator could change one of the LumenVox Media Servers into this Administrative Out-Of-Service mode.
After doing this, no new calls would be processed on the Media Server in the Out-Of-Service mode, and instead all new sessions would be handled by the other Media Server. The system administrator could then monitor the number of calls being handled by the Out-Of-Service Media Server (using the Dashboard) until the number of sessions drops to zero. At this time, all ASR and TTS sessions would be handled directly by the other server, meaning the Out-Of-Service Server could be shut down, or whatever maintenance is needed could be performed.
It is important to note that this Out-Of-Service functionality is heavily dependent on the ability of the client platform (asking the LumenVox Media Server for ASR and TTS resources) to route session requests appropriately in this situation. If there is only a single LumenVox server, or if the platform making ASR and TTS requests is unable to route traffic around a server in this Administrative Out-Of-Service state, this functionality may not be beneficial, and some scheduled system down-time may be needed in order to perform maintenance.
Taking a Media Server Out Of Service
The most practical way to change the out_of_service setting is to use the Dashboard's configuration page relating to the Media Server in question, which will update the out_of_service setting in media_server.conf without needing to restart the Media Server service.
After making this change, any subsequent RTSP or SIP resource requests will be refused and the corresponding Response Code will be returned to the requesting service (see below). In this mode, any existing sessions that were active at the time out_of_service mode was enabled will be permitted to continue operating as normal until their natural conclusion.
When running in this Out Of Service mode, system administrators can monitor the current number of session using the Media Server's application statistics within the Dashboard, as shown here:
Note that these values do not automatically refresh within the Dashboard, so you will need to periodically refresh the window to see the latest values.
Once the number of Current Calls reaches 0 when operating in Out Of Service mode, it means that this Media Server is no longer servicing any ASR or TTS requests, so may be able to be worked on. Again, it is important to note that this functionality is very much dependent upon the platform that is talking to the LumenVox Media Server and it's ability to be able to handle this Out Of Service situation correctly. You should verify this in a non-production environment to confirm it performs the way you expect before doing this to a live production system.
Returning a Media Server to active service
After a LumenVox Media Server has been placed into this Administrative Out-Of-Service mode, it will remain in that mode until the configuration setting is changed back to enable the service (setting the out_of_service configuration to 0).
This also includes any restarts of the Media Server service, or the Server on which the LumenVox services are running. The only way to return a LumenVox Media Server to active service is to change the out_of_service configuration back to 0, after which it will begin processing session requests as normal.
The most practical way to change the out_of_service setting is to use the Dashboard's configuration page relating to the Media Server in question, which allows this change to be made without the need to restart the Media Server.
Out Of Service Response Codes
When the Media Server is in the Administrative Out-Of-Service mode, any requests for ASR or TTS resources that would normally be processed will result in a specified response code that informs the requesting server that the resource is not currently available. Because of differences between RTSP and SIP implementations, these may return a number of different response codes. Also, depending on how the requesting service (potentially a telephony platform) handles each of these response codes may vary depending implementation, so we have a number of configurable options of response codes that can be returned to accommodate some of these differences, as described below:
RTSP Response Codes
These RTSP Response Codes can be specified by changing the rtsp_out_of_service_code setting in media_server.conf to one of these values:
- = Not Found (default)
- = Service Unavailable
SIP Response Codes
These SIP Response Codes can be specified by changing the sip_out_of_service_code setting in media_server.conf to one of these values:
- = Temporarily Unavailable
- = Busy Here
- = Not Acceptable Here
- = Service Unavailable (default)
When the Out-Of-Service mode is enabled these response code will be returned to RTSP and SIP clients to indicate that the Media Server resources are not available. Different response codes are available to accommodate different types of client.
Note that when the Media Server is placed in the Administrative Out Of Service mode, attempting to perform any MRCP diagnostic tests within the Dashboard will fail with an "Out Of Serivce" message. This is correct and expected behavior