|
|
www.lissyara.su
—> статьи
—> FreeBSD
—> программы
—> Asterisk IP PBX
Установка VoiP сервера Asterisk IP PBX
Автор: Cancer.
Вот возникла как-то задача соединить Офис и Базу через 2 Шлюза DVG 2004S и DVG 3004S
Офис и база объединены Радиоканалом LAN.
И нужно было соединить АТС-Шлюз в офисе и Шлюз-АТС на базе по средствам VoiP сервера.
Как обычно задал на форуме что по чем и что лучше, мне заявили что мол Астериск супер.
Ну вот и решил его пробовать.
Шлюзы DVG 2004S и DVG 3004S
Схема сети
Asterisk™ - это завершенное решение телефонной станции основанное на технологии VoIP.Работает Asterisk на платформе Linux и обеспечивает все возможности, которые Вы ожидаете от АТС и даже больше.Asterisk совместим практически со всеми современными стандартами и оборудованием, изпользуя сравнительно недорогое аппаратное обеспечение. Asterisk предоставляет сервис голосовой почты, конференц-связи, очереди вызовов. Поддерживает технологии Caller ID, ADSI, SIP и H.323. Asterisk поддерживает широкий диапазон протоколов TDM для обработки и передачи голосового трафика через средства традиционной телефонии. Asterisk поддерживает Американский и Европейский типы сигнализаций, используемых в бизнес приложениях. Asterisk позволяет построить мост между Интегрированными сетями передачи голоса и данных следующего поколения, и существующей инфраструктурой. Asterisk не только поддерживает традиционное телефонное оборудование, но и позволяет использовать его дополнительные возможности. Используя IAX™ (Inter-Asterisk™ eXchange) VoIP протокол, возможно безболезненное объединение голоса и данных в сетях. При использовании пакетной передачи голоса, возможно посылать данные, такие как например URL и изображения, присоединённые к голосовому трафику, то есть позволяет сильно интегрировать информацию. Asterisk включает в себя центральное ядро с четырьмя API для модульной загрузки приложений телефонии, аппаратных интерфейсов, обработки формата файлов и кодеков. Это позволяет прозрачно переключаться между всеми поддерживаемыми интерфейсами, соединять разнообразные голосовые системы с единой средой передачи данных. Asterisk первоначально был разработан на GNU/Linux для x/86. Известны компиляции работающие на OpenBSD, FreeBSD, and Mac OS. Перенос на другие UNIX-платформы не должен вызвать затруднений и возможен при наличии времени и необходимых навыков. Существует Asterisk, доступный для тестирования на платформе Debian, он поддерживается Марком Пирселлом (Mark Purcell)
Ставим Asterisk 1.4
//> cd /usr/ports/net/asterisk
/usr/ports/net/asterisk/> make config
|
+--------------------------------------------------------------------+
| Options for asterisk 1.4.21.2_3 |
| +----------------------------------------------------------------+ |
| | [X] OGGVORBIS Enable Ogg Vorbis support | |
| | [X] ODBC Enable ODBC support | |
| | [ ] POSTGRES Enable PostgreSQL support | |
| | [ ] RADIUS Enable RADIUS accounting support | |
| | [X] SNMP Enable SNMP support | |
| | [ ] H323 Enable H.323 support | |
| | [X] FREETDS Enable FreeTDS support | |
| | [X] JABBER Enable Jabber and Gtalk support | |
| | [X] SQLITE Enable SQLITE support | |
| | [X] CODEC_PATCH Apply codec negotiation patch | |
| | [ ] ILBC Enable iLBC codec | |
| | [ ] MISC_PATCHES Apply additional patches | |
| | [X] ZAPTEL Enable Zaptel support | |
| | | |
| | | |
| | | |
+-+------v(+)------------------------------------------------------+-+
| [ OK ] Cancel |
+--------------------------------------------------------------------+
|
//> make && make install && make clean
|
Далее привожу основные конфиги
Сразу говорю все что там в конфигах было оставлял без изменений, токо добавлял это все вниз кадого конфига
Да и еще решетки(#) конфиги asterisk`a не переваривают
//> ee /usr/local/etc/asterisk/sip.conf
|
; Только СИП пользователи
; Для подключения Шлюза Офис D-Link 2004S
[200]
type=friend
host=dynamic
username=200
secret=123
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=пароль
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=пароль
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=пароль
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=пароль
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=пароль
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=пароль
nat=no
canreinvite=no
context=office
callerid=user2 <202>
allow=gsm
allow=ulaw
allow=alaw
; для 202 номера подключение к sipnet.ru
[sipnet_202]
host=sipnet.ru
username=SIP_ID
secret=пароль
fromuser=SIP_ID
fromdomain=sipnet.ru
type=peer
context=local
disallow = all
allow = alaw
allow = ulaw
allow = g729
nat=no
canreinvite=nonat
insecure=invite
dtmfmode=info
| Да и для того что бы была слышимость в обе стороны, когда звоните через SIPNET нужно пробросить порты 10000-20000 на машину с Asterisk'ом
//> ee /usr/local/etc/asterisk/extensions.conf
|
[office]
; Шлюз офис D-Link 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
exten => 401,1, Dial(SIP/401,40)
exten => 401,2, Hangup
; D-Link База 3004
exten => 402,1, Dial(SIP/402,40)
exten => 402,2, Hangup
; D-Link База 3004
exten => 403,1, Dial(SIP/403,40)
exten => 403,2, Hangup
; D-Link База 3004
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
|
Добавляем строку для автозапуска в /etc/rc.conf
//> echo 'asterisk_enable="YES"' >> /etc/rc.conf
|
Ну и запускаем сам Asterisk
//> /usr/local/etc/rc.d/asterisk start
| Для того что что бы Работала конференция 999 нужно проделать следующее
//> cp /usr/local/lib/zaptel/zaptel.ko /boot/modules/
//> cp /usr/local/lib/zaptel/ztdummy.ko /boot/modules/
| Запускаем модули
//> kldload -v /boot/modules/ztdummy.ko
//> kldload -v /boot/modules/zaptel.ko
| Добавляем в автозапуск
//> echo 'ztdummy_load="YES"' >> /boot/loader.conf
|
//> ee /usr/local/etc/asterisk/meetme.conf
|
[general]
audiobuffers=32
[rooms]
; conf=>Номер конференции,пароль
conf => 999,1234
| Для того что бы пользователи получали уведомления на почтовый ящик по средствам 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 = пароль, Sergey Batkovich, batkovich@domain.ru, attach=yes
202 = пароль, Nikolay Super, super@domain.ru, attach=yes
|
Да и если кому нужны тут Звуковые файлы, для того что бы Asterisk говорил по русски :)
Asterisk sounds
|
файл
|
скачан
|
размер
|
размещён
|
примечание
|
|
3505
|
1.42mb
|
2008-11-06
|
Звуки для Asterisk'a на русском языке, качество конечно не супер!
|
|
Установка Asterisk-gui-0.0.1r20070801_3
Вот еще можно поставить довольно приятную Веб морду asterisk-gui
//> cd /usr/ports/www/asterisk-gui/
/usr/ports/www/asterisk-gui/> make config
|
+--------------------------------------------------------------------+
| Options for asterisk-gui 0.0.1r20070801_3 |
| +----------------------------------------------------------------+ |
| | [X] SIP_QUEUES In queues register users as SIP, not Agents| |
| | [X] SAMPLE_CONFIG Install sample configuration files | |
| | | |
| | | |
| | | |
+-+------v(+)------------------------------------------------------+-+
| [ OK ] Cancel |
+--------------------------------------------------------------------+
|
/usr/ports/www/asterisk-gui/> make install clean
|
Включаем поддержку Веб админки
//> /usr/local/etc/asterisk/http.conf
|
[general]
enabled=yes
enablestatic=yes
bindaddr=ip_tachki
bindport=8088
prefix=asterisk
| Перезапустим Asterisk
//> asterisk -r
asterisk*CLI> reload
| Тут задаем логин и пароль для Веб Админки добавив вот такую запись в самый низ
//> /usr/local/etc/asterisk/manager.conf
|
[логин]
secret = пароль
read = system,call,log,verbose,command,agent,config,user
write = system,call,log,verbose,command,agent,config,user
|
//> asterisk -r
asterisk*CLI> reload
| И заходим по такой ссылке и отвечаем на вопросы установки
http://ip_tachki:8088/asterisk/static/config/setup/install.html
musiconhold.conf Настройка параметров «музыки при удержании» MusicOnHold
cdr_mysql.conf Настройка хранения записей о звонках в MySQL
manager.conf Настройка интерфейса Manager
meetme.conf Настройка конференций (meetme)
mgcp.conf Настройка параметров MGCP-устройств
parking.conf Параметры «парковки» вызовов «Call parking»
voicemail.conf Параметры голосовой почты (VoiceMail)
agents.conf Агенты Asterisk
extensions.conf Номерной план Asterisk
iax.conf Настройка IAX-устройств
modem.conf Настройка ISDN с использованием ISDN4Linux
vpb.conf Настройка аппаратуры Voicetronix
alsa.conf Настройки звукового драйвера ALSA для консольного пользователя
festival.conf Параметры работы с синтезатором речи festival
modules.conf Настройка модулей Asterisk
zapata.conf Настройка аналоговых устройств телефонии digium
asterisk.conf Определение расположения каталогов Asterisk
indications.conf Настройка параметров аналоговых АТС различных стран
rpt.conf Параметры протокола rtp
logger.conf Параметры журналирования Asterisk
|
Клиент для IP телефонии X-lite можно скачать здесь
Документация
http://voip.rus.net/
http://asterisk.org.ru/
http://asterisk.org/
http://asteriskforum.ru/
Буду дописывать по мере успеха!!!(P.S понимаю что статья не идеальна, но все еще впереди)
PS....Виталий Сергеевич, посвящается вам за ваш вклад в мое развитие!
Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?f=3&t=12098.
размещено: 2008-11-06,
последнее обновление: 2011-02-15,
автор: Cancer
|
|
|
|
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster
HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS
История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire
Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной
Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server
Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs
Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec
Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash
Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT
Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3
Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
2010-08-31, Cancer
Установка и настройка OpenVPN
На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
2010-08-25, manefesto
freebsd lvm
Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
2010-04-30, gonzo111
proftpd file auth"a
Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
2010-04-22, lissyara
tw_cli
Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
2010-04-14, fox
MySQL Master+Master
MySQL (Master Master) and (Master Slave) Как настроить репликацию…
2010-03-09, terminus
DNS zones
Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
2010-03-09, aspera
Squid+AD (group access)
Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
2010-03-02, BlackCat
Шлюз: Часть 4
Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
2010-03-01, BlackCat
Шлюз: Часть 3
Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов.
2010-03-01, BlackCat
Шлюз: Часть 2
Конфигурация МСЭ pf для проброса портов с изменением порта назначения и без, а так же поддержки активного режима FTP и ограничения максимального размера сегмента
2010-03-01, BlackCat
Шлюз: Часть 1
Быстрая настройка шлюза/маршрутизатора с установлением PPPoE-соединения, поддержкой NAT и DNS-forwarding.
2010-02-23, Morty
darkstat
Простая считалка траффика, со встроенным веб-сервером. Очень маленькая, может делать отчеты трафика по хостам, портам, протоколам, а также строить графики
2010-01-23, gonzo111
squid+sams+sqstat
Пилим squid и sams - примеры конфигов с объяснениями. Установка SqStat.
2009-12-19, schizoid
mpd5 + radius + ng_car + Abills
Настройка pppoe-сервера с биллинговой системой Abills и шейпером ng_car
2009-11-16, lissyara
UFS->ZFS
Удалённая миграция с UFS на ZFS. Загрузка с раздела zfs. Настройка для работы с малым количеством памяти под архитектурой i386.
2009-11-13, gx_ua
fusefs-ntfs
Установка, настройка и использование fusefs-ntfs, драйвер NTFS, предназанченного для монтирования NTFS разделов под FreeBSD
2009-11-12, Morty
LiveCD
Создание собственного LiveCD с необходимыми вам изменениями, автоматизирование данного процесса, а так же вариант скоростной сборки СД.
2009-09-27, lissyara
Samba как PDC
Контроллер домена - аналог M$ NT4 домена под самбой, без использования LDAP и прочей хиромантии. Просто и быстро =)
|
Комментарии пользователей [32 шт.]