A channel group destination is created by the processor bridge when a channel group is added to an agent session. The destination is used to register and manage the channels contained by the group.
· Add/Remove a channel
· Dispose of channel group resources
As with the processor control destination, the channel group destination follows the same lifecycle of setup, initialization, and tear down. The following figure depicts the initialization phase of a channel group destination:
It is important to note that with all CTI resource related communication destinations, no event messages should be raised prior to receiving and responding to the initialization query message.
Queries & Responses
This section defines the possible query messages the processor bridge may send to the channel group destination and the format of any expected result messages.
channelgroup.query.init
This query retrieves information about the channels associated with a channel group. The response to this query carries a JSON payload describing these channels.
Query Headers
Key | Value | Notes |
type | cti.query | Query messages will always have this value |
name | channelgroup.query.init | Name of this query type |
target | String | See generating message targets above |
requestId | {GUID} | Unique identifier for the orginal query |
Query Properties
Key | Value | Notes |
None |
|
|
Response Headers
Key | Value | Notes |
type | cti.response | Response messages will always have this value |
name | channelgroup.query.init | Name of the original query |
result | SUCCESS | FAILURE | Result of the query |
errorMessage | String | A human readable description of the error that caused this query to fail. This message will be logged and may be displayed to the agent. |
target | String | See generating message targets above |
requestId | {GUID} | Unique identifier for the orginal query |
Response JSON
Below is an example of the JSON returned in the response message:
{
"channels" :
[
{
"end-point" : "CHANNEL_ENDPOINT",
"type" : "CHANNEL_TYPE"
},
…
]
}
The channels array should always be present even if it is empty. The end-point property of the channel object should contain the identifier used by the CTI to reference the channel. The type property of the channel object should match one of the standard channel type names: TELEPHONY, EMAIL, CHAT, CALLBACK, or UNSUPPORTED.
Special Considerations
The processor bridge will use the information provided in the response message to create objects and communication destinations for each channel identified. Any channel group related events sent to the destination remain in queue until these objects are initialized themselves. Once this is complete, any waiting events are processed in the order they arrived.
Requests
This section defines the possible requests the processor bridge may make to the channel group destination. The client will always generate a response message as a result of these requests. Some requests require the client to perform actions in a particular order. These constraints will be detailed in the description of the request.
channelgroup.request.createchannel
Instructs the client to prepare a new channel and register with the channel destination described in the request message. The request can occur any time between the initialization and tear down phase of the channel group destination.
Request Headers
Key | Value | Notes |
type | cti.request | Request messages will always have this value |
name | channelgroup.request.createchannel | Name of this request type |
target | String | See generating message targets above |
requestId | {GUID} | Unique identifier for the orginal query |
Request Properties
Key | Value | Notes |
id | String | The bridge id of the channel |
name | String | The name of the channel (CTI identifier) |
type | String | Type of channel. TELEPHONY | EMAIL | CHAT | CALLBACK | UNSUPPORTED |
mobileagent-mode | String | Mobile Agent Mode |
Mobileagent-dialnumber | String | Mobile Agent dial number |
Response Headers
Key | Value | Notes |
type | cti.response | Response messages will always have this value |
name | channelgroup.request.createchannel | Name of the original request |
result | SUCCESS | FAILURE | Result of the request |
errorMessage | String | A human readable description of the error that caused this request to fail. This message will be logged and may be displayed to an agent. |
target | String | See generating message targets above |
requestId | {GUID} | Unique identifier for the orginal query |
channelgroup.request.dispose
Notifies the client that the processor bridge is ready to dispose of the channel group and that any underlying CTI resources should be released. The actual disposal of resources should be performed after a response is returned.
Request Headers
Key | Value | Notes |
type | cti.request | Request messages will always have this value |
name | channelgroup.request.dispose | Name of this request type |
target | String | See generating message targets above |
requestId | {GUID} | Unique identifier for the orginal query |
Request Properties
Key | Value | Notes |
None |
|
|
Response Headers
Key | Value | Notes |
type | cti.response | Response messages will always have this value |
name | channelgroup.request.dispose | Name of the original request |
result | SUCCESS | FAILURE | Result of the request |
errorMessage | String | A human readable description of the error that caused this request to fail. This message will be logged and may be displayed to an agent. |
target | String | See generating message targets above |
requestId | {GUID} | Unique identifier for the orginal query |
Client Events
This section describes the possible events the client can send the processor bridge to the channel group destination. In most cases, these events are unsolicited though may be the indirect result of executing a previously received request message.
channelgroup.channel.added
This event indicates that a channel was added for this agent outside of the OM media bar.
Event Headers
Key | Value | Notes |
type | cti.event | Event messages will always have this value |
name | channelgroup.channel.added | Name of this event type |
target | String | See generating message targets above |
Event Properties
Key | Value | Notes |
endpoint | String | The endpoint of the channel that was added |
type | String | Type of channel. TELEPHONY | EMAIL | CHAT | CALLBACK | UNSUPPORTED |
Add Comment