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

Мониторинг состояния GSM шлюза по SNMP

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

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

  1. Установили у себя пакет snmp утилит, например, netsnmp.
  2. Скачали и скопировали наши MIB файлы в директорию, где они должны у Вас находиться.
  3. Подгрузили наши MIB файлы, например, установкой переменной окружения: 'setenv MIBS KTSGSM-MIB'.
  4. Настроили у себя на шлюзе доступ для SNMP с Вашего сервера, на котором производиться мониторинг.
  5. Предположим, что шлюз имеет ip адрес по умолчанию: 192.168.1.100 , и "Read-Only Community Name" установлено в 'private'.

Теперь, чтобы проверить работает ли получение информации, о работе VoIP части шлюза, выполним команду:

snmpwalk -Os -c private -v1 192.168.1.100 KTSGSM-MIB::ktsGsm

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

ktsGsmVersionString.0 = STRING: GSM Gateway v3.0.0
ktsGsmVersionTag.0 = Gauge32: 30000
ktsGsmNumChannels.0 = Gauge32: 4
ktsGsmChanIndex.1 = INTEGER: 1
ktsGsmChanIndex.2 = INTEGER: 2
ktsGsmChanIndex.3 = INTEGER: 3
ktsGsmChanIndex.4 = INTEGER: 4
ktsGsmChanPresent.1 = INTEGER: true(1)
ktsGsmChanPresent.2 = INTEGER: true(1)
ktsGsmChanPresent.3 = INTEGER: true(1)
ktsGsmChanPresent.4 = INTEGER: true(1)
ktsGsmChanEnabled.1 = INTEGER: true(1)
ktsGsmChanEnabled.2 = INTEGER: true(1)
ktsGsmChanEnabled.3 = INTEGER: true(1)
ktsGsmChanEnabled.4 = INTEGER: true(1)
ktsGsmGsmRegTag.1 = INTEGER: gsmRegistered(1)
ktsGsmGsmRegTag.2 = INTEGER: gsmRegistered(1)
ktsGsmGsmRegTag.3 = INTEGER: gsmRegistered(1)
ktsGsmGsmRegTag.4 = INTEGER: gsmRegistered(1)
ktsGsmGsmRegString.1 = STRING: GSM Registered (home)
ktsGsmGsmRegString.2 = STRING: GSM Registered (home)
ktsGsmGsmRegString.3 = STRING: GSM Registered (home)
ktsGsmGsmRegString.4 = STRING: GSM Registered (home)
ktsGsmGsmLAC.1 = STRING: 0x4EF8
ktsGsmGsmLAC.2 = STRING: 0x4EF8
ktsGsmGsmLAC.3 = STRING: 0x4EF8
ktsGsmGsmLAC.4 = STRING: 0x4EF8
ktsGsmGsmCI.1 = STRING: 0x1140
ktsGsmGsmCI.2 = STRING: 0x1140
ktsGsmGsmCI.3 = STRING: 0x1140
ktsGsmGsmCI.4 = STRING: 0x1140
ktsGsmGsmOp.1 = STRING: ECC
ktsGsmGsmOp.2 = STRING: ECC
ktsGsmGsmOp.3 = STRING: ECC
ktsGsmGsmOp.4 = STRING: ECC
ktsGsmGsmSig.1 = STRING: -77 dbm
ktsGsmGsmSig.2 = STRING: -85 dbm
ktsGsmGsmSig.3 = STRING: -90 dbm
ktsGsmGsmSig.4 = STRING: -92 dbm
ktsGsmIMEI.1 = STRING: 355000040131525
ktsGsmIMEI.2 = STRING: 355000040476724
ktsGsmIMEI.3 = STRING: 355000000474521
ktsGsmIMEI.4 = STRING: 355000000136924
ktsGsmMrev.1 = STRING: 10.00.184-B006
ktsGsmMrev.2 = STRING: 10.00.184-B006
ktsGsmMrev.3 = STRING: 10.00.184-B006
ktsGsmMrev.4 = STRING: 10.00.184-B006
ktsGsmPinStatus.1 = INTEGER: pinReady(0)
ktsGsmPinStatus.2 = INTEGER: pinReady(0)
ktsGsmPinStatus.3 = INTEGER: pinReady(0)
ktsGsmPinStatus.4 = INTEGER: pinReady(0)
ktsGsmSIPReg.1 = INTEGER: true(1)
ktsGsmSIPReg.2 = INTEGER: true(1)
ktsGsmSIPReg.3 = INTEGER: true(1)
ktsGsmSIPReg.4 = INTEGER: true(1)
ktsGsmSIPPort.1 = INTEGER: 5061
ktsGsmSIPPort.2 = INTEGER: 5062
ktsGsmSIPPort.3 = INTEGER: 5063
ktsGsmSIPPort.4 = INTEGER: 5064
ktsGsmSIPId.1 = STRING: sip:0001@192.168.1.1:5060
ktsGsmSIPId.2 = STRING: sip:0002@192.168.1.1:5060
ktsGsmSIPId.3 = STRING: sip:0003@192.168.1.1:5060
ktsGsmSIPId.4 = STRING: sip:0004@192.168.1.1:5060
ktsGsmSIPRegUri.1 = STRING: sip:192.168.1.1:5060?transport=udp
ktsGsmSIPRegUri.2 = STRING: sip:192.168.1.1:5060?transport=udp
ktsGsmSIPRegUri.3 = STRING: sip:192.168.1.1:5060?transport=udp
ktsGsmSIPRegUri.4 = STRING: sip:192.168.1.1:5060?transport=udp
ktsGsmChanStatus.1 = STRING: IDLE
ktsGsmChanStatus.2 = STRING: IDLE
ktsGsmChanStatus.3 = STRING: IDLE
ktsGsmChanStatus.4 = STRING: IDLE
ktsGsmCallLimit.1 = INTEGER: 0
ktsGsmCallLimit.2 = INTEGER: 0
ktsGsmCallLimit.3 = INTEGER: 0
ktsGsmCallLimit.4 = INTEGER: 0
ktsGsmTotalDuration.1 = INTEGER: 0
ktsGsmTotalDuration.2 = INTEGER: 0
ktsGsmTotalDuration.3 = INTEGER: 0
ktsGsmTotalDuration.4 = INTEGER: 0
End of MIB

