com.genesyslab.ail
Interface InteractionOpenMedia

All Superinterfaces:
AbstractInteraction, IdObject, Interaction, InteractionMultimedia, Possible, Savable

public interface InteractionOpenMedia
extends InteractionMultimedia

Manages an open media interaction.

An open media interaction is an interaction whose third-party media is not a Genesys media such as voice, e-mail, or chat. Before you use open media interactions, make sure that you defined the corresponding third-party media and interaction information in the Configuration Layer. Then, you can retrieve this information by calling the getOpenMediaType(), getOpenInteractionType() and getOpenInteractionSubType() methods of your interactions.

Your application is in charge of this interaction's workflow. This interface provides the following features:

Your application can create instances of InteractionOpenMedia by calling the Agent.createInteractionOpenMedia() or Place.createInteractionOpenMedia() methods. For example, this may be useful to create an outbound open media interaction as the result of processing an inbound open media interaction. Your application can get an instance of this interface when it receives an InteractionEvent on a monitored place or agent for a new interaction. For further details, see the Agent or the Place you are listening to

To determine which actions are available at a certain time, test the corresponding Interaction.Action value by calling the isPossible() method. For example, use the possible actions to activate or deactivate buttons that make calls to the corresponding InteractionOpenMedia methods.

Actions on the open media interaction generate InteractionEvent events for changes in interaction status and data (see PlaceListener and AgentListener). Use those events to update your application's state.


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.genesyslab.ail.InteractionMultimedia
InteractionMultimedia.StopProcessingReason
 
Nested classes/interfaces inherited from interface com.genesyslab.ail.Interaction
Interaction.Action, Interaction.Status, Interaction.Type
 
Nested classes/interfaces inherited from interface com.genesyslab.ail.AbstractInteraction
AbstractInteraction.AbstractCallType
 
Method Summary
 boolean getCanBeParent()
          Returns true whether or not this interaction can be the parent of another interaction stored in UCS.
 java.lang.String getOpenInteractionSubType()
          Gets the business attribute name for the interaction subtype of this open media interaction.
 java.lang.String getOpenInteractionType()
          Gets the business attribute name for the interaction type of this open media interaction.
 java.lang.String getOpenMediaType()
          Gets the business attribute name for the media type of this open media interaction.
 java.lang.String getParentID()
          Gets the parent identifier of this interaction.
 java.lang.String getThreadID()
          Gets the identifier of the contact's thread.
 void setCanBeParent(boolean canBeParent)
          Sets whether or not this interaction can be the parent of another interaction stored in UCS.
 void setThreadID(java.lang.String threadID)
          Sets the identifier of the contact's thread.
 void stopProcessingIS(InteractionMultimedia.StopProcessingReason _reason)
          Stops the interaction in Interaction Server.
 void stopProcessingUCS(boolean _delete)
          Deletes the interaction from UCS if the _delete parameter is true; otherwise, sets the interaction status to STOPPED.
 
Methods inherited from interface com.genesyslab.ail.InteractionMultimedia
addSuggestedCategories, delete, getAvailableQueuesForChildInteraction, getAvailableQueuesForThisInteraction, getCategoryId, getExternalId, getInteractionSubtype, getInteractionType, getIsCategoryApproved, getMaxSubjectLength, getMediaType, getQueue, getSuggestedCategories, isMarkDoneAvailable, placeInQueue, setAttachedData, setAvailableQueuesForChildInteraction, setAvailableQueuesForThisInteraction, setCategoryId, setExternalId, setIsCategoryApproved, submit, transferAgent, transferPlace, transferQueue
 
Methods inherited from interface com.genesyslab.ail.Interaction
answerCall, countOtherPendingInteractions, getContactId, getContentBinary, getContentBinaryMimeType, getContentBinarySize, getDateCreated, getDn, getEndDate, getMedia, getNotepad, getParentInteraction, getPlace, getStatus, getStructTextMimeType, getStructuredText, getSubject, getText, getType, getUserName, isDone, markDone, merge, releaseCall, save, setContactId, setContentBinary, setContentBinaryMimeType, setContentBinarySize, setNotepad, setStructTextMimeType, setStructuredText, setSubject, setText
 
Methods inherited from interface com.genesyslab.ail.AbstractInteraction
addInteractionListener, getAttachedData, getAttachedData, getAttachedDataEx, getTConnectionId, queryStatus, removeAttachedData, removeInteractionListener, saveAttachedData, setAttachedData
 
Methods inherited from interface com.genesyslab.ail.Possible
arePossible, isPossible
 
Methods inherited from interface com.genesyslab.ail.Savable
getContactServerId, isDirty
 

Method Detail

getOpenMediaType

java.lang.String getOpenMediaType()
Gets the business attribute name for the media type of this open media interaction.

Returns:
the media type

getOpenInteractionType

java.lang.String getOpenInteractionType()
Gets the business attribute name for the interaction type of this open media interaction.

Returns:
the interaction type

getOpenInteractionSubType

java.lang.String getOpenInteractionSubType()
Gets the business attribute name for the interaction subtype of this open media interaction.

Returns:
the interaction subtype

getCanBeParent

boolean getCanBeParent()
Returns true whether or not this interaction can be the parent of another interaction stored in UCS.

Note: If the DATABASE service is not available, that is, if UCS is not connected, do not use this method.

Returns:
true if the interaction can be parent of another interaction.

setCanBeParent

void setCanBeParent(boolean canBeParent)
Sets whether or not this interaction can be the parent of another interaction stored in UCS. If canBeParent is set to false, this interaction cannot have any child interaction in UCS.

Note: If the DATABASE service is not available, that is, if UCS is not connected, do not use this method.

Parameters:
canBeParent - true if this interaction can be the parent of another interaction.
See Also:
setThreadID(java.lang.String)

getThreadID

java.lang.String getThreadID()
Gets the identifier of the contact's thread. This thread identifies a set of interactions that involves the same contact for a particular issue.

Note: If the DATABASE service is not available, that is, if UCS is not connected, do not use this method.

Returns:
a String value.

setThreadID

void setThreadID(java.lang.String threadID)
Sets the identifier of the contact's thread. This thread identifies a set of interactions that involves the same contact for a particular issue.

Note: If the DATABASE service is not available, that is, if UCS is not connected, do not use this method.

Parameters:
threadID - a String value.

getParentID

java.lang.String getParentID()
Gets the parent identifier of this interaction.

Note: If the DATABASE service is not available, that is, if UCS is not connected, do not use this method.

Returns:
a String value.

stopProcessingUCS

void stopProcessingUCS(boolean _delete)
                       throws RequestFailedException
Deletes the interaction from UCS if the _delete parameter is true; otherwise, sets the interaction status to STOPPED.

Note: If the DATABASE service is not available, that is, if UCS is not connected, do not use this method.

Parameters:
_delete - the boolean value.
Throws:
RequestFailedException

stopProcessingIS

void stopProcessingIS(InteractionMultimedia.StopProcessingReason _reason)
                      throws RequestFailedException
Stops the interaction in Interaction Server.

Parameters:
_reason - the StopProcessingReason reason
Throws:
RequestFailedException