Section | ||||
---|---|---|---|---|
Column | ||||
| ||||
Column | ||||
| ||||
Tip | ||||
| ||||
| ||||
|
Introduction
This document provides a model for integrating LiveVox with an artificial intelligence speech vendor (AI Vendor). The document is intended for
...
AI
...
Vendors 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
| |||
|
Info |
---|
To begin with, see the LiveVox API Overview and LiveVox API Quick Start Guide sections of the portalLiveVox Developer Portal. Virtual Agent |
Virtual Agent Management and Data Collection
A set of
...
virtual agents is configured on the LiveVox
...
Portal. A one-to-one ratio of
...
virtual agents exists for calls handled by the AI Vendor. The client must plan for the appropriate number of
...
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.
- The AI Vendor must ensure that the
...
- virtual agents are ready on the platform. To do so:
Obtain the
...
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"}Add the
...
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
...
1a Set the
...
virtual agent to the Ready state.
Info POST https://{{APIHost}}/callControl/agent/status/ready
Header: Session ID from 1aNote - The LiveVox session ID expires after two hours of inactivity. If a
...
- virtual agent does not change the state (that is, receive a call), the session ID expires. Therefore, the client must move
...
- virtual agents in the Ready state to the Not Ready state
...
- and then back to the Ready state, every hour.
- Virtual
...
- 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 support during closed hours must be addressed as part of phase 2+.
When a call is routed to the
...
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 Agent INVITE Virtual_Agent_1 INVITE sip:+18990000001@XX.XXX.XX.XX:5070 SIP/2.0^M Virtual_Agent_2 INVITE sip:+18990000002@XX.XXX.XX.XX:5070 SIP/2.0^M Virtual_Agent_3 INVITE sip:+18990000003@XX.XXX.XX.XX:5070 SIP/2.0^M To obtain additional data associated with the call, the AI Vendor can access the screen pop data that is typically presented to a
...
human 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
...
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 |
---|
|
If the AI Vendor collects data specific to calls that appear on the Human Agent screens, use the LiveVox AI Integration App (AIA) API.
...
...
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 updateWhen the
...
bot completes a call with the customer, and if the call
...
need not be routed to a
...
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.
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.
Info To obtain the TransID, SessionID, and
...
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"}
...
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.
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 1aInfo To complete the phonebook 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 transfer:
POST https://{{APIHost}}/callControl/agent/conference/leave
Header: Session ID from 1a
...
Info To obtain the
...
list of term codes available for the call:
...
...
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"}
Customer Portal Config Requirements
...
Create or configure
...
virtual agents.
Note LiveVox is required to configure
...
virtual agents.
- Set the Service ACD mode to Agent Call Out.
- Set Service Groups for
...
- virtual agents to LONGEST_AVAILABLE_AGENT.
- Create term codes to support transfers to
...
- human agents.
- Create term codes for
...
- virtual agents to complete calls.
- Load contacts into the Contact Manager.
- Update
...
- contact flows to validate inbound
...
- customer calls against the Contact Manager.
- Configure the
...
- virtual agent desktop with the data required for the
...
- virtual agent screen popup.
- Configure the
...
- agent phonebook to allow the
...
- virtual agent to transfer calls to a
...
- human agent.
Sample Session Initiation Protocol (SIP) INVITE
Panel |
---|
Request-Line: INVITE sip:+ 18990000001@XXXXXXXX50605070 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@ XXXXXXXX151:5070 <sip: XXXXXXXXudp>udp> 151 13096450 INVITE 174 5060>;tag=telstage- 4c11af6920f7cc4e- 5e18e8dc5e5842d2 151 69 34. XX239. XX.XX:5060;branch=z9hG4bK623f.ac426ea3.0Via: SIP/2.0/UDP XX.XX.XX.XX:5070;received= XX.XX.XX.XX 4.184:5070;branch= z9hG4bK623fz9hG4bK938f. 02823352.0Via: SIP/2.0/UDP XX.XX.XX.XX:5060;branch=z9hG4bK5e18e8dc-0000-7b7397a4-f7f2e4ec-d3e93b6c |
Noprint |
Excerpt Include | Product Webinars | Product Webinars | nopanel | true
899d3507.0 |
Include Page | ||||
---|---|---|---|---|
|