По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Ни для кого не секрет, что FreePBX – это совершенно бесплатный дистрибутив, который может скачать и установить каждый желающий. Однако, для того чтобы расширить, а иногда и улучшить функционал IP-АТС на FreePBX, компания-разработчик Schmooze продаёт коммерческие модули. Об одном из таких модулей и пойдёт речь в сегодняшней статье. Итак, встречайте – коммерческий модуль Conference Pro. Настройка Как многие могли уже догадаться, модуль Conference Pro, является дополнением для бесплатного модуля Conference, про который мы уже написали статью и даже сняли видео. Данный модуль позволяет конечному пользователю управлять конференциями, проходящими на сервере через интерфейс UCP. Давайте же посмотрим, каким функционалом нам предлагают пользоваться 25 лет всего за $30 (на
img
Поговорим про популярную утилиту IP – АТС Asterisk FOP2 (Flash Operator Panel 2) . Данная панель позволяет видеть и понимать детальную real-time (реального времени) статистику вашей АТС, например, кто с кем разговаривает, продолжительность вызовов, количество вызовов в очереди или на удержании и так далее. Помимо этого, FOP2 предлагает полноценный телефон в браузере, с помощью которого можно осуществлять вызов и прием звонков, трансфер, перевод на мобильный и запись разговора, а для супервизора доступны опции прослушивания (шпионский канал) разговоров операторов в реальном времени и просмотр статистики по звонкам. /p> В бесплатной версии приложения вы можете работать максимум с пятнадцатью сущностями (экстеншены, конференц - румы, транки и так далее). В терминологии продукта их называют «кнопками. »Интересный функционал, не правда ли? В статье расскажем про установку и первичную настройку продукта. Пошаговое видео Установка Установку мы производим на операционную систему CentOS 6. Начнем с того, что определим разрядность нашей операционной системы: Важно! Перед установкой убедитесь, что у вас установлена компонента make. Для этого, дайте команду yum -y install make в консоль сервера. uname -m i686 - у вас 32 – х битная система; x86_64 - у вас 64 – х битная система; Отлично, теперь необходимо скачать нужный нам дистрибутив. Перейдем в директорию для загрузки файла командой cd /usr/src. Для 32-х битной системы: wget http://www.fop2.com/download/centos32 -O fop2.tgz Для 64-х битной системы: wget http://www.fop2.com/download/centos64 -O fop2.tgz Распаковываем скачанный архив и переходим в директорию установки: tar zxvf fop2.tgz cd fop2 Запускаем инсталлятор, который установит все необходимые файлы конфигурации, клиентской и серверной части программного комплекса: make install Настройка AMI Один из самых главных файлов конфигурации FOP2 это /usr/local/fop2/fop2.cfg. В нем находятся опции настройки подключения к AMI (Asterisk Management Interface). Для начала, давайте создадим параметры подключения для FOP2. Для этого, откроем файл конфигурации /etc/asterisk/manager.conf: vim /etc/asterisk/manager.conf Добавляем пользователя fop2 в конфигурацию следующим образом: [fop2] secret = ваш_пароль(устойчивый к взлому) deny=0.0.0.0/0.0.0.0 permit=127.0.0.1/255.255.255.0 read = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate,message write = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate,message writetimeout = 500 Сохраняем конфигурацию файла и даем следующую команду в консоль (перегружаем AMI): [root@asterisk ~]# asterisk -rx "manager reload" Вносим изменения в файл конфигурации FOP2: vim /usr/local/fop2/fop2.cfg Меняем значение параметров manager_user и manager_secret на созданные выше. Должно получиться вот так: Сохраняем изменения. Проверим подключение между FOP2 и AMI. Для этого в консоль сервера дадим следующую команду: /usr/local/fop2/fop2_server --test Если все в порядке, то вы увидите следующий вывод: Запускаем приложение FOP2 командой: [root@asterisk ~]# service fop2 start Starting Flash Operator Panel 2: [ OK ] Установка одной командой Недавно, разработчики FOP2 разработали специальный скрипт, который последовательно установит панель оператора всего с помощью одной команды: wget -O - http://download.fop2.com/install_fop2.sh | bash Скрипт загрузит необходимые файлы, распакует и установит их. После, административный интерфейс будет доступен по ссылке http://ваш_сервер/fop2/admin, а интерфейс пользователя по ссылке http://ваш_сервер/fop2. Подключение по WEB Подключаемся к интерфейсу администратора FOP2. Для этого, откройте URL администраторской консоли по адресу http://IP-адрес/fop2/admin/: Если вы используете FreePBX, то можете указать при входе тот же логин и пароль. Как видно на скриншоте, с нашим сервером FOP2 все хорошо (FOP2 Server Status: OK – Version: 2.31.08): Создадим пользователя. Для этого, перейдите в раздел Users. В главной консоли будет отображен список текущих сущностей, настроенных в Asterisk. Выберем для редактирования нужную и создадим параметры доступа. Самое важное поле - Secret, которое представляет из себя пароль для доступа пользователя и интерфейс: Теперь переходим по адресу http://IP-адрес/fop2 для доступ к пользовательской консоли: Указываем логи и пароль, созданные ранее. Вуаля, мы вошли в операторскую панель :) Возможные проблемы Зачастую, при инсталляциях, может появиться проблема с доступом к пользовательской консоли (http://IP-адрес/fop2). Пользователи видят постоянную загрузку с надписью One moment please и счетчиком подключения к серверу. Для решения этой проблемы воспользуйтесь следующим алгоритмом: Проверьте, запущен ли сервер FOP2. Дайте команду ps -uax | grep fop2 в консоль Если сервер вернул значение в выводе команды: Проверяем наличие записей в iptables. Дайте команду iptables -vnL INPUT: Вывод команды содержит более 2 записей → Добавляем в iptables правило, которое разрешает подключение к порту 4445 по TCP командой sudo iptables -I INPUT -p tcp -m tcp --dport 4445 -j ACCEPT Вывод команды содержит менее 2 записей Ваш компьютер и сервер FOP2 находятся в одном сетевом сегменте (в одном LAN)? Да → Скорее всего проблема в Вашем браузере. Рекомендуемый для подключения браузер – Google Chrome. Попробуйте очистить куки браузера. Нет → Проблема на сетевом уровне. Скорее всего в сети имеет место фаервол, которые не пропускает трафик по tcp на порт 4454. Вывод отсутствует Проверяем, запущен ли сервис FOP. Дайте команду netstat -lnp | grep 444 Вывод команды присутствует. → Дайте команду service fop2 start Вывод отсутствует. Попробуйте запустить FOP2 прямо из CLI с помощью команды /usr/local/fop2/fop2_server -X 15 и с помощью service fop2 start Появляется ошибка FOP2 was unable to find an eth0 interface... → Наличие данной ошибки говорит об отсутствии на вашем сервере интерфейса eth0. Если вы используете eth1, то вам необходимо открыть файл /etc/sysconfig/fop2 и добавить туда опцию OPTIONS="-d -i eth1". Соответственно, если у вас иное обозначение NIC, то вместо eth1 укажите его. После этого даем рестарт FOP2 командой service fop2 start Появляется ошибка Segmentation Fault → Вам необходимо установить пакет ssl совместимости с помощью yum. Для этого, дайте команду yum install openssl098e в консоль сервера. После этого, делаем рестарт командой service fop2 start
img
JSON (JavaScript Object Notation – нотация объектов JavaScript) – это популярный способ структурирования данных. Он используется для обмена информацией между веб-приложением и сервером. Но как прочитать файл JSON в Python? В этой статье я покажу вам, как использовать методы json.loads() и json.load() для интерпретации (или как еще говорят парсинга) и чтения файлов и строк JSON. Синтаксис JSON Прежде чем мы приступим к интерпретации и чтению файла JSON, сначала нам нужно разобраться с основным синтаксисом. Подробнее про JSON можно почитать в этой статье. Синтаксис JSON выглядит как объектный литерал JavaScript с парами ключ-значение. Вот пример данных JSON с данными организации: { "organization": "Company 1", "website": "https://www.website.org/", "formed": 2014, "certifications": [ { "name": "Responsive Web Design", "courses": [ "HTML", "CSS" ] }, { "name": "JavaScript Algorithms and Data Structures", "courses": [ "JavaScript" ] }, { "name": "Front End Development Libraries", "courses": [ "Bootstrap", "jQuery", "Sass", "React", "Redux" ] }, { "name": "Data Visualization", "courses": [ "D3" ] }, { "name": "Relational Database Course", "courses": [ "Linux", "SQL", "PostgreSQL", "Bash Scripting", "Git and GitHub", "Nano" ] }, { "name": "Back End Development and APIs", "courses": [ "MongoDB", "Express", "Node", "NPM" ] }, { "name": "Quality Assurance", "courses": [ "Testing with Chai", "Express", "Node" ] }, { "name": "Scientific Computing with Python", "courses": [ "Python" ] }, { "name": "Data Analysis with Python", "courses": [ "Numpy", "Pandas", "Matplotlib", "Seaborn" ] }, { "name": "Information Security", "courses": [ "HelmetJS" ] }, { "name": "Machine Learning with Python", "courses": [ "Machine Learning", "TensorFlow" ] } ] } Как парсить строки JSON в Python Python имеет встроенный модуль, который позволяет работать с данными в формате JSON. Вам необходимо будет импортировать модуль json. import json Если вам необходимо проинтерпретировать строку JSON, возвращающую словарь, то вы можете воспользоваться методом json.loads(). import json # assigns a JSON string to a variable called jess jess = '{"name": "Jessica Wilkins", "hobbies": ["music", "watching TV", "hanging out with friends"]}' # parses the data and assigns it to a variable called jess_dict jess_dict = json.loads(jess) # Printed output: {"name": "Jessica Wilkins", "hobbies": ["music", "watching TV", "hanging out with friends"]} print(jess_dict) Как парсить и читать файлы JSON в Python В данном примере мы имеем файл в формате JSON с именем fcc.json, который содержит те же данные, что и ранее, касающиеся курсов, которые предлагает сайт. Если вы хотите прочитать этот файл, то для начала вам нужно использовать встроенную в Python функцию open() с режимом чтения. Мы используем ключевое слово with, чтобы убедиться, что файл закрыт. with open('fcc.json', 'r') as fcc_file: Если файл не может быть открыт, то мы получим ошибку OSError. Это пример ошибки "FileNotFoundError" при опечатке в имени файла fcc.json. Затем мы можем проинтерпретировать файл, используя метод json.load() и присвоить его переменной с именем fcc_data. fcc_data = json.load(fcc_file) И в конце мы должны напечатать результат. print(fcc_data) Вот так будет выглядеть полный код: import json with open('fcc.json', 'r') as fcc_file: fcc_data = json.load(fcc_file) print(fcc_data) Как красиво напечатать данные JSON в Python Если мы посмотрим на то, как печатаются данные, то увидим, что все данные JSON печатаются в одной строке. Однако такой формат вывода может быть затруднительным для чтения. И чтобы это исправить, мы можем реализовать метод json.dumps() с параметром indent (отступ). В данном примере мы сделаем отступ в 4 пробела и будем печатать данные в более удобном для чтения формате. print(json.dumps(fcc_data, indent=4)) Также мы можем отсортировать ключи в алфавитном порядке, используя параметр sort_keys и установив его значение на True. print(json.dumps(fcc_data, indent=4, sort_keys=True)) Заключение JSON – это популярный способ структурирования данных, который используется для обмена информацией между веб-приложением и сервером. Если вам необходимо проинтерпретировать строку JSON, которая возвращает словарь, то вы можете использовать метод json.loads(). Если вам необходимо проинтерпретировать файл JSON, который возвращает словарь, то вы можете использовать метод json.load().
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59