Курсы по использованию Asterisk

IP-телефония — технология будущего. Обучитесь работе с IP-АТС Asterisk для того чтобы внедрить и профессионально использовать при решении коммуникационных задач.

Работайте с Asterisk профессионально!

Многоуровневая защита IP-АТС Asterisk

Телефонные станции очень часто становятся объектами хакерских атак. Узнайте, каким образом необходимо строить многоуровневую защиту для Вашей IP-АТС.

Не оставьте хакерам шансов. Защитите свой Asterisk от атак.

Используйте Веб-Интерфейс для удобства настройки

Панель управление FreePBX позволяет легко и удобно управлять всей системой. Научитесь эффективно использовать FreePBX для решения своих задач.

Управление станцией и статистика в окне браузера.

Научитесь работать с Asterisk из консоли

Для понимания работы с Asterisk необходимо уметь настраивать его вручную с конфигурационными файлами и командной строкой CLI Asterisk.

Научитесь «тонкой» настройке Asterisk

Цель курсов - максимум практики.

Обучение нацелено на практическую работу с IP-оборудованием: платы потоков E1, VoIP-телефонные аппараты, голосовые шлюзы FXS и прочее.

Обучение на реальном оборудовании — залог успеха.

Уведомление о SIP ошибке (SIP Cause)

База знаний Настройка Asterisk

Если ваш оператор ip-телефонии периодически сбоит или же вы просто хотите всегда знать о возможных проблемах до того как пользователи начнут взрывать вам мозг, то данная статья для вас.

Что мы будем делать?! Все очень просто, будем уведомлять на указанный email о всех SIP ошибках которые передает нам оператор.

Как это сделать?! Для начала нам нужно убедиться что версия астериска у нас 1.8+ т.к. именно с этой версии введена переменная ${HASH (SIP_CAUSE)} которая позволяет сохранять код ошибки.

Далее нам нужно включить возможность запоминать sip ошибки в переменную, для этого в sip.conf либо в веб интерфейсе в asterisk sip settings добавить storesipcause=yes

После, в консоли астериска, проверяем командой sip show settings выставленное значение для Store SIP_CAUSE: Должно быть Yes

Теперь нам нужно модифицировать диалплан для исходящих внешних вызовов, для этого из /etc/asterisk/extensions_additional.conf на нужно полностью скопировать контекст [macro-dialout-trunk] в /etc/asterisk/extensions_override_freepbx.conf

Находим строчку

exten => s,n,Dial (${OUT_${DIAL_TRUNK}}/${OUTNUM},300,${DIAL_TRUNK_OPTIONS}))

и добавляем после нее следующее:

exten => s,n,Gotoif  ($["${HASH  (SIP_CAUSE)}" != ""]?mail:noop) ;Добавляем условие, если sip ошибки нет  
(переменная
выводит пустое значение),то выполняется действие noop, если ошибка есть то действие mail
exten => s,n (mail),System (echo "Abonent ${CALLERID (number)} zvonil cherez trank
${OUT_${DIAL_TRUNK}} na nomer ${OUTNUM} i polychil oshibky ${HASH (SIP_CAUSE)}" | mail -s "SIP cause" )
;Тут мы уведомляем на почту о том, какой абонент куда звонил, через какой транк и указываем SIP ошибку)

А строку exten => s,n,Noop (Dial failed for some reason with DIALSTATUS = ${DIALSTATUS} and HANGUPCAUSE = ${HANGUPCAUSE}) приводим к виду

exten => s,n (noop),Noop (Dial failed for some reason with DIALSTATUS = ${DIALSTATUS} and HANGUPCAUSE = ${HANGUPCAUSE}) ;Делается для того что бы при нашем условии обозначенном выше, знать с какого действия продолжить выполнять диалплан.

Все, нам остается лишь выполнить в консоли dialplan reload и проверить корректность выполнения нашего модифицированного диалплана.

Если вдруг вам пришла ошибка SIP 486 Busy Here то не стоит волноваться, это стандартная ошибка оператора если вызываемый абонент занят (Если не хочется получать лишний раз отчет о данной ошибке, можно добавить в диалплан еще одно условие, которое не будет отсылать письмо если абонент занят)

asterisk, sip, FreePBX, for