Показаны сообщения с ярлыком asterisk. Показать все сообщения
Показаны сообщения с ярлыком asterisk. Показать все сообщения

14 ноября 2011 г.

Ubuntu 10.04 & Asterisk 1.8

И все таки, готовые сборки с прикрученными графическими инструментами для управления Asterisk - это не очень хорошо. В том плане, что если ты не понимаешь логику функционирования asterisk, то с помощью ГУИ ты, конечно, настроишь то, что тебе надо. Но как только понадобиться лезть куда-то глубже.. ГУИ будут только мешать.
И опять же, зачастую готовые сборки идут на базе CentOS. Не спорю, возможно весьма хороший дистрибутив линукса. Но к RedHad подобным системам я не привык. Debian (Ubuntu) - как то ближе. Есть, кстати, хороший (наверное) дистрибутив на базе Gentoo - AstPBX (http://asteriskpbx.ru). Без всяких графических инструментов, только конфиги.
Ну так вот, решил я поставить ubuntu-server с длительным сроком поддержки, а на него asterisk, также с длительным сроком поддержки.
Писать очередную хау-тушку об установке и настройке астериска особо не хочется, так, для себя, черкну немного.
Про установку ubuntu server 10.04 рассказывать ничего не буду, ибо нечего =)
Ставим asterisk. Конечно, рекомендуется собирать из исходных кодов, но лениво =)
В стандартных репозиториях убунты есть версия (на ноябрь 2011 года) asterisk 1.6.
Подключаем официальный репозиторий астериска и ставим необходимые пакеты из него.

sudo apt-get install python-software-properties
sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 175E41DF
sudo add-apt-repository "deb http://packages.asterisk.org/deb `lsb_release -cs` main"
sudo add-apt-repository "deb-src http://packages.asterisk.org/deb `lsb_release -cs` main"
sudo apt-get update
sudo apt-get install asterisk-1.8

После этого можно приступить к настройкам астериска. Как минимум, создать несколько sip-аккаунтов, которые могли бы звонить друг другу.
Сделаем бэкап файла sip.conf
mv /etc/asterisk/sip.conf /etc/asterisk/sip.conf_sample
Начнем с редактирования файла /etc/asterisk/sip.conf.

[general]
context=default
allowguest=no
bindport=5060
bindaddr=0.0.0.0

[320]
type=friend
context=phones
host=dynamic
secret=user1_password

[321]
type=friend
context=phones
host=dynamic
secret=user2_password 

Поскольку мы хотим как направлять вызовы в программный телефон, так и обеспечить клиенту возможность размещать вызовы, параметр type (тип) был определен как friend (друг). Существует еще два параметра: user (пользователь) и peer (равноправный участник сети). С точки зрения Asterisk user задается для входящих вызовов, а peer – для исходящих звонков (через приложение Dial()). friend – это просто краткая запись, определяющая и пользователя, и равноправного участника. Если есть сомнения, задавайте тип friend. Опция host (хост) используется для определения местонахождения клиента в сети, когда Asterisk необходимо направить ему вызов. Это значение может быть задано статически, например host=192.168.1.100, или, если клиент имеет динамический IP-адрес, задается host=dynamic. Если для опции host задано значение dynamic и клиент сконфигурирован для автоматической регистрации, Asterisk получит от конечной точки (то есть от телефонного аппарата или программного телефона) пакет REGISTER, из которого Asterisk сможет узнать, какой IP-адрес использует равноправный SIP-участник. Если вы не доверяете своей сети, вероятно, следует задать пароль. Для этого в описание устройства добавляется следующая строка. Это один из тех параметров, которые не являются обязательными, но желательны:
secret=user1_password
Сделаем бэкап файла extensions.conf
mv /etc/asterisk/extensions.conf /etc/asterisk/extensions.conf_sample
После этого можно создать заново данный файл с примерно следующим содержанием:
[globals]

[general]
autofallthrough=yes

[phones]
exten => _3XX,1,Dial(SIP/${EXTEN})
exten => _3XX,n,Hangup()

После внесения изменений в этот файл, необходимо делать dialplan reload.
И почему то все это заработало только после core restart now.
После этого звонить друг другу должно получаться без проблем.
Помогли следующие источники:



26 октября 2011 г.

Elastix

Вообще, повозится с Asterisk мне хотелось достаточно давно. Но как то все не до этого было.
А тут у меня появился новый начальник, который решил, что надо бы нам его попробовать.
Но сам он до этого пользовался какой-то уже готовой сборкой, название которой, он, правда, уже не вспомнит.
Мне же лично хотелось неторопливо и вдумчиво почитать документацию, с нуля настраиваю попутно систему в тестовом режиме. Чтобы при этом никто не стоял над душой.
Но придется, по крайней мере пока, использовать готовое решение. 
В принципе, большинство этих готовых  решений отличается не сильно. Ну подумаешь, правится все не через конфиги, а через ГУИ. Внутри то почти одно и тоже. Другое дело, что с использованием настройки через ГУИ ты зачастую не видишь внутренних закономерностей в работе продукта. А это грустно. Ладно, попробую этим заняться на досуге.
 
С другой стороны.. (дальше будут использоваться фрагменты различных статей).

Использование стандартного дистрибутива Linux, пусть даже хорошо известного администратору, имеет свои слабые стороны. В пакетных репозитариях сегодня редко встретишь полный набор необходимых программ (да еще и последних версий), а значит, все придется собирать, устанавливать и обновлять вручную. Это займет много времени и сил, ведь кроме системы, зависимостей, Asterisk и драйверов к оборудованию VoIP, придется разбираться с установкой веб-интерфейса, системы учета звонков и т.д. Специализированное решение не требует глубоких знаний (хотя они и приветствуются), – настройки просты и понятны любому, кто хорошо представляет конечный результат. Разработчики обычно сами следят за новинками ПО и предлагают обновления при помощи собственных репозитариев.
После анализа вариантов готовых решений был выбран Elastix (elastix.org). 

24 октября 2011 г.

Asterisk. Требования к ресурсам.

С точки зрения требований к ресурсам Asterisk подобна встроенным системам реального времени преимущественно тем, что она должна иметь приоритетный доступ к процессору и системным шинам. Поэтому крайне важно, чтобы все остальные функции системы, не связанные напрямую с задачами Asterisk по обработке вызовов, если таковые вообще выполняются, должны выполняться с более низким приоритетом. Для небольших и любительских систем это может и не представлять особой проблемы. Однако для высокопроизводительных систем недостаточная производительность будет вызывать проблемы с качеством аудиосигнала, получаемого пользователем, часто в виде эха, помехи т. п. Примерно так ведут себя устройства мобильной связи при выходе из зоны обслуживания, но здесь причина этих проблем другая. По мере увеличения нагрузки на систему будут возрастать сложности с обслуживанием соединений. Для офисной АТС подобная ситуация – настоящая катастрофа, поэтому в процессе выбора платформы требования к производительности должны быть решающим критерием.

Размер системы Asterisk на самом деле определяется не количеством пользователей или телефонных аппаратов, а, скорее, количеством одновременных вызовов, которые система должна будет поддерживать. Эти цифры очень приблизительны, поэтому экспериментируйте и выбирайте наиболее подходящий для себя вариант.