По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Для того, чтобы вывести Asterisk за пределы корпоративной сети и получить возможность звонить “во внешний мир”, необходимо воспользоваться услугами VoIP – провайдеров. В сегодняшней статье, мы расскажем как настроить SIP-транк с провайдером Youmagic (MTT) на примере Asterisk 13.7.1 и FreePBX 13. Создание SIP - транка через FreePBX Для того, чтобы приступить к настройке нового транка, необходимо с главной страницы перейти по следующему пути: Connectivity -> Trunks. Откроется следующее окно: Далее нужно нажать кнопку Add Trunk. В появившемся, выпадающем окне выбираем Add SIP (chan_sip) Trunk В открывшемся окне, указываем имя нового транка и задаём исходящий Caller ID, именно в таком формате будет отображаться Ваш номер телефона при исходящих звонках, если конечно провайдер не перекрывает его другим АОН’ом. Далее, необходимо перейти на вкладку sip Settings и заполнить её разделы Outgoing и Incoming, в соответствии с данными, полученными от провайдера Раздел Outgoing заполняется следующим образом: type=friend defaultuser=74957775566 secret=Ваш_пароль host=voip.mtt.ru dtmfmode=rfc2833 disallow=all allow=alaw&ulaw&g729 canreinvite=no insecure=port,invite qualify=200 Где secret - Ваш пароль, выданный провайдером, defaultuser - Ваш телефонный номер, выданный провайдером и host - адрес провайдерского сервера В разделе Incoming, необходимо заполнить только последнюю строчку Register String, по следующему шаблону: defaultuser:Ваш_пароль@host/defaultuser Соответственно, после замены этих параметров нашими значениями, получится 74957775566:Ваш_пароль@voip.mtt.ru/74957775566 Не забываем нажимать Submit и Apply Config Входящая маршрутизация МТТ (Youmagic) Далее нужно создать новый входящий маршрут для звонков, поступающих из нового транка. Для этого переходим в Connectivity -> Inbound Routes, добавляем новый маршрут кнопкой Add Inbound Route. Даем новому маршруту какое-нибудь описание, а в поле DID Number вписываем номер, который приобрели у МТТ(Youmagic). Далее в поле Set Destination выбираем, куда будут отправляться все входящие звонки, поступившие на данный номер. Это может быть что угодно на Вашей АТС: IVR, голосовое приветствие, ринг-группа и так далее. На примере ниже, все звонки будут поступать на IVR. Исходящая маршрутизация МТТ (Youmagic) Создаём исходящий маршрут. Переходим в Connectivity -> Outbound Routes, жмём кнопку Add Outbound Route. Указываем имя нового маршрута, наш новый номер и привязываем данный маршрут к ранее созданному транку с помощью Trunk Sequence for Matched Routes На вкладке Dial Patterns настраиваем шаблоны набора, которые будут использоваться на данном маршруте Нажимаем кнопки Submit и Apply Config. На этом настройка завершена, теперь можно совершать и принимать вызовы на номер, приобретенный у провайдера Youmagic (МТТ) Более подробно с настройкой маршрутизации вы можете ознакомиться в статье по ссылке ниже: Маршрутизация вызовов FreePBX Настройка через конфигурационные файлы Если вы производите настройку через конфигурационные файлы Asterisk, то настройка нового транка должна осуществляться в файле sip.conf, как показано ниже: [general] register => 74957775566:Ваш_пароль@voip.mtt.ru/74957775566 [youmagic] type=friend dtmfmode=rfc2833 host= voip.mtt.ru disallow=all allow=g729 directmedia=no insecure=port,invite qualify=no А настройка входящих и исходящих маршрутов производится в файле extensions.conf, следующим образом: [youmagic] exten => _8XXXXXXXXXX,1,Dial(SIP/youmagic/${EXTEN}) exten => _8XXXXXXXXXX,n,Hangup [from-youmagic] exten => _4957775566,1,Dial (SIP/trunk/${EXTEN}) exten => _4957775566,n,HangUp()
img
Такие большие, логически структурированные массивы, как базы данных, совершенно бессмысленны без систем управления реляционными данными (РСУБД). РСУБД – это программное решение, позволяющее взаимодействовать с базой данных (БД). Вы можете получать, добавлять или удалять данные, а также управлять доступом к хранимой информации. На рынке существует множество программных вариантов, и большинство из них распространяется с открытым исходным кодом, то есть бесплатно. Самыми известными решениями для веб-серверов являются MySQL и PostgreSQL. Выбор одного из вариантов зависит от ваших требований к рабочей нагрузке и назначению БД. В данной статье рассматриваются основные различия MySQL и PostgreSQL и приводится их подробное сравнение. Краткий обзор MySQL и PostgreSQL MySQL и PostgreSQL постоянно обновляются и улучшаются активным и изобретательным сообществом. Этот непрерывный процесс сокращает принципиальные отличия между двумя решениями. Тем не менее, в них есть существенные различия, которые проявляются при развертывании с большой рабочей нагрузкой. Прежде, чем перейти к подробному анализу каждого решения, предлагаем ознакомиться с кратким сравнением систем. MySQL PostgreSQL Предлагают как открытые, так и платные коммерческие версии. Бесплатная, полностью с открытым кодом. Очень быстрые и надежные. Адаптивная и многофункциональная. Делают акцент на скорости, а не следовании ключевым принципам SQL Придерживается 160 из 179 обязательных пунктов ключевых принципов и стандартов SQL. Идеальна для рабочих процессов в веб-решениях с интенсивным чтением данных. Идеальна для сложных запросов и больших баз данных. Темп разработки замедлился после того, как система стала частично проприетарным решением. Активное и многочисленное сообщество постоянно разрабатывает новые функции. MySQL возлагает функции безопасности на списки управления доступом (ACL). В PostgreSQL есть встроенная поддержка SSL и возможность шифрования связи между клиентом и сервером. Поддерживает управление параллельным доступом посредством многоверсионности (MVCC), но при условии, что оно поддерживается подсистемой хранения InnoDB Встроенная реализация MVCC. Стандартная репликация master-standby Несколько вариантов репликации Небольшая поддержка нереляционных функций Поддержка нескольких нереляционных функций Версия InnoDB совместима с ACID (атомарность, согласованность, изолированность, прочность) Полная совместимость с ACID Ограниченная поддержка расширяемости Возможность добавления новых функций, типов, индексных типов и т.д. По умолчанию добавлены геопространственные данные Возможность реализации геопространственных данных через расширения Ограниченная поддержка серверного программирования на нерасширяемом языке PostgreSQL поддерживает самые популярные языки программирования Поддерживает развертывание в контейнерах Docker Поддерживает развертывание в контейнерах Docker Сравнение производительности MySQL и PostgreSQL Измерение производительности РСУБД во многом зависит от требований, предъявляемых к базе данных. В базовых примерах обе системы управления БД работают одинаково хорошо. Производительность и скорость: PostgreSQL создавался для выполнения сложных операций; он совместим с множеством платформ и языков MQL не стремился следовать всем стандартам SQL, поэтому основной упор делается на скорость Основной упор в PostgreSQL сделан на совместимости; система показала превосходные результаты при использовании в сложных запросах, анализе чтения/записи, а также управления большими базами данных. Важно помнить, что PostgreSQL может серьезно повлиять на производительность памяти, поскольку каждое новое клиентское подключение создает отдельные ветку процесса весом в 10 МБ. MySQL ставил перед собой цель достичь максимальной скорости и простоты развертывания. Эта характеристика MySQL особенно полезна при простом обмене информации и рабочих процессах в веб-решениях с интенсивным чтением данных. Простота развертывания БД означает, что вы можете пользоваться MySQL для быстрого и горизонтального масштабирования данных. Лицензия и поддержка сообщества PostgreSQL – это бесплатное решение с полностью открытым исходным кодом. Лицензия Open Source означает, что исходный код находится в открытом доступе; кто угодно может его копировать, изменять и распространять. Такая схема создала активное сообщество разработчиков, которое постоянно анализирует текущее состояние системы и разрабатывает новые, улучшенные решения. MySQL доступна в бесплатном доступе с открытым кодом, а также в нескольких платных коммерческих версиях с проприетарной лицензией. Некоторые элементы и плагины доступны только в проприетарных версиях, что в итоге может приводить к дополнительным затратам. Кроме того, люди жалуются, что процесс разработки слегка замедлился, поскольку после покупки компанией Oracle, MySQL перестал быть системой с полностью открытым кодом. Соответствие SQL Современные приложения и базы данных часто имеют распределенную архитектуру. Следование официальным стандартам и руководствам SQL упрощает обмен данными между различными БД и помогает им соответствовать строгим регуляторным требованиям (например, GDPR, PCI и ISO). Соответствие SQL-стандартам: MySQL сосредоточена на увеличении скорости и надежности. В итоге MySQL не до конца соответствует стандартам ISO PostgreSQL придерживается большей части основных принципов и стандартов SQL; это портативная система, с которой легко интегрируются различные инструменты PostgreSQL и MySQL: синтаксические отличия MySQL и PostgreSQL основаны на одних и тех же стандартах SQL и активно пытаются следовать максимально возможному количеству требований. Так что синтаксис и команды в двух РСУБД практически одинаковы. Давайте рассмотрим несколько основных отличий, которые могут сказаться на управлении данными. Синтаксис PostgreSQL Синтаксис MySQL Данные из таблицы чувствительны к регистру. WHERE Company = ‘Merion’ это не то же самое, что WHERE Company = ‘merion’ Данные не чувствительны к регистру. WHERE Company = ‘Merion’ – это то же самое, что и WHERE Company = ‘merion’ PostgreSQL допускает использование только одиночных кавычек: Company = ‘merion’ Поддерживает одиночные и двойные кавычки: Company = ‘merion’, равно как и Company = “merion” Команды для даты и времени: CURDATE(), CURTIME(), EXTRACT() Команды для даты и времени: CURRENT_DATE(), CURRENT_TIME(), EXTRACT() Отличия в безопасности PostgreSQL и MySQL Необходимость защиты баз данных в РСУБД от вредоносной активности привела к созданию множества инструментов, протоколов безопасности и процедур. Главную функцию безопасности в MySQL выполняют списки управления доступом (ACL). В PostgreSQL встроена поддержка SSL, а для настройки разрешений пользователей используется функция ROLE. MySQL возлагает функцию безопасности на списки управления доступом (Access Control Lists - ACL), которые следят за всеми подключениями, запросами и другими операциями. Кроме того, предоставляется ограниченная поддержка подключений между MySQL-клиентами и серверами с SSL-шифрованием. Например, в MySQL есть сценарий, который повышает безопасность вашей БД за счет настройки пароля для пользователя root. Этот же сценарий автоматически удаляет все стандартные тестовые базы данных из вашей системы. Кроме того, MySQL поддерживает управление пользователями и позволяет настраивать уровни доступа для каждого пользователя. Для настройки разрешений пользователей PostgreSQL использует функцию ROLE. В ней есть встроенная поддержка SSL и шифрование обмена данными между клиентом и сервером. PostgreSQL также предлагает встроенное расширение под названием SE-PostgreSQL для настройки дополнительных элементов контроля доступа в соответствии с политикой безопасности SELinux. Удобство для пользователей и универсальность интерфейса Пользовательский интерфейс в PostgreSQL называется pgAdmin4. Он помогает начинающим пользователям выполнять сложные задачи и управлять базами данных. Основной акцент в PostgreSQL сделан на расширяемости, поэтому вы можете использовать pgAdmin4 для добавления новых типов данных, функций и типов индексов. Графический пользовательский интерфейс в MySQL называется Workbench. Этот инструмент объединяет в себе разработку, управление, проектирование, создание и поддержание базы данных в единую интегрированную среду СУБД MySQL. Языки программирования Один из важнейших аспектов, которые необходимо учитывать при переходе на новую среду, заключается в том, как это повлияет на сотрудников из отдела разработки и эксплуатации. Чем больше языков программирования поддерживает сервер базы данных, тем легче разработчикам добавлять новые функции и улучшать уже существующие. В этом плане PostgreSQL и MySQL поддерживает большое количество языков программирования. PostgreSQL MySQL C++, .NET, Java, Delphi, Perl, Lua, Node.js, Python, PHP, R, D, Erlang, Go, Lisp C, C++, Java, Perl, Delphi, Lua, Go, R, .NET, Node.js, Python, PHP, Erlang, Lisp, D Параллельная обработка данных Хорошо реализованный параллелизм позволяет многим людям из разных мест одновременно обращаться к БД и работать с ней без ограничений и угрозы противоречивости данных. Когда базе данных с управлением параллельным доступом посредством многоверсионности (MVCC - multi-versioning concurrency control) необходимо обновить данные, она не перезаписывает оригинальную информацию. Вместо этого она создает более свежую версию файла и сохраняет ее предыдущую копию. Это принципиально важный момент, если к вашим наборам данных одновременно должны обращаться многие подписчики. Если в системе отсутствует контроль параллельной обработки данных, то чтение из БД, пока другой процесс записывает в нее данные, приводит к несогласованности данных. Встроенная реализация MVCC позволяет достичь высочайшего уровня параллелизма в PostgreSQ MySQL тоже предлагает поддержку MVCC, но только если она поддерживается подсистемой хранилища InnoDB. Репликация базы данных Копирование данных из одного сервера БД в другую базу на другом сервере называется репликацией. При таком распределении информации группа пользователей сможет обращаться к новым данным, и это никак помешает работе других пользователей. Одной из самых сложных задач в репликации БД является поддержание согласованности данных внутри распределенной системы. MySQL и PostgreSQL предлагают различные возможности для репликации БД. PostgreSQL и MySQL поддерживают репликацию в виде master – standby (основной источник – резервная БД) и нескольких standby, а также предлагают ряд возможностей: PostgreSQL: логическая репликация; потоковая репликация; двунаправленная репликация. MySQL: репликация master – master; master – standby, перенаправленная на один или несколько резервных серверов; круговая репликация. Заключение PostgreSQL – это многофункциональная БД для обработки сложных запросов и больших баз данных. MySQL – это быстрое, надежное и популярное решение. MySQL относительно прост в установке и обслуживании. Функциональные возможности PostgreSQL и MySQL во многом схожи. PostgreSQL отличается от MySQL по определенным рабочим нагрузкам. Данная статья поможет вам принять осмысленное решение с учетом всех достоинств той или иной РСУБД.
img
Продолжаем говорить про модули FreePBX. Сегодня спешим рассказать про очень важный модуль - Asterisk Sip Settings. Корректная настройка этого модуля имеет сильно влияет на параметры прохождения голосового трафика и проблем односторонней слышимости. От слов к делу. Вкладка General SIP Settings Перейдем к настройке. Для этого, открываем Settings → Asterisk Sip Settings. Пробежимся по опциям, которые доступны для настройки: Allow Anonymous inbound SIP Calls - если данная опция переключена в позицию Yes, ваша IP – АТС Asterisk будет обрабатывать звонки, поступающие с неизвестных IP –адресов в контексте from – pstn. Обычно, выбор данной опции в положение Yes связан с включением набора по SIP URI. Учтите, что включенная опция значительно увеличивает риски связанные с безопасностью системы; External Address - в данном поле необходимо указать ваш внешний IP – адрес. Помимо прочего, нажав на Detect Network Settings АТС автоматически определит параметры внешнего IP – адреса и внутренних локальных подсетей; Local Networks - локальные подсети, из которых будут подключаться ваши SIP – устройства. Синтаксис прост: сетевой IP – адрес/маска. Например, 192.168.1.0/255.255.255.0. Есть возможность добавить несколько подсетей нажав на кнопку Add Local Network; RTP Settings RTP Ranges -начальный и конечный UDP порты для RTP трафика. В целом, данный диапазон можно посчитать. Знайте, что для каждого звонка нужно иметь по крайне мере 4 порта; RTP Checksums - подсчитывать ли контрольную сумму для UDP, который переносит RTP трафик (голос); Strict RTP - данная опция будет отбрасывать RTP пакеты, который приходят не от источника RTP – потока в рамках сессии; Codecs - выберите нужные кодеки. Важно учесть порядок кодеков – он влияет на приоритет установления кодека в рамках SDP сообщений; STUN Servers - указать IP – адрес STUN сервера. Если кратко, STUN помогает преодолеть проблемы с NAT – он помогает SIP – клиентам внутри локальной сети определять свой публичный адрес; Вкладка Chan SIP Settings Переходим к настройке chan_sip. NAT Settings NAT - настройка NAT (Network Address Translation) для Asterisk. yes - использовать NAT; no - использовать трансляцию согласно RFC3581. Если кратко, то данный RFC позволяет отправлять ответа на порт, с которого запрос был получен, вместо порта, взятого из заголовка Via в SIP пакете; never - не использовать NAT согласно RFC3581; route - данная опция подойдет для клиентов, которые не отрабатывают поле rport в заголовках SIP сообщений (согласно RFC3581 ); IP Configuration - в данном поле вы можете указать параметры внешнего IP. Вы можете указать вручную ваш внешний IP – адрес, а также использовать DDNS (Dynamic DNS); Audio Codecs Non-Standard g726 - порой пир устанавливает порядок инициации параметров аудио потока (характерно для некоторых моделей Sipura и Grandstream) для кодека G726 с полосой пропускания 6, 24, 32, и 40 килобит/сек. Если требуется, установите эту опцию в положение Yes; T38 Pass-Through - позволяет сквозное пропускание факсов через Asterisk без дополнительной обработки и внесения изменений по протоколу T38; No - выключить сквозной режим; Yes - включает T38 в режиме коррекции ошибок FEC (Forward Error Correction), а так же переписывает значение, предоставленное оконечным устройством, согласно которому мы можем отправить факс – пакеты размером 400 байт по протоколу T38; Yes with FEC - включает T38 в режиме коррекции ошибок FEC; Yes with Redundancy - включает T38 в режиме отказоустойчивой коррекции ошибок FEC; Yes with no error correction - включает T38 без коррекции ошибок; Video Codecs Video Support - включив эту опцию в переключатель Enabled, вам будет предложено настроить кодеки для видео – звонков.; TLS/SSL/SRTP Settings Enable TLS -включить поддержку защищенных подключений по TLS; Certificate Manager - включить сертификат для поддержки TLS. Его можно легко настроить в модуле Certificate Manager; SSL Method - метод передачи SSL транспорта (только для TLS). По умолчанию используется sslv2; Don't Verify Server - не запрашивать проверку сертификата сервере (настройка влияет только на TLS).; MEDIA & RTP Settings Reinvite Behavior - опция, которая позволяет перенаправить поток данных RTP в случае, если пир находится не за NAT (средствами RTP это можно детектировать по IP – адресам); RTP Timeout - сброс канала, на котором отсутствует голосовые потоки (пакеты) RTP/RTCP в течение указанного времени. Важно отметить, что постановка вызова на hold не является триггером для данного поля настройки.; RTP Hold Timeout -сбросить звонок, поставленный на удержание после истечения таймера (в секундах) этого поля; RTP Keep Alive - отправлять Keep Alive сообщения (проверки жизнеспособности сервиса) для поддержки NAT – сессии (в случае постановки вызова на удержание особенно актуально); Notification & MWI MWI Polling Freq - частота в секундах, в рамках которой будет производиться проверка смены статуса MWI (световая индикация, Message Waiting Indication) и отправка статуса пирам; Notify Ringing - опция позволяет контролировать состояние абонента, понимая, что его телефон используется (INUSE) получением пакета SIP 180 RINGING. Удобно при использовании BLF функционала; Notify Hold - контроль абонента и перевод в состояние INUSE, если звонок поставлен на удержание (событие ONHOLD).; Registration Settings Registration Timeout - таймаут регистрации. По умолчанию, равен 20 секунд. Иными словами, каждые 20 секунд будет отправляться запрос на регистрацию, пока не будет превышено максимальное количество попыток; Registration Attempts - количество попыток регистрации, после которого сервер примет решение перестать отправлять запросы. Если выставлено как 0, то количество запросов ограничено не будет. В нормальной ситуации, значение 0 является вполне рабочим – Asterisk будет продолжать посылать запросы на регистрацию до тех пор, пока очередная попытка не увенчается успехом; Registration Minimum Expiry - минимальное время, в течение которого сессия регистрации будет считаться просроченной; Registration Maximum Expiry - максимальное время, в течение которого сессия регистрации будет считаться просроченной (для входящих регистраций); Registration Default Expiry - длительность входящих и исходящих регистраций по умолчанию; Jitter Buffer Settings Enable Jitter Buffer - данная опция активирует использование джиттер буффера на принимающей стороне в рамках одного SIP – канала; Advanced General Settings Default Context - контекст обработки вызова по умолчанию, если не указан иной контекст. Сам по себе FreePBX назначает данную опцию как from-sip-external. Вносите изменения только в том случае, если полностью понимаете, что делаете; Bind Address - в данном поле указывается IP – адрес, на котором Asterisk будет ожидать запросы на телефонный процессинг, на порту, указанном в опции Bind Port. Если указано как 0.0.0.0, Asterisk будет принимать запросы на всех адресах, указанных в настройках ОС. Рекомендуем оставить эту опцию без изменений. Кстати, chan_sip не поддерживает IPv6 для транспорта UDP. Если укажите [::], Asterisk будет слушать все IPv4 и все IPv6 адреса. Если вы настолько круты, что используйте PJSip, то смело используйте IPv6 :) Bind Port - локальный UDP (и TCP, если включено в опции Enable TCP) порт, на котором Asterisk слушает обращения к chan_SIP. Если оставить поле пустым, то по умолчанию будет использован порт 5060 (5160); В более старых версиях FreePBX, использовался порт 5060 (когда только 1 SIP драйвер был в наличии). В более новых, используется 5160); TLS Bind Address - TCP порт на котором Asterisk слушает TLS (защищенные) обращения. Конфигурация вида[::], слушает IPv4 и IPv6 на всех интерфейсах; Важно: мы рекомендуем использовать PJSip для всех коммункаци на базе протокола IPv6; TLS Bind Port - локальной порт для входящих TCP обращений в рамках TLS SIP пакетов; Allow SIP Guests - если установлено в положение Yes, то Asterisk разрешит гостевые SIP звонки и обработает их в контексте from-sip-exernal (или значение дефолтного контекста, если меняли). Переключение в положение No позволит запретить так же и анонимные звонки; Enable SRV Lookup - данная опция сильно зависит от используемой версии Asterisk. В корреляции с версией, SRV функционал имеет свои ограничения; Enable TCP - включить TCP; Call Events - важная опция если вы работаете с AMI (Asterisk Manager Interface). При включенной опции, вы сможете мониторить различных события в AMI, которые генерирует SIP UA (user agent). Данный функционал полезен при разработке собственных приложений. ; Other SIP Settings - прочие SIP – настройки, которые вы можете указать вручную (добавить соответствующее поле и его значение);
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59