This chapter discusses the JavaScript MultiChannel Application Programming Interface (JSMCAPI) classes.
Understanding JSMCAPI
This section introduces the JSMCAPI, a JavaScript-based API used to build custom applications, such as MultiChannel consoles, or to enable MultiChannel functionality on the PeopleSoft Pure Internet Architecture page. The API is built upon the REN server JavaScript client and is a pure JavaScript API.
JSMCAPI is the interface through which the application developer accesses the JSMCAPI functionalities. JSMCAPI provides a set of objects such as User, Address, Group, and so on. The PSMC, a global object, provides all those methods called to send agent requests to the server; it also provides an event handler callback method for the PeopleSoft MultiChannel Application Programming Interface (PSMCAPI) call backs for events coming from the CTI server.
The JSMCAPI communicates with the PSMCAPI through the REN server using MCP (Multi-Channel Protocol). MCP includes topic and event definition. In general, JSMCAPI:
Sends agent requests to the MultiChannel Server.
The requests can be agent state requests such as login, logout, set ready, and so on. Requests can also be call requests such as dial-out, answer the call, transfer/conference, and so on.
Receives PBX/Switch events from the CTI server.
Events can be the agent state change such as event ready, not ready, and so on. Events can also be call events such as incoming call, call released, call transferred, and so on.
Understanding JSMCAPI Classes
This sections gives an overview of all the JSMCAPI classes.
The following class diagrams explain all the classes, fields, and the methods.

Class diagram Part 1

Class diagram Part 2

Class diagram Part 3

Class diagram Part 4

PSMC
PSMC is the base class that an application accesses to start an instance of JSMCAPI. The application can access all JSMCAPI functionality through this object. A session object is created from this class.
The following diagram explains the relationship of PSMC with all other classes.

PSMC base class-part 1

PSMC base class-part 2
See Also

Server
The Server class refers to the routing server and can execute events for specific server states. Three types of servers are available, CTI, queue server, and MultiChannel server. The constants are CTI, UQ and MCS respectively.
See Also

RENServer
The RENServer cluster is represented in the RENServer class. It provides the URL and the server status (active or shutdown).
See Also

Session
Sessions are set for users registering with the Server. Addresses, buddies, and groups are registered for the user with the session. The connection between the server and JSMCAPI is a session. There is only one session object per PSMC object.
See Also

_Address
The _Address class identifies the user with a unique ID. The ID identifies the user to the routing system and is unique for each channel or mediatype.
The subclasses of _Address class are:
Extension
_UQAddress
A2AchatAddress
Further delineation of address by media type is provided by:
ChatAddress
EmailAddress
GenericAddress
ChatAddress, EmailAddress, and GenericAddress classes extend _UQAddress.
See Also
A2AChatAddress Class Constructor
EmailAddress Class Constructor
GenericAddress Class Constructor

Line
Line class describes the line of the extension for a call task. This version supports one extension with two lines and two extensions with one line in each.
See Also

Connection
Tasks are routed to agents through a connection. Email, chat and generic have a dedicated connection class, like EmailConnection, ChatConnection, and GenericConnection. These connections provide task specific manipulation functions.
See Also
ChatConnection Class Constructor
EmailConnection Class Constructor

Group
The group class defines the group or queue information. There are one or more groups objects per session.
See Also

Task
This is an abstract base class that defines a unit of work. The classes that extend task per media type are:
Call
Chat
A2AChat
GenericTask
See Also

_User
_User is a base class. The subclasses are User and Buddy. These classes define the properties that pertain to the user such as the addresses, languages or presence. _User is a virtual class and should not be instantiated.
See Also

MediaType
This class defines the media that an agent can handle.
See Also

Reason
The Reason class defines the message or error message that accompanies an event or request. Globalization of the messages is implemented. Furthermore extra data can be passed in this object for providing a detailed message.
See Also

Statistics
Statistics are provided by the routing server for agent, call, task, group, and user. The following classes describe the statistics for each component:
AgentStatistics
CallStatistics
TaskStatistics
GroupStatistics
GroupStatistics1
GroupStatistics2
UserStatistics1
UserStatistics2
See Also
AgentStatistics Class Constructor
CallStatistics Class Constructor
TaskStatistics Class Constructor
GroupStatistics1 Class Constructor
GroupStatistics2 Class Constructor
UserStatistics1 Class Constructor
UserStatistics2 Class Constructor

Data
When a task is introduced to the system, data pertaining to the task is defined in the following classes:
CallData
EmailData
ChatData
GenericData
Application specific data is provided for task via the AppData class. Similarly, user data is defined in UserData.
See Also

Globals
This class defines functions that are used universally.
See Also

MCEvent
Events passed to the application handler are defined by MCEvent.
See Also

Caps
Capabilities define the ability or allowed actions for a component. The following classes define specific capabilities:
ChatConnectionCaps
EmailConnectionCaps
GenericConnectionCaps
ExtensionCaps
LineCaps
ChatConnectionCaps
EmaiConnectionCaps
GenericConnectionCaps
UserCaps
See Also
ChatConnectionCaps Class Constructor
EmailConnectionCaps Class Constructor
GenericConnectionCaps Class Constructor
ExtensionCaps Class Constructor

ForwardMode
ForwardMode describes various forward modes that can be used while setting the forwarding mode for a Address.
See Also
_Address Class Hierarchy
The _Address class can be extended by other subclasses. The following flowchart shows the different subclasses, and how they interrelate.
Do not instantiate _Address or _UQAddress class objects. Instead, use the child classes.

_Address class hierarchy
See Also
A2AChatAddress Class Constructor
EmailAddress Class Constructor
GenericAddress Class Constructor
_Address Class ConstructorThe following is the _Address class constructor.

_AddressSyntax
_Address()
Description
Creates an _Address object that describes the address.
Parameters
None.
Returns
An _Address object.
_Address Class FieldsIn this section we discuss the JSMCAPI _Address class fields. These fields are described in alphabetical order.

capsDescription
The capacities of the address.
Type: object.

idDescription
The ID of the address.
Type: string.
_Address Class Callback Event MethodThe following is the callback event method used with a JSMCAPI _Address object.

onErrorSyntax
onError(event)
Description
Fires on the event of an address error.
_UQAddress Class ConstructorThe following is the UQAddress class constructor.

_UQAddressSyntax
_UQAddress()
Description
Creates a _UQAddress object, which is the base for the various addresses associated with the universal queue server.
Parameters
None.
Returns
A universal queue address object.
_UQAddress Class FieldsThe _UQAddress class inherits the following fields from the _Address class.
caps
id
The following are the _UQAddress class fields.

TasksDescription
The associative array of the tasks on the queue managed by the address.
_UQAddress MethodsThe following are the _UQAddress methods.

acceptTaskSyntax
acceptTask(task, reason)
Description
Sends a request to the universal queue server to signal that the client has accepted the task.
Parameters
|
task |
The task ID. |
|
reason |
The associated reason code. |
Returns
None.

dequeueTaskSyntax
dequeueTask(task)
Description
Sends a request to the universal queue server to remove the task from its queue.
Parameters
|
task |
The task ID. |
Returns
None.
_UQAddress Class Callback Event MethodsThe _UQAddress class inherits the onError callback event method from the _Address class.
See _Address Class Callback Event Method.
The following are the callback event methods used with a JSMCAPI universal queue address object. The callback event methods are described in alphabetical order.

onAcceptedSyntax
onAccepted(event)
Description
Fires when the task is accepted.

onAcceptingTaskSyntax
onAcceptingTask(event)
Description
Fires as the task is being accepted.

onDequeueingTaskSyntax
onDequeueingTask(event)
Description
Fires as the task is being dequeued.

onNotifySyntax
onNotify(event)
Description
Fires on task notification.

onTaskAddedSyntax
onTaskAdded(event)
Description
Fires when the task is added to the addressed queue.

onTaskRemovedSyntax
onTaskRemoved(event)
Description
Fired when the task is removed

onUnassignedSyntax
onUnassigned(event)
Description
Fired when the task is unassigned.
_User Class Hierarchy
The _User class can be extended by other subclasses. The following flowchart shows the different subclasses, and how they interrelate:

_User class hierarchy
See Also
_User Class ConstructorThe following is the _User class constructor.

_UserSyntax
_User()
Description
Describes the base class of user/agent.
Parameters
None.
Returns
A _User object.
_User Class FieldsThe following are the fields associated with the JSMCAPI _User class. These fields are discussed in alphabetical order.

agentIDDescription
The agent's agent ID.
Type: string.

capsDescription
The agent capabilities on each group.
Type: associative array.

idDescription
The agent's PeopleSoft user ID.
Type: string.

nameDescription
The agent's user name.
Type: string.

presencesDescription
The agent's presence on each group.
Type: associative array.

statesDescription
Agent state on each group.
Type: associative array, including the constants beginning with ST_*.
These constants must be accessed from an instantiated object.

ST_LOGGEDINDescription
The agent is logged in.

ST_LOGGEDOUTDescription
The agent is logged out.

ST_NOTREADYDescription
The agent is not ready.

ST_READYDescription
The agent is ready.

ST_UNKNOWNDescription
The agent's state is unknown.

ST_WORKNOTREADYDescription
The agent is in the work not ready state.

ST_WORKREADYDescription
The agent is in the work ready state.

statisticsDescription
Agent statistics for CTI.
Type: AgentStatistics object.
See Also
AgentStatistics Class Constructor.

statistics1Description
Agent statistics for the universal queue server.
Type: UserStatistics1 object.
See Also
UserStatistics1 Class Constructor.

statistics2Description
Agent statistics for the universal queue server.
Type: UserStatistcs2 object.
See Also
UserStatistics2 Class Constructor.
A2AChat Class ConstructorThe following is the A2AChat class constructor.

A2AChatSyntax
A2AChat(event,address,chatType)
Description
Creates an agent-to-agent chat object.
The chat is related to the A2AChatAddress. It does not extend Task as it is not generated or tracked by the universal queue server. Construction occurs inside the A2AChatAddress.
Parameters
|
event |
Enter the event associated with the agent-to-agent chat. |
|
address |
Enter the address from A2AChatAddress. |
|
chatType |
Enter the chat type, for example consult or answer. |
Returns
An agent-to-agent chat object.
A2AChat Class FieldsThe following are the A2AChat fields.

addressDescription
The address containing the agent-to-agent chat.
Type: A2AChatAddress object.
See Also
A2AChatAddress Class Constructor

agentIDDescription
The associated agent's ID.
Type: string.

agentNameDescription
The associated agent's name.
Type: string.

appDataDescription
The application data that is provided to the client with the notification event.
Type: AppData object.
See Also

chatTypeDescription
The type of chat, either A2AChat.TYPE_CONSULT or A2AChat.TYPE_ANSWER.
Type: string, with one of the following constants:
|
Value |
Description |
|
TYPE_ANSWER |
The A2AChat type answer. This type is generated when another agent wants this agent to answer an A2AChat. |
|
TYPE_CONSULT |
The A2AChat type consult. This type is generated when this agent wants to consult another agent. |
Example
The A2AChat.TYPE_* can only be accessed as in the following example:
var value = A2AChat.TYPE_CONSULT;
See Also

customerNameDescription
The name of the customer in the ongoing chat.
Type: object.

idDescription
The ID of this chat.
Type: string.

isConferenceDescription
A flag to check whether it is conference or not.
Type: object.

jrDescription
JournalRoute
Type: string.

questionDescription
Question that is asked when customer initiates chat.
Type: object.

subjectDescription
Subject of the chat. Customer will provide this subject when he initiates chat.
Type: object.

typeDescription
The task type, chat.
Type: string.

uniqueueIdDescription
The unique ID.
Type: string.
A2AChat Class MethodThe following is the A2AChat class method.

getURLSyntax
getURL(defaultURL)
Description
Returns the URL for the given task.
Parameters
|
defaultURL |
If not null, this value will override the generated base URL. |
Returns
The URL associated with this task.
A2AChatAddress Class ConstructorThe following is the A2AChatAddress constructor.

A2AChatAddressSyntax
A2AChatAddress()
Description
Agent-to-agent chat address. Handles the creation of agent-to-agent chats for incoming and outgoing chat communication.
Parameters
None.
Returns
An A2AChatAddress object.
A2AChatAddress Class FieldsThe A2AChatAddress class inherits the following fields from the _Address class:
id
caps
The following are the fields associated with the A2AChatAddress class.

