DN アクションを監視するクラスを作成できます。また、何をしなければならなかったかに応じて、特定の DN またはすべての DN を監視します。通話がすべてである場合、これが最善の方法です。
まず、TServerProtocol を定義する必要があります。次に、ホスト、ポート、およびクライアント情報を介して接続する必要があります。
var endpoint = new Endpoint(host, port, config);
//Endpoint backupEndpoint = new Endpoint("", 0, config);
protocol = new TServerProtocol(endpoint)
{
ClientName = clientName
};
//Sync. way;
protocol.Open();
//Async way;
protocol.BeginOpen();
これを行うには、常に非同期の方法を使用します。理由はわかりました:) SDKが提供するイベントで接続がいつ開いたかを検出できます。
protocol.Opened += new EventHandler(OnProtocolOpened);
protocol.Closed += new EventHandler(OnProtocolClosed);
protocol.Received += new EventHandler(OnMessageReceived);
protocol.Error += new EventHandler(OnProtocolError);
ここに OnMessageReceived イベントがあります。魔法が起こるこのイベント。すべての通話イベントと DN アクションを追跡できます。ジェネシスのサポートサイトに行くなら。SDK リファレンス マニュアルが見つかります。そのマニュアルには、参照と使用法に関する多くの情報があり、簡単に理解できます。したがって、あなたの場合、通話のagentidが必要です。したがって、これを行うには EventEstablished が必要です。これは受信イベントで使用できます。
var message = ((MessageEventArgs)e).Message;
// your event-handling code goes here
switch (message.Id)
{
case EventEstablished.MessageId:
var eventEstablished = message as EventEstablished;
var AgentID = eventEstablished.AgentID;
break;
}
この使用法で多くのことができます。ダイヤルのように、着信または発信を保留しても、内部通話を検出し、genesys プラットフォームでは検出できないことを報告できます。
これが十分に明確であることを願っています。