AllInfo
Main: Info Blog Temp Mail


unix 2012-03-04 20-26-44

Установка и настройка Asterisk

Всем студентам, у которых возникли трудности с настройкой сервера 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 адресами.
Настройка X-Lite софт-фона:

Настройка Ekiga софт-фона:

Продолжение:

Организация конференции
Соединение серверов Asterisk

Удачной вам настройки Asterisk'a ;-)


Источник: http://siper.ru/art-ustanovka_asterisk.html
Категория: Asterisk | Добавил: Judge (19-10-2009)
Просмотров: 6780 | Рейтинг: 5.0 |

Всего комментариев: 6
0
6 Sacypoereomma (03-01-2012 00:20)
Summerinaskinalk

0
5 timon (18-02-2011 10:41)
астериск запущен.... при попытке asterisk -rvvv выдает вот такую ошибку
Unable to connect to remote asterisk (does /var/run/asterisk.ctl exist?)

0
4 Judge (05-01-2010 00:10)
Скрипт для конвертирования wav файлов в gsm:

#!/bin/sh

for a in *.wav; do
echo "Processing $a";
baseName=`echo $a|sed -e s/.wav//`;
#Convert to 8bit wav first at 8000Hz - this can take a while
sox "$a" -r 8000 -c1 "$baseName_temp.wav";

echo "...additional formats";
#Convert to gsm
sox "$baseName_temp.wav" "$baseName.gsm";

#convert to alaw - note using .alaw extension as asterisk likes that
sox "$baseName_temp.wav" -t al "$baseName.alaw";
#convert to ulaw - note using .ulaw extension as asterisk likes that
sox "$baseName_temp.wav" -t ul "$baseName.ulaw";

#clean up the .wav files
rm "$baseName_temp.wav"
done

Источник

0
3 Judge (30-10-2009 00:23)
Конфигурирование астериска на убунте
Вопрос:
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
Ответ:
apt-get install g++

0
2 sdhf (29-10-2009 17:35)
Вопрос:
Unable to connect to remote asterisk (does /var/run/asterisk.ctl exist?)
Ответ:
Не запущен астериск, используйте команду: # asterisk

0
1 sdhf (29-10-2009 16:50)
Конфигурирование астериска на убунте
Вопрос:
configure error: termcap supprt not found
Ответ:
apt-get install libncurses-dev




http://informst.ucoz.ru/publ/voip/voip/ustanovka_i_nastroyka_asterisk/51-1-0-133

3.137.185.180 / 2024-04-28_12-06-07 UTC.