JSR-043: JTAPI-1.4

javax.telephony.media.provider
Class Base_MediaService

java.lang.Object
  |
  +--javax.telephony.media.provider.Base_Owner
        |
        +--javax.telephony.media.provider.Base_MediaService
All Implemented Interfaces:
Async_Delegation, Async.MediaService, Delegation, DelegationConstants, MediaConstants, MediaService, MediaServiceConstants, MPI.Owner
Direct Known Subclasses:
BasicMediaService

public class Base_MediaService
extends Base_Owner
implements MPI.Owner, MediaService, Async.MediaService, Delegation, Async_Delegation

Reference implementation of MediaService. This implementation of MediaService and Async.MediaService delegates to MPI.GroupProvider and MPI.MediaGroup, but manages the sync/async method layering, Listener and event dispatching.

Communication back to the MediaService is via Async.Events, which extend MediaEvent to include completion and notification methods. The Base.Event classes are used within the provider package, and they contain additional event processing and framework control methods.

Note:
Why Base_MediaService sits between MediaService and the MPI:

Base_MediaService provides a controlled implementation between the application and the MediaGroup implementation. The MediaService and MPI interfaces can be used reliably by each side (application developer and MediaGroup implementor), while the Base_MediaService class can be modified to provide services and adaptations for various frameworks. Base_MediaService enforces protocols and invariants that the MediaGroup would not trust the application to implement rigorously, and that the application and/or MediaGroup would find tedious to implement explicitly.

Note: provider implementers are encouraged to consult the source code for this and other provider package classes.

Since:
JTAPI-1.4

Fields inherited from interface javax.telephony.media.MediaServiceConstants
ev_BindAndConnect, ev_BindToCall, ev_BindToServiceName, ev_BindToTerminal, ev_BindToTerminalName, ev_Configure, ev_Connected, ev_DelegateToService, ev_Disconnected, ev_GetConfigSpec, ev_GetConfiguration, ev_GetParameters, ev_GetTerminal, ev_GetTerminalName, ev_GetUserValues, ev_GroupStop, ev_Release, ev_ReleaseDelegated, ev_ReleaseToDestroy, ev_ReleaseToService, ev_ReleaseToTag, ev_Retrieve, ev_Retrieved, ev_SetParameters, ev_SetUserDictionary, ev_SetUserValues, ev_TerminalIdle, ev_TriggerRTC
 
Fields inherited from interface javax.telephony.media.MediaConstants
e_OK, q_Duration, q_Standard, q_Stop
 
Fields inherited from interface javax.telephony.media.DelegationConstants
ev_Delegated, q_Released, q_Removed, q_Retrieved, q_Returned, tag_CatchAll, tag_CatchNone, tag_DestroyRequest, tag_NeverReturn, tag_NormalReturn, tag_RemoveSession, tag_SessionDeath, v_Released
 
Constructor Summary
Base_MediaService()
          Create an unbound MediaService, using services identified as the installation default.
Base_MediaService(MediaProvider provider)
          Create an unbound MediaService, using services associated with the supplied MediaProvider object.
Base_MediaService(java.lang.String peerName, java.lang.String providerString)
          Create an unbound MediaService, using services identified by the two String arguments.
 
Method Summary
 void addMediaListener(MediaListener listener)
          Deprecated.  
 Async.BindToCallEvent async_bindAndConnect(ConfigSpec configspec0, java.lang.String string1, java.lang.String string2)
          Async version of bindAndConnect.
 Async.BindToCallEvent async_bindToCall(ConfigSpec configspec0, Call call1)
          Async version of bindToCall.
 Async.BindEvent async_bindToServiceName(ConfigSpec configspec0, java.lang.String string1)
          Async version of bindToServiceName.
 Async.BindEvent async_bindToTerminal(ConfigSpec configspec0, Terminal terminal1)
          Async version of bindToTerminal.
 Async.BindEvent async_bindToTerminalName(ConfigSpec configspec0, java.lang.String string1)
          Async version of bindToTerminalName.
 Async.Event async_cancelBindRequest()
          Asynchronous version of cancelBindRequest.
 Async.MediaGroupEvent async_configure(ConfigSpec configspec0)
          Async version of MediaService.configure().
 Async.DelegationEvent async_delegateToService(java.lang.String serviceName, int timeout, java.lang.String catchTags)
          Async version of delegateToService.
 Async.MediaGroupEvent async_getConfiguration()
          Async version of MediaService.getConfiguration().
 Async.MediaGroupEvent async_getParameters(Symbol[] symbol0)
          Async version of MediaService.getParameters().
 Async.MediaGroupEvent async_getTerminal()
          Async version of MediaService.getTerminal().
 Async.MediaGroupEvent async_getTerminalName()
          Async version of MediaService.getTerminalName().
 Async.MediaGroupEvent async_getUserValues(Symbol[] symbol0)
          Async version of MediaService.getUserValues().
 Async.ReleaseEvent async_release()
          Async version of release().
 Async.DelegationEvent async_releaseDelegated()
          Cancel the delegation that is in progress on this MediaService.
 Async.ReleaseEvent async_releaseToDestroy()
          Async version of releaseToDestroy().
 Async.ReleaseEvent async_releaseToService(java.lang.String string0, int int1)
          Async version of releaseToService().
 Async.ReleaseEvent async_releaseToTag(java.lang.String string0)
          Async version of releaseToTag().
 Async.DelegationEvent async_retrieve(Symbol cause)
          Cancel the delegation that is in progress on this MediaService.
 Async.MediaGroupEvent async_setParameters(java.util.Dictionary dictionary0)
          Async version of MediaService.setParameters().
 Async.MediaGroupEvent async_setUserDictionary(java.util.Dictionary dictionary0)
          Async version of MediaService.setUserDictionary().
 Async.MediaGroupEvent async_setUserValues(java.util.Dictionary dictionary0)
          Async version of MediaService.setUserValues().
 Async.MediaGroupEvent async_stop()
          Async version of MediaService.stop().
 Async.MediaGroupEvent async_triggerRTC(Symbol symbol0)
          Trigger an RTC action from the application.
 void bindAndConnect(ConfigSpec configspec0, java.lang.String string1, java.lang.String string2)
          the Bind and Release Methods.
 Connection bindToCall(ConfigSpec configspec0, Call call1)
          Bind this MediaService to a particular Call.
 void bindToServiceName(ConfigSpec configspec0, java.lang.String string1)
          Bind this MediaService to a call directed to serviceName.
 void bindToTerminal(ConfigSpec configspec0, Terminal terminal1)
          Bind this MediaService to a particular Terminal.
 void bindToTerminalName(ConfigSpec configspec0, java.lang.String string1)
          Bind this MediaService to a particular Terminal.
 void cancelBindRequest()
          Revoke previous bind or release method on this MediaService.
 void configure(ConfigSpec configspec0)
          MediaGroup Methods: configure
 DelegationEvent delegateToService(java.lang.String serviceName, int timeout, java.lang.String catchTags)
          Delegation methods
