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によって自動的に付与されます。
図 19 SendCall
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を指定してください。
図 20 SendReplyCall
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
の形式で返されます。
図 21 SendCallAndWaitReplyCall
ReceiveCalls
ReceiveCalls
を実行すると、intdash Edge Agent 2は、別のエッジからのコール(ただしリプライコール以外)を受信するためのストリームを返します。このメソッドはserver streaming RPCです。
iSCP 2.0のレベルでは、サーバーから複数のDownstream Callを受信することになります。
ストリームから取り出すことができる構造体 ReceiveCallsResult
が、受信したDownstream Callを表します。
図 22 ReceiveCalls
ReceiveReplyCalls
ReceiveReplyCalls
を実行すると、intdash Edge Agent 2は、別のエッジからのリプライコールを受信するストリームを返します。このメソッドはserver streaming RPCです。
iSCP 2.0のレベルでは、サーバーから複数のDownstream Callを受信することになります。
ストリームから取り出すことができる構造体 ReceiveReplyCallsResult
が、受信したDownstream Callを表します。
図 23 ReceiveReplyCalls