Рассмотрим подробно все параметры.

  • ktsGsmVersionString.0 и ktsGsmVersionTag.0: это собственно, текстовое и числовое представление версии шлюза.
  • ktsGsmNumChannels.0: максимальное количество каналов для данной модели шлюза (в данном случае 4). Числовое значение.
  • ktsGsmChanIndex.{номер канала} = {индекс канала} - Соответствие номера канала и индекса канала в OID. Обычно они всегда равны и можно предполагать, что индекс и номер канала - это одно и тоже.
    Каналы нумеруются с единицы. Числовое значение.
  • ktsGsmChanPresent.{индекс канала}: true(1) - если канал присутствует в шлюзе и false(2) - если нет.
  • ktsGsmChanEnabled.{индекс канала}: true(1) - если канал включен в веб интерфейсе и false(2) - если нет.
  • ktsGsmGsmRegTag.{индекс канала}: числовое представление регистрации канала в сети GSM.
    Возможные значения:
    • 0 - gsmNotRegistered(0): канал не зарегистрирован в GSM сети.
    • 1 - gsmRegistered(1): канал зарегистрирован в домашней GSM сети.
    • 2 - gsmSearching(2): канал находиться в поиске подходящей GSM сети.
    • 3 - gsmDenied(3): канал заблокирован GSM сотой.
    • 4 - gsmUnknown(4): канал находиться в неизвестном состоянии.
    • 5 - gsmRouming(5): канал зарегистрирован в GSM роуминге.
  • ktsGsmGsmRegString.{индекс канала}: строка с состоянием регистрации в GSM сети.
  • ktsGsmGsmLAC.{индекс канала}: Строка с Local Area Code соты, на которой произведена GSM регистрация (0x0000 - если нет регистрации).
  • ktsGsmGsmCI.{индекс канала}: Строка с идентификатором соты, на которой произведена GSM регистрация (0x0000 - если нет регистрации).
  • ktsGsmGsmOp.{индекс канала}: Строка с названием или кодом оператора, на соте которого произведена GSM регистрация (Unknown - если нет регистрации).
  • ktsGsmGsmSig.{индекс канала}: Строка с уровнем принимаемого сигнала с соты, на которой произведена регистрация (-999 dbm - если нет регистрации).
  • ktsGsmIMEI.{индекс канала}: Строка с IMEI GSM модема.
  • ktsGsmMrev.{индекс канала}: Строка с ревизией firmware GSM модема.
  • ktsGsmPinStatus.{индекс канала}: числовое представление инициализации SIM карты.
    Возможные значения:
    • 0 - pinReady(0): SIM карта инициализирована и PIN (если нужен) успешно принят.
    • 1 - pinNeedPIN(1): SIM карта требует ввода PIN кода.
    • 2 - pinSIMEmpty(2): SIM карта не найдена в SIM холдере.
    • 3 - pinNeedPUK(3): SIM карта требует ввода PUK кода.
    • 4 - pinNeedPIN2(4): SIM карта требует ввода PIN2 кода.
    • 5 - pinNeedPUK2(5): SIM карта требует ввода PUK2 кода.
    • 99 - pinUnknown(99): SIM карта находиться в неизвестном состоянии.
  • ktsGsmSIPReg.{индекс канала}: Состояние SIP регистрации. true(1) - успешно зарегистрированы на SIP сервере. false(2) - неудачная или выключенная SIP регистрация.
  • ktsGsmSIPPort.{индекс канала}: Числовое значение локального UDP порта шлюза для SIP сигнализации канала.
  • ktsGsmSIPId.{индекс канала}: Строка с URL регистрации на SIP сервере.
  • ktsGsmSIPRegUri.{индекс канала}: Строка с URL сервера, на котором производиться регистрация и через который производиться вызовы.
  • ktsGsmChanStatus.{индекс канала}: Строка с состоянием канала.
    Возможные значения:
    • 'IDLE': канал в отключенном состоянии. Отсутствие вызовов через канал.
    • 'CALLING': Поступление вызова.
    • 'INCOMING': Принято сообщение INVITE (попытка установки соединения).
    • 'EARLY': Предответное состояние канала.
    • 'CONNECTING': Соединение установлено. (после приема/отправки SIP сообщения 2xx)
    • 'CONFIRMED': Установка соединения подтверждена (SIP сообщением ACK)
    • 'DISCONNCTD': Соединение завершено.
  • ktsGsmCallLimit.{индекс канала}: Числовое значение в секундах для лимита на исходящую связь для канала.
  • ktsGsmTotalDuration.{индекс канала}: Числовое значение в секундах для общей продолжительности входящих вызовов из GSM для канала.