static MediaProvider findMediaProvider(java.lang.String peerName, java.lang.String providerString)
          Get a MediaProvider from the given Strings.
 ConfigSpec getConfiguration()
          Return a ConfigSpec that describes the current configuration of this MediaService.
 MediaProvider getMediaProvider()
          Return the MediaProvider used by this MediaService.
 java.util.Dictionary getParameters(Symbol[] symbol0)
          Get the value of various parameters from the MediaGroup bound to this MediaService.
 Terminal getTerminal()
          Return the Terminal associated with the MediaService.
 java.lang.String getTerminalName()
          Return the installation-specific String that identifies the Terminal to which this MediaService is bound.
 java.util.Dictionary getUserValues(Symbol[] symbol0)
          Creates and returns a new Dictionary that contains the UserDictionary values corresponding to a given set of keys.
 boolean isBinding()
           
 boolean isBound()
          Return true iff this MediaService is bound to a MediaGroup.
 boolean isDelegated()
          Return true if this MediaService is delegating ownership so some other MediaService.
 boolean isOwner()
          Return true if this MediaService is currently the owner of a bound MediaGroup.
 void onEventDone(Base.Event event)
          If event is a BindAndReleaseEvent, invoke callback in _bindAndReleaseListener
 void release()
          Release the MediaGroup from this MediaService using a NormalReturn.
 void releaseDelegated()
          Release while delegation is active.
 void releaseToDestroy()
          Release with an indication that the call is or should be disconnected and the MediaGroup destroyed.
 void releaseToService(java.lang.String string0, int int1)
          Release the MediaGroup from this MediaService with an indication that the call should to be processed by some other service.
 void releaseToTag(java.lang.String string0)
          Release MediaGroup from this MediaService to a previous owner.
 void removeMediaListener(MediaListener listener)
          Deprecated.  
 void retrieve(Symbol cause)
          Terminate the delegation that is in progress on this MediaService.
 void setParameters(java.util.Dictionary dictionary0)
          Set the value of various parameters for the MediaGroup bound to this MediaService.
 void setUserDictionary(java.util.Dictionary dictionary0)
          Set the entire UserDictionary to a new collection of key-value pairs.
 void setUserValues(java.util.Dictionary dictionary0)
          Set the values of several UserDictionary keys.
 void stop()
          Stop media operations on this MediaService.
 java.lang.String toString()
           
 void triggerRTC(Symbol symbol0)
          Trigger a RTC action from the application.
 
Methods inherited from class javax.telephony.media.provider.Base_Owner
addListener, removeListener, setExceptionHandler
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface javax.telephony.media.MediaService
addListener, removeListener
 

Constructor Detail

Base_MediaService

public Base_MediaService(MediaProvider provider)
Create an unbound MediaService, using services associated with the supplied MediaProvider object. The MediaProvider object may be a JTAPI core Provider, or may be obtained by other vendor-specific means.
Parameters:
provider - a MediaProvider instance

Base_MediaService

public Base_MediaService()
Create an unbound MediaService, using services identified as the installation default.

Base_MediaService

public Base_MediaService(java.lang.String peerName,
                         java.lang.String providerString)
                  throws java.lang.ClassNotFoundException,
                         java.lang.InstantiationException,
                         java.lang.IllegalAccessException,
                         ProviderUnavailableException
Create an unbound MediaService, using services identified by the two String arguments.
Parameters:
peerName - the name of a Class that implements MediaPeer.
providerString - a "login" string for that MediaPeer.
Throws:
java.lang.ClassNotFoundException - if MediaPeer class is not found
java.lang.IllegalAccessException - if MediaPeer class is not accessible
java.lang.InstantiationException - if MediaPeer class does not instantiate
ProviderUnavailableException - if Provider is not available
ClassCastException - if Provider instance is not a MediaProvider
Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

isBinding

public boolean isBinding()
Returns:
true iff bind or release is in progress.

isBound

public boolean isBound()
Description copied from interface: MediaService
Return true iff this MediaService is bound to a MediaGroup.
Specified by:
isBound in interface MediaService
Returns:
true iff this MediaService is bound to a MediaGroup.

isDelegated

public boolean isDelegated()
Description copied from interface: Delegation
Return true if this MediaService is delegating ownership so some other MediaService.
Specified by:
isDelegated in interface Delegation
Returns:
true iff this MediaService if delegation in progress

isOwner

public boolean isOwner()
Description copied from interface: Delegation
Return true if this MediaService is currently the owner of a bound MediaGroup.

isOwner() is: (isBound() && !isDelegated())

Specified by:
isOwner in interface Delegation
Returns:
true iff this MediaService is bound and not delegated.

onEventDone

public void onEventDone(Base.Event event)
If event is a BindAndReleaseEvent, invoke callback in _bindAndReleaseListener
Specified by:
onEventDone in interface MPI.Owner
Overrides:
onEventDone in class Base_Owner
Following copied from interface: javax.telephony.media.provider.MPI.Owner
See Also:
Base.Event

addMediaListener

public void addMediaListener(MediaListener listener)
Deprecated.  

Add a MediaListener to this MediaService.

Implements deprecated MediaService method.

Specified by:
addMediaListener in interface MediaService
Following copied from interface: javax.telephony.media.MediaService
Parameters:
listener - an object that implements one or more of the ResourceListener interfaces and/or the MediaServiceListener interface.
See Also:
MediaService.removeMediaListener(javax.telephony.media.MediaListener)

removeMediaListener

public void removeMediaListener(MediaListener listener)
Deprecated.  

Remove a MediaListener from this MediaService.

Implements deprecated MediaService method.

Specified by:
removeMediaListener in interface MediaService
Following copied from interface: javax.telephony.media.MediaService
Parameters:
listener - an object that implements MediaListener
See Also:
MediaService.addMediaListener(javax.telephony.media.MediaListener)

findMediaProvider

public static MediaProvider findMediaProvider(java.lang.String peerName,
                                              java.lang.String providerString)
                                       throws java.lang.ClassNotFoundException,
                                              java.lang.InstantiationException,
                                              java.lang.IllegalAccessException,
                                              ProviderUnavailableException
Get a MediaProvider from the given Strings.