idDescription
The address ID.
Type: string.

tasksDescription
The array of A2AChats associated with this address.
Type: associative array.
See Also
A2AChatAddress Class MethodThe following is the A2AChatAddress class method.

initiateChatSyntax
initiateChat(agentId)
Description
Initializes the A2AChatAddress by creating an A2AChat task.
Parameters
|
agentId |
The ID of the agent with whom you want to chat. |
Returns
None.
A2AChatAddress Class Callback Event MethodsThe A2AChatAddress class inherits the onError callback event method from the _Address class.
See _Address Class Callback Event Method.
The following are the A2AChatAddress class callback methods:

onChatEndedSyntax
onChatEnded(event)
Description
This event gets called when an agent to agent chat is closed.

onInitiatingChatSyntax
onInitiatingChat(event)
Description
This event gets called when chat is getting initiated.

onNotifySyntax
onNotify(event)
Description
This event gets called when there is a new A2Achat notification.
AgentStatistics Class ConstructorThe following is the AgentStatistics class constructor.

AgentStatisticsSyntax
AgentStatistics()
Description
The agent statistics information.
Parameters
None.
Returns
An AgentStatistics object.
AgentStatistics Class FieldsThe following are the AgentStatistics class fields.

averageCallDurationDescription
The average call duration, in seconds, for an agent.
Type: number

averageHoldDurationDescription
The average hold duration, in seconds, for an agent.
Type: number.

callsHandledDescription
The total number of calls handled by an agent.
Type: number.

dataDescription
An associative array of key value pairs that includes all agent statistics.
Type: associative array.

percentIdleTimeDescription
The percentage of time for which the agent is idle.
Type: number

percentTimeAvailableDescription
The percentage of time for which the agent is in ready state.
Type: number

percentTimeInCurrentStateDescription
The percentage of time in current state.
Type: number

percentTimeUnavailableDescription
The percentage of time for which the agent is in not ready state.
Type: number

timeCurrentLoginDescription
The time since login for the agent.
Type: number.

timeWorkingDescription
The time spent working on tasks.
Type: number.

totalTaskAcceptedLoginDescription
The number of tasks accepted since login time
Type: number

totalTaskDoneLoginDescription
Number of tasks done by the agent since login time i.e. current login.
Type: number.

totalTaskUnassignedLoginDescription
Number of tasks unassigned since login time
Type: number.

unavailableDurationDescription
The total time for which an agent is unavailable.
Type: string.

waitDurationDescription
The total time an agent has to wait for a call.
Type: string.
AppData Class ConstructorThe following is the AppData class constructor.

AppDataSyntax
AppData()
Description
The AppData object describes the key-value pairs of the data received on the agent-to-agent chat event.
Parameters
None.
Returns
Type: AppData object.
AppData Class FieldsThe following are the AppData class fields.

dataDescription
An associative array of the data in name value pairs.
Type: associative array.

groupIdDescription
The group ID passed in by the notify event.
Type: string.

jrDescription
The JournalRoute.
Type: string.

questionDescription
The initial question of the task.
Type: string.

strDataDescription
The raw application data as a string.
Type: string.

subjectDescription
The subject of the task.
Type: string.

uniqueIdDescription
The unique ID.
Type: string.

urlDescription
The URL passed in by the AppData.
Type: string with the following constant:
|
Value |
Description |
|
URL |
The associated URL. |

userIdDescription
The agent's user ID.
Type: string.

usernameDescription
The agent's user name.
Type: string.

wizUrlDescription
The wizard URL that is used for popping up new task window.
Type: string.
AppData Class MethodThe following is the AppData class method.

addKeyValueSyntax
addKeyValue(key, value)
Description
Add the key value pair to the AppData object.
Parameters
|
key |
The key. |
|
value |
The value. |
Returns
None.
Buddy Class ConstructorThe Buddy class extends the _User class.
The following is the Buddy class constructor.

BuddySyntax
Buddy()
Description
Describes the buddy. An agent can register buddies and is notified of state changes.
Parameters
None.
Returns
A Buddy object.
Buddy Class Fields
The Buddy class inherits the following fields from the _User class:
agentID
caps
id
name
presences
states
statistics
statistics1
statistics2
Buddy Class Callback Event MethodsThe following are the Buddy class callback event methods.

onStat1Syntax
onStat1(event)
Description
Fires when statistics1 is received.

onStat2Syntax
onStat2(event)
Description
Fires when statistics2 is received.

onStateSyntax
onState(event)
Description
Fires when the state event is received.
Call Class ConstructorThe Call class extends the Task class.
The following is the Call class constructor.

CallSyntax
Call(strCall)
Description
The Call object describes the call task information associated with the line.
Parameters
|
strCall |
Enter the call to use with this object. |
Returns
A Call object.
Call Class FieldsThe Call class inherits the following fields from the Task class:
caseid
cost
customerid
group
id
onStat
priority
type
urlAbs
urlRel
See Task Class Fields.
The following are additional Call class fields.

lineDescription
The line object that is associated with this call.
Type: line object.
See Also

statisticsDescription
Call statistics object associated with the call.
Type: CallStatistics object.
See Also
CallStatistics Class Constructor.
CallData Class ConstructorThe following is the CallData class constructor.

CallDataSyntax
CallData()
Description
The CallData object describes the key-value pairs of the call data with the call object.
Parameters
None.
Returns
A CallData object.
CallData Class FieldsThe following are the CallData class fields:

aniDescription
The ANI caller id.
Type: string.

callIdDescription
The call ID.
Type: string.

callTypeDescription
The call type.
Type: string.

dataDescription
The key value pairs of the call data.
Type: string.

dnisDescription
The DNIS callee ID.
Type: string.
CallData Class MethodThe following is the CallData class method.

addKeyValueSyntax
addKeyValue(key), value
Description
Add key value to the CallData object.
Parameters
|
key |
The key. |
|
value |
The value. |
Returns
None.
CallStatistics Class ConstructorThe following is the CallStatistics class constructor.

CallStatisticsSyntax
CallStatistics()
Description
The call statistics information.
Parameters
None.
Returns
A CallStatistics object.
CallStatistics Class FieldsThe following are the CallStatistics class fields.

dataDescription
An associative array of key-value pairs that includes all statistics.
Type: associative array.

holdTimeDescription
Duration that the call is on hold.
Type: string.

queueTimeDescription
Duration that this call has been in the queue.
Type: string.

talkTimeDescription
Duration that the call is established.
Type: string.
Chat Class ConstructorThe Chat class extends the Task class.
The following is the Chat class constructor.

ChatSyntax
Chat(event, address)
Description
The Chat object describes the task information for tasks associated with the ChatAddress.
Parameters
|
event |
The onNotify event. |
|
address |
The chat address. |
Returns
A Chat object.
Chat Class FieldsThe Chat class inherits the following fields from the Task class:
caseid
cost
customerid
group
id
onStat
priority
type
The task type for chat that is Task.TYPE_CHAT.
urlAbs
urlRel
See Task Class Fields.
The following are the additional Chat class fields.

addressDescription
The address containing the agent-to-agent chat.
Type: A2AChatAddress object.
See Also
A2AChatAddress Class Constructor

agentIdDescription
The agent's ID.
Type: string.

appDataDescription
The application data that is provided to the client with the notification event.
Type: AppData object.
See Also

chatconnectionDescription
The chat connection object associated with this call.
Type: line object

chatTypeDescription
Type of chat, for example consulting chat or answering chat
Type: string

customerNameDescription
The customer username.
Type: string.

groupIdDescription
The group ID.
Type: string.

questionDescription
The question for this chat.
Type: string.

subjectDescription
The subject of the chat.
Type: string.

statisticsDescription
The chat statistics object that associated with this chat.
Type: string.

userDataDescription
The user data associated with the chat.
Type: object.
Chat Class MethodThe Chat class extends the Task class.
The following is the Chat class method.

gettpUrlSyntax
gettpUrl(defaultUrl)
Description
Returns the URL for the given task for a third-party routing server.
Parameters
|
defaultUrl |
If not null, this value will override the generated base URL. |
Returns
Returns the URL associated with this task.

getUrlSyntax
getUrl(defaultUrl)
Description
Returns the URL for the given task.
Parameters
|
defaultUrl |
The default URL for this chat. If not null this value will override the generated base URL. |
Returns
Returns the URL for the chat.
ChatAddress Class ConstructorThe ChatAddress class extends the _UQAddress class.
See _UQAddress Class Constructor.
The following is the ChatAddress class constructor.

ChatAddressSyntax
ChatAddress()
Description
Handles the creation of customer chat tasks.
Parameters
None.
Returns
A ChatAddress object.
ChatAddress Class FieldsThe ChatAddress class inherits the following fields from the _Address class:
id
The address's ID is equal to Task.TYPE_CHAT.
caps
The ChatAddress class inherits the following field from the _UQAddress class:
tasks
The following are ChatAddress class fields.

chatconnectionsDescription
List of ChatConnection objects that are associated with chat address.
Type: chatconnection object.
ChatAddress Class MethodsThe ChatAddress class inherits the following methods from the _UQAddress class:
acceptTask
dequeueTask
See _UQAddress Methods.
The following are ChatAddress class methods.

chatSyntax
chat(agentId,buddyId,reason )
Description
Sends a request to initiate a new chat.
Parameters
|
agentId |
The source agent Id. |
|
buddyId |
The Id of the buddy. |
|
reason |
The reason code for chat request. |
Returns
None.

getChatconnectionByConnectionIdSyntax
getChatconnectionByConnectionId(connectionId)
Description
Get the chatconnection object with the chatconnection Id.
Parameters
|
connectionId |
The connection id associated with a chat. |
Returns
Line object, null if there is no connection with that chatconnection id.

getChatconnectionindexByConnectionIdSyntax
getChatconnectionindexByConnectionId (connectionId)
Description
Get the chatconnection index with the chatconnection Id.
Parameters
|
connectionId |
The connection id associated with a chat. |
Returns
index, −1 if there is no connection with that chatconnection id.

getFreeChatconnectionSyntax
getFreeChatconnection()
Description
Get the free chatconnection object. A connection is free if there is no activity on this line.
Returns
Returns chatconnection object, null if there is no free line.

getFreeChatconnectionIndexSyntax
getFreeChatconnectionIndex()
Description
Get the free chatconnection index. A connection is free if there is no activity on this line.
Returns
Returns chatconnection index, null if there is no free line.
ChatAddress Callback Event MethodsThe ChatAddress class inherits the onError callback event method from the _Address class.
See _Address Class Callback Event Method.
The ChatAddress class inherits the following callback event methods from the _UQAddress class:
onAccepted
onAcceptingTask
onDequeueingTask
onNotify
onTaskAdded
onTaskRemoved
onUnassigned
The following are ChatAddress callback event methods:

onCapabilitiesChangedSyntax
onCapabilitiesChangedevent
Description
Fires when ChatAddress capabilities change
ChatConnection Class ConstructorThe following is the chatconnection class constructor.

ChatConnection
Syntax
ChatConnection()
Description
Chat connection object.
Parameters
None
Returns
Returns a chatconnection object.
ChatConnection Class FieldsThe following are chatconnection class fields:

capsDescription
The capabilities of the ChatConnection.

chatDescription
Chat task associated with the connection.
Type: string

connectionIdDescription
The connection Id.
Type: string

idDescription
The constant representing ChatConnection Id.
Type: string

stateDescription
The connection state.
Type: string
|
Value |
Description |
|
ST_DIALING |
Dialing state. |
|
ST_DROPPED |
Dropped state. |
|
ST_IDLE |
Idle state. |
|
ST_INCOMING |
Incoming state. |
|
ST_TALKING |
Talking state. |
ChatConnection Class MethodsThe following are chatconnection class methods:

answerSyntax
answer(agentId,reason )
Description
Answer a chat request.
Parameters
|
agent Id |
The Id of the agent answering the call. |
|
reason |
The reason code for the answer request. |
Returns
None

conferenceSyntax
conference(agentId,reason )
Description
Conference a chat with another agent.
Parameters
|
agent Id |
The Id of the agent invited to the conference. |
|
reason |
The reason code for the conference request. |
Returns
None.

forwardSyntax
forward(fromagentId,toagentId, qid, userdata, chatdata, reason)
Description
Forward chat to another agent or another queue.
Parameters
|
fromagentid |
The agent id from whom task is forwarded. |
|
toagentid |
The target agentid to whom task is forwarded. |
|
qid |
The target queue to forward the task. |
|
userdata |
The user data. |
|
chatdata |
The chat data. |
|
Reason |
The reason code to forward the task. |
Returns
None.

