Начинка GSM контроллера CCU825.

GSM контроллер CCU825. Исходящий телефонный вызов

В GSM контроллере CCU825 версии 2.15 появилась новая важная опция: «Длительность звонка пробуждения μGuard» . Опция появилась как ответ на иногда возникающие проблемы с исходящим вызовом на смартфон для пробуждения μGuard.

Пример проблемы:

Вы настроили CCU825 оповещать о событиях через μGuard используя Интернет, но вам постоянно приходят с контроллера СМС’ки пожирая деньги на балансе… Вы проверили все настройки, убедились что порядок оповещения настроен верно, но контроллер настойчиво шлёт СМС.

Если вы узнаёте свою проблему, то эта статья для вас!

Принцип взаимодействия uGuard с CCU825 через Интернет

Прежде чем приступить к описанию причины проблемы, вспомним как μGuard взаимодействует с CCU через Интернет:

  1. GSM контроллер CCU, в случае возникновения какого либо события, совершает исходящий телефонный звонок на смартфон с μGuard.
  2. В процессе исходящего вызова, сотовый оператор отправляет на GSM контроллер признак того, что соединение с телефоном установлено и скоро телефон зазвенит.
  3. Контроллер ждет 3 секунды и сбрасывает вызов. В нормальной ситуации, 3 секунды достаточно, что бы на телефоне с μGuard успел прозвонить один звонок.
  4. μGuard видит этот звонок и понимает, что его вызывает CCU в связи с неким тревожным событием. μGuard обращается к CCU через Интернет и получает с него данные.
  5. Получив данные, μGuard оповещает вас о произошедших событиях.

Это всё нормальная работа μGuard и GSM контроллера CCU825, но, как всегда есть НО!

Причина проблемы

Выше, в пункте 2, я указал, что — «…сотовый оператор отправляет на GSM контроллер признак того, что соединение с телефоном установлено и скоро телефон зазвенит».

Так вот, бывает такое, что сотовый оператор отправляет признак что соединение с телефоном установлено, но на самом деле, соединение ещё не установлено! CCU видя, что соединение якобы установлено, ждёт 3 секунды и сбрасывает вызов. До телефона с μGuard вызов не доходит! GSM контроллер ещё несколько раз пытается повторить исходящий вызов и в финале, понимая, что дозвониться до телефона не может, а доставить оповещение нужно, отправляет СМС.

Кого интересуют технические детали, смотрите под спойлером.

Технические детали
Если в процессе исходящего вызов посмотреть трассировку GSM модема в CCU, то увидим примерно следующее:

13-09-2017, 16:30:01 > AT+QAUDCH=0;+QSIDET=0;+QMIC=0,4;D+79031234567;
13-09-2017, 16:30:01 > +CLCC: 1,0,2,0,0,"+79031234567",145
13-09-2017, 16:30:02 > +CLCC: 1,0,2,0,0,"+79031234567",145
13-09-2017, 16:30:03 > +CLCC: 1,0,2,0,0,"+79031234567",145
13-09-2017, 16:30:03 > +CLCC: 1,0,3,0,0,"+79031234567",145
13-09-2017, 16:30:04 > +CLCC: 1,0,3,0,0,"+79031234567",145
13-09-2017, 16:30:04 > +CLCC: 1,0,3,0,0,"+79031234567",145
13-09-2017, 16:30:04 > +CLCC: 1,0,3,0,0,"+79031234567",145
  • Первая строчка это модем набирает телефон который нужно оповестить.
  • CLCC: 1,0,2,0,0 — это ответ сети (сотового оператора) о процессе установления соединения. 2 — это признак того, что идёт процесс набор номера (Dial). В этот момент ваш смартфон ищут в сотовой сети, прокладывают до вас маршрут и т.д. Данный процесс занимает несколько секунд.
  • CLCC: 1,0,3,0,0 — теперь 2, стала 3 (Alert). 3 это как раз признак того, что с вашим телефоном установлено соединение и он звенит (звенит смартфон обычно не сразу, а с некоторой паузой, по этому CCU ждёт 3 сек).

Так вот, реально, телефон в этот момент не звенит, вызов на него ещё не поступил, всё ещё идёт процесс соединения! Почему сотовый оператор посылает 3 (Alert) неизвестно, да и неважно, повлиять мы на это не можем! Нам нужно решить проблему своими силами.

Сначала я грешил на свой GSM репитер установленный в деревне, но после его выключения, понял, что проблема осталась.

В большинстве случаев всё хорошо, оператор работает как положено, но в некоторых регионах бывают проблемы. Вероятно неверно настроено оборудование у оператора.

Решение проблемы

Используя опцию «Длительность звонка пробуждения μGuard» мы можем установить время в секундах, в течении которого CCU будет совершать исходящий вызов и ждать, что бы разбудить μGuard.

CCU825: Длительность звонка пробуждения μGuard
CCU825: Длительность звонка пробуждения μGuard

Мне пришлось вместо 3 сек (по умолчанию) установить 10 сек!

Вам будет необходимо экспериментальным методом подобрать подходящее для вас значение и добиться дозвона в 100% случаях.

Тестировать дозвон можно с помощью кнопки «Генерировать тестовое сообщение».

Ссылки

Андрей Торженов

В профессиональной сфере занимаюсь всем, что связанно с IT. Основная специализация - VoIP и сети передачи данных. Стараюсь не заниматься Windows серверами (но иногда приходится) и 1С.

Добавить комментарий