Call's applications

Call's applications

Управление звонком

ringReady

Ответ 180 Ringing на входящий INVITE запрос

{ "ringReady": "" }

preAnswer

Ответ 183 Session Progress на входящий INVITE запрос

{ "preAnswer": "" }

answer

Ответ 200 Ok на входящий INVITE запрос

{ "answer": "" }

sipRedirect

Ответ SIP 302 Moved Temporarily на входящий INVITE запрос

{ "sipRedirect": "sip:foo@end.com" }

ringback

Приложение позволяет задать тон КПВ либо медиафайл

{ "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

Приложение позволяет изменить значение номера и имени абонента

{ "updateCid": { "name": "Новый клиент", "number": "8${effective_caller_id_number}" } }

park

Удержание звонка на стороне сервера

{ "park": { "auto": "in", "lot": "1000-2000", "name": "myPark" } }

conference

Вход в конференцию

{ "conference": { "flags": [ "audio-always" ], "name": "CR-$1", "profile": "video-mcu-stereo" } }

bridge

Инициация Б-канала с дальнейшим соединением с А-каналом

{ "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

{ "hangup": "" }

Медиавзаимодействие

inBandDTMF

Управление in-band DTMF

{ "inBandDTMF": "start" }

flushDTMF

Очистка буфера ввода абонентом

{ "flushDTMF": true }

playback

Воспроизведение медиафайла с возможностью сохранить ввод абонента в переменную

{ "playback": { "files": [ { "id": "16", "name": "file_example_WAV_1MG.wav" } ], "getDigits": { "digitTimeout": 2000, "flushDTMF": false, "max": "2", "min": 1, "setVar": "getIVR", "timeout": 3000, "tries": 1, "terminators": "-" } }, "break": false, "tag": "57-playback-custom-tag" }

recordFile

Записать медиа в файл

{ "recordFile": { "maxSec": 30, "name": "${uuid}", "silenceHits": 5, "terminators": "#", "type": "mp3", "voiceMail": true } }

recordSession

Управление записью медиапотока в файл

{ "recordSession": { "action": "start", "bridged": false, "followTransfer": true, "minSec": 2, "stereo": true, "type": "mp3" } }

generateLink

Приложение создает публичную ссылку на запись и сохраняет значение в переменную

{ "generateLink": { "expire": 604800, "server": "https://dev.webitel.com", "set": "record_link" } }

Синтез и распознавание речи

tts

Генерация речи

{ "tts": { "language": "ru-RU", "provider": "google", "text": "<speak>Ваш номер договора ${usr_selected_prolongation}.</speak>", "textType": "ssml" } }

getSpeech

Асинхронное распознавание речи

[ { "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

Постановка абонента в очередь

{ "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

Постановка абонента в личную очередь оператора

{ "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

Получить информацию по количеству операторов в зависимости от статуса в очереди

{ "getQueueAgents": { "queue": { "id": 2 } , "set": { "res_count": "count", "res_offline": "offline", "res_online": "online", "res_pause": "pause", "res_waiting": "waiting" } } }

getQueueMetrics

Рассчитать показатели по очереди

{ "getQueueMetrics": { "bucket": null, "calls": "complete", "field": "sl", "lastMinutes": 3800, "metric": "sl", "queue": { "id": 19 }, "set": "varResult", "slSec": 20 } }

ccPosition

Текущая позиция абонента в очереди

{ "ccPosition": { "set": "pos" } }

ewt

Расчет среднего времени ожидания абонентом в очереди

{ "ewt": { "queue_ids": [ 8 ], "setVar": "ewt", "strategy": "puzzle" } }

memberInfo

Найти информацию по абоненту дайлера

{ "memberInfo": { "member": { "completed": false, "id": "${member_id}", "queue_ids": [ "${queue_id}" ], "today": true }, "set": { "count_destinations": "count_destinations", "priority": "priority" } } }

patchMembers

Изменить информацию по абоненту дайлера

{ "patchMembers": { "member": { "bucket": [ { "id": "187" } ], "completed": true, "destination": "", "id": "", "name": "", "queues": [ { "id": "187" } ], "today": true }, "patch": { "bucket": { "id": 10 }, "name": "name", "priority": 10, "queueId": 100, "stopCause": "success_duplicate", "variables": {} } } }

callbackQueue

Добавить абонента в оффлайн очередь

{ "callbackQueue": { "agent": { "id": 67 }, "communication": { "destination": "${user}", "type_id": 1 }, "holdSec": 1, "name": "${from}", "queue_id": 427, "variables": { "DPD": "${user}" } } },

confirm

Установка значений до набора абонента дайлером

{ "confirm": { "destination": "00${destination}", "display": "${agent_extension}", "export": [ "new_variable" ] } }

cancel

Отмена текущей попытки набора абонента в дайлере

{ "cancel": { "description": "do not call", "export": [ "new_var" ], "nextDistributeSec": 0, "stop": false } }

abandoned

Позволяет задать через сколько секунд осуществить следующую попытку набора,  а также, задать новое значение для максимального количества наборов абонента

{ "abandoned": { "export": [ "retry" ], "maxAttempts": 100500, "waitBetweenRetries": "120" } }

attemptResult

Результат текущей попытки дозвона, после общения оператора

{ "attemptResult": { "status": "abandoned", "stickyDisplay": false, "readyAt": "", "description": "", "waitBetweenRetries": 60 } }

retry

В рамках одной попытки совершать звонки из всех ресурсов по очереди, для After schema  Предиктивного дайлера 

{ "retry": { "nextResource": true, "sleep": 3000 } }

lastBridged

Получить информацию по соединениям для липкости звонка

{ "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 - Все попытки



Related content