This topic contains frequently asked questions and answers about using Microsoft Speech Server (MSS).
| Q. | Can I use Windows Network Load Balancing (NLB) with MSS if IPsec is configured? | ||||||||||||||||||||||||
| A. | No. You cannot run NLB within an MSS computer network that has Internet Protocol Security (IPSec) configured. IPSec is based on an end-to-end security model, establishing trust and security from a source IP to a destination IP address. Typically, both sides require IPSec configuration, called an IPSec policy, to set options and security settings that will allow two computers (TAS and SES) to agree on how to secure traffic between them. NLB relies on the IP address and port of the source. With IPSec, this information is encapsulated and unavailable to NLB, thus the load balancing fails. You can work around this issue by creating an exemption that excludes the TAS and SES computers from the IPSec policy. For more information, see this Microsoft Knowledge Base article. | ||||||||||||||||||||||||
| Q. | Can I install MSS on a standalone computer so that it functions without external network resources? | ||||||||||||||||||||||||
| A. | Yes. Follow these steps:
Note: You cannot use localhost or the computer's network name; you must use 127.0.0.1. For more information about the properties in this procedure, see "Windows Management Instrumentation Reference" in Microsoft Speech Server 2004 Help. | ||||||||||||||||||||||||
| Q. | How can I access the Microsoft Management Console (MMC) snap-in for Microsoft Speech Server (MSS)? It doesn't show up on my Start menu. | ||||||||||||||||||||||||
| A. | To add the MMC snap-in for MSS
| ||||||||||||||||||||||||
| Q. | Is there any particular starting order for Speech Engine Services (SES), Telephony Application Services (TAS), and telephony interface manager (TIM) in a Microsoft Speech Server (MSS) environment? | ||||||||||||||||||||||||
| A. | The order does not matter as long as SES is started first. Typically, SES is started automatically when MSS is installed. After installation, SES can be started through the Microsoft Management Console (MMC) snap-in for MSS. TAS is dependent on TIM, but starting TAS will automatically start TIM, if TIM has not already been started. No calls will be answered until all three services are running. | ||||||||||||||||||||||||
| Q. | How do I configure Telephony Application Services (TAS) to use remote Speech Engine Services (SES)? | ||||||||||||||||||||||||
| A. | To configure TAS to use a remote SES computer
| ||||||||||||||||||||||||
| Q. | Microsoft Speech Server has 38 Speechify.exe tasks running in the Windows Task Manager. Is this normal? | ||||||||||||||||||||||||
| A. | Yes. Speechify is SpeechWorks® TTS object. There are 36 pre-started TTS instances plus two parent processes. | ||||||||||||||||||||||||
| Q. | How do I verify if the Speech Engine Services (SES) is functioning correctly? | ||||||||||||||||||||||||
| A. | Check the following:
| ||||||||||||||||||||||||
| Q. | There are many false/self barge-ins on my Microsoft Speech Server installation. What can be done to improve this? | ||||||||||||||||||||||||
| A. | Try these fixes:
| ||||||||||||||||||||||||
| Q. | Why doesn't the CallTransfer Application Speech Control work? | ||||||||||||||||||||||||
| A. | To use this control, make sure that you have a T1 robbed-bit line that connects to the server, and that the Dialogic card is configured properly. | ||||||||||||||||||||||||
| Q. | How do I allocate a fixed number of SALT Interpreters on the TAS server? | ||||||||||||||||||||||||
| A. | TAS allocates SALT Interpreters dynamically, based on the load and memory utilization. Microsoft strongly recommends that you not override this dynamic SALT Interpreter Management setting. However, you can do so by allocating a fixed number of channels using the Windows Management Instrumentation (WMI) properties. See the MSS Help documentation for more information. | ||||||||||||||||||||||||
| Q. | Which Global Call version do I need to install for running a T1-CAS line, which is required for a call-transfer facility? | ||||||||||||||||||||||||
| A. | Global Call Protocol package 3.0. You must install GC3.0 prior to the TIM for all installations. | ||||||||||||||||||||||||
| Q. | How do I view the source of the HTML file that the SALT Interpreter on MSS receives from the IIS Web server? | ||||||||||||||||||||||||
| A. | Telephony Application Simulator (TASim) enables you to view HTML source code when testing your applications. TASim is a SALT interpreter that enables developers to simulate using a telephony application on a telephony server, including dialog flow and call management. TASim is included with Microsoft Speech Application SDK 1.0 (SASDK), which is provided with Microsoft Speech Server (MSS). | ||||||||||||||||||||||||
| Q. | My application contains large grammars, which cause callers to experience high latencies as the grammars are loaded. How can I improve the response time? | ||||||||||||||||||||||||
| A. | You can preload these resources on the Speech Engine Services (SES). The PreloadedResourceManifest property is exposed in the Microsoft Management Console (MMC) snap-in for Microsoft Speech Server (MSS). The application manifest is an XML page that lists grammars and prompt databases that the application uses. At application startup, SES retrieves the application manifest and loads the listed resources. | ||||||||||||||||||||||||
| Q. | If Speech Server cannot connect to a remote Web server (for example, due to network connectivity issues), what is the default error handling of this situation? | ||||||||||||||||||||||||
| A. | You will receive 404 errors in the Event log on the Microsoft Speech Server. There are two other possibilities as well:
| ||||||||||||||||||||||||
| Q. | How do you specify the system error page for Telephony Application Services (TAS) when the server (on which TAS is installed) is unable to connect to a Web server? What if there is more than one error page defined? | ||||||||||||||||||||||||
| A. | For Microsoft Speech Server (MSS), TAS allows a speech application developer to specify a system error page using the HTML <meta> element. For example: <meta http-equiv="error-page" content="errorpage_url"/> When the TAS SALT Interpreter parses this declaration, it will download and cache the referenced error page and any referenced .wav files on the error page before the onload event is fired on the parent page. If more than one error page <meta> element is defined on a page, the first one is used and all others are ignored. Further details for this topic can be found in the Speech Application Server SDK (SASDK) Help documentation. | ||||||||||||||||||||||||
| Q. | The first QA takes a long time before the prompt plays. How can I speed this up? | ||||||||||||||||||||||||
| A. | When the first QA is instantiated, the Speech Engine Services (SES) computer must download the prompt database and grammar files from the Web server, compile them, and then load the compiled grammars and prompts into memory. Large grammars and prompt databases can be preloaded before they are requested using the PreloadedResourceManifest property of SES. You can also precompile the grammars prior to loading using the tool GC that ships with the SDK. Then reference the precompiled binary from within the QA. | ||||||||||||||||||||||||
| Q. | I've set the value of the beep property of a reco control contained in a QA control to true, but a beep is not played before recording begins. Is this expected behavior? | ||||||||||||||||||||||||
| A. | Yes, this is expected behavior. Disable bargein to hear the beep. | ||||||||||||||||||||||||
| Q. | If the first QA of the application: Has bargein, async and playonce attributes - and - Performs no recognition; Then the prompt is uninterruptible. Is this behavior by design? | ||||||||||||||||||||||||
| A. | Yes, this is by design according to the SALT specification, section 2.1.2.1. | ||||||||||||||||||||||||
| Q. | Is Hook Flash (Flash Hook) call transfer supported? | ||||||||||||||||||||||||
| A. | Yes. Hook Flash is supported for analog and Communicating Applications Specification (CAS) applications, but not over an Integrated Services Digital Network (ISDN). | ||||||||||||||||||||||||
| Q. | Is AT&T *8 call transfer supported? | ||||||||||||||||||||||||
| A. | Yes, but only by sending DTMF tones using a CSTA <GenerateDigits> message. | ||||||||||||||||||||||||
| Q. | Are 2B channel ISDN transfers supported? | ||||||||||||||||||||||||
| A. | Yes. | ||||||||||||||||||||||||
| Q. | Can I use a pause in Telephony Application Services (TAS) to take a channel out of service, thereby allowing switches to route calls to a different TAS? | ||||||||||||||||||||||||
| A. | No. This should be handled by telephony interface manager (TIM). | ||||||||||||||||||||||||
| Q. | What does the following error message about cookies mean? Error Message: A potentially dangerous Request.Cookies value was detected from the client (&eee="_18lBtVws+7ONE="). | ||||||||||||||||||||||||
| A. | If characters such as blanks and punctuation are passed in an HTTP stream using Request.Cookies, they can be misinterpreted at the receiving end. URL encoding converts characters that are not allowed in a URL into character-entity equivalents; URL decoding reverses the encoding. For example, when embedded in a block of text to be transmitted in a URL, the less-than character and the greater-than character (< and >) are encoded as %3c and %3d, respectively. Use the HttpUtility.UrlDecode(String) method instead. | ||||||||||||||||||||||||
| Q. | The VMSize for TASWorker remains high and constant (371,876) long after all lines have hung up. Is this expected behavior? | ||||||||||||||||||||||||
| A. | Yes. The Common Language Runtime (CLR) GC does not typically release virtual memory. | ||||||||||||||||||||||||
| Q. | What is the normal handle count for SESWorker? | ||||||||||||||||||||||||
| A. | Approximately 5000. | ||||||||||||||||||||||||