gethistorySyntax
gethistory(agentId,noofLines, reason )
Description
Request chat history by specifying number of lines of chat history needed.
Parameters
|
agent Id |
The source agent id. |
|
noofLines |
Number of lines of history required. |
|
reason |
The reason code for the history request. |
Returns
None.

getUrlSyntax
getUrl(defaultURL)
Description
Get the URL for screen popup.
Parameters
|
defaultUrl |
The default popup URL. |
Returns
Returns a URL string.

messageSyntax
message(agentId,message, reason )
Description
Send a chat message while chatting.
Parameters
|
agent Id |
The source agent id. |
|
message |
The message to send to other party. |
|
reason |
The reason code for the message request. |
Returns
None.

pushURLSyntax
pushURL(URL)
Description
Request to push a URL to the customer.
Parameters
|
URL |
URL to push. |
Returns
None.

rejectSyntax
reject(agentId,reason )
Description
Reject a chat.
Parameters
|
agent Id |
The source agent id. |
|
reason |
The reason code for reject. |
Returns
None.

releaseSyntax
release(agentId,reason )
Description
Release a chat.
Parameters
|
agent Id |
The source agent id. |
|
reason |
The reason code for release request. |
Returns
None.

typingSyntax
typing(agentId,reason )
Description
Indicates typing in a chat conversation by one party.
Parameters
|
agent Id |
The source agent id. |
|
reason |
The reason code for typing. |
Returns
None.
ChatConnection Class Callback Event MethodsThe following are ChatConnection class callback event methods.

onAcceptedSyntax
onAccepted(event)
Description
Fires when chat is accepted by a agent.

onAnsweringSyntax
onAnswering(event)
Description
Fires when answering the chat.

onCapabilitiesChangedSyntax
onCapabilitiesChanged(event)
Description
Fires when chat capabilities change.

onChatdataChangedSyntax
onChatdataChanged(event)
Description
Fires when there is a change in chat data.

onConferencingSyntax
onConferencing(event)
Description
Fires when conferencing the chat.

onDialingSyntax
onDialing(event)
Description
Fires when chat is in the process of connecting.

onDroppedSyntax
onDropped(event)
Description
Fires when chat is dropped.

onErrorSyntax
onError(event)
Description
Fires when a there is a chat connection error.

onForwardedSyntax
onForwarded(event)
Description
Fires when chat is forwarded.

onForwardErrorSyntax
onForwardError(event)
Description
Fires when there is error in forwarding the task.

onForwardingSyntax
onForwarding(event)
Description
Fires when forwarding the chat.

onHistorySyntax
onHistory(event)
Description
Fires when agent receives chat history.

onIncomingChatSyntax
onIncomingChat(event)
Description
Fires when ChatConnection state is changed to INCOMING.

onMessageSyntax
onMessage(event)
Description
Fires when there is incoming message.

onPartyAddedSyntax
onPartyAdded(event)
Description
Fires when a new chat party is added.

onPartyChangedSyntax
onPartyChanged(event)
Description
Fires when the chat party changes.

onPartyRemovedSyntax
onPartyRemoved(event)
Description
Fires when a chat party is removed.

onPropertiesSyntax
onProperties(event)
Description
Fires when a agent receives chat properties.

onPushURLSyntax
onPushURL(event)
Description
Fires when a routing system push URL.

onRejectedSyntax
onRejected(event)
Description
Fires when a chat is rejected.

onReleasedSyntax
onReleased(event)
Description
Fires when a chat is released.

onReleasingSyntax
onReleasing(event)
Description
Fires when conferencing the chat.

onRevokedSyntax
onRevoked(event)
Description
Fires when a chat is revoked.

onTalkingSyntax
onTalking(event)
Description
Fires when an agent/customer is in the state of talking.

onTypingSyntax
onTyping(event)
Description
Fires when typing in a chat conversation.

onUserdataChangedSyntax
onUserdataChanged(event)
Description
Fires when there is a change in user data.
ChatConnectionCaps Class ConstructorThe following is the chatconnectioncaps class constructor.

ChatConnectionCaps
Syntax
ChatConnectionCaps(strCaps)
Description
Describes the ChatConnection capabilities.
Parameters
|
strCaps |
Chat connection capability. |
Returns
Returns a chatconnection object.
ChatConnectionCaps Class FieldsThe following are the ChatConnectionCaps class fields.

canAnswerDescription
Answer capability.
Type: boolean

canConferenceDescription
Conference capability.
Type: boolean

canConferenceSingleDescription
Conference single capability.
Type: boolean

canForwardDescription
Forward capability.
Type: boolean

canIndicateTypingDescription
Indicate Typing capability.
Type: boolean

canPushURLDescription
PushURL capability.
Type: boolean

canRejectDescription
Reject capability.
Type: boolean

canSendMessageDescription
SendMessage capability.
Type: boolean
ChatData Class ConstructorThe following is ChatData class constructor.

ChatData
Syntax
ChatData()
Description
The ChatData object describes the key-value pairs of the chat data with the chat object.
ChatData Class FieldsThe following is ChatData class field.

dataDescription
Key value pairs that includes data.
Type: object.
ChatData Class MethodsThe following is ChatData class method.

addKeyValueSyntax
addKeyValue(key, value )
Description
Add key value to the chatdata object.
Parameters
|
key |
The variable name. |
|
value |
The value of the variable. |
Email Class ConstructorThe Email class extends the Task class.
The following is the email class constructor.

EmailSyntax
Email(event)
Description
The Email object describes the task information for tasks associated with the EmailAddress.
Parameters
|
event |
The notification event. |
Returns
Returns an Email object.
Email Class FieldsThe Chat class inherits the following fields from Task class:
caseid
cost
customerid
group
id
onStat
priority
type
The task type is equal to Task.TYPE_EMAIL.
urlAbs
urlRel
See Task Class Fields.
The following are the additional Email class fields.

addressDescription
The address containing the A2AChat.

agentIdDescription
The agent's ID.

appDataDescription
The application data that is provided to the client with the notification event.
Type: AppData object.
See Also

customerNameDescription
The customer username.
Type: string.

emailconnectionDescription
The emailconnection object that associated with this email.
Type: line object.

emailIdDescription
The unique email id generated from an Enqueue. It identifies the email stored in the database ie. it serves as a key to the data stored in the database.
Type: string.

groupIdDescription
The group id.
Type: string.

questionDescription
The question for this email.
Type: string.

statisticsDescription
The statistics object that is associated with this email.
Type: object.

subjectDescription
The subject of this email.
Type: string.

userDataDescription
The user data that is associated with this email.
Type: object.
Email Class MethodThe following are the Email class methods:

gettpUrlSyntax
gettpUrl(defaultUrl)
Description
Returns the URL for the given task for third-party routing.
Parameters
|
defaultUrl |
If not null, this value will override the generated base URL. |
Returns
The URL associated with this task.

getUrlSyntax
getURL(defaultUrl)
Description
Returns the URL for the given task.
Parameters
|
defaultUrl |
If not null, this value will override the generated base URL. |
Returns
The URL associated with this task.
EmailAddress Class ConstructorThe EmailAddress class extends the _UQAddress class.
See _UQAddress Class Constructor.
The following is the EmailAddress class constructor.

EmailAddressSyntax
EmailAddress()
Description
Handles the creation of email tasks.
Parameters
None.
Returns
An EmailAddress object.
EmailAddress Class FieldsThe EmailAddress class inherits the following fields from the _Address class:
id
The address's ID is equal to Task.TYPE_EMAIL.
caps
The EmailAddress class inherits the tasks field from the _UQAddress class.
The following are EmailAddress class fields.

agentDescription
The agent id of this email address.

emailconnectionsDescription
Describes the EmailConnection object.
EmailAddress Class MethodsThe EmailAddress class inherits the following fields from the _UQAddress class:
acceptTask
dequeueTask
See _UQAddress Methods.

getEmailconnectionByConnectionIdSyntax
getEmailconnectionByConnectionId(connectionId)
Description
Get the emailconnection object with the emailconnection id.
Parameters
|
connectionId |
The connection id associated with a email. |
Returns
Returns line object, null if there is no connection with that emailconnection id.

getEmailconnectionindexByConnectionIdSyntax
getEmailconnectionindexByConnectionId(connectionId)
Description
Get the emailconnection index with the emailconnection id.
Parameters
|
connectionId |
The connection id associated with a email. |
Returns
Returns index, -1 if there is no connection with that emailconnection id.

getFreeEmailconnectionSyntax
getFreeEmailconnection()
Description
Get the free email connection object. A connection is free if there is no activity on this line.
Returns
Returns emailconnection object, null if there is no free line.
EmailAddress Callback Event MethodsThe EmailAddress class inherits the onError callback event method from the _Address class.
See _Address Class Callback Event Method.
The EmailAddress class inherits the following callback event methods from the _UQAddress class:
onAccepted
onAcceptingTask
onDequeueingTask
onNotify
onTaskAdded
onTaskRemoved
onUnassigned
See _UQAddress Class Callback Event Methods.
EmailConnection Class ConstructorThe following is EmailConnection class constructor.

EmailConnection
Syntax
EmailConnection()
Description
Handles email connection.
EmailConnection Class FieldsThe following are EmailConnection class fields.

capsDescription
The capabilities of the EmailConnection.

connectionIdDescription
The email connection Id.
Type: string

emailDescription
Email task id associated with this email connection.
Type: string with following constants:

idDescription
The id of the EmailConnection.
Type: string

stateDescription
The connection state.
Type: string
|
Value |
Description |
|
ST_DIALING |
Dialing state. |
|
ST_DROPPED |
Dropped state. |
|
ST_IDLE |
Idle state. |
|
ST_INCOMING |
Incoming state. |
|
ST_TALKING |
Talking state. |
EmailConnection Class MethodsThe following are the EmailConnection class methods:

abandonSyntax
abandon(reason)
Description
Abandon email task without completing the task .
Parameters
|
Reason |
The reason code to abandon. |
Returns
None.

answerSyntax
answer(reason)
Description
Answer/Accept the email assignment.
Parameters
|
Reason |
The reason code to answer. |
Returns
None.

completeSyntax
complete(reason)
Description
Send task completion notification.
Parameters
|
Reason |
The reason code to complete. |
Returns
None.

forwardSyntax
forward(fromagentId,toagentId, qid, userdata, emaildata, reason)
Description
Forward email to another agent or to another queue.
Parameters
|
fromagentid |
The agent id from whom task is forwarded. |
|
toagentid |
The target agent id to whom task is forwarded. |
|
qid |
The target queue to forward the task. |
|
userdata |
The user data. |
|
emaildata |
The email data. |
|
Reason |
The reason code to forward the task. |
Returns
None.

rejectSyntax
reject(reason)
Description
Reject email assignment.
Parameters
|
Reason |
The reason code to reject. |
Returns
None.

withdraw_RESSyntax
withdraw_RES (reason)
Description
Send response for the request of (Withdraw of Email) by routing server. This is the response from the agent to the routing system.
Parameters
|
Reason |
The reason code to withdraw. |
Returns
None.
EmailConnection Class Callback Event MethodsThe following are EmailConnection class callback event methods:

onAnsweringSyntax
onAnswering(event)
Description
Fires when email task is getting answered.

onCapabilitiesChangedSyntax
onCapabilitiesChanged(event)
Description
Fires when there is a change in connection capabilities.

onCompletedSyntax
onCompleted(event)
Description
Fires when EmailConnection state is changed to COMPLETED.

onDroppedSyntax
onDropped(event)
Description
Fires when EmailConnection state is changed to DROPPED.

onEmaildataChangedSyntax
onEmaildataChanged(event)
Description
Fires when there is a change in email data.

onErrorSyntax
onError(event)
Description
Fires when a there is a email connection error.

onForwardedSyntax
onForwarded(event)
Description
Fires when email is forwarded to another queue or to another agent.

onForwardErrorSyntax
onForwardError(event)
Description
Fires when there is error in forwarding the task.

onForwardingSyntax
onForwarding(event)
Description
Fires when forwarding the email.

onIncomingSyntax
onIncoming(event)
Description
Fires when EmailConnection state is changed to INCOMING.

onProcessingSyntax
onProcessing(event)
Description
Fires when EmailConnection state is changed to PROCESSING.

