package com.voxeo.moho.media.dialect; import java.net.URI; import java.util.Map; import javax.media.mscontrol.MsControlException; import javax.media.mscontrol.Parameters; import javax.media.mscontrol.Qualifier; import javax.media.mscontrol.Value; import javax.media.mscontrol.mediagroup.RecorderEvent; import javax.media.mscontrol.mediagroup.signals.SignalDetectorEvent; import javax.media.mscontrol.networkconnection.NetworkConnection; import javax.media.mscontrol.resource.RTC; import javax.media.mscontrol.resource.ResourceEvent; import com.voxeo.moho.event.InputCompleteEvent.Cause; import com.voxeo.moho.media.BeepParameters; import com.voxeo.moho.media.EnergyParameters; import com.voxeo.moho.media.InputMode; import com.voxeo.moho.media.input.SignalGrammar.Signal; public interface MediaDialect { void setSpeechLanguage(Parameters parameters, String value); void setSpeechTermChar(Parameters parameters, Character value); void setSpeechInputMode(Parameters parameters, InputMode value); void setTextToSpeechVoice(Parameters parameters, String value); void setTextToSpeechLanguage(Parameters parameters, String value); void setBeepOnConferenceEnter(Parameters parameters, Boolean value); void setBeepOnConferenceExit(Parameters parameters, Boolean value); void setDtmfHotwordEnabled(Parameters parameters, Boolean value); void setDtmfTypeaheadEnabled(Parameters parameters, Boolean value); void setConfidence(Parameters parameters, float value); void setSpeechIncompleteTimeout(Parameters parameters, long peechIncompleteTimeout); void setSpeechCompleteTimeout(Parameters parameters, long peechCompleteTimeout); void setMixerName(Parameters params, String name); //call record related void setCallRecordFileFormat(Parameters params, Value value); void setCallRecordAudioCodec(Parameters params, Value value); void startCallRecord(NetworkConnection nc, URI recordURI, RTC[] rtc, Parameters optargs, CallRecordListener listener) throws MsControlException; void stopCallRecord(NetworkConnection nc); void pauseCallRecord(NetworkConnection nc); void resumeCallRecord(NetworkConnection nc); int getCallRecordDuration(ResourceEvent event); //call record related over void enableRecorderPromptCompleteEvent(Parameters params, boolean enable); void enableDetectorPromptCompleteEvent(Parameters params, boolean enable); boolean isPromptCompleteEvent(RecorderEvent event); boolean isPromptCompleteEvent(SignalDetectorEvent event); void setDtmfPassThrough(NetworkConnection nc, boolean passThrough); Map<String, String> getSISlots(SignalDetectorEvent event); void setAutoReset(Parameters params, boolean autoreset); // translate Signal into 309 extended VoxeoSignalConstants Value getSignalConstants(Signal signal); void setEnergyParameters(Parameters params, EnergyParameters energy); void setBeepParameters(Parameters params, BeepParameters beep); Cause getInputCompleteEventCause(Qualifier qualifier); void setIgnorePromptFailure(Parameters params, boolean ignore); }