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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3-х (и более) сторонний вызов в Asterisk с использованием ConfBridge

База знаний Настройка Asterisk
В данной статье описана настройка n-стороннего вызова в Asterisk с использованием ConfBridge.
Статья является адаптацией решения с voip-info.org  для работы с ConfBridge (более новое, чем MeetMe, приложение Asterisk для конференц-связи, к тому же, не зависящее от DAHDI).

Для работы данной схемы у Asterisk должны быть собраны модули app_confbridge.so и chan_bridge.so. Инструкция написана для CentOS 6 и Asterisk 11

Описание

К сервисным кодам Asterisk добавляется код *0 (его нужно описать в файле features.conf и добавить в переменную DYNAMIC_FEATURES). Сервисный код *0 вызывает выполнение макроса nway-start, который создает конференцию с именем как UNIQUEID у текущего вызова и перенаправляет в созданную конференцию абонента, не являющегося инициатором конференции. После этого абонент, начавший конференцию, получает возможность добавить в конференцию 3-го участника.

Абоненту, добавляющему к конференции нового участника, доступны следующие сервисные коды:

** - прекратить вызов, не добавлять вызываемого абонента к конференции
# - добавить вызываемого абонента к конференции


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

Настройка

1) Настройки ConfBridge:

confbridge.conf

[default_user]
type = user
[default_user]
type = user
[nway_menu]
type = menu
*0 = leave_conference

2) Диалплан:

extensions.conf

[macro-nway-ok]
exten => s,1,ChannelRedirect(${BRIDGEPEER},nway-conf,${CONFNO},1)
[nway-invite]
exten => s,1,Read(NEW_CALLEE,dial,20,i)
; Add dynamic features for n-way invite
same => n,Set(DYNAMIC_FEATURES=${DYNAMIC_FEATURES_NWAYINV})
; Determine dialing context and dial
same => n,ExecIf($[${REGEX("H" ${DIAL_OPTIONS})} = 0]?Set(_DIAL_OPTIONS=${DIAL_OPTIONS}H))
same => n,Set(CALLER=${CALLERID(num)})
same => n,Set(DIALOUT_CONTEXT=${SIPPEER(${CALLER},context)})
same => n,ExecIf($["${DIALOUT_CONTEXT}" = ""]?Set(DIALOUT_CONTEXT=from-internal))
same => n,Dial(Local/${NEW_CALLEE}@from-internal,,gH)
same => n,Set(DYNAMIC_FEATURES=${DYNAMIC_FEATURES_NWAY})
same => n,ChannelRedirect(${CHANNEL(name)},nway-conf,${CONFNO},1)
[nway-conf]
exten => _X.,1,Answer
same => n,Set(__CONFNO=${EXTEN})
same => n,Set(DYNAMIC_FEATURES=${DYNAMIC_FEATURES_NWAY})
same => n,Set(CONFBRIDGE(bridge,language)=${CHANNEL(language)})
same => n,Set(CONFBRIDGE(user,announce_user_count)=no)
same => n,Set(CONFBRIDGE(user,announce_join_leave)=no)
same => n,Set(CONFBRIDGE(user,announce_only_user)=no)
same => n,Set(CONFBRIDGE(user,music_on_hold_when_empty)=yes)
same => n,ConfBridge(${CONFNO},,,nway_menu)
same => n,Goto(nway-invite,s,1)
[macro-nway-start]
exten => s,1,Set(__CONFNO=${UNIQUEID})
same => n,ChannelRedirect(${BRIDGEPEER},nway-conf,${CONFNO},1)
same => n,Read(NEW_CALLEE,dial,20,i)
; Add dynamic features for n-way invite
same => n,Set(DYNAMIC_FEATURES=${DYNAMIC_FEATURES_NWAYINV})
; Determine dialing context and dial
same => n,ExecIf($[${REGEX("H" ${DIAL_OPTIONS})} = 0]?Set(_DIAL_OPTIONS=${DIAL_OPTIONS}H))
same => n,Set(CALLER=${CALLERID(num)})
same => n,Set(DIALOUT_CONTEXT=${SIPPEER(${CALLER},context)})
same => n,ExecIf($["${DIALOUT_CONTEXT}" = ""]?Set(DIALOUT_CONTEXT=from-internal))
same => n,Dial(Local/${NEW_CALLEE}@${DIALOUT_CONTEXT},,gH)
same => n,Set(DYNAMIC_FEATURES=${DYNAMIC_FEATURES_NWAY})<
same => n,ChannelRedirect(${CHANNEL(name)},nway-conf,${CONFNO},1)

3) Сервисные коды Asterisk:

features.conf

[featuremap]
disconnect=**
[applicationmap]
nway-start => *0,self,Macro,nway-start
nway-ok => #,self/caller,Macro,nway-ok>


extensions.conf

[globals]
DYNAMIC_FEATURES = feature1#feature2#nway-start
DYNAMIC_FEATURES_NWAY = feature1
DYNAMIC_FEATURES_NWAYINV = feature2#nway-ok

Здесь:

disconnect - стандартный сервисный код Asterisk, вызывающий завершение текущего вызова.
feature1, feature2 - другие пользовательские сервисные коды, настроенные на Asterisk (на разных этапах конференции можно делать доступными разные сервисные коды)
DYNAMIC_FEATURES_NWAY - сервисные коды, доступные во время n-стороннего вызова
DYNAMIC_FEATURES_NWAYINV - сервисные коды, доступные во время приглашения в n-сторонний вызов

asterisk, dahdi, настройка, инструкция, VoIP, коды, Channel, for, callerid, centOS