Приветствую Вас на моем блоге. Здесь Вы встретите описание моих наработок, в основном связанных с VoIP на базе asterisk, CUCM. Также увлечение python не будет опущено.

пятница, 23 марта 2018 г.

asterisk call limit

Иногда, возникает потребность ограничить количество звонков. Причин возникновения такой потребности может быть много, например:
- оборудование не справляется с количеством активных сессий и перегружено;
- ограничения канала, например у Вас всего 4 канал на GSM шлюзе, либо на транке провайдера у Вас открыто ограниченное количество голосовых сессий.
- В среде Контакт-Центра, к примеру, малое соотношение количества операторов к количеству входящих звонков, тогда, если такое разрешено в самом КЦ - попросту "отбить" такие  звонки, либо направить в альтернативное IVR.

; Call-limit
exten => _0XXXXXXXXX,n,Set(GROUP()=group1);Объединяем вызовы вгруппу
same => n,Set(CALLS1=${GROUP_COUNT(group1)});Считаем сколько вызовов в группе
same => n,Verbose(${CALLS1});Выводим счетчик в консоль
same => n,ExecIf($[ ${CALLS1} > 4 ]?Hangup(34));Если вызовов больше 4, сбрасываем. 34 - это код отбоя
; Call-limit end

asterisk callback

В статье приведу простую схему корпоративного callback, которая может быть использована в целях удешевления звонков внутренним абонентам asterisk для сотрудников компании либо для определенных клиентов.
Сотрудник компании делает звонок на определенный номер, asterisk сбрасывает вызов и перезванивает данному сотруднику, где его приветствует IVR c возможностью донабора внутреннего номера

среда, 21 марта 2018 г.

Корпоративный справочник на python

Предыстория:
Как-то, я попал в компанию, которая имеет множество дочерних и партнерских предприятий в разных городах, с разной инфраструктурой. Мне нужно было позвонить сотруднику одного из таких предприятий. Спросив у коллег где я могу узнать номер телефона, я с ужасом услышал ...в файлике.
Если для Вас это тоже ужас - добро пожаловать под кат...

среда, 7 марта 2018 г.

asterisk Dynamic Clip Routing

Внутренний абонент asterisk вызывает внешнего. Когда внешний абонент перезванивает на городскую линию asterisk, его вызов направляется непосредственно на ранее звонившего внутреннего абонента.
Идея состоит в том, что когда наши внутренние абоненты звонят внешним,"запоминать" кому они звонили и потом использовать это при входящем звонке. Для этого я буду использовать базу данных и func_odbc.