Как обрабатывать истекший сеанс во время входящего вызова VoIP (iOS, Chime SDK)?IOS

Программируем под IOS
Ответить
Anonymous
 Как обрабатывать истекший сеанс во время входящего вызова VoIP (iOS, Chime SDK)?

Сообщение Anonymous »

Я реализую вызовы VoIP на iOS с помощью Amazon Chime SDK с PushKit + CallKit.
Поток работает нормально, когда пользователь вошел в систему и сеанс действителен.
Сценарий:
Пользователь вошел в систему.
Приложение находится в состоянии завершения, а iPhone заблокирован.
Приходит push-уведомление VoIP (входящий вызов).
Пользователь должен иметь возможность ответить на вызов напрямую.
Проблема:
Для присоединения к вызову требуется действительный токен сеанса.
Но если срок действия сеанса уже истек, приложение не может получить информацию/токен собрания, и пользователь не может присоединиться к вызову.
Вопрос:
Каков стандартный подход к обработке звонка? это?
Поддерживают ли такие приложения, как Slack/Teams, специальный долговременный токен для вызовов?
Или мне следует реализовать поток токенов обновления (пробуждение приложения в фоновом режиме → обновление → присоединение к вызову)?
Текущий код (упрощенный):

Код: Выделить всё

// Called when VoIP push arrives
func pushRegistry(_ registry: PKPushRegistry,
didReceiveIncomingPushWith payload: PKPushPayload,
for type: PKPushType,
completion: @escaping () -> Void) {
let callData = payload.dictionaryPayload

// Validate token
if isSessionExpired() {
// ❌ Problem: can't fetch meeting info
// What should be the right approach here?
return
}

// Fetch meeting details from backend
fetchMeetingInfo(token: sessionToken) { meetingInfo in
startCall(meetingInfo)
}
}
Как это следует делать, если срок действия сеанса истек?
Любые рекомендации или ссылки для приложений, использующих Chime SDK (или аналогичные, например Slack/Teams), будут очень полезны.

Подробнее здесь: https://stackoverflow.com/questions/797 ... -chime-sdk
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»