
Установка Asterisk и Asterisk GUI из портов во freeBSD
Asterisk™ — это одна из хороших решений для телефонных станций которая основанная на технологиях VoIP. Asterisk работает на платформах линукс и использует все то что Вы хотели бы ожидать от АТС и даже намного больше. Он использует почти все современные и стандарты и оборудования, а так же имеется сервис голосовой почты, конференц-связи, очереди вызовов. Поддерживает технологии, например: Caller ID, SIP, ADSIи H.323. У астериска имеется большой диапазон протоколов TDM для обработки и передачи голосового трафика через средства стандартной телефонии. Asterisk превращает обычный компьютер в сервер связи. Asterisk имеет полномочия системы IP-АТС, VoIP шлюзы, серверы конференций и используется для небольших предприятий, больших предприятий, центры которые обрабатывают вызова, перевозчики или даже правительства во всем мире.
Установка Asterisk и Asterisk GUI из портов во freeBSD , и так:
# cd /usr/ports/net/asterisk/ # make install clean
В появившемся меню я выбрал такие поля:
Начнется установка, но через некоторое время он попросит выбрать еще некоторые компоненты для установки (начнет установку freetds). Freetds представляет собой набор библиотек для Unix и Linux, что позволяет вашим программам изначально поговорить с базами данных Sybase Microsoft SQL Server.
После установки freetds, он начнет установку sqlite, но попросит выбрать что нужно установить, я оставил так как есть:
Asterix- установился нормально и для того чтобы автоматически стартовал сервис, добавим его в автозагрузку:
# echo ' asterisk_enable="YES"' >> /etc/rc.conf
Стартануть астериск и остановить можно командами:
# service asterisk start # service asterisk stop
После чего нужно установить еще Dahdi. DAHDI (Digium / Asterisk интерфейс аппаратного устройства) является технология интерфейс устройства с открытым исходным кодом для управления Digium и другие интерфейсные карты наследие телефонии. Нужен он только если у вы используете ядро с 100Гц таймером и при этом Вы юзаете телефоны без большого джитербуфера. И так, поставим его тоже из портов:
# pkg_add -r dahdi # cd /usr/ports/misc/dahdi-kmod # make install clean # echo ' dahdi_enable="YES"' >> /etc/rc.conf
Чтобы запустить, необходимо выполнить команду:
# /usr/local/etc/rc.d/dahdi start
У меня этот модуль не установился, попробую что получиться без него. Позже попробую решить эту проблему. У вас должно все работать, если нет, то ищем что то др, но если это Вам нужно. Именно dahdi и dahdi-kmod — уже устаревшая технология, но использовать можно. У меня не получилось поставить, по этому я что то придумаю другое.
Чтобы установить asterisk-gui нужно зайти на официальный сайт и скачать его, на момент написания я использовал asterisk-gui-2.1.0-rc1.tar.gz:
# cd /usr/local/src/ # wget http://downloads.asterisk.org/pub/telephony/asterisk-gui/asterisk-gui-2.1.0-rc1.tar.gz # tar -xjf asterisk-gui-2.1.0-rc1.tar.gz # cd asterisk-gui-2.1.0-rc1 # ./configure && gmake install
Затем я сделаю следующее:
Меняю права для /usr/local/etc/asterisk/:
# chmod -R 755 /usr/local/etc/asterisk # chown -R asterisk:asterisk /usr/local/etc/asterisk/
Меняю права для /usr/local/share/asterisk/:
# chown -R asterisk:asterisk /usr/local/share/asterisk/ # sh /usr/local/etc/rc.d/asterisk restart
Переходим в папку
# cd /var/db/asterisk/ # chown -R asterisk:asterisk * # cd /var/log/asterisk/ # chown -R asterisk:asterisk *
Отредактируем файл с настройками:
# ee /usr/local/etc/asterisk/http.conf
[...] [general] enabled = yes bindaddr = your_ip bindport = 8088 prefix = asterisk enablestatic = yes redirect = / /static/config/cfgbasic.html [post_mappings] backups = /var/lib/asterisk/gui_backups [...]
# ee /usr/local/etc/asterisk/manager.conf
[general] enabled = yes webenabled = yes port = 5038 bindaddr =192.168.244.133 ; Vash IP propisivyaem [admin] secret = admin ;your_password ; Установка Asterisk и Asterisk GUI из портов во freeBSD read = system,call,log,verbose,agent,user,config,dtmf,reporting,cdr,dialplan write = system,call,agent,user,config,command,reporting,originate
Чтобы перезапустить астериск, необходимо выполнить:
# asterisk -r # reload
Переходим по адресу и установим необходимые настройки:
http://192.168.244.133:8088/asterisk/static/config/setup/install.html
Перейдем по ссылке, у меня такая:
http://192.168.244.133:8088/asterisk/static/config/index.html
Основная установка Asterisk и Asterisk GUI из портов во freeBSD завершена. Далее расскажу что можно еще настроить.
У меня появилась такая задача: нужно было соединить некий офис и базу через шлюзы DVG 2004S и DVG 3004S, сам офис и база соединены радиоканалом по LAN. Для этого нужно отредактировать несколько файликов с настройками:
# ee /usr/local/etc/asterisk/sip.conf
; Использования подключений для шлюза офиса на D-Link 2004S
[200] type=friend host=dynamic username=200 secret=321 nat=no canreinvite=no context=office callerid=Office <200> allow=gsm allow=ulaw allow=alaw ; База D-Link для 3004S [401] dtmfmode=auto type=friend host=dynamic username=401 secret=401 ; пароль, я сделаю такой же как и имя пользователя, то есть 401 nat=no canreinvite=no context=office callerid=Base <401> disallow=all allow=g729 allow=g723 allow=g723.1 allow=gsm allow=ulaw allow=alaw ; База D-Link для 3004S [402] dtmfmode=auto type=friend host=dynamic username=402 secret=402 ; пароль, я сделаю такой же как и имя пользователя, то есть 402 nat=no canreinvite=no context=office callerid=Base <402> disallow=all allow=g729 allow=g723 allow=g723.1 allow=gsm allow=ulaw allow=alaw ; База D-Link для 3004S [403] dtmfmode=auto type=friend host=dynamic username=403 secret=403 ; пароль, я сделаю такой же как и имя пользователя, то есть 403 nat=no canreinvite=no context=office callerid=Base <403> disallow=all allow=g729 allow=g723 allow=g723.1 allow=gsm allow=ulaw allow=alaw ; База D-Link для 3004S [404] dtmfmode=auto type=friend host=dynamic username=404 secret=404 ; пароль, я сделаю такой же как и имя пользователя, то есть 404 nat=no canreinvite=no context=office callerid=Base <404> disallow=all allow=g729 allow=g723 allow=g723.1 allow=gsm allow=ulaw allow=alaw ; Простой юзей SIP [201] type=friend host=dynamic username=201 secret=201 ; пароль, я сделаю такой же как и имя пользователя, то есть 201 nat=no canreinvite=no context=office callerid=user1 <201> allow=gsm allow=ulaw allow=alaw ; Для пользователей внутри фирмы,а если ; межгороду (я буду использовать sipnet.ru) с имеется аккаунт. [202] type=friend host=dynamic username=202 secret=202 ; пароль, я сделаю такой же как и имя пользователя, то есть 202 nat=no canreinvite=no context=office callerid=user2 <202> allow=gsm allow=ulaw allow=alaw ; Введите 202 для того чтобы подключится к sipnet.ru ; Установка Asterisk и Asterisk GUI из портов во freeBSD [sipnet_202] dtmfmode=rfc2833 type=peer host=sipnet.ru fromuser=ID fromdomain=sipnet.ru secret=юзер_пасс username=SIPХХХХХХ_Х canreinvite=no ;insecure=very context=local disallow=all allow=g729 allow=g723 allow=g723.1 allow=gsm allow=ulaw allow=alaw
Для того что бы работало все нормально с 2-х сторон, необходимо пробросить порты с 10000-20000 для машины с астериском!
# ee /usr/local/etc/asterisk/extensions.conf
[office] ; Шлюз для офиса с длинк 2004 exten => 200,1, Dial(SIP/200,40) exten => 200,2, Playback(vm-nobodyavail) exten => 200,3, Hangup ; Номер 400 нужен для того что бы когда на него позвонят все люди попадпли ; на один из не занятых номеров (401 402 403 404) exten => 400,1, Queue(queue1|tT|||60) exten => 400,n, Hangup ; База D-Link для 3004 с номером 401 exten => 401,1, Dial(SIP/401,40) exten => 401,2, Hangup ; База D-Link для 3004 с номером 402 exten => 402,1, Dial(SIP/402,40) exten => 402,2, Hangup ; База для D-Link 3004 с номером 403 exten => 403,1, Dial(SIP/403,40) exten => 403,2, Hangup ; База для D-Link для 3004 с номером 404 exten => 404,1, Dial(SIP/404,40) exten => 404,2, Hangup ; юзер SIP с номером 201 exten => 201,1, Dial(SIP/201,40) exten => 201,2, Playback(vm-nobodyavail) exten => 201,3, Voicemail(201@default) exten => 201,n, Hangup ; Юзер 202 с sipnet.ru exten => 202,1, Dial(SIP/202,40) exten => 202,2, Playback(vm-nobodyavail) exten => 202,3, Voicemail(202@default) exten => 202,4, Hangup exten => _8./202,1,Dial(SIP/${EXTEN}@sipnet_202,40) ; голосовую почту, можно услышать если набрать 300 ; и его пассворд exten => 300,1,VoiceMailMain(300) ; Для конференции, 999 exten => 999,1, MeetMe(999) include => default
Добавим очередь в queues.conf:
# ee /usr/local/etc/asterisk/queues.conf
[queue1]
music = default
strategy = rrmemory
member => SIP/401
member => SIP/402
member => SIP/403
member => SIP/404
Если нужно пользователям получать уведомления на свою почту используя sendmail для примера, то необходимо:
# ee /usr/local/etc/asterisk/voicemail.conf
[general] format=wav49|gsm|wav serveremail=asterisk attach=yes skipms=3000 maxsilence=10 silencethreshold=128 maxlogins=3 emaildateformat=%A, %d %B %Y at %H:%M:%S mailcmd=/usr/sbin/sendmail -t sendvoicemail=yes [zonemessages] eastern=America/New_York|'vm-received' Q 'digits/at' IMp central=America/Chicago|'vm-received' Q 'digits/at' IMp central24=America/Chicago|'vm-received' q 'digits/at' H N 'hours' military=Zulu|'vm-received' q 'digits/at' H N 'hours' 'phonetic/z_p' european=Europe/Copenhagen|'vm-received' a d b 'digits/at' HM [default] ; Голосовые ящики и отправка уведомления на e-mail ;номер = пасс, юзернейм, почтовый ящик, закрепить сообщение_голосовое 201 = пасс_юзера, Vitaliy Natrov, nvs@8.to, attach=yes 202 = пасс_юзера, Dmitriy Pocapay, poc@mail.ru, attach=yes
Если хотите что бы астериск разговаривал по русски, то необходимо скачать сами звуки для него. Но качество не ахти! Я не буду ставить их себе.
Вот такая «Установка Asterisk и Asterisk GUI из портов во freeBSD»! Довольно запутано!
Здравствуйте.
Не подскажете ли следующий момент: есть многоканальный sip номер предоставляемый оператором, как промониторить/посчитать количество одновременных входящих соединений на таком канале?
Спасибо.
Здравствуйте! Я могу посоветовать установить «asterisk-gui» и попробовать поискать в нем что-то в этом роде. Ставил давно его, не смогу ответить на этот вопрос.
ребят, вообще не разбираюсь в телефонии, полностью ноль.. что почитать можно? чтоб не только эникейщиком, но и самому что-то настраивать можно было?