Как Linphone поддерживает push-уведомления на Android / iOS

Меня интересуют push-уведомления APNS и GCM для SIP VoIP на iOS и Android соответственно.

Похоже, что Linphone может поддерживать GCM в соответствии с разрешением «Получать данные из Интернета» своего приложения для Android, и, вероятно, как APNS, так и GCM, согласно http://www.linphone.org/eng/features/:

Интеграция с push-уведомлением (требуется совместимый SIP-сервер)

  • Что значит «совместимый SIP-сервер»?

  • Как мне узнать, совместим ли данный SIP-сервер?

  • Есть ли такие серверы с открытым исходным кодом?

  • Все ли это ограничено собственными серверами Linphone?

Я спрашиваю об этом в StackOverflow, поскольку меня это интересует с точки зрения разработчика.


person cnst    schedule 25.01.2014    source источник
comment
ты найдешь ответ?   -  person M.Movaffagh    schedule 04.08.2014
comment
@Mimad, нет, не совсем   -  person cnst    schedule 04.08.2014
comment
@cnst получил ответ?   -  person Usama Sadiq    schedule 27.06.2017


Ответы (2)


1) Совместимый SIP-сервер означает SIP-сервер, который поддерживает «позднее форк», то есть сервер, который может разветвлять приглашение при регистрации устройства, даже если устройство не было зарегистрировано во время отправки приглашения. (Это необходимо, потому что, если вы используете стратегию push-уведомлений для мобильных приложений VoIP в соответствии с требованиями iOS 10 и выше, мобильное устройство не будет зарегистрировано до тех пор, пока устройство не получит push, а push будет отправлено одновременно с приглашением)

2) Спросите администратора сервера, или, если это не вариант, попробуйте отменить регистрацию устройства, позвонить, перерегистрировать устройство и посмотреть, приходит ли приглашение.

3a) У Камиллио есть модуль под названием TSILO, который поддерживает поздний форк. здесь - это видео, в котором оба объясняет, что такое стратегия push-уведомлений и как реализовать ее в Kamillio с помощью TSILO

3b) Linphone имеет прокси-сервер с открытым исходным кодом, который называется Flexisip, который поддерживает позднее форкинг и может использоваться поверх вашего текущего сервера, если он не поддерживает поздний форк. Flexisip можно установить на вашем собственном сервере или на облачной платформе. Как и Linphone, Flexisip имеет двойную лицензию, бесплатную AGPL или коммерческую лицензию.

4) Нет, это не ограничивается только собственными серверами Linphone.

Имейте в виду, что сервер по-прежнему должен отправлять push-уведомление во время приглашения (если вы используете Flexisip и правильно его настроили, Flexisip позаботится об отправке push-уведомления).

person user8127814    schedule 29.01.2018

Согласно ответу @ user8127814:

Я не думаю, что Linphone совместим с другими серверами, поддерживающими "позднее форкование". Служба push требует уникального идентификатора для каждого устройства, что означает, что вам нужно передать это через протокол SIP. Linphone отправляет его (называемый идентификатором устройства в push-сервисе iOS, имя может отличаться в разных push-сервисах) в заголовке контакта, и он не является частью обычных стандартов SIP. Это означает, что сервер должен быть спроектирован так, чтобы распознавать эти параметры для поддержки функции push, как и Flexisip. Поправьте меня если я ошибаюсь.

person steven    schedule 29.04.2019
comment
Вы правы, но я не понимаю одного. Нужна ли нам повторная регистрация, даже если мы используем push-уведомление - person Pulkit; 14.06.2019
comment
@Pulkit В этом случае да. Вы должны отправить повторную регистрацию, как только придет push, иначе вы не сможете получить ПРИГЛАШЕНИЕ. Одно из важных значений этой перерегистрации - открыть порты, чтобы INVITE мог проходить через NAT. Само push-уведомление не несет никакой полезной нагрузки SIP. Это не требует согласования SIP. - person steven; 14.06.2019
comment
Извините за то, что не ответил до сих пор. Push-уведомление для SIP теперь является стандартом RFC tools.ietf.org/html/rfc8599. Я думаю, что Linphone поддерживает это, но я не уверен. - person user8127814; 02.07.2020
comment
Кроме того, если вы используете LibLinphone, вы можете настроить собственный заголовок для отправки идентификатора устройства. - person user8127814; 02.07.2020