По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В процессе нашей работы, часто приходится сталкиваться с ситуациями, когда заказчик, при переходе от аналоговой телефонии (ТФОП – Телефонная Сеть Общего Пользования) к VoIP не может отказаться от имеющегося у него аналогового оборудования. Это могут быть как аналоговые телефоны, факсимильные и модемные устройства так и вся аналоговая АТС. Причины могут быть абсолютно разные, но решение всегда одно - поставить специальные шлюзы c FXS/FXO интерфейсами, с помощью которых можно "подружить" аналоговый мир и мир IP. Как можно догадаться FXS/FXO интерфейсы (или порты) - это аналоговый мир и одно не может существовать без другого. Что же это за интерфейсы и как они работают - читайте в этой статье. Предыстория Традиционная аналоговая телефонная сеть – это совокупность технических сооружений и аналоговых линий связи, обеспечивающих возможность осуществления телефонных соединений по средствам аналоговых телефонных аппаратов. Подключение к телефонной сети общего пользования (POTS – Plain Old Telephone Service) - это услуга, которую предоставляет местная телефонная компания из своих центральных офисов (CO – Central Office) для домашних или офисных абонентов. Подключение осуществляется с помощью электрических проводов, состоящих из двух медных жил. Чтобы увеличить расстояние, на которое может быть передан сигнал и уменьшить электромагнитные помехи, жилы скручиваются вместе, такой метод называется «витая пара». Интерфейс FXS Медные провода протягиваются до помещений конечных абонентов (квартиры и жилые дома – для домашних абонентов, офисные здания и комнаты – для офисных абонентов) и заканчиваются в виде телефонной розетки в стене, как правило, с разъёмом стандарта RJ-11 (У кого то может быть ещё остались советские РТШК). И это, дорогие друзья, и есть тот самый интерфейс или порт FXS – Foreign eXchange Subscriber / Station, по которому местная телефонная компания предоставляет сервис POTS. В данный порт должны подключаться оконечные абонентские устройства, такие как телефон, факс или модем. Буква ”S”- (Subscriber - абонент) в аббревиатуре FXS как бы подсказывает, что данный интерфейс будет ожидать подключения именно от абонентcкого устройства. Основные функции, которые обеспечивает FXS порт это: Зуммер - непрерывный сигнал, который Вы слышите, когда снимаете трубку, означающий, что телефонная станция готова принимать номер. В англоязычной литературе – Dial Tone; ток заряда батареи питания линии Напряжение линии - постоянное напряжение аналоговой телефонной линии, необходимое для осуществления звонка; Итак, запомните – к FXS всегда подключаем абонентские оконечные устройства, это то, что мы получаем от провайдера телефонной связи. Интерфейс FXO Устройства FXO – Foreign eXchange Office - это устройства, которые получают сервис POTS, то есть это оконечные устройства – телефоны, факсы модемы и так далее. Эти устройства также имеют разъём стандарта RJ-11 и ожидают подключения со стороны телефонной станции (CO – Central Office), о чем свидетельствует буква «O» - Office в аббревиатуре FXO. Данный интерфейс обеспечивает функции определения поднятия трубки (on-hook/off-hook), то есть факт замыкания цепи, которая в свою очередь вызывает отправку Dial Tone со стороны телефонной станции. Итак, запомните – к FXO всегда подключаем линию от провайдера телефонной связи. А теперь, закрепим усвоенное. FXS порт – это наша домашняя (или офисная) телефонная розетка, которую нам предоставляет провайдер телефонных услуг. К ней мы подключаем абонентские аппараты (телефоны, факсы и прочие) FXO порт – это разъем на нашем телефоне, его мы всегда подключаем к FXS, то есть к телефонной станции провайдера услуг POTS. Кстати, важно отметить, что нельзя подключить FXO устройство к другому FXO устройству, ну и FXS к FXS. Например, если вы напрямую соедините два телефона (FXO), то вы не сможете позвонить с одного на другой. Аналоговые УАТС и FXS/FXO Если в офисе используется старая аналоговая учрежденческая АТС (УАТС), то это немного меняет картину. УАТС должна иметь оба типа интерфейсов, как FXS, так и FXO. Линии от провайдера телефонных услуг (FXS), должны подключаться к FXO интерфейсам аналоговой УАТС, обеспечивая Dial Tone и напряжение линии, а сами оконечные устройства – телефонные аппараты, как устройства FXO, должны подключаться к FXS интерфейсам аналоговой УАТС и обеспечивать определения снятия трубки. VoIP и FXS/FXO Как я уже писал в начале статьи, для того, чтобы «подружить» аналоговый мир и мир IP, необходимо использовать VoIP шлюзы. Однако то, какой именно использовать шлюз FXO или FXS – зависит от ситуации. Как правило ситуаций всего две: Пример №1 У нас есть медные линии от местной телефонной компании, но отказываться мы от них не хотим. Планируем поставить в качестве офисной телефонной станции IP-АТС Asterisk. В этом случае нам нужен FXO шлюз. Медные линии от провайдера (FXS) мы подключаем в FXO порты шлюза, а к Ethernet портам шлюза подключается IP-АТС Asterisk. FXO шлюз производит преобразование аналоговых сигналов от аналоговой станции нашей местной телефонной компании в цифровые сигналы, которые понимает IP-АТС Asterisk. Схема такая: Пример №2 У нас есть аналоговые телефоны и факс, отказываться от них мы не хотим. Однако отказались от старой аналоговой АТС и перешли на IP-АТС Asterisk В этом случае, нам нужен FXS шлюз. Наши аналоговые телефоны – это аппараты FXO, поэтому их мы подключаем к FXS портам шлюза, а к Ethernet порту подключаем IP-АТС Asterisk. FXS шлюз осуществляет преобразование аналоговых сигналов от аналоговых телефонов в цифровые сигналы, которые понимает Asterisk. Схема примерно такая: На этом всё, друзья. Искренне надеюсь, что данная статья поможет вам разобраться в разнице между FXS и FXO интерфейсами и пригодится в ваших проектах :)
img
Управление кэш-памятью определяет поведение кэширования для веб-сайта, давая браузерам понять, как часто следует обновлять локально хранящиеся ресурсы. Что такое cache-control? Cache-control – это HTTP-заголовок, который определяет поведение браузера при кэшировании. Проще говоря, когда кто-то посещает веб-сайт, то его браузер сохраняет определенные ресурсы, такие как изображения и данные веб-сайта, в хранилище, которое называется кэш. Когда пользователь вновь посещает этот веб-сайт, то cache-control диктует правила, которые определяют, будут ли эти ресурсы загружены из локального кэша данного пользователя, или браузер должен отправить запрос на сервер для получения новых ресурсов. Для более глубокого понимания, что такое cache-control необходимо базовое понимание того, что такое кэширование в браузере и что такое HTTP-заголовки. Что такое кэширование в браузере? Как уже было описано выше, кэширование в браузере – это когда веб-браузер сохраняет ресурсы веб-сайта, чтобы не запрашивать их вновь с сервера. Например, фоновое изображение веб-сайта может быть сохранено локально в кэше, чтобы при повторном посещении пользователем данного веб-сайта изображение загружалось из локальных файлов пользователя, и тем самым страница загружалась бы быстрее. Браузеры хранят эти ресурсы в течение определенного периода времени, известного как время жизни информации (TTL - Time To Live). Если пользователь запросит кэшированный ресурс после истечения TTL, то браузеру придется снова обратиться к серверу, чтобы загрузить новую копию ресурса. Как браузеры и веб-серверы узнают TTL для каждого ресурса? Вот здесь в игру вступают HTTP-заголовки. Что такое HTTP-заголовки? Протокол передачи гипертекста (HTTP - Hypertext Transfer Protocol) представляет собой синтаксис для обмена данными во Всемирной паутине, и этот обмен данными состоит из запросов от клиентов к серверам и ответов от серверов к клиентам. Каждый из HTTP-запросов и ответов содержит ряд пар «ключ-значение», которые называют заголовками. Заголовки содержат большое количество важной информации о каждом сообщении. Например, заголовок запроса обычно содержит: Информацию о том, какой ресурс запрашивается Информацию о том, какой браузер использует клиент Информацию о том, какие форматы данных примет клиент Заголовки ответов обычно содержат информацию о: Успешности выполнения запроса Языке и формате любых ресурсов в теле ответа Заголовок cache-control может использоваться как в HTTP-запросах, так и в HTTP-ответах. Что находится внутри заголовка cache-control? Заголовки состоят из пар «ключ-значение», разделенных двоеточием. Для cache-control «ключ», или часть слева от двоеточия, - это всегда «cache-control». «Значение» - это то, что находится справа от двоеточия. Значений для cache-control может быть несколько, или оно может быть одно. Если их несколько, то они разделяются запятыми. Эти значения называются директивами, и они определяют, кто может кэшировать ресурс, а также как долго эти ресурсы могут быть кэшированными, прежде чем их необходимо будет обновить. Давайте рассмотрим несколько наиболее распространенных директив cache-control: cache-control: private Ответ с директивой private может быть кэширован только клиентом, но никак не посредником, таким как CDN или прокси-сервером. Часто сюда относятся ресурсы, которые содержат личные данные, например, веб-сайт, отображающий личную информацию пользователя. cache-control: public Здесь наоборот, директива public говорит о том, что ресурс может хранится в любом кэше. cache-control: no-store Ответ с директивой no-store нельзя кэшировать нигде и никогда. Это означает, что при каждом запросе пользователем этих данных, требуется отправить запрос на исходный сервер для их получения. Эта директива, как правило, используется для ресурсов, содержащих конфиденциальные данные, например, информацию о банковском счете. cache-control: no-cache Эта директива означает, что кэшированные версии запрошенного ресурса нельзя использовать без предварительной проверки наличия обновленной версии. Обычно это делается с помощью ETag. ETag – это еще один HTTP-заголовок, который содержит маркер, уникальный для версии ресурса на момент его запроса. Этот маркер меняется на исходном сервере при каждом обновлении ресурса. Когда пользователь возвращается на страницу с ресурсом под директивой no-cache, клиенту всегда придется подключаться к исходному серверу и сравнивать ETag на кэшированном ресурсе с ETag на сервере. Если они совпадают, то кэшированный ресурс предоставляется пользователю. В противном случае, это означает, что ресурс был обновлен, и клиенту необходимо загрузить обновленную версию, чтобы иметь возможность предоставить его пользователю. Этот процесс гарантирует, что пользователь всегда будет получать самую последнюю версию ресурса без ненужных постоянных загрузок. cache-control: max-age Эта директива определяет время жизни информации, или, иными словами, сколько секунд ресурс может находиться в кэше после его загрузки. Например, если max-age установлен на 1800, то это значит, что в течение 1800 секунд (30 минут) после того, как ресурс был впервые запрошен с сервера, пользователю будет предоставляться кэшированная версия этого ресурса при последующих запросах. Если пользователь запросит этот ресурс снова по истечении этих 30 минут, то клиенту необходимо будет запросить новую копию с исходного сервера. Директива s-maxage предназначена специально для общих кэшей, таких как CDN. Она определяет, как долго эти общие кэши могут продолжать обслуживать ресурс из кэша. Эта директива отменяет действие директивы max-age для некоторых клиентов. Почему cache-control так важен? Кэширование в браузере – это отличный способ сохранить ресурсы и, тем самым, улучшить процесс взаимодействия с пользователем в Интернете, но без cache-control этот процесс не был бы столь надежным. Все ресурсы на всех сайтах будут использовать одни и те же правила кэширования, а это значит, что конфиденциальная информация будет кэшироваться также, как и общедоступная информация, а ресурсы, которые часто обновляются, будут кэшироваться на то же время, что и ресурсы, которые редко обновляются. Cache-control добавляет гибкости, которая делает кэширование в браузере действительно полезным, позволяя разработчикам определять, как будет кэшироваться каждый ресурс. Этот заголовок также позволяет разработчикам устанавливать определенные правила для посредников, что является причиной, по которой сайты, которые используют CDN, как правило, работают лучше, чем сайты, которые этого не делают.
img
Hiya! Merion Metrics our call stats (CDR) application for Asterisk, it shows the most important diagrams and call graphs as well as call history in an easy and convenient format. Showing call stats this way makes them easy to understand for everyone - from CEO to an office manager About Merion Metrics Short description of Merion Metrics: Full statistics - the most important info only: date, time, source and destination of a call, as well as it’s recording; Free trial - try the whole spectrum of these features - completely for free; Easy and quick installation - we are always here to help you; Cross-platform - developed in Java. Compatible with any UNIX platform; For supervisors - Got tired of heavy and awkward CDR interface in FreePBX? Or maybe you experienced something similar with CDR Viewer? we know that feeling; Easy to export in PDF and CSV - export all your calls into PDF and send it over to your colleagues in an easy readable format; Try Merion Metrics for free: Try Merion Metrics Merion Metrics Installation Attention! You should to have a license key from our support team at this point. You can get it by follow link: https://asterisk.merionet.ru/merionmetrics Of course for your convenience we have a step by step video guide. Enjoy :) Installation video - guide Installation guide by plain text System Requirements RAM: 256 MB min CPU: Pentium 2 266 МГц + минимум Java Runtime Environment (JRE): version 8+ Browser: Internet Explorer 9+ Preparation Firstly, connect to your Asterisk via SSH using user root. Directory creation for the app Run the following commands: mkdir /home/merionstat Upload app distro MerionMonitoring-*.*.*.jar into the directory you’ve just created: /home/merionstat. You can do that using WinSCP, for example. Important: App distro will have a certain version number. Here, in the installation guide, we always put version number as MerionMonitoring-*.*.*.jar. In your case it will be something like MerionMonitoring-1.1.9.jar. SQL user creation Follow the link that will generate an uncrackable password and right it down on save it somewhere. After that, execute the following command sequence: mysql CREATE USER 'interface'@'localhost' IDENTIFIED BY 'your_password'; GRANT SELECT, CREATE, INSERT ON asteriskcdrdb.* TO 'interface'@'localhost' IDENTIFIED BY 'your_password'; Where your_password - some freshly generated password from the link above пароль. For example: mysql CREATE USER 'interface'@'localhost' IDENTIFIED BY '6nzB0sOWzz'; GRANT SELECT, CREATE, INSERT ON asteriskcdrdb.* TO 'interface'@'localhost' IDENTIFIED BY '6nzB0sOWzz'; And yet another reminder – save your password somewhere else. Call recordings directory For sake of playing call recordings through our app, you have to do the following: Generate another password via our password generator and save it;. Execute the following commands: mkdir /var/www/html/generated_password chown asterisk:asterisk /var/www/html/generated_password chmod 775 /var/www/html/generated_password For example: mkdir /var/www/html/5v9MpbtUA8 chown asterisk:asterisk /var/www/html/5v9MpbtUA8 chmod 775 /var/www/html/5v9MpbtUA8 Open file /etc/fstab and add there the following sequence: /var/spool/asterisk/monitor/ /var/www/html/generated_password/ none rbind 0 0 For example: /var/spool/asterisk/monitor/ /var/www/html/5v9MpbtUA8/ none rbind 0 0 Save all the changes in fstab file. After that, execute the following command in CLI: mount -a Start Application launch Run the following commands: cd /home/merionstat nohup java -jar MerionMonitoring-*.*.*.jar & Right after command’s execution press Enter. Application setup The first connection After launching .jar archive, please open the following address in your web-browser: http://your_IP_address:7070/#!/config (You can use any browser, we recommend using Google Chrome). Once it opened, enter your license key – you can get it from our support engineer. Click “Check the license”. If you encounter any kind of a problem during that phase, please address it to our technical support team: helpdesk@merionet.ru. After that you have to pass the initial authorization, and to do that, you need to use the following credentials: admin/IEJu1uh32 On the next step you’ll need to configure database connection. If you are using Asterisk IP - PBX, just follow the guide: Database - mysql or mariadb; DB host: If your DB installed on the same server as our application - localhost; If your DB installed on some kind of external server - IP_address_of_your_database; DB port - is being set up automatically, so please change it only if your DB is listening for requests on another port; DB connection string - leave this without changes; Table name - In case of Asterisk it’s cdr; Scheme - that should be the name of database, for Asterisk it’s asteriskcdrdb; User - You created the user some time ago in “SQL user creation” part of this guide. If you copied all the commands without any changes – that would be interface; Password - the one you’ve probably generated using our password generator; Voice recordings host - link like http://your_ip_address/generated_password/, where generated_password is a sequence you created on a previous stage Call recordings directory. So, it’s gonna be something like http://192.168.1.7/5v9MpbtUA8/; Station type - Asterisk; After you finish all the above, click “Connect”. If something went wrong, address the issue to our support team helpdesk@merionet.ru. On the next step, you have to match field name in the table with it’s actual meaning. In case of Asterisk you can leave everything as it is. At the bottom of this page click the button “Set the matches” and “Launch the Application”. Our app will redirect you to the application’s initial page. By default, administrator’s login and password are: admin/admin Known issues Application is already launched If you can’t open the app using the default link http://IP_ADDRESS:7070/#!/config, please check if it wasn’t launched before. To do so, please run the command below: ps aux | grep Merion Analyze the command output: root 4919 0.1 13.1 2120384 801784 ? Sl Dec11 19:12 java -jar MerionMonitoring-*.*.*.jar If you see something similar, you have to kill the process using it’s PID (marked with orange in output example above). So execute the following command: kill -9 4919 Check the output again: ps aux | grep Merion If the one you’ve seen before is gone, then you can try to lauch it again: cd /home/merionstat nohup java -jar MerionMonitoring-*.*.*.jar & Database on the external server If you are connecting to an external data base, you need to add some additional configuration for MySQL settings, that you’ve done in “SQL user creation”. You might need it if you install call stats app on a different server, not the one you have Asterisk installed on. In this case you need to run the following commands on the server where you have your DB (usually it’s your Asterisk server): mysql GRANT SELECT, CREATE, INSERT ON asteriskcdrdb.* TO 'interface'@'IP_адрес_интерфейса' IDENTIFIED BY ''your_password'; Where: your_password - password generated with our our tool; Call_stats_app_IP_ADDRESS - IP-address of the server where you decided to install our Call Stats Application. For example: mysql GRANT SELECT, CREATE, INSERT ON asteriskcdrdb.* TO 'interface'@'192.168.1.78' IDENTIFIED BY '6nzB0sOWzz'; Also, please check that the following ports are open: 3306 - for MySQL and MariaDB; 5432 - for PostgreSQL. Slow data loading If you are experiencing some issues with data download – it might be related to the big size of your database. We recommend to launch our app (.jar file) with some additional keys. According to the “Application launch”, run the following command: cd /home/merionstat nohup java -jar MerionMonitoring-*.*.*.jar -Xms128m -Xmx256m & Where: -Xms128m - minimal amount of RAM available for the app. In our example – it’s 128 Megabytes. -Xmx256m - maximum amount of RAM available for the app. In our example – it’s 256 Megabytes; How to send a request to our support team? If you are experiencing any technical issues with configuration of our app – we will definitely help you. We’ll need the files from /home/merionstat directory – the one where you’ve put our distro MerionMonitoring-*.*.*.jar, according to step “Directory creation for the app”. Depending on the phase where you’ve encountered any technical issues, you might have the following files there: columns_mapping.cfg configuration.properties nohup.out Please send us those files and description of your issue – we’ll try to help you. Telegram - @merion_support_bot Email - helpdesk@merionet.ru
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59