If the given peerName is null:

  1. Check System.getProperty("Jtapi.MediaPeer"). If that is non-null, instantiate that MediaPeer.
  2. Check System.getProperty("Jtapi.Peer", "DefaultJtapiPeer"), See if that JtapiPeer.getProvider() produces a MediaPeer. [this step may be elided if Jtapi integration is not expected]
  3. Check "javax.telephony.media.provider.NullMediaPeer". That should produce NullMediaProvider.

Note: This method can be used as a MediaProvider Factory. For example:
MediaProvider mp = BasicMediaService.findMediaProvider(...);

Parameters:
peerName - name of the MediaPeer Class
providerString - a String that identifies the (MediaPeer-specific) MediaProvider and other information.
Throws:
java.lang.ClassNotFoundException - if MediaPeer class is not found
java.lang.IllegalAccessException - if MediaPeer class is not accessible
java.lang.InstantiationException - if MediaPeer class does not instantiate
ProviderUnavailableException - if Provider is not available
ClassCastException - if Provider instance is not a MediaProvider

getMediaProvider

public MediaProvider getMediaProvider()
Return the MediaProvider used by this MediaService.
Specified by:
getMediaProvider in interface MediaService
Returns:
the MediaProvider used by this MediaService.

cancelBindRequest

public void cancelBindRequest()
Revoke previous bind or release method on this MediaService.

Note: This functions identically to async_cancelBindRequest, but does not return the Event [it is part of the synchronous API].

Specified by:
cancelBindRequest in interface MediaService

async_cancelBindRequest

public Async.Event async_cancelBindRequest()
Asynchronous version of cancelBindRequest. There is no listener method defined for this, but applications that care to know when the event has completed can start a thread to .waitForEventDone() on the returned Event.

Applications that do not care about the completion status may as well use cancelBindRequest.

Specified by:
async_cancelBindRequest in interface Async.MediaService
Following copied from interface: javax.telephony.media.async.Async.MediaService
Returns:
an Async.Event that is already done().
See Also:
MediaService.cancelBindRequest()

delegateToService

public DelegationEvent delegateToService(java.lang.String serviceName,
                                         int timeout,
                                         java.lang.String catchTags)
                                  throws MediaBindException,
                                         MediaConfigException
Delegation methods
Specified by:
delegateToService in interface Delegation
Following copied from interface: javax.telephony.media.Delegation
Parameters:
serviceName - the service name of the recipient.
timeout - the time to wait for a service to become ready.
catchTags - a String of tags to control releaseToTag(String);
catchTags = null is equivalent to tag_NormalReturn.
Returns:
a DelegationEvent that indicates how the delegation terminated.
Throws:
NotBoundException - if not currently bound to a MediaGroup
NotOwnerException - if delegateToService in progress.
MediaBindException - one of: BindInProgressException, NoServiceAssignedException, NoServiceReadyException, BindCancelledException
BindCancelledException - if interrupted by cancelBindRequest.
NoServiceAssignedException - if serviceName is not recognised or is not mapped to any known serviceName.
NoServiceReadyException - if none of the MediaServices registered to serviceName are ready and none become ready within timeout milliseconds.
MediaConfigException - if the MediaGroup could not be configured for the recipient service.
See Also:
MediaService.releaseToService(String, int), Async.DelegationListener.onDelegateToServiceDone(MediaServiceEvent)

async_delegateToService

public Async.DelegationEvent async_delegateToService(java.lang.String serviceName,
                                                     int timeout,
                                                     java.lang.String catchTags)
                                              throws MediaBindException
Description copied from interface: Async_Delegation
Async version of delegateToService.

Transfer ownership of the bound MediaGroup to another MediaService, and stay on the owner stack until the MediaGroup is returned.

Invokes onDelegateToServiceDone when complete.

Specified by:
async_delegateToService in interface Async_Delegation
Following copied from interface: javax.telephony.media.async.Async_Delegation
Parameters:
serviceName - a String naming the service
timeout - an int specifying the timeout in milliseconds
catchTags - a String of tags to match a possible releaseTag
Returns:
an Async.DelegationEvent for onDelegateDone();
Throws:
NotBoundException - if not currently bound to a MediaGroup.
MediaBindException - a BindInProgressException if bind or release already in progress
NotOwnerException - if MediaGroup is already delegated.
See Also:
Delegation.delegateToService(java.lang.String, int, java.lang.String)

retrieve

public void retrieve(Symbol cause)
              throws NotBoundException,
                     MediaBindException,
                     NotDelegatedException
Description copied from interface: Delegation
Terminate the delegation that is in progress on this MediaService. On successful completion, this MediaService is owner of the bound MediaGroup.

The sequence of processing is:

If retrieve is processed when this MediaService.isOwner() is true, because delegateToService has returned (or was never invoked), this method succeeds with no other effect.

If retrieve() is processed when this MediaService.isBound() is false, then it throws NotBoundException.

Note: the state of isOwner() and isBound() may change between the time retrieve() is invoked and when it is processed by the platform. Other owners may release or retrieve the MediaGroup.

Note: This method may have undesirable effects on the application to which the MediaGroup has been delegated, or may have undersirable effects on the user interface experience of a caller. This function is intended to be used within suites of coordinated applicatations where the effects are understood and acceptable. If you do not know the effect of this method on the application which is currently the owner, then do not use this method.

Future Enhancement Proposal
In some future release, retrieve() could be implemented by adding tag_Retrieval to the catchTags of the invoking MediaService, and delivering an event to the current owner using MediaServiceListener.onRetrieved(ev_RetrieveRequest). This instructs the current owner to invoke releaseToTag(tag_Retrieval) at its earliest convenience.

Note: the current owner (or any owner between the current and the requesting owner) could delay retrieval by setting an parameter p_RetrieveDelay to the maximum milliseconds to wait (up to a framework determined maximum) before responding to the retrieval request. That would give the owner time to say goodbye, and issue releaseToTag(tab_Retrieval). The framework could intervene after the specified delay to enforce timely retrieval. The current specification corresponds to p_RetrieveDelay = 0, which is appropriate for retrieving from a music-on-hold application when a live agent is available.

Specified by:
retrieve in interface Delegation
Following copied from interface: javax.telephony.media.Delegation
Parameters:
cause - a Symbol that becomes the return value for getRetrieveCause().
Throws:
NotBoundException - if not currently bound to a MediaGroup
MediaBindException - a BindInProgressException if a bind or release is in progress.
NotDelegatedException - (a RuntimeException) if delegateToService has completed or not been called.

async_retrieve

