All third-party contributors acknowledge that any contributions they provide will be made under the same open-source license that the open-source project is provided under.
[x] I acknowledge that all my contributions will be made under the project's license.
To provide observability for incoming call cancellations the following Insights events have been added:
Event Group
Event Name
Level
Description
connection
listen
info
Reported when an attempt to listen for cancellations is made
connection
listening
info
Reported when an attempt to listen for cancellations has succeeded
connection
cancel
info
Reported when a cancellation has been reported
connection
listening-error
error
Reported when an attempt to listen for a cancellation has failed
registration
unsupported-cancel-message-error
error
Reported when a "cancel" push notification is processed by the SDK. This version of the SDK does not support "cancel" push notifications
API Changes
Starting with 5.0.0, when [TwilioVoice registerWithAccessToken:deviceToken:completion:] is called, the Voice SDK will only register for "call" push notifications and cancelled call invites will be determined internally by the SDK. [TwilioVoice handleNotification:delegate:delegateQueue:] no longer processes "cancel" push notification payloads and will returnfalse if provided with a cancel notification.
A valid call push notification, when passed to [TwilioVoice handleNotification:delegate:delegateQueue:], will still result in a TVOCallInvite
being raised [TVONotificationDelegate callInviteReceived:]. A TVOCancelledCallInvite will be raised asynchronously via [TVONotificationDelegate cancelledCallInviteReceived:error:] if any of the following events occur:
The call is prematurely disconnected by the caller.
The callee does not accept or reject the call in approximately 30 seconds.
The Voice SDK is unable to establish a connection to Twilio.
You must retain the TVOCallInvite to be notified of a cancellation via [TVONotificationDelegate cancelledCallInviteReceived:error:].
A TVOCancelledCallInvite will not be raised if the invite is accepted or rejected.
[TwilioVoice handleNotification:delegate:] is now [TwilioVoice handleNotification:delegate:delegateQueue:]
delegateQueue: the dispatch queue where the [TVONotificationDelegate cancelledCallInviteReceived:error:] callback is received. If nil is passed, the dispatch main queue will be used.
When a "call" notification is received, the Voice SDK will fire the [TVONotificationDelegate callInviteReceived:] callback synchronously.
When a "cancel" notification is received, the method will return false.
[TVONotificationDelegate cancelledCallInviteReceived:] is now [TVONotificationDelegate cancelledCallInviteReceived:error:]
The error indicates that the call was canceled as a result of an error. If no error occurred the error will be nil.
The property enableInsights has been renamed to insights and moved from TVOCallOptions.h to TwilioVoice.h.
The property region has moved from TVOCallOptions.h to TwilioVoice.h. If you are specifying a region via the TwilioVoice.h region property you must now do so before [TwilioVoice connectWithAccessToken:delegate:] or [TwilioVoice handleNotification:delegate:] is called.
Class method [TVOCallInvite isValid:] is added to TVOCallInvite for apps to validate whether the notification payload is a valid call notification sent by Twilio. A valid notification payload will result in a TVOCallInvite being returned via the [TVONotificationDelegate callInviteReceived:] callback when passed to [TwilioVoice handleNotification:delegate:delegateQueue:].
Contributing to Twilio
Twlio Voice SDK 5.0.0 Changelog
iOS 13 & Xcode 11 Support
This release adds support for the new PushKit push notification policy that iOS 13 and Xcode 11 introduced. To upgrade your application please follow the migration guide.
Insights
To provide observability for incoming call cancellations the following Insights events have been added:
connection
listen
info
connection
listening
info
connection
cancel
info
connection
listening-error
error
registration
unsupported-cancel-message-error
error
API Changes
Starting with 5.0.0, when
[TwilioVoice registerWithAccessToken:deviceToken:completion:]
is called, the Voice SDK will only register for "call" push notifications and cancelled call invites will be determined internally by the SDK.[TwilioVoice handleNotification:delegate:delegateQueue:]
no longer processes "cancel" push notification payloads and will returnfalse
if provided with a cancel notification.A valid call push notification, when passed to
[TwilioVoice handleNotification:delegate:delegateQueue:]
, will still result in aTVOCallInvite
being raised[TVONotificationDelegate callInviteReceived:]
. ATVOCancelledCallInvite
will be raised asynchronously via[TVONotificationDelegate cancelledCallInviteReceived:error:]
if any of the following events occur:TVOCallInvite
to be notified of a cancellation via[TVONotificationDelegate cancelledCallInviteReceived:error:]
. ATVOCancelledCallInvite
will not be raised if the invite is accepted or rejected.[TwilioVoice handleNotification:delegate:]
is now[TwilioVoice handleNotification:delegate:delegateQueue:]
delegateQueue
: the dispatch queue where the[TVONotificationDelegate cancelledCallInviteReceived:error:]
callback is received. Ifnil
is passed, the dispatch main queue will be used.[TVONotificationDelegate callInviteReceived:]
callback synchronously.false
.[TVONotificationDelegate cancelledCallInviteReceived:]
is now[TVONotificationDelegate cancelledCallInviteReceived:error:]
error
indicates that the call was canceled as a result of an error. If no error occurred theerror
will benil
.The property
enableInsights
has been renamed toinsights
and moved fromTVOCallOptions.h
toTwilioVoice.h
.The property
region
has moved fromTVOCallOptions.h
toTwilioVoice.h
. If you are specifying a region via theTwilioVoice.h
region property you must now do so before[TwilioVoice connectWithAccessToken:delegate:]
or[TwilioVoice handleNotification:delegate:]
is called.Class method
[TVOCallInvite isValid:]
is added toTVOCallInvite
for apps to validate whether the notification payload is a valid call notification sent by Twilio. A valid notification payload will result in aTVOCallInvite
being returned via the[TVONotificationDelegate callInviteReceived:]
callback when passed to[TwilioVoice handleNotification:delegate:delegateQueue:]
.