Extension SDK for BEA WebLogic Network Gatekeeper
Call user interaction
The following sections contain descriptions of plug-ins of call user interaction type:
Network plug-in
Call user interaction interfaces
All Call user interaction interfaces are defined in the files UserInteractionCallResource_IF.idl and UserInteractionResource_IF.idl located in bea\wlng21\esdk\idl\plugin_if\ui
There are two interface definition files, where general user interaction interfaces are defined in UserInteractionResource_IF.idl and functionality related only to Call user interaction is found in UserInteractionCallResource_IF.idl.
Figure 9-1 Call user interaction interfaces
Interfaces that should be implemented by the plug-in are listed in the table below.
Table 9-1 Interfaces that shall be implemented by a plug-in for Subscriber profile
Interface
|
Description
|
Resource
|
Initial object obtained from Plug-in Manager. Base interface implemented by all plug-ins.
|
UserInteractionCallResource
|
Manager object that is used to create and release sessions towards the Call user interaction plug-in.
|
IrUI
|
Provides functions for sending information, typically prompt messages and to order collection of information from the end user.The information is typically collected from IVRs capable of collecting user input in the form of DTMF. It also provides functions for ending, or releasing, a user information session.
|
IrUICall
|
Provides functions for ordering recording of messages and to abort a request.
|
IrUICallManager
|
Deprecated.
|
IrUICallManagerExt
|
Provides functions for creating objects representing a Call user interaction session.
|
Interfaces that are implemented by the ESPA Call user interaction SC.
Table 9-2 Interfaces that are implemented by the ESPA Call user interaction SC, used by a Call user Interaction plug-in.
Interface
|
Description
|
IrAppUI
|
Call back interface for receiving responses to operations performed via the IrUI interface.
|
IrAppUICall
|
Call back interface for receiving responses to operations performed via the IrUICall interface.
|
UserInteractionCallResource
UserInteractionCallResource inherits from the Resource interface and adds an additional method that is used to obtain the Call user interaction manager.
Table 9-3 UserInteractionCallResource
Method
|
Description
|
getUICallManager
|
Retrieve a Call user interaction manager. The returned object shall be narrowed from a IrUICallManager to a IrUICallManagerExt object since IrUICallManager is deprecated.
|
IrUICallManager -deprecated-
IrUICallManager is deprecated.
IrUICallManagerExt
IrUICallManagerExt is used to create Call user interaction sessions. Only one instance of this type is required.
Table 9-4 IrUICallManagerExt
Method
|
Description
|
createUICallCtx
|
Create a new Call user interaction object.
|
IrUI
The User Interaction Service Interface provides functions to send information to, or gather information from a user.
Table 9-5 IrUI
Method
|
Description
|
sendInfoReq
|
Plays an announcement or sends other type of information to the end user.
|
sendInfoAndCollectReq
|
Plays an announcement or sends other type of information to the end user and collects input from the end user.
|
release
|
Releases an user interaction session. Releases all resources associated with the user interaction session and terminates the ongoing user interaction session.
|
IrUICall
The User Interaction Call Service Interface provides functions for recording messages from an end user and to abort user interaction operations.
Table 9-6 IrUICall
Method
|
Description
|
recordMessageReq
|
Records a message from the end user.
|
abortActionReq
|
Aborts a previously ordered operation.
|
IrAppUI
Table 9-7 IrAppUI
Method
|
Description
|
sendInfoRes
|
Result of a successful sendInfoReq request.
|
sendInfoErr
|
Result of a failed sendInfoRes request.
|
sendInfoAndCollectRes
|
Result of a successful sendInfoAndCollectReq request.
|
sendInfoAndCollectErr
|
Result of a failed sendInfoAndCollectReq request.
|
userInteractionFaultDetected
|
Indicates that a fault has been detected in the user interaction.
|
IrAppUICall
Table 9-8 IrAppUICall
Method
|
Description
|
recordMessageRes
|
Result of a successful recordMessageReq request.
|
recordMessageErr
|
Result of a failed recordMessageReq request.
|
abortActionRes
|
Result of a successful request to abort a user interaction operation.
|
abortActionErr
|
Result of a failed request to abort a user interaction operation.
|
Use cases for Call user interaction
A Call user interaction plug-in only supports operations originating from an application. Network triggered is not supported.
A Call user interaction session is established on an existing call. The call is created with an identifier that identifies an already created call. The call can be either initiated by an application or from the network.
Application-initiated usage of a Call user interaction plug-in
The following sequence diagram show a basic interaction between a user of Call user interaction plug-in and the Plug-in.
Figure 9-2 Application-initiated usage of Call user interaction plug-in.
Details about the sequence diagram:
- Prior to this sequence the Call user interaction client has received a plug-in. See General usage (application-initiated events). The client shall also have access to a IrAppCall object representing an ongoing call.
- The Call user interaction client calls createUICallCtx on the implementation of the IrUICallManagerExt interface. This interface is implemented in the plug-in. An identifier for the Call user interaction session, along with the interface is returned to the client.
- The client request to send information via, sendInfoReq, to one or more participants (represented by call legs) in the call.
- The result of the sendInfoReq request is returned asynchronously to the IrAppUICall interface implemented by the client via sendInfoRes. If the plug-in experiences an error when sending the info to the participant in the call, the method sendInfoErr is invoked instead.
- Additional operation s can be performed towards the IrUICall interface, all operations belonging to the user interaction session. To end the session, the client calls release on the IrUICall interface.
It is not illustrated here how to end the call session that was used for the Call user interaction session.