По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В статье будет описана настройка SIP - транка в FreePBX 13 для связки Asterisk и провайдера SIPNET. Создание SIP – транка Sipnet Первый шаг является стандартным для настройки любого типа транка – необходимо в веб-интерфейсе пройти по пути: Connectivity –> Trunks. Далее нажать на кнопку + Add Trunk. Затем выберите «Add SIP (chan_pjsip) Trunk». Далее необходимо присвоить имя SIP - транку и задать исходящий CallerID После, необходимо зайти во вкладку pjsip Settings и заполнить поля о логине, пароле и SIP-сервере Соответственно, Username – номер, полученный от SIPNET, Secret – ваш пароль и SIP Server – адрес самого SIPNET. Текстовая конфигурация транка Если вы производите настройку через конфигурационные файлы Asterisk (sip.conf), или, в интерфейсе FreePBX 12 заполняете поле PEER Details, то скопируйте следующую строчку для выполнения настройки: [sipnet] secret = ваш пароль defaultuser = укажите ваш SIP ID выданный оператором trunkname = sipnet host = sipnet.ru type = peer context = from-trunk insecure = invite fromuser = укажите ваш SIP ID выданный оператором fromdomain = sipnet.ru disallow = all allow = alaw&ulaw nat = no directmedia = no dtmfmode = rfc2833 Для завершения настроек и регистрации SIP- транка в FreePBX 12, укажите строку регистрации в поле Register String по указанному шаблону: [Ваш SIP ID]: [Ваш пароль]@sipnet.ru/[Ваш SIP ID] Входящий маршрут Sipnet Чтобы ваш Asterisk мог обрабатывать входящие звонки на номер, который мы зарегистрировали в предыдущем шаге, необходимо создать входящий маршрут. Для этого, перейдите во вкладку Connectivity –> Inbound Routes и нажмите на кнопку + Add Inbound Route. Здесь все просто – в поле DID Number указываете номер, который вы приобрели у Sipnet, а в разделе Set Destination, укажите направление для этого звонка, например, это может быть голосовое меню, Ring Group или конкретный внутренний номер. Исходящий маршрут Sipnet Следующим шагом является создание исходящего маршрута. Откроем вкладку Connectivity –> Outbound Routes, выберем +Add Outbound Route Необходимо задать имя маршрута и номер – он выдан вам провайдером Обратите внимание, так же необходимо указать SIP - транк в Trunk Sequence for Matched Routes, который был только что создан. Как финальный шаг, указываем правила набора для использования данного маршрута Более подробно про настройку маршрутизации вы можете почитать в статье по ссылке ниже: Настройка маршрутизации вызовов После всех проведенных манипуляций, жмём Apply Changes наверху страницы.
img
Дорогой читатель! В поисках полезной автоматизации и кастомизации своего Asterisk продвинутые администраторы прибегают к использованию различных скриптов. Это может быть PHP, Perl C, Pascal или Shell. Для использования скриптов, написанных на одном из перечисленных языков программирования в диалплане Asterisk используется AGI (Asterisk Gateway Interface) – о нем и поговорим. Как это работает? AGI - это прослойка между скриптом и диалпланом (планом набора) в Asterisk. В скрипт мы можем передавать различные переменные, а можем получать какие - то значения из скрипта. Когда Asterisk инициирует запуск скрипта через AGI, он передает в него набор переменных. Все переменные обладают префиксом agi_: Переменная Описание Пример agi_request Имя файла исполняемого скрипта trunk.php agi_channel Канал, инициирующий звонок Local/89123456789@from-internal-00000002;2 agi_language Языковой код en agi_type Тип канала, инициирующий вызов Local agi_uniqueid Уникальный идентификатор звонка 1497364935.15 agi_version Версия Asterisk 13.10.0 agi_callerid Номер звонящего (CID Number) 89123456789 agi_calleridname Имя звонящего (CID Name) 89123456789 agi_dnid Набранный номер unknown agi_context Контекст обработки вызова macro-dialout-trunk Как вызвать AGI в диалплане? Вызвать AGI скрипт очень просто: предварительно, загрузите скрипт в директорию /var/lib/asterisk/agi-bin/. После этого, скрипту необходимо дать права и собственника. Предположим, наш скрипт называется trunk.php: chmod 755 /var/lib/asterisk/agi-bin/trunk.php chown asterisk:asterisk /var/lib/asterisk/agi-bin/trunk.php Теперь, чтобы скрипт был вызван в диалплане, просто добавьте следующую конструкцию: exten => 1333,n,AGI(trunk.php) Просто, не правда ли? А если мы хотим передать переменную в скрипт? Просто добавьте ее после запятой: exten => 1333,n,AGI(trunk.php, ${CALLERID(number)}) А как же написать скрипт? Теперь к самому скрипту – напишем его на PHP. Пусть нам нужно отправлять письмо с номером звонящего. Выглядеть скрипт будет так: #!/usr/bin/php -q <?php require('phpagi.php'); $agi = new AGI(); //подключаем файл phpagi.php – 1 и 2 строки обязательны в любом скрипте $cid = $agi->request['agi_callerid']; // берем из AGI номер звонящего mail("info@merionet.ru", 'Привет!', 'Вот и номер звонящего:', $cid); //отправляем в письме Вот и все. Нам будет приходить на почту письмо с номером звонящего – прокачав данный функционал можно отслеживать пропущенные вызовы, например.
img
Привет, бро! В статье расскажем в чем разница между RIPv1 (Routing Information Protocol Version 1) и его продолжение RIPv2. Погнали? Про Routing Information Protocol Version 1 (RIPv1) Прямо и по пунктам: RIPv1 это Distance-Vector протокол. Если переводить на русский - дистанционно-векторный. ; Distance vector routing - так называемая дистанционно-векторная маршрутизация, главный принцип которой основан на вычислении специальных метрик, которые определяют расстояние (количество узлов) до сети назначения RIPv1 это classfull протокол. Это означает, что он не отправляет маску подсети в апдейтах маршрутизации; RIPv1 не поддерживает VLSM (Variable Length Subnet Masking); VLSM (Variable Length Subnet Masking) - метод эффективного использования IP – адресации, который избавляет от привязки к классу сети (класс A, класс B, класс C). VLSM позволяет дробить подсеть на подсеть и так далее. Тем самым, мы можем эффективно использовать адресное пространство согласно реальных потребностей, а не класса сети; RIPv1 поддерживает максимум 15 хопов! Это означает, что любой маршрутизатор, который расположен от вас в больше, чем 15 узлов (маршрутизаторов) будет отмечен как недоступный; Раз в 30 секунд RIPv1 отправляет широковещательные апдейты маршрутизации – каждый узел должен принять и обработать этот апдейт; Первая версия RIP не поддерживает авторизация апдейтов маршрутизации – это означает, что потенциально, роутер может обновить таблицу маршрутизации от любого источника; Вот такой он, RIP первой версии. Двигаем дальше и посмотрим, а на что способен его брат – RIP второй версии? Про Routing Information Protocol Version 2 (RIPv2) RIPv2 это гибридный протокол. Он реализован на базе Distance-Vector, но так же поддерживает часть алгоритмов Link State маршрутизации, то есть, может отслеживать состояние каналов; Link State routing - отслеживает состояние каналов и отправляет LSA (Link-state advertisement) пакеты, в которых рассказывает о состоянии своих каналов. Примером link state протокола маршрутизации является OSPF RIPv2 - classless протокол. В отличие от своего старшего брата первой версии, второая версия умеет отправлять маску подсети в апдейтах маршрутизации; RIPv2 поддерживает VLSM!; RIPv2, как и RIPv1 поддерживает максимум 15 хопов; RIPv2 отправляет мультикаст сообщения об апдейтах на адрес 224.0.0.9. Это уменьшает нагрузку на сеть и в первую очередь на узлы, на которых не запущен RIP; Вторая версия RIP поддерживает аутентификацию апдейтов маршрутизации. Это значит, что теперь нельзя будет подсунуть ложный апдейт роутеру (в целом, этим могли пользоваться злоумышленники) – только авторизированные источники;
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59