public Async.DelegationEvent async_retrieve(Symbol cause)
                                     throws NotBoundException,
                                            BindInProgressException,
                                            NotDelegatedException
Description copied from interface: Async_Delegation
Cancel the delegation that is in progress on this MediaService.

Async version of Delegation.retrieve(Symbol).

Invokes onRetrieveDone when complete.

Specified by:
async_retrieve in interface Async_Delegation
Following copied from interface: javax.telephony.media.async.Async_Delegation
Parameters:
cause - a Symbol that becomes the return value for getRetrieveCause().
Returns:
an Async.DelegationEvent for onRetrieveDone()
Throws:
NotBoundException - if not currently bound to a MediaGroup.
MediaBindException - a BindInProgressException if bind or release is already in progress
NotDelegatedException - if delegateToService is not active.
See Also:
Delegation.retrieve(javax.telephony.media.Symbol)

releaseDelegated

public void releaseDelegated()
                      throws NotBoundException,
                             MediaBindException,
                             NotDelegatedException
Description copied from interface: Delegation
Release while delegation is active. Remove this MediaService from the ownerstack of the bound MediaGroup. Terminates delegateToService, leaving this MediaService not bound.


pre-conditions: (isBound() && isDelegated())
post-conditions: (!isBound() && !isDelegated())

Note: may throw an Exception if the pre-conditions are not true when the request is actually processed by the platform. Processing by other owners may change these properties between the time the method is invoked and when it is processed.

Note: releaseDelegated() can succeed only if it is processed while delegateToService is active on this MediaService. This is the one case where the platform may refuse to release. This restriction protects against a race when the application tries to get off the ownerstack just after (but before the app has been informed that) the MediaService has regained ownership. [that is, the previous/current owner just released the MediaGroup to this MediaService.] With this restriction, when the application eventually gets the onDelegateDone() notification, it is and will continue to be the owner; when the platform eventually processes releaseDelegated() it will throw NotDelegatedException.

Specified by:
releaseDelegated in interface Delegation
Following copied from interface: javax.telephony.media.Delegation
Throws:
NotBoundException - if not currently bound to a MediaGroup
MediaBindException - a BindInProgressException if a bind or release is in progress.
NotDelegatedException - (a RuntimeException) if delegateToService has completed or not been called.

async_releaseDelegated

public Async.DelegationEvent async_releaseDelegated()
                                             throws NotBoundException,
                                                    BindInProgressException,
                                                    NotDelegatedException
Description copied from interface: Async_Delegation
Cancel the delegation that is in progress on this MediaService. When delegateToService completes, this MediaService is not bound.

Async version of Delegation.releaseDelegated().

Invokes onRetrieveDone when complete.

Specified by:
async_releaseDelegated in interface Async_Delegation
Following copied from interface: javax.telephony.media.async.Async_Delegation
Returns:
an Async.DelegationEvent for onRetrieveDone()
Throws:
NotBoundException - if not currently bound to a MediaGroup.
MediaBindException - a BindInProgressException if bind or release is already in progress
NotDelegatedException - if delegateToService is not active.
See Also:
Delegation.releaseDelegated()

bindAndConnect

public void bindAndConnect(ConfigSpec configspec0,
                           java.lang.String string1,
                           java.lang.String string2)
                    throws MediaBindException,
                           MediaConfigException,
                           MediaCallException
the Bind and Release Methods.
Specified by:
bindAndConnect in interface MediaService
Following copied from interface: javax.telephony.media.MediaService
Parameters:
configSpec - a ConfigSpec describing the requested configuration
origAddr - a String identifying the origination Address
dialDigits - a String identifying the destination Address
Throws:
MediaBindException - one of AlreadyBoundException, BindInProgressException, BindCancelledException.
MediaConfigException - if a MediaGroup can not be configured as requested.
MediaCallException - if the Call or Connections cannot be established.
See Also:
Call.connect(Terminal, Address, String)

async_bindAndConnect

public Async.BindToCallEvent async_bindAndConnect(ConfigSpec configspec0,
                                                  java.lang.String string1,
                                                  java.lang.String string2)
                                           throws MediaBindException
Description copied from interface: Async.MediaService
Async version of bindAndConnect.
Specified by:
async_bindAndConnect in interface Async.MediaService
Following copied from interface: javax.telephony.media.async.Async.MediaService
Parameters:
cs - a ConfigSpec object
s1 - a String specifing the origAddr
s2 - a String specifing the dialDigits
Returns:
an Async.BindToCallEvent for onBindDone();
Throws:
MediaBindException - for preconditions; AlreadyBoundException or BindInProgressException
See Also:
MediaService.bindAndConnect(javax.telephony.media.ConfigSpec, java.lang.String, java.lang.String)

bindToCall

public Connection bindToCall(ConfigSpec configspec0,
                             Call call1)
                      throws MediaBindException,
                             MediaConfigException,
                             MediaCallException
Description copied from interface: MediaService
Bind this MediaService to a particular Call. This MediaService is bound to the MediaGroup of a Terminal connected to the given Call. The effect is to provide media access to an existing Call. This typically creates a new Connection to the Call; which Connection is to the media enabled Terminal bound to this MediaService.

The Call must be in the ACTIVE state (or else attribute a_DealloateOnIdle must be FALSE). Otherwise, disconnect processing may interfere with allocating resources.

To create Connections and bind to a new Call, use bindAndConnect.

Specified by:
bindToCall in interface MediaService
Following copied from interface: javax.telephony.media.MediaService
Parameters:
configSpec - a ConfigSpec describing the requested configuration.
call - a JTAPI Call object
Returns:
the Connection between the bound Terminal and the given Call.
Throws:
MediaBindException - one of AlreadyBoundException, BindInProgressException, BindCancelledException.
MediaConfigException - if a MediaGroup can not be configured as requested.
MediaCallException - encapsulates any call processing exceptions generated while trying to establish the new Call and Connection.

async_bindToCall

public Async.BindToCallEvent async_bindToCall(ConfigSpec configspec0,
                                              Call call1)
                                       throws MediaBindException
Description copied from interface: Async.MediaService
Async version of bindToCall.
Specified by:
async_bindToCall in interface Async.MediaService
Following copied from interface: javax.telephony.media.async.Async.MediaService
Parameters:
cs - a ConfigSpec object
call - a Call object
Returns:
an Async.BindToCallEvent for onBindDone();
Throws:
MediaBindException - for preconditions; AlreadyBoundException or BindInProgressException
See Also:
MediaService.bindToCall(javax.telephony.media.ConfigSpec, javax.telephony.Call)

bindToServiceName

