По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
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 Доступ к голосовому ящику, который относится к номера, с которого данный код набран (прослушивание собственных записей)
img
Sudo означает SuperUser DO и используется для доступа к файлам и операциям с ограниченным доступом. По умолчанию Linux ограничивает доступ к определенным частям системы, предотвращая компрометацию конфиденциальных файлов. Команда sudo временно повышает привилегии, позволяя пользователям выполнять конфиденциальные задачи без входа в систему как пользователь root. В этом руководстве вы узнаете, как использовать команду sudo в Linux с примерами. Как использовать команду sudo Установка sudo Пакет sudo установлен в большинстве дистрибутивов Linux. Чтобы проверить есть ли у вас эта комманда введите sudo. Вы увидите справочное сообщение или сообщение о том что комнада не найдена. Чтобы установить sudo используйте для Ubuntu и Debian: apt install sudo или для CentOS и Fedora yum install sudo sudo была разработана как способ временного предоставления пользователю административных прав. Чтобы заставить ее работать, используйте sudo перед ограниченной командой, которую можно выполнить только из под рута. Тогда система запросит ваш пароль. После его ввода система запускает команду. Синтаксис sudo [команда] Опции sudo можно использовать с дополнительными параметрами: -h - отображает синтаксис и параметры команды -V - отображает текущую версию приложения sudo -v - обновить лимит времени на sudo без запуска команды -l - перечисляет права пользователя или проверяет конкретную команду -к - завершить текущие привилегии sudo Дополнительные параметры можно найти с помощью ключа -h. Примечание. Оставаться в системе как администратор ставит под угрозу безопасность сервера. Раньше администраторы использовали su (substitute user) для временного переключения на учетную запись администратора. Однако для команды su требуется вторая учетная запись пользователя и пароль, что не всегда возможно. Когда используется команда sudo, в системные журналы заносится метка времени. Пользователь может запускать команды с повышенными привилегиями в течение короткого времени (по умолчанию 15 минут). Если пользователь, не принадлежащий к sudo группе, пытается использовать команду sudo, это регистрируется как событие безопасности. Предоставление привилегий sudo Для большинства современных дистрибутивов Linux пользователь должен входить в группу sudo, sudoers или wheel, чтобы использовать команду sudo. По умолчанию однопользовательская система предоставляет своему пользователю права sudo. Система или сервер с несколькими учетными записями пользователей могут исключать некоторых пользователей из привилегий sudo. Рассмотрим как добавить пользователя в эту группу. RedHat и CentOS В Redhat и CentOS wheel группа контролирует пользователей sudo. Добавьте пользователя в группу wheel с помощью следующей команды: usermod –aG wheel [username] Замените [username] фактическим именем пользователя. Возможно, вам потребуется войти в систему как администратор или использовать команду su. Debian и Ubuntu В Debian и Ubuntu группа sudo (sudo group) контролирует пользователей sudo. Добавьте пользователя в группу sudo с помощью следующей команды: Использование visudo и группы sudoers В некоторых современных версиях Linux пользователи добавляются в файл sudoers для предоставления привилегий. Это делается с помощью команды visudo. Используйте команду visudo для редактирования файла конфигурации: sudo visudo Это откроет /etc/sudoers для редактирования. Чтобы добавить пользователя и предоставить полные права sudo, добавьте следующую строку: [username] ALL=(ALL:ALL) ALL Сохраните и выйдите из файла. Вот разбивка предоставленных привилегий sudo: [username] [any-hostname]=([run-as-username]:[run-as-groupname]) [commands-allowed] Примечание. Проще добавить пользователя в группу sudo или wheel, чтобы предоставить права sudo. Если вам нужно отредактировать файл конфигурации, делайте это только с помощью visudo. Приложение visudo предотвращает сбои, ошибки и неправильные настройки, которые могут нарушить работу вашей операционной системы. Тайм-аут пароля sudo По умолчанию sudo просит вас ввести пароль после нескольких минут бездействия. Изменить это время ожидания по умолчанию, можно отредактировав файл sudoers с помощью visudo и измените время ожидания, добавив строку как в примере, где 10 - это время ожидания, указанное в минутах: sudo visudo Defaults timestamp_timeout=10 Если вы хотите изменить время ожидания для определенного пользователя, то добавьте имя пользователя. Defaults:user_name timestamp_timeout=10 Примеры sudo в Linux Основное использование Sudo 1. Откройте окно терминала и попробуйте выполнить следующую команду: apt-get update 2. Вы должны увидеть сообщение об ошибке. У вас нет необходимых разрешений для запуска команды. 3. Попробуйте ту же команду с sudo: sudo apt-get update 4. При появлении запроса введите свой пароль. Система выполнит команду и обновит репозитории. Выполнить команду от имени другого пользователя 1. Чтобы запустить команду от имени другого пользователя, введите в терминале следующую команду: whoami 2. Система должна отображать ваше имя пользователя. Затем выполните следующую команду: sudo –u [другое_имя_пользователя] whoami 3. Введите пароль для другого пользователя, и команда whoami запустится и отобразит другого пользователя. Переключиться на root пользователя Эта команда переключает вашу командную строку на оболочку BASH от имени пользователя root: sudo bash Ваша командная строка должна измениться на: root@hostname:/home/[имя пользователя] Значение имени хоста будет сетевым именем этой системы. Имя пользователя будет текущим именем пользователя, вошедшим в систему. Выполнить предыдущие команды с помощью sudo В командной строке Linux хранятся записи о ранее выполненных командах. Доступ к этим записям можно получить, нажав стрелку вверх. Чтобы повторить последнюю команду с повышенными привилегиями, используйте: sudo !! Это также работает со старыми командами. Укажите исторический номер следующим образом: sudo !6 В этом примере повторяется 6-я запись в истории с командой sudo. Запуск нескольких команд в одной строке Соедините несколько команд вместе, разделенных точкой с запятой: sudo ls; whoami; hostname Добавить строку текста в существующий файл Добавление строки текста в файл часто используется для добавления имени репозитория программного обеспечения к исходному файлу без открытия файла для редактирования. Используйте следующий синтаксис с командами echo, sudo и tee: echo ‘string-of-text’ | sudo tee –a [path_to_file] Например: echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list Заключение Теперь вы узнали про команду sudo и про то, как ее использовать.
img
Сегодня подробно расскажем как найти практическое применение знаниям, полученным в статье про структуру asteriskcdrdb, а именно, как сделать ежедневные отчеты о входящих звонках на почту. Создание скрипта Чтобы наш .php скрипт смог подключиться к базе данных, необходимо создать пользователя, с правами, которые буду позволять ему извлекать необходимую информацию. Для этого, подключимся к нашему серверу по SSH [root@asterisk]# mysql mysql>CREATE USER ' user'@'localhost' IDENTIFIED BY 'P@ssw0rd'; На данном этапе мы создали пользователя user с паролем P@ssw0rd. Далее дадим ему необходимые права: mysql> GRANT SELECT ON asteriskcdrdb.cdr TO 'user' Создадим файл с расширением .php, в котором мы отразим подключение к нашей базе данных. Запишем эту конструкцию так: $hostname = "localhost"; //адрес хоста. Скрипт мы будем запускать на той же машине, на которой находится БД asteriskcdrdb; $username = "user"; //отражаем пользователя $password = "P@ssw0rd"; //пароль для созданного нами пользователя $dbName = "asteriskcdrdb"; //база данных, в которой хранятся необходимые нам данные $today = date('y-m-d'); // сегодняшняя дата в формате 2016-03-25 $counter = 1; // счетчик mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "); // соединиться к БД mysql_select_db($dbName) or die(mysql_error()); //выбрать базу данных. Если произойдет ошибка - вывести ее $headers = "; charset=windows-1251 "; //заголовок для письма $headers .= "From: Мерион Нетворкс <info@merionet.ru> "; $headers .= "Reply-To: info@merionet.ru "; Предположим, что все входящие звонки приходят на номер секретаря – 100. Так же мы знаем, что при звонке из города, мы видим номер звонящего, который содержит в себе больше 3 символов (пусть у нас используется трехзначная внутренняя нумерация). Наша задача сводится к формулировке запроса к таблице cdr. Добавляем к нашему .php файлу: $query = "SELECT `dst` , `src` , `duration` , `dstchannel` , `calldate` , `disposition` FROM `cdr` WHERE `calldate` >='$today 00:00:00' AND `calldate` <='$today 23:59:59' AND LENGTH( `src` ) >3 AND `dst` = '100';" ; $res=mysql_query($query) or die(mysql_error()); // Выполнить запрос. Если произойдет ошибка - вывести ее. $number = mysql_num_rows($res); // Как много нашлось строк У нас почти все готово. Осталось только обработать данные на выходе. Для этого, нам понадобится следующая конструкция: //формируем шапку нашей таблицы со значениями $mes .= ' table style="max-width: 575px;border-bottom:none; margin: 0 auto;border-spacing: inherit;"> thead> tr style="border-bottom: 2px solid #05477c;"> th style="padding:10px; color: #fff; max-width: 150px;background:#05477c;">Порядковый номер</th> th style="padding:10px; color: #fff; max-width: 150px;background:#05477c;">Дата</th> th style="padding:10px; color: #fff; max-width: 100px;background:#05477c;">От кого</th> th style="padding:10px; color: #fff; max-width: 45px;background:#05477c;">Кому</th> th style="padding:10px; color: #fff; max-width: 45px;background:#05477c;">Статус звонка</th> /tr> /thead>'; //перебираем значения ассоциативного массива. Число элементов данного массива равно числу строк на выходе sql запроса while ($row=mysql_fetch_array($res)) { $mes .= ' tbody> tr style="width: 100px;"> td style="padding:10px; border-bottom: 1px solid #eee; text-align:center;">'.$counter.'</td> td style="padding:10px; border-bottom: 1px solid #eee; text-align:center;min-width: 100px;">'. $row['calldate'].'</td> td style="padding:10px; border-bottom: 1px solid #eee; text-align:center;min-width: 100px;">'. $row['src'].'</td> td style="padding:10px; border-bottom: 1px solid #eee; text-align:center;">'.$row['dst'].'</td> td style="padding:10px; text-align:center; border-bottom: 1px solid #eee; min-width: 120px; ">'.$row['disposition'].'</td> /tr>'; $counter = $counter + 1; } Теперь, мы храним в переменной $mes html таблицу, которая готова к отправке на почту. Добавим в конец скрипта: mail("info@merionet.ru", 'Все входящие за '.$today.'', $mes, $headers); ВАЖНО! Если вы используете кириллические символы, установите кодировку .php файла на Кириллицу (windows-1251) Итак, готово. Давайте посмотрим что приходит нам на почту: Работает. Давайте сделаем ежедневное задание на отработку этого скрипта через cron. Сделаем, например, ежедневно, в 17:30, когда рабочий день подходит к концу: 30 17 * * * php /home/admin/mail_report.php Не забудьте в начала скрипта поставить открывающий тэг php, а в конце скрипта закрывающий.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59