MSS Class
This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.
The MSS class contains members for viewing and modifying Speech Server configuration settings. The MSS class incorporates many of the members in the SES and TAS classes from the previous release of Speech Server. Several members from the SES and TAS classes are now obsolete in the Speech Server. For a list of obsolete properties from the previous version of Speech Server, see the Obsolete Properties section in this topic.
The following syntax is simplified from Managed Object Format (MOF) code.
Syntax
class MSS
{
????????uint32 ShutdownTimeout;
????????uint32 TCPListeningPort;
????????uint32 TLSListeningPort;
????????uint32 InactiveTimeout;
????????string AudioConnectionIP;
????????uint32 AudioConnectionMinPort;
????????uint32 AudioConnectionMaxPort;
????????uint32 MaxIncomingCalls;
????????uint32 MaxOutgoingCalls;
????????uint32 MaxDiskCacheSize;
????????string WorkingFilesLocation;
????????uint32 UpperMemoryThreshold;
????????uint32 WorkerStartupTimeout;
????????string WireCodecList[];
????????uint8 TLSCertSerialNumber[];
????????string TLSCertIssuerName;
????????string InstallDir;
????????boolean UseMss2004TIM;
????????string WorkerProcessRecycleTime;
????????uint32 RemotingPort;
????????uint32 GracefulStop();
????????uint32 InvalidateCache();
????????uint32 RefreshSettings();
????????uint32 Recycle();
};
Methods
The MSS class has the following methods.
GracefulStop
Issues an asynchronous request to stop Speech Server after waiting for call sessions to end. The amount of time the method waits is determined by the value of the ShutdownTimeout property. Stopping the service in this manner differs from a normal stop request, which forcibly disconnects all current sessions and stops the service.
The method returns one of the values in the following table; any other value indicates an error.
Value | Description |
---|---|
0 |
Success |
2 |
Access denied |
8 |
Unknown failure |
This method is exposed in the Speech Server Administrator console.
InvalidateCache
Issues asynchronous request to Speech Server to invalidate cached pages. This request causes the service to reload the application manifest file and all associated resources. This request also causes Speech Server to reload the start page for any idle SALT interpreters and to recompile and recache any cached application prompt files or scripts.
The method returns one of the values in the following table; any other value indicates an error.
Value | Description |
---|---|
0 |
Success |
2 |
Access denied |
8 |
Unknown failure |
Information about the status of the InvalidateCache request is returned immediately. However, the service requires time to process control commands. The return code from the method indicates that the request was only accepted by the service, not that the request was successfully carried out.
Because this service control method is asynchronous, the client must take steps to obtain the results of the call. There are two possible ways to obtain results:
- Subscribe to an event that provides a notification when the service reaches the required state.
- Poll the instance and check the status property until it is correct or a time-out occurs.
This method is exposed in the Speech Server Administrator console.
Note
You can also invoke the InvalidateCache method using the following command at the command prompt: sc control MSSpeechService 131.
RefreshSettings
Issues an asynchronous request to Speech Server to retrieve updated settings from the registry. Use this method if you have changed properties and want them to take effect without restarting the Speech Server service.
Note
RefreshSettings does not affect properties that require a service restart for changes to those properties to take effect. To determine whether a property requires a service restart, see the property descriptions later in this topic.
The method returns one of the values in the following table; any other value indicates an error.
Value | Description |
---|---|
0 |
Success |
2 |
Access denied |
8 |
Unknown failure |
This method is not exposed in the Speech Server Administrator console.
Note
You can also invoke the RefreshSettings method using the following command at the command prompt: sc control MSSpeechService 132.
Recycle
Issues an asynchronous request to recycle the Speech Server worker processes. This method waits for active call sessions to complete but no longer than the amount of time specified by the ShutdownTimeout property. After that amount of time, active call sessions are disconnected and the processes are recycled.
The method returns one of the values in the following table; any other value indicates an error.
Value | Description |
---|---|
0 |
Success |
2 |
Access denied |
8 |
Unknown failure |
This method is not exposed in the Speech Server Administrator console and can only be issued using a WMI script.
Properties
The MSS class has the following properties.
ShutdownTimeout
Data type: uint32
Specifies the maximum time, in seconds, allowed for Speech Server to finish all ongoing sessions when the service receives a pause or graceful stop request (from the GracefulStop() method or sc command) or during an application domain or process recycle. At the end of this period, any remaining open sessions are forcibly closed and the service pauses, stops, or recycles. This time-out is not applied if the service is issued a request to stop immediately. When an immediate stop request is issued, all calls or sessions are disconnected immediately.
You must restart the Speech Server service for changes to this property to take effect. The default value of ShutdownTimeout is 300. This property is exposed in the Speech Server Administrator console.
TCPListeningPort
Data type: uint32
Specifies the port number on which Speech Server listens for incoming invites from SIP peers using TCP network connections
You must restart the Speech Server service for changes to this property to take effect. The default value of TCPListeningPort is 5060. This property is exposed in the Speech Server Administrator console.
TLSListeningPort
Data type: uint32
Specifies the port number on which Speech Server listens for incoming invites from SIP peers using TLS network connections
You must restart the Speech Server service for changes to this property to take effect. The default value of TLSListeningPort is 5061. This property is exposed in the Speech Server Administrator console.
InactiveTimeout
Data type: uint32
Specifies the maximum time, in seconds, allowed for the application start page to execute before taking a prescribed action. If the property is exceeded, Speech Server responds based on the current state of the application. The following table lists the responses for each case.
Application State | Speech Server Response |
---|---|
Start page execution if a SMEX message is not received from the SALT voice response application. |
Logs an error and execution of page failures. |
A request to download a Web resource if the resource has not yet been downloaded. |
Aborts the request and, if there is an active call, redirects the caller to a system error page, if one exists. |
Phone call completion if the SALT voice response application fails to exit or begin handling a new call. |
Logs an error and the application closes. |
Any other state. |
Resets the interpreter that was servicing the request. |
The default value of InactiveTimeout is 120. This property is exposed in the Speech Server Administrator console. Setting the value to zero (infinite timeout) is not recommended.
AudioConnectionIP
Data type: string
Specifies the specific IP address that Speech Server monitors for audio connection requests from a client. If not otherwise specified, the service listens to all IP addresses on the computer.
You must restart the Speech Server service for changes to this property to take effect. This property is exposed in the Speech Server Administrator console.
AudioConnectionMinPort
Data type: uint32
Specifies the minimum IP port of the port range that Speech Server monitors for audio connection requests from a client.
You must restart the Speech Server service for changes to this property to take effect. The default value of AudioConnectionMinPort is 1024.This property is exposed in the Speech Server Administrator console.
AudioConnectionMaxPort
Data type: uint32
Specifies the maximum IP port of the port range that Speech Server monitors for audio connection requests from a client.
You must restart the Speech Server service for changes to this property to take effect. The default value of AudioConnectionMaxPort is 65535. This property is exposed in the Speech Server Administrator console.
MaxIncomingCalls
Data type: uint32
Specifies the maximum number of simultaneous incoming calls for all telephony channels to the computer running Speech Server. Use this property to ensure that the number of incoming calls does not exceed the capacity of Speech Server.
You must restart the Speech Server service for changes to this property to take effect. This property is exposed in the Speech Server Administrator console.
MaxOutgoingCalls
Data type: uint32
Specifies the maximum number of simultaneous outgoing calls for all telephony channels from the computer running Speech Server. Use this property to ensure that the number of outgoing calls does not exceed the capacity of Speech Server.
You must restart the Speech Server service for changes to this property to take effect. This property is exposed in the Speech Server Administrator console.
MaxDiskCacheSize
Data type: uint32
Specifies the maximum size, in megabytes, of the disk cache used to store application resources, such as grammars and prompt databases.
The default value of MaxDiskCacheSize is 1024. This property is not exposed in the Speech Server Administrator console and can only be configured with a WMI script.
WorkingFilesLocation
Data type: string
Specifies the directory used by Speech Server to store application-specific temporary data.
You must restart the Speech Server service for changes to this property to take effect. The default value of WorkingFilesLocation is %TEMP%. This property is exposed in the Speech Server Administrator console.
UpperMemoryThreshold
Data type: uint32
Specifies the virtual memory usage, in megabytes, above which Speech Server logs an error, rejects requests for new sessions, and begins failover handling for the worker process.
You must restart the Speech Server service for changes to this property to take effect. The default value of UpperMemoryThreshold is 1600 (1.6 GB). The maximum value of this property is 3,072. This property is not exposed in the Speech Server Administrator console and can only be configured with a WMI script. Changes to these settings should be tested in a safe environment before implementing them on live production servers. Changing these settings can cause extensive changes to the entire system.
WorkerStartupTimeout
Data type: uint32
Specifies the maximum time, in milliseconds, that Speech Server waits for a worker process to start.
You must restart the Speech Server service for changes to this property to take effect. The default value of WorkerStartupTimeout is 900. This property is not exposed in the Speech Server Administrator console and can only be configured with a WMI script. Changes to these settings should be tested in a safe environment before implementing them on live production servers. Changing these settings can cause extensive changes to the entire system.
WireCodecList
Data type: string array
Specifies the prioritized list of codecs the platform uses during the media format negotiation with the SIP peer.
The default value of WireCodecList is an array consisting of the following values in priority order: "RTAudio16KHz" "RTAudio8KHz" "G.723.1(6.3)" "G.711u" "G.711a".
The listed order of the codecs determines the priority in which the codecs are used to negotiate the media format with SIP peers. If the SIP peer does not use a listed codec, the next one in the list is used until it is established that both endpoints (Speech Server and the SIP peer) are using the same codec. You can change the order based on the codec preference of the SIP peers communicating with Speech Server.
Note
If either of the RTAudio codecs (16 KHz or 8 KHz) is determined to be the negotiated media format, Speech Server only receives audio in that codec. To send audio, Speech Server uses the next mutually supported non-RTAudio codec in the list.
This property is exposed in the Speech Server Administrator console.
TLSCertSerialNumber
Data type: uint8 array
Specifies the serial number of the certificate to be used by Speech Server for Mutual TLS. The certificate must match the following criteria:
- The certificate must use the X.509 standard.
- The intended purpose must include server authentication.
- The certificate name must be the fully qualified domain name (FQDN) of the server.
- The date time stamps must make the certificate currently valid.
You must restart the Speech Server service for changes to this property to take effect. This property is exposed in the Speech Server Administrator console.
TLSCertIssuerName
Data type: string
Specifies the name of the issuer of the certificate used by Speech Server for Mutual TLS.
You must restart the Speech Server service for changes to this property to take effect. This property is exposed in the Speech Server Administrator console.
InstallDir
Data type: string
Specifies the directory in which Speech Server has been installed.
The default value of InstallDir is %ProgramFiles%\Microsoft Office Communications Server 2007 Speech Server\. This property is not exposed in the Speech Server Administrator console.
UseMss2004TIM
Data type: boolean
Specifies whether Speech Server expects to use a Telephony Interface Manager (TIM) for the audio connection of phone calls. If this property is set to true, Speech Server uses the protocols appropriate for communicating with TIM and the Telephony Interface Manager Connector (TIMC), a special type of SIP peer. If false, Speech Server communicates with SIP peers using SIP and Real-time Transport Protocol (RTP). Because of the boolean nature of this property, using TIMs and SIP peers (other than TIMC) simultaneously is not possible.
Note
You cannot use the Voice Response Debugging Window dialog box in Microsoft Visual Studio 2005 to call voice response application if UseMss2004TIM is set to true.
The default value of UseMss2004TIM is false. This property is not exposed in the Speech Server Administrator console and can only be configured with a WMI script. You must restart the Speech Server service for changes to this property to take effect.
For more information about TIMC, see TIMC Class.
WorkerProcessRecycleTime
Data type: string
Specifies the local time, in HH:MM format (24-hour clock), to automatically recycle the Speech Server worker processes. The scheduled recycle occurs once per 24-hour period. If this property is set to \"\", there is no scheduled recycle.
You must restart the Speech Server service for changes to this property to take effect. The default value of WorkerProcessRecycleTime is 03:00. This property is not exposed in the Speech Server Administrator console and can only be configured with a WMI script.
RemotingPort
Data type: uint32
Specifies the local remoting port on which the Speech Server service listens for connections from other Speech Server processes on the same computer (such as, SESWorker.exe). This property provides a way to configure the remoting port if another process on the computer running Speech Server is configured to use the same port.
Note
Speech Server does not start if it is configured to use the same remoting port as another process on the computer.
You must restart the Speech Server service for changes to this property to take effect. The default value of RemotingPort is 8036. This property is not exposed in the Speech Server Administrator console and can only be configured with a WMI script.
Obsolete Properties
While many properties from the obsolete SES and TAS classes in the previous version of Speech Server are included in the current MSS class, the following table lists properties that remain obsolete in Speech Server.
Property | Class |
---|---|
AllocationTimeout |
SES |
AllowAnonymousAccess |
SES |
AudioConnectionPort |
SES |
AudioConnectionTimeout |
SES |
AudioDataTimeout |
SES |
AudioHeaderTimeout |
SES |
DiskCacheLocation |
SES |
EnableAppSmex |
SES |
EnableAudioCompression |
SES |
EnableFailoverWorkerProcess |
SES |
EnablePromptEndSignal |
SES |
EngineAttributes |
TAS |
Lang |
TAS |
LoadMemoryLimit |
TAS |
LowerMemoryThreshold |
SES |
NumOutInterpOverride |
TAS |
ProcessMemoryLimit |
TAS |
RecordingDirectory |
TAS |
RecycleCallLimit |
TAS |
ScheduleRecycle |
TAS |
ScriptTimeout |
TAS |
SpeechBargeIn |
TAS |
SpeechServer |
TAS |
State |
SES, TAS |
StartPageIn |
TAS |
StartPageInRefreshTime |
TAS |
Remarks
Only one instance of the MSS class exists for each computer.
Requirements
Server: Requires Microsoft Windows Server 2003 with Speech Server.
Namespace: Included in \root\mssv2.
Windows Management Instrumentation (WMI) Script Example
The following WMI script retrieves the instance of the MSS class on the local computer and displays the value of each property.
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\MSSV2")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM MSS",,48)
For Each objItem in colItems
Wscript.Echo "-----------------------------------"
Wscript.Echo "MSS instance"
Wscript.Echo "-----------------------------------"
Wscript.Echo "AudioConnectionIP: " & objItem.AudioConnectionIP
Wscript.Echo "AudioConnectionMaxPort: " & objItem.AudioConnectionMaxPort
Wscript.Echo "AudioConnectionMinPort: " & objItem.AudioConnectionMinPort
Wscript.Echo "InactiveTimeout: " & objItem.InactiveTimeout
Wscript.Echo "InstallDir: " & objItem.InstallDir
Wscript.Echo "MaxDiskCacheSize: " & objItem.MaxDiskCacheSize
Wscript.Echo "MaxIncomingCalls: " & objItem.MaxIncomingCalls
Wscript.Echo "MaxOutgoingCalls: " & objItem.MaxOutgoingCalls
Wscript.Echo "RemotingPort: " & objItem.RemotingPort
Wscript.Echo "ShutdownTimeout: " & objItem.ShutdownTimeout
Wscript.Echo "TCPListeningPort: " & objItem.TCPListeningPort
Wscript.Echo "TLSCertIssuerName: " & objItem.TLSCertIssuerName
If isNull(objItem.TLSCertSerialNumber) Then
Wscript.Echo "TLSCertSerialNumber: "
Else
Wscript.Echo "TLSCertSerialNumber: " & Join(objItem.TLSCertSerialNumber, ",")
End If
Wscript.Echo "TLSListeningPort: " & objItem.TLSListeningPort
Wscript.Echo "UpperMemoryThreshold: " & objItem.UpperMemoryThreshold
Wscript.Echo "UseMss2004TIM: " & objItem.UseMss2004TIM
If isNull(objItem.WireCodecList) Then
Wscript.Echo "WireCodecList: "
Else
Wscript.Echo "WireCodecList: " & Join(objItem.WireCodecList, ",")
End If
Wscript.Echo "WorkerProcessRecycleTime: " & objItem.WorkerProcessRecycleTime
Wscript.Echo "WorkerStartupTimeout: " & objItem.WorkerStartupTimeout
Wscript.Echo "WorkingFilesLocation: " & objItem.WorkingFilesLocation
Next
See Also
Other Resources
Speech Server Administration Through WMI
Server Administration