- Автор: daniil
- Распечатать
Оцените статью: Поделитесь с друзьями!
- 5
- 4
- 3
- 2
- 1
(0 голосов, среднее: 0 из 5)
Если Вас интересует профессиональное внедрение системы IP-телефонии Asterisk «под ключ», то обращайтесь к нашим специалистам по телефону 8 (495) 989-85-33 или 8 (800) 333-75-33. Доверьте свою телефонию профессионалам.
Перед началом установки рекомендуется произвести полное обновление операционной системы. Это улучшит стабильность работы и безопасность сервера.
yum update
reboot
Создаем директорию, в которую поместим исходные коды дистрибутива Asterisk.
mkdir -p /usr/src/asterisk
cd /usr/src/asterisk
Далее загружаем с официального сайта Asterisk текущие пакеты в исходных кодах. Это можно сделать простым способом. В браузере открываем сайт www.asterisk.org, переходим в раздел Download, находим ссылки на требуемые пакеты и правой кнопкой копируем адрес ссылки в буфер обмена. Далее, в консоли сервера используем команду wget и ссылку, ведущую на сайт:
wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-11.0.0.tar.gz
Аналогичным образом выкачиваем все требуемые пакеты:
1. Asterisk
2. DAHDI
3. LibPRI
Для компиляции исходников потребуется сам компилятор. Устанавливаем его следующей командой (кавычки должны быть те, где на клавиатуре размещена буква «Ё»):
yum -y install make gcc gcc-c++ kernel-headers-`uname -r` kernel-devel-`uname -r` ncurses-devel newt-devel libtiff-devel libxml2-devel sqlite-devel glibc-headers
Распаковываем предварительно скачанные с официального сайта пакеты.
tar -xvf asterisk-current.tar.gz tar -xvf dahdi-linux-complete-current.tar.gz
tar -xvf libpri-1.4-current.tar.gz
LibPRI — это OpenSource библиотека, предназначенная для работы с потоковыми TDM-интерфейсами ISDN: PRI (Primary Rate Interface)и BRI (Basic Rate Interface). Первый (PRI) часто используется в России для работы с операторами по каналам Е1.
cd /usr/src/asterisk/libpri-* make clean make
make install
Далее устанавливается драйвера каналов DAHDI.
Драйвера предназначены для взаимодествия Asterisk с платами цифровых интерфейсов: E1, FXO, FXS и пр.
cd /usr/src/asterisk/dahdi-linux-complete* make all make install
make config
Далее задаем автоматический запуск службы DAHDI при старте системы:
chkconfig dahdi on
service dahdi start
** Если на данном этапе у Вас выдалось сообщение следующего характера:
You do not appear to have the sources for the 2.6.32-220.el6.i686 kernel installed.make[1]: *** [modules] Error 1make[1]: Leaving directory `/usr/src/asterisk/dahdi-linux-complete-2.6.1+2.6.1/linux'
make: *** [all] Error 2
Это может означать, что не стоят исходные коды для ядра. Вернитесь на этап, где требовалось установить исходные коды ядра.
На этом этапе устанавливаем само телефонное ядро Asterisk.
cd /usr/src/asterisk/asterisk*
. /configure
Если на этом шаге у Вас отобразится такая заставка, значит все идет по плану:
На этом этапе можно выбрать модули, которые будут входить в состав сборки. Если требуется работа с MySQL или другими компонентами, их рекомендуется установить заранее.
make menuselect
Система выбора модулей выглядит следующим образом (хотя, она может быть и на черно-белом фоне):
Управление:
Далее, оканчиваем установку:
make
make install
Создаем дефолтные конфиги и образцы.
make samples
make config
Добавляем Астериск в автозагрузку
chkconfig asterisk on
Запускаем Астериск консольно, количеством «v» в опции задавая плотность протоколирования (verbosity). Убеждаемся, что Астериск запускается нормально, после чего останавливаем его.
asterisk -vc
stop now
Запуск будет сопровождаться таким списком загружаемых модулей:
Теперь Asterisk можно запустить как службу, после чего подключиться к нему штатно в режиме консоли.
service asterisk start
asterisk -rvvvv
После инсталляции карты, проверяем ее в системе
lspci -v
Компилируем нужный пакет для нашей карты, Парабел, например, тут http://parabel.ru/d/dahdi_2.6.0%2B2.6.0-parabel_2.6.0.tar.bz2
в /etc/dahdi/modules
комментим все модули, вписываем нужный нам, например, quasarm
в /etc/dahdi/system.conf
Указываем зоновую (региональную) принадженость.
loadzone=ru
defaultzone=ru
Настраиваем согласование потока между АТС оператора и Asterisk.
span = 1,0,0,CCS,HDB3,CRC4 //Задается источник синхронизации, тип кодирования и необходимость проверки четности bchan=1-15,17-31 // Задаются тайм-слоты для голоса
dchan=16 //Задаются сигнальные тайм-слоты для данных (0-й — по умолчанию)
echocanceller=mg2,1-15,17-31 // Указывается тип эхоподавителя и тайм-слоты, на которых он будет задействован.
Теперь чуть более подробно по опциям.
span = ,,,< framing>,[,crc4] где
span_num – номер порта E1 (от 1 до максимального номера порта в плате)
timing – использовать ли порт как источник синхронизации 0 – порт адаптера ведущий по E1 1 и более – порт ведомый по E1 и является одним из источников синхронизации адаптера. Чем больше число, тем меньше приоритет порта. LBO – параметр не используется, ставить 0. Framing – тип телефонной сигнализации, ставить ccs или cas. Coding – кодирование в линии, может принимать значения ami или hdb3
Crc4 – разрешить проверку и генерацию crc4 (не обязательный параметр)
Делаем рестарт dahdi
service dahdi stop
service dahdi status
Если не выгрузился, необходимо сначала остановить Asterisk:
service asterisk stop
после
service asterisk start
запускаем DAHDI:
service dahdi start
Проверка:
dahdi_test dahdi_test Opened pseudo dahdi interface, measuring accuracy… 99.999% 99.995% 99.999% 99.999% 99.999% 99.999% 99.999% — Results after 7 passes —
Best: 99.999 — Worst: 99.995 — Average: 99.998506, Difference: 99.998507
Значения не ниже 99,9 — хороший результат. Он означает, что DAHDI-устройство не вынуждено конкурировать с другими процессами за прерывания и время процессора. Значения ниже 99.9 будут приводить к ухудшению качества звука, срыву синхронизации канала E1, скрежету и обрывам голоса.
В случае, если значения ниже 99,9 (да и просто для профилактики), неободимо убедиться, что цифровая карта не делит прерывания с другими драйверами.
cat /proc/interrupts [pbx.
localdomain ~]# cat /proc/interrupts CPU0 CPU1 0: 1326273128 0 IO-APIC-edge timer 1: 8959 0 IO-APIC-edge i8042 4: 2796129 0 IO-APIC-edge serial 6: 6 0 IO-APIC-edge floppy 7: 2 0 IO-APIC-edge parport0 8: 1 0 IO-APIC-edge rtc 9: 1 0 IO-APIC-level acpi 14: 50338541 0 IO-APIC-edge ide0 50: 0 0 IO-APIC-level uhci_hcd:usb3 58: 7369 23441503 PCI-MSI ahci 114: 1326250778 0 IO-APIC-level wctdm 146: 28024883 0 PCI-MSI eth0 169: 0 0 IO-APIC-level uhci_hcd:usb5 225: 0 0 IO-APIC-level uhci_hcd:usb4 233: 0 0 IO-APIC-level ehci_hcd:usb1, uhci_hcd:usb2 NMI: 0 0 LOC: 1325416311 1325416314 ERR: 0
MIS: 0
wctdm занимает отдельный irq, это правильно
если с кем-то делит, то это может сказывать на работе карты и качестве голоса.
Чаще всего наблюдается ситуация, когда драйвера USB и DAHDI занимают одно прервывание. Это нежелательная ситуация, и в ней лучше всего либо разнести драйвера по разным прерываниям, либо отключить USB на уровне BIOS.
тут можно увидеть ошибки в работе карты:
dahdi_tool
показывать сведения о карте
dahdi_scan
показывает конфигурационный файл, который используется
dahdi_cfg -v
затем в /etc/asterisk/chan_dahdi.conf
примерный конфиг:
[trunkgroups] [channels] language=ru context=from-trunk signalling=pri_cpe
rxwink=300 ; Atlas seems to use long (250ms) winks
; ; Whether or not to do distinctive ring detection on FXO lines ; ;usedistinctiveringdetection=yes usecallerid=yes hidecallerid=no callwaiting=yes usecallingpres=yes callwaitingcallerid=yes threewaycalling=yes transfer=yes cancallforward=yes callreturn=yes echocancel=yes echocancelwhenbridged=yes echotraining=800 rxgain=0.0 txgain=0.0 group=0 callgroup=1 pickupgroup=1 immediate=no ;busydetect=yes ;busycount=5 faxdetect=no switchtype=euroisdn ; or qsig immediate=no context=from-trunk resetinterval=100000000 signalling=pri_cpe ; or pri_net group=0
channel ≥1-15,17-31
====================
В Астериск CLI
dahdi restart
dahdi show channels — проверяем что каналы поднялись
dahdi show channel 1
Помимо компиляции Asterisk вручную, можно воспользоваться менеджером пакетов YUM, который является штатной утилитой RedHat-based дистрибутивов.
Установку Asterisk мы будем производить из самых «аутентичных» источников — репозитория Asterisk.Org.
Краткая инструкция по работе с данным репозиторием находится здесь:
Вам требуется создать новый файл с названием «centos-asterisk.repo» в директории the» /etc/yum.repos.d». В него вы вносите следующую конфигурацию:
[asterisk-tested] name=CentOS-$releasever — Asterisk — Tested baseurl=http://packages.asterisk.org/centos/$releasever/tested/$basearch/ enabled=0 gpgcheck=0 #gpgkey=http://packages.asterisk.
org/RPM-GPG-KEY-Digium [asterisk-current] name=CentOS-$releasever — Asterisk — Current baseurl=http://packages.asterisk.org/centos/$releasever/current/$basearch/ enabled=1 gpgcheck=0 #gpgkey=http://packages.asterisk.
org/RPM-GPG-KEY-Digium
Сохраняете данный файл и создаете новый: «centos-digium.repo». Вносите в него следующий текст:
[digium-tested] name=CentOS-$releasever — Digium — Tested baseurl=http://packages.digium.com/centos/$releasever/tested/$basearch/ enabled=0 gpgcheck=0 #gpgkey=http://packages.digium.com/RPM-GPG-KEY-Digium [digium-current] name=CentOS-$releasever — Digium — Current baseurl=http://packages.digium.com/centos/$releasever/current/$basearch/ enabled=1 gpgcheck=0
#gpgkey=http://packages.digium.com/RPM-GPG-KEY-Digium
После того как репозитории добавлены, можно приступить к установке пакетов.
yum install asterisk18 asterisk18-configs asterisk18-voicemail dahdi-linux dahdi-tools
Запускаем Asterisk и подключаемся к нему:
service asterisk start
asterisk -rvvv
Главный конфигурационный файл:
asterisk.conf: Сервер Asterisk берет из этого файла информацию о том, где какие файлы находятся в системе, включая директорию, где лежат все остальные файлы конфигурации. По умолчанию, Asterisk ищет файл asterisk.conf в директории /etc/asterisk, но Вы можете, с помощью параметров запуска Asterisk, задать другое расположение и имя этого файла.
Файлы конфигурации каналов Asterisk:
iax.conf: Файл с конфигурацией канала IAX2
sip.conf: Файл с конфигурацией канала SIP
chan_dahdi.conf: Файл с конфигурацией каналов DAHDi
Файлы конфигурации Диалплана (Плана набора):
extensions.conf: Конфигурация плана набора
extensions.ael: План набора в новом формате AEL (Asterisk Extensions Language)
features.conf: Конфигурация Парковки вызовов, перевода вызова, перехвата и прочих сервисных функций Asterisk. Файлы конфигурации специфичные для некоторых команд плана набора:
alarmreceiver.conf: Конфигурация для команды AlarmReceiver
dundi.conf: Конфигурация, используемая командой DUNDiLookup
festival.conf: Конфигурация, используемая командой Festival
indications.conf: Определение тонов для команды Playtones
meetme.conf: Файл с конфигурацией конференций для команды MeetMe
musiconhold.conf: для команды MusicOnHold
queues.conf: Определение очередей звонков и их параметров для команды Queue
voicemail.conf
Настройка c нуля FreePBX – современного полнофункционального веб-интерфейса для управления VoIP телефонией Asterisk – не представляет сложности даже для рядового пользователя. Достаточно следовать пошаговой инструкции, которая приведена в нашей статье.
Интерфейс упрощает управление VoIP телефонией и настройку Asterisk за счет визуального представления данных. Но прежде чем перейти к установке, нужно иметь хотя бы общее представление о предмете. Сразу же отметим, что основное удобство названной системы заключается в том, что пользователю нет нужды исправлять множество текстовых файлов с настройками вручную, как это было раньше.
Последней версией пакета является FreePBX 13. По сути, это программная оболочка. Она позволяет управлять VoIP телефонией и выполнять настройку Asterisk без специальных знаний в области программирования.
Если говорить упрощенно, она переводит программный язык, понятный машине, в визуальную информацию, которая понятна пользователю, и наоборот.
Чтобы выполнить настройку FreePBX с нуля, оболочку нужно установить на компьютер, который будет использоваться для работы с VoIP телефонией.
Вот пошаговая инструкция:
1. Скачайте дистрибутив FreePBX 13 Distro. Существует несколько версий продукта: для разной разрядности операционной системы. Выбор 32 или 64-битной версии зависит от вашего программного обеспечения. Новичкам лучше не экспериментировать и обойти beta-версии Asterisk PBX стороной.
2. Запишите на диск или флешку образ системы. Для этого используйте стандартные утилиты, которые есть в каждом компьютере.
3. После записи загрузите машину с этого диска. Для этого измените параметры загрузки системы. Порядок действий зависит от конкретной версии BIOS. Обычно всю необходимую информацию можно найти в документации к своему компьютеру. Если все сделано правильно, то появится меню установки программы.
4. Выберите версию сервиса Asterisk PBX и режим, в котором будут работать жесткие диски. Доступны следующие варианты:
5. Выбрав нужный режим, переходим к настройкам Сети. Если вы используете DHCP-сервер (динамические IP-адреса), а в большинстве случаев это именно так, то просто нажмите ОК. При статическом IP укажите настройки для вашей Сети.
Установка FreePBX завершена. Теперь можно перейти непосредственно к настройке телефонии.
Адрес веб-интерфейса тот же, что и адрес компьютера с установленным FreePBX. Чтобы его узнать, выполните команду ifconfig в консоли компьютера, на котором установлен веб-интерфейс. Так вы увидите настройки всех сетевых интерфейсов машины. Просто введите нужный IP-адрес в строке браузера и нажмите enter.
Главная страница включает 3 основных раздела:
username – SIPID до собачки domain – SIPID после собачки т.е. у “name@domain.mangosip.ru” username = “name” domain = “domain.mangosip.ru”
Шаг 1./etc/asterisk/sip.conf – настраиваем для регистрации sip-транка на сервере и входящих звонков и для регистрации sip-клиентов на PBX-Asterisk*
[general] defaultexpiry=360 transport=udp disallow=all allowguest=no allow=alaw dtmfmode=inband useragent=JopAster nat=force_rport directmedia=yes alwaysauthreject=no bindport=60000 alwaysauthreject = yes
register = user:password*******@domain.mangosip.ru/line1 // данная строка описывает, каким образом Asterisk* будет регистрироваться на сервере MANGO-OFFICE. /line1 – это название линии на стороне Asterisk*
// ниже указаны рекомендуемые настройки для SIP-транка (исходящие вызовы через MANGO-OFFICE)
[line1]
type=peer // данная строка определяет, какой тип SIP-клиента настривается для данной линии, подробнее об этом ниже. Для исходящих звонков обязательно указывать type=peer
secret=******* // пароль от SIP-учетной записи username=user host=domain.mangosip.ru fromuser=user fromdomain=domain.mangosip.ru insecure=invite nat=force_rport
context=incoming // это название правила обработки входящих звонков в extensions.conf
dtmfmode=inband
// ниже указаны настройки для внутренних пользователей
[123] secret=123456 type=friend host=dynamic disallow=all allowguest=no allow=alaw dtmfmode=inband nat=force_rport alwaysauthreject=yes
Шаг 2.Далее рекомендуется настроить контекст для входящих звонков в /etc/asterisk/extensions.conf
[general] [globals] [default]
//для исходящих звонков
exten => _8XXXXXXXXXX,1,Dial(SIP/line1/${EXTEN}) //звонок на номер, состоящий из 11 цифр и начинающийся на 8 пойдёт через линию line1
//для входящих
[incoming]
exten => line1,1,Dial(SIP/123) //любой звонок, поступивший на line1, будет переадресован на внутреннего пользователя 123
exten => line1,n,Hangup() // отбой, если внутренний пользователь не отвечает
username – SIPID до собачки domain – SIPID после собачки т.е. у “name@domain.mangpsip.ru” username = “name” domain = “domain.mangosip.ru”
Шаг 1./etc/asterisk/sip.conf – настраиваем для регистрации sip-транка на сервере и входящих звонков и для регистрации sip-клиентов на PBX-Asterisk* Формат:
register => user [:secret[:authuser]] @host [:port] [/extension]
Шаг 2.Далее рекомендуется настроить контекст для входящих звонков в /etc/asterisk/extensions.conf
[incoming]
exten => line1,1,dial(SIP/worktest) //любой звонок, поступивший на line1, будет переадресован на внутреннего пользователя worktest
exten => line1,2,hangup// отбой, если внутренний пользователь не отвечает
Для того чтобы настроить Calculate Directory Server в качестве IP-АТС используется Asterisk. Asterisk — компьютерная ATC под лицензией GPL поддерживающая большое количество VoIP протоколов. Настройка Asterisk производится путем редактирования файлов находящихся в директории /etc/asterisk.
Разберем настройку Asterisk-сервера на примере несложной конфигурации.
Для начала работы нам необходимо установить в систему Calculate Directory Server пакет сервера Asterisk и сопутствующие пакеты.
Создадим файл /etc/portage/package.use/asterisk — в нем мы пропишем все необходимые USE-флаги для нужных нам пакетов.
net-misc/asterisk alsa caps iconv jabber ldap samples speex ssl vorbis dahdi span
net-misc/asterisk-core-sounds alaw g722 g729 gsm siren14 siren7 sln16 ulaw wav
net-misc/asterisk-extra-sounds alaw g722 g729 gsm siren14 siren7 sln16 ulaw wav
net-misc/asterisk-moh-opsound alaw g722 g729 gsm siren14 siren7 sln16 ulaw wav
media-libs/speex sse ogg
Для пакета net-misc/asterisk мы добавляем флаги dahdi (для работы с платой телефонии), span (для факсов) и vorbis (опционально для поддержки кодека vorbis). У остальных пакетов мы прописываем поддержку всех доступных кодеков.
Теперь, когда мы установили необходимые USE-флаги, приступим к установке.Вводим команду:emerge -a asterisk dahdi dahdi-tools
23.02.2012 15:56
Статья, позволяющая начинающим программистам выполнить базовую настройку asterisk
Asterisk является одним из самых распространенных серверов ip-телефонии наряду с такими системами, как Switchwox и 3CX. Большую популярность данная система обрела с распространением в нашей стране качественного интернета, а также множества телефонных провайдеров, предоставляющих телефонные номера в SIP-формате или так называемые SIP-номера.
Одной из таких компаний является Датагруп, которая зарекомендовала себя одним из лидеров рынка услуг связи. С удешевлением SIP-номеров появился смысл использовать современные телефонные системы ip-телефонии взамен старым аналоговым мини-атс. Это связано с широкими функциональными возможностями call-центров на базе Asterisk.
При этом стоимость оборудования и настройка Asterisk практически не уступает в денежных затратах.
Установка asterisk производится путем скачивания и дальнейшей компиляции бесплатно распространяемого исходного кода, разработанного компанией Digium.
Исходники asterisk существуют только для unix-совместимых операционных систем, самыми распространенными из которых являются Linux и FreeBSD. Установка asterisk под Windows возможна только путем реализации виртуальной машины.
Скачать последние версии asterisk можно по следующей ссылке . На данный момент развивается сразу 4 версии этого сервера. Наибольшую стабильность всех модулей имеют версии asterisk 1.4 и asterisk 1.6. С другой стороны, в функциональном плане выгодно отличается версия asterisk 1.
8, в которой есть поддержка множества новых модулей и функций, среди которых можно отметить поддержку протокола SRTP, работу с IPv6 и улучшенные показатели при работе SIP и ISDN.
В данной статье будет рассмотрена установка asterisk v 1.6.22 на Linux Fedora Core.
Для начала установки, скачаем исходники asterisk. Для этого, выполняем в консоли сервера команды:
# wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.6.2.22.tar.gz
# tar -xzvf asterisk-1.6.2.22.tar.gz
Перед тем как компилировать исходники, установим все необходимые сопутствующие модули и утилиты:
# yum install gcc
# yum install gcc-c++
# yum install make
# yum install libxml2-devel
# yum install ncurses-devel
После того, как все дополнительные утилиты установлены, производим установку самого asterisk:
# cd asterisk-1.6.2.22
После удачной установки в каталоге /etc/asterisk вы обнаружите конфигурационные файлы asterisk”a. Настройка asterisk осуществляется путем редактирования файлов конфигурации, имеющих очень специфическую структуру и операторы. Основу конфигурации при настройке астериск составляют файлы sip.conf и extensions.conf. Изучив и отредактировав эти файлы, можно добиться правильной работы сервера.
Файл sip.conf включает в себя настройки всех sip-устройств, зарегистрированных на сервере, который в последствии взаимодействуют между собой путем соединения двух и более sip-каналов, благодаря чему инициируется телефонное соединение – то есть звонок.
Пример файла sip.conf:
qualify=yes
nat=no
defaultexpiry=3600 disallow=all allow=alaw allow=ulaw fromuser=044XXXXXXX host=80.91.169.2 insecure=invite,port secret=xxxxxxxxxxx type=peer username=044XXXXXXX context=incoming language=ru qualify=yes
dtmfmode=auto
type=friend host=dynamic insecure=invite,port username=fxo secret=xxxxxxxx context=incoming qualify=yes nat=no canreinvite=no allowtransfer=no dtmfmode=auto disallow=all allow=alaw
allow=ulaw
type=friend regexten=101 secret=xxxxxxxxxxxxx context=internal host=dynamic
callerid=”101″
В данном примере приведен простейший список sip-устройств. Несложно заметить, что в конфигурации имеются блоки, заключенные в квадратные скобки. Именно такими блоками описывается конфигурация любых устройств (пиров) при настройке Asterisk. Пройдемся вкратце по блокам и по самым основным параметрам.
Блок является обязательным. В него входят настройки и параметры, которые применяются ко всем блокам по умолчанию. Другими словами, если при описании того или иного устройства не указан какой-либо параметр, то Asterisk читает его из этого блока.
Следующие три блока описывают непосредственно sip-устройства. Для наглядности все три устройства имеют разные предназначения. Блок описывает параметры для sip-номера компании Датагруп, блок описывает параметры, для соединения с VOIP-шлюзом, а блок описывает параметры обычного внутреннего sip-устройства, которым может программный или аппаратный ip-телефон.
Пробежимся по основным параметрам sip устройств. Параметр context определяет какой алгоритм действий применять к тому или иному устройству.
Callerid определяет номер и имя пира, которые будут высвечиваться при исходящем звонке с него. Опции disallow и allow определяют, какие кодеки использовать для связи. Опция secret – это пароль для регистрации данного пира.
Пароли желательно составлять достаточно сложными во избежание взломов недоброжелателями.
Файл extensions.conf описывает взаимодействия между контекстами и каналами связи, которых может быть большое множество. По сути, этот файл является основным при настройке asterisk.
Пример файла extensions.conf:
exten => _XXX,1,Dial(SIP/${EXTEN},120,tT)
exten => _XXX,n,Hangup
Exten => _X.,1,Dial(SIP/datagroup/${EXTEN},120,tT)
exten => _X.,n,Hangup
exten => _X.,1,Dial(SIP/101,60,tT)
exten => _X.,2,Hangup
Exten => h,1,Hangup
В данном простейшем примере мы имеем два алгоритма действий (контекста) – internal и incoming. Напомним, что привязка к контекстам осуществляется при создании пиров в файле sip.conf и в дальнейшем присваивается уже в extensions.conf при попытке инициации связи с пиром.
Опишем подробнее два контекста. Уже по их названиям становится понятно, что они применяются для алгоритмов внутренних абонентов (internal) и входящих звонков (incoming). Разобраться в конструкции этого файла поможет обобщенный пример, который можно выразить строкой:
Exten => _XXX,n,Command(Options)
Расшифровываются эти опции так:
Exten => _XXX – служебный префикс, с которого начинаются практически все строчки в данном файле. Он описывает представление входящего контекста.
Другими словами, если на этот контекст обратился пир с номером 101, то алгоритм для него должен начинаться с конструкции exten => 101. Префикс поддерживает регулярные выражения и может указываться обобщенно.
Например, exten => _XXX говорит о том, что под данный алгоритм попадают все пиры, которые состоят из трех цифр.
N – номер строчки алгоритма. В любом программном коде имеется последовательность операторов, которые выполняются по очереди. Точно также и в настройках asterisk есть такая последовательность. Единственное отличие – команды, выполняемые asterisk’ом, нумеруются. Обязательным является указание первой сточки явно. Как вы успели заметить, все контексты начинаются со строчек:
Exten => _XXX,1,….. exten => _X.,1,…..
exten => h,1,……
А вот дальнейшие строчки могут нумероваться неявно, то есть так:
Exten => _XXX,n,….. exten => _X.,n,…..
exten => h,n,……
При неявном указании номера строчки, asterisk выполняет их последовательно сверху вниз, как это происходит с любым другим кодом.
Command – команда выполняемая asterisk’ом. Основных команд не так уж много. Для базовой настройки достаточно знать синтаксис команды Dial (позвонить), на примере которой мы рассмотрим оставшиеся опции.
Например: exten => _X.,1,Dial(SIP/101,60,tT) – asterisk наберет внутренний номер 101 и будет пытаться дозвониться до абонента в течении 60 секунд с возможностью перехвата звонка со стороны звонящего и принимающего пиров (опции tT)
exten => _X.,1,Dial(SIP/datagroup/${EXTEN},120,tT) asterisk наберет номер, которые передан в переменной ${EXTEN} с помощью пира datagroup ранее указанного в sip.conf
Первый пример применялся в контексте incoming. Это говорит о том, что все входящие звонки, приходящие на этот контекст перенаправляются на внутреннего абонента, который отвечает на эти звонки. Второй пример в свою очередь показывает, как осуществляется исходящий звонок передавая набранный номер в служебной переменной ${EXTEN}.
Примеры файлов можно напрямую скопировать с этой статьи и вставить в ваши sip.conf и extensions.conf и подредактировать некоторые опции (логины, названия пиров, пароли и т.д). После настройки asterisk, запускаем сервер простой командой:
Дальнейшие действия могут производиться из командной строки астериска, которая запускается командой:
# asterisk -rvvvvd
Попав в консоль вы можете проверить работу вашего сервера. В ней будут отображаться все действия, которые он выполняет.
P.S. В случае, если у вас не получилось настроить сервер, либо же вам нужна более сложная конфигурация, с радостью поможем в настройке asterisk. Наши контакты .
По установке системы.
Наконец тем или иным образом у нас появился установленный Asterisk и FreePBX.
В командной строке выполните следующее:
1) Войти в систему в режиме суперпользователя, указав «root», после — пароль (по умолчанию «1»):
$ root
Password: [пароль]
2) Перейти в папку с конфигурационными файлами Asterisk: $ cd /etc/asterisk
3) Изменить конфигурационные файлы Asterisk. Создать подключение к провайдеру и к Asterisk. Для этого отредактировать файлы:
$ nano sip.conf
$ nano extensions.conf
3.1) Для соединения Asterisk с провайдером обычно достаточно указать поля «username», «secret», «host» в файле «sip.conf» (раздел внешних транков) и логин подключения в файле «extensions.conf» (см. ниже).
3.2) Для соединения с Asterisk в АТС обычно достаточно указать значения из полей «username», «secret» (раздел внутренних транков) и IP-адрес виртуальной машины Debian.
3.3) После внесения изменений в файлах нажать «Ctrl + O» (для сохранения изменений), «Enter», «Ctrl + X» (для выхода из редактора).
4) После настройки файлов требуется перезапустить Asterisk: 4.1) Войти в консоль Asterisk:
$ asterisk -rvvv
4.2) В консоли Asterisk выполнить команду перезапуска:
CLI> core restart now
5) Проверить подключение, совершив тестовые звонки: исходящий и входящий.
5.1) подключить софтфон к Asterisk;
5.2) совершить исходящий и входящий звонок.
6) Настроить АТС для подключения к Asterisk (см. п. 3.2). Проверить подключение, совершив тестовые звонки: исходящий и входящий.
;внешние транки (авторизация у провайдера)
[provider-01](global-users)
username=login
secret=password
host=provider.com
context=in-provider-01
callbackextension=trunk-provider-01
;внутренние транки (авторизация у астериска)
[user1](local-users)
; пользователь астериска
context=out-provider-01
username=user1 ; это имя, которое атс будет использовать для авторизации в астериске
secret=password ; пароль для авторизации в астериске
1. Файл «sip.conf» — файл настроек каналов sip (отрывок).
контекст исходящих звонков к провайдеру (исходящие номера должны начинаться с цифры)
[out-provider-01] exten => _X.,1,Set(CALLERID(num)=login)
exten => _X.,n,Macro(confer,SIP/provider-01/${EXTEN})
контекст входящих звонков от провайдера [in-provider-01]exten => trunk-provider-01,1,Macro(confer,SIP/user1)
2. Файл «extensions.conf» — файл настроек плана набора (отрывок).
; внешние транки (авторизация у провайдера) [provider-01](global-users)
username= login_1
secret=password
host=provider1.com
context=in-provider-01
callbackextension=trunk-provider-01
[provider-02](global-users)
username= login_2
secret=password
host=provider2.com
context=in-provider-02
callbackextension=trunk-provider-02
; внутренние транки (авторизация у астериска)
[user1](local-users)
; первый пользователь
context=out-provider-01
username= user1
secret= password
[user2](local-users)
; второй пользователь
context=out-provider-02
username= user2
secret= password
1. Файл «sip.conf»—файл настроек каналов sip (отрывок).
; контекст исходящих звонков к провайдеру (исходящие номера должны начинаться с цифры)[out-provider-01]exten => _X.,1,Set(CALLERID(num)=login_1)
exten => _X.,n,Macro(confer,SIP/provider-01/${EXTEN})
[out-provider-02]exten => _X.,1,Set(CALLERID(num)=login_2)
exten => _X.,n,Macro(confer,SIP/provider-02/${EXTEN})
; контекст входящих звонков от провайдера [in-provider-01]
exten => trunk-provider-01,1,Macro(confer,SIP/user1)
[in-provider-02]exten => trunk-provider-02,1,Macro(confer,SIP/user2)
2. Файл «extensions.conf»—файл настроек плана набора (отрывок)
Файл настроек каналов sip.conf:внешний транк:
• provider-01 — имя внешнего транка для подключения к sip-провайдеру.
• username — логин для подключения к sip-провайдеру.
• secret — пароль для подключения к sip-провайдеру.
• host — адрес sip-провайдера.
• context — имя контекста, на который будут адресованы входящие звонки от sip-провайдера к АТС.
• callbackextension — номер, на который будут адресованы входящие звонки от sip-провайдера к АТС.
внутренний транк:
• user1 — имя внутреннего транка для подключения офисной АТС к Asterisk.
• context — имя контекста, на который будут адресованы внутренние звонки от АСТ к sip-провайдеру.
• username —логин для подключения к Asterisk (должен совпадать с именем внутреннего транка).
• secret — пароль для подключения к Asterisk.
Файл настроек плана набора extensions.conf:
• out-provider-01 – имя контекста исходящих звонков (должен совпадать с именем, указанным в поле «contex» внешнего транка в файле «sip.conf»). В этом контексте нужно указать логин, зарегистрированный у провайдера, и имя внешнего транка (см. файл «sip.conf»).
• in-provider-01 – имя контекста входящих звонков (должен совпадать с
именем, указанным в поле «contex» внутреннего транка в файле «sip.conf»). В этом контексте нужно указать логин, зарегистрированный у Asterisk, и номер, указанный в поле «callbackextension» (см. файл «sip.conf»).
При использовании нескольких SIP-провайдеров необходимо для каждого из них создать внешний и внутренний транки, а также контексты для входящих и исходящих звонков согласно образцу. Имена транков и контекстов (т. е. все подсвеченные имена) должны быть уникальными.
Что будет в моде и как Elghansa попадает в каждый тренд Ещё недавно сантехника считалась…
Для владельцев участок борьба с сорняками – это головная боль. Трава лезет просто из всех…
Современные инсталляции для унитазов становятся все более популярными благодаря эстетике, удобству и функциональности. С их…
Важный этап в процессе передачи владения недвижимостью – оформление соответствующих бумаг. От них зависит законность…
Значит, скважина на участке — штука реально нужная, без неё никуда. Вода, как-никак, вещь первой…
Подвесные светильники – осветительные приборы, которые правильно располагать на некотором расстоянии от потолка. В качестве…
This website uses cookies.