onRejectedSyntax
onRejected(event)
Description
Fires when email task is rejected by agent and the routing system acknowledges the same.

onRevokedSyntax
onRevoked(event)
Description
Fires when email is revoked by routing system before agent accepts that.

onUserdataChangedSyntax
onUserdataChanged(event)
Description
Fires when there is a change in user data.

onWithdraw_REQSyntax
onWithdraw_REQ(event)
Description
Fires when there is a request for email withdraw from routing server. This is a request from routing server to the agent.
EmailConnectionCaps Class ConstructorThe following is EmailConnectionCaps class constructor:

EmailConnectionCaps
Syntax
EmailConnectionCaps(strCaps)
Description
Describes the EmailConnection capabilities.
Parameters
|
strCaps |
The capability of the connection |
Returns
Returns EmailConnection object.
EmailConnectionCaps Class FieldsThe following are the EmailConnectionCaps class fields.

canAnswerDescription
Answer/Accept an email capability.
Type: boolean

canCompleteDescription
Capability to complete an assigned email.
Type: boolean

canForwardDescription
Capability to forward an email.
Type: boolean

canRejectDescription
Capability to reject an email.
Type: boolean
EmailData Class ConstructorThe following is EmailConnectionCaps class constructor.

EmailData
Syntax
EmailData()
Description
The EmailData object describes the key-value pairs of the email data with the Email object.
Returns
Returns EmailData object.
EmailData Class FieldsThe following is EmailData class field.

dataDescription
Key value pairs that includes email data.
Type: object.
EmailData Class MethodsThe following is EmailData class method.

addKeyValueSyntax
addKeyValue(key, value )
Description
Add key value to the emaildata object.
Parameters
|
key |
The variable name. |
|
value |
The value of the variable. |
Extension Class ConstructorThe Extension class extends the _Address class.
See _Address Class Constructor.
The following is the Extension class constructor.

ExtensionSyntax
Extension(numOfLines)
Description
The Extension object describes the CTI address.
Parameters
|
numOfLines |
Enter the number of lines for this extension. |
Returns
An Extension object.
Extension Class FieldsThe Extension class inherits the following fields from the _Address class:
caps
id
The following are the Extension class fields.

forwardModeDescription
The forward mode of the extension.
Type: forwardMode object.
See Also

isDndDescription
Flag for Do Not Disturb.
Type: boolean.

linesDescription
List of line objects associated with this extension.
Type: list.

numOfLinesDescription
The number of lines for this extension.
Type: number.
Extension Class MethodsThe Extension class inherits the onError method from the Address class.
The following are the Extension class methods.

cancelDndSyntax
cancelDnd(reason)
Description
Cancel the DND (do not disturb).
Parameters
|
reason |
The reason for DND cancellation. |
Returns
None.

cancelForwardSetSyntax
cancelForwardSet(reason)
Description
Cancel the forward.
Parameters
|
reason |
The reason for cancelling the forward. |
Returns
None.

forwardSetSyntax
forwardSet(number, mode, reason)
Description
Forward the call to another number/extension.
Parameters
|
mode |
The forward mode. |
|
number |
The number to which all calls will be forwarded. |
|
reason |
The reason to forward. |
Returns
None.

getDialingLineSyntax
getDialingLine()
Description
Get the dialing line object.
Parameters
None
Returns
Returns a line object. Null if there is no dialing line.
See Also

getFreeLineSyntax
getFreeLine()
Description
Get the free line object. A line is free if there is no activity on this line.
Parameters
None
Returns
Returns a line object. It returns null if there is no free line.

getLineByConnectionIdSyntax
getLineByConnectionId(connectionID)
Description
Get the line object with the call.
Parameters
|
connectionId |
The connection ID associated with a call. |
Returns
Returns a Line object. Returns null if there is no line with that call.
See Also

getOffHookLineSyntax
getOffHookLine()
Description
Get the offhook line object.
Parameters
None.
Returns
Returns a Line object. Returns null if there is no offhook line.
See Also

setDndSyntax
setDnd(reason)
Description
Fires when setting DND (do not disturb).
Parameters
|
reason |
The reason to set the DND. |
Returns
None.
Extension Class Callback Event MethodsThe following are the Extension class callback event methods.

onCancelingDndSyntax
onCancelingDnd(event)
Description
Fires when canceling DND (do not disturb).

onCancelingForwardSyntax
onCancelingForward(event)
Description
Fires when canceling forward.

onDndSyntax
onDnd(event)
Description
Fires when DND (Do Not Disturb) is requested and processed.

onDndCanceledSyntax
onDndCanceled(event)
Description
Fires when DND is cancelled.
Parameters
|
event |
The event object. |
Returns
None.

onForwardCanceledSyntax
onForwardCanceled(event)
Description
Fires when forward is canceled.

onForwardedSyntax
onForwarded(event)
Description
Fires when call is forwarded.

onForwardingSyntax
onForwarding(event)
Description
Fires when forwarding the call.

onSettingDndSyntax
onSettingDnd(event)
Description
Fires when setting DND (do not disturb).
ExtensionCaps Class ConstructorThe following is the Extension class constructor.

ExtensionCapsSyntax
ExtensionCaps(strCaps)
Description
Describes the extension's capabilities.
Parameters
|
strCaps |
A string comprising the extension's capabilities. |
Returns
An ExtensionCaps object.
ExtensionCaps Class FieldsThe following are the Extension class fields.

canCancelDndDescription
This extension can cancel DND (do not disturb).
Type: boolean.

canDialDescription
This extension can dial out.
Type: boolean.

canFwdBusyDescription
This extension can forward calls if busy.
Type: boolean.

canFwdBusyNoAnswerDescription
This extension can forward calls if busy/no answer.
Type: boolean.

canFwdCancelForwardDescription
This extension can cancel forward.
Type: boolean.

canFwdDefaultDescription
This extension can forward.
Type: boolean.

canFwdNoAnswerDescription
This extension can forward if no answer.
Type: boolean.

canFwdUnconditionalDescription
This extension can forward unconditionally.
Type: boolean.

canRefreshStateDescription
This extension can refresh state.
Type: boolean.

canSetDndDescription
This extension can set DND (do not disturb).
Type: boolean.
ForwardMode Class ConstructorThe following is the ForwardMode class constructor.

ForwardModeSyntax
ForwardMode()
Description
Describes various forward modes that can be used while setting the forwarding mode for an Address.
Parameters
None.
Returns
A ForwardMode object.
ForwardMode Class FieldThe following is the ForwardMode class field.

modeDescription
The current forwarding mode.
Type: string of the following constants.
|
Value |
Description |
|
BUSY |
The BUSY forwarding mode. |
|
BUSYNOANSWER |
The BUSYNOANSWER forwarding mode. |
|
DEFAULT |
The DEFAULT forwarding mode. |
|
NOANSWER |
The NOANSWER forwarding mode. |
|
NONE |
No forwarding mode. |
|
UNCONDITIONAL |
The UNCONDITIONAL forwarding mode. |
GenericAddress Class ConstructorThe GenericAddress class extends the _UQAddress class.
The following is the GenericAddress class constructor.

GenericAddressSyntax
GenericAddress()
Description
Handles the creation of generic tasks.
Parameters
None.
Returns
A GenericAddress object.
GenericAddress Class FieldsThe GenericAddress class inherits the following fields from the _Address class.
caps
id
The address's ID is equal to Task.TYPE_GENERIC.
The GenericAddress class inherits the tasks field from the _UQAddress class.
The following are GenericAddress class fields:

agentDescription
The agent id of this generic address owner.
Type: object

genericconnectionsDescription
List of GenericConnections.
Type: genericconnectionobject
GenericAddress Class MethodsThe GenericAddress class inherits the following methods from the _UQAddress class:
acceptTask
dequeueTask
See _UQAddress Methods.
The following are GenericAddress own class methods.

getFreeGenericconnectionSyntax
getFreeGenericconnectio()
Description
Get the free generic connection object. A connection is free if there is no activity on this line.
Parameters
None.
Returns
Returns genericconnection object, null if there is no free line.

getGenericconnectionByConnectionIdSyntax
getFreeGenericconnectio(connectionId)
Description
Get the genericconnection object with the genericconnection id.
Parameters
|
connectionId |
The connection id associated with a generic. |
Returns
Returns line object, null if there is no connection with that genericconnection id.

getGenericconnectionindexByConnectionIdSyntax
getGenericconnectionindexByConnectionId(connectionId)
Description
Get the genericconnection index with the genericconnection id.
Parameters
|
connectionId |
The connection id associated with a generic. |
Returns
Returns index, -1 if there is no connection with that genericconnection id.
GenericAddress Class Callback Event MethodsThe GenericAddress class inherits the onError callback event method from the _Address class.
See _Address Class Callback Event Method.
The GenericAddress class inherits the following callback event methods from the _UQAddress class:
onAcceptingTask
onDequeueingTask
onTaskAdded
onTaskRemoved
onNotify
onAccepted
onUnassigned
See _UQAddress Class Callback Event Methods.
GenericConnection Class ConstructorThe following is the GenericConnection class constructor.

GenericConnection
Syntax
GenericConnection()
Description
Handles Generic connection.
Parameters
None.
Returns
A genericconnection object.
GenericConnection Class FieldsThe following are GenericConnection class fields:

capsDescription
The capabilities of the GenericConnection.

connectionIdDescription
The generic connection Id.
Type: string

genericDescription
The generic task id associated with this generic connection.
Type: string

idDescription
The id of the GenericConnection.
Type: string

stateDescription
The connection state.
Type: string with following constants:
|
Value |
Description |
|
ST_DIALING |
Dialing state. |
|
ST_DROPPED |
Dropped state. |
|
ST_IDLE |
Idle state. |
|
ST_INCOMING |
Incoming state. |
|
ST_TALKING |
Talking state. |
GenericConnection Class MethodsThe following are the GenericConnection class methods:

abandonSyntax
abandon(reason)
Description
Abandon generic task.
Parameters
|
Reason |
The reason code to abandon. |
Returns
None.

answerSyntax
answer(reason)
Description
Answer/Accept the generic task assignment.
Parameters
|
Reason |
The reason code to answer. |
Returns
None.

completeSyntax
complete(reason)
Description
Send task completion notification.
Parameters
|
Reason |
The reason code to complete. |
Returns
None.

forwardSyntax
forward(fromagentId,toagentId, qid, userdata, genericdata, reason)
Description
Forward generic task to another Agent or to another queue.
Parameters
|
fromagentid |
The agent id from whom task is forwarded. |
|
toagentid |
The target agent id to whom task is forwarded. |
|
qid |
The target queue to forward the task. |
|
userdata |
The user data. |
|
emaildata |
The email data. |
|
Reason |
The reason code to forward the task. |
Returns
None.

rejectSyntax
reject(reason)
Description
Reject generic task assignment.
Parameters
|
Reason |
The reason code to reject. |
Returns
None.

withdraw_RESSyntax
withdraw_RES (reason)
Description
Send response for the request of (Withdraw of Generic task) by routing server. This is the response from the agent to the routing system.
Parameters
|
Reason |
The reason code to withdraw. |
Returns
None.
GenericConnection Class Callback Event MethodsThe following are ChatConnection class callback event methods:

onCapabilitiesChangedSyntax
onCapabilitiesChanged(event)
Description
Fires when there is a change in GenericData.

onCompletedSyntax
onCompleted(event)
Description
Fires when GenericConnection state is changed to COMPLETED.

onDroppedSyntax
onDropped(event)
Description
Fires when GenericConnection state is changed to DROPPED.

onErrorSyntax
onError(event)
Description
Fires when a there is a generic connection error.

onForwardedSyntax
onForwarded(event)
Description
Fires when generic task is forwarded.

onForwardErrorSyntax
onForwardError(event)
Description
Fires when there is error in forwarding the generic task.

onForwardingSyntax
onForwarding(event)
Description
Fires when forwarding the generic task.

onGenericdataChangedSyntax
onGenericdataChanged(event)
Description
Fires when there is a change in GenericData.

onIncomingSyntax
onIncoming(event)
Description
Fires when GenericConnection state is changed to INCOMING.

onProcessingSyntax
onProcessing(event)
Description
Fires when GenericConnection state is changed to PROCESSING.

onRejectedSyntax
onRejected(event)
Description
Fires when generic task is rejected by agent and the routing system acknowledges the same.

