Вопросы и ответы
16.11.2018
A. Специально для вас записан ролик в котором подробно описывается процесс приема и отправки sms сообщений через шлюзы семейства KTS4/KTS8 ...
10.04.2018
A. Для того чтобы обновить время на шлюзе через командную строку web броузера и при этом не заходя на сам шлюз вам надо выполнить команду: ...
Использование SNMP trap на GSM шлюзах компании KTS

......

Использование SNMP trap на GSM шлюзах компании KTS

В этой статье описывается то, какую информацию можно получать посредством SNMP trap с GSM шлюзов компании KTS.

Предположим, что Вы выполнили следующие действия:

  1. Установили у себя пакет snmp утилит, например, netsnmp.
  2. Скачали и скопировали наши MIB файлы в директорию, где они должны у Вас находиться.
  3. Подгрузили наши MIB файлы, например, установкой переменной окружения: 'setenv MIBS KTSGSM-MIB'.
  4. Включили отправку SNMP, установили галочки в пунктах:
    • Enable SNMP traps
    • Send trap if GSM registration changed
    • Send trap if channel status changed
    • Send trap if new SMS received
  5. Предположим, что Ваш сервер имеет ip адрес 192.168.1.1 и использует стандартный порт для приема snmp trap - 162, и Вы установили в поле Trap Destination, веб интерфейса шлюза, адрес: '192.168.1.1:162'
  6. Предположим, что для приема SNMP trap используется comunity name 'private' и Вы установили это значение в поле Trap Community name веб интерфейса шлюза.

Теперь, чтобы проверить работает ли получение snmp trap необходимо настроить и запустить snmptrapd на Вашем сервере. Для простого протоколирования принимаемых snmp trap в syslog, сделаем следующее:

  • Создадим конфигурационный файл для snmptrapd с единственной строкой:
    authCommunity log private
  • Запустим snmptrapd руками с подгрузкой MIB компании KTS:
    snmptrapd -m +KTSGSM-MIB

 Теперь на сервере, где у нас запущен snmptrapd посмотрим, что будет туда писать snmptrapd при приходе SNMNP trap с GSM шлюза.
 Для этого просто будем смотреть содержимое файла /var/log/messages, например, командой:
tail -f /var/log/messages | grep snmptrapd


SNMP trap при изменении GSM регистрации канала

 При загрузке шлюза и регистрации его в GSM сети, должны появиться сообщения о получении snmp trap с Вашего GSM шлюза:

192.168.1.1 snmptrapd[22186]: [UDP: [192.168.1.100]:3073]: Trap , DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (6080) 0:01:00.80, SNMPv2-MIB::snmpTrapOID.0 = OID: KTS-MIB::ktsGsmRegAlarmTrap, KTS-MIB::ktsLParam1 = INTEGER: 1, KTS-MIB::ktsSParam1 = STRING: GSM Registered (home), KTS-MIB::ktsSParam2 = STRING: 0x4CF8, KTS-MIB::ktsSParam3 = STRING: 0x0B1B, KTS-MIB::ktsTrapDesc = STRING: Gsm registration change alarm, KTS-MIB::ktsTrapId = INTEGER: 1


192.168.1.1 snmptrapd[22186]: [UDP: [192.168.1.100]:3073]: Trap , DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (6339) 0:01:03.39, SNMPv2-MIB::snmpTrapOID.0 = OID: KTS-MIB::ktsGsmRegAlarmTrap, KTS-MIB::ktsLParam1 = INTEGER: 2, KTS-MIB::ktsSParam1 = STRING: GSM Searching for new operator.., KTS-MIB::ktsTrapDesc = STRING: Gsm registration change alarm, KTS-MIB::ktsTrapId = INTEGER: 1


192.168.1.1 snmptrapd[22186]: [UDP: [192.168.1.100]:3073]: Trap , DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (7654) 0:01:16.54, SNMPv2-MIB::snmpTrapOID.0 = OID: KTS-MIB::ktsGsmRegAlarmTrap, KTS-MIB::ktsLParam1 = INTEGER: 1, KTS-MIB::ktsSParam1 = STRING: GSM Registered (home), KTS-MIB::ktsSParam2 = STRING: 0x4CF8, KTS-MIB::ktsSParam3 = STRING: 0x0B1B, KTS-MIB::ktsTrapDesc = STRING: Gsm registration change alarm, KTS-MIB::ktsTrapId = INTEGER: 1


Рассмотрим подробно, то что мы получили.


