Siskin ends call if push notification received while connected (#466)
Unknown opened 4 years ago

Describe the bug If a call is received while the app is open and connected to the server, it receives the call notification over XMPP, and second via a push notification.

After the push notification is received, the app ends the call (in AppDelegate.swift around line 519).

To Reproduce Steps to reproduce the behavior:

  1. Open Siskin on iPhone
  2. Call the phone from another device (e.g. Beagle on macOS)
  3. Observe the ringing notification appear and instantly disappear
  4. The caller is not notified, and continues in "ringing" state

Expected behavior

  • The app should ignore multiple notifications for the same call (?).
  • It should ignore push notifications for calls while connected (?), as the call notification will be delivered over XMPP.
  • It should also notify the caller if it decides to end the call.

Details (please complete the following information):

  • Siskin Version: tested with Snikket iOS up to date with Siskin master (34012ea)
  • Branch: master
  • iOS version: 14.3
  • iPhone model: iPhone SE 1st gen

Additional context Commenting out the endCall resulted in a working call.

Unknown commented 4 years ago

The issue happened due to the XMPP server sending encrypted push notifications without marking them as voip. That was caused by missing part of the specification for encrypted push notifications available at https://xeps.tigase.net//docs/push-notifications/encrypt/

Now there is an updated version that clarifies what should be marked and how for notifications on incoming VoIP calls.

issue 1 of 1
Type
Bug
Issue Votes (0)
Watchers (0)
Reference
tigase/_clients/siskin-im#466
Please wait...
Page is in error, reload to recover