hp.telephony.media
Class ConfigSpec

java.lang.Object
  extended byhp.telephony.media.ConfigSpec
All Implemented Interfaces:
ConfigSpecConstants

public class ConfigSpec
extends Object
implements ConfigSpecConstants

Stores the information necessary to configure (or re-configure) a collection of resources. A ConfigSpec is essentially a read-only structure consisting of

or

A ConfigSpec used in configure() is obtained using the constructor, and is not modified thereafter. A ConfigSpec returned from getConfiguration() is inspected using one of the ConfigSpec field accessor methods.

ResourceSpecs tree:

A ConfigSpec implements a Composite design pattern made of a tree of Resource leaves and intermediate nodes.

ResourceSpecs can be organized into AND or XOR nodes :

An example of Resources which can work in parallel, Player and Recorder. On the other hand, a choice has to be made between TTS, Signal Generator and Player.

Although any ResourceSpec can be used to build a ConfigSpec, the structure of the Resource tree has to fit within OC MP operational framework. Actually, the only changes from the following scheme can consist in either removing ResourceSpecs, or defining specific attributes.

    static final ConfigSpec gpConfig = new ConfigSpec(new ResourceSpec[] { //behaves as an And node.
       new ResourceSpec.Alt(new ResourceSpec[] { 
          ResourceSpec.protocol1MasterSMSPlayerRecorder,
          ResourceSpec.protocol1SlaveSMSPlayerRecorder,
          ResourceSpec.protocol2MasterSMSPlayerRecorder,
          ResourceSpec.protocol2SlaveSMSPlayerRecorder,
          new ResourceSpec.And(new ResourceSpec[] { 
             ResourceSpec.basicEchoCanceller,
             ResourceSpec.basicSignalDetector,
             ResourceSpec.nuanceSpeechDetector, //or hpSpeechDetector ;  in this case we do not use a dynamic Alt !
             new ResourceSpec.Alt(new ResourceSpec[] { 
                ResourceSpec.basicFax,                              // can be removed, e.g., if no fax capability required
                new ResourceSpec.Alt(new ResourceSpec[] { 
                   new ResourceSpec.And(new ResourceSpec[] { 
                      new ResourceSpec.Alt(new ResourceSpec[] { 
                         ResourceSpec.silencePlayer, 
                         ResourceSpec.rtpPlayer, 
                         ResourceSpec.basicPlayer, //or volumePlayer or speedPlayer or enhancedPlayer or new ResourceSpec(Player.class, null, params) -- see note
                         ResourceSpec.basicSignalGenerator 
                      }),
                      new ResourceSpec.Alt(new ResourceSpec[] { 
                         ResourceSpec.rtpRecorder, 
                         ResourceSpec.basicRecorder 
                      })
                   }),
                   ResourceSpec.basicConference 
                } )//end of And ...
             } )//end of Alt basicFax,...
          } )//end of And ...
       } )//end of Alt protocol*SMSPlayerRecorder,...
    }, 2000 , null, null, null);
 
In other word, one can remove any ResourceSpec... from the tree listed above, even a whole ResourceSpec.Alt or ResourceSpec.And strucuture, in order, e.g., to save memory or computation power (as this is the case with Voice Activity Detectors aka SpeechDetectors, basicSignalDetector and EchoCanceller). Using AsyncMediaGroup.setParameters(Dictionary) or the last arg of play() and record() is preferred to codec flavors of Player and Recorder ResourceSpecs.
     private static final Hashtable wavParams = new Hashtable();
     static {
        wavParams.put(Recorder.p_CoderTypes, new Symbol[] { CoderConstants.v_ADPCM_32k });
        wavParams.put(Player.p_FileFormat, PlayerConstants.v_WavFormat);
     }
     
     new ResourceSpec(Player.class, null, wavParams)   // BAD
     
     mg.setParameters(wavParams);   // OK
  //or
     mg.play("/tmp/menu.wav", 0, null, wavParams);   // OK
 
A very interesting example is the way the basicPlayer can be viewed as
     new ResourceSpec(Player.class, null, null)
 
which, in turn, can be decorated as
     private static final Hashtable speedParams = new Hashtable();
     private static final Hashtable volumeParams = new Hashtable();
     private static final Hashtable enhancedParams = new Hashtable();// combines a_Speed and a_Volume
     static {
        speedParams.put(Player.a_Speed, Boolean.TRUE);
        volumeParams.put(Player.a_Volume, Boolean.TRUE);
        enhancedParams.put(Player.a_Speed, Boolean.TRUE);
        enhancedParams.put(Player.a_Volume, Boolean.TRUE);
     }
     ...
     new ResourceSpec(Player.class, null, enhancedParams) //or speedParams or volumeParams
     ...
 

Timeout:

Note: Mentionned for information only. Not implemented within OC MP.

