Asterisk установка и настройка. Установка и настройка телефонии Asterisk в Linux Ubuntu. Использование Asterisk в связке с SIP прокси SER

Linux-программа Asterisk нужна для создания серверов телефонии и АТС. У неё много полезных функций, которые будут к месту в любом офисе. Конференции, автоответчики, распределение звонков, текстовые сообщения , видео, голосовое меню и голосовая почта. Утилита поддерживает популярные протоколы связи. Их можно коммутировать. Но установка Asterisk на Ubuntu - дело не самое простое. Приложение загружается и настраивается через терминал. Поэтому надо изучить консольные команды.

  • Перейдите в папку «contrib/scripts/» при помощи команды «cd».
  • Откройте скрипт «get_mp3_source.sh».
  • Введите «make install».
  • Подождите, пока загрузятся архивы.
  • Установленный Asterisk надо настраивать и через меню, и через терминал. Поэтому откройте консоль.

  • Сделайте конфигурационные файлы. Можно в качестве теста. Команда - «make samples».
  • Активируйте функцию автозапуска - «make config ldconfig».
  • Теперь можно запустить сервис - «service asterisk start».
  • Или сразу открыть его в качестве демона - «/etc/init.d/asterisk start». Чтобы включить его консоль, введите команду «sudo asterisk -rvvvcd».
  • Пока для работы с Астериском вам нужны права суперюзера. Но лучше создать отдельного пользователя и предоставить ему доступ к функциям программы. Для этого:

  • Временно отключите утилиту - «service asterisk stop».
  • Добавьте нового юзера - «adduser [Имя]». Можете создать группу, которой предоставите нужные права. Она пригодится, если вы решите сделать нескольких пользователей для работы с разными службами Астериска.
  • Теперь нужна директория для запуска. Добавьте её при помощи команды «mkdir». После неё напишите параметр «-p» и путь к папке «/var/run/asterisk».
  • Чтобы приложение открывалось сразу под нужным юзером, отредактируйте файл «/etc/default/asterisk». Установите там следующие параметры: «AST_GROUP=»dialout»» и «AST_USER=»asterisk»».
  • Можно сделать это проще - впишите скрипт «sed -i ‘s/#AST_USER=»asterisk»/AST_USER=»asterisk»/g’ /etc/default/asterisk».
  • Предоставьте пользователю доступ ко всем папкам программы - «chown -R [Имя-юзера] [Путь-к-каталогу]».
  • Откройте файл «asterisk.conf», найдите в нём параметр «runuser» и укажите в нём только что созданного пользователя. Если делали группу, также перепишите строчку «rungroup».
  • Перезагрузите систему - «reboot».
  • Зайдите под именем Asterisk-юзера - «su [Имя]».
  • И запустите программу.
  • Чтобы посмотреть информацию о ней, введите «asterisk -rvvvv».
  • Утилита готова к работе. Дальнейшие действия зависят от того, в каких условиях будет использоваться станция. Есть несколько файлов, в которых расписана конфигурация:

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

    С Asterisk вы создадите АТС любой сложности. В нём много полезных функций и модулей. После установки и настройки вы сможете взаимодействовать со станцией при помощи клиентского программного обеспечения. Например, Linphone.

    Настройке Asterisk посвящены сайты, форумы и целые порталы типа voip-info.org. Но всегда есть люди, для которых эта тема – дремучий лес, а запустить продукт надо «вчера». Ещё полтора месяца назад я про Asterisk знал только то что он есть. Данный труд призван лишь несколько облегчить жизнь тем, кто окажется в такой же ситуации после меня. В нём могут быть ошибки любой степени «чайниковости». Если вы гуру настройки Asterisk – укажите на ошибку, я поправлю, потомки будут вам благодарны.

    Сначала было слово

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

    Затем было дело

    В общем, на бумаге всё было красиво и легко. Дело встало только за развёртыванием и настройкой Asterisk.
    Сначала были закуплены два простеньких сервера. Core i7-930, 12GB памяти и по 12ТБ на SATA-дисках. На эти серверы был установлен бесплатный Xen Server и развёрнуты виртуальные серверы и рабочие станции для удалённых сотрудников.
    В качестве внешнего хранилища используется QNAP-овский NAS, который достался в наследство.
    Терабайтные локальные хранилища нужны только для хранения медиа-банка, который довольно велик. Сами серверы все вместе весят меньше 3-х терабайт.
    Одним из серверов стал Asterisk на замену старичку Panasonic TDE-200. Т.к. компании необходима дешёвая связь, прямые номера в разных странах, и бесплатные переговоры между сотрудниками, то альтернативы ему за 12 шекелей в общем-то нет.

    День первый: Make World

    Настраивать Asterisk было решено на родной для Citrix Xen операционной системе CentOS. Тот же , только сбоку. Оговорюсь сразу: я всю жизнь админил Windows, а *nix-ами только “игрался” в виртуалках, не считая пары веб-серверов на железе. Поэтому, данное развёртывание Asterisk в Citrix Xen отдаёт некоторой наивностью с точки зрения умудрённых опытом людей.
    В общем, я пошел по проверенному пути: открывается на ноуте подробная how-to инструкция для чайников из официальных мануалов и выполняется на сервере буквально и безинициативно. Играть в героев-наладчиков можно будет позже, когда всё будет настроено и работать в состоянии “по умолчанию” и будет сделан первый full backup.

    День второй: yum install asterisk -y

    Не то чтобы я был очень удивлён, но, тем не менее, я пошёл к знакомому связисту за советом по настройке Asterisk, когда обнаружил, что живых астерисков аж три практически самостоятельных форка: 1.4, 1,6 и 1.8. У каждого из них свои тараканы и примочки. Т.к. я не обольщался надеждой одолеть астериск с наскоку, то решил поставить версию 1.4, как у друга, дабы иметь максимально возможную совместимость конфигов. Хотя, впоследствии, пришлось подниматься до 1.6 из-за отсутствия поддержки TCP в 1.4, когда возникла такая потребность.
    Для этого к CentOS был прилажен digium-овский репозиторий и Asterisk ставился из него.
    Установка прошла вполне ожидаемо, без сучка и задоринки. В основном, использовался толковый пошаговый roadmap с voip-info .
    Сразу же были поправлены iptables, чтобы разрешить трафик по SIP-портам.
    Не сразу же, но будущим поколениям рекомендую установить и настроить немедленно пакет по имени fail2ban . Совершенно не лишняя программа на сервере, выставленном в интернет. У меня через день после установки весь Тайвань в drop ушел, судя по iptables.

    День третий: ТЗ на функционал АТС

    Начинаем самое интересное – планирование. Перед любым процессом настройки надо записать и структурировать все пожелания заказчика и обязательно подписать соглашение, чтобы избежать в дальнейшем конфликтов вида “нет, я говорил совсем другое”. В моём случае заказчик - это компания, в которой я работаю, но это ничего не меняет. Пишем техническое задание на функционал, обсуждаем его с ответственными людьми, утрясаем разногласия и подписываем финальный вариант и приступаем к настройке Asterisk.
    ТЗ на конфигурацию получилось такое:

    • Нумерация телефонов четырёхзначная.
    • Первая цифра номера - признак страны расположения офиса.
    • Нумерация в каждом отделе начинается с первой цифры очередной сотни.
    • Каждый отдел является отдельной звонковой группой.
    • Если вызываемый абонент любым образом недоступен для вызова, то звонок перекидывается на всю группу.
    • Логика обслуживания входящих вызовов:
    • Поднять трубку.
    • Проиграть приветствие.
    • Проиграть рекламу про текущие акции.
    • Проиграть варианты вызова различных отделов или предложить набрать номер абонента.
    • Начиная с пункта 2 ожидать ввода каких-либо команд.
    • После окончания п.4 ждать ввода команд ещё 10 секунд.
    • В случае отсутствия команд снова проиграть варианты вызова.
    • Если абонент всё-равно тупит, то перекинуть звонок на секретаря.
    • Пользователям, которым необходим такой сервис, прикрутить голосовую почту. В этом случае, если пользователь любым образом недоступен для вызова, перекинуть звонок на голосовую почту.
    • По умолчанию, разрешены вызовы только на Россию и Италию - страны, где в основном работает наша компания. Остальные направления открываются по мере надобности самыми узкими масками, т.к. все мы помним страшные истории про “кубинских телефонистов” и не хотим, чтобы в один прекрасный день у нас АТС внезапно во все свои 50 каналов начала звонить в Сьерра-Леоне по 14 долларов в минуту для каждого канала.

    На первый взгляд задание простое и настройка Asterisk не займет много времени, а на практике на его согласование ушло довольно много крови. Особенно, на согласование запрета всех направлений, кроме явно разрешенных. С этим клиенту пришлось согласиться только перед лицом неизбежной, в противном случае, необходимости конфигурации VPN на каждом подключающемся к АТС устройстве. Просто я стараюсь придерживаться максимально простых и понятных конфигураций, а клиенту всегда кажется, что добавить какой-то функционал к системе - это “всего-лишь пару кнопок нажать”.

    День четвёртый: nano sip.conf

    Начинается самое интересное: процесс настройки Asterisk.
    Чтобы не затягивать и без того длинную статью, отягощая её подробным описанием мук начальной конфигурации и последующего тюнинга, я просто покажу текущие мои конфиги с комментариями что к чему.


    context=default ;контекст по умолчанию
    allowguest=no ;никаких гостей, мы никого не ждём
    allowoverlap=no ;Этот параметр определяет разрешаем мы или нет передачу вызова с дополнительными цифрами. Мы – не разрешаем.
    alwaysauthreject=yes ;Этот параметр означает, что все ошибки для внешнего клиента выглядят одинаково – ошибка авторизации. Призван осложнять взлом АТС.
    useragent=Orgue de Barbaris ;Это – как мы представляемся у других. Я назвался по имени первого патефона, чтобы облегчить техподдержке провайдеров поиск диалогов с моей АТС, т.к. периодически приходится с ними общаться.
    defaultexpiry=360 ;Интервал обязательной перерегистрации клиентов.
    callevents=yes ;Это на будущее, чтобы клиент мог поиграть в управление music on hold
    limitonpeer=yes ;Считаем исходящие и входящие вызовы пиров вместе.
    tcpenable=yes ;Разрешаем TCP протокол для SIP.
    rtptimeout=60 ;Сколько времени клиент может не откликаться, прежде чем будет кикнут из системы.
    language=ru ;Язык системы. Используется для голосового меню.
    bindport=5060 ;Порт по умолчанию. Можно изменить для усложнения вычисления и взлома АТС, но решение спорное.
    bindaddr=0.0.0.0 ;у меня стоят нули, т.к. АТС имеет два интерфейса и на обоих висят клиенты.
    srvlookup=yes
    tos_sip=cs3 ; http://www.voip-info.org/wiki/view/Asterisk+sip+tos
    tos_audio=efdisallow=all ;сначала запрещаем все кодеки
    allow=alaw ;затем, разрешаем только те, что хотим использовать. Порядок значения не имеет.
    allow=g729
    allow=g723
    allow=ulaw

    canreinvite=no ;Этот параметр запрещает клиентам общаться напрямую. Общение происходит только через сервер. У меня это сделано так потому что мобильные клиенты используют платные клиенты с протоколом g.729а, а стационарные сидят на бесплатных клиентах без оного. Поэтому, я предпочёл напрячь сервер транскодингом alawg.729a на лету в пользу качества связи для мобильных клиентов. Тем более что Core i7-930 вообще не замечает этой нагрузки.

    Что нужно сделать перед установкой Обратитесь к разделу , если Вам необходимо инсталлировать АТС, которая должна справляться с большой нагрузкой, и Вы не уверены потянет ли ее Ваше программное и аппаратное обеспечение.Операционные системы: сервер Asterisk прекрасно работает на Linux системах, также была проделана большая работа участниками проекта по портированию сервера Asterisk на BSD платформу, включая FreeBSD, OpenBSD и Mac OS X. Однако, драйвер zaptel и драйверы ISDN каналов могут не поддерживаться на этих платформах. Обратитесь к разделу Операционные системы для сервера Asterisk, чтобы получить, специфичной для каждой операционной системы, информацию.В качестве альтернативы, Вы можете использовать методы, описанные на нижеприведенных страницах: Asterisk Install CDROM Asterisk Bootable CDROMИнструкция по быстрой установкеПрочтите раздел 10-минутный обзор сервера Asterisk, если Вы хотите узнать, что же может делать сервер Asterisk. В противном случае, этот раздел можно пропустить.Прочтите раздел Пошаговая инструкция по инсталляции Asterisk, где найдете информацию, начиная с настройки линукса, до первого телефонного вызова червез Ваш Asterisk. http://www.automated.it/guidetoasterisk.htm http://asterisk.net.au/ Руководство по инсталляции сервера Asterisk от гуру этого дела Требования к системе Вам не нужно ни какое специфичное оборудование для инсталляции и запуска сервера Asterisk. Необходимости в звуковой карте нет.Вам необходимо установить следующие программные пакеты перед компиляцией Asterisk: Исходники ядра (kernel sources)Заголовочные.h файлы для Вашего ядра (kernel headers)bison (необходим для обработки выражений в файле )Пакеты: openssl и openssl-dev или libssl-devlibnewt: необходим для работы интерфейса управления astman. Для сервера Asterisk он не требуется, но без этого пакета у Вас не будет приложения astman, которая является отдельной программой.Вам более не нужно устанавливать пакеты "readline" и "readline-devel" для Asterisk. Сервер поставляется со своей реализацией пакета "readline", который называется "editline".Если Вы планируете использовать дополнения для работы с базой mysql, установите пакеты для mysql, mysql_devel & mysql serverЕсли Вы планируете использовать интерфейсные карты от Digium, то Вам необходимо будет установить модуль ядра для поддержки драйвера устройства Zaptel, перед тем, как Вы сможете использовать их в Asterisk. Однако, может вы хочется сначала скачать и установить Asterisk - протестировать работу SIP и IAX телефонов - и уже после этого добавить поддержку для ваших карт Digium. Инсталляция Посмотрите раздел "Операционные системы на которых работает сервер Asterisk", чтобы получить дополнительные инструкции, которые зависят от используемой операционной системы.Как получить сервер Asterisk Asterisk таймер : нужен для конференции MeetMe и для IAX2 транков.Подготовка утилит сторонних разработчиков Обратите внимание на секцию утилиты сторонних разработчиков на основной странице посвященной , на предмет получения информации о следующих приложениях:
    Музыка ожидания (music-on-hold): использование mpg123voicemail: для него требуется sendmail, для отправки уведомлений по Email.call detail recording: Сервер Asterisk может записывать эту информацию в CSV файлы, в базу данных PostgreSQL или в SQLite. Обратите внимание на пакет дополнений asterisk_addons из SVN .odbc: для хранения и получения данных из других баз данных (отличных от MySQL).кодек speex: требуется установка дополнительных библиотек.Синтезатор речи: FestivalРаспознавание речи: интеграция с приложением Sphinx.

    Это статья заметка, на случай если мне нужно будет вспомнить, как настроить Asterisk для приема и отправки вызовов. Этой заметки должно хватить для настройки офисной станции на ip pbx Asterisk . До сих пор у меня не было сильного понятия и опыта, как настроить Asterisk для работы не используя FreePbx , то есть, используя только конфигурационные файлы и консоль. Да и сейчас я только учусь этому. В интернете все настройки сводятся к решению той или иной задачи, но я не увидел статьи способной дать хотя бы базу для минимальной настройки IP станции. Может плохо искал.

    Итак, я собрал и установил asterisk в папке /etc/asterisk уйма конфигурационных файлов. Что же дальше?

    1. Возможность внутренним абонентам совершать вызовы друг другу

    2. Настройка внешних линий с целью получения станцией услуги выхода на городские, междугородние номера и приема входящих звонков

    3. Настройка возможности совершать вызовы абонентам на городские и междугородние номера. И принимать вызовы из города.

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

    Поэтому первое, что мы делаем - создаем внутренних абонентов (peer) в файле sip.conf

    Абонент А будет иметь следующие настройки :

    Disallow=all
    allow=ulaw
    allow=alaw
    type=friend
    username=101
    secret=password
    qualify=yes
    context=101
    callerid=101
    host=dynamic
    call-limit=1
    canreinvite=yes
    accountcode=101
    amaflags=billing
    deny=0.0.0.0/0
    permit=192.168.0.66

    Где:
    disallow=all , запрещаем использовать все кодеки кроме G.711
    allow=ulaw
    allow=alaw

    type=friend, этот параметр может принимать три значения:

    - peer , этот тип используется для совершения входящих и исходящих вызовов. Для входящих вызовов, никогда не будет проверяться соответствие имени пользователя и пароля, а только соответствие с IP адресом и номером порта источника вызова.

    - user запись, которая может только совершать входящие вызовы

    - friend запись, которая одновременно и peer и user
    username=101
    secret=password
    Логин и пароль соответственно

    Периодически отправлять SIP сообщение типа Options, для проверки мониторинга доступности устройства для регистрации, полезно использовать при работе через NAT для сохранения значений в таблице трансляций

    Имя контекста, с правилами маршрутизации

    АОН нашего номера

    host=dynamic
    host ip с которого будет происходить регистрация

    call-limit=1
    (callcounter)
    Ограничение одновременных вызов, здесь можно установить количество каналов

    canreinvite=yes
    (directmedia)

    Этот параметр отвечает за процедуру RE- Invite , если no, то все вызовы будут проходить через Asterisk , если yes RTP поток будет отправляться между двумя устройствами минуя Asterisk

    accountcode=101
    amaflags=billing

    CDR запись для поля accountcode будет иметь значение 101
    Значение поля AMA flag для исходящих вызовов от этого SIP пользователя

    deny=0.0.0.0/0
    permit=192.168.0.66
    ACL ip, кому разрешим регистрацию

    Аналогично для абонента Б :

    Disallow=all
    allow=ulaw
    allow=alaw
    type=friend
    username=102
    secret=password
    qualify=yes
    context=102
    callerid=102
    host=dynamic
    call-limit=1
    canreinvite=yes
    accountcode=102
    amaflags=billing
    deny=0.0.0.0/0
    permit=192.168.0.67

    Еще часть опций в пире которая может быть полезна:

    transport=tcp,udp
    Могу работать не только используя udp, требует установки tcpenable=yes в general
    rtptimeout=180
    rtpholdtimeout=420

    Полезно для SIP клиентов, которые не выполняют Hangup при закрытии или отключении. В данном случае RTP сессия сможет сброситься самостоятельно по таймауту, rtpholdtimeout – если вызов на удержании

    nat=force_rport,comedia

    Если устройство находится за NAT, то фиксируем работу через rport, отправляем RTP пакеты обратно на IP адрес и порт, с которого они были получены, игнорируя информацию из SDP

    defaultexpiry=60
    Срок действия регистрации в секундах для входящих и исходящих регистраций

    dtmfmode=rfc2833

    Как будем работать с DTMF сигналами

    1. Итак, задача один, настроить маршрутизацию между sip клиентами 101 и 102, в простейшем варианте решается одной строчкой в файле sip.conf и конфигах по include


    exten => _XXX,1,Dial(SIP/${EXTEN},20,T)

    sip.conf удобно эксплуатировать вот так:

    Include => in_out_peer_local

    Теперь абонент 101 сможет общаться с абонентом 102 и наоборот 102 сможет позвонить 101

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

    То есть создадим транк
    type=peer
    host=XX.XXX.XXX.XX
    port=5060
    fromdomain=ip нашей станции
    nat=no
    disallow=all
    allow=ulaw
    allow=alaw
    allow=gsm
    canreinvite=no
    ;allow=g722
    trustrpid=yes
    sendrpid=yes
    dtmfmode=rfc2833
    qualify=yes
    insecure=invite,port
    deny=0.0.0.0/0.0.0.0
    permit=XX.XXX.XXX.XX/255.255.255.255
    context=provide

    Настройки транка очень похожи на настройки пира, в принципе это и есть пир, важные опции
    fromdomain – устанавливаем fromdomain в sip пакете, чтобы можно было понять, куда вернуть sip пакеты нашей станции
    trustrpid=yes
    sendrpid=yes

    Доверять или нет полученному Remote- Party- ID

    insecure=invite,port

    Не требуем аутентификацию входящих сообщений INVITE, не проверяем номер порта только соответствие ip адреса

    3. Дело за малым, как только транк активирован, нужно прописать исходящую маршрутизацию для совершения вызовов абонентам А и Б
    Стандарт де факто как бы гласит всегда сначала настраивать исходящую связь

    Создаем контекст для совершения исходящих вызовов

    Для исходящих вызовов на город


    exten => _XXXXXX,1,Dial(SIP/ provider /${EXTEN})
    exten => _XXXXXX,n,Hangup

    Для исходящих вызовов на междугородние направления


    exten => _8.,1,Dial(SIP/ provider /${EXTEN})
    exten => _8.,n,Hangup

    После того как исходящая связь заработала, настраиваем входящую

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


    exten => 2466754,1,Dial(SIP/${EXTEN})
    exten => 2466754,n,Hangup

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

    Графический интерфейс администратора IP – АТС Asterisk – FreePBX, насчитывает огромное количество опций настройки, вариантов маршрутизации, подключения различного оборудования, начиная от телефонных аппаратов и заканчивая шлюзами. В статье мы опишем базовую настройку тринадцатой версии FreePBX сразу после .

    Пошаговое видео

    Подключение к FreePBX

    Чтобы подключиться к графическому интерфейсу FreePBX, нужно ввести IP – адрес Asterisk, который вы указали на этапе установки. Если вы забыли, какой IP – адрес указали, то подключите монитор и клавиатуру к вашему серверу, а затем введите данные для пользователя root, как показано ниже:



    При подключении, вам будет указан IP – адрес вашего сервера. Если версия вашего дистрибутива отличается, и вы не увидели аналогичного вывода, укажите следующую команду:

    # ifconfig

    Вывод команды позволит вам увидеть все доступные интерфейсы и их IP – адреса.

    Активация и пароль администратора

    Подключившись к FreePBX 13 через интернет – браузер вам будет сразу предложено создать учетную запись администратора указав логин, пароль и адрес электронной почты администратора системы. После успешного создания, выберите на главной страницу пункт FreePBX Administration и укажите созданные параметры:



    Сразу после подключение, перейдите во вкладку Admin → System Admin и нажмите кнопку Activation




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


    Настройки SIP

    Модуль SIP Settings это графическая визуализация настроек в файле /etc/asterisk/sip_nat.conf. Здесь, с помощью графического интерфейса можно настроить важнейшие параметры, такие как настройки NAT, внешний IP – адрес и настройки кодеков. Чтобы перейти к настройке нажмите на вкладку Settings , а далее Asterisk Sip Settings .



    Allow Anonymous inbound SIP Calls
    Данная опция позволяет разрешить, или запретить входящие звонки с неизвестных номеров. Мы советуем запрещать данный вид звонков, так как потенциально, разрешенные анонимные звонки могут стать лазейкой для злоумышленников.

    Local Networks
    Введите локальные (находящиеся внутри вашей сети) адреса подсетей, которым Asterisk будет доверять. Например, 192.168.2.0/255.255.255.0

    RTP Ranges
    Укажите диапазон RTP портов. Рекомендуем все оставлять по умолчанию.

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

    Codecs
    Галочкой отметьте нужные кодеки.

    Положение кодеков указывает их приоритет. Например, на скриншоте ниже приоритет отдан g.711 u-law, затем g.711 a-law, gsm и так далее. Более подробно про телефонные вы можете прочитать в наших прошлых статях.
    Настройка NAT в FreePBX

    В большинстве случаев, если администратор обнаруживает проблему односторонней слышимости, или то, что звонки обрываются спустя несколько секунд разговора – проблема в NAT. Вот что нужно сделать, чтобы избавиться от этой проблемы: в настройка модуля Asterisk SIP Settings , переходим во вкладку Chan SIP Settings и отмечаем следующее:

    NAT - yes
    IP Configuration - Static IP
    Override External IP - введите ваш внешний IP - адрес

    Reinvite Behavior - No
    Обязательно укажите в настройках Local Networks в предыдущей вкладке вашу локальную подсеть. Помимо этого, пробросьте на вашем маршрутизаторе порт 5060 и диапазон портов из параметра RTP Ranges , по умолчанию равный 10000-20000

    Настройка сетевых параметров FreePBX

    Есть три важных пункта данной настройки:

  • Настроить статический IP – адрес для сервера
  • Настроить DNS
  • Настроить временную зону
  • Перейдем к настройке IP. Для этого, перейдите во вкладку Admin → System Admin → Network Settings

    Здесь мы настраиваем следующие опции:

    • Network Interface - сетевой интерфейс, то есть конкретная сетевая карта (NIC)
    • IP Assignment - выберите Static чтобы настроить статический IP - адрес
    • Static IP - введите IP – адрес сервера
    • Netmask - маска сети
    • Gateway - шлюз по умолчанию
    • Start Automatically - старт при загрузке сервера



    Настроим уведомления нашего сервера Asterisk, при таких сбоях, как например малое дисковое пространство или сбой в работе RAID массива:



    Производим настройку следующих опций:

    • From Address - адрес электронной почты, который АТС будет указывать как адрес отправителя при формировании письма
    • Storage Notifications - почта для уведомлений о проблемах с хранением данных (сбой RAID или нехватка места на дисках)
    • Intrusion Detection Notifications IP - почта для уведомлений о вторжениях или попытках взлома сервера

    Конфигурация системы безопасности

    В Asterisk встроена система обнаружения вторжений – Fail2Ban. Для настройки системы перейдите во вкладку Admin → System Admin → Intrusion Detection



    Система гибкая, и, порой реагирует когда не нужно:) Поэтому, советуем заранее вносить в Whitelist перечень нужных IP – адресов, таких как IP SIP – прокси, адреса шлюзов, например FXS. Порой, бывает так, что в бан попадает IP – адрес FXS шлюза, к которому подключены все офисные аналоговые телефоны.

    • Status - мы рекомендуем всегда контролировать состояние Fail2Ban, чтобы статус был running
    • Intrusion Detection - в данном пункте можно остановить и перезапустить службу.
    • Ban Time - время в секундах, которое IP – адрес будет находиться в статусе блокировки
    • Max Retry - количество попыток подключения к АТС, которое пользователь может осуществить в течение Find Time.
    • Find Time - время, в течение которого у пользователя есть Max Retry попыток подключения к системе.
    • E-mail: - адрес электронной почты, на которую будут отправляться уведомления о внесении нового IP – адреса в бан.
    • Whitelist - список заранее внесенных IP – адресов, которым доверяет администратор.

    Настройка внутренних номеров

    Для настройки телефонных аппаратов и создания внутренних номеров перейдите во вкладку Applications → Extensions . Процесс создания внутренних номеров (Extension) мы описали в статье по ссылке ниже:

    Настройка SIP - транка

    Подключение к провайдеру является важнейшим этапом в настройке вашего сервера IP - АТС Asterisk. Именно настройки провайдера, позволят нашим пользователям совершать исходящие, и принимать входящие вызовы. Для настройки SIP – транка перейдите во вкладку Connectivity → Trunks . Процесс создания SIP - транка подробно расписан в статье по ссылке ниже:

    Настройка маршрутизации

    После того, как мы настроили внутренние номера и SIP – транки для подключения к провайдеру, нам необходимо настроить маршрутизацию вызова. В рамках данной настройки, мы будем учить наш сервер Asterisk как обрабатывать входящий и исходящие вызовы. Connectivity Нам жаль, что статья не была полезна для вас:(Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!