public void bindToServiceName(ConfigSpec configspec0,
                              java.lang.String string1)
                       throws MediaBindException,
                              MediaConfigException
Description copied from interface: MediaService
Bind this MediaService to a call directed to serviceName. Wait until this MediaService is bound to the MediaGroup of a Terminal connected to a Call that is directed to the given serviceName.

A call is directed to this serviceName when:

The mapping of disposition strings or call characteristics to service names is implementation specific, and is controlled by implementation specific administrative interfaces. For example:

Some frameworks may event take the initiative to assign a service name for each application media service to use. For those frameworks, consider using the RunnableMediaService interface.

This method does not complete unless the ConfigSpec is satisfied. If resources are not available when a call arrives, then the underlying call discrimination or routing process may leave the call unanswered until resources are available, or the call may be routed to some other service.

By default, the Connection of the Call to this Terminal is brought to the CONNECTED state before this method returns. The attribute a_LocalState can be set in the ConfigSpec to override the default.

Note: This function blocks, waiting for a call to be directed to the given serviceName. If MediaService.cancelBindRequest() is subsequently invoked, this method unblocks throwing a BindCancelledException.

Specified by:
bindToServiceName in interface MediaService
Following copied from interface: javax.telephony.media.MediaService
Parameters:
configSpec - a ConfigSpec describing the requested configuration
serviceName - the administrative name for this MediaService
Throws:
MediaBindException - one of AlreadyBoundException, BindInProgressException, BindCancelledException.
MediaConfigException - one of BadConfigSpecException, ResourceNotSupportedException
See Also:
a_LocalState, RunnableMediaService

async_bindToServiceName

public Async.BindEvent async_bindToServiceName(ConfigSpec configspec0,
                                               java.lang.String string1)
                                        throws MediaBindException
Description copied from interface: Async.MediaService
Async version of bindToServiceName.
Specified by:
async_bindToServiceName in interface Async.MediaService
Following copied from interface: javax.telephony.media.async.Async.MediaService
Parameters:
cs - a ConfigSpec object
serviceName - a String
Returns:
an Async.BindEvent for onBindDone();
Throws:
MediaBindException - for preconditions; AlreadyBoundException or BindInProgressException
See Also:
MediaService.bindToServiceName(javax.telephony.media.ConfigSpec, java.lang.String)

bindToTerminalName

public void bindToTerminalName(ConfigSpec configspec0,
                               java.lang.String string1)
                        throws MediaBindException,
                               MediaConfigException
Description copied from interface: MediaService
Bind this MediaService to a particular Terminal. This MediaService is bound to a MediaGroup that is configured as requested and connected to the named Terminal.

It is possible to bind to a Terminal that does not have any Connections. However, disconnect processing may prevent configuration of a MediaGroup unless there is an active Connection to the Terminal.

Throws a MediaConfigException if the Terminal cannot be connected to a MediaGroup, or if the MediaGroup cannot be configured as requested.

Specified by:
bindToTerminalName in interface MediaService
Following copied from interface: javax.telephony.media.MediaService
Parameters:
configSpec - a ConfigSpec describing the requested configuration
terminalName - a String that names a media capable Terminal
Throws:
MediaBindException - one of AlreadyBoundException, BindInProgressException, BindCancelledException.
MediaConfigException - if a MediaGroup can not be configured as requested

async_bindToTerminalName

public Async.BindEvent async_bindToTerminalName(ConfigSpec configspec0,
                                                java.lang.String string1)
                                         throws MediaBindException
Description copied from interface: Async.MediaService
Async version of bindToTerminalName.
Specified by:
async_bindToTerminalName in interface Async.MediaService
Following copied from interface: javax.telephony.media.async.Async.MediaService
Parameters:
cs - a ConfigSpec object
s1 - a terminal name String
Returns:
an Async.BindEvent for onBindDone();
Throws:
MediaBindException - for preconditions; AlreadyBoundException or BindInProgressException
See Also:
MediaService.bindToTerminalName(javax.telephony.media.ConfigSpec, java.lang.String)

bindToTerminal

public void bindToTerminal(ConfigSpec configspec0,
                           Terminal terminal1)
                    throws MediaBindException,
                           MediaConfigException
Description copied from interface: MediaService
Bind this MediaService to a particular Terminal. This MediaService is bound to a MediaGroup that is configured as requested and connected to the given Terminal.

This is functionally equivalent to:
bindToTerminalName(configSpec, term.getName()),
but may perform better in some implementations.

Specified by:
bindToTerminal in interface MediaService
Following copied from interface: javax.telephony.media.MediaService
Parameters:
configSpec - a ConfigSpec describing the requested configuration
terminal - a media-capable Terminal object
Throws:
MediaBindException - one of AlreadyBoundException, BindInProgressException, BindCancelledException.
MediaConfigException - if a MediaGroup can not be configured as requested.

async_bindToTerminal

public Async.BindEvent async_bindToTerminal(ConfigSpec configspec0,
                                            Terminal terminal1)
                                     throws MediaBindException
Description copied from interface: Async.MediaService
Async version of bindToTerminal.
Specified by:
async_bindToTerminal in interface Async.MediaService
Following copied from interface: javax.telephony.media.async.Async.MediaService
Parameters:
cs - a ConfigSpec object
t1 - a JTAPI Terminal object
Returns:
an Async.BindEvent for onBindDone();
Throws:
MediaBindException - for preconditions; AlreadyBoundException or BindInProgressException
See Also:
MediaService.bindToTerminal(javax.telephony.media.ConfigSpec, javax.telephony.Terminal)

release

public void release()
             throws NotBoundException,
                    MediaBindException
Description copied from interface: MediaService
Release the MediaGroup from this MediaService using a NormalReturn. Indicates that this service has completed and has no interest in the further processing of the call.

For this and other MediaService release methods:
pre-conditions: (isBound() && isOwner())
post-conditions: (!isBound())

How the call is processed after release() depends on whether some other media service has delegated the call. If the call was delegated, then ownership of the call is returned to the MediaService which delegated the call. If the call was not delegated, then the system framework gets ownership and (typically) disconnects the call and releases the resources.

Note:To indicate that framework disconnect processing should be done even if the call is delegated, use the MediaService.releaseToDestroy() method.

Note:To release this MediaService, but direct the further processing of the call to a specific new owner, an application may use: MediaService.releaseToService(String, int).

Note:To release this MediaService, but direct the further processing of the call to a specific previous owner (which used delegateToService()), an application may use: MediaService.releaseToTag(String).

