Маршрутизация вызова
При настройке телефонии доступно создание нескольких подключений с различными логинами, но с одинаковым хостом, протоколом или портом, а также с активной регистрацией и разрешенными входящими вызовами.
Для таких подключений осуществляется маршрутизация. При звонках по номерам, которые были указаны в логине, вызовы будут распределяться по соответствующим SIP-транкам, а затем — на каналы ботов.
Способ маршрутизации вызова задается в свойстве method
:
invite
— перевод вызова с сохранением соединения. Это значение по умолчанию.refer
— перевод вызова без сохранения соединения.
Через invite
Перевод вызова через invite
позволяет сохранять соединение, пока оператор говорит с абонентом.
После этого абонент может вернуться в диалог с ботом и продолжить диалог с ним.
Используйте свойство transferChannel
:
state: TransferToAgent
intent!: /TransferToAgent
random:
a: Перевожу вас на оператора. Пожалуйста, оставайтесь на линии.
a: Соединяю вас с оператором. Ожидайте, пожалуйста, на линии.
script:
$response.replies.push({
type: "switch", // Тип ответа бота.
phoneNumber: "79123456789", // Номер телефона, на который будет переведен звонок.
// Вместо телефона можно передать SIP URI — номер SIP-телефона:
// sipUri: "79123456789@sip.voximplant.com",
transferChannel: "237-test-237-VDQ-28334674", // botId канала. Вызов будет переведен через SIP-транк, который подключен к каналу.
continueCall: true, // Возвращаем абонента к диалогу с ботом после разговора с оператором.
continueRecording: true // Продолжаем запись разговора.
});
transferChannel
укажите botId
для маршрутизации вызова через SIP-транк, который подключен к данному каналу.
При этом бу дут применены параметры подключенного SIP-транка.Значение botId
можно скопировать из интерфейса JAICP:
- Перейдите в проект.
- Нажмите на панели управления Каналы.
- Скопируйте
botId
под названием нужного канала.
Если указан некорректный botId
или поле не заполнено, то перевод вызова будет осуществляться через SIP-транк, на котором был установлен телефонный вызов.
Через refer
Перевод вызова через SIP REFER позволяет передать звонок телефонии SIP-провайдера и сразу завершить соединение. Соединение завершается вне зависимости от того, ответил оператор на вызов или нет, и абонент не сможет вернуться в диалог с ботом.
Используйте свойство method
:
state: TransferToAgent
intent!: /TransferToAgent
random:
a: Перевожу вас на оператора. Пожалуйста, оставайтесь на линии.
a: Соединяю вас с оператором. Ожидайте, пожалуйста, на линии.
script:
$response.replies.push({
type: "switch", // Тип ответа бота.
phoneNumber: "79123456789", // Номер телефона, на который будет переведен звонок.
// Вместо телефона можно передать SIP URI — номер SIP-телефона:
// sipUri: "79123456789@sip.voximplant.com",
method: "refer" // Перевод вызова без сохранения соединения.
});
headers
, transferChannel
, continueCall
и continueRecording
будут проигнорированы.