Channel Group Destination Messages

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

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

Key

Value

Notes

None

 

 

Response Headers

Key

Value

Notes

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

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

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

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

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

Key

Value

Notes

None

 

 

Response Headers

Key

Value

Notes

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

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

Key

Value

Notes

endpoint

String

The endpoint of the channel that was added

type

String

Type of channel.  TELEPHONY | EMAIL | CHAT | CALLBACK | UNSUPPORTED

This document may contain confidential and/or privileged information belonging to OpenMethods. If you are not the intended recipient (or have received this document in error) please notify the sender immediately and destroy this document. Any unauthorized copying, disclosure, or distribution of the material in this document is strictly forbidden.