Versions Compared

Key

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

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

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 запрос

Code Block
{
    "sipRedirect": "sip:[email protected]"
}

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

sleep

updateCid

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

Code Block
{
    "sleep": 1000
}

park

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

Code Block
{
    "parkupdateCid": {
        "autoname": "inНовый клиент",
        "lotnumber": "1000-2000",8${effective_caller_id_number}"
    }
}

sleep

Пауза, указывается в миллисекундах

Code Block
{
    "namesleep": "myPark"
    }1000
}

conference

park

Удержание звонка на стороне сервераВход в конференцию

Code Block
{
    "conferencepark": {
        "flagsauto": ["in",
           "lot": "audio1000-always2000",
        ],
        "name": "CR-$1",
        "profile": "video-mcu-stereo"name": "myPark"
    }
}

bridge

conference

Вход в конференциюИнициация Б-канала с дальнейшим соединением с А-каналом

Code Block
{
    "bridgeconference": {
        "endpointsflags": [
            {"audio-always"
        ],
        "extensionname": "1008CR-$1",
        "profile": "video-mcu-stereo"
    }
}

bridge

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

Code Block
{
    "idlebridge": true,
        {
        "typeendpoints": "user"[
            },
            {{
                "dialStringextension": "3807323277581008",
                "nameidle": "lifecell_out"true,
                "type": "gatewayuser",
            },
       "parameters": {
    {
                "origination_caller_id_numberdialString": "380732327757380732327758",
                   "name": "sip_h_X-FWD-Originallifecell_out",
                "type": "${caller_id_number}"
gateway",
                "parameters": }{
             }
        ]"origination_caller_id_number": "380732327757",
    }
}

hangup

Завершение звонка. В качестве параметра может быть указан код ответа из списка Hangup cause

Code Block
{
                "hangupsip_h_X-FWD-Original": ""
}

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

inBandDTMF

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

Code Block
{
  "inBandDTMF": "start"
}

flushDTMF

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

Code Block
{
  "flushDTMF": true
}

playback

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

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

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

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"
                                }
              
Code Block
{
    "playback": {
        "files": [
     ]
       {
                "name": "its_${lang}.wav"
            }
        ],}
        "getDigits": {
         ],
   "flushDTMF": true,
            "maxinterval": 41,
                "mintries": 1,20
            }
   "setVar": "getIVR",
    ],
        "timeouttransferAfterBridge": 3000,{
            "triesid": 12
        }
    }
}

recordFile

getQueueAgents

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

Code Block
{
    "getQueueAgents": {
        "recordFilequeue": {
            "maxSecid": 30,2
        "name": "${uuid}"	,
        "silenceHitsset": 5,
{
            "terminatorsres_count": "#count",
            "typeres_offline": "mp3offline",
        "voiceMail": true
    }
}

recordSession

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

Code Block
{
"res_online": "online",
            "recordSessionres_pause": {
"pause",
            "actionres_waiting": "startwaiting",
        "bridged": false,}
    }
}

getQueueMetrics

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

Code Block
{
    "followTransfergetQueueMetrics": true,{
        "minSecbucket": 2null,
        "stereocalls": true"complete",
        "typefield": "mp3sl",
    }
}

Работа с очередями

joinQueue

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

Code Block
{
    "joinQueuelastMinutes": {3800,
        "bucket_idmetric": 1"sl",
        "priorityqueue": 100,
{
            "agentid": {19
        },
        "extensionset": "1000varResult",
         },"slSec": 20
    }
}

ccPosition

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

Code Block
{
    "queueccPosition": {
            "idset": 1"pos"
    }
}

ewt

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

Code Block
{
     },"ewt": {
        "ringtonequeue_ids": {[
            8
   "id": 126,
    ],
        "typesetVar": "wav"
        }ewt",
        "timersstrategy": ["puzzle"
    }
}

memberInfo

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

Code Block
{
       "memberInfo": {
        "bucket_id": 1,
        "actionscompleted": [false,
        "destination": "${caller_id_number}",
        "name":   {"Customer Name",
        "queue_ids": [
               "playback": {
8
        ],
          "set": {
            "filesmember_var1": ["sum",
            "member_var2": "credit"
        },
           {"today": true
    }
}

patchMembers

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

Code Block
{
    "patchMembers": {
        "bucket_id": 1,
          "completed": false,
        "namedestination": "hold_акции.wav"${caller_id_number}",
        "name": "Customer Name",
        "queue_ids": [
             }8
        ],
        "patch": {
           ]
   "bucket_id": 2,
            "name": "sum",
         }
   "priority": "credit",
                }"ready_at": 2147483647,
                ],
    "stop_cause": "cancel",
            "intervalvariables": 1,{
                "triesnew_var": 20"var"
            }
        ]},
        "transferAfterBridgetoday": true
    }
}

callbackQueue

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

Code Block
{
    "callbackQueue": {
        "idcommunication": 2{
        }
    }
}

getQueueAgents

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

Code Block
{
    "getQueueAgentsdestination": "${caller_id_number}",
            "queuetype_id": {1
        },
        "idholdSec": 2"1",
        "name": "${caller_id_number}",
        "setqueue_id": {
    26,
        "res_countvariables": "count",{
            "res_offlineDPD": "offline${DPD}",
            "resinternal_operator_onlineid": "online${internal_operator_id}",
            "resloan_pauseid": "pause${Loan}",
        }
     }
}

confirm

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

Code Block
{
    "res_waitingconfirm": "waiting"{
        "destination": "8${destination_number}",
    }
}

getQueueMetrics

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

Code Block
{
    "getQueueMetricsdisplay": "${agent_extension}",
        "bucketexport": null,[
           "calls": "completenew_variable",
        "field": "sl",]
    }
}

cancel

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

Code Block
{
    "lastMinutescancel": 3800,{
        "metricdescription": "sldo not call",
        "queueexport": {[
            "id": 19new_var"
        }],
        "setnextDistributeSec": "varResult"0,
        "slSecstop": 20false
    }
}


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


Голосовые приложения

Table of Contents
maxLevel3
minLevel2