Перейти к основному содержимому

Маршрутизация вызова

При настройке телефонии доступно создание нескольких подключений с различными логинами, но с одинаковым хостом, протоколом или портом, а также с активной регистрацией и разрешенными входящими вызовами.

Для таких подключений осуществляется маршрутизация. При звонках по номерам, которые были указаны в логине, вызовы будут распределяться по соответствующим 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:

  1. Перейдите в проект.
  2. Нажмите на панели управления Каналы.
  3. Скопируйте botId под названием нужного канала.

Если указан некорректный botId или поле не заполнено, то перевод вызова будет осуществляться через SIP-транк, на котором был установлен телефонный вызов.

Через refer

Перевод вызова через SIP REFER позволяет передать звонок телефонии SIP-провайдера и сразу завершить соединение. Соединение завершается вне зависимости от того, ответил оператор на вызов или нет, и абонент не сможет вернуться в диалог с ботом.

предупреждение
Не все провайдеры поддерживают перевод вызова через SIP REFER. Например, при подключении через SIP-транк от Novofon он работать не будет. Уточните, предоставляет ли провайдер эту функциональность, или используйте собственную АТС.

Используйте свойство 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" // Перевод вызова без сохранения соединения.
});
подсказка
При переводе вызова через SIP REFER свойства headers, transferChannel, continueCall и continueRecording будут проигнорированы.