Всем студентам, у которых возникли трудности с настройкой сервера Asterisk, в частности 5-го курса нашего политеха, посвящается.
Скачиваем Zaptel и Asterisk. Скачать Asterisk можно также по адресу http://downloads.digium.com/pub/asterisk/, а Zaptel - http://downloads.digium.com/pub/zaptel/. В настоящий момент действительно нормально работает врсия 1.4, поэтому можно смело устанавливать именно ее. О решении возникших проблем читайте здесь, а также в комментариях.
Ставим Zaptel
Zaptel включает в себя набор модулей к ядру, поэтому понадобятся заголовки (includes) и исходники используемого вами ядра (kernel sources). Во время сборки скрипт загружает с сайта Digium необходимые обновления, поэтому подключение к Интернет также вполне может потребоваться. Кроме того, во время сборки Zaptel под ядро Linux 2.4, пришлось в файле .../zaptel-1.4.12.1/kernel/wctdm24xxp/base.c поставить комментарий (//) перед строкой #include <linux/delay.h>. Почему-то, без этого Zaptel не хотел собираться.
Для более поздних версий ядра, например, 2.6 (узнать версию ядра вашей системы можно командой uname -r) править исходники заптеля не обязательно.
В первую очередь нужно почистить исходники от пыли и грязи, ой, то есть от старых конфигов и скомпиленных файлов. Для этого следует использовать команды в паре:
make clean && make distclean
Очистку исходников следует выполнять каждый раз, если в процессе конфигурирования или установки произошла какая-либо ошибка, например, не хватало пакета и вы его доустановили.
Далее приступаем к конфигурированию:
./configure
make menuconfig (это ручной конфигуратор, его, в принципе, можно пропустить)
Если вы вошли в конфигуратор, то можно выбрать какие модули будут собраны:
Kernel Modules:
wcfxo (это для X100P), wctdm (для X400P), ztdummy, ztdynamic, zttranscode
Utilites:
пригодятся все
Binary Firmware Packages:
ничего не нужно, если вы не используете аппаратные эхокомпенсаторы и транскодеры
make
make install (собранные файлы скопируются в системные каталоги)
make config
|
.$$$$$$$$$$$$$$$=..
.$7$7.. .7$$7:.
.$$:. ,$7.7
.$7. 7$$$$ .$$77
..$$. $$$$$ .$$$7
..7$ .?. $$$$$ .?. 7$$$.
$.$. .$$$7. $$$$7 .7$$$. .$$$.
.777. .$$$$$$77$$$77$$$$$7. $$$,
$$$~ .7$$$$$$$$$$$$$7. .$$$.
.$$7 .7$$$$$$$7: ?$$$.
$$$ ?7$$$$$$$$$$I .$$$7
$$$ .7$$$$$$$$$$$$$$$$ :$$$.
$$$ $$$$$$7$$$$$$$$$$$$ .$$$.
$$$ $$$ 7$$$7 .$$$ .$$$.
$$$$ $$$$7 .$$$.
7$$$7 7$$$$ 7$$$
$$$$$ $$$
$$$$7. $$ (TM)
$$$$$$$. .7$$$$$$ $$
$$$$$$$$$$$$7$$$$$$$$$.$$$$$$
$$$$$$$$$$$$$$$$.
|
Установка Asterisk
Как и в прошлый раз, чистим папку с исходниками:
make clean && make distclean
Далее приступаем к конфигурированию:
./configure --with-zaptel
make
make install
Конфигурирование можно считать успешно завершенным, если в консоли появился огромный символ астериска ))
Поскольку мы ставим Asterisk в первый раз, то имеет смысл установить примеры рабочей конфигурации Asterisk:
make samples
Вот и все.
Основные команды
Теперь у вас есть Asterisk. Что нужно знать:
1. Чтобы запустить Asterisk: asterisk
2. Чтобы зайти в консоль управления (CLI) Asterisk, когда он запущен: asterisk –r
3. Чтобы выйти из CLI: exit (либо Ctrl+C)
4. Чтобы быстро остановить Asterisk, в консоли наберите: stop now
5. Конфигурационные файлы хранятся каталоге в /etc/asterisk/
6. Если вы изменили конфигурацию, чтобы перезагрузить Asterisk (обновить конфигурацию), в CLI нужно набать: reload
7. Для получения отладочной информации, часто используют опции –vvvvc (чем больше v, тем более детальная отладочная информация выводится) .
Возможные ошибки в ходе сборки заптеля и астериска
/lib/cpp fails sanity check
Решение: необходимо установить пакеты: gcc gcc-cpp gcc-c++
Для дистрибутива Mandriva:
# urpmi gcc gcc-cpp gcc-c++
you do not appear to have ...
Решение: необходимо установить kernel-devel (или kernel-smp-devel в зависимости от ядра вашей системы).
install ncurses to use the menu interface
Решение: необходимо установить ncurses-devel
после установки ncurses-devel, выполнить make distclean
P.S. Для использования астериска не забываем убивать файрвол iptables (гуру линухи это конечно же не касается, они и настроить могут):
# /etc/init.d/iptables stop
P.P.S. Лучше не используйте пробелов в параметрах конфигурационных файлов астериска (т.е. в extensions.conf в строке "exten => 111,1,dial(sip/111,10,t)" - после запятых лучше пробелов не ставить) - он этого не любит и могут возникнуть проблемы
Настройка Asterisk
Для тестирования работоспособности, да и не только тестирования, астериска при отсутствии IP-телефонов можно воспользоваться софт-фонами (soft-phone), т.е. программными IP-телефонами. Google может выдать огромное количество таковых, но я остановил свой выбор на:
-
X-Lite (под винду, скачать-9МБ) - lite версия, бесплатная, довольно удобная и не прихотливая.
-
ekiga - телефон под линуху, странноватый и кривоватый, но для тестирования сойдет. Обычно поставляется вместе с дистрибутивами линухи и уже установлен в системе.
-
twinkle - неплохой софт-фончик под линуху. Необходимо дополнительно устанавливать (у меня на диске с Мандривой был, так что качать из инета не пришлось)
Конфигурационный файл sip.conf, кроме всего прочего, используется для хранения списка пользователей. В конце файла, указав последовательность :
[user_login] ; логин пользователя
type=friend ; тип соединения
username=name of user
secret=user_password
nat=no ;этот телефон не находится за роутером с NAT
host=dynamic ; IP адрес пользователя
; defauleip= 192.168.15.16 ; можно указать статический IP адрес по-умолчанию
canreinvite=no ;
quality=200 ; рассматриваем пир как нерабочий, если отклик от него не приходит в течении 200ms
disallow=all ; запрещаем все кодеки
allow=ulaw ; разрешаем G711 u-закон кодек
allow=alaw ; разрешаем G711 a-закон кодек
allow=g723 ; разрешаем G723 кодек
Тип соединения пользователя (type)- определяет возможности пользователя:
- user - только прием вызовов
- peer - только звонки
- friend - может звонить и принимать вызовы
Логин пользователя - логин, под которым пользователь регистрируется (подключается) на сервере, он же "номер" телефона, по которому можно позвонить данному пользователю. При переводе телефона в режим набора символов можно позвонить, например, на "номер" AlexJudge, на софт-фоне гораздо проще звонить на такие "номера" - можно просто с клавиатуры ввести требуемый логин.
Username - определяет имя пользователя (как в паспорте)
host - IP адрес пользователя, можно задать жестко, а можно указать dynamic, тогда регистрироваться на этом логине смогут телефоны с разными IP адресами.
Продолжение:
Удачной вам настройки Asterisk'a ;-)
Источник: http://siper.ru/art-ustanovka_asterisk.html |