Из лога видно, что получен snmp trap с хоста с адресом 192.168.1.100, т.е. с GSM шлюза.
Это сообщение имеет дополнительные параметры. Рассмотрим их по отдельности:
  • DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (6080) 0:01:00.80
    Это стандартное SNMP trap поле, которое присутствует во всех SNMP tap сообщениях, содержащее в себе значения uptime системы, пославшей это сообщение.
  • SNMPv2-MIB::snmpTrapOID.0 = OID: KTS-MIB::ktsGsmRegAlarmTrap
    Это идентификатор SNMP trap. Он определяет, что за событие случилось.
    На данный момент события могут быть следующими:
    • ktsGsmRegAlarmTrap: Изменение в состоянии GSM регистрации канала.
    • ktsGsmChStatAlarmTrap: Изменение в состоянии канала.
    • ktsGsmSMSAlarmTrap: Событие по приходу нового SMS сообщения.
  • KTS-MIB::ktsLParam1 = INTEGER: 1
    Числовое дополнительно поле. Для этого типа события указывает состояние регистрации канала в GSM сети.
    Возможные значения:
    • 0: Отсутствие GSM регистрации.
    • 1: Канал зарегистрирован в домашней GSM сети.
    • 2: Производиться поиск GSM сети.
    • 3: Сеть заблокировала GSM регистрацию.
    • 4: Состояние GSM регистрации неизвестно.
    • 5: Канал зарегистрирован в роуминге.
  • KTS-MIB::ktsSParam1 = STRING: GSM Registered (home)
    Строковое дополнительное поле. Для этого типа события описывает состояние регистрации в читаемом формате.
  • KTS-MIB::ktsSParam2 = STRING: 0x4CF8
    Строковое дополнительное поле. Для этого типа события содержит Local Area Code (LAC) базовой станции, на которой произведена регистрация.
    Поле присутствует, только в том случае, если сообщение информирует об успешной регистрации в GSM сети. (Т.е., если ktsLParam1 равен 1 или 5.)
  • KTS-MIB::ktsSParam3 = STRING: 0x0B1B
    Строковое дополнительное поле. Для этого типа события содержит CI базовой станции, на которой произведена регистрация.
    Поле присутствует, только в том случае, если сообщение информирует об успешной регистрации в GSM сети. (Т.е., если ktsLParam1 равен 1 или 5.)
  • KTS-MIB::ktsTrapDesc = STRING: Gsm registration change alarm
    Это строковое поле всегда кратко описывает каждое SNMP trap сообщение.
  • KTS-MIB::ktsTrapId = INTEGER: 1
    Это числовое поле всегда указывает номер канала, с которым связано данное сообщение (Каналы нумеруются с единицы). В случае, если событие имеет общий характер (не связанное с каким-то конкретным каналом), то это значение может быть равно либо нулю либо 255.

SNMP trap при получении нового SMS сообщения

Если на Ваш шлюз придет новое SMS сообщение, должно появиться сообщения о получении snmp trap с Вашего GSM шлюза:

192.168.1.1 snmptrapd[22186]: [UDP: [192.168.1.100]:3073]: Trap , DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (16789) 0:02:47.89, SNMPv2-MIB::snmpTrapOID.0 = OID: KTS-MIB::ktsGsmSMSAlarmTrap, KTS-MIB::ktsLParam1 = INTEGER: 0, KTS-MIB::ktsSParam1 = STRING: 07919712999090F0040B919700000000F90008110150412385610E041F0440043E043204350440043A, KTS-MIB::ktsTrapDesc = STRING: SMS incomming event alarm, KTS-MIB::ktsTrapId = INTEGER: 1


Рассмотрим подробно, то что мы получили, пропуская то, что мы уже описали выше.


  • SNMPv2-MIB::snmpTrapOID.0 = OID: KTS-MIB::ktsGsmSMSAlarmTrap
    Идентификатор SNMP trap - событие по приходу нового SMS сообщения.
  • KTS-MIB::ktsLParam1 = INTEGER: 0
    Числовое дополнительно поле. Для этого типа события указывает тип принятого SMS сообщения:
    • 0: Обычное SMS сообщение.
    • 1: Broadcast SMS сообщение.
    • 2: SMS сообщение типа 'delivery report'.
    • 99: Неизвестный тип SMS сообщения.
  • KTS-MIB::ktsSParam1 = STRING: 07919712999090F0040B919700000000F90008110150412385610E041F0440043E043204350440043A
    Строковое дополнительное поле. Для этого типа события содержит PDU принятого SMS сообщения. Вы должны самостоятельно обрабатывать PDU, если желаете, или можете воспользоваться отправкой SMS на email или веб интерфейсом для расшифровки SMS сообщения в читаемый формат.
  • KTS-MIB::ktsTrapDesc = STRING: SMS incomming event alarm
    Это строковое поле всегда кратко описывает каждое SNMP trap сообщение.
  • KTS-MIB::ktsTrapId = INTEGER: 1
    Номер канала, по которому было получено SMS сообщение.

