Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

noprint
Section


Column
width20%

Excerpt Include
Product Webinars
Product Webinars
nopaneltrue


Column
width80%


Tip
iconfalse
titleContents

Table of Contents
maxLevel3
minLevel2

Introduction

This document provides a model for integrating LiveVox with an artificial intelligence speech vendor (AI Vendor). The document is intended for the AI Vendor and their clients.

LiveVox REST APIs 

You can find details about each API that is referenced in this document in the Call Control API, Contact API, and Session API sections of the LiveVox Developer Portal.

Info

Login Logon Credentials

  • Username: prospect
  • Password: Livevox12345^


Info

To begin with, see the LiveVox API Overview and LiveVox API Quick Start Guide sections of the LiveVox Developer Portal.

Virtual Agent Virtual Agent Management and Data Collection

A set of Virtual Agents virtual agents is configured on the LiveVox Portal. A one-to-one ratio of Virtual Agents virtual agents exists for calls handled by the AI Vendor. The client must plan for the appropriate number of Virtual Agents virtual agents to handle their call volume, in addition to determining the maximum number of simultaneous calls for each service that is connected to the AI Vendor.

  1. The AI Vendor must ensure that the Virtual Agents virtual agents are ready on the platform. To do so:
    1. Obtain the Virtual Agent virtual agent session ID.

      Info

      POST https://{{APIHost}}/session/login
      Header: API token provided by LiveVox
      Body example: {"clientName": "Training2", "userName": "AI Vendor1", "password": "xxxx", "agent": "true"}


    2. Add the Virtual Agent virtual agent to the appropriate service.

      Info
      POST https://{{APIHost}}/callControl/agent/service/join?serviceId=XXXXXX&phoneNumber=899XXXXXXX (see below for more info related assigning agent 899#s)
      Header: Session ID from 11a


    3. Set the Virtual Agent to READYvirtual agent to the Ready state.

      Info

      POST https://{{APIHost}}/callControl/agent/status/ready
      Header: Session ID from 1a


      Note
      • The LiveVox session ID expires after two hours of inactivity. If a Virtual Agent virtual agent does not change the state (that is, receive a call), the session ID expires. Therefore, the client must move Virtual Agents virtual agents in the Ready state to the Not Ready state , and then back to the Ready state, every hour.
      • Virtual Agents agents must be logged on only during the defined open hours of the LiveVox call center. If they are expected to receive calls outside the open hours, additional planning related to routing and other factors, such as maintenance windows, must be considered. Virtual Agent agent support during closed hours must be addressed as part of phase 2+.


  2. When a call is routed to the Virtual Agent virtual agent through the LiveVox standard routing services, LiveVox conferences the AI Vendor using a unique 899 number for the agent. This unique number passes as part of the invite. This allows the AI Vendor to identify the calls associated with each agent. 

    An example is as follows.

    LiveVox Virtual AgentINVITE
    Virtual_Agent_1INVITE sip:+18990000001@XX.XXX.XX.XX:5070 SIP/2.0^M
    Virtual_Agent_2INVITE sip:+18990000002@XX.XXX.XX.XX:5070 SIP/2.0^M
    Virtual_Agent_3INVITE sip:+18990000003@XX.XXX.XX.XX:5070 SIP/2.0^M


  3. To obtain additional data associated with the call, the AI Vendor can access the screen pop data that is typically presented to a Human Agenthuman agent. The data can include the customer account number, customer phone number, customer address, and so on. Screen pop data is configured through the LiveVox Portal of the client.

    Info

    To obtain the screen pop data for the call:

    https://{{APIHost}}/callControl/agent/screenpop
    Header: Session ID from 1a


  4.  If  If the AI Vendor collects additional data that must be associated with a contact, use the LiveVox Update Contact API.

    Info
    PUT https://{{APIHost}}/contact/contacts/{account}
    Header: Session ID from 1a
    Body: See the LiveVox Developer Portal for details and work with the client to determine which fields in Contact Manager must be updated
    Note
    • The additional data must be one that is stored for a long time and associated with the contact.
    • This step is not intended for data specific to calls that appear on the Human Agent screens and change for subsequent calls (for example, the reason for calling, consumer disconnecting from the Virtual Agent). Such data must use the LiveVox AI Integration App. For more information, see the next step.

    If the AI Vendor collects data specific to calls that appear on the Human Agent screens, use the LiveVox AI Integration App (AIA) API.

    Note
  5. Update the AIA.
  6. The URL is specific to a client and is provided as part of the client's project.
  7. A separate specification document is provided for the method, headers, parameters, and body of the AIA.
  8. The data fields include:
  9. transactionId
  10. sessionId
  11. ani
  12. accountNumber
  13. nextAction
  14. callOutcome
  15. lvresult
  16. Other1
  17. Other20


  18. If the client wants to route non-LiveVox validated consumers to the AI Vendor, the AI Vendor can collect data and update the contact through the Update Contact API or create a contact through the Create Contact API.

    Info

    To update the contact:

    PUT https://{{APIHost}}/contact/contacts/{account}
    Header: Session ID from 1a
    Body: See the LiveVox Developer Portal for options to update


  19. When the

    AI Vendor

    bot completes a call with the customer, and if the call

    must

    need not be routed to a

    Human Agent, the following two ways exist to complete this step: 

    human agent, the AI Vendor must set the term code for the call and move the virtual agent back to the Ready state. If a transfer to a human agent is required, the AI Vendor must transfer the call to a human agent using the LiveVox Phonebook feature, set a term code for the call, and move the virtual agent back to the Ready state.

    1. To set a term code for the call and move the virtual agent back to the Ready state, the AI Vendor must set a specific term code for the call. To complete this step, use the following APIs

    1. If the client requires two separate recordings—one for the Virtual Agent and one for the Human Agent—the AI Vendor assigns a specific Term Code to complete the call. The Term Code is configured through the LiveVox Portal of the client

      .

      Info

      To obtain the TransID, SessionID, and SessionID ServiceID for the call:

      POST https://{{APIHost}}/callControl/agent/status
      Header: Session ID from 1a
      Body example: {"stateChangedAfter": "1573809480000"}


      Info

      To obtain the list of term codes available for the call:

      GET https://{{APIHost}}/callControl/agent/termCode?serviceId={serviceId}Header: Session ID from 1a


      Info

      To assign the agent term code:

      PUT https://{{APIHost}}/callControl/agent/call/termCode
      Header: Session ID from 1a
      Body example: {"callTransactionId": "108821676850", "callSessionId": "U5EF8FT5DFC07F9@10.101.21.216", "termCodeId": "101416228", "phoneDialed":"2134634007", "moveAgentToNotReady": "false"}

      The Virtual Agent is now ready to receive another call.
      If the client requires a single recording that includes the complete recording for both the Virtual Agent and the Human Agent, the AI Vendor initiates a transfer using the LiveVox Phonebook transfer process. The Phonebook is configured through the LiveVox Portal of the client.


    2. To transfer the call to a human agent, set a term code for the call and move the virtual agent back to the Ready state. The AI vendor must use the phonebook transfer process to transfer the call to the appropriate group of human agents and then set a specific term code for the call.
      To complete this step, use the following APIs.

      Info

      To obtain the TransID, SessionID, and Service ID for the call:

      POST https://{{APIHost}}/callControl/agent/status
      Header: Session ID from 1a
      Body example: {"stateChangedAfter": "1573809480000"}


      Info

      To obtain the phonebooks available to the virtual agent:

      GET https://{{APIHost}}/callControl/agent/phonebook/ext?serviceId={serviceId}
      Header: Session ID from 1a


      Info

      To complete the Phonebook Transferphonebook transfer:

      POST https://{{APIHost}}/callControl/agent/conference/phonebook?lineNumber=ACD
      Header: Session ID from 1a
      Body example: {"phoneBookId": "2237", "phoneBookContactId": "24590"}


      Info

      To leave the Phonebook Transferphonebook transfer:

      POST https://{{APIHost}}/callControl/agent/conference/leave
      Header: Session ID from 1a

      The AI Vendor now assigns a specific Term Code to complete the call. The Term Code is configured through the LiveVox Portal of the client.


      Info

      To obtain the TransID and SessionID list of term codes available for the call:

      POST GET https://{{APIHost}}/callControl/agent/status termCode?serviceId={serviceId}
      Header: Session ID from 1a
      Body example: {"stateChangedAfter": "1573809480000"}


      Info

      To assign assign the agent term code:

      PUT https://{{APIHost}}/callControl/agent/call/termCode
      Header: Session ID from 1a
      Body example: {"callTransactionId": "108821676850", "callSessionId": "U5EF8FT5DFC07F9@10.101.21.216", "termCodeId": "101416228", "phoneDialed":"2134634007", "moveAgentToNotReady": "false"}


