我有一个IVR类型的应用程序,在进行b2b呼叫之前,我使用传入呼叫进行自我转移,该呼叫在寻求代理人出站搜寻时被moh保留。我确实订阅了远程状态,并将呼叫转发给绿色(免费)座席,但是如果座席未接听或忙碌,我会尝试检索呼叫以继续寻找。问题在于,呼叫检索并不能解决呼叫中断的问题。如果作为客户我可以使用S4B客户端中的“恢复”按钮恢复呼叫,并且一切正常,并且呼叫搜寻继续进行到网络自由代理,否则呼叫将保留。为什么呼叫检索无法按照文档进行。这是我的代码检索过程>
p-calendar.calendar-control {
opacity: 1;
color: black;
background: #eeeeee;
}
这是从endtransfer的接收处理程序中调用的>
private void RetrieveCallAfterTransferFailure()
{
// Take the call off of hold after a transfer fails.
LogHelper.Log(LogTarget.FileEvent, "IVR Trying to retrive from Self transfer ...", 2);
try
{
_flow.BeginRetrieve(retrieveResult =>
{
try
{
LogHelper.Log(LogTarget.FileEvent, "IVR Trying to retrive from Self transfer ...", 2);
Thread.Sleep(1000);
_flow.EndRetrieve(retrieveResult);
LogHelper.Log(LogTarget.FileEvent, "IVR Successfully retrieved call. Waiting a bit");
LogHelper.Log(LogTarget.FileEvent, "IVR Call is retreived time passed...", 1);
//_flow.EndHold(retrieveResult);
Thread.Sleep(2000);
// _flow.EndRetrieve(retrieveResult);
//
// _speechSynthesizer.Speak("A green agent is busy. Please retry your option!"); //TEXT TO SPEEECH!
// SpeakMenuOptions();
// toneController.ToneReceived += toneController_ToneReceived;
}
catch (RealTimeException rtex)
{
LogHelper.Log(LogTarget.FileEvent, "IVR Failed retrieving call." + rtex);
}
},
null);
}
catch (InvalidOperationException ioex)
{
LogHelper.Log(LogTarget.FileEvent, "IVR Failed retrieving call."+ ioex);
}
}
任何建议都值得欢迎。奇怪的是,当我在VS2017中调试代码时,它运行完美,但是当我正常运行该应用程序时,它却无法正常运行。
谢谢。