SNMP trap при изменении состояния канала

Если через Ваш шлюз производиться голосовой вызов, должны появиться сообщения о получении snmp trap с Вашего GSM шлюза (рассмотрим все сообщения принимаемые при совершении вызова из SIP в GSM):

192.168.1.1 snmptrapd[22186]: [UDP: [192.168.1.100]:3073]: Trap , DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (10208) 0:01:42.08, SNMPv2-MIB::snmpTrapOID.0 = OID: KTS-MIB::ktsGsmChStatAlarmTrap, KTS-MIB::ktsLParam1 = INTEGER: 2, KTS-MIB::ktsLParam2 = INTEGER: 1, KTS-MIB::ktsLParam3 = INTEGER: 0, KTS-MIB::ktsLParam4 = INTEGER: 0, KTS-MIB::ktsSParam1 = STRING: "300" <sip:300@192.168.1.1>, KTS-MIB::ktsSParam2 = STRING: <sip:8XXXXXXXXXX@192.168.1.100>, KTS-MIB::ktsSParam3 = STRING: INCOMING, KTS-MIB::ktsTrapDesc = STRING: Channel state change event alarm, KTS-MIB::ktsTrapId = INTEGER: 1


192.168.1.1 snmptrapd[22186]: [UDP: [192.168.1.100]:3073]: Trap , DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (10211) 0:01:42.11, SNMPv2-MIB::snmpTrapOID.0 = OID: KTS-MIB::ktsGsmChStatAlarmTrap, KTS-MIB::ktsLParam1 = INTEGER: 3, KTS-MIB::ktsLParam2 = INTEGER: 1, KTS-MIB::ktsLParam3 = INTEGER: 0, KTS-MIB::ktsLParam4 = INTEGER: 183, KTS-MIB::ktsSParam1 = STRING: "300" <sip:300@192.168.1.1>, KTS-MIB::ktsSParam2 = STRING: <sip:8XXXXXXXXXX@192.168.1.100>, KTS-MIB::ktsSParam3 = STRING: EARLY, KTS-MIB::ktsSParam4 = STRING: Session Progress, KTS-MIB::ktsTrapDesc = STRING: Channel state change event alarm, KTS-MIB::ktsTrapId = INTEGER: 1


192.168.1.1 snmptrapd[22186]: [UDP: [192.168.1.100]:3073]: Trap , DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (11323) 0:01:53.23, SNMPv2-MIB::snmpTrapOID.0 = OID: KTS-MIB::ktsGsmChStatAlarmTrap, KTS-MIB::ktsLParam1 = INTEGER: 4, KTS-MIB::ktsLParam2 = INTEGER: 1, KTS-MIB::ktsLParam3 = INTEGER: 0, KTS-MIB::ktsLParam4 = INTEGER: 200, KTS-MIB::ktsSParam1 = STRING: "300" <sip:300@192.168.1.1>, KTS-MIB::ktsSParam2 = STRING: <sip:8XXXXXXXXXX@192.168.1.100>, KTS-MIB::ktsSParam3 = STRING: CONNECTING, KTS-MIB::ktsSParam4 = STRING: OK, KTS-MIB::ktsTrapDesc = STRING: Channel state change event alarm, KTS-MIB::ktsTrapId = INTEGER: 1


192.168.1.1 snmptrapd[22186]: [UDP: [192.168.1.100]:3073]: Trap , DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (11324) 0:01:53.24, SNMPv2-MIB::snmpTrapOID.0 = OID: KTS-MIB::ktsGsmChStatAlarmTrap, KTS-MIB::ktsLParam1 = INTEGER: 5, KTS-MIB::ktsLParam2 = INTEGER: 1, KTS-MIB::ktsLParam3 = INTEGER: 0, KTS-MIB::ktsLParam4 = INTEGER: 200, KTS-MIB::ktsSParam1 = STRING: "300" <sip:300@192.168.1.1>, KTS-MIB::ktsSParam2 = STRING: <sip:8XXXXXXXXXX@192.168.1.100>, KTS-MIB::ktsSParam3 = STRING: CONFIRMED, KTS-MIB::ktsSParam4 = STRING: OK, KTS-MIB::ktsTrapDesc = STRING: Channel state change event alarm, KTS-MIB::ktsTrapId = INTEGER: 1


