Breadcrumbs

Generic Connector JTAPI


A GC client can call this API to connect with Generic Connector.  


    /*<![CDATA[*/ div.rbtoc1771915489918 {padding: 0px;} div.rbtoc1771915489918 ul {list-style: disc;margin-left: 0px;} div.rbtoc1771915489918 li {margin-left: 0px;padding-left: 0px;} /*]]>*/


      Agent Commands

      Message types and their expected output are mentioned below.

      Input Message

      Category

      Message Type

      Message Parameters

      Expected Output

      Comments

      Send Heartbeat while not logged in

      system

      Hello#<client_extension>


      System Status


      Send Heartbeatwhile logged in

      system

      Beat#<client_destination>


      System Status

      Not implemented in client yet.

      Connect AgentID with Client Unique Name

      agent_info

      Connect#<agent_login_Id>

      <client_destination>,<agent_password>


      No response

      Agent Login

      agent_state

      Login#<agent_login_Id>

      <agent_password>,<agent_extension>

      Agent State, Agent Info


      Mobile Agent Login

      agent_state

      MobileAgentLogin#<agent_login_Id>

      <agent_password>,<agent_extension>,<agent_phone>,<connection_mode>

      Agent State

      ,

      Agent Info

      Only on UCCE but not tested yet. 
      Set connection mode to “true” for “call by call”, “false” for “nailed connection”.

      Agent Logout

      agent_state

      Logout#<agent_login_Id>


      Agent State


      Make agent ready

      agent_state

      MakeReady#<agent_login_Id>


      Agent State


      Make agent not ready

      agent_state

      MakeNotReady#<agent_login_Id>


      Agent State


      Get agent current state

      agent_state

      GetState#<agent_login_Id>


      Agent State


      Not Ready with reason code

      agent_state

      MakeNotReadyWithReason#<agent_login_Id>

      <agent_reason_code>

      Agent State


      Make a call

      agent_call

      MakeCall# <agent_login_Id>

      <Other_Party_Extension_Number>

      Inbound Call


      Answer a call

      agent_call

      AnswerCall# <agent_login_Id>

      <Dialog_ID>

      Inbound Call


      Hold a call

      agent_call

      HoldCall#<agent_login_Id>

      <Dialog_ID>

      Inbound Call


      Unhold a call

      agent_call

      RetrieveCall#<agent_login_Id>

      <Dialog_ID>

      Inbound Call


      Release a call

      agent_call

      ReleaseCall#<agent_login_Id>

      <Dialog_ID>

      Inbound Call


      Get Agent Wrap-up Reason Codes

      agent_work

      wrapupreasoncode#<agent_login_Id>


      Reason Codes


      Get Agent Logout Reason Codes

      agent_state

      reasoncodelogout#<agent_login_Id>


      Reason Codes


      Get Agent Not Ready Reason Codes

      agent_state

      reasoncodenotready#<agent_login_Id>


      Reason Codes


      Blind Transfer

      agent_call

      Transfer_sst#<agent_login_Id>

      <Other_Party_Extension_Number>,<Dialog_ID>


      Used only in UCCE, will update later.

      Transfer Initiation

      agent_call

      ConsultCall#<agent_login_Id>

      <Other_Party_Extension_Number>,<Dialog_ID>

      Consult Call


      Conference Inititation

      agent_call

      ConsultCall#<agent_login_Id>

      <Other_Party_Extension_Number>,<Dialog_ID>

      Consult Call


      Complete Transfer

      agent_call

      TransferCall#<agent_login_Id>

      <agent_extension>,<Dialog_ID>

      Transfer Call


      Complete Conference

      agent_call

      Conferencecall#<agent_login_Id>

      <agent_extension>,<Dialog_ID>

      Conference Call


      Get Dialog State

      agent_dialog

      getdialogstate#<agent_login_Id>

      <Dialog_ID>

      Agent Dialog


      Update Dialog Wrap-up Codes

      agent_dialog

      wrapup#<agent_login_Id>

      <Wrapup_Reason>,<dialog_id>


      No response is received when this event is called.

      Logout with Reason

      agent_state

      logoutwithreason#<agent_login_Id>

      <ReasonCode>

      Agent State


      Abrupt Agent Disconnection

      agent_state

      force_logout#<agent_login_Id>


      Agent State

      Had do send this message in backend but the output is same as of in Expected Output

      Get Dialog State Controls

      agent_dialog

      getdialogstatecontrols#<agent_login_Id>

      <Dialog_ID>


      Not implemented in client yet

      Make Work Not Ready

      agent_state

      makeworknotready#<agentID>



      Not implemented in client yet

      Make Work Ready

      agent_state

      makeworkready#<agentID>



      Not implemented in client yet

      Get Dialog Participants

      agent_call

      getDialogParticipants#<agent_login_id>

      <dialog_id>


      Deprecated, Not implemented in client yet

      Get Logged in Agents

      agent_call

      getallagents#<agent_login_id>


      Get All Agents


      Update Dialog Variable

      agent_call

      update_call_variable#<agent_login_Id>

      <dialog_id>,<variable_name>,<variable_value>


      Not implemented in client yet

      Pause Zoom Call Recording

      zoom

      ZOOMPauseRecording#<agent_login_Id>




      Resume Zoom Call Recording

      zoom

      ZOOMResumeRecording#<agent_login_Id>




      Refresh

      agent_state

      refresh#<agent_login_Id>




      Get Team and Global Phonebooks

      phonebook

      GetPhonebooks#<agent_login_id>


      Phonebooks


      Get Contacts of a Phonebook

      contacts

      GetPhonebookContacts#<agent_login_id>

      <PhonebookID>

      Contacts


      Accept Outbound Preview Call

      agent_call

      AcceptOutboundPreview#<agent_login_id>

      <dialog_id>,<ACCEPT>

      Inbound Call

      Pass ACCEPT as a second parameter if you want to accept preview outbound call

      Reject Outbound Preview Call

      agent_call

      RejectOutboundPreview#<agent_login_id>

      <dialog_id>,<REJECT>

      Inbound Call

      Pass REJECT as a second parameter if you want to reject preview outbound call

      Close Outbound Preview Call

      agent_call

      CloseOutboundPreview#<agent_login_id>

      <dialog_id>,<CLOSE>

      Inbound Call

      Pass CLOSE as a second parameter if you want to close preview outbound call


      Supervisor Commands

      Input Message

      Category

      Message Type

      Message Parameters

      Expected Output

      Comments

      Get Queue Info

      supervisor_queue_info

      getqueuelist#<agent_login_Id>





      Silent Monitor (Supervisor Function)

      supervisor_dialog

      silentmonitor#<agent_login_Id>

      <Agent_Extension>



      End Silent Monitor (Supervisor Function)

      supervisor_dialog

      endsilentmonitor#<agent_login_Id>

      <Dialog_ID>



      Drop Participant (Supervisor Function)

      supervisor_dialog

      dropparticipant#<agent_login_Id>

      <Agent_Extension>,<Dialog_ID>



      Get Team Users (Supervisor Function)

      supervisor_team

      getteamusers#<agent_login_Id>

      <TeamID>,<true>


      If you want to get team user and also want to subscribe team events then pass

      "<true>" as an extra parameter.

      Otherwise just pass 

      <TeamID>

      Get Team Users State (Supervisor Function)

      supervisor_team_member_state

      getteamuserstate#<agent_login_Id>

      <Team_Agent_LoginID>


      Not implemented in client yet

      Make a Barge Call

      agent_call

      bargein#<agent_login_Id>

      <Team_Agent_LoginID >,<Dialog_ID>



      Admin Commands

      Input Message

      Category

      Message Type

      Message Parameters

      Expected Output

      Comments

      Get Team and Global Phonebooks

      phonebook

      GetPhonebooks#<agent_login_id>


      Phonebooks


      Get Contacts of a Phonebook

      contacts

      GetPhonebookContacts#<agent_login_id>

      <PhonebookID>

      Contacts


      Get Team Phonebooks

      phonebook

      GetTeamPhonebooks#<agent_login_id>


      Phonebooks


      GC Events

      GC events as published by GC after receiving Finesse events:

      System Status

      Attribute

      Value

      Description

      Sample Output

      type

      System



      JavaScript
      {
      "type": "System",
      "status": "OUT_OF_SERVICE"
      }
      
      


      status


      IN_SERVICE | OUT_OF_SERVICE

      Agent Info 

      Attribute

      Value

      Description

      Sample Output

      type

      AgentInfo



      JavaScript
      {
        "type": "AgentInfo",
        "firstName": "jehanzeb4",
        "lastName": "riaz",
        "supervisor": false,
        "wrapUpOnIncoming": "",
        "teams": [],
        "team": {
          "id": "7",
          "name": "Demo"
        },
        "agentId": "jehanzeb4"
      }
      


      firstName


      Agent's first name

      lastName


      Agent's last name

      supervisor

      true | false

      Is this agent a supervisor?

      wrapUpOnIncoming



      teams


      If the agent is a supervisor, it's an array of all teams. Each element is a team object as defined below. 

      team


      Agent's team

      agentId


      Agent ID


      Agent State 

      Attribute

      Value

      Description

      Sample Output

      type

      State



      JavaScript
      {
        "type": "State",
        "agentId": "jehanzeb6",
        "state": "NOT_READY",
        "reasonCode": "8",
        "stateChangeTimeString": "",
        "pendingState": "",
        "stateChangeTime": "2019-09-17 12:46:21"
      }
      


      agentId


      Agent ID

      State

      Agent state

      From one of the following agent states: 

      UNKNOWN,
      READY,
      NOT_READY,
      LOGOUT,
      TALKING,
      RESERVED,
      RESERVED_OUTBOUND,
      RESERVED_OUTBOUND_PREVIEW,
      WORK,
      WORK_READY,
      HOLD

      reasonCode


      Not Ready reason codes as defined in Finesse

      stateChangeTimeString


      not used

      pendingState


      Only available with UCCE and as passed by Cisco Finesse

      stateChangeTime

      2019-09-17 12:46:21

      Date & Time of state change

      Inbound Call State

      Attribute

      Value

      Description

      Sample Output

      type

      InboundCall

      Attributes may vary for each type of Call object.


      {
        "type": "InboundCall",
        "dialogId": "16871253",
        "state": "INITIATED",
        "startTime": "2019-09-17 15:32:15",
        "prevDialogId": null,
        "fromAddress": "4012",
        "callVariables": [
          {
            "callVariable1": ""
          },
          {
            "callVariable2": ""
          },
          {
            "callVariable3": ""
          },
          {
            "callVariable4": ""
          },
          {
            "callVariable5": ""
          },
          {
            "callVariable6": ""
          },
          {
            "callVariable7": ""
          },
          {
            "callVariable8": ""
          },
          {
            "callVariable9": ""
          },
          {
            "callVariable10": ""
          },
          {
            "ani": "4012"
          }
        ],
        "participants": [
          {
            "mediaAddress": "1006",
            "state": "INITIATED",
            "addressType": "AGENT_DEVICE"
          }
        ],
        "agentId": "jehanzeb6"
      }
      


      dialogID


      Finesse Dialog ID

      state


      One of the Finesse dialog states

      startTime


      The start time of the call 

      prevDialogId


      Finesse Dialog ID

      fromAddress


      A number from an inbound call is placed

      callVariables


      A total of 10 call variables as received from Finesse

      participants


      Participants engaged in the call

      agentId


      Agent ID


      New Outbound Preview Call

      Attribute

      Value

      Description

      Sample Output

      type

      InboundCall

      Attributes may vary for each type of Call object.


      {
        "type": "NewOutboundPreviewCall",
        "dialogId": "16871253",
        "fromAddress": "4012",
        "callVariables": [
          {
            "callVariable1": ""
          },
          {
            "callVariable2": ""
          },
          {
            "callVariable3": ""
          },
          {
            "callVariable4": ""
          },
          {
            "callVariable5": ""
          },
          {
            "callVariable6": ""
          },
          {
            "callVariable7": ""
          },
          {
            "callVariable8": ""
          },
          {
            "callVariable9": ""
          },
          {
            "callVariable10": ""
          },
          {
            "ani": "4012"
          }
        ],
        "calltype":"calltype",
        "agentId": "jehanzeb6"
      }
      


      dialogID


      Finesse Dialog ID

      state


      One of the Finesse dialog states

      startTime


      The start time of the call 

      prevDialogId


      Finesse Dialog ID

      fromAddress


      A number from an inbound call is placed

      callVariables


      A total of 10 call variables as received from Finesse

      participants


      Participants engaged in the call

      agentId


      Agent ID


      New Outbound Call

      Attribute

      Value

      Description

      Sample Output

      type

      InboundCall

      Attributes may vary for each type of Call object.


      {
        "type": "NewOutboundCall",
        "dialogId": "16871253",
        "fromAddress": "4012",
        "callVariables": [
          {
            "callVariable1": ""
          },
          {
            "callVariable2": ""
          },
          {
            "callVariable3": ""
          },
          {
            "callVariable4": ""
          },
          {
            "callVariable5": ""
          },
          {
            "callVariable6": ""
          },
          {
            "callVariable7": ""
          },
          {
            "callVariable8": ""
          },
          {
            "callVariable9": ""
          },
          {
            "callVariable10": ""
          },
          {
            "ani": "4012"
          }
        ],
        "calltype":"calltype",
        "agentId": "jehanzeb6"
      }
      


      dialogID


      Finesse Dialog ID

      state


      One of the Finesse dialog states

      startTime


      The start time of the call 

      prevDialogId


      Finesse Dialog ID

      fromAddress


      A number from an inbound call is placed

      callVariables


      A total of 10 call variables as received from Finesse

      participants


      Participants engaged in the call

      agentId


      Agent ID

      New Inbound Call

      Attribute

      Value

      Description

      Sample Output

      type

      NewInboundCall



      {
        "type": "NewInboundCall",
        "dialogId": "16871263",
        "fromAddress": "1006",
        "callVariables": [
          {
            "callVariable1": ""
          },
          {
            "callVariable2": ""
          },
          {
            "callVariable3": ""
          },
          {
            "callVariable4": ""
          },
          {
            "callVariable5": ""
          },
          {
            "callVariable6": ""
          },
          {
            "callVariable7": ""
          },
          {
            "callVariable8": ""
          },
          {
            "callVariable9": ""
          },
          {
            "callVariable10": ""
          },
          {
            "ani": "1006"
          }
        ],
        "agentId": "jehanzeb4"
      }
      


      dialogID


      Finesse Dialog ID

      fromAddress


      A number from an inbound call is placed

      callVariables


      A total of 10 call variables as received from Finesse

      agentId


      Agent ID


      Reason Codes 

      Attribute

      Value

      Description

      Sample Output

      type

      ReasonCodes



      {
      "type": "ReasonCodes",
      "category": "WrapUp",
      "reasonCodes": [
      {
      "1": "Complaint"
      },
      {
      "2": "Inquiry New"
      },
      {
      "3": "Conf call"
      },
      {
      "4": "Transfer call"
      },
      {
      "5": "Customer new call"
      },
      {
      "6": "Old call customer"
      },
      {
      "7": "Bill Inquiry"
      }
      ],
      "agentId": "jehanzeb4"
      }
      


      category

      WrapUp | LOGOUT | NOT_READY

      as passed in the request

      reasonCodes


      key-value pair of defined reason codes of the specified category

      agentId


      Agent ID


      Consult Call State

      Attribute

      Value

      Description

      Sample Output

      type

      ConsultCall



      {
      "type": "ConsultCall",
      "state": "INITIATED",
      "assDialogId": "16871288",
      "fromAddress": "1004",
      "toAddress": "1006",
      "startTime": "2019-09-17 17:17:03",
      "callVariables": [
      {
      "callVariable1": ""
      },
      {
      "callVariable2": ""
      },
      {
      "callVariable3": ""
      },
      {
      "callVariable4": ""
      },
      {
      "callVariable5": ""
      },
      {
      "callVariable6": ""
      },
      {
      "callVariable7": ""
      },
      {
      "callVariable8": ""
      },
      {
      "callVariable9": ""
      },
      {
      "callVariable10": ""
      },
      {
      "ani": "1004"
      }
      ],
      "participants": [
      {
      "mediaAddress": "1004",
      "state": "INITIATED",
      "addressType": "AGENT_DEVICE"
      }
      ],
      "agentId": "jehanzeb4"
      }
      
      


      state

      INITIATING | INITIATED

      state of call

      assDialogId


      This is an associated Dialog ID.

      In case of consult call, dialogId is named as  assDialogId

      startTime


      Starting Time of call 

      fromAddress


      A number from which consult call is initiated

      toAddress


      A number to which the consult call is requested

      callVariables


      Call Variables in Finesse

      participants


      Participants engaged in call

      agentId


      Agent ID

      Release Call Output

      Attribute

      Value

      Description

      Sample Output

      type

      InboundCall



      JavaScript
      {
        "type": "InboundCall",
        "dialogId": "16871284",
        "prevDialogId": null,
        "state": "DROPPED",
        "agentId": "jehanzeb6"
      }
      
      


      dialogId


      ID of the call

      prevDialogId

      null

      prevDialogId is not null if call is being transferred to another agent

      state


      state of call

      agentId


      Agent Id


      Complete Conference

      Attribute

      Value

      Description

      Sample Output

      type

      InboundCall



      {
        "type": "InboundCall",
        "dialogId": "16871286",
        "state": "ACTIVE",
        "startTime": "2019-09-17 17:16:10",
        "prevDialogId": null,
        "fromAddress": "1005",
        "callVariables": [
          {
            "callVariable1": ""
          },
          {
            "callVariable2": ""
          },
          {
            "callVariable3": ""
          },
          {
            "callVariable4": ""
          },
          {
            "callVariable5": ""
          },
          {
            "callVariable6": ""
          },
          {
            "callVariable7": ""
          },
          {
            "callVariable8": ""
          },
          {
            "callVariable9": ""
          },
          {
            "callVariable10": ""
          },
          {
            "ani": "1005"
          }
        ],
        "participants": [
          {
            "mediaAddress": "1005",
            "state": "ACTIVE",
            "addressType": ""
          },
          {
            "mediaAddress": "1004",
            "state": "ACTIVE",
            "addressType": "AGENT_DEVICE"
          },
          {
            "mediaAddress": "1006",
            "state": "ACTIVE",
            "addressType": "AGENT_DEVICE"
          }
        ],
        "agentId": "jehanzeb4"
      }
      
      


      dialogId


      DialogId is id of the call

      state

      Active

      States in Finnese

      startTime


      Starting Time of call 

      prevDialogId

      null

      Dialog Id in Finesse

      fromAddress


      A number from an inbound call is placed

      callVariables


       Call Variables in Finesse

      participants


      Participants engaged in call

      agentId


      Agent ID

      Transfer Call

      Attribute

      Value

      Description

      Sample Output

      type

      InboundCall



      {
        "type": "InboundCall",
        "dialogId": "16874257",
        "state": "HELD",
        "startTime": "2019-09-20 16:25:14",
        "prevDialogId": null,
        "fromAddress": "1005",
        "callVariables": [
          {
            "callVariable1": ""
          },
          {
            "callVariable2": ""
          },
          {
            "callVariable3": ""
          },
          {
            "callVariable4": ""
          },
          {
            "callVariable5": ""
          },
          {
            "callVariable6": ""
          },
          {
            "callVariable7": ""
          },
          {
            "callVariable8": ""
          },
          {
            "callVariable9": ""
          },
          {
            "callVariable10": ""
          },
          {
            "ani": "1005"
          }
        ],
        "participants": [
          {
            "mediaAddress": "1005",
            "state": "ACTIVE",
            "addressType": ""
          },
          {
            "mediaAddress": "1004",
            "state": "HELD",
            "addressType": "AGENT_DEVICE"
          }
        ],
        "agentId": "jehanzeb4"
      }
      
      


      dialogId


      Dialog Id in Finesse

      state

      Held

      States in Finnese

      startTime


      Starting Time of call 

      prevDialogId

      null

      Dialog Id in Finesse

      fromAddress


      A number from an inbound call is placed

      callVariables


      Call Variables in Finesse

      participants


      Participants engaged in call

      agentId


      Agent ID

      Get Dialog State

      Attribute

      Value

      Description

      Sample Output

      type

      DialogState



      JavaScript
      {
        "type": "DialogState",
        "dialogId": "16871286",
        "state": "HELD",
        "agentId": "jehanzeb6"
      }
      
      


      dialogId


      Dialog Id in Finesse

      state

      INITIATED | ALERTING | ACTIVE | HELD | NOT_FOUND

      This is state of the call

      agentId


      Agent ID


      Get All Agents

      Attribute

      Value

      Description

      Sample Output

      type

      Agents



      JavaScript
      [ 
         { 
            "type":"Agents",
            "users":[ 
               { 
                  "firstName":"jehanzeb6",
                  "lastName":"riaz",
                  "extension":"1006"
               },
               { 
                  "firstName":"jehanzeb7",
                  "lastName":"riaz",
                  "extension":"1007"
               }
            ]
         }
      ]
      


      users


      List of login agents

      Get Team User

      Attribute

      Value

      Description

      Sample Output

      type

      Agents



      JavaScript
      [ 
         { 
            "type":"Agents",
            "users":[ 
               { 
                  "firstName":"jehanzeb6",
                  "lastName":"riaz",
                  "extension":"1006"
               },
               { 
                  "firstName":"jehanzeb7",
                  "lastName":"riaz",
                  "extension":"1007"
               }
            ]
         }
      ]
      


      users


      List of team user

      Phonebooks

      Attribute

      Value

      Description

      Sample Output (JSON)

      Sample Output (Default)

      type

      object

      List of phonebooks


      JavaScript
      [
         {
            "type":"Phonebooks",
            "phonebooks":[
               {
                  "name":<name>,
                  "id":<phonebookId>
               },
               {
                  "name":BookName2,
                  "id":PhonebookId2
               }
            ]
         }
      ]
      



      [Phonebooks#<BookName1>=<id1>|<BookName2>=<id2>...]
      


      Contacts

      Attribute

      Value

      Description

      Sample Output (JSON)

      Sample Output (Default)

      type

      object

      List of contacts


      JavaScript
      [
         {
            "type":"PhonebookContacts",
            "phonebookId":"<PhonebookID>",
            "contacts":[
               {
                  "firstName":<fname>,
                  "lastName":<lname>,
                  "phoneNumber":<number>,
                  "contactId":<contactId>
               },
            ]
         }
      ]
      



      [PhonebookContacts#PhonebookId#name=<firstAndLastName>,phoneNumber=<phoneNumber>,contactId=<contactId>|name=<firstAndLastName>,phoneNumber=<phoneNumber>,contactId=<contactId>...]
      


      GC Output Messages


      Output Message Name

      JMS Type

      Message

      Category

      Comments

      O-001

      Send Agent State

      Nil

      <agent_login_Id>#State#<agent_current_state>#<agent_full_name>(old format)
      <agent_login_Id>#State#<agent_current_state>#<reasonCodeId>#<agent_full_name>(New format)

      agent_state


      O-002

      Errorindicationmessage

      Nil

      <agent_login_Id>#Error#<Error_Message>

      agent_error

      Details of errors can be found here

      O-003

      Printmessage in agent windowas sent

      Nil

      <agent_login_Id>#Control#PrintStatusBar#<Message_To_Agent>

      agent_control


      O-004

      System In Service

      Nil

      System#IN_SERVICE

      system


      O-005

      System Out of Service

      Nil

      System#OUT_OF_SERVICE

      system


      O-006

      Indication that an agent is logged out - use O-001

      Nil

      <agent_login_Id>#LOGOUT

      agent_state


      O-007

      Agent not found

      Nil

      <agent_login_Id>#State#RE_LOGIN

      agent_state

      a) Indication that an agent is not found in EF Generic Connector.
      b) It also indicates that the GC didn't have agent extension in agent structure while checking agent subscription status. GC therefore requests client to RE_LOGIN. This situation may occur when an abnornal failover happens from one GC to the other.

      The client should attempt to re-login the agent by sending following requests to GC.
      i) I-021, (ii) I-001

      O-008

      Inbound Call State

      Nil

      <agent_login_Id>#InboundCall#<Inboundcall_current_state>#DialogID:<dialog_ID>#<agent_full_name> (Old Format)
      <agent_login_Id>#InboundCall#<Inboundcall_current_state>#DialogID:<dialog_ID>#<fromAddress>#<CallVariables>#<call_start_time>#<agent_full_name> (New Format)
      <agent_login_Id>#InboundCall#FAILED#DialogID:<dialog_ID>#<Failure_Cause>#<agent_full_name> (In case of Call Failed)

      agent_call

      “#DialogID:<dialog_ID>” is only sent in case of (Failed,Dropped,Deleted,Hold.Held,Wrap_up) <Inboundcall_current_state> will be equal “DROP” in case of (Failed,Dropped,Deleted)
      "<CallVariables>" Format: <callvariable1>=value|<callvariable2>=value|<callvariable3>=value|.........
      "<call_start_time>": Shows the agent start time in call , Format: "yyyy-MM-dd HH:mm:ss"

      O-009

      New Inbound Call

      Nil

      <agent_login_Id>#NewInboundCall#<from_address>#<ani>,<callvariable1,callvariable2,..>#DialogID:<dialog_ID> (Old Format)
      <agent_login_Id>#NewInboundCall#<from_address>#<ani>|<callvariable1>=value|<callvariable2>=value|<callvariable3>=value|..>#DialogID:<dialog_ID>(New format)

      agent_call


      O-010

      Indication of a consult call state4

      Nil

      <agent_login_Id>#ConsultCall#<ConsultCall_current_state>#AssDialogID:<associated_dialog_ID> (Old Format)
      <agent_login_Id>#ConsultCall#<ConsultCall_current_state>#AssDialogID:<associated_dialog_ID>#<fromAddress>#<Call_Variable>#<call_start_time>#<agent_full_name> (New Format)
      <agent_login_Id>#ConsultCall#FAILED#AssDialogID:<associated_dialog_ID>#<Failure_Cause>#<Agent_Name> (In case of Call Failure)

      agent_call

      <ConsultCall_current_state> will be equal “DROP”in case of (Failed,Dropped,Deleted)
      "<call_start_time>": Shows the agent start time in call , Format: "yyyy-MM-dd HH:mm:ss"

      O-011

      Agent info upon login

      Nil

      <agent_login_Id>#AgentInfo#<agent_first_name>#<agent_last_name>#<Is_Supervisor>#<wrap_up_mode>#<agent_full_name>

      agent_info

      allowed values for wrap_up mode are:
      - OPTIONAL
      - REQUIRED
      - NOT_ALLOWED
      - REQUIRED_WITH_ WRAP_UP_DATA

      O-012

      Supervisor Team Info

      Nil

      <agent_supervisor_login_Id>#TeamInfoIDs#TeamID#<agent_team_ID_1>,<agent_team_ID_2>,… #<agent_full_name>

      supervisor_info


      O-013

      Supervisor Team Info

      Nil

      <agent_supervisor_login_Id>#TeamInfoNames#TeamName#<agent_team_name_1>,<agent_team_name_2>,… #<agent_full_name>

      supervisor_info


      O-014

      Get DialogState Reply

      Nil

      <agent_login_Id>#DialogState#<dialog_state>#<dialog_ID>#<agent_full_name>#<fromAddress>#<Call-Variables>#<associated_dialog_ID>#AssDialogState#<fromAddress>#<Call-Variables>

      agent_dialog


      O-015

      Get Dialog State Controls Reply

      Nil

      <agent_login_Id>#<dialog_type>#DialogState#<dialog_state>#<dialog_ID>#<agent_full_name>

      agent_dialog


      O-016

      Reason Codes

      Nil

      <agent_login_Id>#ReasonCodes#Category:<category>#Codes:<code_1>,<code_2>,… #Labels:<label_1>,<label_2>,…#<agent_full_name>

      agent_work


      O-017

      Controls5

      Nil

      <agent_login_Id>#Control#<control_1_index>,<control_1_visibleFlag>|<control_2_index>, <control_2_visibleFlag>|…

      agent_control


      O-018

      Get Agent State without Agent Controls Reply - Depreciated

      Nil

      <agent_login_Id>#DialogState#<dialog_state>#<dialog_ID>#<agent_full_name>

      agent_state


      O-019

      Get Queue Info Reply

      Nil

      <agent_supervisor_login_Id>#QueueList#
      QueueName:<queue_1_name>,AgentsNotReady:<queue_1_Number_of_Agents_NotReady>,AgentsReady:<queue_1_Number_of_Agents_Ready>,
      AgentsTalkingInbound:<queue_1_number_of_agents_talking_inbound>,AgentsTalkingInternal:<queue_1_number_of_agents_talking_internal>,
      AgentsTalkingOutbound:<queue_1_number_of_agents_talking_outbound>,AgentsWrapUpNotReady:<queue_1_number_of_agents_in_wrapup_notready>,
      AgentsWrapUpReady:<queue_1_number_of_agents_in_wrapup_ready>,CallsInQueue:<queue_1_Number_of_CallsInQueue>,
      StartTimeOfLongestCallInQueue:<queue_1_startTimeOfLongestCallInQueue>#...#
      QueueName:<queue_n_name>,AgentsNotReady:<queue_n_Number_of_Agents_NotReady>,AgentsReady:<queue_n_Number_of_Agents_Ready>,
      AgentsTalkingInbound:<queue_n_number_of_agents_talking_inbound>,AgentsTalkingInternal:<queue_n_number_of_agents_talking_internal>,
      AgentsTalkingOutbound:<queue_n_number_of_agents_talking_outbound>,AgentsWrapUpNotReady:<queue_n_number_of_agents_in_wrapup_notready>,
      AgentsWrapUpReady:<queue_n_number_of_agents_in_wrapup_ready>,CallsInQueue:<queue_n_Number_of_CallsInQueue>,
      StartTimeOfLongestCallInQueue:<queue_n_startTimeOfLongestCallInQueue>

      supervisor_queue_info

      O-020

      Get Team Users Reply (Supervisor Function)

      Nil

      <agent_supervisor_login_Id>#TeamUsersList#FirstName:<user_1_firstName>,LastName:<user_1_lastName>,Extension:<user_1_extension>,
      LoginID:<user_1_loginID>,State:<user_1_state>,PendingState:<user_1_pendingState>,MediaType:<user_1_mediaType>,StateChangeTime:<user_1_stateChangeTime>#
      FirstName:<user_2_firstName>,LastName:<user_2_lastName>,Extension:<user_2_extension>,LoginID:<user_2_loginID>,State:<user_2_state>,
      PendingState:<user_2_pendingState>,MediaType:<user_2_mediaType>,StateChangeTime:<user_2_stateChangeTime>#
      FirstName:<user_n_firstName>,LastName:<user_n_lastName>,Extension:<user_n_extension>,LoginID:<user_n_loginID>,State:<user_n_state>,
      PendingState:<user_n_pendingState>,MediaType:<user_n_mediaType>,StateChangeTime:<user_n_stateChangeTime>

      supervisor_team


      O-021

      Team Member State Changed
      (Supervisor Function)

      Nil

      <agent_supervisor_login_Id>#TeamMemberStateChanged#<teamID>#<agent_state>

      supervisor_team_member_state

      O-022

      Conference Participants
      (Supervisor Function)

      Nil

      <agent_supervisor_login_Id>#ConferenceParticipants#<extension_1>,<extension_2>,…

      supervisor_dialog

      O-023

      Reconnect Agent - Depreciated

      {Request_JMS_Type}

      <agent_login_id>#RECONNECT#{Request_message_text}

      agent_state

      If generic connector receives request from driver for the agent that doesn't exist in GC side, Reconnect request would be sent to driver.  Alongwith this Reconnect request, data of previous command will also be sent to execute after successfull enrollment of agent. Upon receiving this reconnect request, Driver will send 'Connect' and 'GetState' request to GC to register agent. After this, Driver will send actual command (that was returned with Reconnect request) to execute.

      O-024

      Dialog IDs on Failover 


      <agent_login_id>#DialogStatus#DialogID#DialogState#AssDialogID#AssDialogState
      <agent_login_id>#DialogStatus#<dialog_ID>#DialogState#<fromAddress>#<Call-Variables>#<associated_dialog_ID>#AssDialogState#<fromAddress>#<Call-Variables>

      agent_state

      In the case of failover GC sends the Dialog ID and Associated Dialog ID, with states and call type in JMS type

      O-025

      AgentState on Connector Sync

      Nil

      AgentState#<Agent_Id>#<Agent_Password>#<Agent_Extension>#<SubscriptionTime>

      connector_sync

      On topic "ConnectorSync", the message is sent from one GC to the other.

      O-026

      Reconnect Destination

      Nil

      DESTINATION#<Destination_Name>#RECONNECT

      agent_state

      This new type is now for Destination events
      System events have "SYSTEM" as the first keyword to identify the event
      Agent events (which currently include call events also) are identified by <Agent_ID>

      Destination events will now be identified by "DESTINATION". There wasn't any destination event in the system before
      <Destination_Name> refers to the destination which is created. 

      O-027

      System Not Reachable

      Nil

      System#NOT_REACHABLE

      system


      O-028

      New Outbound Call

      Nil

      <agent_login_Id>#NewOutboundCall#<from_address>#ani=<ani>|<callvariable1>=value|<callvariable2>=value|<callvariable3>=value|..>#DialogID:<dialog_ID>

      agent_call

      BA Call variables List (Passed as it is to the GC Client)
      -BACampaign
      -BAStatus
      -BAResponse
      -BAAccountNumber
      -BADialedListID
      -BACampaignID
      -BACustomerNumber
      -BATimeZone
      -BABuddyName
      GC Receives two packets from finesse when an outbound call is dialed. GC blocks first packet, as it has some missing information like dialled number, outbound call variables and call type of this packet is OTHER_IN. The second packet contains all the required infromation, hence GC generates NewOutboundCall event for the client.

      O-29

      Get Phonebooks (Administrator Function)

      Nil

      Phonebooks#name:<phonebook_1_name>,type:<phonebook_1_type>,id:<phonebook_1_id>
      #name:<phonebook_2_name>,type:<phonebook_2_type>,id:<phonebook_2_id> #.......
      #name:<phonebook_n_name>,type:<phonebook_n_type>,id:<phonebook_n_id>



      O-30

      Get Team Phonebooks (Administrator Function)

      Nil

      TeamPhoneBooks#name:<phonebook_1_name>,type:<phonebook_1_type>,id:<phonebook_1_id>
      #name:<phonebook_2_name>,type:<phonebook_2_type>,id:<phonebook_2_id>#.......
      #name:<phonebook_n_name>,type:<phonebook_n_type>,id:<phonebook_n_id>



      O-31

      Get PhoneBook Contacts

      (Administrator Function)

      Nil

      PhonebookContacts#description:<contact_1_description>,firstName:<contact_1_firstName>,lastName:<contact_1_lastName>,phoneNumber:<contact_1_phoneNumber>,id:<contact_1_id>
      #description:<contact_2_description>,firstName:<contact_2_firstName>,lastName:<contact_2_lastName>,phoneNumber:<contact_2_phoneNumber>,id:<contact_2_id>#.......
      #description:<contact_n_description>,firstName:<contact_n_firstName>,lastName:<contact_n_lastName>,phoneNumber:<contact_n_phoneNumber>,id:<contact_n_id>




      Errors

      Error_Code

      Error_Origin

      Error Description

      Expected Driver Behaviour


      CF_INVALID_CALLED_DEVICE

      Finesse

      The called device is not valid

      display the error message and continue regular operations


      CF_INVALID_CALLING_DEVICE

      Finesse

      The calling device is not valid

      display the error message and continue regular operations


      CF_INVALID_CONNECTION_ID_FOR_ACTIVE_CALL

      Finesse

      The active connection ID in the request is invalid

      display the error message and continue regular operations


      CF_INVALID_CONSULT_TYPE

      Finesse

      The consult type is invalid

      display the error message and continue regular operations


      CF_AGENT_ACCOUNT_LOCKED_OUT

      Finesse

      The account is locked out

      display the error message and continue regular operations


      CF_INVALID_CSTA_DEVICE_IDENTIFIER

      Finesse

      The device ID is not valid.

      display the error message and ask user to enter valid Extension


      CF_RESOURCE_BUSY

      Finesse

      An internal resource is busy



      CF_INVALID_LOGON_DEVICE_SPECIFIED

      Finesse

      The request specified an invalid logon device.

      display the error message and ask user to enter valid Extension


      CF_GENERIC_UNSPECIFIED_REJECTION

      Finesse

      The request has been rejected (no specific details available).



      CF_INVALID_OBJECT_STATE

      Finesse

      The object is in the incorrect state for the request.



      CF_INVALID_PASSWORD_SPECIFIED

      Finesse

      The request specified an invalid agent password.

      Prompt user to supply a valid password


      CF_GENERIC_SYSTEM_RESOURCE_AVAILABILITY

      Finesse



      The request failed due to lack of system resources (no specific details available)

      Ref:

      http://www.cisco.com/en/US/docs/voice_ip_comm/cust_contact/contact_center/crs/express_10_0/programming/guide/UCCX_BK_C239BA3D_00_cti-protocol-developer-guide_chapter_01010.html

      E_CTI_INVALID_CALLID

      Finesse

      A request message was received with an invalid CallID value.



      USER_NOT_FOUND

      Finesse

      When Agent ID isn't found in Finesse

      Display the error message
      Configuration update in Siebel / Finesse is required to match Agent definition (ID/Pwd).
      Driver/client app should show the error message

      GENERAL_ERROR

      Finesse

      when root cause is unclear

      display the error message and continue regular operations


      CF_GENERIC_OPERATION

      Finesse

      An operation error occurred (no specific details available).

      display error message according to the last command sent


      BAD_DESTINATION

      Finesse

      Agent called to an invalid extension

      display the error message and continue regular operations


      DOWN

      GC

      IOException
      When Requester gets no response from Finesse
      GC tries to establish connection with the secondary Finesse

      display the error message and continue regular operations


      LICENSES_EXCEEDED

      GC

      User license limit exceeded 

      display the error message


      MISSING_EXTENSION

      GC

      Missing Extension

      display the error message and ask user to enter extension


      MISSING_NUMBER

      GC

      Number to dial is missing in request

      display the error message and ask user to enter dial number


      MISSING_PASSWORD

      GC

      Password is missing in request

      display the error message and ask user for credentials


      MISSING_REASON_CODE

      GC

      GC/Finesse expects reason-code that wasn't provided by the client

      display the error message and ask user to provide reason code


      NO_DIALOG_ID

      GC

      The requested dialog doesn't exists in GC 

      send getdialogstate request for any active dialogs


      NOT_REACHABLE

      GC

      SocketTimeoutException
      Timeout exception on connecting to Finesse via Requester
      After 2 unsuccessful retries, GC tries to establish connection with secondary Finesse

      display the error message and continue regular operations


      PLEASE_RETRY

      GC

      invalid request params, IOException, request timeout

      display the error message and continue regular operations


      SUBSCRIPTION_FAILED

      GC

      Invalid credentials supplied for agent login

      display the error message and ask user to enter valid credentials


      UNABLE_TO_SUBSCRIBE_TO_FINESSE

      GC

      Invalid credentials supplied for agent login

      display the error message and ask user to enter valid credentials


      WRONG_EXTENSION

      GC

      Extension is not valid (contains alphabetic characters)

      display the error message and ask user to enter valid Extension


      SESSION_INVALIDATED

      GC

      The current session session for login has been invalidate, user has been logged in from a new destination. GC will send a logout message followed by this message

      display the error message and ask user to login again


      Note: Some of the error from finesse are mentioned here. Rest of the Finesse errors can be found in this document on page 17: 

      https://drive.google.com/open?id=0B0txXw8kofb1blBxenFmcHBWcms


      User Messages

      Message

      Description

      Error#LICENSES_EXCEEDED

      License exceeded, please contact system administrator.

      Error#SUBSCRIPTION_FAILED

      Invalid LoginId / Password.

      Error#MISSING_EXTENSION

      Extension is missing.

      Error#MISSING_PASSWORD

      Password not set, please contact system administrator.

      Error#CF_INVALID_LOGON_DEVICE_SPECIFIED

      Incorrect phone extension.

      Error#CF_GENERIC_UNSPECIFIED_REJECTION

      Please reset your phone and try again

      Error#CF_RESOURCE_BUSY

      Phone extension is already in use

      Error#FINESSE_UNAVAILABLE

      System is not available, it will connect automatically once available.

      Error#GENERIC_ERROR

      An error occurred, please try again later.

      Error#PLEASE_RETRY

      An error occurred, please try again later.

      Error#NO_DIALOG_ID

      Invalid operation or call not found.

      State#RE_LOGIN

      Reconnecting, please wait...

      State#LOGOUT

      You are Logged out

      State#LOGGED_IN

      You are Logged in

      State#READY

      Your State: Ready

      State#NOT_READY

      Your State: Not Ready

      State#RESERVED

      Your are Reserved, an inbound call is coming.

      State#TALKING

      You are talking.

      State#WORK

      Wrap up -> Not Ready

      State#WORK_READY

      Wrap up -> Ready

      State#UNKNOWN

      An error occurred, please refresh your browser.

      State#HOLD

      Call is on hold.

      InboundCall#INITIATING

      Call is initiated..

      InboundCall#INITIATED


      InboundCall#ALERTING

      Call is ringing..

      InboundCall#ACTIVE

      Call is active..

      InboundCall#FAILED

      Call has failed..

      InboundCall#DROP

      Call has been released..

      InboundCall#ACCEPTED

      Call is accepted..

      ConsultCall#ACTIVE

      Consult call is active..

      ConsultCall#INITIATING


      ConsultCall#INITIATED


      ConsultCall#ALERTING

      Consult call is ringing..

      ConsultCall#FAILED

      Consult call has failed..

      ConsultCall#DROP

      Consult call has dropped.