onRevokedSyntax
onRevoked(event)
Description
Fires when generic task is revoked by routing system before agent accepts that.

onUserdataChangedSyntax
onUserdataChanged(event)
Description
Fires when there is a change in user data.

onWithdraw_REQSyntax
onWithdraw_REQ(event)
Description
Fires when there is a request for generic task withdraw from routing server. This is a request from routing server to the agent.
GenericConnectionCaps Class ConstructorThe following is GenericConnectionCaps class constructor.

GenericConnectionCaps
Syntax
GenericConnectionCaps(strCaps)
Description
Describes the GenericConnection capabilities.
Parameters
|
strCaps |
The capability of the connection. |
Returns
Returns GenericConnection object.
GenericConnectionCaps Class FieldsThe following are the GenericConnectionCaps class fields

canAnswerDescription
Answer/Accept a generic task capability.
Type: boolean

canCompleteDescription
Complete an assigned generic task capability.
Type: boolean

canForwardDescription
Forward a generic task capability.
Type: boolean

canRejectDescription
Reject a generic task capability.
Type: boolean
GenericData Class ConstructorThe following is GenericConnectionCaps class constructor:

GenericData
Syntax
GenericData()
Description
The GenericData object describes the key-value pairs of the generic data with the generic object
Returns
Returns GenericData object.
GenericData Class FieldsThe following is GenericData class field:

dataDescription
Key value pairs that includes data.
Type: object.
GenericData Class MethodsThe following is GenericData class method:

addKeyValueSyntax
addKeyValue(key, value )
Description
Add key value to the genericdata object.
Parameters
|
key |
The variable name. |
|
value |
The value of the variable. |
GenericTask Class ConstructorThe GenericTask class extends the Task class.
The following is the GenericTask class constructor

GenericTaskSyntax
GenericTask(event)
Description
The GenericTask object describes the generic task information for tasks associated with the GenericAddress object.
Parameters
|
event |
The triggering event. |
Returns
A GenericTask object.
GenericTask Class FieldsThe GenericTask class inherits the following fields from the Task class:
caseid
cost
customerid
group
id
onStat
priority
type
The task type for generic task that is Task.TYPE_GENERIC.
urlAbs
urlRel
See Task Class Fields.
The following are the additional GenericTask class fields.

addressDescription
The address containing the A2AChat.

agentIdDescription
The agent id to whom this task is assigned.
Returns a string.

appDataDescription
The application data that is provided to the client with the notification event.
Type: AppData object.
See Also

customerNameDescription
The customer username.
Type: string.

genericconnectionDescription
The generic connection object that associated with this Generic task.
Type: line

genericIdDescription
The unique generic id generated from an Enqueue. It identifies the data in the database associated with the generic task.
Type: string.

groupIdDescription
The group id for which task is initiated.
Type: string.

questionDescription
The question of this generic task which is raised by customer.
Type: string.

statisticsDescription
Task statistics of the generic task.
Type: object.

subjectDescription
The subject of the generic task.
Type: string.

userdataDescription
User data object that is associated with this generic task.
Type: object.
GenericTask Class MethodThe following is the GenericTask class method.

gettpUrlSyntax
gettpUrl(defaultUrl)
Description
Returns the URL for the given task for the third-party routing.
Parameters
|
defaultUrl |
If not null, this value will override the generated base URL. |
Returns
Returns the URL for the given task.

getUrlSyntax
getUrl(defaultUrl)
Description
Returns the URL for the given task.
Parameters
|
defaultUrl |
If not null, this value will override the generated base URL. |
Returns
Returns the URL for the given task.
GLOBALS Class FieldsThe following are global fields, which may be accessed without instantiating an object. They are accessed as shown.

A2AChat.PS_JRDescription
The Journal Routing constant.
Example
A2AChat.PS_JR = "ps_jr";

A2AChat.TYPE_ANSWERDescription
The constant representing an A2AChat type of answer.
This type is generated when a different user wants this user to answer an A2AChat.
Example
A2AChat.TYPE_ANSWER = "answer";

A2AChat.TYPE_CONSULTDescription
The constant representing an A2AChat type of consult.
This type is generated when this user wants to consult a different user.
Example
A2AChat.TYPE_CONSULT = "consult";

Server.TYPE_CTIDescription
The constant representing a CTI server.
Example
Server.TYPE_CTI = "CTI";

Server.TYPE_UQDescription
The UQ server type.
Example
Server.TYPE_UQ = "UQ";

Task.TYPE_A2ACHATDescription
The constant representing an A2AChat.
Example
Task.TYPE_A2ACHAT = "A2ACHAT";

Task.TYPE_CHATDescription
The constant representing a chat task.
Example
Task.TYPE_CHAT = "CHAT";

Task.TYPE_CTIDescription
The constant representing a CTI task.
Example
Task.TYPE_CTI = "CTI";

Task.TYPE_EMAILDescription
The constant representing an email task.
Example
Task.TYPE_EMAIL = "EMAIL";

Task.TYPE_GENERICDescription
The constant representing a generic task.
Example
Task.TYPE_GENERIC = "GENERIC";
GLOBALS Class MethodsThe following are the GLOBALS class methods.

initJSMCAPISyntax
initJSMCAPI()
Description
The initialization function of the JSMCAPI. This is the first function should be called by application.
Parameters
None.
Returns
None. Initializes JSMCAPI.

isValidSyntax
isValid(obj)
Description
Returns true if an object is not undefined and not null. Obj can be any JavaScript object or literal. This method is a convenience method to check that an object is both not null and not undefined.
Parameters
|
obj |
Obj can be any JavaScript object or literal. |
Returns
Returns a boolean.
Returns true if an object is not undefined and not null.

MCFBroadcastSyntax
MCFBroadcast(cluster, queue, task, state, presence, message, securitylevel, importancelevel, senderid, NameValuePairString )
Description
Broadcast a message to any queue, cluster, or only agents.
Parameters
|
cluster |
Cluster Id to which we need to send broadcast message. |
|
queue |
Denotes the queue Id in the cluster. |
|
task |
Denotes the task, such as email, chat, voice, or generic. |
|
state |
Denotes the state, such as LoggedIn and NotLoggedIn. |
|
presence |
Denotes whether the agent is ready or not ready. |
|
Message |
Enter the message to broadcast. |
|
security level |
Security level defined by application developers. |
|
importance level |
Importance level defined by application developers. |
|
sender Id |
The sender's user id |
|
namevaluepairs |
Any extra data formed as name-value pair string. |
Returns
None
Group Class ConstructorThe following is the Group class constructor.

GroupSyntax
Group()
Description
The Group object describes the group information.
Parameters
None.
Returns
A Group object.
Group Class FieldsThe following are the Group class fields.

idDescription
The group ID.
Type: string.

nameDescription
The group name.
Type: string.

registeredDescription
True if the Group is registered on the server.
Type: boolean.

statisticsDescription
The group statistics for CTI.
Type: GroupStatistics object
See Also
GroupStatistics1 Class Constructor

statistics1Description
The group statistics for the queue server.
Type: GroupStatistics1 object.
See Also
GroupStatistics1 Class Constructor

statistics2Description
The group statistics for the queue server.
Type: GroupStatistics2 object.
See Also
GroupStatistics2 Class Constructor
Group Class Callback Event MethodsThe following are the Group class callback event methods.

onStatSyntax
onStat(event)
Description
Fires when there is new statistics going to this group.

onStat1Syntax
onStat1(event)
Description
Fires when statistics1 is received.

onStat2Syntax
onStat2(event)
Description
Fires when statistics2 is received.

onTaskAddedSyntax
onTaskAdded(event)
Description
Fires when a task added to this group.

onTaskRemovedSyntax
onTaskRemoved(event)
Description
Fires when a task is removed from this group.
GroupStatistics ConstructorThe following is the GroupStatistics class constructor.

GroupStatisticsSyntax
GroupStatistics()
Description
The group statistics information.
Parameters
None.
Returns
A GroupStatistics object.
GroupStatistics FieldsThe following are the GroupStatistics class fields.

dataDescription
Key value pairs that include all statistics.

listOfTasksInTheQueueByTaskTypeDescription
Denotes the task type, task state and the time for which the task is in the system.

maxTaskCompletionTimeDescription
Longest wait time for a task in the queue.

newestTaskDescription
Time elapsed for the most recent task.

newestTaskCompletionTimeDescription
Difference between queue time and the time when task is done.

numberOfAbandonedDescription
Number of tasks that are abandoned.

numberOfLoggedInDescription
Number of agents that are logged in the queue.

numberOfQueuedDescription
Number of tasks that are queued.

numUnassignedTasksDescription
Number of unassigned tasks.

queuedWaitTimeDescription
The average wait time, in seconds, of a queued task.

queueUpTimeDescription
Time since the queue is available on the system (startup/boot time).

relativeQueueLoadDescription
Relative queue load.

timeElapsedOldestTaskDescription
Time elapsed for the oldest task (difference between current time and en-queue time).
GroupStatistics1 Class ConstructorThe following is the GroupStatistics1 class constructor.

GroupStatistics1Syntax
GroupStatistics1(data)
Description
UQ Group statistics sent on group refresh 1.
Parameters
|
data |
Statistical data from the UQ server. |
Returns
A GroupStatistics1 object.
GroupStatistics1 Class FieldsThe following are the GroupStatistics1 class fields.

mostRecentTaskDoneDescription
The most recently done task in the group.
Type: string.

mostRecentTaskDoneDataDescription
The data for the most recent task done.
Type: string.

mostRecentTaskEnqueuedDescription
The most recently enqueued task in the group.
Type: string.

mostRecentTaskEnqueuedDataDescription
The data for the most recently enqueued task.
Type: string.

numAgentsAvailableDescription
Number of agents available in the group.
Type: string.

numAgentsLoggedInDescription
Number of agents logged in on the group.
Type: string.

numEscalationDescription
Number of escalated tasks in the group.
Type: string.

numOverflowDescription
Number of overflowed tasks in the group.
Type: string.

numTaskAcceptedDescription
Number of tasks accepted in the group.
Type: string.

numTaskDoneDescription
Number of tasks done in the group.
Type: string.

numTaskQueuedDescription
Number of tasks queued in the group.
Type: string.

reasonFlagDescription
The reason flag for this GroupStatistics event.
Type: string.

taskTotalTimeInSystemDescription
The total time in the system.
Type: string.

timeSinceStartDescription
The time since start.
Type: string.
GroupStatistics2 Class ConstructorThe following is the GroupStatistics2 class constructor.

GroupStatistics2Syntax
GroupStatistics2(data)
Description
UQ Group statistics sent on group refresh 2.
Parameters
|
data |
UQ server statistical data. |
Returns
A GroupStatistics2 object.
GroupStatistics2 Class FieldsThe following are the GroupStatistics2 class fields.

averageTaskDurationDescription
The average task duration in the group.
Type: string.

averageWaitTimeDescription
The average wait time in the group.
Type: string.

oldestTaskDescription
The oldest task in the group.
Type: string.

recentTaskDescription
The most recent task in the group.
Type: string.

timeElapsedOldestTaskDescription
The time elapsed for the oldest task in the group.
Type: string.

timeElapsedRecentTaskDescription
The time elapsed for the most recent task in the group.
Line Class ConstructorThe following is the Line class constructor.

LineSyntax
Line()
Description
The Line object describes the line of the extension. JSMCAPI only supports one extension with two lines and two extensions with one line in each.
Parameters
None.
Returns
A Line object.
Line Class FieldsThe following are the Line class fields.

callDescription
The Call object on the line.
Type: Call object.
See Also

capsDescription
The capabilities of the line.
Type: LineCaps object.
See Also

connectionidDescription
The call connection ID on the line.
Type: string.

idDescription
The line ID.
Type: string.

isMutedDescription
Flag to see whether extension is muted or not.
Type: string.

stateDescription
The line state.
Type: string with the following constants:
|
Value |
Description |
|
ST_DIALING |
The dialing state. |
|
ST_DROPPED |
The dropped state. |
|
ST_HELD |
The held state. |
|
ST_IDLE |
The idle state. |
|
ST_OFFHOOK |
The offhook state. |
|
ST_RINGING |
The ringing state. |
|
ST_TALKING |
The talking state. |
Line Class MethodsThe following are the Line class methods.

alternateSyntax
alternate(reason)
Description
Alternate a call.
Parameters
|
reason |
The reason to alternate a call. |
Returns
None.

