Категория: Инструкции
Asterisk - это открытый программный сервер телефонии, значительно превосходящий по функционалу все другие существующие решения для организации офисных АТС. включая самые дорогие отдельные телефонные станции Enterprise класса. В сочетании с необходимым интерфейсным оборудованием, обеспечивающим подключение к компьютера к существующим телефонным сетям, Asterisk может воистину всё, что вы только способны себе представить, и даже больше. И это при том, что сам Asterisk является полностью открытым проектом - вам необходимо всего лишь купить интерфейсные платы и подходящий по мощности компьютер, и вы сможете создать АТС любого уровня и сложности. Компьютер на базе Intel Atom с пассивным охлаждением способен обслужить до 50 внутренних и внешних линий.
Голосовое меню, автоответчики, голосовая почта с доставкой аудиофайлов на email ящики, поддержка всех существующих протоколов обмена голосом и кодеков для них, видеозвонки и передача текстовой информации, возможность коммутации различных каналов, например, SIP и обычного телефона - это далеко не полный список возможностей Asterisk.
Asterisk доступен в репозиториях Ubuntu, однако настоятельно рекомендуется всегда ставить самую последнюю версию с официального сайта. вручную компилируя её и все необходимые дополнительные модули.
Базовая установка Asterisk состоит из четырёх частей:
Библиотека LibPRI. Эта библиотека предназначена для работы с потоковыми TDM-интерфейсами ISDN: PRI (Primary Rate Interface) и BRI (Basic Rate Interface).
Модули поддержки телекоммуникационного оборудования DAHDI.
Собственно сам сервер Asterisk.
Ставить их необходимо именно в таком порядке. Если у вас нет никакого внешнего оборудования, то можно ограничиться установкой чистого Asterisk, однако разработчики всегда рекомендуют ставить полный пакет. Все необходимые пакеты с исходным кодом можно скачать на официальном сайте:
Имейте ввиду, модули и утилиты DAHDI можно загрузить по отдельности, а можно в виде одного пакета DAHDI Complete. При этом в названии пакета DAHDI Complete всегда содержится два номера версии - первый для включённого в него пакета модулей DAHDI Linux, а второй - для DAHDI Tools. Вообще говоря эти номера могут и не совпадать.
Для сборки Asterisk вам потребуется компилятор GCC и некоторые сопутствующие библиотеки.Минимальный же набор необходимого можно поставить командой:
Если вы собираете DAHDI кроме самого Asterisk, то так же понадобятся исходники ядра.
Чтобы поставить всё необходимое достаточно просто запустить скрипт install_prereq из каталога contrib/scripts/ в исходных текстах Asterisk с параметром install. Например, вот так:
Однако этот скрипт ставит очень много по сути бесполезного мусора.
В статье будет описан процесс установки для сервера 12.04. Начнем с установки необходимых библиотек и дополнительных пакетов.
Качаем исходники DAHDI с утилитами. Распаковываем, и входим в каталог с исходниками.
В конце появится сообщение, что не найдены устройства DAHDI, ничего страшного. Даже если нет оборудования, драйверами эмулируется внутренний таймер, использующийся, к примеру, для корректной работы конференции.
Качаем LibPRI. Распаковываем, и входим в каталог с исходниками.
Если не планируется использование факсов, этот шаг можно пропустить.
Качаем spandsp. Распаковываем, и входим в каталог с исходниками.
Статья модифицирована под Asterisk 13 LTS. т.к. старыми версиями врядли кто уже будет пользоваться.
Как было указано выше, берем последнюю LTS версию с официального сайта. а именно, со страницы загрузки всех версий, распаковываем и заходим в каталог исходников. В новых версиях Asterisk необходима установка дополнительных библиотек для работы WebRTC. Для этого выполняем скрипт, входящий в комплект исходников Asterisk.
После установки библиотек необходимо установить дополнительные пакеты libsrtp и pjproject, т.к. они необходимы для работы WebRTC.
Жмем Ctrl+D для выхода из рутовой консоли.
Вот теперь можно продолжить установку Asterisk. Выполняем
Если всех библиотек хватает, вы должны увидеть сообщение об успешном выполнении и лого Asterisk.
Если вы делаете установку по ssh, то предварительно должны убедиться, что размер терминала больше, чем 80×25. Здесь необходимо включить нужные модули для компиляции. К примеру, в разделе Add-ons я включил модули format_mp3, app_mysql, cdr_mysql, т.к. дальше планируется установка панели управления FreePBX. В разделе Core Sound Packages включаем CORE-SOUNDS-EN-ALAW, CORE-SOUNDS-EN-GSM, CORE-SOUNDS-EN-G729, CORE-SOUNDS-RU-ALAW, CORE-SOUNDS-RU-GSM, CORE-SOUNDS-RU-G729 (куда же без великого и могучего ).
Кратко поясню, для чего в трех кодеках. Для разных транков и внутренних номеров могут использоваться различные кодеки. Устанавливаемая АТС будет использовать основным кодеком alaw, потому что, к примеру, в Казахстане провайдер Казахтелеком использует для SIP телефонии как раз его и g729. В этом случае, будет использоваться меньше ресурсов сервера для транскодирования аудиопотоков. Внутренние номера так же будут использовать alaw, номера, подключаемые снаружи, через внешний интернет, будут работать на g729a, для уменьшения нагрузки на канал. В качестве терминала могут использоваться смартфоны с установленным SIP клиентом. Устойчивая связь была проверена при использовании этого кодека даже на EDGE, не говоря уже про 3G. Кодек GSM будет использоваться в GSM шлюзах.
Далее в разделе Music On Hold File Packages включаем модуль MOH-OPSOUND-WAV просто для того, чтоб он установился. После установки эти мелодии можно будет заменить на свои. Последний раздел Extras Sound Packages. Тут опять же включаем модули для выбранных кодеков ALAW, GSM и G729. Из корневого раздела нажимаем Esc и видим, что нам предложили три варианта выхода. Смело жмем S для сохранения сделанных изменений.
Поскольку мы включили поддежку mp3, то выполняем
Пьем кофе минут 10-30, в зависимости от мощности компьютера и толщины канала. Будут качаться архивы звуковых сообщений. Ну вот, все скачалось, установилось. Создаем тестовые конфиги.
И мы уже можем сделать первый запуск нашей станции.
Для того, чтоб не сочинять скрипт автозапуска выполняем
Теперь мы уже можем запустить нашу станцию как демон.
И подключиться к его консоли.
Выйти из консоли можно по Ctrl+C или набрав quit и нажав Enter. Осталось взять модуль кодека g729 с русской страницы проекта. который больше соответствует конфигурации вашего железа и положить его в /usr/lib/asterisk/modules. Затем следует перезагрузить Asterisk, или загрузить модуль из консоли управления.
Asterisk запускается от пользователя root!
Сделаем ему отдельного пользователя, предварительно остановив Asterisk, если запустили, добавим его в нужные группы.
Создадим каталог запуска.
Изменим права на нужные каталоги.
В файле /etc/default/asterisk раскомментируем две строчки. AST_USER=«asterisk» AST_GROUP=«dialout»
Вот теперь можно запустить Asterisk.
Смотрим, от какого пользователя запустился Asterisk.
Вот, собственно, и весь процесс установки этого замечательного продукта.
Для ознакомления с языком программирования Asterisk, можете почитать книгу Asterisk™ - будущее телефонии. А, изучив язык программирования и структуру конфигурационных файлов Asterisk, вы будете обладать поистине безграничными возможностями «взрослой» АТС в вашем офисе. Хотя, вопреки различным оппозиционно настроенным к этому продукту людям, называть этот продукт «детской АТС» или «недостанцией», по меньшей мере, неправильно. Есть поклонники АТС Panasonis, есть Nortel. У каждой есть свои преимущества. Но нет основного, бесплатности. Тот же Panasonic берет деньги за лицензии на внешние подключения, лицензии на системный телефон, берет еще за множество вещей, которые в Asterisk уже есть. Если у вас в офисе 4-6 телефона и одна внешняя линия, тут, бесспорно, лучше взять недорогую железку, прокинуть провода и настроить АТСку как надо. При количестве телефонов больше 8, лучше уже перейти на цифру. В таких офисах уже есть, как правило, сетевая инфраструктура. Встроить в нее несколько SIP телефонов и станцию будет не сложно. О преимуществах перед аналоговой станцией говорить не приходится. Никаких подвижных контактов, коммутирующих элементов. Никаких плинтов, кроссов, если не используется аналоговая часть. Безпроблемное подключение различных VoIP и GSM шлюзов, интеграция с провайдерами IP телефонии. Объединение офисов в других городах в общее адресное пространство. Автообзвон клиентов, получение и передача данных в различные бухгалтерские и CRM системы. При всем при этом, система достаточно безопасна в пользовании при правильной настройке. Хотелось бы надеяться, что данная статья кому-то поможет установить Asterisk.
Удачи в освоении продукта!
Инструкция написана для Asterisk 1.8 на Ubuntu server 9.04. Задача - привязать к астериску аккаунт скайп, чтобы принимать звонки из скайпа на SIP телефон, и звонить с SIP телефона по скайпу. Для этого существует штатное расширение Asterisk производства Digium, но оно коммерческое и лицензии стоят денег. Однако, существует свободный проект - SipToSis. позволяющий сделать то же самое.
Для запуска Skype в консольном Linux используем Xvfb (X Virtual Frame Buffer) и для настройки Skype с другой машины - x11vnc:
Скачаем и установим собственно Skype: Качаем последнюю версию с http://www.skype.com. устанавливаем:
Для работы SipToSis необходима Java версии не ниже 1.5.
Добавляем репозитарий webupd8team. Более подробную информацию можете прочитать на https://launchpad.net/
Разархивируем в /etc/siptosis и проставим chmod на исполняемый файл:
Теперь настроим asterisk.
В users.conf добавим:
В extensions.conf добавим
И перезагрузим asterisk.
Теперь правим конфиг SipToSis:
Закомментируем блок настроек, начинающийся с »#Sample AUTO config with NO registration » Раскомментируем блок »#Sample Asterisk registration example », поправим:
Подключаемся с другой машины (в моем случае, с Windows XP через VNC Viewer), вводим в Skype логин-пароль, отключаем все лишнее.
Если все сделано правильно, SipToSis запустится и попытается подключиться к Skype. Skype выдаст вопрос - разрешить ли подключение. Разрешаем и ставим галку «запомнить».
Проверяем: набираем с подключенного к Asterisk клиента 1001 - мы должны услышать тестовый звонок Skype.
Чтобы принимать входящие звонки, в /etc/siptosis/SkypeToSipAuth.props прописываем соответствующее правило. Например:
-перенаправлять все входящие звонки Skype SIP-юзеру «user1».
Естественно, нужно создать в extensions.conf контекст » Skype », в котором разрешить звонки на этот extension.
Asterisk: будущее телефонии — книга, с которой следует начинать серьёзное знакомство с Asterisk
Установить “Звездочку” можно двумя способами, компиляции из исходных кодов и установка готовых бинарных файлов для определенной ОС (Redhat/CentOS/Fedora, Debian и т.д.).
Начнем с компиляции Asterisk из исходных кодов.
Данный вид установки рекомендуется если необходима последняя стабильная версия Asterisk, в готовых бинарных файлах как правило устаревшие версии. Первым делом рекомендуется установить недостающие обновления в CentOS:
Для корректной компиляции libpri и работы кодеков, отключаем SELinux. Отрываем в текстовом редакторе файл /etc/sysconfig/selinux и изменяем следующую строку:
Для применения параметров перезагружаем систему:
Устанавливаем необходимые инструменты для сборки:
Создаем каталог для распаковки Asterisk:
Теперь приступаем к загрузке с официального сайта Asterisk :
Так же скачиваем необходимую библиотеку LibPRI и драйвера каналов DAHDI (если имеются платы цифровых интерфейсов: E1, FXO, FXS и др.).
Распаковываем загруженные пакеты:
Установка драйвера каналов DAHDI :Первым этапом производим установку DAHDI
Добавляем dahdi в автозапуск и стартуем:
Установка библиотеки LibPRI.Вторым этапом производим установку библиотеки LibPRI :
Установка сервера AsteriskТретьим этапом переходим в распакованный каталог Asterisk и производим проверку конфигурации:
Если в процессе проверки появляются следующие ошибки:
то устанавливаем недостающие пакеты:
Устанавливаем jansson из исходников:
При успешной компиляции Asterisk мы увидим следующее:
Выбрать дополнительные опции и модули Asterisk можно выполнив следующую команду:
Внешний вид консольного меню:
После выбора необходимых модулей и опций завершаем установку Asterisk:
Окончание сборки и инсталляции:
После инсталляции создаем конфиги и добавляем Asterisk в автозапуск:
Для проверки запускаем инициализацию пользовательских параметров конфигурации в консоли сервера Asterisk:
Перед приглашением ввода команды произойдет загрузка необходимых Asterisk модулей и библиотек:
Для выхода из консоли CLI нажимаем комбинацию клавиш Ctrl+C .
Теперь запускаем Asterisk в качестве службы и заходим в консоль сервера:
Проверим версию Asterisk:
В конце, пропишем правила iptables для SIP, RTP, IAX, AMI:
После, сохраняем настройки iptables :
Установка Asterisk из готовых бинарных файлов с помощью менеджера YUM.Устанавливаем репозитарий Asterisk:
Установка Asterisk 12:
Установка DAHDI и необходимые библиотеки, включая libpri :
Как и в первом случае также добавляем в автозагрузку, стартуем сервис и добавляем правила в iptables :
Проверяем версию Asterisk:
Пошаговая инструкция по организации связи в простом маленьком офисе описана в статье - Настройка внешних и внутренних SIP номеров в Asterisk
Created by yuri . Last Modification: Пятница 17 / Март, 2006 15:52:28 MSK by yuri .
Настройка АТС Asterisk для использования услуги «МультиФон»
Некоторое время назад Мегафон начал предоставлять уникальную в рамках российских операторов сотовой связи услугу — входящие/исходящие вызовы по протоколу SIP. На базовом уровне это означает появление у рядового клиента двух новых возможностей:
Поскольку сервер телефонии Asterisk работает по протоколу SIP и является полноценной АТС с самым современным функционалом, у корпоративных пользователей появляются более «продвинутые» варианты использования услуги, такие как: запись переговоров, голосовая почта, голосовое меню (IVR), черный список, и даже очереди call-центра.
В статье предлагается упрощенная, пошаговая инструкция по настройке Asterisk для использования «МультиФон».
1. Подключение услуги у оператораНаиболее доступный вариант подключения услуги — USSD запрос *137#. В ответ придет SMS с паролем для SIP-аккаунта. Для дальнейшей настройки АТС ничего больше не требуется.
2. Настройка Asterisk на примере FreePBXdefaultuser=79XXXXXXXXX
fromuser=79XXXXXXXXX
host=multifon.ru
fromdomain=multifon.ru
type=peer
insecure=invite
dtmfmode=inband
disallow=all
allow=alaw
nat=yes
secret=
Проверка успешности регистрации АТС на сервере Мегафона выполняется командой sip show registry из консоли (CLI) Asterisk:
line24*CLI> sip show registry
Host Username Refresh State Reg.Time
multifon.ru:5060 79312553709 3585 Registered Tue, 03 May 2011 17:56:40
Если регистрация не прошла, рекомендуем установить параметр
srvlookup=yes
в файле /etc/asterisk/sip_general_custom.conf – по крайней мере в ветке 1.6.0 он является необходимым.
Создание входящего маршрута:
Необходимо указать «Номер DID» в формате: 79XXXXXXXXX, включить «Сигнализацию вызова» (например, для корректной передачи музыки на удержании) и установить нужное направление.
Настройку АТС можно считать завершенной.
3. Переключение режима приема входящих звонков (роутинга)Для управления режимом приема звонков в реальном времени, Мегафон предоставляет простой программный интерфейс на основе HTTP(S) запросов, которые можно выполнять прямо из адресной строки браузера. В качестве параметров передается номер абонента, пароль и идентификатор вида роутинга.
Предусмотрено 3 вида роутинга:
0 — прием только на мобильный
1 — только SIP (на сервер Asterisk)
2 — параллельный вызов
Пример переключения приема только на сервер Asterisk:
Для просмотра текущей настройки используется дополнительный запрос в формате:
4. Использование режима «параллельный вызов» в AsteriskВ режиме параллельный вызов (routing=2) оборудование оператора пытается маршрутизировать звонок одновременно в GSM и SIP сеть. Поскольку инициализация вызова в SIP происходит как правило быстрее, появляются дополнительные возможности по управлению роутингом прямо из dial-плана Asterisk:
Почти всякий раз, когда речь заходит о выборе web-интерфейса к asterisk, в ход идут рекомендации «тяжелой артиллерии»: trixbox, elastix, freepbx. Asterisk GUI остается эдакой «темной лошадкой»: вроде и слышали о нем, вроде и скриншоты симпатишные, а реально работающих систем — с гулькин нос. Частично это объясняется новизной, необкатанностью продукта. Частично — отсутствием документации. Частично — иннертностью сообщества. Попытаемся сдвинуть дело с мертвой точки…
В статье — пошаговые инструкции, как установить и настроить Asterisk с Asterisk GUI.
Приступим… Качаем исходный код из svn и собираем. Можно скопировать нижеприведеные комманды в консоль и откинуться на спинку кресла в ожидании.
svn co svn.digium.com/svn/asterisk/branches/1.6.0 asterisk
cd asterisk
./configure && make && make install && make samples && make config
cd.
svn co svn.digium.com/svn/asterisk-gui/branches/2.0 asterisk-gui
cd asterisk-gui
./configure && make && make install
cd.
После того как процесс сборки завершился, отредактируем два конфигурационных файла:
/etc/asterisk/manager.conf должен выглядеть примерно так:
[general]
enabled = yes
webenabled = yes
port = 5038
bindaddr = 127.0.0.1
[admin]
secret = 123456
read = system,call,log,verbose,agent,user,config,dtmf,reporting,cdr,dialplan
write = system,call,agent,user,config,command,reporting,originate
А /etc/asterisk/http.conf — так:
[general]
enabled = yes
enablestatic = yes
bindaddr = 0.0.0.0
redirect = / /static/config/cfgbasic.html
[post_mappings]
backups = /var/lib/asterisk/gui_backups
Запускаем asterisk:
/etc/init.d/asterisk start
На этом процесс установки завершен.
Рассмотрим простой случай. У нас в системе один пользователь (один VoIP-телефон). Есть SIP транк к провайдеру my.sip.trunk.com. Провайдер предоставил нам один пробный номер — 7692450. Наша задача — дать нашему единственному пользователю возможность звонить и принимать звонки.
На рабочей машине запускаем браузер и вбиваем в адресной строке x.x.x.x:8088, где x.x.x.x — IP машины, на которой установлены Asterisk и Asterisk GUI. Вводим имя пользователя и пароль, и жмем кнопку login.
После непродолжительных сообщений о обновлениях конфигурационных файлов (система будет пытаться определить, установлено ли у нас какое-нибудь digium-железо) мы попадем на главную страничку.
Прежде всего сконфигурируем SIP-транк к провайдеру. Заходим в «Trunks», «VoIP Trunks» и жмем «New SIP/IAX Trunk». Заполняем поля в окошке по аналогии с тем, что на картинке.
Сконфигурируем правило для исходящих звонков: все исходящие звонки — отправлять в только что созданный транк. Идем в «Outgoing Calling Rules». Жмем «New Calling Rule» и заполняем поля в окошке.
Сконфигурируем план звонков (Dialplan). Dialplan — не что иное как группа правил для исходящих звонков. В нашем случае у нас всего одно правило. Итак, идем в «Dial Plans», жмем «New DialPlan». В окошке отмечаем галочкой созданное на предыдущем шаге правило.
Создаем пользователя. Идем в «Users». Жмем «Create New User». Определяем нашему пользователю имя (CallerID Name), номер для исходящих звонков (CallerID Number) и план звонков.
Осталось определить правило для входящих звонков. Тема эта довольно интересна сама по себе и тянет на отдельную статью. Дело в том, что входящий звонок можно загнать в интерактивное меню («to contact technical support — press 1, to contact sales department — press 2, to speak with an operator — press 0»), отправить сразу нескольким телефонам одновременно (пока кто-нибудь не снимет трубку), отправить в автоответчик, если никто не отвечает n секунд, переадресовать на мобильный… и много еще чего. Мы же скромно направим входящие звонки нашему единственному пользователю. Итак, идем в «Incomming Calling Rules», жмем «New Incomming Rule» и заполняем поля в окошке по аналогии с тем что на картинке.
Ну вот и все. Жмем кнопку «Apply Changes» в верхнем правом углу.
Надеюсь, кому-нибудь эта статья будет полезна.