Customer Portal Config Requirements

Panel
  1. Create or configure Virtual Agentsvirtual agents.

    Note

    LiveVox is required to configure Virtual Agentsvirtual agents.


  2. Set the Service ACD mode to Agent Call Out.
  3. Set Service Groups for Virtual Agents virtual agents to LONGEST_AVAILABLE_AGENT.
  4. Create term codes to support transfers to Human Agentshuman agents.
  5. Create term codes for Virtual Agents virtual agents to complete calls.
  6. Load contacts into the Contact Manager.
  7. Update call contact flows to validate inbound consumer customer calls against the Contact Manager.
  8. Configure the Virtual Agent Desktop virtual agent desktop with the data required for the Virtual Agent Screen Popupvirtual agent screen popup.
  9. Configure the Agent Phonebook agent phonebook to allow the Virtual Agent virtual agent to transfer calls to a Human Agenthuman agent.

Sample Session Initiation Protocol (SIP) INVITE

Request-Line: INVITE sip:+18990000001@XX18995020989@10.XX201.XX17.XX208:5060 5070 SIP/2.0

Message Header
Record-Route: <sip: XX.XX.XX.XX:5060;r2=on;lr;did=0c.a75cb3e7>
Record-Route: <sip: XX.XX.XX.XX;r2=on;lr;did=0c.a75cb3e7>
Record-Route: <sip: XX.XX.XX.XX:5070;lr;did=0c.9c237b23>

