По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Введение Данный обзор посвящен софтфону Ekiga и его настройке по протоколу SIP. Установка Сперва необходимо скачать дистрибутив софтфона по следующей ссылке: http://ftp.gnome.org/pub/gnome/binaries/win32/ekiga/4.0/ekiga-setup-4.0.1+.exe: Как видно на скриншоте ниже, процесс установки не отличается ничем особенным, при желании можно просто везде кликнуть далее. После установки софтфона начнется процесс установки GTK2-Runtime.Все оставляем по умолчанию и кликаем везде “Next” После запустится мастер настройки софтфона, состоящий из 9 шагов: Ставим галочку внизу, ничего не заполняем и нажимаем Forward: Повторяем предыдущий шаг: Оставляем настройку по умолчанию: Производим настройку аудиоустройств – также можно оставить по умолчанию: Производим настройку видеоустройств – также можно оставить по умолчанию: Выкладка введенных вами значений, кликаем Apply: Далее включается сам телефон, идем по пути Правка → Учетные записи → Добавить учетную запись SIP Прописываем все необходимые поля: Где: Имя - требуемое имя Регистратор - адрес вашей АТС Пользователь - юзернейм Пользователь аутентификации - номер экстеншена Пароль - пароль Задержка - название говорит само за себя, можно оставить как есть После нажимаем на Ок и на этом настройка закончена, если все в порядке с АТС – можно звонить!
img
Итак, чтобы корректно настроить QoS (Quality of Service), нам необходимо предварительно произвести небольшие расчеты. Предположим, в нашем офисе находятся 30 телефонных аппаратов, работающих по протоколу SIP под управление IP – АТС Asterisk. Мы предполагаем, что для одного телефонного разговора нужно 100 кбит полосы (с оверхедами). Тем самым, для 30 аппаратов нам потребуется полоса в 3 мбит (up/down). Все наша VoIP – инфраструктура живет в отдельном VLAN`e с подсетью 192.168.3.0/24. Приступаем к настройке. Всегда рекомендует выносить VoIP инфраструктуру (PBX, телефоны, шлюзы) в отдельную подсеть. Это позволит проще сегментировать трафик обычной сети передачи данных и чувствительный к задержкам VoIP. Настройка на Mikrotik | Маркировка пакетов Настройки будем производить через утилиту управления Winbox. Открываем вкладку IP → Firewall и выбираем вкладку Mangle. Нажимаем на синий значок «+»: Отлично. Далее мы создаем маркировку для соединения, приходящих из подсети 192.168.3.0/24 и отправленных внутрь этой подсети. Начнем с первой задачи. Указываем: Chain - выбираем здесь prerouting; Src. Address - указываем нашу подсеть; Если ваши телефоны и IP – АТС Asterisk «живут» в той же подсети, что и рабочие станции (ПК), то укажите в качестве источника и назначения в маркировках IP – адрес Asterisk Прыгаем на вкладку Action и указываем следующие параметры: Action - мы делаем маркировку, поэтому выбираем mark connection; New Connection Mark - маркируем как VoIP; Passthrough - отмечаем галочкой; Сохраняем изменения и нажимаем «ОК». Теперь нам необходимо сделать тоже самое, только на первом этапе, подсеть 192.168.3.0/24 мы укажем не в параметре Src. Address, а в Dst. Address. Все прочие опции делаем идентично проделанным шагам. В итоге у вас должно получиться вот так: И добавляем финальный штрих к нашей конструкции – промаркируем пакеты, которые попадают под ранее созданные правила маркировки коннекций (соединений). Нажимаем на «+» и во вкладке General: Chain - указываем prerouting; Connection Mark - выбираем VoIP; А во вкладке Action: Action - делаем mark packet; New Packet Mark - выбираем VoIP; Passthrough - снимаем галочку с чекбокса; Нажимаем «ОК» и сохраняем. Итого у нас получается: Приоритеты и выделение полосы пропускания На текущем этапе мы достаточно точно можем отделить VoIP – трафик от любого другого. Поэтому, создадим очередь обслуживания. Для этого, переходим в раздел Queues и нажимаем «+»: Работаем со следующими параметрами: Name - даем имя очереди - VoIP queue; Target - укажите 0.0.0.0/0. Мы парсим данные на Mikrotik по маркированным пакета; Max Limit - снимаем галочку с чекбокса; Target Upload - 3M, как и говорили в начале статье; Target Download - 3M, как и говорили в начале статье :); Двигаем во вкладку Advanced: Marks - выбираем из выпадающего списка VoIP; Priority - выбираем для UP/DOWN 1 приоритет; Теперь необходимо сделать очередь для остального трафика: Name - даем имя очереди - Other traffic; Target - указываем сеть, в которой живут наши рабочие станции (ПК) - в нашем случае 192.168.2.0/24; Max Limit Target Upload - 30M в нашем случае; Target Download - 30M; Прыгаем на вкладку Advanced: Marks - выбираем no-mark, так как нас интересуют пакеты без маркировки; Priority - выбираем 8 приоритет; Тестирование Проверяем. В очереди, переходим во вкладку Traffic в настройках VoIP очереди, делаем звонок и видим его график:
img
Желание использовать данные с внешних сервисов это вполне обычная практика. Так как многие из этих сервисов доступны по HTTP(S) (REST API, например), то в этой статье мы хотим показать простой способ обращения к этим сервисам по cURL и обработку данных в случае, если сервер вернет JSON. Все взаимодействия будут выполняться из диалплана. Простой cURL запрос В диалплане Asterisk существует функция CURL, которая позволяет получить содержимое WEB или FTP страницы. Синтаксис запроса следующий: CURL(url,post-data) url - URL, к которому мы будем выполнять обращение; post-data - по умолчанию будет выполнен GET – запрос. Если в данном параметре будут указаны различные значения, то будет выполнен POST запрос с указанными в переменной данными; Например: exten => _X.,1,Set(C_RESULT=${CURL(//merionet.ru/rest?num=84991234567)}) Здесь мы выполним GET запрос по указанному URL, а результат сохраним в переменной C_RESULT. Использование HTTPS в запросах Иногда, HTTPS запросы могут не срабатывать, так как удаленная сторона будет проверять наш SSL – сертификат. Если поставить параметр ssl_verifypeer=0, то такой проверки не будет: same => n,Set(CURLOPT(ssl_verifypeer)=0) Как воспользоваться этим в диалплане? Легко. С помощью функции GotoIf мы можем определить действие, которое отработает на базе результата cURL: exten => _X.,1,Set(C_RESULT=${CURL(//merionet.ru/rest?num=84991234567)}) same => n,GotoIf($["${C_RESULT}" = "1"]?res1:res2) same => n(res1),Verbose(CURL Result = 1) same => n,Hangup same => n(res2),Verbose(CURL Result != 1) same => n,Hangup Указанный код отправит GET - запрос на rest, в котором в параметре num передаст номер звонящего (можно указать соответствующую переменную диалплана Asterisk). В случае, если результатом выполнения запроса будет 1, то мы перейдем к выполнению шага res1, а противоположном случае, res2. res_json для обработки JSON ответов На самом деле, для API, является обычной практикой возврат ответа в виде JSON. Поэтому, нам следует преобразовать эти данные перед обработкой их. Для этого мы воспользуемся модулем res_json из JSON библиотеки, который создан для расширения базовых возможностей диалплана с точки зрения обработки JSON. Почитайте материал об установке данного модуля по этой ссылке. exten => _X.,1,Set(C_RESULT=${CURL(//merionet.ru/rest.json)}) same => n,Set(result=${JSONELEMENT(C_RESULT, result/somefield)}) same => n,GotoIf($["${result}" = "1"]?res1:res2) same => n(res1),Verbose(CURL Result = 1) same => n,Hangup same => n(res2),Verbose(CURL Result != 1) same => n,Hangup Для теста, создайте у себя на web – сервере файл rest.json со следующим содержанием: { "result": { "somefield": 1 } }
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59