コンテンツにスキップ

接続API

Cloudflare Callsは、HTTPS APIエンドポイントを通じてピア接続とメディアトラックの管理を簡素化します。これらのエンドポイントにより、開発者はセッションを効率的に管理し、トラックを追加または削除し、セッション情報を収集できます。

APIエンドポイント

  • 新しいセッションの作成: Cloudflare Calls WebRTCサーバー上で新しいセッションを開始し、クライアント側でPeerConnectionを確立します。
    • POST /apps/{appId}/sessions/new
  • 新しいトラックの追加: 既存のセッションにメディアトラック(音声またはビデオ)を追加します。
    • POST /apps/{appId}/sessions/{sessionId}/tracks/new
  • セッションの再交渉: 新しいトラックや既存のトラックの変更に対応するために、セッションの交渉状態を更新します。
    • PUT /apps/{appId}/sessions/{sessionId}/renegotiate
  • トラックの閉鎖: 指定されたトラックをセッションから削除します。
    • PUT /apps/{appId}/sessions/{sessionId}/tracks/close
  • セッション情報の取得: 特定のセッションに関する詳細情報を取得します。
    • GET /apps/{appId}/sessions/{sessionId}

完全なAPIとスキーマを表示 (OpenAPI形式)

シークレットの管理

App IDとそのシークレットを安全に管理することが重要です。トラックとセッションIDは公開可能ですが、悪用を防ぐために保護する必要があります。攻撃者は、バックエンドサーバーがリクエストの発信元を適切に認証しない場合、これらのIDを悪用してサービスを妨害する可能性があります。例えば、自分のセッション以外のトラックを閉じるリクエストを送信することが考えられます。バックエンドサーバーへのリクエストのセキュリティと真正性を確保することは、アプリケーションの整合性を維持するために重要です。

STUNおよびTURNサーバーの使用

Cloudflare Callsは、ほとんどのシナリオでTURNサーバーを必要とせずに効率的に動作するように設計されています。CloudflareはCalls用に公開ルーティング可能なIPアドレスを提供します。ただし、ピアの発見と接続を促進するためにSTUNサーバーの統合が必要な場合があります。

  • Cloudflare STUNサーバー: stun.cloudflare.com:3478

CloudflareのSTUNサーバーを利用することで、Callsアプリケーションの接続プロセスを助けることができます。

シンプルなセッションのライフサイクル

このセクションでは、音声専用アプリケーションに焦点を当てたシンプルなセッションの典型的なライフサイクルの概要を提供します。新しいリモートクライアントが参加または離脱する際に、バックエンドサーバーがクライアントに通知する方法を示しています。ビデオを組み込むと、セッションに追加のトラックと考慮事項が導入されます。

ライフサイクルの例

また、以下に示すように、以前使用されていたが現在は非推奨のAPIの使用方法もあります。このスタイルを使用している場合は、上記の新しいバージョンへのアップグレードを検討してください。

非推奨のライフサイクル