telephony/WakeupDevices

Долговременные регистрации SIP-устройств, ожидающих push-уведомлений для пробуждения и SIP-регистрации.

Используется сервисом B2B при регистрации и вызовах, сервисом MWARE — для размещения служебного контакта push-relay в Registrar. Создание и обновление — при SIP-регистрации мобильного приложения, передающего в Contact параметры push (RFC 8599) и идентификатор устройства:

Contact: <sip:...;pn-provider=apns;pn-param=7RBDZ62MF9.ru.era-platform.mobile.voip;pn-prid=966b8e...4f61>;reg-id=1;+sip.instance="<urn:uuid:3ea39328-...>"
  • pn-provider — push-сервис, поле type;

  • pn-param — приложение, поле app;

  • pn-prid — токен экземпляра приложения, поле token;

  • +sip.instance — идентификатор устройства, поле instance.

Удаление — при logout устройства (снятие регистрации без pn-prid), подтвержденном push-сервисом отсутствии экземпляра приложения, серии временных неудач push или по истечении времени жизни.

Подробнее о работе и настройке сервиса пробуждения SIP-устройств в статье settings.wakeup_device_options.

Тип хранилища: runtime.

Table 1. Поля класса
Поле Описание

id

Идентификатор. Хеш от username и instance.

instance

Идентификатор устройства: параметр +sip.instance из Contact без кавычек и угловых скобок, в нижнем регистре. Не меняется при смене токена.

type

Push-сервис, параметр pn-provider из Contact. Определяет модуль отправки и секцию настроек. Возможные варианты:

  • "fcm" (обычно Android);

  • "apns" (обычно iOS).

app

Приложение, параметр pn-param из Contact. Ключ записи в секции настроек: для fcm — имя приложения, для apns — <TeamID>.<Topic>.

token

Токен экземпляра приложения на устройстве, параметр pn-prid из Contact (декодированный). Обновляется при каждой SIP-регистрации.

username

Username SIP-аккаунта, с которым связана эта wakeup-регистрация. Заполняется во время SIP-регистрации.

registerTime

Время последней перезаписи записи при SIP-регистрации (см. ts).

ua

User-Agent устройства.

ts

Таймштамп последней перезаписи записи при SIP-регистрации, от него отсчитывается ttl. Запись перезаписывается при SIP-регистрации, если изменились данные устройства, были неудачи push или с прошлого обновления прошло более суток (повторные регистрации без изменений запись не перезаписывают).

ttl

Время жизни в секундах от момента последней перезаписи (ts). Используется для автоматического удаления wakeup-регистрации.

failureTime

Время наиболее давнего неудачного пуш-уведомления с момента последней перезаписи при SIP-регистрации или успешного пробуждения. Используется для принятия решения о досрочном прекращении wakeup-регистрации.

failureCount

Количество неудачных пуш-уведомлений с момента последней перезаписи при SIP-регистрации или успешного пробуждения. Используется для принятия решения о досрочном прекращении wakeup-регистрации.