Теперь, если у нас на канале происходит Вызов, то, например, для первого канала появиться дополнительные поля.
Пример отрывка вывода snmpwalk в этом случае:

------------
ktsGsmChanStatus.1 = STRING: CONFIRMED
ktsGsmCallDirection.1 = INTEGER: sipToGsm(1)
ktsGsmLocalContact.1 = STRING:
ktsGsmRemoteContact.1 = STRING:
ktsGsmChanCodec.1 = STRING: PCMU
ktsGsmCallDuration.1 = Timeticks: (200) 0:00:02.00
------------

Мы видим, что в ktsGsmChanStatus.1 указано 'CONFIRMED', это означает, что соединение установлено.
Рассмотрим подробно дополнительные поля для этого случая:

  • ktsGsmCallDirection.{индекс канала}: = Числовое представление направления вызова.
    Возможные значения:
    • 0 - gsmToSip(0): Вызов производиться из GSM сети в SIP.
    • 1 - sipToGsm(1): Вызов производиться из сети SIP в GSM.
    • 99 - unknown(99): Направление вызова неизвестно. (ошибка вызова).
  • ktsGsmLocalContact.{индекс канала}:
    • Если ktsGsmCallDirection == sipToGsm(1) (Вызов из SIP в GSM): Строка с SIP URL вызываемого GSM абонента (тот кому звоним в GSM)
      Пример: sip:8XXXXXXXXXX@192.168.1.100
    • Если ktsGsmCallDirection == gsmToSip(0) (Вызов из GSM в SIP): Строка с SIP URL вызывающего из GSM абонента и его CallerID.
      Пример: "+7921XXXXXXX" sip:+7921XXXXXXX@192.168.1.1:5060
  • ktsGsmRemoteContact.{индекс канала}:
    • Если ktsGsmCallDirection == sipToGsm(1) (Вызов из SIP в GSM): Строка с SIP URL вызывающего SIP абонента (инициатора вызова)
      Пример: sip:300@192.168.1.1
    • Если ktsGsmCallDirection == gsmToSip(0) (Вызов из GSM в SIP): Строка с SIP URL вызываемого SIP абонента (кому звоним через SIP)
      Пример: sip:300@192.168.1.1
  • ktsGsmChanCodec.{индекс канала}: = Строка с абривиатурой голосового кодека, который используется для RTP.
  • ktsGsmCallDuration.{индекс канала}: Временная метка продолжительности вызова в момент запроса по SNMP.


Ссылки:

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

Автор: KTS

Дата: вторник, 04 октября 2011

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