Administrative Out-Of-Service
The Administrative Out-Of-Service option allows system administrators to gracefully remove a Capacity Private Cloud Media Server from a production system without impacting overall performance.
When this feature is enabled, any existing sessions being handled by the Media Server continue to be processed unaffected, however any new session requests are rejected with one of a number of configurable response codes. Active sessions are permitted to run to their natural conclusion, at which point—once all sessions have ended—the administrator can take the Media Server offline to perform whatever maintenance is needed.
Note that this functionality assumes that the platform requesting ASR and TTS resources from the Media Server can correctly handle this situation in a practical way. Often, platforms communicating with the Media Server can connect to multiple servers, so that taking one out-of-service for a period does not adversely affect overall system performance.
Practical Use Case
Consider a deployment with two servers, each running its own Media Server, both communicating with a common telephony platform. The load is distributed between the two servers such that if one were to fail, the telephony platform would route all MRCP ASR and TTS requests to the remaining server. In this configuration, an administrator could place one of the Media Servers into Administrative Out-Of-Service mode.
After doing this, no new calls would be processed on the Out-Of-Service Media Server—all new sessions would be handled by the other server. The administrator could then monitor the session count on the Out-Of-Service Media Server until it drops to zero, at which point the server can be shut down or have maintenance performed on it.
It is important to note that this functionality is heavily dependent on the ability of the client platform to route session requests around a server in Out-Of-Service state. If only a single server is available, or if the platform cannot reroute traffic appropriately, this feature may not be beneficial and scheduled downtime may be required instead. Verify this behavior in a non-production environment before relying on it in a live system.
Taking a Media Server Out Of Service
The out_of_service setting in media_server.conf can be changed to enable this feature. We recommend restarting the Media Server service after making this change.
Once enabled, any subsequent RTSP or SIP resource requests will be refused and the corresponding response code will be returned to the requesting service (see below). Any sessions that were active at the time Out-Of-Service mode was enabled will continue operating normally until their natural conclusion.
Once the session count reaches 0, the Media Server is no longer servicing any ASR or TTS requests and can be taken offline for maintenance.
Returning a Media Server to Active Service
Once a Media Server has been placed into Administrative Out-Of-Service mode, it remains in that mode until the configuration setting is changed back. This persists across restarts of the Media Server service or the host server. The only way to return the Media Server to active service is to set the out_of_service configuration back to 0 in media_server.conf, after which it will begin processing session requests normally. We recommend restarting the Media Server service after making this change.
Out Of Service Response Codes
When the Media Server is in Administrative Out-Of-Service mode, requests for ASR or TTS resources that would normally be processed will result in a response code informing the requesting server that the resource is not currently available. Because RTSP and SIP handle these differently—and because how a telephony platform responds to each code varies by implementation—several configurable options are available.
RTSP Response Codes
Set the rtsp_out_of_service_code setting in media_server.conf to one of the following values:
- 404 – Not Found (default)
- 503 – Service Unavailable
SIP Response Codes
Set the sip_out_of_service_code setting in media_server.conf to one of the following values:
- 480 – Temporarily Unavailable
- 486 – Busy Here
- 488 – Not Acceptable Here
- 503 – Service Unavailable (default)
Different response codes are available to accommodate the varying behaviors of different client platforms.
