Show / Hide Table of Contents

    WebSocket API

    This document holds the technical & environmental details required to enable bespoke applications to use Geomant’s Desktop Connect WebSocket API, providing control and monitoring of Avaya stations and agents. Desktop Connect allows web application developers to monitor & control Avaya stations and extensions over a web socket.

    Creating the WebSocket connection

    To be able to control stations and receive call events, a WebSocket connection needs to be opened towards Desktop Connect Server

    Open connection

    Name Description
    Schema HTTP has its own set of schemas such as http and https. Web socket protocol also has similar schema defined in its URL pattern. e.g. ws:// or wss://
    Host IP address or FQDN of Desktop Connect Host e.g. dc.contoso.com
    Port Port where Desktop Connect server is published
        socket = new WebSocket(schema + host + port + "/dc4crm/ws");
    
        socket.onopen = function (event) {
            //connection open ready for communication
        };
    

    Receive requests

    In order to receive request a subscription is required for the WebSocket onmessage method

        socket.onmessage = function (message) {
            var event = JSON.parse(message.data);
            if (event.error) {
                console.error(event);
            } else {
                //process events received by Desktop Connect Server
                processEvent(event);
            }
        };
    

    Send requests

    USe the web socket to send request to Desktop Connect server, please see the list of valid request in the published methods section

    Name Description
    req Request JSON payload to be sent to the server
    queueId Client ID sent by the server after a succesfull connection
        var sendRequest = function (req, queueId) {
            req.guid = queueId;
            socket.send(JSON.stringify(req));
        };;
    

    Heartbeat

    A heartbeat mechinsm needs to be implemented otherwise Desktop Connect server will close the socket connection and logout agents logged in via the API.

        setTimeout(function () {
            socket.send({ ping: "ping" });
        }, 20000);
    

    Handle heartbeat response from server

        socket.onmessage = function (message) {
            var event = JSON.parse(message.data);
            if (event.pong){
                //part of heartbeat
                return;
            }
        }
    

    Published Methods

    Desktop Connect enables API users to emit call control, agent state change and recording control request.

    Available call control methods

    Name Description
    monitor Start call observation on an Avaya station
    login Start call observation and login an Avaya CM Elite agent
    logout Logout agent and terminate call observation
    setAgentState Change Avaya agent state
    makecall Initiate a call to a specified destination
    drop Terminate a call
    hold Place a call on hold
    unhold Resume call from hold
    answer Answer an alerting call
    doTransfer Initiate a trasnsfer request
    completeTransfer Complete a consultation call with transfer
    completeConference Complete a consultation call with conference

    Available recording control methods

    Name Description
    start Start call recording of the active call for a station
    stop Stop call recording session for the active call on a given station
    pause Pause the call recording session for the active call on a given station
    resume Resume the call recording session for the active call on a given statio
    tag Tag call recording with data - information is stored in the recorders metadatabase

    Call Observe

    To indicate to the system that call events should be raised for a given station send a monitor request with the observable extension.

    Parameter Value Required Description
    request monitor Yes Indicates to the system that a monitor request has to be executed
    system cti Yes Request is sent to the CTI server
    aesindex number No The index of the configured AES server to send the request to, if omitted default AES server is used
    tenant The Tenant Unique Name No The unique tenant name, received when license has been generated
    details User details No User details of the license consumer
    extension Valid station extension Yes Extensions to be used for call control
    password Valid Avaya CM Elite agent extension password No Agent ....
    agentid Valid Avaya CM Elite agent extension No ...
    force Boolean No Force overtake of station if session is already opened
        var req = {
            "request": "monitor",
            "system": "cti",
            "aesindex": "0",
            "tenant": "CUSTOMER_UNIQUE_NAME",
            "details": {
                "organizationId": "UNIQUE_APP_ID",
                "email": "olaf.devo@geomant.com",
                "lastname": "Olaf",
                "firstname": "Devo",
                "username": "odevo"
            },
            "extension": "3352",
            "password": "",
            "agentid": "",
            "force": "true"
        }
        sendRequest(req)
    

    Login Avaya agent

    To login an Avaya CM Elite agent, send a login request, specifying the agent extension, agent password and station extension.

    Parameter Value Required Description
    request login Yes Indicates to the system that a call observation and agent login request has to be executed
    system cti Yes Request is sent to the CTI server
    aesindex number No The index of the configured AES server to send the request to, if omitted default AES server is used
    tenant The Tenant Unique Name No The unique tenant name, received when license has been generated
    details User details No User details of the license consumer
    extension Valid station extension Yes Extensions to be used for call control
    password Valid Avaya CM Elite agent extension password No Agent Avaya password used for login
    agentid Valid Avaya CM Elite agent extension No Agent identifier extension as administered in Avaya CM
    force Boolean No Force overtake of station if session is already opened
        var req = {}
        req.request = "login";
        req.system = "cti";
        req.aesindex = 0;
        req.tenant = "CUSTOMER_UNIQUE_NAME";
        req.details = JSON.stringify({
            "organizationId": "UNIQUE_APP_ID",
            "email": "olaf.devo@geomant.com",
            "lastname": "Olaf",
            "firstname": "Devo",
            "username": "odevo"
        });
        req.extension = "40001";
        req.password = "1111";
        req.agentid = "335267";
        req.force = "true";
        sendRequest(req);
    

    Logout Agent

    Request logout of agent form a phone extension

    Parameter Value Required Description
    request logout Yes Indicates to the system that a monitor request has to be executed
    system cti Yes Request is sent to the CTI server
    ext Valid station extension Yes Extensions where the agent in logged in
    agent Valid Avaya CM Elite agent extension Yes Agent identified that is to be logged out
        var req = {
            ext: "40001",
            agent: "335267",
            request: "logout",
            system: "cti"
        }
        sendRequest(req);
    

    Change Avaya Agent State

    Request an agent workmode state change

    Parameter Value Required Description
    request setAgentState Yes Indicates to the system that agent state change needs to be performed
    system cti Yes Request is sent to the CTI server
    extension Valid station extension Yes Extensions to be used for call control
    agentid Valid Avaya CM Elite agent extension No ...
    mode 0/1/2 No 0 = Default, 1 = Auto available, 2 = Go to Wrapup after each call
    state Digit No Break = 3 ( also specify reasoncode), Ready state = 4 (also specify mode), Wrapup = 5
    reasoncode Number between 0 - 99 No Not ready reason code, that is sent to the Avaya switch, depending on the setup it's either a single or double digit code
        var req = {
            mode: 2,
            state: 4,
            reasoncode: 0,
            extension: "40001",
            agentid: "335267",
            request: "setAgentState",
            system: "cti"
        };
        sendRequest(req);
    

    Make Call

    Request a new call to be initiated by the server.

    NOTE: If there is already an active call on the users station, the call needs to be placed on hold before the make call action can be succesfully undertaken

    Parameter Value Required Description
    request makecall Yes Indicates to the system to initate a new call
    system cti Yes Request is sent to the CTI server
    extension Valid station extension No Extensions from where the call is initiated, it defaults to the
    destination Destination to be called No The number to be dialed, with switch dialing rules applied
    uui String Yes 96 character length user to user data that will be passed along with the call, when used with the Data Store API the ID of the data record needs to be added into this field
        var request = {
            uui: "96",
            request: "makecall",
            system: "cti",
            extension: "40001",
            destination: "900441789387900"
        };
        sendRequest(request);
    

    Terminate Call

    Request termination of an active call

    Parameter Value Required Description
    request drop Yes Indicates to the system to terminate a call
    system cti Yes Request is sent to the CTI server
    extension Valid station extension No Users extension that for which the request is raised
    ucid 20 decimal digit Yes Universal Call Identfier of the active call that should be terminated
        var request = {
            request: "drop",
            system: "cti",
            extension: "40001",
            ucid: "00001002161192633166"
        };
        sendRequest(request);
    

    Hold Call

    Request active call to be placed on hold

    Parameter Value Required Description
    request hold Yes Indicates to the system to place an active call on hold
    system cti Yes Request is sent to the CTI server
    extension Valid station extension No Users extension that for which the request is raised
    ucid 20 decimal digit Yes Universal Call Identfier of the active call that should be held
        var request = {
            request: "hold",
            system: "cti",
            extension: "40001",
            ucid: "00001002161192633166"
        };
        sendRequest(request);
    

    Resume Call

    Request held call to be placed resumed

    Parameter Value Required Description
    request unhold Yes Indicates to the system to resume a call on hold
    system cti Yes Request is sent to the CTI server
    extension Valid station extension No Users extension that for which the request is raised
    ucid 20 decimal digit Yes Universal Call Identfier of the active call that should be resumed
        var request = {
            request: "unhold",
            system: "cti",
            extension: "40001",
            ucid: "00001002161192633166"
        };
        sendRequest(request);
    

    Answer Call

    Request to answer a call that is ringing.

    NOTE: If there is already an active call on the users station, the call needs to be placed on hold before the answer call action can be succesfully undertaken

    Parameter Value Required Description
    request answer Yes Indicates to the system to answer a call
    system cti Yes Request is sent to the CTI server
    extension Valid station extension No Users extension that for which the request is raised
    ucid 20 decimal digit Yes Universal Call Identfier of the ringing call that should be answered
        var req = {
            extension: "40001",
            request: "answer",
            system: "cti",
            ucid: ucid
        };
        sendRequest(req);
    

    Initiate Transfer

    Request system to peform a single step transfer for the current active call.

    Parameter Value Required Description
    request doTransfer Yes Indicates to the system to initate a new call to the destination and tranfer the current active call
    system cti Yes Request is sent to the CTI server
    extension Valid station extension No Extensions from where the call is initiated, it defaults to the
    destination Destination to be called No The number to be dialed, with switch dialing rules applied
    uui String Yes 96 character length user to user data that will be passed along with the call, when used with the Data Store API the ID of the data record needs to be added into this field
        var request = {
            request: "doTransfer",
            system: "cti",
            destination: "33546",
            uui: "gds_000001233099923123",
            extension: "40001"
        };
        sendRequest(request);
    

    Complete Transfer

    Request system to perform a transfer between two active calls

    Parameter Value Required Description
    request completeTransfer Yes Indicates to the system to performe a tranfer from the held call to the active call
    system cti Yes Request is sent to the CTI server
    extension Valid station extension No Extensions from where the call is initiated, it defaults to the
    ucid1 20 decimal digit Yes Universal Call Identfier of the call that should be transferred - this call is on hold
    ucid2 20 decimal digit Yes Universal Call Identfier of the call where the transfered needs to be made - this call is connected
        var request = {
            request: "completeTransfer",
            system: "cti",
            ucid1: "00001002161192633166",
            ucid2: "00001002161192633921",
            extension: "40001"
        };
        sendRequest(request);
    

    Complete Conference

    Request system to perform a conference between two active calls

    Parameter Value Required Description
    request completeConference Yes Indicates to the system to perform a conference between the held call and the active call
    system cti Yes Request is sent to the CTI server
    extension Valid station extension No Extensions from where the call is initiated, it defaults to the
    ucid1 20 decimal digit Yes Universal Call Identfier of the first call participant - this call is on hold
    ucid2 20 decimal digit Yes Universal Call Identfier of the second call participant - this call is connected
        var request = {
            request: "completeConference",
            system: "cti",
            ucid1: "00001002161192633923",
            ucid2: "00001002161192633929",
            extension: "40001"
        };
        sendRequest(request);
    

    Send DTMF Tone

    Request system to send DTMF tone over the PSTN

    Parameter Value Required Description
    request sendDTMF Yes Indicates to the system to send dial pad digits
    system cti Yes Request is sent to the CTI server
    extension Valid station extension No Extensions from where the call is initiated, it defaults to the
    dtmf dialpad digit Yes Digit between 0-9 or *,# sign
        var request = {
            request: "sendDTMF",
            system: "cti",
            extension: "40001",
            dtmf: "9"
        };
        sendRequest(request);
    

    Start Recording

    Request Avaya Call Recorder or Verint call recorder to start recording the active call on the users station

    Parameter Value Required Description
    request start Yes Indicates to the system to start recording
    system acr Yes Request is sent to the recording server ACR/Verint
    station Valid station extension No Extensions from where the call is initiated, it defaults to the
    tags name/value pair No Upto seven name-value pair items that will be saved in the recording system, the name used needs to exists in the recorder custom metadata definition
        var request = {
            station: "40001",
            request: "start",
            tags: tags,
            system: "acr"
        };
        sendRequest(request);
    

    Stop Recording

    Request Avaya Call Recorder or Verint call recorder to stop recording the active call on the users station

    Parameter Value Required Description
    request stop Yes Indicates to the system to stop recording
    system acr Yes Request is sent to the recording server ACR/Verint
    station Valid station extension No Extensions from where the call is initiated, it defaults to the
    tags name/value pair No Upto seven name-value pair items that will be saved in the recording system, the name used needs to exists in the recorder custom metadata definition
    inum Idenitifer Yes Unique recording identifier
        var request = {
            station: "40001",
            request: "stop",
            tags: tags,
            inum: "802721007000001",
            system: "acr"
        };
        sendRequest(request);
    

    Pause Recording

    Request Avaya Call Recorder or Verint call recorder to pause recording the active call on the users station

    Parameter Value Required Description
    request pause Yes Indicates to the system to pause recording
    system acr Yes Request is sent to the recording server ACR/Verint
    station Valid station extension No Extensions from where the call is initiated, it defaults to the
    inum Idenitifer Yes Unique recording identifier
        var request = {
            station: "40001",
            request: "pause",
            system: "acr",
            inum: "802721007000001"
        };
        sendRequest(request);
    

    Resume Recording

    Request Avaya Call Recorder or Verint call recorder to resume recording the active call on the users station

    Parameter Value Required Description
    request resume Yes Indicates to the system to resume recording
    system acr Yes Request is sent to the recording server ACR/Verint
    station Valid station extension No Extensions from where the call is initiated, it defaults to the
    inum Idenitifer Yes Unique recording identifier
        var request = {
            station: "40001",
            request: "resume",
            inum: "802721007000001",
            system: "acr"
        };
        sendRequest(request);
    

    Tag Recording

    Request Avaya Call Recorder or Verint call recorder to save additional information associated with the recording in the metadatabase

    Parameter Value Required Description
    request tag Yes Indicates to the system to stop recording
    system acr Yes Request is sent to the recording server ACR/Verint
    station Valid station extension No Extensions from where the call is initiated, it defaults to the
    tags name/value pair No Upto seven name-value pair items that will be saved in the recording system, the name used needs to exists in the recorder custom metadata definition
    inum Idenitifer Yes Unique recording identifier
        var request = {
            station: "40001",
            request: "tag",
            tags: tags,
            inum: "802721007000001",
            system: "acr"
        };
        sendRequest(request);
    

    Published Events

    Desktop Connect allows applications to open up multiple WebSocket connection from a given browser, all of these connection will be receiving unique identifiers.

    Desktop Connect sends the following events on call & recording observed stations

        function processEvent(ev) {
            if (ev.active == "true") {
                //active sessoin 
            } else if (ev.active == "false") {
                //this session has been placed in the background,
            }
            if (ev.system && ev.system === "acr") {
                //recording events
                switch (ev.event) {
                case "started":
                    onStarted(ev);
                    break;
                case "stopped":
                    onStopped(ev);
                    break;
                case "resumed":
                    onResumed(ev);
                    break;
                case "paused":
                    onPaused(ev);
                    break;
                case "tagged":
                    onTagged(ev);
                    break;
                }
                return;
            }
            var callData = parseCallData(ev.data);
            switch (ev.event) {
                case "queuestarted":
                    handleQueueStarted(ev);
                    break;
                case "sessionend":
                    onSessionEnded(ev.takenBy);
                    break;
                case "LOGIN_RESP":
                    handleLoginResp(ev);
                    break;
                case "MONITOR_RESP":
                    handleLoginResp(ev);
                    break;
                case "statechange":
                    handleStateChange(ev);
                    break;
                case "oncallincoming":
                    onCallIncoming(callData);
                    break;
                case "oncalldropped":
                    onCallDropped(callData);
                    break;
                case "oncallinitiated":
                    onCallInitiated(callData);
                    break;
                case "onoutboundcallringing":
                    onOutboundCallRinging(callData);
                    break;
                case "oncallconnected":
                    onCallConnected(callData);
                    break;
                case "oncallheld":
                    onCallHeld(callData);
                    break;
                case "oncallresume":
                    onCallResumed(callData);
                    break;
                case "callfailed":
                    onCallFailed(callData);
                    break;
                case "oncallconferenced":
                    onCallConferenced(callData);
                    break;
                case "oncalltransfer":
                    onCallTransfer(callData);
                    break;
            }
        }
    

    Call events

    Event Event Data CTI Data Description
    queuestarted Yes No Event tunneling has started, session is open for communication, for existing sessions with the same connection paramters synchronization is provided.
    sessionend Yes No Desktop Connect session has been terminated, taken over by a different user
    LOGIN_RESP Yes No Provides notification that call observation and agent login request was successfull
    MONITOR_RESP Yes No Provides notification that call observation request was successfull.
    statechange Yes No Provides notification on state update, notification
    oncallincoming No ... Call is alerting at the observed station
    oncalldropped No ... Call has been terminated
    oncallinitiated No ... Call was initiated successfully, reached public network
    onoutboundcallringing No ... Initiated call reached the far end, and is ringing
    oncallconnected No ... Call is connected
    oncallheld No ... Call is in hold state
    oncallresume No ... Call has been retreieved from hold state
    callfailed No ... Failed to make a call
    oncalltransfer No ... Call is transfered
    oncallconferenced No ... Call is in confeerence

    queuestarted

    Event tunneling has started, session is open for communication, for existing sessions with the same connection paramters synchronization is provided.

    Data Optional Description
    clientid No Session identifier
    buzzeasy No True if Buzzesy license is enabled for the user
    wallboard No True if Buzzesy license is enabled for the user
    version No Server WebSocket API version
    ctistate No State of the user
    NONE - No user logged in
    MONITOR_ONLY - Call observation started
    BUSY - User is on call
    ACW - Agent is in wrapup
    AUX - Agent is on break
    MANUAL_IN - Agent is available, will transition to wrapup after every ACD call
    AUTO_IN - Agent is available for calls
    reasoncode Yes Current break reason code of the agent if any
    agentid Yes Agent identifier associated witlogged in sessions
    station Yes User phone extension
    acrstate Yes Call recording state
    acrinum Yes Call recording unique identifier
    acrtype Yes Call recorder type (acr/verint)
        function handleQueueStarted(ev) {
            if (ev.version !== version) {
                console.error("BAD_VERSION");
            }
            store.dispatch({
                type: "QUEUE_STARTED",
                payload: {
                    queueId: ev.clientid
                }
            });
        }
    

    sessionend

    Desktop Connect session has been terminated, taken over by a different user.

    LOGIN_RESP

    Provides notification that call observation and agent login request was successfull

    Data Optional Description
    acr No Call recording enabled
    extension No Users Avaya phone extension
    agentid No Users Avaya CM Elite agent extension
    acrVersion No version of the call recorder can be one of:
    12
    15
    Verint
    wallboard No Is wallboard enabled
    buzzeasy No is call history enabled

    MONITOR_RESP

    Provides notification on state update, notification

    Data Optional Description
    acr No Call recording enabled
    extension No Users Avaya phone extension
    agentid No Users Avaya CM Elite agent extension
    acrVersion No version of the call recorder can be one of:
    12
    15
    Verint
    wallboard No Is wallboard enabled
    buzzeasy No is call history enabled

    statechange

    Provides notification on state update, notification

    Data Optional Description
    workmode No CTI
    state No User state
    NONE - No user logged in
    MONITOR_ONLY - Call observation started
    BUSY - User is on call
    ACW - Agent is in wrapup
    AUX - Agent is on break
    MANUAL_IN - Agent is available, will transition to wrapup after every ACD call
    AUTO_IN - Agent is available for calls
    pending No Indicates if the state change is still pending
    reasoncode Yes Break reason code

    oncallincoming

    Call is alerting at the observed station

    Data Optional Description
    called No Dialed number
    callid No Switch internal call identifier
    callstarted No Timestamp of call start
    delivacd No Extension of the hunt group where the call was delivered
    delivering No Alphanumeric name of the huntgroup
    inbound No Flag, showing the direction of the call
    party[0-9] No List of participants in the call
    ptime[0-9] No Connection timestamp of each participant int the call
    remotenumber No Remote party number undertaking the given action
    servertime No Timestamp of event
    state No State of the call talking
    ucid No Universal Call Identifier
    uui No User to user information, 96 character long string
    data: {
        "delivering":"General Inquiry",
        "callid":"1398",
        "party0":"36704553352",
        "ptime0":"1586550554609",
        "called":"3618863396",
        "inbound":"true",
        "uui":"",
        "servertime":"1586550554609",
        "callstarted":1586550554609,
        "remotenumber":"36704553352",
        "state":"ringing",
        "ucid":"00001013981586550552",
        "delivacd":"330245"}
    active: "true"
    event: "oncallincoming"
    

    oncalldropped

    Call connection is dropped

    Data Optional Description
    called No Dialed number
    callid No Switch internal call identifier
    callstarted No Timestamp of call start
    inbound No Flag, showing the direction of the call
    remotenumber No Remote party number undertaking the given action
    servertime No Timestamp of event
    state No State of the call before being disconnected talking/ringing
    ucid No Universal Call Identifier
    uui No User to user information, 96 character long string
    data: {
        "callid":"1400",
        "remotenumber":"06704553352",
        "called":"06704553352",
        "inbound":"false",
        "uui":"",
        "servertime":"1586551495191",
        "state":"talking",
        "callstarted":1586551476579,
        "ucid":"00001014001586551476"
        }
    active: "true"
    event: "oncalldropped"
    

    oncallinitiated

    Call was initiated successfully, reached public network

    Data Optional Description
    called No Dialed number
    callid No Switch internal call identifier
    callstarted No Timestamp of call start
    inbound No Flag, showing the direction of the call
    remotenumber No Remote party number undertaking the given action
    servertime No Timestamp of event
    state No State of the call initated
    ucid No Universal Call Identifier
    uui No User to user information, 96 character long string
    data: {
        "callid":"1399",
        "remotenumber":"06704553352",
        "called":"06704553352",
        "inbound":"false",
        "servertime":"1586551204174",
        "state":"initiated",
        "callstarted":1586551204174,
        "ucid":"00001013991586551204"}
    active: "true"
    event: "oncallinitiated"
    

    onoutboundcallringing

    Initiated call reached the far end, and is ringing

    Data Optional Description
    called No Dialed number
    callid No Switch internal call identifier
    callstarted No Timestamp of call start
    inbound No Flag, showing the direction of the call
    party[0-9] No List of participants in the call
    ptime[0-9] No Connection timestamp of each participant int the call
    remotenumber No Remote party number undertaking the given action
    servertime No Timestamp of event
    state No State of the call ringing
    ucid No Universal Call Identifier
    uui No User to user information, 96 character long string
    data: {
        "callid":"1399",
        "remotenumber":"06704553352",
        "party0":"Unknown trunk",
        "ptime0":"1586551207241",
        "called":"06704553352",
        "inbound":"false",
        "uui":"",
        "servertime":"1586551207241",
        "state":"ringing",
        "callstarted":1586551204174,
        "ucid":"00001013991586551204"}
    active: "true"
    event: "onoutboundcallringing"
    

    oncallconnected

    Call is connected

    Data Optional Description
    called No Dialed number
    callid No Switch internal call identifier
    callstarted No Timestamp of call start
    delivacd No Extension of the hunt group where the call was delivered
    delivering No Alphanumeric name of the huntgroup
    inbound No Flag, showing the direction of the call
    party[0-9] No List of participants in the call
    ptime[0-9] No Connection timestamp of each participant int the call
    remotenumber No Remote party number undertaking the given action
    servertime No Timestamp of event
    state No State of the call talking
    ucid No Universal Call Identifier
    uui No User to user information, 96 character long string
    data: {
        "delivering":"General Inquiry",
        "callid":"1398",
        "party0":"36704553352",
        "ptime0":"1586550554609",
        "called":"3618863396",
        "inbound":"true",
        "uui":"",
        "servertime":"1586550579585",
        "callstarted":1586550554609,
        "remotenumber":"36704553352",
        "state":"talking",
        "ucid":"00001013981586550552",
        "delivacd":"330245"}
    active: "true"
    event: "oncallconnected"
    

    oncallheld

    Call is in hold state

    Data Optional Description
    called No Dialed number
    callid No Switch internal call identifier
    callstarted No Timestamp of call start
    delivacd No Extension of the hunt group where the call was delivered
    delivering No Alphanumeric name of the huntgroup
    inbound No Flag, showing the direction of the call
    party[0-9] No List of participants in the call
    ptime[0-9] No Connection timestamp of each participant int the call
    remotenumber No Remote party number undertaking the given action
    servertime No Timestamp of event
    state No State of the call held
    ucid No Universal Call Identifier
    uui No User to user information, 96 character long string
    data: {
        "delivering":"General Inquiry",
        "callid":"1398",
        "party0":"36704553352",
        "ptime0":"1586550554609",
        "called":"3618863396",
        "inbound":"true",
        "uui":"",
        "servertime":"1586550691593",
        "callstarted":1586550554609,
        "remotenumber":"36704553352",
        "state":"held",
        "ucid":"00001013981586550552",
        "delivacd":"330245"}
    active: "true"
    event: "oncallheld"
    

    oncallresume

    Call has been retreieved from hold state

    Data Optional Description
    called No Dialed number
    callid No Switch internal call identifier
    callstarted No Timestamp of call start
    delivacd No Extension of the hunt group where the call was delivered
    delivering No Alphanumeric name of the huntgroup
    inbound No Flag, showing the direction of the call
    party[0-9] No List of participants in the call
    ptime[0-9] No Connection timestamp of each participant int the call
    remotenumber No Remote party number undertaking the given action
    servertime No Timestamp of event
    state No State of the call talking
    ucid No Universal Call Identifier
    uui No User to user information, 96 character long string
    data: {
        "delivering":"General Inquiry",
        "callid":"1398",
        "party0":"36704553352",
        "ptime0":"1586550554609",
        "called":"3618863396",
        "inbound":"true",
        "uui":"",
        "servertime":"1586550711191",
        "callstarted":1586550554609,
        "remotenumber":"36704553352",
        "state":"talking",
        "ucid":"00001013981586550552",
        "delivacd":"330245"}
    active: "true"
    event: "oncallresume"
    

    callfailed

    Failed to make a call

    Data Optional Description
    called No Dialed number
    callid No Switch internal call identifier
    callstarted No Timestamp of call start
    inbound No Flag, showing the direction of the call
    remotenumber No Remote party number undertaking the given action
    servertime No Timestamp of event
    state No State of the call held
    ucid No Universal Call Identifier
    data: {
        "callid":"1401",
        "remotenumber":"3",
        "called":"3",
        "inbound":"false",
        "servertime":"1586551651618",
        "state":"failed",
        "callstarted":1586551651517,
        "ucid":"00001014011586551651"}
    active: "true"
    event: "callfailed"
    

    oncallconferenced

    Call is in conferenced

    Data Optional Description
    called No Dialed number
    callid No Switch internal call identifier
    callstarted No Timestamp of call start
    delivacd No Extension of the hunt group where the call was delivered
    delivering No Alphanumeric name of the huntgroup
    inbound No Flag, showing the direction of the call
    party[0-9] No List of participants in the call
    ptime[0-9] No Connection timestamp of each participant int the call
    remotenumber No Remote party number undertaking the given action
    servertime No Timestamp of event
    state No State of the call talking
    ucid No Universal Call Identifier
    uui No User to user information, 96 character long string
    data: {
        "party1":"06704553352",
        "callid":"1399",
        "party0":"334725",
        "ptime0":"1586551210864",
        "called":"06704553352",
        "inbound":"false",
        "ptime1":"1586551210508",
        "uui":"",
        "servertime":"1586551210864",
        "callstarted":1586551204174,
        "remotenumber":"06704553352",
        "state":"talking",
        "ucid":"00001013991586551204"}
    active: "true"
    event: "oncallconferenced"
    

    oncalltransfer

    Call is in transfered

    Data Optional Description
    called No Transfer from station
    calling No Transfer to destination
    parties No Number of devices actively participating in the call
    ucid No Universal Call Identifier
    uui No User to user information, 96 character long string
    data: {
        "called":"330212",
        "calling":"330211",
        "parties":"3",
        "UUI":"geo_00001014091586551778",
        "ucid":"00001014091586551778"}
    active: "true"
    event: "oncalltransfer"
    

    Recorder events

    Event Description
    started Recording started for the observed station
    stopped Recording stoppped for the observed station
    resumed Recording resumed for the observed station and active call
    paused Recording paused for the observed station and active call
    tagged Custom data was written succesfully to the call recoder metadatabase

    started

    Recording started for the observed station

    Data Description
    inum call recroding unique identifier
    type call recorder type
    tags call tags
    recdata recording data details

    stopped

    Recording stoppped for the observed station

    Data Description
    inum call recroding unique identifier
    type call recorder type
    tags call tags

    paused

    Recording paused for the observed station and active call

    Data Description
    inum call recording unique identifier

    resumed

    Recording resumed for the observed station and active call

    Data Description
    inum call recording unique identifier

    tagged

    Custom data was written succesfully to the call recoder metadatabase

    Data Description
    type call recorder type
    tags - call tags
    Sorry, your browser does not support inline SVG. article updatedarticle updated6/23/2020 9:06:55 AM (UTC)6/23/2020 9:06:55 AM (UTC)
    Feedback     Back to top Copyright © Geomant