Specified by:
release in interface MediaService
Following copied from interface: javax.telephony.media.MediaService
Throws:
NotBoundException - if not currently bound to a MediaGroup
MediaBindException - one of: BindInProgressException or BindCancelledException.
BindInProgressException - if a bind or release is already in progress.
BindCancelledException - if interrupted by cancelBindRequest.

async_release

public Async.ReleaseEvent async_release()
                                 throws MediaBindException
Description copied from interface: Async.MediaService
Async version of release().
Specified by:
async_release in interface Async.MediaService
Following copied from interface: javax.telephony.media.async.Async.MediaService
Returns:
an Async.ReleaseEvent for onReleaseDone();
Throws:
MediaBindException - a BindInProgressException
See Also:
MediaService.release()

releaseToService

public void releaseToService(java.lang.String string0,
                             int int1)
                      throws NotBoundException,
                             MediaBindException,
                             MediaConfigException
Description copied from interface: MediaService
Release the MediaGroup from this MediaService with an indication that the call should to be processed by some other service. The next service is determined by the disposition string.

Typically, the framework maps the disposition string to the serviceName of some other MediaService. The framework finds another MediaService that is waiting (in bindToServiceName) for that serviceName, configures the MediaGroup for that MediaService, binds the MediaGroup to that MediaService, and releases the MediaGroup from this MediaService.

If the given disposition string can not be mapped to a recognised serviceName, NoServiceAssignedException is thrown. If the disposition code is recognised, but no service suppliers are ready, this method waits for up to timeout milliseconds for a service to become ready and then throw NoServiceReadyException.

On completion, this MediaService is unbound from the MediaGroup. Further operations on this MediaService throw NotBoundException, until another MediaGroup is bound to this MediaService.

Note: The releasing media service can store additional information for the new owner by using MediaService.setUserValues(Dictionary).

Implementation note: The disposition strings used by an application should be defined and documented as part of the external interface of the application. The installation and administration processes of a framework use that information to setup the mapping from disposition codes to the handling services. In some cases the framework may supply services to handle some disposition codes.

Note: Disposition strings beginning with "Special:" are reserved for standardized treatment. For example:
Special:Queue?address=<address> queue the call at the given address
Special:Transfer?address=<address> transfer the call to the given address
In these cases, the framework knows that a special service exists to implement the requested disposition. Additional information may be passed to the special service implementation using standard URL construction conventions.

Specified by:
releaseToService in interface MediaService
Following copied from interface: javax.telephony.media.MediaService
Parameters:
disposition - a String that identifies the next MediaService.
timeout - milliseconds to wait for service to become ready.
Throws:
NotBoundException - if not currently bound to a MediaGroup
MediaBindException - one of: NoServiceAssignedException, NoServiceReadyException, BindInProgressException, BindCancelledException
NoServiceAssignedException - if disposition is not recognised or is not mapped to any serviceName.
NoServiceReadyException - if none of the MediaServices registered to disposition are ready and none become ready within timeout milliseconds.
BindInProgressException - if a bind or release is already in progress.
BindCancelledException - if interrupted by cancelBindRequest.
MediaConfigException - if the MediaGroup could not be configured for the recipient service.

async_releaseToService

public Async.ReleaseEvent async_releaseToService(java.lang.String string0,
                                                 int int1)
                                          throws MediaBindException
Description copied from interface: Async.MediaService
Async version of releaseToService().
Specified by:
async_releaseToService in interface Async.MediaService
Following copied from interface: javax.telephony.media.async.Async.MediaService
Parameters:
serviceName - a String
timeout - an int specifying timeout in milliseconds
Returns:
an Async.ReleaseEvent for onReleaseDone();
Throws:
MediaBindException - a BindInProgressException
See Also:
MediaService.releaseToService(java.lang.String, int)

releaseToTag

public void releaseToTag(java.lang.String string0)
                  throws MediaBindException
Description copied from interface: MediaService
Release MediaGroup from this MediaService to a previous owner. Return ownership to the MediaService that called delegateToService() with catchTags that matche one of the given returnTags.

Some return tags have assigned usage:
Tag Name:Used for:
tag_NormalReturnsimple release()
tag_DestroyRequestreleaseToDestroy
tag_RemoveSessionreleaseToRemove
null or ""NormalReturn

Note: each previous owner is checked, from most recent to oldest. If the previous owner does not catch the return tag, then delegateToService completes with qualifier q_Released, and that MediaService !isBound(). If the previous owner does catch the return tag, then it becomes the new owner: delegateToService completes with qualifier q_Returned and that MediaService isBound() and isOwner().

Note: the returnTag conceptually specifies a single tag, indicating the terminatation status of this MediaService. Each 'catcher' should catch all that apply, using catchTags. However, to enable interoperability with applications that may be catching disjoint names, the MediaService invoking returnToTag is allowed to supply a space-separated list of tags in returnTag. The list of tags is consdered to be a list of synonyms, each previous owner is checked to see if its list of catchTags matches any one of the given returnTag tags.

Specified by:
releaseToTag in interface MediaService
Following copied from interface: javax.telephony.media.MediaService
Parameters:
returnTag - a String of tags to match a previous catchTags
Throws:
MediaBindException - a BindInProgressException if a bind or release is already in process.
See Also:
MediaService.release(), MediaService.releaseToService(String, int)

async_releaseToTag

public Async.ReleaseEvent async_releaseToTag(java.lang.String string0)
                                      throws NotBoundException,
                                             MediaBindException
Description copied from interface: Async.MediaService
Async version of releaseToTag().
Specified by:
async_releaseToTag in interface Async.MediaService
Following copied from interface: javax.telephony.media.async.Async.MediaService
Parameters:
returnTag - a String of tags to match delegated catchTags
Returns:
an Async.ReleaseEvent for onReleaseDone();
Throws:
NotBoundException - if not currently bound to a MediaGroup.
MediaBindException - a BindInProgressException
See Also:
MediaService.releaseToTag(java.lang.String)

releaseToDestroy

public void releaseToDestroy()
                      throws MediaBindException
Description copied from interface: MediaService
Release with an indication that the call is or should be disconnected and the MediaGroup destroyed.

Equivalent to releaseToTag(tag_DestroyRequest).

Specified by:
releaseToDestroy in interface MediaService
Following copied from interface: javax.telephony.media.MediaService
Throws:
MediaBindException - a BindInProgressException if a bind or release is already in process.
See Also:
MediaService.releaseToTag(String)

async_releaseToDestroy

public Async.ReleaseEvent async_releaseToDestroy()
                                          throws MediaBindException
