您可以构建一个监控 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 操作。如果你去genesys支持网站。您将找到 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平台没有。
我希望这已经足够清楚了。