To: sip:+

18990000001@ XX

18995020989@10.

XX

201.

XX

17.

XX

151:5070
Contact:

<sip

<sip:

XX

10.

XX

201.

XX

17.

XX

151:5060;transport=

udp>

udp>
Call-ID:

5e18e8dc

5e5842d2-0000-

7b7397a3

31a50cbf-

f7f2e4ec

5959b2c7-

d3e93b6c@10

a384d582@10.

101

201.

21

17.

27

151
CSeq:

4117825

13096450 INVITE
Content-Length:

177

174
Content-Type: application/sdp
From:

<sip

<sip:+

19192109237@ XX

19192109237@10.

XX

201.

XX

17.

XX

151:

5060>

5060>;tag=telstage-

4c11af69

20f7cc4e-

5e18e8dc

5e5842d2
X-Lv-Destination-Ip:
Lv-transaction-id: 55662935337
Lv-agent-login-id: VIRTUAL_AGENT_1
X-Lv-Destination-Port: 5060
Session-Privacy: no
Carrier-Name: tmis
Session-ID:

U2DB327T5E18E8DC@XX

U56AT5E5842D2@10.

XX

201.

XX

17.

XX

151
Pool-Name: carrierinbound
Allow: INVITE, ACK, CANCEL, BYE, REFER, NOTIFY, OPTIONS, INFO, REGISTER, SUBSCRIBE, MESSAGE, UPDATE
Session-Expires: 1800;refresher=uac
Supported: timer
Max-Forwards:

68

69
Via: SIP/2.0/UDP

XX

34.

XX

239.

XX

4.

XX:5060;branch=z9hG4bK623f.ac426ea3.0
Via: SIP/2.0/UDP XX.XX.XX.XX:5070;received= XX.XX.XX.XX

184:5070;branch=

z9hG4bK623f

z9hG4bK938f.

02823352.0
Via: SIP/2.0/UDP XX.XX.XX.XX:5060;branch=z9hG4bK5e18e8dc-0000-7b7397a4-f7f2e4ec-d3e93b6c

899d3507.0