Установка Asterisk и Asterisk GUI из портов во freeBSD

Установка 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

В появившемся меню я выбрал такие поля:

Asterix

Начнется установка, но через некоторое время он попросит выбрать еще некоторые компоненты для установки (начнет установку freetds). Freetds представляет собой набор библиотек для Unix и Linux, что позволяет вашим программам изначально поговорить с базами данных Sybase Microsoft SQL Server.

freetds

После установки freetds, он начнет установку sqlite, но попросит выбрать что нужно установить, я оставил так как есть:

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»! Довольно запутано!

3 thoughts on “Установка Asterisk и Asterisk GUI из портов во freeBSD

  1. Здравствуйте.
    Не подскажете ли следующий момент: есть многоканальный sip номер предоставляемый оператором, как промониторить/посчитать количество одновременных входящих соединений на таком канале?
    Спасибо.

    • Здравствуйте! Я могу посоветовать установить «asterisk-gui» и попробовать поискать в нем что-то в этом роде. Ставил давно его, не смогу ответить на этот вопрос.

  2. ребят, вообще не разбираюсь в телефонии, полностью ноль.. что почитать можно? чтоб не только эникейщиком, но и самому что-то настраивать можно было?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.