Сервер телефонии Asterisk Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Последняя версия Следующая версия справа и слева
wiki:asterisk [2014/02/21 22:49]
[Звонки с/на Skype]
wiki:asterisk [2017/02/04 13:19]
[Постскриптум]
Строка 5: Строка 5:
 Голосовое меню, автоответчики,​ голосовая почта с доставкой аудиофайлов на email ящики, поддержка всех существующих протоколов обмена голосом и кодеков для них, видеозвонки и передача текстовой информации,​ возможность коммутации различных каналов,​ например,​ SIP и обычного телефона - это далеко не полный список возможностей Asterisk. Голосовое меню, автоответчики,​ голосовая почта с доставкой аудиофайлов на email ящики, поддержка всех существующих протоколов обмена голосом и кодеков для них, видеозвонки и передача текстовой информации,​ возможность коммутации различных каналов,​ например,​ SIP и обычного телефона - это далеко не полный список возможностей Asterisk.
  
-===== Установка ​из репозитория ​=====+===== Общие вопросы =====
  
 Asterisk доступен в репозиториях Ubuntu, однако настоятельно рекомендуется всегда ставить самую последнюю версию с [[http://​www.asterisk.org/​|официального сайта]],​ вручную компилируя её и все необходимые дополнительные модули. Asterisk доступен в репозиториях Ubuntu, однако настоятельно рекомендуется всегда ставить самую последнюю версию с [[http://​www.asterisk.org/​|официального сайта]],​ вручную компилируя её и все необходимые дополнительные модули.
Строка 22: Строка 22:
 Имейте ввиду, модули и утилиты DAHDI можно загрузить по отдельности,​ а можно в виде одного пакета DAHDI Complete. При этом в названии пакета DAHDI Complete всегда содержится два номера версии - первый для включённого в него пакета модулей DAHDI Linux, а второй - для DAHDI Tools. Вообще говоря эти номера могут и не совпадать. Имейте ввиду, модули и утилиты DAHDI можно загрузить по отдельности,​ а можно в виде одного пакета DAHDI Complete. При этом в названии пакета DAHDI Complete всегда содержится два номера версии - первый для включённого в него пакета модулей DAHDI Linux, а второй - для DAHDI Tools. Вообще говоря эти номера могут и не совпадать.
  
-Для сборки Asterisk вам потребуется компилятор GCC и некоторые сопутствующие библиотеки. ​Чтобы поставить всё ​необходимое достаточно просто запустить ​скрипт ''​install_prereq''​ из каталога ''​contrib/​scripts/''​ в исходных текстах Asterisk с параметром ''​install''​. Например,​ вот так:+Для сборки Asterisk вам потребуется компилятор GCC и некоторые сопутствующие библиотеки.Минимальный же набор ​необходимого можно поставить командой:
  
 <code bash> <code bash>
-sudo ./​contrib/​scripts/​install_prereq ​install+sudo apt-get ​install ​build-essential libncurses5-dev openssl libxml2-dev
 </​code>​ </​code>​
  
-Однако этот ​скрипт ставит очень много ​по сути бесполезного мусора. ​Минимальный же набор необходимого можно поставить командой:+Если вы собираете DAHDI кроме самого ​Asterisk, то так же понадобятся исходники ядра. 
 + 
 +===== Установка из репозитория ===== 
 + ​Чтобы поставить всё ​необходимое достаточно просто запустить ​скрипт ''​install_prereq''​ из каталога ''​contrib/​scripts/''​ в исходных текстах Asterisk с параметром ''​install''​. Например,​ вот так:
  
 <code bash> <code bash>
-sudo apt-get ​install ​build-essential libncurses5-dev openssl libxml2-dev+sudo ./​contrib/​scripts/​install_prereq ​install
 </​code>​ </​code>​
  
-Если вы собираете DAHDI кроме самого ​Asterisk, то так же понадобятся исходники ядра+Однако этот ​скрипт ставит очень много ​по сути бесполезного мусора
 FIXME FIXME
  
Строка 42: Строка 44:
 В статье будет описан процесс установки для сервера 12.04. Начнем с установки необходимых библиотек и дополнительных пакетов. В статье будет описан процесс установки для сервера 12.04. Начнем с установки необходимых библиотек и дополнительных пакетов.
 <code bash> <code bash>
-sudo apt-get install libncurses5-dev openssl libssl-dev zlib1g zlib1g-dev mpg123 linux-headers-`uname -r` build-essential mysql-server libmysqlclient15-dev php5 php5-cli php5-mysql php5-gd php-pear apache2 curl sox bison flex cpp g++ gcc make libauthen-pam-perl libio-pty-perl libnet-ssleay-perl libxml2 libxml2-dev ​libtiff4 libtiff4-dev libaudiofile-dev subversion libsqlite3-dev</​code>​+sudo apt-get install libncurses5-dev openssl libssl-dev zlib1g zlib1g-dev mpg123 linux-headers-`uname -r` build-essential mysql-server libmysqlclient15-dev php5 php5-cli php5-mysql php5-gd php-pear apache2 curl sox bison flex cpp g++ gcc make libauthen-pam-perl libio-pty-perl libnet-ssleay-perl libxml2 libxml2-dev ​libtiff5 libtiff5-dev libaudiofile-dev subversion libsqlite3-dev libghc-uuid-dev uuid-dev libgtk2.0-dev</​code>​
  
 [[http://​www.asterisk.org/​downloads/​dahdi|Качаем исходники DAHDI с утилитами.]] [[http://​www.asterisk.org/​downloads/​dahdi|Качаем исходники DAHDI с утилитами.]]
Строка 70: Строка 72:
  
  
-<​note>​Установка описана для Asterisk ​1.8.19.0 ​LTS, т.к. версия ​11 отличается от данной линейки.</​note>​ +<​note ​tip>Статья модифицирована ​под Asterisk ​13 LTS, т.к. ​старыми ​версиями врядли кто уже будет пользоваться.</​note>​ 
-Как было указано выше, берем последнюю LTS версию с [[http://​www.asterisk.org/​|официального сайта]],​ распаковываем и заходим в каталог исходников. +Как было указано выше, берем последнюю LTS версию с [[http://​www.asterisk.org/​|официального сайта]], а именно,​ со [[http://​www.asterisk.org/​downloads/​asterisk/​all-asterisk-versions|страницы загрузки]] всех версий, распаковываем и заходим в каталог исходников. В новых версиях Asterisk необходима установка дополнительных библиотек для работы [[wpru>​WebRTC]]. Для этого выполняем скрипт,​ входящий в комплект исходников Asterisk
-Выполняем+<code bash> 
 +contrib/​scripts/​install_prereq install 
 +</​code>​ 
 +После установки библиотек необходимо установить дополнительные пакеты libsrtp и pjproject, т.к. они необходимы для работы [[wpru>​WebRTC]]. 
 +<code bash> 
 +.contrib/​scripts/​install_prereq install-unpackaged 
 +</​code>​ 
 + 
 +Если вдруг возникнут ошибки,​ собираем всё ручками. 
 +<code bash> 
 +sudo su 
 +cd /usr/src/ 
 +git clone https://​github.com/​cisco/​libsrtp.git 
 +cd libsrtp 
 +./configure CFLAGS=-fPIC 
 +make libsrtp.a 
 +make uninstall 
 +make install 
 +cd .. 
 +echo "/​usr/​local/​lib"​ > /​etc/​ld.so.conf.d/​usr_local.conf 
 +ldconfig 
 + 
 +git clone https://​github.com/​asterisk/​pjproject.git 
 +cd pjproject 
 +./configure --enable-shared --with-external-speex --with-external-gsm --with-external-srtp --disable-sound --disable-resample 
 +make dep 
 +make 
 +make install 
 +ldconfig 
 +</​code>​ 
 +Жмем <​key>​Ctrl+D</​key>​ для выхода из рутовой консоли. 
 + 
 +Вот теперь можно продолжить установку Asterisk. ​Выполняем
 <code bash> <code bash>
 ./configure ./configure
Строка 147: Строка 181:
 sudo chmod -R u=rwX,​g=rX,​o= /​etc/​asterisk sudo chmod -R u=rwX,​g=rX,​o= /​etc/​asterisk
 </​code>​ </​code>​
-В файле /​etc/​asterisk/​asterisk.conf заменяем 
-**astrundir => /var/run** 
-на 
-**astrundir => /​var/​run/​asterisk**. 
 В файле /​etc/​default/​asterisk раскомментируем две строчки. В файле /​etc/​default/​asterisk раскомментируем две строчки.
 **AST_USER="​asterisk"​ **AST_USER="​asterisk"​
Строка 172: Строка 202:
  ​Вот,​ собственно,​ и весь процесс установки этого замечательного продукта.  ​Вот,​ собственно,​ и весь процесс установки этого замечательного продукта.
 ===== Постскриптум ===== ===== Постскриптум =====
- ​Для ознакомления с языком программирования Asterisk, можете почитать книгу [[http://​asterisk.ru/​store/​files/​Asterisk_RU_OReilly_DRAFT.pdf|Asterisk™ - будущее телефонии]]. А, изучив язык программирования и структуру конфигурационных файлов Asterisk, вы будете обладать поистине безграничными возможностями "​взрослой"​ АТС в вашем офисе. Хотя, вопреки различным оппозиционно настроенным к этому продукту людям, ​я бы не стал ​называть этот продукт "​детской АТС"​ или "​недостанцией"​. Есть поклонники АТС Panasonis, есть Nortel. У каждой есть свои преимущества. Но нет основного,​ бесплатности. Тот же Panasonic берет деньги за лицензии на внешние подключения,​ лицензии на системный телефон,​ берет еще за множество вещей, которые в Asterisk уже есть. Если у вас в офисе 4-6 телефона и одна внешняя линия, тут, бесспорно,​ лучше взять недорогую железку,​ прокинуть провода и настроить АТСку как надо. При количестве телефонов больше 8, по моему мнению, лучше уже перейти на цифру. В таких офисах уже есть, как правило,​ сетевая инфраструктура. Встроить в нее несколько SIP телефонов и станцию будет не сложно. О преимуществах перед аналоговой станцией говорить не приходится. Никаких подвижных контактов,​ коммутирующих элементов. Никаких плинтов,​ кроссов,​ если не используется аналоговая часть. Безпроблемное подключение различных VoIP и GSM шлюзов,​ интеграция с провайдерами IP телефонии. Объединение офисов в других городах в общее адресное пространство. Автообзвон клиентов,​ получение и передача данных в различные бухгалтерские и CRM системы. При всем при этом, система достаточно безопасна в пользовании при правильной настройке. Хотелось бы надеяться,​ что данная статья кому-то поможет установить Asterisk.+ ​Для ознакомления с языком программирования Asterisk, можете почитать книгу [[http://​asterisk.ru/​store/​files/​Asterisk_RU_OReilly_DRAFT.pdf|Asterisk™ - будущее телефонии]]. А, изучив язык программирования и структуру конфигурационных файлов Asterisk, вы будете обладать поистине безграничными возможностями "​взрослой"​ АТС в вашем офисе. Хотя, вопреки различным оппозиционно настроенным к этому продукту людям, называть этот продукт "​детской АТС"​ или "​недостанцией"​, по меньшей мере, неправильно. Есть поклонники АТС Panasonis, есть Nortel. У каждой есть свои преимущества. Но нет основного,​ бесплатности. Тот же Panasonic берет деньги за лицензии на внешние подключения,​ лицензии на системный телефон,​ берет еще за множество вещей, которые в Asterisk уже есть. Если у вас в офисе 4-6 телефона и одна внешняя линия, тут, бесспорно,​ лучше взять недорогую железку,​ прокинуть провода и настроить АТСку как надо. При количестве телефонов больше 8, лучше уже перейти на цифру. В таких офисах уже есть, как правило,​ сетевая инфраструктура. Встроить в нее несколько SIP телефонов и станцию будет не сложно. О преимуществах перед аналоговой станцией говорить не приходится. Никаких подвижных контактов,​ коммутирующих элементов. Никаких плинтов,​ кроссов,​ если не используется аналоговая часть. Беспроблемное подключение различных VoIP и GSM шлюзов,​ интеграция с провайдерами IP телефонии. Объединение офисов в других городах в общее адресное пространство. Автообзвон клиентов,​ получение и передача данных в различные бухгалтерские и CRM системы. При всем при этом, система достаточно безопасна в пользовании при правильной настройке. Хотелось бы надеяться,​ что данная статья кому-то поможет установить Asterisk.
  
 <note important>​Удачи в освоении продукта!</​note>​ <note important>​Удачи в освоении продукта!</​note>​
Строка 187: Строка 217:
 <​code>​dpkg -i skype.deb</​code>​ <​code>​dpkg -i skype.deb</​code>​
  
-Для работы SipToSis необходима Java версии не ниже 1.5. Установим:​ +Для работы SipToSis необходима Java версии не ниже 1.5.  
-<​code>​sudo apt-get install ​sun-java6-jre</​code>​+ 
 +Добавляем репозитарий webupd8team. Более подробную информацию можете прочитать на [[https://​launchpad.net/​~webupd8team/​+archive/​java]] 
 +<​code>​sudo add-apt-repository ppa:​webupd8team/​java  
 +sudo apt-get update</​code>​ 
 +Установим ​java
 +<​code>​sudo apt-get install ​oracle-java7-installer</​code>​
  
 [[http://​www.mhspot.com/​sts/​siptosis_download.php|Cкачаем SipToSis]]. [[http://​www.mhspot.com/​sts/​siptosis_download.php|Cкачаем SipToSis]].
Строка 197: Строка 232:
  
 Теперь настроим asterisk. ​ Теперь настроим asterisk. ​
 +
 В ''​users.conf''​ добавим:​ В ''​users.conf''​ добавим:​
 <​file>​[Skype] <​file>​[Skype]
Строка 212: Строка 248:
 busylevel=1 busylevel=1
 </​file>​ </​file>​
 +
 В ''​extensions.conf''​ добавим В ''​extensions.conf''​ добавим
 <​file>​exten => 1001,​1,​Dial(SIP/​Skype/​echo123)</​file>​ <​file>​exten => 1001,​1,​Dial(SIP/​Skype/​echo123)</​file>​
  
 И перезагрузим asterisk. И перезагрузим asterisk.
 +<​file>​sudo /​etc/​init.d/​asterisk restart</​file>​
  
 Теперь правим конфиг SipToSis: Теперь правим конфиг SipToSis:
Строка 248: Строка 286:
  
 Чтобы принимать входящие звонки,​ в ''/​etc/​siptosis/​SkypeToSipAuth.props''​ прописываем соответствующее правило. Например:​ Чтобы принимать входящие звонки,​ в ''/​etc/​siptosis/​SkypeToSipAuth.props''​ прописываем соответствующее правило. Например:​
-<​file>​*,​sip:​user1@127.0.0.1:​5060</​file> ​— перенаправлять все входящие звонки Skype SIP-юзеру ​"//user1//". Естественно,​ нужно создать в ''​extensions.conf''​ контекст "''​Skype''",​ в котором разрешить звонки на этот extension+<​file>​*,​sip:​user1@127.0.0.1:​5060</​file> ​-перенаправлять все входящие звонки Skype SIP-юзеру //"user1"//.
  
 +Естественно,​ нужно создать в ''​extensions.conf''​ контекст "''​Skype''",​ в котором разрешить звонки на этот extension. ​
 ===== Ссылки ===== ===== Ссылки =====
   * [[http://​asterisk.ru/​store/​files/​Asterisk_RU_OReilly_DRAFT.pdf|Asterisk:​ будущее телефонии]] — книга, с которой следует начинать серьёзное знакомство с Asterisk  ​   * [[http://​asterisk.ru/​store/​files/​Asterisk_RU_OReilly_DRAFT.pdf|Asterisk:​ будущее телефонии]] — книга, с которой следует начинать серьёзное знакомство с Asterisk  ​
   * [[https://​wiki.asterisk.org/​wiki/​display/​AST/​Installing+Asterisk+From+Source|Статья про установку из исходников на официальном ресурсе документации Asterisk (англ.)]]   * [[https://​wiki.asterisk.org/​wiki/​display/​AST/​Installing+Asterisk+From+Source|Статья про установку из исходников на официальном ресурсе документации Asterisk (англ.)]]
   * [[http://​www.mhspot.com/​sts/​siptosis.html|SIP to Skype Gateway]]   * [[http://​www.mhspot.com/​sts/​siptosis.html|SIP to Skype Gateway]]
 +  * [[http://​habrahabr.ru/​post/​236291/​|Подготовка Asterisk для работы с WebRTC]]
  
 {{tag>​FIXME Администрирование Asterisk Телефония}} {{tag>​FIXME Администрирование Asterisk Телефония}}