Задача

Реализовать возможность дозвона на альтернативный номер пользователя webitel, если он не отвечает на основном номере.

Реализация

На вкладке Extensions раздела Callflow для каждого созданного номера генерируется личная схема маршрута. Все схемы типовые - включить запись разговоров и звонить на регистрацию (SIP и WebRTC) пользователя. Дополнительно, если активирована голосовая почта, после не ответа в течение 40 секунд, происходит перевод на голосовой ящик:

В данном примере, мы рассмотрим, как реализовать простой вариант функции Find Me/Follow Me, где в случае не ответа на основном телефоне, система сначала попытается дозвониться на мобильный, а только после этого - в голосовую почту.

Для дозвона на мобильный, нам необходимо будет использовать один из существующих SIP шлюзов. В разделе Gateways:

Пример схемы

[
  {
    "setVar": [
      "ringback=$${ru-ring}",
      "transfer_ringback=$${ru-ring}",
      "hangup_after_bridge=true",
      "ignore_early_media=true",
      "continue_on_fail=true"
    ]
  },
  {
    "recordSession": "start"
  },
  {
    "bridge": {
      "parameters": [
        "call_timeout=20"
      ],
      "endpoints": [
        {
          "name": "1000",
          "type": "user"
        }
      ]
    }
  },
  {
    "bridge": {
      "parameters": [
        "call_timeout=30"
      ],
      "endpoints": [
        {
          "type": "sipGateway",
          "name": "74997045627",
          "dialString": "+79012223344"
        }
      ]
    }
  },
  {
    "recordSession": "stop"
  },
  {
    "answer": ""
  },
  {
    "sleep": "1000"
  },
  {
    "voicemail": {
      "user": "1000"
    }
  }
]

Описание схемы

№ строкиApplicationОписание
3setVarУстановить значение канальных переменных - тип КПВ, игнорировать ошибки дозвона.
12recordSessionНачало записи разговора
15bridgeСоединить с абонентом
17Время дозвона в секундах
21Номер, на который звоним
28 bridge Соединить с абонентом
30Время дозвона в секундах
35Название SIP шлюза, через который будет осуществляться дозвон
36Номер, на который нужно звонить
42recordSessionОстановить запись разговора
45answerОтветить (поднять трубку)
48sleepПауза в 1 секунду
50voicemailГолосовой ящик пользователя с номером 1000