Управление звонком
ringReady
Ответ 180 Ringing на входящий INVITE запрос
Code Block |
---|
{
"ringReady": ""
} |
preAnswer
Ответ 183 Session Progress на входящий INVITE запрос
Code Block |
---|
{
"preAnswer": ""
} |
answer
Ответ 200 Ok на входящий INVITE запрос
Code Block |
---|
{
"answer": ""
} |
sipRedirect
Ответ SIP 302 Moved Temporarily на входящий INVITE запрос
ringback
Приложение позволяет задать тон КПВ либо медиафайл
Code Block |
---|
{
"ringback": {
"all": true,
"call": {
"name": "%(1000,6000,425);loops=-1",
"type": "tone"
},
"hold": {
"id": 10
},
"transfer": {
"name": "%(1000,6000,425);loops=-1",
"type": "tone"
}
}
} |
updateCid
Приложение позволяет изменить значение номера и имени абонента
Code Block |
---|
{
"updateCid": {
"name": "Новый клиент",
"number": "8${effective_caller_id_number}"
}
} |
park
Удержание звонка на стороне сервера
Code Block |
---|
{
"park": {
"auto": "in",
"lot": "1000-2000",
"name": "myPark"
}
} |
conference
Вход в конференцию
Code Block |
---|
{
"conference": {
"flags": [
"audio-always"
],
"name": "CR-$1",
"profile": "video-mcu-stereo"
}
} |
bridge
Инициация Б-канала с дальнейшим соединением с А-каналом
Code Block |
---|
{
"bridge": {
"endpoints": [
{
"extension": "1008",
"idle": true,
"type": "user"
},
{
"dialString": "380732327758",
"name": "lifecell_out",
"type": "gateway",
"parameters": {
"origination_caller_id_number": "380732327757",
"sip_h_X-FWD-Original": "${caller_id_number}"
}
}
]
}
} |
hangup
Завершение звонка. В качестве параметра может быть указан код ответа из списка Hangup cause
Code Block |
---|
{
"hangup": ""
} |
Медиавзаимодействие
inBandDTMF
Управление in-band DTMF
Code Block |
---|
{
"inBandDTMF": "start"
} |
flushDTMF
Очистка буфера ввода абонентом
Code Block |
---|
{
"flushDTMF": true
} |
playback
Воспроизведение медиафайла с возможностью сохранить ввод абонента в переменную
Code Block |
---|
{
"playback": {
"files": [
{
"name": "its_${lang}.wav"
}
],
"getDigits": {
"flushDTMF": true,
"max": 4,
"min": 1,
"setVar": "getIVR",
"timeout": 3000,
"tries": 1
}
}
} |
recordFile
Записать медиа в файл
Code Block |
---|
{
"recordFile": {
"maxSec": 30,
"name": "${uuid}",
"silenceHits": 5,
"terminators": "#",
"type": "mp3",
"voiceMail": true
}
} |
recordSession
Управление записью медиапотока в файл
Code Block |
---|
{
"recordSession": {
"action": "start",
"bridged": false,
"followTransfer": true,
"minSec": 2,
"stereo": true,
"type": "mp3"
}
} |
generateLink
Приложение создает публичную ссылку на запись и сохраняет значение в переменную
Code Block |
---|
{
"generateLink": {
"expire": 604800,
"server": "https://dev.webitel.com",
"set": "record_link"
}
} |
Синтез и распознавание речи
tts
Генерация речи
Code Block |
---|
{
"tts": {
"language": "ru-RU",
"provider": "google",
"text": "<speak>Ваш номер договора ${usr_selected_prolongation}.</speak>",
"textType": "ssml"
}
} |
getSpeech
Асинхронное распознавание речи
Code Block |
---|
[
{
"set": {
"GOOGLE_DISABLE_BREAK": "true",
"GOOGLE_OFFSET": "14000",
"GOOGLE_SILENCE_THRESHOLD": "100",
"GOOGLE_SPEECH_ALTERNATIVE_LANG": "ru-RU",
"GOOGLE_SPEECH_ENABLE_AUTOMATIC_PUNCTUATION": "true",
"GOOGLE_SPEECH_LANG": "uk-UA"
}
},
{
"playback": {
"files": [
{
"name": "media_file_menu.wav"
},
{
"name": 3500,
"type": "silence"
}
],
"getSpeech": {}
}
},
{
"set": {
"usr_text": "${google_transcript}"
}
}
] |
Работа с очередями
joinQueue
Постановка абонента в очередь
Code Block |
---|
{
"joinQueue": {
"bucket_id": 1,
"priority": 100,
"agent": {
"extension": "1000"
},
"queue": {
"id": 1
},
"ringtone": {
"id": 126,
"type": "wav"
},
"timers": [
{
"actions": [
{
"playback": {
"files": [
{
"name": "hold_акции.wav"
}
]
}
}
],
"interval": 1,
"tries": 20
}
],
"transferAfterBridge": {
"id": 2
}
}
} |
joinAgent
Постановка абонента в личную очередь оператора
Code Block |
---|
{
"joinAgent": {
"agent": {
"extension": "1008"
},
"bridged": [
{
"log": "request 1C"
}
],
"cancel_distribute": true,
"processing": {
"enabled": true,
"renewal_sec": 5,
"sec": 30
},
"queue_name": "${cc_queue_name}"
}
} |
getQueueAgents
Получить информацию по количеству операторов в зависимости от статуса в очереди
Code Block |
---|
{
"getQueueAgents": {
"queue": {
"id": 2
} ,
"set": {
"res_count": "count",
"res_offline": "offline",
"res_online": "online",
"res_pause": "pause",
"res_waiting": "waiting"
}
}
} |
getQueueMetrics
Рассчитать показатели по очереди
Code Block |
---|
{
"getQueueMetrics": {
"bucket": null,
"calls": "complete",
"field": "sl",
"lastMinutes": 3800,
"metric": "sl",
"queue": {
"id": 19
},
"set": "varResult",
"slSec": 20
}
} |
ccPosition
Текущая позиция абонента в очереди
Code Block |
---|
{
"ccPosition": {
"set": "pos"
}
} |
ewt
Расчет среднего времени ожидания абонентом в очереди
Code Block |
---|
{
"ewt": {
"queue_ids": [
8
],
"setVar": "ewt",
"strategy": "puzzle"
}
} |
memberInfo
Найти информацию по абоненту дайлера
Code Block |
---|
{
"memberInfo": {
"bucket_id": 1,
"completed": false,
"destination": "${caller_id_number}",
"name": "Customer Name",
"queue_ids": [
8
],
"set": {
"member_var1": "sum",
"member_var2": "credit"
},
"today": true
}
} |
patchMembers
Изменить информацию по абоненту дайлера
Code Block |
---|
{
"patchMembers": {
"bucket_id": 1,
"completed": false,
"destination": "${caller_id_number}",
"name": "Customer Name",
"queue_ids": [
8
],
"patch": {
"bucket_id": 2,
"name": "sum",
"priority": "credit",
"ready_at": 2147483647,
"stop_cause": "cancel",
"variables": {
"new_var": "var"
}
},
"today": true
}
} |
callbackQueue
Добавить абонента в оффлайн очередь
Code Block |
---|
{
"callbackQueue": {
"communication": {
"destination": "${caller_id_number}",
"type_id": 1
},
"holdSec": "1",
"name": "${caller_id_number}",
"queue_id": 26,
"variables": {
"DPD": "${DPD}",
"internal_operator_id": "${internal_operator_id}",
"loan_id": "${Loan}"
}
}
} |
confirm
Установка значений до набора абонента дайлером
Code Block |
---|
{
"confirm": {
"destination": "8${destination_number}",
"display": "${agent_extension}",
"export": [
"new_variable"
]
}
} |
cancel
Отмена текущей попытки набора абонента в дайлере
Code Block |
---|
{
"cancel": {
"description": "do not call",
"export": [
"new_var"
],
"nextDistributeSec": 0,
"stop": false
}
} |
abandoned
Позволяет задать через сколько секунд осуществить следующую попытку набора, а также, задать новое значение для максимального количества наборов абонента
Code Block |
---|
{
"abandoned": {
"export": [
"retry"
],
"maxAttempts": 100500,
"waitBetweenRetries": "120"
}
} |
lastBridged
Получить информацию по соединениям для липкости звонка
Code Block |
---|
{
"lastBridged": {
"calls": {
"inbound": "all",
"outbound": "all",
"queue_ids": [
1, 2
]
},
"hours": 24,
"number": "380932327757",
"set": {
"my_ag": "agent_id",
"my_ext": "extension",
"my_q": "queue_id"
}
}
} |
- false - Не учитывать данное направление звонка
- bridged - Попытки по которым было соединение
- attempt - Попытки без соединения
- all - Все попытки