2017-06-15 14 views
0

私はCallKitでVoIPアプリケーションを開発します。2つの着信コールを持つCallKit

ユーザが2つの着信コールを受信し、いずれか1つを受け入れる場合、もう1つは閉じられます。たとえば、レポートの着信コールの両方について

perform action: CXEndCallAction uuid: 129A6D67-AC6A-480E-BCD7-ED14F7961CE5 
perform action: CXAnswerCallAction uuid: 70D506FB-6A9D-4111-8828-35DB8F330A26 

Q:それは閉じずに1つのコールを受け入れることは可能です

reportInComingCall uuid: 70D506FB-6A9D-4111-8828-35DB8F330A26 
reportInComingCall uuid: 129A6D67-AC6A-480E-BCD7-ED14F7961CE5 

ユーザーはそれらの一つ、私はCallKitから、このアクションを取得を受け入れ別のもの?

最後に私は次のシナリオが必要です: 1つの通話を受け入れると、最初の通話が切断されるまで、もう一方の通話は保留になります。 CallKitは私に、私がそれを受け入れることができる他のものを示しています。

Ralph

+0

こんにちはラルフに従うことができますが、キュー内の複数の呼び出しを追加するために使用されます。 reportIncomingCall()メソッドでは、あなたが別の呼び出しを取得するときにqueue self.callManager.addCall(call)に呼び出しを追加できます。CallKitは、最初の呼び出しを破棄したり、現在の呼び出しの希望を受け入れるように求めます。 –

答えて

0

システムでは、ユーザーが問題の解決方法を決定できるようになります。選択に基づいて、複数のアクションをCXTransactionにまとめます。たとえば、ユーザが進行中の通話を終了して新しい通話に応答することを選択した場合、システムは前者のCXEndCallActionと後者のCXStartCallActionを作成します。両方のアクションはトランザクションにラップされ、プロバイダに送信され、プロバイダは個別に処理します。だからあなたのアプリがすでに個々の要求を満たす方法を知っていれば、それ以上のアクションは必要ありません!

上記のシナリオを解決してテストすることができます。通話のリストにはあなたの選択が反映されます。アプリは一度に1つのオーディオセッションのみを処理します。コールを再開することを選択した場合、もう一方は自動的に保留になります。

詳細情報については、あなたがhttps://github.com/opentok/CallKit/tree/master/CallKitDemo SpeakerboxCallManager.swiftこのプロジェクトでは、that tutorial

関連する問題