По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Хотим показать два простых способа для ограничения набора платных номеров (международных и междугородних направлений) на Asterisk. Зачем это нужно? Часто в компаниях есть определённый тип пользователей, которым, для выполнения своих служебных обязанностей, не требуется совершать исходящие звонки на внешние направления. Они принимают входящие вызовы от внешних абонентов и могут пользоваться внутрикорпоративной связью. Именно такую задачу мы решим. Будем считать, что ограничить набор номеров платных направлений нужно для внутренних номеров маской 3XX. Способ 1 Для решения вышеописанной задачи первым способом будем пользоваться графическим интерфейсом FreePBX 13 и уже знакомым нам модулем Custom Context. Открываем вкладку Connectivity → Custom Context и нажимаем Add Context: Задаём новому контексту название и понятное описание и жмём Submit, после чего перед нами открывается список правил, которыми мы будем манипулировать, чтобы запретить доступ к исходящим направлениям. Дальнейшие действия рекомендуем воспроизводить в точности по следующему порядку: Выбираем опцию Allow напротив строки Set All To; Выбираем опцию Deny Rules напротив строки ENTIRE Basic Internal Dialplan; В окне Deny Rules указываем шаблон (dial pattern) внешних номеров, которые хотим запретить. В нашем случае это - 810Z. – международный и 8495XXXXXXX, 8499XXXXXXX, 89XXXXXXXX - звонки по городу и мобильные номера. Узнайте как принимает номер ваш провайдер, чтобы указать правильный шаблон. Должно получиться вот так: 4. Далее прокручиваем данное меню вниз и напротив строки ALL OUTBOUND ROUTES также выбираем Deny Rules, после чего жмём Submit и Apply Config Теперь осталось только применить созданное правило на нужных Extension’ах. Для этого открываем модуль Extensions ищем внутренний номер, которому необходимо запретить совершать международные и междугородние звонки (например 310), открываем вкладку Other и напротив строки Custom Context выбираем наш новый контекст. Нажимаем Submit, Apply Config и готово теперь с данного внутреннего номера “наружу” не позвонить. Если таких внутренних номеров много, то можно выгрузить csv файл со всеми их настройками с помощью модуля Bulk Handler и указать так контекст вручную, а затем импортировать новый файл. Способ 2 Для решения задачи вторым способом, нам придётся немного изменить правила в конфигурационных файлах. Для этого открываем /etc/asterisk/extensions_custom.conf любым редактором, ищем контекст [from-internal-custom] и вносим туда следующую запись: [from-internal-custom] exten => _8X./3XX,1,NoOp("${CALLERID} long-distance call detected") exten => _8X./3XX,n,Playback(feature-not-avail-line,noanswer) exten => _8X./3XX,n,Hangup() Таким образом, мы запретили набор номеров междугородних и международных направлений с выходом через 8 для всех внутренних номеров с маской 3XX.
img
Функционал модуля CallerID Lookup Sources позволяет устанавливать некие источники для преобразования номерных идентификаторов входящих вызовов CID (caller ID) в имена. После чего, можно привязать входящий маршрут к специальному источнику CID. Таким образом, любой входящий вызов будет сперва проверен на соответствие номера и имени по заданному источнику и, если такое соответствие будет найдено, то вместо длинного номера, на экране Вашего телефона отобразится знакомое имя вызывающего абонента. Можно также создать небольшой список соответствия имен и номеров в модуле Phonebook. /p> Настройка модуля Перейдём к настройке. Для того чтобы попасть в модуль CallerID Lookup Sources, с главной страницы, переходим по следующему пути: Admin -> CallerID Lookup Sources. Обратите внимание на предупреждение, которое открывается при входе в модуль. Процесс поиска имени входящего абонента (name lookup), который запускает данный модуль, может замедлить работу Вашей IP-АТС. По умолчанию, в модуле уже есть один источник – сервис определения CallerID Name - OpenCNAM. Мы не будем подробно рассматривать данный вариант, поскольку, чтобы им воспользоваться, необходимо иметь аккаунт в OpenCNAM. Рассмотрим, какие ещё источники предлагает данный модуль. Для этого нажмите Add CIDLookup Source, откроется окно добавления нового источника В поле Source Description предлагается написать краткое описание нового источника. В поле Source type выбирается тип источника. От того, какой тип будет выбран на данном этапе, будет зависеть то, где система будет искать соответствие CID входящих вызовов. Рассмотрим каждый тип: internal - Для поиска имени используется база astdb, а для её заполнения – модуль Asterisk Phonebook ENUM - Поиск осуществляется по DNS в соответствии с конфигурационным файлом enum.conf HTTP - Выполняет HTTP GET - запрос , передавая номер звонящего в качестве аргумента, чтобы получить правильное имя Рассмотрим каждое из полей, которое необходимо заполнить при выборе данного источника: Host - IP-адрес или доменное имя сервера, куда будет отправлен запрос GET Port - Порт, который прослушивает сервер (по умолчанию - 80) Username - Логин для HTTP аутентификации Password - Пароль для HTTP аутентификации Path - Путь к файлу для запроса GET. Например, /cidlookup.php Query - Строка запроса, специальный токен [NUMBER], в котором будет заменен на номер необходимого абонента. Например, number=[NUMBER]&source=crm. В случае выбора в качестве источника для поиска сервера HTTPS всё остаётся прежним, за исключением порта. По умолчанию используется порт 443. MySQL - Поиск имени звонящего осуществляется по базе MySQL Рассмотрим каждое из полей, которое необходимо заполнить при выборе данного источника: Host - Имя сервера MySQL Database - Имя базы данных MySQL Query - Строка запроса, где специальный токен [NUMBER], будет заменен на номер необходимого абонента. Например, SELECT name FROM phonebook WHERE number LIKE '%[NUMBER]%' Username и Password для авторизации на сервере MySQL Character Set - Набор символов MySQL. Чтобы оставить набор символов по умолчанию, оставьте это поле пустым Пример работы Internal Для демонстрации примера работы данного модуля, создадим тестовый источник - test_internal. Поиск в нем будет осуществляться по базе astdb, которая заполняется при помощи модуля Asterisk Phonebook. Перейдём в данный модуль и создадим тестовую запись. Теперь, необходимо зайти в модуль Inbound Routes и добавить туда правило проверки входящих CID по ранее созданному источнику test_internal. Готово, теперь, если на номер данного входящего маршрута позвонит 456123789, то на экране нашего телефона мы увидим имя John Doe. Если вы хотите подробнее узнать о настройке входящих маршрутов, почитайте соответствующую статью в нашей Базе Знаний.
img
Что это за странные названия - Elasticsearch, Logstash и Kibana? На сегодняшний день разработка программного обеспечения одна из наиболее широких и динамично развивающихся сфер деятельности человечества. Новые идеи, программные решения, оптимизация и адаптация вот что выделяет хорошего разработчика ПО. Соответственно, выбор подходящего инструмента для создания приложений это то, от чего напрямую зависит скорость работ, а значит и развитие компании, и продвижение ее на рынке. Одним из ключевых процессов в разработке ПО является логирование. Этим термином называется фиксация каждого этапа работы программы, как правило, сохраняемого в файл, который называется логом. Этот файл обычно содержит информацию о каждой совершенной программой операции и точном времени ее совершения, что позволяет в случае неполадки просмотреть, в какой момент и на какой операции что-то пошло не так. Программное обеспечения для сбора и анализа логов не всегда универсально. По классической схеме работы, лог-файл создается при первом запуске программы, фиксирует ее поведение, затем автоматически сохраняется при закрытии программы. При следующем запуске приложения лог-файл заменяется на новый и все начинается сначала. Однако, с течением времени программы становятся все более сложными, лог-файлы, соответственно, более объемными, а навигация по ним более затруднительной. С течением времени возникла необходимость в специализированных инструментах, которые позволяют быстро и удобно работать с логами. Одним из таких решений стал комплекс программ ELK Stack, о котором и пойдет речь в этой статье. Название ELK подобрано не просто так. Это не одна программа, а, как уже было сказано выше, комплекс, состоящий из трех основных программных продуктов Elasticsearch, Logstash и Kibana. Иногда данный комплекс дополняется сторонними программами, но эти "три кита" остаются неизменными инструментами. Разберем подробнее: Elasticsearch это поисковая система, предназначенная изначально для поиска фрагментов текста, однако с гибким функционалом и широкими возможностями по настройке. Это продукт улучшения решения Apache Lucene за счет добавления нескольких нововведений, делающих поиск информации в проектах с большими объемами данных достаточно оперативным и несложным. Logstash приложение для сбора информации из различных источников, преобразования их в удобный для работы формат и направления их в хранилище для дальнейшей работы. Простота использования и возможность работать с большими объемами данных обеспечивает Logstach ряд преимуществ перед аналогичными проектами. Kibana это плагин, предназначенный специально для Elasticsearch. Он отвечает за визуализацию данных, аналитику и представление итоговой информации в удобном для восприятия виде. Данное решение позволяет достаточно быстро анализировать итоги поиска, искать закономерности и представлять на экране Вашего устройства, где именно в проекте находятся слабые места. Этот плагин также обладает широкими возможностями по конфигурированию. Таким образом, механизм сбора логов выглядит так: Logstash собирает объемные логи и помещает их в хранилище, Elasticsearch используется для поиска нужных строк в этих логах, Kibana позволяет проанализировать и визуализировать результаты поиска. Комплекс этих программных продуктов отличное решение для оперативного поиска и устранения неисправностей в программном коде, и очень удобный инструмент для разработчиков особенно тех, кто занимается созданием или внедрением отдельных элементов в крупные проекты. Кроме того, функциональность ELK позволяет его использовать в качестве централизованного хранилища журналов, агрегатора событий с удобной навигацией, аналитической системы с алгоритмом машинного обучения, а также по иным назначениям. Стоит упомянуть, что все три проекта разработаны компанией Elastic на основе открытого кода. Это позволяет сторонним разработчикам модифицировать систему, и вполне возможно, что данный продукт получит развитие и в дальнейшем будет пользоваться еще большей популярностью среди пользователей.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59