192.168.1.1 snmptrapd[22186]: [UDP: [192.168.1.100]:3073]: Trap , DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (11582) 0:01:55.82, SNMPv2-MIB::snmpTrapOID.0 = OID: KTS-MIB::ktsGsmChStatAlarmTrap, KTS-MIB::ktsLParam1 = INTEGER: 6, KTS-MIB::ktsLParam2 = INTEGER: 1, KTS-MIB::ktsLParam3 = INTEGER: 2, KTS-MIB::ktsLParam4 = INTEGER: 200, KTS-MIB::ktsSParam1 = STRING: "300" <sip:300@192.168.1.1>, KTS-MIB::ktsSParam2 = STRING: <sip:8XXXXXXXXXX@192.168.1.100>, KTS-MIB::ktsSParam3 = STRING: DISCONNCTD, KTS-MIB::ktsSParam4 = STRING: Normal call clearing, KTS-MIB::ktsTrapDesc = STRING: Channel state change event alarm, KTS-MIB::ktsTrapId = INTEGER: 1


Рассмотрим подробно, то что мы получили, пропуская то, что мы уже описали выше, на примере изменения в пред ответное состояние.


  • SNMPv2-MIB::snmpTrapOID.0 = OID: KTS-MIB::ktsGsmChStatAlarmTrap
    Идентификатор SNMP trap - изменение в состоянии канала.
  • KTS-MIB::ktsLParam1 = INTEGER: 3
    Числовое дополнительно поле. Для этого типа события указывает новое состояние канала.
    Возможные значения:
    • 1: Новое состояние канала - поступил вызов.
    • 2: Новое состояние канала - принято сообщение INVITE (попытка установки соединения).
    • 3: Новое состояние канала - предответное состояние канала.
    • 4: Новое состояние канала - соединение установлено. (после приема/отправки SIP сообщения 2xx)
    • 5: Новое состояние канала - установка соединения подтверждена (SIP сообщением ACK)
    • 6: Новое состояние канала - соединение завершено.
  • KTS-MIB::ktsLParam2 = INTEGER: 1
    Числовое дополнительно поле. Для этого типа события указывает направление вызова. (из SIP в GSM или из GSM в SIP).
    Возможные значения:
    • 0: Вызов из GSM в SIP
    • 1: Вызов из SIP в GSM
  • KTS-MIB::ktsLParam3 = INTEGER: 0
    Числовое дополнительно поле. Для этого типа события указывает продолжительность вызова в секундах, если событие указывает на завершение вызова на канале или оно равно нулю в остальных случаях.
  • KTS-MIB::ktsLParam4 = INTEGER: 183
    Числовое дополнительно поле. Для этого типа события содержит последний принятый код в ответном SIP сообщении.
  • KTS-MIB::ktsSParam1 = STRING: "300" <sip:300@192.168.1.1>
    Строковое дополнительное поле. Для этого типа события содержит SIP remote URI.
  • KTS-MIB::ktsSParam2 = STRING: <sip:8XXXXXXXXXX@192.168.1.100>
    Строковое дополнительное поле. Для этого типа события содержит SIP local URI.
  • KTS-MIB::ktsSParam3 = STRING: EARLY
    Строковое дополнительное поле. Для этого типа события содержит текстовое описание нового статуса канала. Возможные значения:
    • CALLING: Новое состояние канала - поступил вызов.
    • INCOMING: Новое состояние канала - принято сообщение INVITE (попытка установки соединения).
    • EARLY: Новое состояние канала - предответное состояние канала.
    • CONNECTING: Новое состояние канала - соединение установлено. (после приема/отправки SIP сообщения 2xx)
    • CONFIRMED: Новое состояние канала - установка соединения подтверждена (SIP сообщением ACK)
    • DISCONNCTD: Новое состояние канала - соединение завершено.
  • KTS-MIB::ktsSParam4 = STRING: Session Progress
    Строковое дополнительное поле. Для этого типа события содержит текст из статуса последнего принятого ответного SIP сообщения.
  • KTS-MIB::ktsTrapDesc = STRING: Channel state change event alarm
    Это строковое поле всегда кратко описывает каждое SNMP trap сообщение.
  • KTS-MIB::ktsTrapId = INTEGER: 1
    Номер канала, состояние которого изменилось.

Ссылки:

Просмотров: 3827

Автор: KTS

Дата: среда, 05 октября 2011

Copyright © 2004-2022
voipgsm.ru
rate@Mail.ru