我希望从Genesys Platform SIP Server获得呼叫详细信息。
Genesys平台有 .NET平台SDK 。
额外备注:
致电详细信息:特别是我想为给定的电话
获取 AgentId
和
从Sip Server:我不确定Sip Server是否是最好的候选者 接听电话详情。对其他建议/备选方案持开放态度
答案 0 :(得分:3)
您可以构建一个监视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操作。如果你去geneys支持网站。您将找到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;
}
您可以使用此用法进行大量此操作。就像拨号,保持呼入入站或出站一样,即使你可以检测内部呼叫并报告geneys平台没有。
我希望这很清楚。
答案 1 :(得分:1)
如果您有权访问路由策略,则可以对其进行编辑。您可以向策略添加一些代码,以便将您需要的详细信息发送到某个Web服务器(例如)或DB。我们在战略中做了这样的事情。成功路由块后,作为后路由策略发送RTargetPlaceSelected和RTargetAgentSelected的值。
答案 2 :(得分:0)
尝试一下:
>
Genesyslab.Platform.Contacts.Protocols.ContactServer.Requests.JirayuGetInteractionContent JirayuGetInteractionContent = Genesyslab.Platform.Contacts.Protocols.ContactServer.Requests.JirayuGetInteractionContent.Create();
JirayuGetInteractionContent.InteractionId =“ 004N4aEB63TK000P”; Genesyslab.Platform.Commons.Protocols.IMessage responseingEventY = contactserverProtocol.Request(JirayuGetInteractionContent); Genesyslab.Platform.Commons.Collections.KeyValueCollection keyValueCollection = (((Genesyslab.Platform.Contacts.Protocols.ContactServer.Events.EventGetInteractionContent)respondingEventY).InteractionAttributes.AllAttributes;
答案 3 :(得分:0)
我们将获得如下的AgentID和Place, 第1步: 创建一个Custome命令类,并在ExtensionSampleModule类中添加命令链,如下所示,
RequestDispatcher rd = request.getRequestDispatcher("servlet2");
//Forwards a request from a servlet to another resource (servlet, JSP file,
// or HTML file) on the server.
rd.forward(request,response)
//Includes the content of a resource (servlet, JSP page, HTML file) in the response.
rd.include(request,response)
答案 4 :(得分:0)
IInteractionVoice interaction = (IInteractionVoice)e.Value;
switch (interaction.EntrepriseLastInteractionEvent.Id)
{
case EventEstablished.MessageId:
var eventEstablished = interaction.EntrepriseLastInteractionEvent as EventEstablished;
var genesysCallUuid = eventEstablished.CallUuid;
var genesysAgentid = eventEstablished.AgentID;
.
.
.
.
break;
}