Урок 25 Маршрутизация исходящих вызовов — различия между версиями

Материал из Oktell
Перейти к: навигация, поиск
Строка 8: Строка 8:
 
__TOC__
 
__TOC__
  
На прошлом уроке мы разбирались с приемом входящих звонков, их обработкой и переключением на операторов. Однако, помимо приема звонков, пользователи системы могут совершать звонки друг другу внутри системы или на внешние направления. Для этого в системе используется сценарий маршрутизации исходящих звонков.  
+
Сценарии маршрутизации исходящих вызовов - системный сценарий для набора внутренних и внешних номеров пользователями системы. С помощью этого сценария система позволяет организовать "умный" выбор линии в зависимости от набираемого номера, текущего пользователя и других параметров. Особое внимание при составлении сценария следует обратить вопросу безопасности, таким как звонки на международные или платные короткие номера.
  
<!-- Особый вопрос уделиить безопасности -->
+
<!--  
<!-- зачем? Сценарий позволяет организовать "умный" выбор линии -->
+
'''3.''' В зависимости от набранного номера определяется тип номера: внутренний или внешний. Если набран внешний - необходимо определить по каким линиям пойдет набор. На этом этапе выполняются необходимые проверки на длину номера, время совершения звонка и др, производятся запросы во внешние сервисы и обращение к базам данных.
  
Схему набора номера можно описать следующим образом:
+
'''4.''' Выполняется переключение и в зависимости от результата обработка неудачного соединения или служебные действия после успешной коммутации. -->
 
+
'''1.''' Сценарий исходящей маршрутизации запускается всякий раз когда внутренний пользователь (или внутренняя линия) набирает номер. Следует учитывать, что номер может не сразу прийти в сценарий, некоторые устройства могут набирать номер в процессе его работы.
+
 
+
'''2.''' С помощью  функции "'''Внешний номер (CalledId)'''" можно определить набранный номер. Узнать номер вызывающего пользователя поможет функция "'''Номер абонента (CallerId)'''".
+
 
+
'''3.''' В зависимости от набранного номера определяется тип номера: внутренний или внешний. Если набран внешний - необходимо определить по каким линиям пойдет набор. На этом этапе выполняются необходимые проверки на длину номера, время совершения звонка и др, производятся запросы во внешние сервисы и обращение к базам данных.
+
  
'''4.''' Выполняется переключение и в зависимости от результата обработка неудачного соединения или служебные действия после успешной коммутации.
+
Начиная проектирование сценария необходимо принять во внимание, что большинство IP-телефонов и софтфонов могут передавать информацию о набранном номере до входа в сценарий, а аналоговые телефоны и USB-телефоны набирают номер уже после соединения. Если в первом случае можно определить набранный номер с помощью функции "'''Внешний номер (CalledId)'''", то во втором - придется реализовывать набор номера в сценарии. Таким образом, мы получаем следующие блоки:
 +
* 1й блок будет анализировать есть ли набранный номер
 +
* 2й даст возможность совершить набор номера, если устройство его не передало
 +
* 3й произведет анализ набранного номера и совершит маршрутизацию по соответствующим направлениям.

Версия 12:35, 10 ноября 2014

Наверх К предыдущему уроку


Сценарии маршрутизации исходящих вызовов - системный сценарий для набора внутренних и внешних номеров пользователями системы. С помощью этого сценария система позволяет организовать "умный" выбор линии в зависимости от набираемого номера, текущего пользователя и других параметров. Особое внимание при составлении сценария следует обратить вопросу безопасности, таким как звонки на международные или платные короткие номера.


Начиная проектирование сценария необходимо принять во внимание, что большинство IP-телефонов и софтфонов могут передавать информацию о набранном номере до входа в сценарий, а аналоговые телефоны и USB-телефоны набирают номер уже после соединения. Если в первом случае можно определить набранный номер с помощью функции "Внешний номер (CalledId)", то во втором - придется реализовывать набор номера в сценарии. Таким образом, мы получаем следующие блоки:

  • 1й блок будет анализировать есть ли набранный номер
  • 2й даст возможность совершить набор номера, если устройство его не передало
  • 3й произведет анализ набранного номера и совершит маршрутизацию по соответствующим направлениям.