Description copied from interface: Async.MediaService
Async version of releaseToDestroy().
Specified by:
async_releaseToDestroy in interface Async.MediaService
Following copied from interface: javax.telephony.media.async.Async.MediaService
Returns:
an Async.ReleaseEvent for onReleaseDone();
Throws:
MediaBindException - a BindInProgressException
See Also:
MediaService.releaseToDestroy()

configure

public void configure(ConfigSpec configspec0)
               throws NotBoundException,
                      MediaConfigException
MediaGroup Methods: configure
Specified by:
configure in interface MediaService
Following copied from interface: javax.telephony.media.MediaService
Parameters:
configSpec - a ConfigSpec describing the requested configuration
Throws:
NotBoundException - if not currently bound to a MediaGroup
MediaConfigException - if resources can not be configured as requested

async_configure

public Async.MediaGroupEvent async_configure(ConfigSpec configspec0)
Description copied from interface: Async.MediaService
Async version of MediaService.configure().
Specified by:
async_configure in interface Async.MediaService
Following copied from interface: javax.telephony.media.async.Async.MediaService
Parameters:
cs - a ConfigSpec object
Returns:
a MediaGroupEvent object
See Also:
MediaService.configure(javax.telephony.media.ConfigSpec)

getConfiguration

public ConfigSpec getConfiguration()
                            throws NotBoundException
Description copied from interface: MediaService
Return a ConfigSpec that describes the current configuration of this MediaService. The returned ConfigSpec contains the attributes and parameters of the currently bound MediaGroup, including ResourceSpecs for all of the Resources currently configured into this MediaGroup.

Note:. This does not generally return a copy of the ConfigSpec used to create/configure this MediaGroup. The returned ConfigSpec describes the MediaService/MediaGroup as it is currently and actually configured.

The attributes of the individual resources appear in the ResourceSpec corresponding to that resource. The parameters and attributes of the MediaService/MediaGroup as a whole are available using ConfigSpec.getAttributes() and ConfigSpec.getParameters().

Specified by:
getConfiguration in interface MediaService
Following copied from interface: javax.telephony.media.MediaService
Returns:
a ConfigSpec describing the current configuration.
Throws:
NotBoundException - if not currently bound to a MediaGroup

async_getConfiguration

public Async.MediaGroupEvent async_getConfiguration()
Description copied from interface: Async.MediaService
Async version of MediaService.getConfiguration().
Specified by:
async_getConfiguration in interface Async.MediaService
Following copied from interface: javax.telephony.media.async.Async.MediaService
Returns:
a MediaGroupEvent object
See Also:
MediaService.getConfiguration()

getTerminalName

public java.lang.String getTerminalName()
                                 throws NotBoundException
Description copied from interface: MediaService
Return the installation-specific String that identifies the Terminal to which this MediaService is bound.

Specified by:
getTerminalName in interface MediaService
Following copied from interface: javax.telephony.media.MediaService
Returns:
a String that uniquely identifies the bound Terminal.
Throws:
NotBoundException - if not currently bound to a MediaGroup
See Also:
Terminal.getName()

async_getTerminalName

public Async.MediaGroupEvent async_getTerminalName()
Description copied from interface: Async.MediaService
Async version of MediaService.getTerminalName().
Specified by:
async_getTerminalName in interface Async.MediaService
Following copied from interface: javax.telephony.media.async.Async.MediaService
Returns:
a MediaGroupEvent object
See Also:
MediaService.getTerminalName()

getTerminal

public Terminal getTerminal()
                     throws NotBoundException
Description copied from interface: MediaService
Return the Terminal associated with the MediaService. The Terminal may be used to access the associated JTAPI objects.

Note: If this MediaService is not associated with a JTAPI Provider, this method may return null.

Note: This method is supplied as a potential accelerator for some implementations. Applications that need a reference to the bound Terminal without reference to other JTAPI objects should restrict their usage to MediaService.getTerminalName().

Specified by:
getTerminal in interface MediaService
Following copied from interface: javax.telephony.media.MediaService
Returns:
the Terminal object associated with this MediaService.
Throws:
NotBoundException - if not currently bound to a MediaGroup

async_getTerminal

public Async.MediaGroupEvent async_getTerminal()
Description copied from interface: Async.MediaService
Async version of MediaService.getTerminal().
Specified by:
async_getTerminal in interface Async.MediaService
Following copied from interface: javax.telephony.media.async.Async.MediaService
Returns:
a MediaGroupEvent object
See Also:
MediaService.getTerminal()

triggerRTC

public void triggerRTC(Symbol symbol0)
                throws NotBoundException
Description copied from interface: MediaService
Trigger a RTC action from the application.

This is a non-blocking, one-way invocation.

This method allows the application to synthesize the triggering of RTC actions. The RTC Condition associated with this action is rtcc_TriggerRTC.

The rtca actions are documented by various Resources in the ResourceConstants interface. Look for Symbol fields with the rtca_ prefix.

Note: this method was ill-conceived and has been recalled. RTC actions internally are associated with a specific transaction. Until implementations with the correct semantics are defined, it is better to use the existing transactional commands.

For example: use Player.pause() instead of triggerRTC(Player.rtca_Pause).

In a future release there may be:
void triggerRTC(Symbol rtca, Async.Event event)
which would effect only the transaction associated with the given event.

Specified by:
triggerRTC in interface MediaService
Following copied from interface: javax.telephony.media.MediaService
Parameters:
rtca - a Symbol for a recognized RTC action: rtca_Action
Throws:
NotBoundException - if not currently bound to a MediaGroup

async_triggerRTC

public Async.MediaGroupEvent async_triggerRTC(Symbol symbol0)
Description copied from interface: Async.MediaService
Trigger an RTC action from the application.
Specified by:
async_triggerRTC in interface Async.MediaService
Following copied from interface: javax.telephony.media.async.Async.MediaService
Parameters:
rtca - an RTC action Symbol
Returns:
a MediaGroupEvent object
See Also:
MediaService.triggerRTC(javax.telephony.media.Symbol)

stop

public void stop()
          throws NotBoundException
Description copied from interface: MediaService
Stop media operations on this MediaService. Stops all ongoing media operations, unblocking any resource methods. Those operations that are stopped get a completion event with:
ResourceEvent.getQualifier() == ResourceEvent.q_Stop

This method may not unblock a bind or release request. For that effect, use MediaService.cancelBindRequest().

Specified by:
stop in interface MediaService
Following copied from interface: javax.telephony.media.MediaService
Throws:
NotBoundException - if not currently bound to a MediaGroup

async_stop

public Async.MediaGroupEvent async_stop()
Description copied from interface: Async.MediaService
Async version of MediaService.stop().
Specified by:
async_stop in interface Async.MediaService
Following copied from interface: javax.telephony.media.async.Async.MediaService
Returns:
a MediaGroupEvent object
See Also:
MediaService.stop()

