Установка asterisk 14 на ubuntu 16.04. Установка FreePBX13 Asterisk13 на Centos7. Логины и пароли для готового образа Elastix.

« под ключ», то обращайтесь к нашим специалистам по телефону 8 (495 ) 989-85-33 или 8 (800 ) 333-75-33. Доверьте свою телефонию профессионалам.

1. Ручная установка Asterisk

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

Аналогичным образом выкачиваем все требуемые пакеты:

Для компиляции исходников потребуется сам компилятор. Устанавливаем его следующей командой (кавычки должны быть те, где на клавиатуре размещена буква « Ё»):

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

Другие заказы на управление пользователями и группами. Группы: отображает все группы, к которым принадлежит пользователь. Давайте рассмотрим некоторые примеры, иллюстрирующие это. Перенаправление ввода и вывода. На 24-строчном экране появится столбец ~, указывающий конец файла. Внизу мы увидим имя нового файла. Для доступа к этому режиму введите: из командного режима. Чтобы выйти из него, мы выполняем заказ или стираем все, включая двоеточие. Мы можем удалить и удалить текст, помимо перемещения файла с помощью стрелок курсора.

Каждой из команд движения может предшествовать число, так что у нас есть возможность перейти к произвольному слову, строке или символу. Кроме того, мы можем связывать команды с другими командами, такими как удаление. Мы объединим эти две команды с командами прокрутки для копирования или вырезания наборов символов, строк, слов. Непосредственно, если мы не хотим сохранять изменения. Мы прекратим редактирование первого и перейдем ко второму. Выполнять команды интерпретатора.

Распаковываем предварительно скачанные с официального сайта пакеты.

tar-xvf asterisk-current.tar.gz
tar-xvf dahdi-linux-complete-current.tar.gz
tar-xvf libpri-1.4-current.tar.gz

В первую очередь устанавливаем библиотеку LibPRI .

LibPRI — это OpenSource библиотека, предназначенная для работы с потоковыми TDM-интерфейсами ISDN: PRI (Primary Rate Interface)и BRI (Basic Rate Interface). Первый (PRI ) часто используется в России для работы с операторами по каналам Е1.

Мы можем вставить в файл, который мы редактируем, вывод команды. Вставьте список текущего каталога с номерами индексных дескрипторов в конце текущего абзаца. Он отобразит тот же список, что и в предыдущем примере, хотя в этом случае результаты не будут вставлены в файл. Мы можем даже временно уйти и запустить оболочку для выполнения других команд.

Начнем с начала, что такое Кронтаб?

Во-первых, что такое демон? Ну, далеки от того существа, которое мы все представляем, это процесс, который находится в постоянном исполнении и который не закрывается, то есть, если мы попытаемся закрыть процесс, являющийся демоном, процесс будет вновь открыт. Можно сказать, что они являются «непревзойденными» процессами, которые всегда работают и не могут быть убиты. Слово «демон» происходит от английского «демона».

cd /usr/src/asterisk/libpri-*
make clean
make
make install