answerSyntax
answer(reason)
Description
Answer a call.
Parameters
|
reason |
The reason to answer a call. |
Returns
None.

attachUserDataSyntax
attachUserDate(userdata, reason)
Description
Attach user data to a call.
Parameters
|
userdata |
The user data to attach to the call. |
|
reason |
The reason to attach the user data. |
Returns
None.

clearSyntax
clear(reason)
Description
Clear a conference call.
Parameters
|
reason |
The reason to clear the conference. |
Returns
None.

completeSyntax
complete(reason)
Description
Complete the two-step transfer/conference.
Parameters
|
reason |
The reason to complete the two-step transfer/conference. |
Returns
None.

conferenceSyntax
conference(destination, reason, userdata, calldata)
Description
Conference a call.
Parameters
|
destination |
The destination being invited into the conference. |
|
reason |
The reason to conference. |
|
userdata |
The user data to be attached. |
|
calldata |
The call data to be modified. |
Returns
None.

conferenceSingleSyntax
conferenceSingle(destination, reason, userdata, calldata)
Description
Single-step conference a call.
Parameters
|
destination |
The destination being invited into the conference. |
|
reason |
The reason to conference. |
|
userdata |
The user data to be attached. |
|
calldata |
The call data to be modified. |
Returns
None.

dialSyntax
dial(number, reason, userdata)
Description
Dial out.
Parameters
|
destination |
The destination being invited into the conference. |
|
reason |
The reason to conference. |
|
userdata |
The user data to be attached. |
Returns
None.

dropPartySyntax
dropParty(destination, reason)
Description
Drop a party in conference.
Parameters
|
destination |
The destination being dropped from the conference. |
|
reason |
The reason to drop the party. |
Returns
None.

getAniSyntax
getAni()
Description
Get the ANI.
Parameters
None.
Returns
Returns a string representing the ANI.

getDescrSyntax
getDescr()
Description
Get the description attached to the call on the line.
Parameters
None.
Returns
Returns a string.

getDnisSyntax
getDnis()
Description
Get the DNIS.
Parameters
None.
Returns
Returns a string.

getPadvalueSyntax
getPadvalue(key)
Description
Get the PAD value.
Returns
A string representing PAD value.

getReferenceIdSyntax
getReferenceId()
Description
Get the reference ID attached to the call on the line.
Parameters
None.
Returns
Returns a string.

getUrlSyntax
getUrl(defaultUrl)
Description
Get the URL for screen pop-up.
Parameters
|
defaultUrl |
The default pop-up URL. |
Returns
Returns a string.

grabCallSyntax
grabCall(destination, reason)
Description
Grab a call from the queue.
Parameters
|
destination |
The destination to be grabbed. |
|
reason |
The reason for the grab. |
Returns
None.

holdSyntax
hold(reason)
Description
Hold a call.
Parameters
|
reason |
The reason to hold the call. |
Returns
None.

joinSyntax
join(reason, conferenceId)
Description
Join an existing call/conference.
Parameters
|
reason |
The reason to join the call. |
|
conferenceId |
Call id. |
Returns
None.

muteSyntax
mute(reason)
Description
Mute an extension.
Parameters
|
reason |
The reason to mute the call. |
Returns
None.

parkSyntax
park(destination, reason)
Description
Park a call.
Parameters
|
destination |
The destination on which the call will be parked. |
|
reason |
The reason to park the call. |
Returns
None.

reconnectSyntax
reconnect(reason)
Description
Reconnect to the original party during two-step transfer/conference.
Parameters
|
reason |
The reason to reconnect. |
Returns
None.

rejectSyntax
reject(reason)
Description
Reject an incoming call.
Parameters
|
reason |
The reason to reject. |
Returns
None.

releaseSyntax
release(reason)
Description
Release a call.
Parameters
|
reason |
The reason to release the call. |
Returns
None.

retrieveSyntax
retrieve(reason)
Description
Retrieve a held call.
Parameters
|
reason |
The reason to retrieve the call. |
Returns
None.

