По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Как и любая современная АТС, Asterisk имеет свою встроенную систему хранения истории звонков - CDR (Call Detail Record). Она используется для снятия статистики, ведения отчетности, прослушивания вызовов или подсчета биллинговых показателей.
В Asterisk для этого создана база данных asteriskcdrdb, в которой существует таблица cdr. Давайте рассмотрим как пользоваться данной таблицей и ее структуру.
[root@asterisk]# mysql // подключаемся к MySQL
После успешного подключения, необходимо выбрать для работы базу данных asteriskcdrdb:
mysql> use asteriskcdrdb;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
Давайте убедимся, что у нас есть таблица cdr. Выполним это, как указано ниже:
mysql> show tables;
+-------------------------+
| Tables_in_asteriskcdrdb |
+-------------------------+
| cdr |
| cel |
+-------------------------+
2 rows in set (0.00 sec)
На данном этапе мы убедились, что у нас есть база данных asteriskcdrdb, в которой находится таблица cdr. Давайте попробуем посмотреть входящие звонки из города за сегодня (дата написания статьи 18 марта 2016 года), в период с 12:00 до 12:10, т.е за 10 минут:
SELECT `dst` , `src` , `duration` , `calldate` , `recordingfile`
FROM `cdr` WHERE `calldate` >= '2016-03-18 12:00:00' AND `calldate` <= '2016-03-18 12:10:00' AND LENGTH( `src` ) >3;
+-----+-------------+----------+---------------------+----------------------------------------------------------------+
| dst | src | duration | calldate | recordingfile |
+-----+-------------+----------+---------------------+----------------------------------------------------------------+
| 113 | 84991111111 | 140 | 2016-03-18 12:00:36 | external-113-84991111111-20160318-115933-1458291573.157155.wav |
| 104 | 89162222222 | 81 | 2016-03-18 12:01:33 | external-104-89162222222-20160318-120133-1458291693.157169.wav |
+-----+-------------+----------+---------------------+----------------------------------------------------------------+
2 rows in set (0.00 sec)
В вышеуказанном примере, в SQL запросе указано LENGTH( `src` ) >3. Столбец ‘src’ – показывает номер звонящего (source - источник). Это сделано для того, чтобы исключить внутренние звонки, так как у нас используется трехзначная нумерация. Тем самым, мы получаем в результате данные, с которыми затем можем работать. Например, отправить на почту в виде отчета. Ниже рассмотрена структура таблицы cdr в базе данных asteriskcdrdb:
Столбец
Пример значения
Описание
calldate
2016-03-18 12:00:36
Дата и время звонка
clid
"Oleg Ivanov" <84991111111>
В данное поле попадает полное CallerID (CLID, CID), которое состоит из имени и номера звонящего. Это доступно только для считывания.
src
84991111111
Номер звонящего в конструкции CallerID (CNUM). Это доступно только для считывания.
dst
113
Номер назначения для звонка. Это доступно только для считывания.
dcontext
CustomContext1
Контекст для обработки. Это доступно только для считывания.
channel
SIP/0002B2356854-a34bh3ef
Канал, через который поступил звонок
dstchannel
SIP/0004F6675969-97836bb0
Канал, через который ушел исходящий звонок
lastapp
Dial, Busy, Congestion
Приложение, которое последним отработало этот вызов перед попаданием в таблицу cdr
lastdata
SIP/0004F6675969,30,tT
Аргумент, который был передан приложению, которое отработало вызов последним (lastapp)
duration
75
Количество секунд от начала (отметка start) до окончания вызова (отметка end)
billsec
67
Количество секунд от ответа (отметка answer) до окончания вызова (отметка end). Данное значение всегда меньше значения duration, и отражает длительность самого разговора, что важно для подсчета стоимости.
disposition
ANSWERED, BUSY, NO ANSWER, FAILED
Результат звонка
amaflags
OMIT, BILLING, DOCUMENTATION, Unknown
Метка Automatic Message Accounting (AMA) – автоматический учет стоимости вызова.
accountcode
23232
Идентификатор аккаунта. Данное значение пустое по умолчанию, и определяется параметрами конкретного пользователя.
uniqueid
1458291693.157169
Уникальный идентификатор звонка
userfield
-
Пользовательское поле. Здесь можно передавать что угодно, добавляя данные в этот столбец при работе с вызовом внутри контекста обработки.
did
4996491913
DID (Direct Inward Dialing). На основании DID вызова на Asterisk осуществляется его маршрутизация (это значение приходит от провайдера).
recordingfile
external-113-84991111111-20160318-115933-1458291573.157155.wav
Имя файла, содержащего запись разговора. В данном имени можно проследить путь к файлу в файловой структуре сервера.
cnum
84991111111
Номер звонящего в структуре CallerID.
cnam
Oleg Ivanov
Имя звонящего в структуре CallerID.
Теперь, когда вы понимаете принцип формирования запросов к базе данных и ее структуру, вы можете без труда формировать собственные отчеты. Например, ежедневный отчет о количестве входящих звонков за текущий день на почту. Это реализуется средствами php скрипта и добавления расписания через cron. Поговорим об этом в следующей статье
Файл hosts в Windows, Mac или Linux сопоставляет имена хостов с IP-адресами. Редактирование файла hosts может быть полезно, если вы запускаете тесты в своей сети. Сопоставляя IP-адрес с именем сервера (или именем домена), вы можете пропустить процесс, в котором веб-браузер использует поиск сервера доменных имен (DNS) для преобразования имени домена в IP-адрес.
Из этого руководства вы узнаете, как редактировать файл hosts в Linux, Windows или Mac.
Как редактировать файл Hosts в Linux
Шаг 1: Откройте окно терминала (командная строка)
В большинстве дистрибутивов Linux терминал можно найти по пути Приложения -> Утилиты -> Терминал, или можно щелкнуть правой кнопкой мыши на рабочем столе и выбрать "Open Terminal" (Открыть терминал).
Шаг 2: Откройте файл Hosts
Чтобы открыть файл hosts в Linux, введите команду:
sudo vim /etc/hosts
Система должна запросить ваш пароль - введите его, и файл hosts должен открыться.
Шаг 3: Изменить файл
Файл hosts в Linux отформатирован таким образом, чтобы IP-адрес был первым, а имя сервера - вторым.
0.0.0.0 server.domain.com
Добавьте любые записи, которые вы хотите в конец файла. Если вы допустили ошибку или хотите, чтобы ваша операционная система проигнорировала строку, добавьте знак # в начале этой строки.
Сохраните изменеия и выходите из редактора (:wq в vim).
Шаг 4 (опциональный): Name Service
Файл hosts обходит стандартный поиск сервера доменных имен. В Linux есть еще один файл, который сообщает операционной системе, в каком порядке искать трансляции IP-адресов. Это файл nsswitch.conf. Если он настроен на просмотр DNS в первую очередь, он пропустит файл hosts и сразу перейдет к поиску DNS.
Чтобы проверить конфигурацию, введите в окне терминала:
cat /etc/nsswitch.conf
Примерно на середине должна быть запись с надписью hosts. Убедитесь, что в правом столбце в первую очередь будет слово files. Если по какой-то причине DNS указан первым, откройте файл nsswitch.conf в текстовом редакторе:
sudo vim /etc/nsswitch.conf
Для параметра hosts: измените запись так, чтобы files находились в начале записи, а dns - в конце.
Как отредактировать файл Hosts в Windows
Шаг 1: Откройте Блокнот как Администратор
Для этой операции вам потребуются права администратора.
Нажмите Пуск или кнопку Windows и введите Блокнот. Функция поиска найдет приложение «Блокнот».
Щелкните правой кнопкой мыши на приложении «Блокнот» и выберите «Запуск от имени администратора».
Должно появиться окно контроля учетных записей Windows с вопросом «Хотите ли вы, чтобы это приложение могло вносить изменения в ваше устройство?» Нажмите Да.
Шаг 2: Откройте файл Windows Hosts
В блокноте нажмите Файл -> Открыть
Перейдите к C:windowssystem32driversetc
В правом нижнем углу, чуть выше кнопки Открыть, щелкните раскрывающееся меню, чтобы изменить тип файла на Все файлы.
Выберите hosts и нажмите Открыть.
Шаг 3: Отредактируйте файл
Файл hosts дает вам краткое объяснение того, как написать новую строку. Вот краткая разбивка:
0.0.0.0 server.domain.com
Первый набор из четырех цифр - это IP-адрес, который вы мапите. Это может быть внутренний IP-адрес сервера в сети или IP-адрес веб-сайта.
Вторая часть - это имя, которое вы хотите ввести в браузере для доступа к серверу по IP-адресу, который вы только что указали.
Когда вы закончите вносить изменения, сохраните файл (Файл -> Сохранить) и выйдите.
Вы можете указать Windows игнорировать любую строку, поставив знак # в начале этой строки.
# 0.0.0.0 server.domain.com
Как редактировать файл Hosts на Mac
Шаг 1: Откройте терминал Mac
Откройте Finder и перейдите в Приложения -> Утилиты -> Терминал и введите следующее:
sudo nano /private/etc/hosts
Система должна попросить вас ввести пароль - это тот же пароль, который вы используете для входа в систему. Введите его и нажмите Enter.
Шаг 2. Редактирование файла Hosts
Тут IP-адрес идет первым, а имя сервера - вторым. Комментарии отмечены знаком #. Рассмотрим пример ниже:
0.0.0.0 server.domain.com
Сначала введите IP-адрес, на который вы хотите сослаться, пробел, а затем имя сервера (или доменное имя), которое вы хотите связать с ним.
Сохраните изменения, нажав Command + O, затем выйдите, нажав Command + X.
Сегодня в статье я хочу затронуть вопрос удаленного включения RDP, он же удаленный рабочий стол. Все хоть раз пользовались этой незаменимой фичей, а кто-то использует ее для администрирования на ежедневной основе.
По умолчанию, на серверных платформах Windows удаленное управление (WinRM) включено, но функция удаленного рабочего стола выключена, а на десктопной версии обе функции выключены по умолчанию, поэтому, для выполнения описанного ниже, в начале придется включить WinRM на десктопе.
Итак, перейдем к методам - далее описаны непосредственно способы включения и отключения RDP (входит и замечательно выходит!)
Метод номер один: командная строка
Для включения удаленного рабочего стола (RDP) через командную строку, выполните следующее:
Запустите командную строку от имени администратора;
Выполните следующую команду:
Reg add “\computernameHKLMSYSTEMCurentControlSetControlTerminal Server” /v fDenyTSConnections /t REG_DWORD /d /f
В свою очередь, чтобы выключить RDP через командную строку, следуйте следующим шагам:
Запустите командную строку;
Выполните команду:
Reg add “\computernameHKLM SYSTEMCurentControlSetControlTerminal Server” /v fDenyTSConnections /t REG_DWORD /d 1 /f
Метод номер два: используем PowerShell
Для того, чтобы включить RDP через PowerShell, выполните следующие действия:
Способ 1: Для включения удаленного рабочего стола:
Запустите PowerShell от имени администратора;
Запустите следующую команду и используйте метод Invoke-Command:
Invoke-Command –Computername “server1”, “Server2” –ScriptBlock {Set-ItemProperty -Path "HKLM:SystemCurrentControlSetControlTerminal Server" -Name "fDenyTSConnections" –Value }
Далее введите команду:
Invoke-Command –Computername “server1”, “Server2” –ScriptBlock {Enable-NetFirewallRule -DisplayGroup "Remote Desktop"}
И, как традиция, обратные шаги:
Запускаем PowerShell от имени админа;
Вводим команду:
Invoke-Command –Computername “server1”, “Server2” –ScriptBlock {Set-ItemProperty -Path "HKLM:SystemCurrentControlSetControlTerminal Server" -Name "fDenyTSConnections" –Value 1}
Второй способ включения через PowerShell:
Запускаем PowerShell от имени админа и создаем PowerShell сессию с нужным компьютером;
Введите команду:
Set-ItemProperty -Path "HKLM:SystemCurrentControlSetControlTerminal Server" -Name "fDenyTSConnections" –Value
И следующую команду:
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
Чтобы выключить:
Повторяем первые два шага из предыдущего пункта (про повершелл и сессию);
Вводим команду:
Set-ItemProperty -Path "HKLM:SystemCurrentControlSetControlTerminal Server" -Name "fDenyTSConnections" –Value 1
Важно: Computername - это имя компьютера, на котором будет включен RDP.
Важно: Включение удаленного рабочего стола через командную строку не настроит фаервол с точки зрения использования правильных портов для того, чтобы разрешить RDP подключения.
Важно: По умолчанию, только локальные Администраторы и пользователь, который уже вошел в систему, смогут использовать RDP.
И в заключение
На этом все, надеюсь, было полезно! И помните, если вы даете кому-нибудь доступ по RDP на компьютер в вашей сети, это несет в себе риски - вы должны быть уверены в человеке, который будет заходить по RDP и в том, что доступ дан через защищенный канал связи!