getUserValues

public java.util.Dictionary getUserValues(Symbol[] symbol0)
                                   throws NotBoundException
Description copied from interface: MediaService
Creates and returns a new Dictionary that contains the UserDictionary values corresponding to a given set of keys.

If the keys argument is null then a snapshot of the entire UserDictionary is returned.

For interoperability with other languages, the keys in the Dictionary are restricted to type Symbol. The result of using keys of other types is undefined, but throwing a ClassCastException is considered compliant.

Specified by:
getUserValues in interface MediaService
Following copied from interface: javax.telephony.media.MediaService
Parameters:
keys - an array of key Symbols
Returns:
a Dictionary of application-shared information.
Throws:
NotBoundException - if not currently bound to a MediaGroup
See Also:
MediaService.setUserValues(java.util.Dictionary)

async_getUserValues

public Async.MediaGroupEvent async_getUserValues(Symbol[] symbol0)
Description copied from interface: Async.MediaService
Async version of MediaService.getUserValues().
Specified by:
async_getUserValues in interface Async.MediaService
Following copied from interface: javax.telephony.media.async.Async.MediaService
Parameters:
keys - an array of Symbols indicating parameters to get
Returns:
a MediaGroupEvent object
See Also:
MediaService.getUserValues(javax.telephony.media.Symbol[])

setUserValues

public void setUserValues(java.util.Dictionary dictionary0)
                   throws NotBoundException
Description copied from interface: MediaService
Set the values of several UserDictionary keys. The values supplied in the given dict are merged with the current UserDictionary.
Specified by:
setUserValues in interface MediaService
Following copied from interface: javax.telephony.media.MediaService
Parameters:
dict - a Dictionary whose contents is merged into the UserDictionary.
Throws:
NotBoundException - if not currently bound to a MediaGroup
See Also:
MediaService.getUserValues(javax.telephony.media.Symbol[])

async_setUserValues

public Async.MediaGroupEvent async_setUserValues(java.util.Dictionary dictionary0)
Description copied from interface: Async.MediaService
Async version of MediaService.setUserValues().
Specified by:
async_setUserValues in interface Async.MediaService
Following copied from interface: javax.telephony.media.async.Async.MediaService
Parameters:
dict - a Dictionary of user values
Returns:
a MediaGroupEvent object
See Also:
MediaService.setUserValues(java.util.Dictionary)

setUserDictionary

public void setUserDictionary(java.util.Dictionary dictionary0)
                       throws NotBoundException
Description copied from interface: MediaService
Set the entire UserDictionary to a new collection of key-value pairs.

Note: setUserDictionary(null) achieves the same result as setUserDictionary(new Hashtable());

Specified by:
setUserDictionary in interface MediaService
Following copied from interface: javax.telephony.media.MediaService
Parameters:
newDict - A Dictionary whose contents is copied into the MediaGroup.
Throws:
NotBoundException - if not currently bound to a MediaGroup

async_setUserDictionary

public Async.MediaGroupEvent async_setUserDictionary(java.util.Dictionary dictionary0)
Description copied from interface: Async.MediaService
Async version of MediaService.setUserDictionary().
Specified by:
async_setUserDictionary in interface Async.MediaService
Following copied from interface: javax.telephony.media.async.Async.MediaService
Parameters:
dict - a Dictionary of user values
Returns:
a MediaGroupEvent object
See Also:
MediaService.setUserDictionary(java.util.Dictionary)

getParameters

public java.util.Dictionary getParameters(Symbol[] symbol0)
                                   throws NotBoundException
Description copied from interface: MediaService
Get the value of various parameters from the MediaGroup bound to this MediaService. Each key in the returned Dictionary has the value of the corresponding parameter.

If the params is null, then get all parameters. For example:

	Dictionary parms;
	parms = getParameters(null); // on return, parms contains all parameters.
Some implementations may not be able to retrieve parameter values when one or more resources are busy. In that case, null is returned.

If a key refers to a Resource that is not present, or the resource has no meaning associated with a particular Symbol, the key is ignored, no error is generated, and that key does not appear returned Dictionary.

Specified by:
getParameters in interface MediaService
Following copied from interface: javax.telephony.media.MediaService
Parameters:
params - an array of Symbols naming parameters to be retrieved.
Returns:
a Dictionary of parameter Symbols and their values.
Throws:
NotBoundException - if not currently bound to a MediaGroup
See Also:
MediaService.setParameters(java.util.Dictionary)

async_getParameters

public Async.MediaGroupEvent async_getParameters(Symbol[] symbol0)
Description copied from interface: Async.MediaService
Async version of MediaService.getParameters().
Specified by:
async_getParameters in interface Async.MediaService
Following copied from interface: javax.telephony.media.async.Async.MediaService
Parameters:
keys - an array of Symbols indicating parameters to get
Returns:
a MediaGroupEvent object
See Also:
MediaService.getParameters(javax.telephony.media.Symbol[])

setParameters

public void setParameters(java.util.Dictionary dictionary0)
                   throws NotBoundException
Description copied from interface: MediaService
Set the value of various parameters for the MediaGroup bound to this MediaService. For each key in the supplied Dictionary, the corresponding parameter of the MediaGroup is set to the value of that key in the Dictionary.

For interoperability with other languages, the keys in the Dictionary are restricted to type Symbol. The result of using keys of other types is undefined, but a compliant implementation may throw a ClassCastException or IllegalArgumentException.

If a parameter Symbol refers to a resource that is not present, or the MediaGroup or Resource has no meaning associated with a particular Symbol, the setting for that parameter is quietly ignored.

Specified by:
setParameters in interface MediaService
Following copied from interface: javax.telephony.media.MediaService
Parameters:
params - a Dictionary in which the keys are Symbols and the values are assigned to the parameter with that Symbol name.
Throws:
NotBoundException - if not currently bound to a MediaGroup
See Also:
MediaService.getParameters(javax.telephony.media.Symbol[])

async_setParameters

public Async.MediaGroupEvent async_setParameters(java.util.Dictionary dictionary0)
Description copied from interface: Async.MediaService
Async version of MediaService.setParameters().
Specified by:
async_setParameters in interface Async.MediaService
Following copied from interface: javax.telephony.media.async.Async.MediaService
Parameters:
dict - a Dictionary of parameters to set
Returns:
a MediaGroupEvent object
See Also:
MediaService.setParameters(java.util.Dictionary)

JSR-043: JTAPI-1.4

Send comments to: JSR-43@ectf.org