cd /usr/src/asterisk/dahdi-linux-complete*
make all
make install
make config

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: *** Error 1
make: Leaving directory `/usr/src/asterisk/dahdi-linux-complete-2.6.1+2.6.1/linux"
make: *** Error 2

Это может означать, что не стоят исходные коды для ядра. Вернитесь на этап, где требовалось установить исходные коды ядра.

Ну, как видите, у нас пустой конфигурационный файл. Сначала мы поймем ваш синтаксис. Звездочка означает «всегда». Если мы поместим звездочку, она будет запускаться каждый день месяца. Если мы поместим звездочку, это будет каждый день недели. Если ввести число от 0 до 6, будет выполнен только указанный день, если он соответствует предыдущим параметрам.

Как предоставить разрешения на выполнение сценария?




Теперь давайте пример использования. Представьте, что мы работаем в компании и просим создать резервную копию каждый день в 6 утра. Мы сделаем это следующим образом. Предположим, что скрипт является нашим, поэтому мы являемся владельцем файла. Если наш скрипт не имеет разрешений на выполнение, он не будет работать. Это означает, что каждые 30 минут скрипт запускается.

На этом этапе устанавливаем само телефонное ядро Asterisk.

cd /usr/src/asterisk/asterisk*
. /configure

Если на этом шаге у Вас отобразится такая заставка, значит все идет по плану:

На этом этапе можно выбрать модули, которые будут входить в состав сборки. Если требуется работа с MySQL или другими компонентами, их рекомендуется установить заранее.

Видео по установке

Если мы хотим, чтобы наша команда выполнялась несколько дней, а не одна, мы можем отделить дни, которые мы хотим выполнить запятыми, например. Этот скрипт будет работать каждый день в 00. Он будет запускаться как пользователь звездочки, и мы собираем исходный код для получения последней версии. Теперь вы являетесь корнем, но вам нужно установить пароль с помощью команды.

Затем мы разберем его. Поэтому мы можем скомпилировать его сначала. И теперь мы начинаем настраивать и компилировать звездочку. Когда это будет сделано, избегайте делать сотни конфигурационных файлов, если после установки вы обычно хотите запустить эту команду, она выполнит начальную настройку для вас.

Система выбора модулей выглядит следующим образом (хотя, она может быть и на черно-белом фоне):


Управление:

  • Перемещение — стрелками клавиатуры
  • Выбор — пробелом
  • XXX — модуль не доступен для установки. Необходимо установить недостающие зависимости и повторить все с шага». /configure»
  • F12 — сохраняем и выходим

make
make install

Что мы делаем

А затем мы можем ввести консольную звездочку с командой. Это не то, что мы хотим. Поэтому нам нужно сделать дополнительные шаги для запуска в качестве пользователя звездочки. Для правильной работы пользовательской звездочки должно быть присвоено свойство для всех основных каталогов звездочек.

Вы можете перераспределить ее при определенных условиях. Если вы получаете аналогичный результат, особенно то, что он работает как пользовательская звездочка и группа звездочек, это означает, что все прошло хорошо. Джици и кольцо, и посмотреть, что наиболее удобно для вас носить. С этим мы можем завершить этот урок. Если вы обнаружите ошибку, не стесняйтесь комментировать. Они будут работать как пользователь звездочки, и мы собираем исходники для получения последней версии.

Создаем дефолтные конфиги и образцы.

make samples
make config

Добавляем Астериск в автозагрузку

Chkconfig asterisk on

Запускаем Астериск консольно, количеством «v » в опции задавая плотность протоколирования (verbosity ). Убеждаемся, что Астериск запускается нормально, после чего останавливаем его.

asterisk -vc
stop now

Запуск будет сопровождаться таким списком загружаемых модулей:

Позже он изменится на пользователя звездочки для большей безопасности. Следующим шагом будет установка зависимостей запуска для звездочки. Поэтому вы сначала скомпилируете его. И теперь мы начинаем настраивать и компилировать код звездочки. Команда для компиляции и установки звездочки. Когда это будет сделано, чтобы не делать сотни конфигурационных файлов самостоятельно, после обычной установки вы хотите запустить эту команду, она сделает для вас первоначальную конфигурацию.

И затем мы можем ввести консоль звездочки с помощью команды. Поэтому мы должны предпринять дополнительные шаги, чтобы заставить его работать как пользователь звездочки. Сначала мы должны оставить звездочку. Если он имеет аналогичную производительность, в основном он работает как пользовательская звездочка и группа звездочек, это означает, что все прошло хорошо.


Теперь Asterisk можно запустить как службу, после чего подключиться к нему штатно в режиме консоли.

service asterisk start
asterisk -rvvvv

2. Работа с DAHDi

После инсталляции карты, проверяем ее в системе

lspci -v

Компилируем нужный пакет для нашей карты, Парабел, например, тут http://parabel.ru/d/dahdi_2.6.0%2B2.6.0-parabel_2.6.0.tar.bz2

Если вы нашли ошибку, не стесняйтесь комментировать. Он будет запускаться как пользователь звездочки, и мы компилируем его из источника, чтобы получить последнюю версию. Позже мы переключимся на пользователя-звездочку для дополнительной безопасности. И тогда мы можем ввести консольную звездочку с командой.

Для правильной работы пользовательской звездочки необходимо назначить свойство для всех основных каталогов звездочек. Теперь вы можете использовать его только для «личного и развития». Если вы соответствуете этим критериям, продолжайте читать. Теперь вы готовы попробовать приложения для распознавания речи. Наберите 411 и скажите «Американские авиалинии», чтобы подключиться к американцу.

в /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 // Указывается тип эхоподавителя и тайм-слоты, на которых он будет задействован.

Добавление невероятного факса 11 на ваш сервер

Мы всегда рекомендуем вам добавить дополнительный уровень защиты, запустив сервер за аппаратным брандмауэром без воздействия интернет-порта, но это ваш звонок. Особая благодарность Джошу Норту за всю его тяжелую работу над этим! Примите все значения по умолчанию во время процесса установки.

Это резервное изображение затем можно скопировать на любой другой носитель, необходимый для хранения. Не намного проще. В этом потоке сообщений. Мы рекомендуем входить в систему не реже одного раза в неделю на случай, если возникнет новая уязвимость системы безопасности.

Теперь чуть более подробно по опциям.

span = ,,,< framing>,[,crc4]
где
span_num - номер порта E1 (от 1 до максимального номера порта в плате)
timing - использовать ли порт как источник синхронизации
0 - порт адаптера ведущий по E1
1 и более - порт ведомый по E1 и является одним из источников
синхронизации адаптера. Чем больше число, тем меньше приоритет порта.
LBO - параметр не используется, ставить 0.
Framing - тип телефонной сигнализации, ставить ccs или cas.
Coding - кодирование в линии, может принимать значения ami или hdb3
Crc4 - разрешить проверку и генерацию crc4 (не обязательный параметр)

Помимо предоставления первоклассной бесплатной поддержки, мы считаем, что вам понравится товарищество. Когда мы откроем его, напишем следующую строку. После завершения запустите приложение с той же консоли, набрав. У нас уже установлен сервер! Давайте напишем его в консоли.

Платформа IT инфраструктуры

С этим мы закончили всю работу, уже мы можем создавать собственные веб-страницы, важно, чтобы у вас был хороший редактор, который бы удобно программировать. Он будет работать как пользователь звездочки, и мы сделаем компиляцию из источника, чтобы получить самую последнюю версию.

Делаем рестарт 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

Позже мы перейдем к пользователю для лучшей безопасности звездочки. Поэтому мы сначала компилируем. Когда все будет готово, чтобы избежать создания сотен конфигурационных файлов самостоятельно, после установки вы обычно хотите запустить эту команду, для вас, кто должен будет выполнить начальную конфигурацию.

И тогда мы можем ввести консоль звездочки с командой. Прежде всего, вы должны остановить звездочку. Чтобы правильно работать, пользователь звездочки должен назначить право собственности всем основным каталогам звездочки. Лицензионная версия 2 и другие лицензии, и вам рекомендуется перераспределить ее при определенных условиях. Если вы получаете аналогичный результат, особенно если он работает как пользовательский звездочек и группа звездочек, это означает, что все в порядке.

Значения не ниже 99,9 — хороший результат. Он означает, что DAHDI-устройство не вынуждено конкурировать с другими процессами за прерывания и время процессора. Значения ниже 99.9 будут приводить к ухудшению качества звука, срыву синхронизации канала E1, скрежету и обрывам голоса.

В случае, если значения ниже 99,9 (да и просто для профилактики), неободимо убедиться, что цифровая карта не делит прерывания с другими драйверами.

Вы можете начать с чтения официальных звездочек и пример мира. При этом мы завершаем этот урок. Кроме того, принудительно контролируя выполнение отдельных команд, она избегает любой отсрочки ее использования, запрашивая пароль, если они будут запускать административные команды И сохраняя полный журнал выполненных команд, позволяя анализировать, что произошло в системе. Администратор может временно назначать пользователю определенные привилегии, устраняя или ограничивая их, когда им не нужно.

Сделайте своего рода замену до авторизации между текущим пользователем и целевым пользователем. Целевой пользователь необязательно должен быть администратором, но может быть любым системным пользователем. После ввода команды система запрашивает текущий пароль пользователя, а не целевой пароль пользователя.

Cat /proc/interrupts
# 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
примерный конфиг:

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

3. Установка Asterisk из YUM

Помимо компиляции Asterisk вручную, можно воспользоваться менеджером пакетов YUM, который является штатной утилитой RedHat-based дистрибутивов.

Установку Asterisk мы будем производить из самых « аутентичных» источников — репозитория Asterisk.Org.

Краткая инструкция по работе с данным репозиторием находится здесь: http://www.asterisk.org/downloads/yum

Вам требуется создать новый файл с названием «centos -asterisk.repo» в директории the» /etc/yum.repos.d». В него вы вносите следующую конфигурацию:


name=CentOS-$releasever — Asterisk — Tested
baseurl=http://packages.asterisk.org/centos/$releasever/tested/$basearch/
enabled=0
gpgcheck=0


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». Вносите в него следующий текст:


name=CentOS-$releasever — Digium — Tested
baseurl=http://packages.digium.com/centos/$releasever/tested/$basearch/
enabled=0
gpgcheck=0


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


4. Астериск — конфигурационные файлы.

Главный конфигурационный файл:

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 : Конфигурация голосовых почтовых ящиков для команды VoiceMail

Конфигурационные файлы не попадающие в какую-либо категорию:

amd.conf : (Появился, начиная с версии 1.4.0) Параметры приложения для определения автоответчиков.
alsa.conf
cdr_odbc.conf
cdr_pgsql.conf
codecs.conf
features.conf : Конфигурация парковки вызовов и других возможностей
followme.conf : (Появился, начиная с версии 1.4.0) Параметры для трансфера вызовов системы findme/followme.
func_odbc.conf : (Появился, начиная с версии 1.4.0) В этом файле определяются параметры доступа к sql базам данных.
http.conf : (Появился, начиная с версии 1.4.0) Конфигурация встроенного мини http сервера в asterisk.
logger.conf : Настройка логирования в Астериск
manager.conf : Конфигурация для Asterisk manager API
modules.conf : Конфигурация загрузки модулей Asterisk
odbc.conf : Конфигурация UnixODBC? драйверов для Asterisk
res_snmp.conf : (Появился, начиная с версии 1.4.0) Включение поддержки snmp в asterisk и определение статусов агентов full/sub.
rtp.conf : Конфигурация протокола передачи media информации RTP, порты и настройки
say.conf : (Появился, начиная с версии 1.4.0) Определения правил произношения цифр, дат и т.д. Для различных языков.
sla.conf : (Появился, начиная с версии 1.4.0) Конфигурация Shared Line Appearance.
smdi.conf : (Появился, начиная с версии 1.4.0) Конфигурация обмена сообщениями SMDI.
udptl.conf : Появился, начиная с версии 1.4.0) конфигурация для транспорта T38 udptl.

Основная фишка во всех файлах конфигурации

Во всех файлах конфигурации Asterisk, Вы можете включать в эти файлы другие файлы с частями конфигурации, используя директиву #include. Для того, например, чтобы в основном файле конфигурации SIP канала описать все глобальные настройки, а аккаунты SIP пользователей включать из другого файла.

5. Установка кодека g729 (и g723)

Кодек G729 обременен патентными ограничениями, что не дает возможность команде разработчиков Asterisk включить его в стандартную сборку Asterisk. Тем не менее, данный кодек является самым популярным кодеком на низкоскоростных каналах связи. Поэтому нам необходимо установить его самостоятельно.

cli> core show translation

показывает время (ед. измерения в заголовке таблицы) транскодинга из одного формата в другой. В то же время позволяет понять, какие кодеки установлены. и загружены в систему.

cli>!cd /usr/lib/asterisk/modules/

»!» в CLI означает, что команду нужно выполнить в консоли LINUX
на сайте http://asterisk.hosting.lv/ выбираем версию нашего астериск, платформу (i386 или x86_64) и тип использованного компилятора (IPP или GCC4).

Например, для Сentos 32 бита, на платформе intel, подойдет:

cli>!wget http://asterisk.hosting.lv/bin/codec_g729-ast18-gcc4-glibc-pentium4.so

затем загружаем модуль в астериск

Cli>module load codec_g729-ast18-gcc4-glibc-pentium4.so

проверяем

Cli> core show translation

Если мы ошиблись в выборе нужного кодека, скорее всего астериск « упадет»

Запускаем астериск и видим на каком этапе он вываливается

Asterisk -vvvvvvvvvvvvvvvvvvvc

Удаляем модуль и перезапускаем астериск.

Без удаления можно обойтись так: в файле modules.conf добавить строчку

Noload ≥ codec_g729-ast18-gcc4-glibc-pentium4.so

это значит, что при старте этот модуль автоматически загружаться не будет

После нормальной загрузки кодека, выполните команду core show translations для того чтобы убедиться в корректности установки кодека.

6. Подключение SIP клиента.

Теперь необходимо настроить со стороны Asterisk-а SIP-аккаунт для внутреннего абонента.

Структура sip.conf:


;глобальные значения переменных канала SIP
disallow=all
allow=gsm
allow=ulaw
allow=alaw
context=default
;……
register ≥ user:pass@host/callerid

Создаем номер для абонента, узказывая для него опции подключения.


deny=0.0.0.0/0.0.0.0 //указание сетей, из которых запрещено подключение
permit=0.0.0.0/0.0.0.0 //указание сетей, из которых разрешено подключение
type=friend //указываем тип абонента.
secret=asdff34tgg //задаем пароль на подключение
qualify=yes // Активируем KeepAlive
port=5060 // Задаем порт, на котором будет работать абонентское устройство (используется, если не работает функция регистрации абонентского устройства)
pickupgroup=1 // Задаем принадлежность к группе перехвата
nat=yes // Указываем, будет ли устройство находиться за NAT-ом по отношению к серверу Asterisk
mailbox=100@device // Указываем номер и контекст ящика голосовой почты
host=dynamic // Задаем IP абонетского устройства или сообщаем с опцией dynamic, что для местоопределения будет использоваться механизм регистрации
dtmfmode=rfc2833 // Тип передачи DTMF-сигналов
disallow=all // Сначала запрещаем все кодеки
allow=ulaw // Тут указываем допустимые кодеки, перечисляя их построчно сверху вниз в порядке приоритета
allow=gy29
dial=SIP/100 // Задаем команду Dial, которая будет использоваться для вызова данного абонента
context=from-internal // Указываем принадлежность абонента определенному контексту.
canreinvite=no // Указываем возможность использования механизма CanReinvite. Не рекомендуется для устройств, которые могут быть отделены от сервера NAT-ом
callgroup=1 // Указываем группу набора
callerid=Alexey <100> // Задаем CallerID — имя и номер, которые будут высвечиваться у других абонентов, а также в CDR.
call-limit=2 // Задаем максимальное количество линий, которые одновременно могут использоваться абонентом. Рекомендуется задавать не более 2-3-х одновременных линий.

Сохраняем и делаем в cli

Sip reload

Проверяем

Sip show peers
100/100 (Unspecified ) D N A 5060 UNKNOWN

Теперь настраиваем софтфон или SIP телефон. Простая и понятная инструкция по настройке софтфона X-Lite для Asterisk . Указываем реквизиты из sip.conf
user
pass
ip-proxy — IP нашего Астериск
Когда телефон подключится, мы должны увидеть

Sip show peers

100/100 192.168.0.10 D N A 5060 OK (111 ms)
1 sip peers

Настройки для конкретного SIP peer

Sip show peer 100

Необходимо создать второй аккаунт для коллеги, чтобы пускать звонки и тестировать корректность настройки Asterisk.
Сделать действия аналогичные, создать второй номер и сообщить реквизиты для SIP клиента коллеге.

7. Полезные команды CLI Asterisk

sip show peers
sip show peer 100
sip show settings
sip reload
sip set debug on
rtp set debug on
core show translation
dahdi show channels
core show application Dial
core show application CALLERID
core reload
dialplan reload
dialplan show context
dialplan show 100@context

8. Простой диалплан. Файл extensions.conf

Файл Extensions.conf описывает логику работы Asterisk, а именно, обработку входящих вызовов, маршрутизацию исходящих вызовов, обработку звонков и событий по разнообразным правилам. В Asterisk это называется ДиалПланом (DialPlan ). Как говорят разработчики, диалплан — это сердце Asterisk.

За работу диалплана отвечает файл extensions.conf. Файл поделен на контексты, в каждом из которых прописана логика работы. Логика работы формируется с помощью приложений. Приложения — это функции Asterisk, запускаемые с параметрами. Последовательность выполнения приложений — построчная.

Так как каждая телефонная линия или номер внутреннего абонента может принадлежать только одному контексту, осуществляется логическое разделение всех внутренних абонентов и телефонных линий операторов.

Например, в данном контексте, который назначен абоненту с номером 100, описана возможность выполнения трех действий:

  • звонка на внутренний номер 999, который выполняет какую-либо функцию
  • звонка другому внутреннему абоненту, номер которого начинается с цифры «1 » и состоящий из трех цифр
  • звонок на внешние телефонные линии через SIP-оператора


;тестовый звонок на номер 999, с возможность донабрать 2,3,5
exten ≥ 999,1,Answer ()
exten ≥ 999,n,Background (hello -world)
exten ≥ 999,n,Hangup ()
exten ≥ 2,1,Playback (digits /2)
exten ≥ 3,1,Playback (digits /3)
exten ≥ 5,1,Playback (digits /5)

;звонок на внутреннего абонента 1XX подключенного по технологии SIP

Exten ≥ _1XX,1,Dial (SIP/${EXTEN},60)

;звонок на московский номер через транк провайдера, который подключен к Asterisk по технологии SIP

Exten ≥ _495ZXXXXXX,1,Dial (SIP/provider/8${EXTEN},60)

Установку Asterisk 12 будем проводить на ОС Ubuntu 14.04 "Trusty Tahr" LTS, установленную на Oracle VM VirtualBox.

1) Заходим в терминал Ubuntu и обновим системные пакеты.

sudo apt-get update
sudo apt-get upgrade

2) Перезагрузим систему

sudo reboot

3) Синхронизируем время, для этого установим сервер NTP

sudo apt-get install ntp

4) Установим зависимости, которые будут необходимы для корректной работы Asterisk

sudo apt-get install build-essential linux-headers-` uname -r` openssh-server mysql-server mysql-client libgnutls28 bison flex curl sox libncurses5-dev libssl-dev libmysqld-dev libmysqlclient-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool git g++ subversion uuid-dev vim-nox php5 php5-curl php5-cli php5-mysql php-pear php-db php5-gd

В процессе установки нужно будет ввести пароль для root пользователя MYSQL

5) Перезагружаем систему

sudo reboot

6) Создадим папку, куда будем скачивать дистрибутивы Asterisk, DAHDI и LibPRI

sudo mkdir -p /usr/src/asterisk-12
cd /usr/src/asterisk-12

7) Скачиваем исходники Asterisk 12.5 (на момент написания инструкции последняя актуальная версия), DAHDI (пакет, ранее называвшийся zaptel, который осуществляет обработку аналоговых и цифровых интерфейсов), libPRI (библиотека, предназначенная для работы с потоковыми TDM-интерфейсами ISDN: PRI (Primary Rate Interface) и BRI (Basic Rate Interface))8) Распаковываем скаченные исходники

sudo tar xvfz dahdi-linux-complete-2.10.0+2.10.0. tar .gz
sudo tar xvfz libpri-1.4.15. tar .gz
sudo tar xvfz asterisk-12.5.0. tar .gz

9) Для начала компилируем DAHDI

cd /usr/src/asterisk-12/dahdi-linux-complete-2.10.0+2.10.0
sudo make all
sudo make install
sudo make config
cd /usr/src/asterisk-12/libpri-1.4.15
sudo make
sudo make install

11) Начнем установку Asterisk 12. Необходимые модули устанавливаем командой make menuselect.

cd
./configure

При установке может вылететь ошибка

configure: error: *** JSON support not found (this typically means the libjansson development package is missing)

Для этого делаем следующее

cd /usr/src/
sudo wget http://www.digip.org/jansson/releases/jansson-2.6. tar .gz
sudo tar xvfz jansson-2.6. tar .gz
cd jansson*
sudo ./configure --prefix=/usr/
sudo make clean
sudo make
make install
ldconfig
cd /usr/src/asterisk-12/asterisk-12.5.0
sudo ./configure
sudo make menuselect



По большей части, все необходимые модули уже включены. Вы можете что-то добавить или удалить. При выборе модуля у него будет короткое описание, за что он отвечает.

В разделе Add-ons выбираем модули format_mp3(понадобиться чтобы делать голосовое меню не в gsm формате, а в mp3) и все опции относящиеся к MySQL . Они понадобятся в случае подключения FreePBX .

Не забудьте загрузите модуль meetme .

Во вкладке Core Sound Packages – выберите необходимые форматы звуковых пакетов.



В Music On Hold File Packages включаем все модули.

В Extras Sound Packages включаем первые 4 модуля содержащие EN

После настройки нажмите F12 для сохранения данных и выхода в окно консоли.Далее вводим команду:

sudo make

Во время выполнения функции make у меня вылезла ошибка.



Для её устранения, вводим требуемую команду.

sudo contrib/scripts/get_mp3_source.sh

Запускаем опять команду make

sudo make
sudo make install
sudo make samples
sudo make config

12) Если необходимо обезопасить систему, можем задать пользователя для управления Asterisk. Создаем пользователя, его каталог и пароль. Далее даем ему права для работы с Asterisk.

sudo adduser asterisk
sudo mkdir /home/username
sudo passwd username
sudo chown -R asterisk. /var/run/asterisk
sudo chown -R asterisk. /etc/asterisk
sudo chown -R asterisk. /var/{lib,log,spool}/asterisk
sudo chown -R asterisk. /usr/lib/asterisk

13) Перезагружаем сервер

sudo reboot

14) Заходим под пользователем asterisk

su asterisk

15) Проверяем работоспособность Asterisk. Вводим команду

rasterisk

И попадаем в консоль управления Asterisk.16) Сделаем некоторую настройку для MySQL. Заходим в MySQL.

mysql -uusername -ppassword -hlocalhost

Здесь сокращения:-h host-u user-p passwordПробел после них отсутствуетИли mysql –u username -p16.1) После ввода пароля мы окажемся в консоле mysql. Создадим пользователя asterisk с localhost и паролем "password".

create user "asterisk" @ "localhost" identified by "password" ;

Пользователь создан. Для проверки посмотрим список пользователей:

select user,host,password from mysql.user;

16.2) Создадим базу данных asteriskcdrdb, asterisk.

create database asterisk;
create database asteriskcdrdb;
GRANT ALL PRIVILEGES ON asterisk.* TO asterisk@localhost IDENTIFIED BY "password" ;
GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asterisk@localhost IDENTIFIED BY "password" ;
flush privileges;

На этом установка Asterisk 12.05 закончена. В следующих статьях рассмотрим как создавать внутренние номера, транки, группы.Если вы в статье нашли ошибки или несоответствия, мы будем благодарны, если вы напишите нам о них в комментариях.



В продолжение темы:
Android

Популярная социальная сеть ВКонтакте позволяет находить новых друзей и держать контакт со всеми близкими. Помимо этого, каждый пользователь может делиться собственными...