Understand Call Control Events
This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.
To provide call control for holds and disconnects in the Microsoft Office Communications Server 2007 environment, use the workflow activities listed in the following table.
Occurs when a user or the application disconnects the call.
Occurs when the call is put on hold by the user.
Occurs when the duration of a hold exceeds the value of the CallOnHoldTimeout property.
Occurs when a call on hold is retrieved by a user.
Use the CallDisconnectedEventActivity activity to handle disconnected calls. A call can be disconnected by the application or an end user. CallDisconnectedEventActivity gives the developer control when a call disconnects, allowing the application to log call detail information in a database. For information about adding event activities to a workflow, see Walkthrough: Add Events to a Workflow.
A call may be placed on hold by the application or an end user. After a call is put on hold, it can be retrieved or a hold time-out event can occur. While the call is on hold, two things happen:
The main workflow continues its execution until it hits an activity that will not execute while a call is on hold. For example, SpeechQuestionAnswerActivity, BlindTransferActivity, SpeechStatementActivity, or other possible custom activities.
If CallOnHoldEventActivity is defined in the scope, then workflow activities contained in the communications events designer execute.
Calls Placed on Hold
Use the CallOnHoldEventActivity activity to define a parallel workflow that executes while the call is on hold. With this activity, an application author can control what happens when a hold is placed. For example, in a call queue when an application is looking for a suitable agent for the caller and the caller puts the call on hold, the author may want to suspend the search for the agent while the call is on hold. For information about adding event activities to a workflow, see Walkthrough: Add Events to a Workflow.
Use the CallOnHoldTimeoutEventActivity activity to define a parallel workflow that executes when a hold lasts longer than the duration specified in the CallOnHoldTimeout property. For example, this activity allows the application to disconnect after a call is on hold for a time longer than specified by CallOnHoldTimeout. For information about adding event activities to a workflow, see Walkthrough: Add Events to a Workflow.
Use the CallRetrievedEventActivity activity to define a parallel workflow that executes when a call is retrieved by the user after it is put on hold. For example, when the call is on hold the search for a suitable agent is suspended, and the workflow author wants to resume the search when the call is retrieved. With this activity, the workflow author can specify what happens when the call is retrieved.