Configuring application sessions

The session.xml enables per-session configuration of parameters. It is especially useful when hosting multiple tenants with different configuration needs on the same server.

Examples of session level parameters (session defaults) include:

  • Company and application names (simplifies log file organization and tuning).
  • Recognition models, languages, caching, result parameters, and others.
  • Vocalizer voices, languages, volume controls, and others.
  • Speech Server media-type, save-waveform, accept-charset, and others.
  • Encryption parameters to protect confidential information.

Applications configure Nuance speech products at the start of each session using a session.xml file. The session.xml is the most practical and convenient way to customize and tune the system, because it does not require physical access to the machines hosting the Nuance products.

The session.xml is not the only means of configuration. Applications specify properties that the voice platform passes to Nuance speech products, and applications can configure each product individually.

The MRPC client sends the session.xml to Speech Server in the SIP INVITE message (session.xml is not supported in MRCPv1 environments because they use RTSP instead of SIP). You can also define a default session.xml.

Configuring sessions (session.xml)

A session.xml sets a default configuration at the start of a session. The file has separate sections for each Nuance speech product.

  • The session.xml values override the Nuance product installation defaults. For a summary, see Adding parameters to session.xml.
  • Parameters in a session.xml are useful for general tuning of sessions. During a session, applications can override session defaults at any time by setting VoiceXML and Nuance-specific properties.
  • The session.xml does not contain all possible parameters. Many other parameters are set via other methods (for example, inside of speech grammars or during the session by the application).

Specifying a default session.xml

During installation, Nuance Speech Server creates a sample session.xml at this location:

$NSSSVRSDK/config/example_session.xml

To define a default file, set the following parameter on the Speech Server using the Management Station:

Parameter

Description

Default

server.default.session.xml.path

Location of the default session.xml file.

(none)

If the browser sends a session.xml at the start of a session, the system ignores the default file. If no session.xml is sent, the system uses the default.

session.xml structure

A session.xml has separate sections for each of the Nuance speech products. The main sections are:

<sessionparameters>
  <global>
  <logging>
      Parameters for session logging, including encryption security.
  <speechserver>
      Contains subsections for recognizer, synthesizer and 
      recorder parameters that are set via Speech Server.
  <speechrecog>
      Parameters set directly in the recognizer.
  <speechsynth>
      Parameters set directly in the TTS engine.
<resourcehints>
     Declares hints for resources, but does not impact the session
     parameters. Values in this section will not be used as session
     defaults. Instead they trigger a preload of specified resources.