Post

Replies

Boosts

Views

Activity

iOS 13 PushKit VoIP restrictions breaking SIP VoIP apps
Hi,We are a fairly large company providing smartphone and desktop applications for VoIP/UC together with PBX systems, on-premise as well as clourd offerings. All our app are talking to the telephony servers over SIP.Up unitl now, our flow on iOS was:Receive PushKit VoIP notificationREGISTER towards telephony serverReceive INVITEreportIncomingCallWith the changes enforced and outlined in https://developer.apple.com/videos/play/wwdc2019/707/, the whole SIP concept will break.We are now forced to report an incoming call so early that the user might accept the call before the REGISTER has completed and an INVITE has been received which will lead to a pretty bad user experience.Even worse, we will report an incoming call even if there is no actual call. This might happen as the call has already been canceled on the remote end and we won't get an INVITE. Or if the registration fails due to network issues that prevents us from reaching the telephony server.How does Apple expect us to deal with these situations?It's not possible to perform the whole REGISTER/INVITE stuff "in the same run loop as pushRegistry:didReceiveIncomingPushWithPayload:forType:[withCompletionHandler:] without delay."I'm not sure what our support and sales guys will do when they receive negative customer feedback with the changed implementation. Maybe tell existing and new customers to use Android smartphones instead of iPhones... There has to be at least some way of delaying the reportIncomingCall so that an application can check against the telephony server if there is a call and report if there is none to avoid punishment for not reporting the call.
37
0
61k
Nov ’22
iOS 13 PushKit VoIP restrictions breaking SIP VoIP apps
Hi,We are a fairly large company providing smartphone and desktop applications for VoIP/UC together with PBX systems, on-premise as well as clourd offerings. All our app are talking to the telephony servers over SIP.Up unitl now, our flow on iOS was:Receive PushKit VoIP notificationREGISTER towards telephony serverReceive INVITEreportIncomingCallWith the changes enforced and outlined in https://developer.apple.com/videos/play/wwdc2019/707/, the whole SIP concept will break.We are now forced to report an incoming call so early that the user might accept the call before the REGISTER has completed and an INVITE has been received which will lead to a pretty bad user experience.Even worse, we will report an incoming call even if there is no actual call. This might happen as the call has already been canceled on the remote end and we won't get an INVITE. Or if the registration fails due to network issues that prevents us from reaching the telephony server.How does Apple expect us to deal with these situations?It's not possible to perform the whole REGISTER/INVITE stuff "in the same run loop as pushRegistry:didReceiveIncomingPushWithPayload:forType:[withCompletionHandler:] without delay."I'm not sure what our support and sales guys will do when they receive negative customer feedback with the changed implementation. Maybe tell existing and new customers to use Android smartphones instead of iPhones... There has to be at least some way of delaying the reportIncomingCall so that an application can check against the telephony server if there is a call and report if there is none to avoid punishment for not reporting the call.
Replies
37
Boosts
0
Views
61k
Activity
Nov ’22