Timeout indicates how long the application is willing to wait for the configuration process to complete. The implementation is allowed to wait up to timeout milliseconds for resources to become available. If the requested resources are not available at that time, configuration will fail, and the application can continue to interact with the caller using the previously configured resources.

Note: Timeout may be specified as ResourceConstants.FOREVER (or -1). Other negative values for timeout may generate an IllegalArgumentException.

Attributes:

Note: Mentionned for information only. Not implemented within OC MP. "initial parameter settings" is the preferred method.

When configuring a MediaGroup, the media provider may have choices regarding how and where the Resources are implemented. If the application is sensitive to the possible alternatives, it can specify the particular type of implemention required by supplying a Dictionary that defines a value for the attributes of interest.

The defined attributes for a ConfigSpec are described in ConfigSpecConstants.

Main pre-defined ConfigSpecs:

Note: Regarding "Conference", there are 2 main use cases :

Several simple ConfigSpec objects are pre-defined, here are the main ones :

The following ConfigSpec are intended for individual user legs
used with loopCP()
basicConfig requests the default SignalDetector, SignalGenerator, and alternating use of the default Player and Recorder
userConferenceConfig requests the default Signal Detector and alternating use of [Conference] and [(alt: Player/SignalGenerator) and Recorder].
There are numerous other ConfigSpecs intended to be used wrt exactly 1 (one) CP.
Those ConfigSpec are intended for use with the global MG of a Conf
used with loopCONF()
playerConferenceConfig requests the use of (alt: Player/Signal Generator) and Conference
recorderConferenceConfig requests the use of Recorder and Conference.
rtpPlayerConferenceConfig requests the use of (alt: Player/Player_rtp/Signal Generator) and Conference
rtpRecorderConferenceConfig requests the use of (alt: Recorder/Recorder_rtp) and Conference.
basicASRTTSConfig requests the default Signal Detector, alternating use of the default Player and the RTP Player, and alternating use of the default Recorder and the RTP Recorder.
As of OC MP 2.4C2, these are the 4 (four) ConfigSpecs intended to be used, separately, to/from a set of CP.

Note: ConfigSpec.anyConfig is identified by (ResourceSpec[] == null).
An empty ResourceSpec[], that is: (ResourceSpec[] = new ResourceSpec[]) indicates a configuration with no Resources.

Note: This specification does not constrain how or whether the structured sub-components of a ConfigSpec are shared or copied between uses. Application developers are advised that there may be side-effects if an Array or Dictionary used in a ConfigSpec is subsequently modified. For example, it would be poor practice to modify the ResourceSpec[] returned from basicConfig.getResourceSpecs(). Modifications should be made only to copies of such Arrays or Dictionaries.

FAQ: The ConfigSpec returned from getConfiguration is not the same ConfigSpec used in a previous configure. For example, the ResourceSpec[] in the returned ConfigSpec will contain descriptions of the Resources actually configured. Also, the Attributes of the ConfigSpec may contain additional attributes that were not mentioned in the ConfigSpec passed to configure.

Since:
OCMP 2.0

Field Summary
static ConfigSpec anyConfig
          A ConfigSpec instance that specifes that any configuration of Resources is acceptable.
static ConfigSpec basicADPCMConfig
          Deprecated. Using setParameters() or the last arg of play() and record() is preferred to codec flavored ConfigSpec.
static ConfigSpec basicALawConfig
          Deprecated. Using setParameters() or the last arg of play() and record() is preferred to codec flavored ConfigSpec.
static ConfigSpec basicAltFileRTPConfig
          Deprecated.  
static ConfigSpec basicASRTTSConfig
          A ConfigSpec for basic ASR/TTS operations wrt a CP.
static ConfigSpec basicASRTTSUserConferenceConfig
          A user conference ConfigSpec for individual media operations with rtp resources wrt a CP.
static ConfigSpec basicConfig
          A basic ConfigSpec wrt a CP.
static ConfigSpec basicECASRTTSConfig
          A ConfigSpec for basic echo cancelled ASR/TTS operations wrt a CP.
static ConfigSpec basicECASRTTSUserConferenceConfig
          A user conference ConfigSpec for individual media operations with rtp resources and Echo canceller wrt a CP.
static ConfigSpec basicEchoSimulatorConfig
          A basic Echo Simulator ConfigSpec.
static ConfigSpec basicFaxConfig
          A means to allocate a ResourceSpec.basicSignalDetector, and either a ResourceSpec.basicFax, or the usual combination of file Player and Recorder, ASR, TTS, and Signal Generator wrt a CP.
static ConfigSpec basicSpeechEnabledConfig
          A ConfigSpec for basic RTP streaming operations and local speech endpointing wrt a CP.
static ConfigSpec basicSpeedConfig
          A basic ConfigSpec with speed control wrt a CP.
static ConfigSpec basicToneGenerationConfig
           
