вторник, 20 декабря 2016 г.

Посмотреть все модели телефонов подключенные к серверу Asterisk.

В некоторых случаях может возникнуть необходимость собрать информацию о устройствах, которые подключены к серверу Asterisk. Например, нужно получить список зарегистрированных устройств, их модели, IP-адреса и другую информацию, связанную с конфигурацией SIP-устройств. В этой статье приведены несколько команд, которые помогут вам эффективно собрать такую информацию.

1. Получение списка моделей всех зарегистрированных аппаратов

Для того чтобы увидеть модели всех зарегистрированных SIP-устройств на сервере Asterisk, можно использовать следующую команду:


for a in `asterisk -rx "sip show peers" | grep "OK" | cut -f1 -d/` ; do asterisk -rx "sip show peer $a"; done | grep Useragent
Разбор команды:
  • 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-адресах, можно использовать следующую команду:


for a in `asterisk -rx "sip show peers" | grep "OK" | cut -f1 -d/` ; do asterisk -rx "sip show peer $a"; done | grep Contact
Разбор команды:
  • Вся структура команды аналогична первой, но вместо фильтрации по Useragent используется фильтрация по Contact, которая выводит информацию о текущем IP-адресе устройства.
  • Результат команды будет содержать список всех зарегистрированных SIP-устройств с их IP-адресами.

3. Поиск телефонов по конкретной модели (например, Yealink)

Если вам нужно найти все устройства определенной модели, например, телефоны Yealink, можно использовать команду с дополнительной фильтрацией по строке Useragent. Команда будет выглядеть так:


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).
  • Далее, мы фильтруем вывод по ключевым словам "Useragent" и "Contact", чтобы получить только нужную информацию.
  • Используя grep "Yealink", мы отфильтровываем устройства, которые соответствуют модели Yealink.

Если вам нужно искать телефоны другой модели, достаточно заменить "Yealink" на имя другой модели, например, "Grandstream", чтобы получить устройства этой марки.

Использование таких команд позволяет оперативно собирать информацию о зарегистрированных SIP-устройствах, моделях телефонов, IP-адресах и другой важной информации для администрирования серверов Asterisk. Эти команды помогут вам эффективно управлять сетью устройств и отслеживать их состояние.

2 комментария:

  1. Как вывести все контакты, у кого стоит определенная модель телефона?

    ОтветитьУдалить
  2. Чтобы вывести все контакты, у которых установлена определенная модель телефона, можно использовать команду с фильтрацией по 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" на нужное значение.

    ОтветитьУдалить