2015-04-24 42 views
2
  • 我想從Genesys的平臺SIP服務器得到呼叫詳細Genesys的平臺:get調用細節從SIP服務器

  • 和Genesys平臺有.NET的平臺SDK

  • Anybod具有一個簡單的示例代碼這表明怎樣用平臺SDK 爲.NET [C#]從SIP服務器調用細節

附加說明:

呼叫詳細信息:特別是我希望得到AGENTID對於一個給定的呼叫

從SIP服務器:我我不確定SIP服務器是否是的最佳選擇接聽電話詳情。因此對其他建議/備選方案開放

+0

請提供更多信息 - 您需要從哪裏獲得通話詳細信息?另一個需要這些數據的系統,或者你想在平臺本身開發一些東西? –

+0

非常感謝您的關注。另一個系統需要數據,但我可以使用平臺獲取這些數據。 –

+0

你需要查詢SIP服務器的哪些信息?即您打算如何識別您希望獲取有關信息的呼叫?你有ConnID嗎? – hynsey

回答

1

如果您有權訪問路由策略並且可以對其進行編輯。您可以將一些代碼添加到策略中,以將所需的詳細信息發送到某個Web服務器(例如)或DB。我們在我們的戰略中做了這樣的事情。成功路由塊作爲後路由策略發送RTargetPlaceSelected和RTargetAgentSelected的值。

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操作。如果你去基因支持網站。你會找到一個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平臺不支持呼入或呼出呼叫。

我希望這已經夠清楚了。