Agent E2E Call API
intdashのE2Eコールは、intdashサーバーに接続されているエッジとエッジがサーバーを介してメッセージをやり取りする仕組みです。 エッジからサーバーへのメッセージ送信ではiSCP 2.0のUpstream Callが、サーバーからエッジへの送信ではDownstream Callが使用されます。
intdash Edge Agent 2において、このE2Eコールの送受信はE2Eコーラーが担当します。 E2EコーラーはgRPCインターフェイス(Agent E2E Call API)を提供しており、クライアント(デバイスコネクターなど)からこれを呼び出すことでE2Eコールの送受信を行うことができます。
Agent E2E Call APIを使用するには、gRPCで通信するために必要なサービスとデータ構造を定義した .protoファイル をダウンロードして、クライアントを作成してください。
protoファイルに記載のとおり、Agent E2E Call APIには以下のメソッドが用意されています。
SendCall
SendCall
を実行すると、intdash Edge Agent 2は、別のエッジに向けてE2Eコールを送信します。
iSCP 2.0のレベルでは、サーバーに向けてUpstream Callが送信されることになります。 Upstream Callが持つフィールドの詳細については、iSCP 2.0のプロトコル仕様書を参照してください。
Upstream Callのフィールドのうち、リクエスト用の構造体 SendCallRequest
に存在しないものは、intdash Edge Agent 2によって自動的に付与されます。
SendReplyCall
SendReplyCall
を実行すると、intdash Edge Agent 2は、別のエッジからの呼びかけのE2Eコールに対して応答のE2Eコールを送信します。
iSCP 2.0のレベルでは、サーバーに向けてUpstream Callが送信されることになります。 Upstream Callが持つフィールドの詳細については、iSCP 2.0のプロトコル仕様書を参照してください。
Upstream Callのフィールドのうち、リクエスト用の構造体 SendReplyCallRequest
に存在しないものは、intdash Edge Agent 2によって自動的に付与されます。
また、 SendReplyCallRequest
のフィールド request_call_id
には、元の呼びかけのコールIDを指定してください。
SendCallAndWaitReplyCall
SendCallAndWaitReplyCall
を実行すると、intdash Edge Agent 2は、別のエッジに向けてE2Eコールを送信し、送信先のエッジから応答が返されるまで処理をブロックします。
iSCP 2.0のレベルでは、サーバーに向けてUpstream Callが送信されます。 また、送信先エッジからの応答を、サーバーからDownstream Callとして受信できるまで待機することになります。
Upstream CallおよびDownstream Callが持つフィールドの詳細については、iSCP 2.0のプロトコル仕様書を参照してください。
Upstream Callのフィールドのうち、リクエスト用の構造体 SendCallAndWaitReplyCallRequest
に存在しないフィールドは、intdash Edge Agent 2によって自動的に付与されます。
受信したDownstream Callは、構造体 SendCallAndWaitReplyCallResult
の形式で返されます。
ReceiveCalls
ReceiveCalls
を実行すると、intdash Edge Agent 2は、別のエッジからのコール(ただしリプライコール以外)を受信するためのストリームを返します。このメソッドはserver streaming RPCです。
iSCP 2.0のレベルでは、サーバーから複数のDownstream Callを受信することになります。
ストリームから取り出すことができる構造体 ReceiveCallsResult
が、受信したDownstream Callを表します。
ReceiveReplyCalls
ReceiveReplyCalls
を実行すると、intdash Edge Agent 2は、別のエッジからのリプライコールを受信するストリームを返します。このメソッドはserver streaming RPCです。
iSCP 2.0のレベルでは、サーバーから複数のDownstream Callを受信することになります。
ストリームから取り出すことができる構造体 ReceiveReplyCallsResult
が、受信したDownstream Callを表します。