В некоторых случаях может возникнуть необходимость собрать информацию о устройствах, которые подключены к серверу Asterisk. Например, нужно получить список зарегистрированных устройств, их модели, IP-адреса и другую информацию, связанную с конфигурацией SIP-устройств. В этой статье приведены несколько команд, которые помогут вам эффективно собрать такую информацию.
1. Получение списка моделей всех зарегистрированных аппаратов
Для того чтобы увидеть модели всех зарегистрированных SIP-устройств на сервере Asterisk, можно использовать следующую команду:
Разбор команды:
asterisk -rx "sip show peers"
— эта команда выводит информацию о всех зарегистрированных SIP-устройствах.grep "OK"
— фильтрует вывод, оставляя только те устройства, которые успешно зарегистрированы.cut -f1 -d/
— извлекает имя устройства, разделяя строку по символу/
.asterisk -rx "sip show peer $a"
— выполняет запрос для каждого устройства, получая его подробную информацию.grep Useragent
— фильтрует вывод, показывая только строку с информацией о модели устройства (параметрUseragent
).
Таким образом, команда вернет список всех устройств, зарегистрированных на сервере, с их моделями, если они указаны в поле Useragent
.
2. Получение списка всех зарегистрированных SIP-экстенов с IP-адресами
Чтобы получить информацию о зарегистрированных SIP-экстенах и их IP-адресах, можно использовать следующую команду:
Разбор команды:
- Вся структура команды аналогична первой, но вместо фильтрации по
Useragent
используется фильтрация поContact
, которая выводит информацию о текущем IP-адресе устройства. - Результат команды будет содержать список всех зарегистрированных SIP-устройств с их IP-адресами.
3. Поиск телефонов по конкретной модели (например, Yealink)
Если вам нужно найти все устройства определенной модели, например, телефоны Yealink, можно использовать команду с дополнительной фильтрацией по строке Useragent
. Команда будет выглядеть так:
Разбор команды:
- В первой части команды мы получаем список всех зарегистрированных SIP-устройств.
- Для каждого устройства выполняется запрос его подробной информации (включая параметры
Useragent
иContact
). - Далее, мы фильтруем вывод по ключевым словам "Useragent" и "Contact", чтобы получить только нужную информацию.
- Используя
grep "Yealink"
, мы отфильтровываем устройства, которые соответствуют модели Yealink.
Если вам нужно искать телефоны другой модели, достаточно заменить "Yealink" на имя другой модели, например, "Grandstream", чтобы получить устройства этой марки.
Как вывести все контакты, у кого стоит определенная модель телефона?
ОтветитьУдалитьЧтобы вывести все контакты, у которых установлена определенная модель телефона, можно использовать команду с фильтрацией по Useragent. Например, если вы хотите найти все телефоны определенной модели (например, Yealink), выполните:
ОтветитьУдалитьfor a in `asterisk -rx "sip show peers" | grep "OK" | cut -f1 -d/` ; do
asterisk -rx "sip show peer $a" | grep -E "Useragent|Contact"
done | grep "Yealink"
🔹 Разбор команды:
Получаем список зарегистрированных SIP-устройств.
Для каждого устройства запрашиваем его Useragent и Contact.
Фильтруем вывод, оставляя только нужную модель (например, Yealink).
Если вам нужно искать по конкретной строке (например, модель Grandstream), просто замените "Yealink" на нужное значение.