Hosted environments

A business environment that hosts multiple applications running for different customers (tenants) can reserve specific speech resources for particular tenants and can segregate data by company and application names. This can accommodate special requirements, such as:

  • Speech grammars and other artifacts that are extremely large or specific to the application.
  • Text-to-speech capabilities that are specific to the application. For example, voices in a particular language or dialect or dictionaries of special terms.
  • Special security provisions. For example, the application’s encryption key.
  • System priority to ensure high-demand applications get fast response.
  • Training company/application-specific acoustic models.

A Nuance speech-processing system implements company or application-specific resources as follows:

  1. When a call is received, the telephony service establishes a session, and based on the telephone number called, associates the session with a VoiceXML application root page and a session.xml file.

    The session.xml file contains parameters that control many aspects of the session, including company_name, application_name, and encryption key.

    These parameters are passed to each component of the system so that each component can keep track of company- or application-specific resources for the session.

    Note: A particular implementation may use a single application for multiple companies, or multiple applications for a single company.

  2. The voice browser starts the application and initiates a Speech Server session with an SIP INVITE message containing the session.xml file passed (or pointed to) by the telephony service. Using the information in this file, Speech Server acquires resources that are appropriate for the particular tenant’s request. To learn about using a session.xml file to access tenant-specific resources, see Nuance-specific capabilities.
  3. Nuance speech products use company name and application name to segregate resources. The system creates a directory that includes the company and application. Within that directory are two main branches: provisioning (resources used by the application) and data (output of the application).
    • Data: Data derived from a session is stored in a directory restricted to a particular company/application combination. That directory includes call logs, saved audio (but not whole call recordings), and possibly also diagnostic logs. To learn about defining and using this directory, and on controlling its contents, see application_name and company_name. (By default, Nuance products maintain a single diagnostic log. You can separate some session-specific diagnostic information by using the Speech Server parameter server.log.diagLogPerCompany.)
    • Provisions: This path contains resources the application requires; for example, special grammars, acoustic models, prompts, and so on. (If your system uses acoustic adaptation, you can adapt models separately by using the Nuance Recognizer parameter swirec_acoustic_adapt_root.)