sendDTMFSyntax
Syntax
sendDTMF(reason,stringDTMF )
Description
Send DTMF tones to the switch.
Parameters
|
reason |
The reason for requesting DTMF. |
|
stringDTMF |
DTMF tones string (0-9,*,#). |
Returns
None.

setcallresultSyntax
setcallresult(result)
Description
Set call result.
Parameters
|
result |
Result of the call. |
Returns
None.

setcallresultDNCSyntax
setcallresultDNC(number, reason)
Description
Do not call.
Parameters
|
number |
The number not to be disturbed. |
|
reason |
The reason not to disturb. |
Returns
None.

setcallresultRescheduleSyntax
setcallresultReschedule(hour, minutes, day, month,year)
Description
Reschedule a call.
Parameters
|
hour |
Hours |
|
Minutes |
Minutes |
|
Day |
Day |
|
Month |
Month |
|
Year |
Year |
Returns
None.

transferSyntax
transfer(destination, reason, userdata, calldata)
Description
Transfer a call.
Parameters
|
destination |
The destination to which the call will be transferred. |
|
reason |
The reason to transfer. |
|
userdata |
The user data to be attached. |
|
calldata |
The call data to be modified. |
Returns
None.

transferMuteSyntax
transferMute(destination, reason, userdata, calldata)
Description
Transfer mute a call.
Parameters
|
destination |
The destination to which the call will be transferred. |
|
reason |
The reason to transfer. |
|
userdata |
The user data to be attached. |
|
calldata |
The call data to be modified. |
Returns
None.

unmuteSyntax
unmute(reason)
Description
Unmute a call.
Parameters
|
reason |
The reason to unmute a call. |
Returns
None.

updateCallDataSyntax
updateCallData(calldata, reason)
Description
Update call data to a call.
Parameters
|
calldata |
The call data to update. |
|
reason |
The reason to update. |
Returns
None.
Line Class Callback Event MethodsThe following are the Line class callback event methods.

onAlternatingSyntax
onAlternating(event)
Description
Fires when alternating the call.

onAnsweringSyntax
onAnswering(event)
Description
Fires when answering the call.

onAttachingUDSyntax
onAttachingUD(event)
Description
Fires when attaching user data.

onCallDataChangedSyntax
onCallDataChanged(event)
Description
Fires when the call data on the call is changed.

onCapabilitiesChangedSyntax
onCapabilitiesChanged(event)
Description
Fires when the capabilities changed.

onClearingSyntax
onClearing(event)
Description
Fires when clearing the conference.

onCompletingSyntax
onCompleting(event)
Description
Fires when completing the two-step transfer/conference.

onConferencingSyntax
onConferencing(event)
Description
Fires when conferencing the call.

onDialingSyntax
onDialing(event)
Description
Fires when there is an outgoing call.

onDroppedSyntax
onDropped(event)
Description
Fires when the call is released.

onErrorSyntax
onError(event)
Description
Fires when there is error.

onGrabbingSyntax
onGrabbing(event)
Description
Fires when grabbing a call from a queue.

onHeldSyntax
onHeld(event)
Description
Fires when the call is on hold.

onHoldingSyntax
onHolding(event)
Description
Fires when holding the call.

onJoiningSyntax
onJoining(event)
Description
Fires when joining a call or a conference.

onMutedSyntax
onMuted(event)
Description
Fires when a call is muted.

onOffHookSyntax
onOffHook(event)
Description
Fires when the line is off hook.

onOnHookSyntax
onOnHook(event)
Description
Fires when the line is on hook.

onParkingSyntax
onParking(event)
Description
Fires when parking the call.

onPartyAddedSyntax
onPartyAdded(event)
Description
Fires when a new call party coming.

onPartyChangedSyntax
onPartyChanged(event)
Description
Fires when the call party has changed.

onPartyRemovedSyntax
onPartyRemoved(event)
Description
Fires when a call party is removed.

onReconnectingSyntax
onReconnecting(event)
Description
Fires when reconnecting the call.

onRejectedSyntax
onRejected(event)
Description
Fires when call is rejected.

onRejectingSyntax
onRejecting(event)
Description
Fires agent rejects an incoming call.

onReleasingSyntax
onReleasing(event)
Description
Fires when releasing the call.

onRetrievingSyntax
onRetrieving(event)
Description
Fires when retrieving the call.

onRingingSyntax
onRinging(event)
Description
Fires when there is an incoming call.

onSetcallresultSyntax
onSetcallresult(event)
Description
Fires when there is a request for setting call result.

onSetcallresultDNCSyntax
onSetcallresultDNC(event)
Description
Fires when there is a request for do not call.

onSetcallresultRescheduleSyntax
onSetcallresultReschedule(event)
Description
Fires when there is a request to reschedule a call.

onTalkingSyntax
onTalking(event)
Description
Fires when the call is established.

onTransferingSyntax
onTransfering(event)
Description
Fires when transferring the call.

onUnmutedSyntax
onUnmuted(event)
Description
Fires when call is unmuted.

onUpdatingCDSyntax
onUpdatingCD(event)
Description
Fires when updating the call data.

onUserDataChangedSyntax
onUserDataChanged(event)
Description
Fires when the user data attached on the call is changed.
LineCaps Class ConstructorThe following is the LineCaps class constructor.

LineCapsSyntax
LineCaps(strCaps)
Description
Describes the line's capabilities.
Parameters
|
strCaps |
The line's capabilities. |
Returns
A LineCaps object.
LineCaps Class FieldsThe following are the LineCaps class fields.

canAlternateDescription
The line has alternate capability.
Type: boolean.

canAnswerDescription
The line has answer capability.
Type: boolean.

canAttachUserDateDescription
The line has attach user data capability.
Type: boolean.

canClearDescription
The line has clear capability.
Type: boolean.

canCompleteDescription
The line has complete capability.
Type: boolean.

canConferenceDescription
The line has conference capability.
Type: boolean.

canConferenceSingleDescription
The line has conference single capability.
Type: boolean.

canDropPartyDescription
The line has drop party capability.
Type: boolean.

canHoldDescription
The line has hold capability.
Type: boolean.

canMuteDescription
The line has mute capability.
Type: boolean.

canParkDescription
The line has park capability.
Type: boolean.

canReconnectDescription
The line has reconnect capability.
Type: boolean.

canRejectDescription
The line has reject capability.
Type: boolean.

canReleaseDescription
The line has release capability.
Type: boolean.

canRetrieveDescription
The line has retrieve capability.
Type: boolean.

canSendDTMFDescription
The line has DTMF capability.
Type: boolean.

canSetcallresultDescription
The line has set call result capability.
Type: boolean.

canSetcallresultDNCDescription
The line has do not call capability.
Type: boolean.

canSetcallresultRescheduleDescription
The line has reschedule capability.
Type: boolean.

canTransferDescription
The line has transfer capability.
Type: boolean.

canTransferMuteDescription
The line has transfer mute capability.
Type: boolean.

canUnmuteDescription
The line has unmute capability.
Type: boolean.

canUpdateCallDataDescription
The line has update call data capability.
Type: boolean.
MCEvent Class ConstructorThe following is the MCEvent class constructor.

MCEventSyntax
MCEvent()
Description
The MCEvent will be passed to the application event handler.
Parameters
None.
Returns
An MCEvent object.
MCEvent Class FieldsThe following are the MCEvent class fields.

extensionDescription
The extension associated with the event.
Type: Extension object.
See Also

groupDescription
The group associated with the event.
Type: Group object.
See Also

reasonDescription
The reason associated with the event.
Type: Reason object.
See Also

userDescription
The user associated with the event.
Type: User object.
See Also
MediaType Class ConstructorThe following is the MediaType class constructor.

MediaTypeSyntax
MediaType()
Description
Distinguishes between email and CTI media types.
Parameters
None.
Returns
A MediaType object.
MediaType Class FieldThe following is the MediaType field.

typeDescription
The media type.
Type: string with the following constants:
|
Value |
Description |
|
MT_CHAT |
The chat media type. |
|
MT_EMAIL |
The email media type. |
|
MT_GENERIC |
The generic media type. |
|
MT_VOICE |
The voice media type (CTI). |
PSMC Class ConstructorThe following is the PSMC class constructor.

PSMCSyntax
PSMC()
Description
The global object that the application can access.
Parameters
None.
Returns
A PSMC object.
PSMC Class FieldsThe following are the PSMC class fields.

renserverDescription
The PSMC instance of the RenServer object.
Type: RenServer object.
See Also

serversDescription
An associative array the different server objects, indexed by server ID.
Type: associative array.
See Also

sessionsDescription
An associative array that holds the different session objects, indexed by server ID.
Type: associative array.
See Also
PSMC Class MethodsThe following are the PSMC class methods.

closeSessionSyntax
closeSession(serverId)
Description
Closes the specified session and server object and deletes them.
Parameters
|
serverId |
The ID of the REN server cluster for a UQ server, or the server ID for a CTI server. |
Returns
None.

getCallByIdSyntax
getCallById(id)
Description
Retrieve the call object by the call ID.
Parameters
|
id |
The call ID. |
Returns
Type: Call object.
See Also

getChatByIdSyntax
getChatById(id)
Description
Retrieve the chat object by the task id.
Parameters
|
id |
The task ID. |
Returns
Type: chat object.

getEmailByIdSyntax
getEmailById(id)
Description
Retrieve the email object by the task id.
Parameters
|
id |
The task ID. |
Returns
Type: email object.

getGenericTaskByIdSyntax
getGenericTaskById(id)
Description
Retrieve the Generic object by the task id.
Parameters
|
id |
The task ID. |
Returns
Type: generic object.

getLineByIdSyntax
getLineById(id)
Description
Retrieve the line object by the line ID.
Parameters
|
id |
The line ID. |
Returns
Type: Line object.
See Also

openSessionSyntax
openSession(id)
Description
Creates the session and server objects for the PSMC.
Parameters
|
id |
The ID of the REN server cluster for a UQ server, or the server ID for a CTI server. |
Returns
None.

startSyntax
start()
Description
Start the JSMCAPI.
Parameters
None.
Returns
None.

stopSyntax
stop()
Description
Stop the JSMCAPI.
Parameters
None.
Returns
None.
Reason Class ConstructorThe following is the Reason class constructor.

ReasonSyntax
reason(code, desc, reasondata1, reasondata2, reasondata3)
Description
The Reason object carries the reason code and reason description.
Parameters
|
code |
The reason code. |
|
desc |
The reason description. |
|
reasondata1 |
The reason data1. |
|
reasondata2 |
The reason data2. |
|
reasondata3 |
The reason data3 |
Returns
Type: Reason object.
Reason Class FieldsThe following are the Reason class fields.

codeDescription
The reason code.
Type: string.

descDescription
The reason description.
Type: string.

reasonData1Description
Place holder for extra data.
Type: string.

reasonData2Description
Place holder for extra data.
Type: string.

reasonData3Description
Place holder for extra data.
Type: string.
RenServer Class ConstructorThe following is the RenServer class constructor.

RenServerSyntax
RenServer()
Description
The RenServer object describes the REN server cluster information.
Parameters
None.
Returns
A RenServer object.
RenServer Class FieldsThe following are the RenServer class fields.

isRunningDescription
Flag containing the state of the REN server connection.
Type: boolean.

urlDescription
The REN server URL.
Type: string.
RenServer Class Callback Event MethodsThe following are the RenServer class callback event methods.

onDownSyntax
onDown(event)
Description
Fires when the REN server is down.

onUpSyntax
onUp(event)
Description
Fires when the REN server is up.
Server Class ConstructorThe following is the Server class constructor.

ServerSyntax
Server(serverId)
Description
The Server object describes the server information.
Parameters
|
serverId |
The ID of the REN server cluster for a UQ server, or the server ID for a CTI server. |
Returns
A Server object.
Server Class FieldsThe following are the Server class fields.

idDescription
The server ID.
Type: string.

infoDescription
The server information string.
Type: string.

stateDescription
The server state.
Type: string with the following constants.
|
Value |
Description |
|
ST_INSERVICE |
The server is in service. |
|
ST_OUTOFSERVICE |
The server is out of service. |

typeDescription
The type of server, either CTI or UQ.
Type: string with the following constants.
|
Value |
Description |
|
TYPE_CTI |
The server is a CTI server. |
|
TYPE_MCS |
The server is a third-party MultiChannel server. |
|
TYPE_UQ |
The server is a queue server. |
Example
The TYPE_* fields are global fields, which may be accessed without instantiating an object. They are accessed as shown in this example:
Server.TYPE_UQ = "UQ";
See Also
Server Class Callback Event MethodsThe following are the Server class callback event methods.

onBroadcastSyntax
onBroadcast(event)
Description
Fires when there is broadcast message.

onHbLostSyntax
onHbLost(event)
Description
Fires when the server's heartbeat is lost.

onHbRecoveredSyntax
onHbRecovered(event)
Description
Fires when the server's heartbeat is recovered.

onInServiceSyntax
onInService(event)
Description
Fires when the server changes state to in service.

onOutOfServiceSyntax
onOutOfService(event)
Description
Fires when the server changes state to out of service.

onRestartSyntax
onRestart(event)
Description
Fires when server restarts.
Session Class ConstructorThe following is the Session class constructor.

SessionSyntax
Session(serverId)
Description
The Session object describes the session with the server.
Parameters
|
serverId |
The ID of the REN server cluster for a UQ server, or the server ID for a CTI server. |
Returns
Returns a Session object.
Session Class FieldsThe following are the Session class fields.

addressesDescription
The associative array of addresses that the session register.
Type: associative array.

buddiesDescription
The buddy hash table in this session.
Type: associative array.

groupsDescription
The group hash table in this session.
Type: associative array.

idDescription
The session ID generated by the server.
Type: string.

serverIdDescription
The serverId will be unique for every session. It is used to lookup the protocol objects.
Type: string.

stateDescription
The session state.
Type: string with the following constants.
|
Value |
Description |
|
ST_ACTIVE |
The session is in the active state. |
|
ST_CLOSED |
The session is in the closed state. |
|
ST_CLOSING |
The session is in the closing state. |
|
ST_IDLE |
The session is in the idle state. |

userDescription
The current user for the session.
Type: User object.
See Also
Session Class MethodsThe following are the Session class methods.

broadcastSubscribeSyntax
broadcastSubscribe(cluster, queue, task, state, presence, method)
Description
Subscribe to broadcast messages.
Returns
Object.

broadcastUnsubscribeSyntax
broadcastunsubscribe(type)
Description
Unsubscribe to broadcast messages.
Returns
None.

closeSyntax
close()
Description
Close the session with the server.
Parameters
None.
Returns
None.

openSyntax
open()
Description
Open the session with the server.
Parameters
None.
Returns
None.

registerAddressSyntax
registerAddress(address)
Description
Register the address to the server so that the server will report all events that occur on this address.
Parameters
|
address |
The address to be registered. |
Returns
None.

registerBuddySyntax
registerBuddy(buddy)
Description
Register the buddy to the JSMCAPI so that the JSMCAPI will report all state events that occur on this buddy.
Parameters
|
buddy |
The buddy to be registered. |
Returns
None.

registerGroupSyntax
registerGroup(group)
Description
Register the group to the server so that the server will report all events that occur on this group.
Parameters
|
group |
The group to be registered. |
Returns
None.

registerUserSyntax
registerUser(user)
Description
Register the user to the server so that the server will report all those events that happen on this user.
Parameters
|
user |
The user to be registered. |
Returns
None.

setAutoRecoverySyntax
setAutoRecovery(autorecover)
Description
Sets the auto recovery feature of the queue server connection to off.
Parameters
|
autoRecover |
Recover. |

statPublishSyntax
statPublish(userStat, groupStat)
Description
Sets the statistics publishing levels for the queue server.
Parameters
|
userStat |
Either 0, 1, or 2 for UserStatistics publishing. Enter 0 for no statistics publishing, 1 for Statistics1 publishing, and 2 for Statistics2 and Statistic1 publishing. |
|
groupStat |
Either 0, 1, or 2 for GroupStatistics publishing. Enter 0 for no statistics publishing, 1 for Statistics1 publishing, and 2 for Statistics2 and Statistic1 publishing. |
Returns
None.

unregisterAddressSyntax
unRegisterAddress(address)
Description
Unregister the address from the server so that the server will not report any events about this address.
Parameters
|
address |
The address to be unregistered. |
Returns
None.

unregisterBuddySyntax
unregisterBuddy(buddy)
Description
Unregister the buddy from the JSMCAPI so that the JSMCAPI will not report any events about the buddy state change.
Parameters
|
buddy |
The buddy to be unregistered. |
Returns
None.

unregisterGroupSyntax
unregisterGroup(group)
Description
Unregister the group from the server so that the server will not report any events about this group.
Parameters
|
group |
The group to be unregistered. |
Returns
None.

unregisterUserSyntax
unregisterUser(user)
Description
Unregister the user from the server so that the server will not report any events to this user.
Parameters
|
user |
The user to be unregistered. |
Returns
None.
Session Class Callback Event MethodsThe following are the Session class callback event methods.

onAddressRegisteredSyntax
onAddressRegistered(event)
Description
Fires when the address is registered by the session.

onAddressUnregisteredSyntax
onAddressUnregistered(event)
Description
Fires when the address is unregistered by the session.

onBuddyRegisteredSyntax
onBuddyRegistered(event)
Description
Fires when the buddy is registered by the session.

onBuddyUnregisteredSyntax
onBuddyUnregistered(event)
Description
Fires when the buddy is unregistered by the session.

onClosedSyntax
onClosed(event)
Description
Fires when the session is closed.

onErrorSyntax
onError(event)
Description
Fires when there is a session error.

onGroupRegisteredSyntax
onGroupRegistered(event)
Description
Fires when a group is registered by the session.

onGroupUnregisteredSyntax
onGroupUnregistered(event)
Description
Fires when a group is unregistered by the session.

onInfoSyntax
onInfo(event)
Description
Fires when there is a session information event, such as the user is already logged in.

onOpenedSyntax
onOpened(event)
Description
Fires when the session is opened.

onUserRegisteredSyntax
onUserRegistered(event)
Description
Fires when the user is registered by the session.

onUserUnregisteredSyntax
onUserUnregistered(event)
Description
Fires when the user gets unregistered by the session.
Task Class HierarchyThe Task class can be extended by other subclasses. The following flowchart shows the different subclasses and how they interrelate.

Task class hierarchy
See Also
GenericAddress Class Constructor
Task Class ConstructorThe following is the Task class constructor.

TaskSyntax
Task()
Description
Task is an abstract base class.
Parameters
None.
Returns
Type: Task object.
Task Class FieldsThe following are the Task class fields.

caseidDescription
The associated case ID.
Type: string.

costDescription
The associated cost.
Type: string.

customeridDescription
The associated customer ID.
Type: string.

groupDescription
The group for which task is assigned.
Type: string.

idDescription
The task ID.
Type: string.

onStatDescription
Method that will be triggered when there is statistics published regarding this task.
Type: string.

priorityDescription
The priority of the task.
Type: string.

typeDescription
The type of the task.
Type: string, one of the following:
|
Value |
Description |
|
TYPE_A2ACHAT |
The A2AChat type. |
|
TYPE_CHAT |
The chat type. |
|
TYPE_CTI |
The CTI type. |
|
TYPE_EMAIL |
The email type. |
|
TYPE_GENERIC |
The generic type. |
Example
The TYPE_* fields are global fields, which may be accessed without instantiating an object. They are accessed as shown in this example:
Task.TYPE_GENERIC = "GENERIC";
See Also

urlAbsDescription
The absolute URL that is useful in constructing URL for new window.
Type: urlAbs object.

urlRelDescription
The relative URL that is useful in constructing URL for new window.
Type: urlRel object.
TaskStatistics Class ConstructorThe following is the TaskStatistics class constructor.

TaskStatistics
Syntax
TaskStatistics()
Description
Describes the task statistics information.
Returns
Task statistics object.
TaskStatistics Class FieldsThe following are the TaskStatistics class fields.

dataDescription
Key value pairs that includes all statistics.
Type: collection.

holdTimeDescription
Time duration that the task is on hold.
Type: number

queueTimeDescription
Time duration in the queue for this task.
Type: number

talkTimeDescription
Time duration that the task is established.
Type: number
User Class ConstructorThe User class extends the _User class.
The following is the User class constructor.

UserSyntax
User(id, name, agentId, agentPassword)
Description
Describes the user/agent.
Parameters
|
id |
The user ID. |
|
name |
The user name. |
|
agentId |
The agent ID. |
|
agentPassword |
The agent's password. |
Returns
A User object.
User Class FieldsThe User class inherits the following fields from the _User class:
agentId
caps
id
name
presences
ST_LOGGEDIN
ST_LOGGEDOUT
ST_NOTREADY
ST_READY
ST_UNKNOWN
ST_WORKNOTREADY
ST_WORKREADY
states
statistics
statistics1
statistics2
The following are the User class fields.

addressesDescription
The addresses associated with this agent.
Type: associative array.

agentPasswordDescription
The password for this agent.
Type: string.

languageDescription
The language for this agent.
Type: string.

registeredAddressesDescription
The registered addresses for this user.
Type: associative array.

statesUqDescription
States of the user for the queue server indexed by group number
Type: object.
User Class MethodsThe following are the User class methods.

ctiBusyUqSyntax
ctiBusyUq(busy, subtractcost, task)
Description
Flip ctiBusy flag and/or reduce cost of a CTI task from an agent's workload. If the task is the same as the agent's assigned task, then the task's cost will be used. In case they do not match the task type is checked and the default cost of the task is used to re-calculate the workload.
Parameters
|
busy |
The ctibusy flag that can have a value of 0 or 1. |
|
subtractcost |
Flag to reduce cost of the cti task from the agent's workload. It can be set to 0 or 1. |
|
task |
The task object. |

disableMediaSyntax
disableMedia(group, mediaType, extension, reason)
Description
Disable a media channel for an agent on a group/queue.
Parameters
|
group |
The group (queue) on which to disable the specified media type. |
|
mediaType |
The media type to disable. |
|
extension |
The extension on which to disable the specified media type. |
|
reason |
The reason for disabling this media type. |
Returns
None.

enableMediaSyntax
enableMedia(group, mediaType, extension, reason)
Description
Enable a media channel for an agent on a group/queue.
Parameters
|
group |
The group (queue) on which to enable the specified media type. |
|
mediaType |
The media type to enable. |
|
extension |
The extension on which to enable the specified media type. |
|
reason |
The reason for enabling this media type. |
Returns
None.

isMediaEnabledSyntax
isMediaEnabled(mediaType, group)
Description
Determines if the specified media type is enabled.
Parameters
|
mediaType |
Enter the media type. |
|
group |
Enter the group. |
Returns
Returns true if the media type is enabled.

loginSyntax
login(group, extension, reason)
Description
Log the user in to a queue.
Parameters
|
group |
The group to which the user will log in. |
|
extension |
The extension. |
|
reason |
The reason for the login. |
Returns
None.

loginUqSyntax
loginUq(group)
Description
Log a user in to a UQ server queue.
Parameters
|
group |
The group (queue) to which the user will login. |
Returns
None.

logoutSyntax
logout(group, extension, reason)
Description
Log the user out of the specified group (queue).
Parameters
|
group |
The group from which the user will log out. |
|
extension |
The extension. |
|
reason |
The reason for the log out. |
Returns
None.

logoutUqSyntax
logoutUq(group)
Description
Log the user out from the UQ server queue.
Parameters
|
group |
The group (queue) from which to log the user out. |
Returns
None.

registerSyntax
register(extension, reason)
Description
Register an extension for the user.
Parameters
|
extension |
The extension to be registered. |
|
reason |
The reason to register the extension. |
Returns
None.

setNotReadySyntax
setNotReady(group, presence, extension, reason)
Description
Set the user state as not ready.
Parameters
|
group |
The group on which the user is changing state. |
|
presence |
The presence in the new state. |
|
extension |
The extension with which the user is changing state. |
|
reason |
The reason to set not ready. |
Returns
None.

setPresenceSyntax
setPresence(group, presence, extension, reason)
Description
Set the presence for the current state.
Parameters
|
group |
The group on which the user is changing presence. |
|
presence |
The presence for the state. |
|
extension |
The extension with which the user is changing presence. |
|
reason |
The reason to set the presence. |
Returns
None.

setPresenceUqSyntax
setPresenceUq(group, presenceText, reason)
Description
Set the Presence for UQ servers.
Parameters
|
group |
The group (queue) on which the user is changing his or her presence. |
|
presenceText |
The new presence. |
|
reason |
The reason to set the new presence. |
Returns
None.

setReadySyntax
setReady(group, presence, extension, reason)
Description
Set the user state as ready.
Parameters
|
group |
The group on which the user is changing state. |
|
presence |
The presence for the state. |
|
extension |
The extension with which the user is changing state. |
|
reason |
The reason to set the state. |
Returns
None.

setWorkNotReadySyntax
setWorkNotReady(group, presence, extension, reason)
Description
Set the user state as work not ready.
Parameters
|
group |
The group on which the user is changing state. |
|
presence |
The presence for the state. |
|
extension |
The extension with which the user is changing state. |
|
reason |
The reason to set work not ready. |
Returns
None.

setWorkReadySyntax
setWorkReady(group, presence, extension, reason)
Description
Set the user state as work ready.
Parameters
|
group |
The group on which the user is changing state. |
|
presence |
The presence for the state. |
|
extension |
The extension with which the user is changing state. |
|
reason |
The reason to set work ready. |
Returns
None.

unregisterSyntax
unregister(extension, reason)
Description
Unregister an extension for the user.
Parameters
|
extension |
The extension to be unregistered. |
|
reason |
The reason to unregister the extension. |
Returns
None.
User Class Callback Event MethodsThe following are the User class callback event methods.

onCapabilitiesChangedSyntax
onCapabilitiesChanged(event)
Description
Fires when capabilities changed.

onCtiBusySyntax
onCtiBusy(event)
Description
Fires when the UQ server is notified that the CTI is busy.

onCTIBUSYUqSyntax
onCTIBUSYUq(event)
Description
Fires when the UQ server is notified that the CTI is busy.

onCtiClearSyntax
onCtiClear(event)
Description
Fires when the UQ server is notified that the CTI is clear.

onDroppedSyntax
onDropped(event)
Description
Fires when a user is dropped.

onErrorSyntax
onError(event)
Description
Fires when an error occurs.

onInfoSyntax
onInfo(event)
Description
Fires when an information event occurs. Currently only used on UQ server.

onLoggedInSyntax
onLoggedIn(event)
Description
Fires when the user is logged in.

onLoggedOutSyntax
onLoggedOut(event)
Description
Fires when the user is logged out.

onLoggingInSyntax
onLoggingIn(event)
Description
Fires when the user is logging in.

onLoggingOutSyntax
onLoggingOut(event)
Description
Fires when the user is logging out.

onMediaDisabledSyntax
onMediaDisabled(event)
Description
Fires when a media type is disabled.

onMediaEnabledSyntax
onMediaEnabled(event)
Description
Fires when a media type is enabled.

onNotReadySyntax
onNotReady(event)
Description
Fires when a user state changes to not ready.

onPresenceChangedSyntax
onPresenceChanged(event)
Description
Fires when the user's presence is changed.

onReadySyntax
onReady(event)
Description
Fires when the user's state changes to ready.

onRegisteredSyntax
onRegistered(event)
Description
Fires when the address is registered.

onRegisteringSyntax
onRegistering(event)
Description
Fires when registering the address.

onSettingNotReadySyntax
onSettingNotReady(event)
Description
Fires when setting the user's state to not ready.

onSettingPresenceSyntax
(event)
onSettingPresence
Description
Fires when setting presence for the current state.

onSettingReadySyntax
onSettingReady(event)
Description
Fires when setting the user's state to ready.

onSettingWorkNotReadySyntax
onSettingWorkNotReady(event)
Description
Fires when setting the user's state to work not ready.

onSettingWorkReadySyntax
onSettingWorkReady(event)
Description
Fires when setting the user's state to work ready.

onStatSyntax
onStat(event)
Description
Fires when statistics are received.

onStat1Syntax
onStat1(event)
Description
Fires when statistics1 is received.

onStat2Syntax
onStat2(event)
Description
Fires when statistics2 received.

onUnknownSyntax
onUnknown(event)
Description
Fires when the user's state changes to unknown.

onUnregisteredSyntax
onUnregistered(event)
Description
Fires when the address gets unregistered.

onUnregisteringSyntax
onUnregistering(event)
Description
Fires when unregistering the address.

onWorkNotReadySyntax
onWorkNotReady(event)
Description
Fires when the user's state changes to work not ready.

onWorkReadySyntax
onWorkReady(event)
Description
Fires when the user's state changes to work ready.
UserCaps Class ConstructorThe following is the UserCaps class constructor.

UserCapsSyntax
UserCaps(strCaps)
Description
The UserCaps object describes the user capabilities.
Parameters
|
strCaps |
The user capabilities. |
Returns
A UserCaps object.
UserCaps Class FieldsThe following are the UserCaps class fields

canHandleChatDescription
Chat task handling capability of the user.
Type: boolean.

canHandleEmailDescription
Email task handling capability of the user.
Type: boolean.

canHandleGenericDescription
Generic task handling capability of the user.
Type: boolean.

canHandleVoiceDescription
Voice task handling capability of the user.
Type: boolean.

canLoginDescription
Login capability of the user.
Type: boolean.

canLogoutDescription
Logout capability of the user.
Type: boolean.

canRefreshStateDescription
The refreshState capability of the user.
Type: boolean.

canSetNotReadyDescription
The setNotReady capability of the user.
Type: boolean.

canSetPresenceDescription
The setPresence capability of the user.
Type: boolean.

canSetReadyDescription
The setReady capability of the user.
Type: boolean.

canSetWorkNotReadyDescription
The setWorkNotReady capability of the user.
Type: boolean.

canSetWorkReadyDescription
The setWorkReady capability of the user.
Type: boolean.
UserData Class ConstructorThe following is the UserData class constructor.

UserDataSyntax
UserData()
Description
The UserData object describes the key-value pairs of attached user data.
Parameters
None.
Returns
A UserData object.
UserData Class FieldsThe following are the UserData class fields constants.

UserData Class Field ConstantsDescription
UserData class uses the following constants.
|
Value |
Description |
|
COMPONENT |
The component. |
|
DESCR |
The description |
|
ICSCRIPTPROGRAMNAME |
The IC script program name. |
|
ICTYPE |
The IC type. |
|
MARKET |
The market. |
|
MENU |
The menu. |
|
REFERENCEID |
The reference ID |
|
TARGET |
The target. |
|
URLABS |
The absolute URL. |
|
URLREL |
The relative URL. |
UserData Class MethodThe following is the UserData class method.

addKeyValueSyntax
addKeyValue(key, value)
Description
Add the key-value pair to the UserData object.
Parameters
|
key |
The key. |
|
value |
The value. |
Returns
None.
UserStatistics1 Class ConstructorThe following is the UseStatistics1 class constructor.

UserStatistics1Syntax
UserStatistics1()
Description
UQ User statistics sent on user refresh 1.
Parameters
None.
Returns
A UserStatistics1 object.
UserStatistics1 Class FieldsThe following are the UserStatistics1 class fields.

availableCostDescription
The amount of unused work.

ctiBusyDescription
Flag indicating that a user is engaged on CTI task.

currentQueueDescription
Current queue/group the User last logged into.
Type: string.

mostRecentTaskDataDescription
Most recent task's data.
Type: string.

mostRecentTaskIdDescription
Most recent task's ID.
Type: string.

numTaskAcceptedDescription
The number of tasks accepted by the user.
Type: string.

numTasksDoneDescription
The number of tasks done by the user.

numTasksUnassignedDescription
The number of tasks unassigned by the user.
Type: string.

presenceTextDescription
The presence text for the user.
Type: string.

reasonFlagDescription
The reason flag for this event.
Type: string.

stateDescription
Current state of the user.
Type: string.

timeInCurrentStateDescription
Time in current state for the user.
Type: string.

timeSinceLoggedInDescription
The time since the user logged in.
Type: string.
UserStatistics2 Class ConstructorThe following is the UserStatistics2 class constructor.

UserStatistics2Syntax
UserStatistics2()
Description
UQ User statistics sent on user refresh 2 event.
Parameters
None.
Returns
A UserStatistics2 object.
UserStatistics2 Class FieldsThe following are the UserStatistics2 class fields.

currentQueueDescription
The current queue or group for the user.
Type: string.

timeIdleDescription
Idle time for the user.
Type: string.

timeInCurrentStateDescription
The time in the current state for the user.
Type: string.

timeNotReadyDescription
The time during which the user was in the not ready state.
Type: string.

timeSinceLoginDescription
The time since the user logged in.
Type: string.

totalTimeAvailableDescription
The total time during which the user has been in the available state.
Type: string.

totalTimeUnavailableDescription
The total time during which the user has been in the unavailable state.