По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Channel event logging (события на канале) – система, созданная для детального логирования телефонных событий. Система CEL позволяет пошагово отслеживать сложные сценарии вызовов, последовательно записывая их в таблицу данных. Сегодня расскажем о типах событий CEL и о содержимом таблицы ‘cel’
?
Как и обычно, подключаемся к базе данных asteriskcdrdb:
[root@asterisk]# mysql // подключаемся к MySQL
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
Смотрим содержимое таблица cel, видим поля и типы данных:
mysql> show columns from cel;
+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| eventtype | varchar(30) | NO | | NULL | |
| eventtime | datetime | NO | | NULL | |
| cid_name | varchar(80) | NO | | NULL | |
| cid_num | varchar(80) | NO | | NULL | |
| cid_ani | varchar(80) | NO | | NULL | |
| cid_rdnis | varchar(80) | NO | | NULL | |
| cid_dnid | varchar(80) | NO | | NULL | |
| exten | varchar(80) | NO | | NULL | |
| context | varchar(80) | NO | MUL | NULL | |
| channame | varchar(80) | NO | | NULL | |
| appname | varchar(80) | NO | | NULL | |
| appdata | varchar(80) | NO | | NULL | |
| amaflags | int(11) | NO | | NULL | |
| accountcode | varchar(20) | NO | | NULL | |
| uniqueid | varchar(32) | NO | MUL | NULL | |
| linkedid | varchar(32) | NO | MUL | NULL | |
| peer | varchar(80) | NO | | NULL | |
| userdeftype | varchar(255) | NO | | NULL | |
| extra | varchar(512) | NO | | NULL | |
+-------------+--------------+------+-----+---------+----------------+
20 rows in set (0.00 sec)
К описанию таблицы CEL мы вернемся чуть позже, а сейчас давайте разберем возможные события в рамках системы Channel Event Logging :
Событие
Описание
CHAN_START
Канал связи был создан
CHAN_END
Канал связи был разорван
LINKEDID_END
Канал связи с указанным ID был разорван
ANSWER
На созданном канале связи ответили на звонок. При звонке в город, данное событие генерируется когда удаленный (вызываемый абонент) поднимет трубку
HANGUP
Была повешена трубка. Как правило, это событие сразу же сопровождается событием CHAN_END. Разница в том, что HANGUP происходит когда трубка положена, а CHAN_END, когда Asterisk освободил все ресурсы, занимаемые этим каналом
APP_START
Определенное приложение было запущено для этого канала. Например, это может быть Dial, Busy или Congestion
APP_END
Указанное приложение в событие APP_START завершило свое выполнение
PARK_START
Была произведена «Парковка» вызова. Функция парковки, представляет собой определенный номер, в который помещается вызов, работу с которым, могут продолжить другие сотрудники.
PARK_END
Вызов был снят с «Парковки»
BRIDGE_START
Между двумя каналами образовалось соединение (мост). Данное событие сопровождает такие приложения, как Dial() или Queue()
BRIDGE_END
Мост между каналами был разрушен
BRIDGE_UPDATE
В соединении между каналами произошло обновление. Это события появляется тогда, например, если изменится имя или прочая канальная информация
BLINDTRANSFER
Был выполнен «слепой» (без предварительной консультации) трансфер
ATTENDEDTRANSFER
На канале был выполнен трансфер с предварительной консультацией
USER_DEFINED
Кастомное событие, которое определяется в приложении CELGenUserEvent()
В таблице выше мы перечислили основные события в рамках системы CEL. Теперь перейдем к описанию таблицы ‘cel’ в рамках базы asteriskcdrdb:
Столбец
Пример значения
Описание
eventtype
CHAN_START
Имя произошедшего события (все события описаны в таблице выше)
eventtime
2016-04-01 14:53:54
Время, в которое произошло указанное выше событие
cidname
Oleg Ivanov
Имя, передаваемое в рамках CallerID (CID), закрепленное за данным каналом
cidnum
84991111111
Номер, передаваемый в рамках CallerID (CID), закрепленный за данным каналом в рамках соответствующего события
cidani
84991111111
Automatic Number Identification (ANI), или другими словами – автоматическое определение номера на данном канале в рамках соответствующего события
cidrdnis
84991111234
Номер перенаправления на данном канале в рамках соответствующего события
ciddnid
84993456458
Набранный номер на канале в рамках соответствующего события
exten
7057
Добавочный номер, который был набран, в рамках плана нумерации
context
Local
Контекст для добавочного номера, который был набран
channame
SIP/0007B3060EB4-00000010
Имя установленного канала
appname
Dial
Название приложения, которое было выполнено
appdata
SIP/0007B3060EB4
Параметры, которые были переданы в приложении согласно плана нумерации
amaflags
DOCUMENTATION
Метка Automatic Message Accounting (AMA) – автоматический учет стоимости вызова.
accountcode
6473
Идентификатор аккаунта. Данное значение пустое по умолчанию, и определяется параметрами конкретного пользователя.
uniqueid
6547653456.18332
Уникальный идентификатор для канала
userfield
Chto ugodno
Пользовательское поле
linkedid
6547653456.18332
Данный идентификатор, позволяет связать воедино звонок по частям. Например, если одна часть звонка была входящей из города, следом был трансфер, потом еще один – у все этих вызовов будет разный uniqueid, но одинаковый linkedid
peer
SIP/0007B306054F-00000020
Название канала, к которому, который соединен (bridge) с каналом с идентификатором channame
Теперь, давайте рассмотрим как выглядит запись в таблице ‘cel’. Для этого выполним нижеследующий запрос к базе данных asteriskcdrdb:
mysql> SELECT * FROM `cel` WHERE `uniqueid` = '1459503113.15';
+------+------------+---------------------+-------------+-------------+-------------+-----------+----------+-------------+------------------+--------------------------------------------+------------+----------------------------------------------------------------------------------+----------+-------------+---------------+---------------+------+-------------+----------------------------------------------------------------------------+
| id | eventtype | eventtime | cid_name | cid_num | cid_ani | cid_rdnis | cid_dnid | exten | context | channame | appname | appdata | amaflags | accountcode | uniqueid | linkedid | peer | userdeftype | extra |
+------+------------+---------------------+-------------+-------------+-------------+-----------+----------+-------------+------------------+--------------------------------------------+------------+----------------------------------------------------------------------------------+----------+-------------+---------------+---------------+------+-------------+----------------------------------------------------------------------------+
| 2339 | CHAN_START | 2016-04-01 12:31:53 | | | | | | 89641111111 | from-internal | Local/89641111111@from-internal-00000004;2 | | | 3 | | 1459503113.15 | 1459503090.11 | | | |
| 2346 | APP_START | 2016-04-01 12:31:53 | 79252222222 | 79252222222 | 79252222222 | | | recordcheck | sub-record-check | Local/89641111111@from-internal-00000004;2 | MixMonitor | 2016/04/01/out-89641111111-79252222222-20160401-123153-1459503113.15.wav,ai(LOCA | 3 | | 1459503113.15 | 1459503090.11 | | | |
| 2347 | APP_END | 2016-04-01 12:31:53 | 79252222222 | 79252222222 | 79252222222 | | | recordcheck | sub-record-check | Local/89641111111@from-internal-00000004;2 | MixMonitor | 2016/04/01/out-89641111111-79252222222-20160401-123153-1459503113.15.wav,ai(LOCA | 3 | | 1459503113.15 | 1459503090.11 | | | |
| 2364 | HANGUP | 2016-04-01 12:32:10 | | 79252222222 | 79252222222 | | | h | from-internal | Local/89641111111@from-internal-00000004;2 | | | 3 | | 1459503113.15 | 1459503090.11 | | | {"dialstatus":"CANCEL","hangupcause":16,"hangupsource":"dialplan/builtin"} |
| 2365 | CHAN_END | 2016-04-01 12:32:10 | | 79252222222 | 79252222222 | | | h | from-internal | Local/89641111111@from-internal-00000004;2 | | | 3 | | 1459503113.15 | 1459503090.11 | | | |
+------+------------+---------------------+-------------+-------------+-------------+-----------+----------+-------------+------------------+--------------------------------------------+------------+----------------------------------------------------------------------------------+----------+-------------+---------------+---------------+------+-------------+----------------------------------------------------------------------------+
5 rows in set (0.00 sec)
В указанном выше запросе мы извлекли все содержимое таблицы ‘cel’, где поле uniqueid = 1459503113.15. Полученные данные можно обрабатывать и использовать для глубокой аналитики
Apache Cassandra — это популярное программное обеспечение базы данных NoSQL с открытым исходным кодом. Cassandra обеспечивает высокую доступность при обработке большого объема данных. Обычные реляционные базы данных не могут справиться с линейным масштабированием, бесшовным распределением данных и другими требованиями к большим данным так же эффективно, как Cassandra.
Ряд крупных игроков в онлайн-индустрии используют Apache Cassandra, такие как Netflix, Apple, Uber и eBay.
В этом руководстве мы расскажем как установить Apache Cassandra на Ubuntu Linux с необходимыми пакетами.
ШАГ 1: Установите пакеты, необходимые для Apache Cassandra
Прежде чем приступить к установке Cassandra в Ubuntu, убедитесь, что вы установили Java OpenJDK 8 и пакет api-transport-https.
Если у вас уже установлены эти пакеты, вы можете перейти к шагу 2 руководства.
Примечание. В качестве примеров мы использовали Ubuntu 20.04, но инструкции применимы и к другим версиям Ubuntu.
Установите Java OpenJDK
Apache Cassandra нуждается в OpenJDK 8 для работы в системе Ubuntu. Сначала обновите репозиторий пакетов:
sudo apt update
Когда процесс завершится, установите OpenJDK 8 с помощью следующей команды:
sudo apt install openjdk-8-jdk -y
Когда установка завершится, проверьте, успешно ли установлена Java, проверив версию Java:
java -version
На выходе должна быть показана версия Java.
Вторая цифра (8) представляет версию Java.
Установите пакет apt-transport-https
Затем установите транспортный пакет APT. Вам необходимо добавить этот пакет в свою систему, чтобы разрешить доступ к репозиториям с использованием HTTPS.
Введите эту команду:
sudo apt install apt-transport-https
В приведенном выше примере выделены последние два шага процесса установки apt-transport-https.
ШАГ 2. Добавьте репозиторий Apache Cassandra и импортируйте ключ GPG
Вам нужно добавить репозиторий Apache Cassandra и получить ключ GPG перед установкой базы данных.
Введите команду ниже, чтобы добавить репозиторий Cassandra в список источников:
sudo sh -c 'echo "deb http://www.apache.org/dist/cassandra/debian 40x main" > /etc/apt/sources.list.d/cassandra.list'
Вывод возвращается к новой строке без сообщения.
Последний крупный выпуск Cassandra на момент написания этой статьи — 4.0. Вот почему мы использовали 40 в команде. Чтобы установить более старую версию, например 3.9, замените 40x на 39x.
Затем используйте команду wget, чтобы получить открытый ключ по указанному ниже URL-адресу:
wget -q -O - https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add -
Если вы правильно ввели команду и URL-адрес, на выходе выводится сообщение «ОК».
Примечание: обратите внимание на регистр букв в URL-адресе выше. Вам нужно ввести правильный регистр и тире в конце команды.
ШАГ 3: Установите Apache Cassandra
Теперь вы готовы установить Cassandra на Ubuntu.
Обновите список пакетов репозитория:
sudo apt update
Затем запустите команду установки:
sudo apt install Cassandra
В приведенном выше выводе показан последний раздел процедуры установки Cassandra в Ubuntu 20.04. Вывод должен выглядеть аналогично в более старых версиях Ubuntu.
Примечание. После завершения установки служба Cassandra запускается автоматически. Также в процессе создается пользователь cassandra. Этот пользователь используется для запуска службы.
Проверка установки Apache Cassandra
Наконец, чтобы убедиться, что процесс установки Cassandra завершился правильно, проверьте состояние кластера:
nodetool status
Буквы UN в выводе сигнализируют о том, что кластер работает.
Вы также можете проверить статус Cassandra, введя:
sudo systemctl status cassandra
Выход должен отображаться как active (running) зеленым цветом.
Команды для запуска, остановки и перезапуска службы Cassandra
Если по какой-либо причине после установки служба показывается неактивной, вы можете запустить ее вручную.
Используйте следующую команду для запуска Cassandra:
sudo systemctl start cassandra
Еще раз проверьте статус услуги. Он должен измениться на активный.
Чтобы перезапустить службу, используйте команду перезапуска:
sudo systemctl restart cassandra
Чтобы остановить службу Cassandra, введите:
sudo systemctl stop cassandra
Статус отображается как неактивный после использования команды остановки.
Автоматически запускать службу Apache Cassandra при загрузке
Когда вы выключаете или перезагружаете систему, служба Cassandra становится неактивной.
Чтобы запустить Cassandra автоматически после загрузки, используйте следующую команду:
sudo systemctl enable cassandra
Теперь, если ваша система перезагрузится, служба Cassandra включается автоматически.
ШАГ 4. Настройка Apache Cassandra
Вы можете изменить настройки конфигурации Cassandra в зависимости от ваших требований. Конфигурации по умолчанию достаточно, если вы собираетесь использовать Cassandra на одной ноде. При использовании Cassandra в кластере вы можете настроить основные параметры с помощью файла cassandra.yaml.
Мы рекомендуем создать резервную копию файла cassandra.yaml, если вы собираетесь его редактировать. Для этого используйте эту команду:
sudo cp /etc/cassandra/cassandra.yaml /etc/cassandra/cassandra.yaml.backup
Мы использовали каталог /etc/cassandra в качестве места назначения для резервной копии, но вы можете изменить путь по своему усмотрению.
Переименовать кластер Apache Cassandra
Используйте текстовый редактор по вашему выбору, чтобы открыть файл cassandra.yaml (мы будем использовать nano):
sudo nano /etc/cassandra/cassandra.yaml
Найдите строку, которая гласит cluster_name:. Имя по умолчанию — Test Cluster. Это первое изменение, которое вы хотите сделать, когда начнете работать с Cassandra.
Если вы не хотите вносить дополнительные изменения, выйдите и сохраните файл.
Добавить IP-адреса узлов Cassandra
Еще одна вещь, которую вы должны добавить в cassandra.yaml, если вы используете кластер, — это IP-адрес каждого узла.
Откройте файл конфигурации и в разделе seed _provider найдите запись seeds
Добавьте IP-адрес каждого узла в вашем кластере. Разделите записи, используя запятую после каждого адреса.
ШАГ 5. Протестируйте оболочку командной строки Cassandra
Программный пакет Cassandra поставляется с инструментом командной строки (CLI). Этот инструмент использует язык запросов Cassandra - CQL для связи.
Чтобы запустить новую оболочку, откройте терминал и введите:
cqlsh
Загружается оболочка, показывающая подключение к кластеру по умолчанию. Если вы изменили параметр cluster_name, он покажет тот, который вы определили в файле конфигурации. В приведенном выше примере показано подключение по умолчанию к локальному хосту.
Итоги
Следуя этим простым шагам, у вас должна быть работающая установка Cassandra в вашей системе Ubuntu.
Кроме того, мы показали вам, как редактировать наиболее важные параметры в файле конфигурации Cassandra. Не забудьте сделать резервную копию файла conf на всякий случай, и вы можете начать использовать программное обеспечение базы данных Cassandra.
Узнайте больше о том, как использовать Cassandra, в нашем руководстве о том, как создавать, удалять, изменять и очищать таблицы Cassandra.
Продолжим наш рассказ о Deployment Service (DLS) в OpenScape Voice и сегодня поговорим о поиске и настройке телефонных аппаратов в DLS. В предыдущей статье мы рассказали про то, как просканировать телефоны и зарегистрировать их в DLS. Теперь нам может понадобиться найти определенный телефон среди всех остальных.
Настройка
Для этого переходим во вкладку Deployment Service → IP Devices → IP Device Management → IP Device Configuration.
Здесь нам нужно ввести критерии поиска аппарата:
IP Address – IP адрес устройства;
Device IP – MAC адрес устройства (в формате XX:XX:XX:XX:XX:XX);
Device Tylie – тип устройства;
E.164 – номер телефона на устройстве;
Basic E.164 – номер телефона в базе DLS;
SW Version – версия прошивки устройства;
SW Tylie – тип прошивки;
Reg-Address – адрес регистрации устройства;
Last Registration – время последней регистрации (за выбранный период);
Поиск можно выполнять по одному или нескольким критериям. Также можно использовать символ “*” в качестве символа подстановки. После заполнения форм нажимаем Search и нас автоматически переносит во вкладку Object с найденным телефоном. Если результатов несколько по между ними можно переключаться кнопками со стрелками внизу экрана, либо перейти во вкладку Table для отображения результатов в виде таблицы.
При помощи DLS можно производить настройку телефонного аппарата напрямую, не заходя при этом на его веб-интерфейс. Для этого нужно перейти во вкладку Deployment Service – IP Devices – IP Phone Configuration. Настройки телефонов в DLS представлены в виде ряда независимых разделов, каждый из которых отвечает за настройку определенных параметров.
В выбранном разделе производим поиск аппарата и после этого можем начинать его настройку. Для сохранения внесенных изменений нажимаем Save.