По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Одной из основных составляющих IP – PBX на базе Asterisk являются SIP – транки в сторону провайдера и оконечные телефонные аппараты, или как их принято называть «пиры» (peers). Сегодня мы расскажем о способе автоматизации мониторинга состояния транков и пиров, с отправлением на почту системного администратора. Мониторинг пиров Итак, начнем с мониторинга состояния пиров. Для этого мы напишем небольшой bash – скрипт. Предположим, что у нас есть 3 площадки, А, B и C. АТС Asterisk находится на площадке A. Предварительно, перед началом работы, создадим 2 файлы: первый – для логов нашего скрипта, а второй, будет служебным, и будет использоваться только в рамках исполнения скрипта. Внутри каждого скрипта, мы будем писать комментарии к каждой из его строк. Скачать скрипт мониторинга пиров вы можете по ссылке ниже: Скачать скрипт мониторинга пиров [root@asteriskpbx]# touch /home/admin/log_mail.txt [root@asteriskpbx]# touch /home/admin/message.txt Далее, создаем переменные для нашего скрипта: #!/bin/sh LOGSIZE=`ls -l /home/admin/log_mail.txt | awk '{ print $5 }'` //проверяем размер файла с логами problempeers=`/usr/sbin/asterisk -rx 'sip show peers' | grep UNKNOWN` //выводим командой 'sip show peers' через консоль Asterisk, и затем, с помощью команды grep UNKNOWN фильтруем пиры, чтобы отобразить только те, состояние которых является UNKNOWN GWB=`ping -c4 11.22.33.44 | grep 'received' | awk -F',' '{ print $2}' | awk '{ print $1}'` //по протоколу ICMP, пингуем IP – адрес шлюза на удаленной площадке четырьмя пакетами. Если все ОК, и шлюз доступен, до значение переменной будет равно 4. В противном случае, оно будет равно 0. GWC=`ping -c4 44.33.22.11 | grep 'received' | awk -F',' '{ print $2}' | awk '{ print $1}'` //аналогичным образом пингуем шлюз на площадке C ResultB="" //служебная переменная ResultC="" //служебная переменная FILENAME=/home/admin/message.txt //записываем в переменную путь к лог- файлам LOGFILE=/home/admin/log_mail.txt DATE="`date +%d.%m.%Y" "%H:%M:%S`" //выводим текущую дату и время в формате дд.мм.гггг чч:мм:сс echo "$problempeers" > /home/admin/message.txt //записываем содержимое переменной problempeers в служебный файл. В этой переменной содержится результат вывода команды по статусу пиров. FILESIZE=$(stat -c%s "$FILENAME") //проверяем размер служебного файла message.txt. Если в нем есть какая-либо информация, значит есть проблемы с пирами (имеются в статусе UNKNOWN), если он пустой, то все ОК. На этом этапе, мы сформировали все необходимые переменные и у нас имеются все необходимые для формирования письма (если надо) на email системному администратору. Перейдем к исполнительной части скрипта: if [ $GWB -eq 0 ]; then //если число ответов шлюза на площадке B на пинг равно 0, то запускаем процесс формирования письма ResultB ="на площадке B НЕ ДОСТУПЕН!" //формируем часть текста. Мы ее включим в заголовок письма else ResultB ="" //если все таки шлюз ответил на пинг, то оставляем переменную пустой fi if [ $GWС -eq 0 ]; then //если число ответов шлюза на площадке С на пинг равно 0, то запускаем процесс формирования письма ResultС="на площадке С НЕ ДОСТУПЕН!" //по аналогии. Указываем в заголовок, что роутер C недоступен else ResultС ="" //если все ОК, то оставляем переменную пустой fi if [ $FILESIZE -ne 1 ]; then //если наш служебный файл message.txt не пустой, то проверяем следующее условие if [ $GWB -eq 0 ] || [ $GWC -eq 0 ]; then //если хотябы один из роутеров недоступен по пинг, то переходим к следующему пункту скрипта echo "$problempeers"| mailx -s "Проблемы с SIP пирами | Роутер $ResultB $ResultC!" -r "info@merionet.ru" youremail@some.ru </home/admin/message.txt && //отправляем на почту письмо, где указываем, что у нас есть проблемы с пирами, и, если какой-то из роутеров не доступен, указываем это. В теле письма мы отправляем вывод недоступных пиров. echo "FAIL :: $DATE :: Some problems with phones" >> "$LOGFILE" //параллельно с отправкой письма, записываем в лог файл запись, что у нас есть проблемы с пирами (в вывод так же можно добавить с какими именно) else echo "$problempeers"| mailx -s "Проблемы с SIP пирами | Роутеры ДОСТУПНЫ!" -r "info@merionet.ru" youremail@some.ru < /home/admin/message.txt && //если оба наших роутера доступны, то мы просто формируем письмо, в котором указываем перечень недоступных пиров. echo "FAIL :: $DATE :: Some problems with phones" >> "$LOGFILE" //аналогично вносим запись в лог – файл. fi else echo "OK :: $DATE :: all phones are OK" >> "$LOGFILE" //если служебный файл пустой, то мы вносим запись в лог – файл что все хорошо и проверка успешно прошла. fi if [ $LOGSIZE -ge 150000 ]; then //елси размер нашего лог – файла больше или равен 150 КБ, то мы очищаем этого (можете подкрутить эту величину, как вам угодно.) cat /dev/null > /home/admin/log_mail.txt fi cat /dev/null > /home/admin/message.txt //на выходе чисти служебный файл message.txt, для последующего использования Теперь давайте проверим, что приходит нам на почту в случае, если несколько пиров стали недоступны, но все роутеры доступны: Мониторинг транков Отлично, перейдем к формированию скрипта по мониторингу транков. Здесь все несколько проще, и мы просто будем сравнивать общее количество транков, и количество зарегистрированных транков: Скачать сам скрипт можете ниже: Скачать скрипт мониторинга транков #!/bin/bash ALLTRUNKSMINIMUM="`/usr/sbin/asterisk -rx "sip show registry"`" //выводим регистрации по протоколу SIP ALLTRUNKS=`echo "$ALLTRUNKSMINIMUM" |grep "SIP registrations" |awk '{print $1}'` //численное обозначение всех имеющихся транков REGTRUNKS=`/usr/sbin/asterisk -rx "sip show registry" |grep Registered |wc -l` //численное обозначение всех зарегистрированных транков DATE="`date +%d.%m.%Y" "%H:%M:%S`" //формируем текущую дату, для логов LOGFILE=/home/admin/log_mail.txt //для лог – файла, указываем тот же файл, что и для скрипта по мониторингу пиров if [ "$REGTRUNKS" -lt "$ALLTRUNKS" ]; then //если число зарегистрированных транков меньше чем число всех транков sleep 5 //ждем 5 секунд echo `/usr/sbin/asterisk -rx "sip reload"` \ перезагружаем модуль SIP, в целях перерегистрации. Эта команда автоматически перерегистрирует транк на оборудовании провайдера, после чего, он, зачастую, начинает работать. sleep 5 //ждем еще 5 секунд VAR=`/usr/sbin/asterisk -rx "sip show registry"` //после перезагрузки SIP модуля, снова смотрим SIP –регистрации. Если данная команда не дала своих результатов, то в переменной VAR будет записаны не работающие транки. Если она помогла, то на email админу придет рабочий вывод всех зарегистрированных транков. Это весьма удобно. echo "$VAR"| mailx -s "Мониторинг транков" -r "info@merionet.ru" youremail@some.ru // отправляем письмо на почту системного администратора, с выводом SIP регистраций после перезагрузки модуля else echo "OK :: $DATE :: all trunks are OK" >> "$LOGFILE" //если число зарегистрированных транков, равно общему числу, то записываем в лога файл соответствующую запись. fi Теперь, когда мы автоматизировали процессы мониторинга состояния на Asterisk, сделаем выполнение этих скриптов регулярным. Сохраним наши скрипты в формате .sh, можно сделать это, например, в Notepad ++. Сделаем выполнение мониторинг транков раз в 2 минуты, а выполнение мониторинга пиров раз в 10 минут. Перед загрузкой скриптов на сервер, дадим им необходимые права и, что очень важно, преобразуем скрипт в Linux формат: [root@asteriskpbx]# dos2unix peer.sh //преобразуем скрипт для мониторинга пиров [root@asteriskpbx]# dos2unix trunk.sh //преобразуем скрипт для мониторинга транков [root@asteriskpbx]# chmod 777 peer.sh //дадим необходимые права обоим скриптам [root@asteriskpbx]# chmod 777 trunk.sh [root@asteriskpbx]# crontab -e В открывшемся cron, задаем задачи для выполнения наших скриптов: */10 * * * * /bin/bash /home/peer.sh >/dev/null //исполнять файл раз в 10 минут */2 * * * * /bin/bash /home/trunk.sh >/dev/null //исполнять файл раз в 2 минуты Вот и все. Теперь мы имеет достаточно простой, но порой очень нужный и эффективный мониторинг состояния транков и пиров на нашем Asterisk
img
Начиная с ISE 2.2, PassiveID - это функция для сбора информации о сопоставлении пользователя с IP-адресом с развертыванием 802.1 X или без него. PassiveID собирает информацию из среды Microsoft AD с помощью MWMI или агента AD, а также через порт SPAN на коммутаторе. Он также может собирать аутентификационную информацию через syslogs, агент сервера терминалов Citrix и пользовательский API. Конфигурация очень проста и требует всего лишь нескольких щелчков мыши. Прежде всего, включите службу PassiveID. Перейдите Администрирование → Система → Развертываниеи измените узел сервера политики. Выберите пункт "Включить Пассивную Службу Идентификации" и нажмите кнопку "Сохранить". Вы можете проверить состояние PassiveID процессов с помощью команды: Теперь можно добавить источник провайдера. Перейдите в раздел Рабочие Центры → PassiveID → Провайдеры и нажмите кнопку "Добавить". Примечание: есть и другие поставщики, такие как агенты, SPAN, syslog и так далее. В этой статье будет использоваться только подключение к Active directory. Помните: прежде чем добавлять Active directory, вы должны: Убедитесь, что вы правильно настроили DNS-сервер, включая настройку обратного поиска для клиентской машины из ISE. Синхронизируйте настройки часов для серверов NTP. Скомпилируйте "Добавить имя точки" и "Active Directory Domain", а затем нажмите на кнопку "Применить". Появится всплывающее окно. Нажмите кнопку "Да". Введите учетные данные для AD и нажмите кнопку "ОК". Примечание: убедитесь, что у вас есть учетные данные администратора домена Active Directory, необходимые для внесения изменений в любую из конфигураций домена AD. Выберите меню PassiveID справа и нажмите на кнопку "Добавить DCs". Появится всплывающее окно. Выберите ваш хост DC и нажмите кнопку "ОК". Выберите только что отмеченный домен и нажмите кнопку "Редактировать". Появится всплывающее окно. Введите данные (имя пользователя и пароль) в поля Username/Password и нажмите кнопку "Сохранить". Выберите домен и нажмите на кнопку "Config WMI", чтобы инициировать подключение WMI. Через несколько секунд всплывающее окно возвращает результат: Как только регистрация пройдет нормально, ISE начнет отслеживать в AD события входа в систему Windows. Чтобы просмотреть краткую сводку информации о PassiveID, нажмите на ссылку "Dashboard". Чтобы просмотреть любой сеанс, полученный с помощью PassiveID, нажмите на ссылку "PassiveID", и кликните по ссылке "Live Sessions". Примечание: если вы настроили RADIUS, вы увидите эти сеансы, а также те, которые были изучены с помощью PassiveID. Сеансы, созданные с помощью PassiveID, будут иметь опцию "Show Actions" (синий) вместо "Show CoA Actions" (красный). А теперь, что мы можем сделать? PassiveID является вехой для других двух функций Cisco ISE: Easyconnect: он обеспечивает аутентификацию на основе портов, аналогичную 802.1 X, но более простую в реализации. Он узнает о проверке подлинности из Active Directory и обеспечивает отслеживание сеансов для активных сетевых сеансов. PxGrid: он позволяет совместно использовать контекстно-зависимую информацию из каталога сеансов Cisco ISE с другими сетевыми системами; он также может использоваться для обмена данными политики и конфигурации между узлами, такими как совместное использование тегов и объектов политики между Cisco ISE и сторонними поставщиками, а также для других обменов информацией
img
Сегодня рассказываем про стандартный набор сервисных кодов в FreePBX 13. Спросите, почему стандартный? Потому что ваша сборка FreePBX может иметь более широкий от стандартного диапазона набор модулей, каждый из которых будет иметь свой собственный набор сервисных кодов (Feature Codes). Ну что же, давайте начнем разбираться. Для того, чтобы найти все сервисные коды на вашей IP - АТС Asterisk, перейдите в вкладку Admin -> Feature Codes Коды создания черного списка Ранее мы рассказывали про настройку черного списка в FreePBX 13 и поведали о возможностях его настройки. Вот как его настроить с помощью сервисных кодов: Название Код Описание Blacklist a number *30 Добавить новый номер в черный список. Все звонящие с заблокированных номеров будут слышать соответствующую аудио – запись. Blacklist the last caller *32 Добавить последнего звонящего на IP – АТС в черный список Remove a number from the blacklist *31 Удаление номера из черного списка. Номер вводится вручную Коды перенаправления вызова Название Код Описание Call Forward All Activate *72 Перенаправлять все поступающие на внутренний номер на другой номер. Call Forward All Deactivate *73 Выключить перенаправление вызовов. Call Forward All Prompting Activate *93 Запрашивает у звонящего ввести номер, на котором необходимо включить перенаправление вызовов. Call Forward All Prompting Deactivate *74 Запрашивает у звонящего ввести номер, на котором необходимо отключить перенаправление вызовов Call Forward Busy Activate *90 Включает функцию перенаправления вызовов, если вызываемый номер занят. Call Forward Busy Deactivate *91 Отключает функцию перенаправления вызовов, если вызываемый номер занят. Call Forward Busy Prompting Activate *94 Запрашивает ввести номер, на котором необходимо включить перенаправление вызов по результату «Занято» Call Forward Busy Prompting Deactivate *92 Запрашивает ввести номер, на котором необходимо отключить перенаправление вызов по результату «Занято» Call Forward No Answer/Unavailable Activate *52 Активирует перенаправление вызовов в случае, если пользователь недоступен или не отвечает на вызов Call Forward No Answer/Unavailable Deactivate *53 Деактивирует перенаправление вызовов в случае, если пользователь недоступен или не отвечает на вызов Call Forward No Answer/Unavailable Prompting Activate *95 Запрашивает ввести номер, на котором необходимо подключить перенаправление вызовов по не ответу или недоступности Call Forward Toggle *96 Включает или выключает режим перенаправления вызовов. Первый вызов на *96 выключит функцию, а второй включит. И так далее. Коды ожидания вызова Название Код Описание Call Waiting - Activate *70 Данная функция позволяет настроить прием вызова, даже если абонент уже находится в состоянии разговора. Данная опция поддерживается только на телефонных аппаратах, на которых есть возможность принятия нескольких вызовов. Call Waiting - Deactivate *71 Отключает указанный ваше функционал Коды ядра системы (core) Название Код Описание Asterisk General Call Pickup *8 Наберите данные сервисных код чтобы перехватить вызов, звонящий на другом телефоне Чтобы данная функция сработала, убедитесь: - На звонящем телефоне должен быть настроен Call Group в настройках внутреннего номера. - На номере, с которого вы хотите перехватить вызов, должно быть настроено поле Pickup Group в настройках номера. ChanSpy 555 Очень – очень удобная функция ? Позволяет слушать разговоры сотрудников, при этом, давая подсказки абоненту своей сети, которые не услышит звонящий из города. Это удобно, если вы обучаете нового сотрудника, и, при его общении с клиентом хотите подсказать ему какие-то нюансы в режиме реального времени Directed Call Pickup ** Наберите сервисных код данной функции, а затем внутренний номер, с которого вы хотите перехватить вызов. Функция позволяет перехватывать вызовы с даже номеров, у которых не настроены общие Call Group и Pickup Group In-Call Asterisk Attended Transfer *2 Данная фича позволяет совершить консультативный трансфер вызова, т.е трансфер, при котором оператор изначально дозванивается до абонента, на которого необходимо перевести вызов, говорит с ним, а затем уже соединяет звонящего с этим абонентом. In-Call Asterisk Blind Transfer ## Наберите данный код, чтобы осуществить «слепой», то трансфер, без предварительной консультации. In-Call Asterisk Disconnect Code ** Моментальный сброс входящего звонка. In-Call Asterisk Toggle Call Recording *1 По факту, данный сервисный код активирует запись звонка «по требованию». В мире, данный вид записи известен как On Demand или Prerecording. Запись по требованию означает то, что по умолчанию, вызов не записывается, но, если появляется необходимость записать разговор, достаточно просто нажать указанный сервисный код. Simulate Incoming Call 7777 IP – АТС Asterisk производит тестовый входящий вызов на внутренний номер User Logoff *12 Этот код позволяет разлогиниваться пользователю с телефона. Данная опция доступна только если АТС настроена для использования Device & User Mode. User Logon *11 Позволяет произвести логин пользователю в случае, который описан выше ZapBarge 888 Данный код позволяет пользователю мониторить аудио на драйверах интерфейса Е1, то есть на Zaptel или Dahdi драйверах. Коды управления режимом «Не беспокоить (DND)» Название Код Описание DND Activate *78 Данный сервисный код ставит внутренний номер в состояние «Не беспокоить» (Do Not Disturb). Это означает, что все звонящие на номер абоненты будут либо слышать сигнал занято, либо будут отправлены на голосовую почту. DND Deactivate *79 Выключает режим DND на номере DND Toggle *76 Включает/выключает возможность активации DND для внутреннего номера Прочие коды Call Flow Control Данный код позволяет управлять настройками в модуле Call Flow Control Dictate Название Код Описание Email completed dictation *35 Данный код позволяет записать сообщение и отправить его в виде вложения на электронную почту, следуя подсказкам автоинформатора. Perform dictation *34 Запись голоса, затем ввод имени для файла и сохранение его в файловой структуре IP - АТС Follow Me Название Код Описание Findme Follow Toggle *21 Код позволяет включать или выключать настройки Follow Me для внутреннего номера. Информационные сервисы Название Код Описание Call Trace *69 Система озвучивает CallerID последнего звонящего на данный внутренний номер. Echo Test *43 Данная функция используется для проверки качества связи, в том числе микрофона, динамика аппарата и так далее. Speak Your Exten Number *65 Система произносит настроенный на используемом телефонном аппарате внутренний номер. Speaking Clock *60 Система произносит текущее серверное время. Функции Paging (пейджинга) и Intercom (интеркома) Название Код Описание Intercom prefix *80 Данная функция необходимо для того, чтобы вместо обычного набора на номер, вы не дожидались гудков, а с помощью громкоговорителя произнесли сообщение. Вот пример, как это работает: Пользователь набирает данный сервисный код, а следом за ним внутренний номер. Далее, все последующие звонки на этот номер будут сразу приниматься без участия вызываемого абонента и по громкой связи звонящий сможет произнести свое сообщение. User Intercom Allow *54 Включить прием сообщений по интеркому (громкая связь, как описано выше). User Intercom Disallow *55 Отключает указанную выше функцию. Парковка вызова Название Код Описание Pickup ParkedCall Prefix *85 Когда администратор сконфигурировал слот для «парковки» (Parking) вызова, пользователь может «припарковать» этот вызов путем трансфера на номер паркинга – по умолчанию, это номер 70. Даже если данный слот занят, в настройка модуля Parking можно обозначить количество возможных слотов. Система автоматически запаркует вызов на доступный слот и произнесет его номер. Данный сервисный код как раз и отвечает за поднятие вызова с парковочного слота. Очереди Название Код Описание Allow Dynamic Members of a Queue to login or logout. See the Queues Module for how to assign a Dynamic Member to a Queue. *45 Данная опция позволяет динамическим участниками очередь подключаться и отключаться от нее Playback Queue Caller Count *47 Проговорить количество человек, находящихся в очереди Queue Pause Toggle *46 Взять паузу в очереди и не принимать вызовы. Повторная активация вернет пользователя в очередь. Временные условия (Time Conditions) Указанный сервисный код, а по умолчанию это *27 позволяет управлять настройками временного условия. В рамках системы для каждого нового Time Condition генерируется собственный сервисный код, который имеет формат *27X, где X – это номер временного условия. Голосовая почта (Voicemail) Название Код Описание Dial Voicemail *98 Набрав этот сервисный код будет предложено ввести номер голосового ящика и прослушать его. My Voicemail *97 Доступ к голосовому ящику, который относится к номера, с которого данный код набран (прослушивание собственных записей)
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59