static ConfigSpec basicVolumeConfig
          A basic ConfigSpec with volume control wrt a CP.
static ConfigSpec bridgeCPConfigSpec
          ConfigSpec for call party bridged with a BridgeSpec.softdspBridgepec .
static ConfigSpec bridgeGlobalConferenceConfig
          ConfigSpec for global play and global record on a softdspBridge.
static ConfigSpec enhancedConfig
          A basic ConfigSpec with volume and speed control wrt a CP.
static ConfigSpec enhancedPlayerConferenceConfig
          A conference ConfigSpec for Signal Generation and play with Volume/Speed controls.
static ConfigSpec enhancedUserConferenceConfig
          A user conference ConfigSpec with volume and speed control wrt a CP.
static ConfigSpec hpASRTTSConfig
           
static ConfigSpec hpASRTTSUserConferenceConfig
          A user conference ConfigSpec for individual media operations with rtp resources and HP Speech Detector algorithm wrt a CP.
static ConfigSpec hpECASRTTSConfig
           
static ConfigSpec hpECASRTTSUserConferenceConfig
          A user conference ConfigSpec for individual media operations with rtp resources, Echo canceller and HP Speech Detector algorithm wrt a CP.
static ConfigSpec nuanceASRTTSConfig
          A ConfigSpec for basic ASR/TTS operations and local speech endpointing (based upon Nuance speech detector algorithm) wrt a CP.
static ConfigSpec nuanceASRTTSUserConferenceConfig
          A user conference ConfigSpec for individual media operations with rtp resources and Nuance Speech Detector algorithm wrt a CP.
static ConfigSpec nuanceECASRTTSConfig
          A ConfigSpec for echo cancelled ASR/TTS operations and local speech endpointing (based upon Nuance speech detector algorithm) wrt a CP.
static ConfigSpec nuanceECASRTTSUserConferenceConfig
          A user conference ConfigSpec for individual media operations with rtp resources, Echo canceller and Nuance Speech Detector algorithm wrt a CP.
static ConfigSpec playerConferenceConfig
          A ConfigSpec for conference play and Signal Generation operations.
static ConfigSpec recorderConferenceConfig
          A ConfigSpec for conference record operations.
static ConfigSpec rtpPlayerConferenceConfig
          A ConfigSpec for conference play operations with rtp resources.
static ConfigSpec rtpRecorderConferenceConfig
          A ConfigSpec for conference record operations with rtp resources.
static ConfigSpec smsV23Protocol1MasterConfig
          A ConfigSpec for SMS operations based on an V23 encoding/decoding wrt a CP.
static ConfigSpec smsV23Protocol1SlaveConfig
          as smsV23Protocol1MasterConfig.
static ConfigSpec smsV23Protocol2MasterConfig
          as smsV23Protocol1MasterConfig.
static ConfigSpec smsV23Protocol2SlaveConfig
          as smsV23Protocol1MasterConfig.
static ConfigSpec smsV23StubbedMasterConfig
          as smsV23Protocol1MasterConfig.
static ConfigSpec smsV23StubbedSlaveConfig
          as smsV23Protocol1MasterConfig.
static ConfigSpec swiASRTTSConfig
          Deprecated. OC MP 2.4C2
static ConfigSpec swiASRTTSUserConferenceConfig
          Deprecated. OC MP 2.4C2
static ConfigSpec swiECASRTTSConfig
          A ConfigSpec for echo cancelled ASR/TTS operations and local speech endpointing (based upon Speech Works International speech detector algorithm) wrt a CP.
static ConfigSpec swiECASRTTSUserConferenceConfig
          A user conference ConfigSpec for individual media operations with rtp resources, Echo canceller and Speech Works International Speech Detector algorithm wrt a CP.
static ConfigSpec telismaASRTTSConfig
          Deprecated. OC MP 2.4C2 - Not Supported
static ConfigSpec telismaASRTTSUserConferenceConfig
          Deprecated. OC MP 2.4C2 - Not Supported
static ConfigSpec telismaECASRTTSConfig
           
static ConfigSpec telismaECASRTTSUserConferenceConfig
          A user conference ConfigSpec for individual media operations with rtp resources, Echo canceller and Telisma Speech Detector algorithm wrt a CP.
static ConfigSpec userConferenceConfig
          A user conference ConfigSpec for individual media operations wrt a CP.
 
Fields inherited from interface hp.telephony.media.ConfigSpecConstants
a_AlertingTimeout, a_Arbitration, a_DeallocateOnIdle, a_LocalState, a_RemoteState, a_StopOnDisconnect, v_Alerting, v_Connected, v_FirstTalker, v_InProgress, v_LastTalker, v_MixTalkers
 
Constructor Summary
ConfigSpec(ResourceSpec[] specs, int timeout, Dictionary attributes, Dictionary parameters, RTC[] rtcs)
          Constructor with full range of arguments.
 
Method Summary
 Dictionary getAttributes()
          Gets the Dictionary of attributes from this ConfigSpec.
static ConfigSpec getNuanceConfig(Symbol streamFormat)
          Deprecated.  
 Dictionary getParameters()
          Gets the Dictionary of parameters from this ConfigSpec.
 ResourceSpec[] getResourceSpecs()
          Retrieves the ResourceSpec[] from this ConfigSpec.
 RTC[] getRTC()
          Gets the persistant RTC[] for this ConfigSpec.
 int getTimeout()
          Returns the internal timeout value.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

basicConfig

public static final ConfigSpec basicConfig
A basic ConfigSpec wrt a CP.

This basic ConfigSpec waits 2 seconds to allocate ResourceSpec.basicAltPlayerRecorder, ResourceSpec.basicSignalDetector, and ResourceSpec.basicSignalGenerator.


userConferenceConfig

public static final ConfigSpec userConferenceConfig
A user conference ConfigSpec for individual media operations wrt a CP.

This basic ConfigSpec allocates ResourceSpec.basicSignalDetector with alternatively
[ ResourceSpec.basicConference ] and
[ (alt: ResourceSpec.basicPlayer / ResourceSpec.basicSignalGenerator and ResourceSpec.basicRecorder ]
(see ResourceSpec.altPSGR_Conf )

Since:
OCMP 2.2

playerConferenceConfig

public static final ConfigSpec playerConferenceConfig
A ConfigSpec for conference play and Signal Generation operations.

It is used by ConferenceSession.loopConf(hp.telephony.media.ConfigSpec) method
This ConfigSpec allocates alternate ResourceSpec.basicPlayer/ ResourceSpec.basicSignalGenerator and ResourceSpec.basicConference

Since:
OCMP 2.2

recorderConferenceConfig

public static final ConfigSpec recorderConferenceConfig
A ConfigSpec for conference record operations.

It is used by ConferenceSession.loopConf(hp.telephony.media.ConfigSpec) method
This ConfigSpec allocates ResourceSpec.basicRecorder and ResourceSpec.basicConference

Since:
OCMP 2.2

rtpPlayerConferenceConfig

public static final ConfigSpec rtpPlayerConferenceConfig
A ConfigSpec for conference play operations with rtp resources.

It is used by ConferenceSession.loopConf(hp.telephony.media.ConfigSpec) method
This ConfigSpec allocates alternate ResourceSpec.basicPlayer / ResourceSpec.rtpPlayer / ResourceSpec.basicSignalGenerator and ResourceSpec.basicConference

Since:
OCMP 2.2 with ASR/TTS extensions

rtpRecorderConferenceConfig

public static final ConfigSpec rtpRecorderConferenceConfig
A ConfigSpec for conference record operations with rtp resources.

It is used by ConferenceSession.loopConf(hp.telephony.media.ConfigSpec) method
This ConfigSpec allocates alternate ResourceSpec.basicRecorder / ResourceSpec.rtpRecorder and ResourceSpec.basicConference

Since:
OCMP 2.2 with ASR/TTS extensions

bridgeGlobalConferenceConfig

public static final ConfigSpec bridgeGlobalConferenceConfig
ConfigSpec for global play and global record on a softdspBridge.

It is used by CCSession#loopBridge method
This ConfigSpec allocates ResourceSpec.basicRecorder and ResourceSpec.basicPlayer and ResourceSpec.basicConference

Since:
OCMP 3.0 with softdspBridge extensions

bridgeCPConfigSpec

public static final ConfigSpec bridgeCPConfigSpec
ConfigSpec for call party bridged with a BridgeSpec.softdspBridgepec .

bridgeCPConfigSpec is a ConfigSpec intended to be used in the softdspBridgeSpec bridge for the bridge(CallParty, ConfigSpec) method. It is used by CCSession#bridge method
This ConfigSpec allow to retrieve DTMF while bridged on a softdspBrdige

Since:
OCMP 3.1 with softdspBridgeSpec extensions

basicADPCMConfig

public static final ConfigSpec basicADPCMConfig
Deprecated. Using setParameters() or the last arg of play() and record() is preferred to codec flavored ConfigSpec.

Since:
Not supported

basicALawConfig

public static final ConfigSpec basicALawConfig
Deprecated. Using setParameters() or the last arg of play() and record() is preferred to codec flavored ConfigSpec.

Since:
Not supported

basicAltFileRTPConfig

public static final ConfigSpec basicAltFileRTPConfig
Deprecated.  

See Also:
basicASRTTSConfig

basicASRTTSConfig

public static final ConfigSpec basicASRTTSConfig
A ConfigSpec for basic ASR/TTS operations wrt a CP.

This ConfigSpec allocates :

a ResourceSpec.basicSignalDetector
      AND
an alternate Record ResourceSpec (either ResourceSpec.basicRecorder or ResourceSpec.rtpRecorder)
      AND
an alternate Player ResourceSpec (either ResourceSpec.basicPlayer or ResourceSpec.rtpPlayer).

RTSP Sessions Management

The management of the RTSP Session Allocation and Creation mechanism is made through a set of attributes and RTC control. They allow to manage at the Oclet level both session creation policy and session allocation policy:

Below is the list of all the attributes and their valid values allowing to manage programmatically  RTSP sessions. Note that they all have specific definitions both in ASRConstants and TTSConstants interfaces for being used in both areas. The parameters are settable only one time a call and before the first ASR or TTS operation.

The following figure provides the sequence of operations on the way the sessions are allocated according to the selected mode:

The following table provides additional guidelines and details on the use of the 2 main attributes: a_ASSessionCreation and a_ASSessionAllocation:

Attribute

 

a_ASSessionAllocation

 

Value

v_Call

v_FromFirstOperation
(default)

v_Operation

a_ASSessionCreation

v_OnDemand

  • Ensure availability of session at call setup

  • session setup time will introduce latency at first operation of the call
  • This mode could infringe your ASR or TTS engine licensing policy. Please check before using it.

v_ASStartTime
(default)

  • Reduce setup time

  • Ensure availability of session at call setup

  • Default mode if no parameter specified

  • Very optimized in terms of resource usage and runtime latency.

  • This mode could infringe your ASR or TTS engine licensing policy. Please check before using it.

 

Since:
OCMP 2.2 with ASR/TTS extensions
See Also:
swiASRTTSConfig, nuanceASRTTSConfig, basicECASRTTSConfig

basicASRTTSUserConferenceConfig

public static final ConfigSpec basicASRTTSUserConferenceConfig
A user conference ConfigSpec for individual media operations with rtp resources wrt a CP.

This basic ConfigSpec allocates ResourceSpec.basicSignalDetector, with alternatively [ResourceSpec.basicConference ] and [ - alt(ResourceSpec.basicPlayer, ResourceSpec.rtpPlayer, ResourceSpec.basicSignalGenerator) - alt(ResourceSpec.basicRecorder, ResourceSpec.rtpRecorder) ]

Since:
OCMP 2.2 with ASR/TTS extensions

swiASRTTSConfig

public static final ConfigSpec swiASRTTSConfig
Deprecated. OC MP 2.4C2

A ConfigSpec for basic ASR/TTS operations and local speech endpointing (based upon Speech Works International speech detector algorithm) wrt a CP.

This ConfigSpec allocates :

a ResourceSpec.basicSignalDetector
      AND
a ResourceSpec.swiSpeechDetector
      AND
an alternate Record ResourceSpec (either ResourceSpec.basicRecorder or ResourceSpec.rtpRecorder)
      AND
an alternate Player ResourceSpec (either ResourceSpec.basicPlayer or ResourceSpec.rtpPlayer).

See Also:
basicASRTTSConfig, nuanceASRTTSConfig

swiASRTTSUserConferenceConfig

public static final ConfigSpec swiASRTTSUserConferenceConfig
Deprecated. OC MP 2.4C2

A user conference ConfigSpec for individual media operations with rtp resources and Speech Works International Speech Detector algorithm wrt a CP.

This ConfigSpec allocates ResourceSpec.basicSignalDetector and ResourceSpec.swiSpeechDetector with alternatively [ResourceSpec.basicConference ] and [ - alt(ResourceSpec.basicPlayer, ResourceSpec.rtpPlayer, ResourceSpec.basicSignalGenerator) - alt(ResourceSpec.basicRecorder, ResourceSpec.rtpRecorder) ]


telismaASRTTSConfig

public static final ConfigSpec telismaASRTTSConfig
Deprecated. OC MP 2.4C2 - Not Supported


hpASRTTSConfig

public static final ConfigSpec hpASRTTSConfig
Since:
Not supported

telismaASRTTSUserConferenceConfig

public static final ConfigSpec telismaASRTTSUserConferenceConfig
Deprecated. OC MP 2.4C2 - Not Supported

A user conference ConfigSpec for individual media operations with rtp resources and Telisma Speech Detector algorithm.

This ConfigSpec allocates ResourceSpec.basicSignalDetector and ResourceSpec.telismaSpeechDetector with alternatively [ResourceSpec.basicConference ] and [ - alt(ResourceSpec.basicPlayer, ResourceSpec.rtpPlayer, ResourceSpec.basicSignalGenerator) - alt(ResourceSpec.basicRecorder, ResourceSpec.rtpRecorder) ]


hpASRTTSUserConferenceConfig

public static final ConfigSpec hpASRTTSUserConferenceConfig
A user conference ConfigSpec for individual media operations with rtp resources and HP Speech Detector algorithm wrt a CP.

This ConfigSpec allocates ResourceSpec.basicSignalDetector and ResourceSpec.hpSpeechDetector with alternatively [ResourceSpec.basicConference ] and [ - alt(ResourceSpec.basicPlayer, ResourceSpec.rtpPlayer, ResourceSpec.basicSignalGenerator) - alt(ResourceSpec.basicRecorder, ResourceSpec.rtpRecorder) ]

Since:
Not Supported

nuanceASRTTSConfig

public static final ConfigSpec nuanceASRTTSConfig
A ConfigSpec for basic ASR/TTS operations and local speech endpointing (based upon Nuance speech detector algorithm) wrt a CP.

This ConfigSpec allocates :

a ResourceSpec.basicSignalDetector
      AND
a ResourceSpec.nuanceSpeechDetector
      AND
an alternate Record ResourceSpec (either ResourceSpec.basicRecorder or ResourceSpec.rtpRecorder)
      AND
an alternate Player ResourceSpec (either ResourceSpec.basicPlayer or ResourceSpec.rtpPlayer).

Since:
OCMP 2.2 with ASR/TTS extensions
See Also:
basicASRTTSConfig, swiASRTTSConfig

nuanceASRTTSUserConferenceConfig

public static final ConfigSpec nuanceASRTTSUserConferenceConfig
A user conference ConfigSpec for individual media operations with rtp resources and Nuance Speech Detector algorithm wrt a CP.

This ConfigSpec allocates ResourceSpec.basicSignalDetector and ResourceSpec.nuanceSpeechDetector with alternatively [ResourceSpec.basicConference ] and [ - alt(ResourceSpec.basicPlayer, ResourceSpec.rtpPlayer, ResourceSpec.basicSignalGenerator ) - alt(ResourceSpec.basicRecorder, ResourceSpec.rtpRecorder) ]

Since:
OCMP 2.2 with ASR/TTS extensions

basicECASRTTSConfig

public static final ConfigSpec basicECASRTTSConfig
A ConfigSpec for basic echo cancelled ASR/TTS operations wrt a CP.

This ConfigSpec allocates :

a ResourceSpec.basicSignalDetector
      AND
a ResourceSpec.basicEchoCanceller
      AND
an alternate Record ResourceSpec (either ResourceSpec.basicRecorder or ResourceSpec.rtpRecorder)
      AND
an alternate Player ResourceSpec (either ResourceSpec.basicPlayer or ResourceSpec.rtpPlayer).

Since:
OCMP 2.2 with ASR/TTS extensions
See Also:
swiECASRTTSConfig, nuanceECASRTTSConfig, basicASRTTSConfig

basicECASRTTSUserConferenceConfig

public static final ConfigSpec basicECASRTTSUserConferenceConfig
A user conference ConfigSpec for individual media operations with rtp resources and Echo canceller wrt a CP.

This ConfigSpec allocates ResourceSpec.basicSignalDetector and ResourceSpec.basicEchoCanceller, with alternatively [ResourceSpec.basicConference ] and [ - alt(ResourceSpec.basicPlayer, ResourceSpec.rtpPlayer, ResourceSpec.basicSignalGenerator) - alt(ResourceSpec.basicRecorder, ResourceSpec.rtpRecorder) ]

Since:
OCMP 2.2 with ASR/TTS extensions

nuanceECASRTTSConfig

public static final ConfigSpec nuanceECASRTTSConfig
A ConfigSpec for echo cancelled ASR/TTS operations and local speech endpointing (based upon Nuance speech detector algorithm) wrt a CP.

This ConfigSpec allocates :

a ResourceSpec.basicSignalDetector
      AND
a ResourceSpec.basicEchoCanceller
      AND
a ResourceSpec.nuanceSpeechDetector
      AND
an alternate Record ResourceSpec (either ResourceSpec.basicRecorder or ResourceSpec.rtpRecorder)
      AND
an alternate Player ResourceSpec (either ResourceSpec.basicPlayer or ResourceSpec.rtpPlayer).

Since:
OCMP 2.2 with ASR/TTS extensions
See Also:
basicECASRTTSConfig, swiECASRTTSConfig, nuanceASRTTSConfig

nuanceECASRTTSUserConferenceConfig

public static final ConfigSpec nuanceECASRTTSUserConferenceConfig
A user conference ConfigSpec for individual media operations with rtp resources, Echo canceller and Nuance Speech Detector algorithm wrt a CP.

This ConfigSpec allocates ResourceSpec.basicSignalDetector, ResourceSpec.basicEchoCanceller and ResourceSpec.nuanceSpeechDetector with alternatively [ResourceSpec.basicConference ] and [ - alt(ResourceSpec.basicPlayer, ResourceSpec.rtpPlayer, ResourceSpec.basicSignalGenerator) - alt(ResourceSpec.basicRecorder, ResourceSpec.rtpRecorder) ]

Since:
OCMP 2.2 with ASR/TTS extensions

swiECASRTTSConfig

public static final ConfigSpec swiECASRTTSConfig
A ConfigSpec for echo cancelled ASR/TTS operations and local speech endpointing (based upon Speech Works International speech detector algorithm) wrt a CP.

This ConfigSpec allocates :

a ResourceSpec.basicSignalDetector
      AND
a ResourceSpec.basicEchoCanceller
      AND
a ResourceSpec.swiSpeechDetector
      AND
an alternate Record ResourceSpec (either ResourceSpec.basicRecorder or ResourceSpec.rtpRecorder)
      AND
an alternate Player ResourceSpec (either ResourceSpec.basicPlayer or ResourceSpec.rtpPlayer).

Since:
OCMP 2.2 with ASR/TTS extensions
See Also:
basicECASRTTSConfig, nuanceECASRTTSConfig, swiASRTTSConfig

swiECASRTTSUserConferenceConfig

public static final ConfigSpec swiECASRTTSUserConferenceConfig
A user conference ConfigSpec for individual media operations with rtp resources, Echo canceller and Speech Works International Speech Detector algorithm wrt a CP.

This ConfigSpec allocates ResourceSpec.basicSignalDetector, ResourceSpec.basicEchoCanceller and ResourceSpec.swiSpeechDetector with alternatively [ResourceSpec.basicConference ] and [ - alt(ResourceSpec.basicPlayer, ResourceSpec.rtpPlayer, ResourceSpec.basicSignalGenerator) - alt(ResourceSpec.basicRecorder, ResourceSpec.rtpRecorder) ]

Since:
OCMP 2.2 with ASR/TTS extensions

telismaECASRTTSConfig

public static final ConfigSpec telismaECASRTTSConfig
Since:
Not Supported

hpECASRTTSConfig

public static final ConfigSpec hpECASRTTSConfig
Since:
Not Supported

telismaECASRTTSUserConferenceConfig

public static final ConfigSpec telismaECASRTTSUserConferenceConfig
A user conference ConfigSpec for individual media operations with rtp resources, Echo canceller and Telisma Speech Detector algorithm wrt a CP.

This ConfigSpec allocates ResourceSpec.basicSignalDetector, ResourceSpec.nuanceSpeechDetector, ResourceSpec.basicEchoCanceller, with alternatively [ResourceSpec.basicConference ] and [ - alt(ResourceSpec.basicPlayer, ResourceSpec.rtpPlayer, ResourceSpec.basicSignalGenerator) - alt(ResourceSpec.basicRecorder, ResourceSpec.rtpRecorder) ]

Since:
Not Supported

hpECASRTTSUserConferenceConfig

public static final ConfigSpec hpECASRTTSUserConferenceConfig
A user conference ConfigSpec for individual media operations with rtp resources, Echo canceller and HP Speech Detector algorithm wrt a CP.

This ConfigSpec allocates ResourceSpec.basicSignalDetector, ResourceSpec.nuanceSpeechDetector, ResourceSpec.basicEchoCanceller, with alternatively [ResourceSpec.basicConference ] and [ - alt(ResourceSpec.basicPlayer, ResourceSpec.rtpPlayer, ResourceSpec.basicSignalGenerator) - alt(ResourceSpec.basicRecorder, ResourceSpec.rtpRecorder) ]

Since:
Not Supported

basicSpeechEnabledConfig

public static final ConfigSpec basicSpeechEnabledConfig
A ConfigSpec for basic RTP streaming operations and local speech endpointing wrt a CP.

This ConfigSpec allocates :

a ResourceSpec.basicSignalDetector
      AND
a ResourceSpec.basicSpeechDetector
      AND
an alternate Record ResourceSpec (either ResourceSpec.basicRecorder or ResourceSpec.rtpRecorder)
      AND
an alternate Player ResourceSpec (either ResourceSpec.basicPlayer or ResourceSpec.rtpPlayer).

Since:
OCMP 2.2 with ASR/TTS extensions
See Also:
swiASRTTSConfig, nuanceASRTTSConfig

basicToneGenerationConfig

public static final ConfigSpec basicToneGenerationConfig
Since:
Not supported

anyConfig

public static final ConfigSpec anyConfig
A ConfigSpec instance that specifes that any configuration of Resources is acceptable.

Informs the server that it should not do any reconfiguration.

ConfigSpec.anyConfig is identified by (ResourceSpec[] == null).

Since:
Not supported

basicSpeedConfig

public static final ConfigSpec basicSpeedConfig
A basic ConfigSpec with speed control wrt a CP.

ResourceSpec.basicAltPlayerRecorder, ResourceSpec.basicSignalDetector, and ResourceSpec.basicSignalGenerator.

Since:
OCMP 2.2

basicVolumeConfig

public static final ConfigSpec basicVolumeConfig
A basic ConfigSpec with volume control wrt a CP.

ResourceSpec.basicAltPlayerRecorder, ResourceSpec.basicSignalDetector, and ResourceSpec.basicSignalGenerator.

Since:
OCMP 2.2

enhancedConfig

public static final ConfigSpec enhancedConfig
A basic ConfigSpec with volume and speed control wrt a CP.

ResourceSpec.basicAltPlayerRecorder, ResourceSpec.basicSignalDetector, and ResourceSpec.basicSignalGenerator.

Since:
OCMP 2.2

enhancedUserConferenceConfig

public static final ConfigSpec enhancedUserConferenceConfig
A user conference ConfigSpec with volume and speed control wrt a CP.

ResourceSpec.basicAltPlayerRecorder, ResourceSpec.basicSignalDetector, ResourceSpec.basicSignalGenerator ResourceSpec.basicConference

Since:
OCMP 2.2

enhancedPlayerConferenceConfig

public static final ConfigSpec enhancedPlayerConferenceConfig
A conference ConfigSpec for Signal Generation and play with Volume/Speed controls. It is used by ConferenceSession.loopConf(hp.telephony.media.ConfigSpec) method

This ConfigSpec allocates alternate ResourceSpec.basicPlayer/ ResourceSpec.basicSignalGenerator and ResourceSpec.basicConference

Since:
OCMP 2.2

smsV23Protocol1MasterConfig

public static final ConfigSpec smsV23Protocol1MasterConfig
A ConfigSpec for SMS operations based on an V23 encoding/decoding wrt a CP.

Regarding the protocol 1, the smsV23Protocol1MasterConfig refers to the Collector as the smsV23Protocol1SlaveConfig refers to the Deliverer.

This ConfigSpec allocates :

a ResourceSpec.protocol1MasterSMSPlayerRecorder

Since:
OCMP 2.4 with SMS extensions

smsV23Protocol2MasterConfig

public static final ConfigSpec smsV23Protocol2MasterConfig
as smsV23Protocol1MasterConfig.


smsV23StubbedMasterConfig

public static final ConfigSpec smsV23StubbedMasterConfig
as smsV23Protocol1MasterConfig.


smsV23Protocol1SlaveConfig

public static final ConfigSpec smsV23Protocol1SlaveConfig
as smsV23Protocol1MasterConfig.


smsV23Protocol2SlaveConfig

public static final ConfigSpec smsV23Protocol2SlaveConfig
as smsV23Protocol1MasterConfig.


smsV23StubbedSlaveConfig

public static final ConfigSpec smsV23StubbedSlaveConfig
as smsV23Protocol1MasterConfig.


basicFaxConfig

public static final ConfigSpec basicFaxConfig
A means to allocate a ResourceSpec.basicSignalDetector, and

either a ResourceSpec.basicFax, or the usual combination of file Player and Recorder, ASR, TTS, and Signal Generator wrt a CP.


basicEchoSimulatorConfig

public static final ConfigSpec basicEchoSimulatorConfig
A basic Echo Simulator ConfigSpec. Available for test, it provides you with a way to generate an echo on the network wrt a CP.

This basic ConfigSpec waits 2 seconds to allocate ResourceSpec.basicEchoSimulator, and ResourceSpec.basicAltPlayerRecorder, ResourceSpec.basicSignalDetector, and ResourceSpec.basicSignalGenerator.

Constructor Detail

ConfigSpec

public ConfigSpec(ResourceSpec[] specs,
                  int timeout,
                  Dictionary attributes,
                  Dictionary parameters,
                  RTC[] rtcs)
Constructor with full range of arguments.

When specs is null, the ConfigSpec specifies that anyConfig configuration of Resources is acceptable.

If the other arguments are null, they are treated the same as empty collections.

Parameters:
specs - an array of ResourceSpec
timeout - int number of milliseconds to wait for resources. configure should complete or abort in this time.
attributes - Dictionary of binding and selection attributes.
parameters - Dictionary of initial configuration parameters.
rtcs - Array of persistant RTCs.
Method Detail

getTimeout

public int getTimeout()
Returns the internal timeout value.

Returns:
the int number of milliseconds to wait for resources.

getResourceSpecs

public ResourceSpec[] getResourceSpecs()
Retrieves the ResourceSpec[] from this ConfigSpec.

Returns:
the array of ResourceSpec objects.

getAttributes

public Dictionary getAttributes()
Gets the Dictionary of attributes from this ConfigSpec.

Returns:
the Dictionary of selection/configuration attributes.

getParameters

public Dictionary getParameters()
Gets the Dictionary of parameters from this ConfigSpec.

Returns:
the Dictionary of initial or current parameters

getRTC

public RTC[] getRTC()
Gets the persistant RTC[] for this ConfigSpec.

Returns:
the RTC[] of persistant RTCs.

getNuanceConfig

public static final ConfigSpec getNuanceConfig(Symbol streamFormat)
Deprecated.