An agent A received a call, and then it transfered to another agent B.B agreed the transfer,then happened the EventAttachedDataChanged.
After B agreed the transfer,A would released the call. So was the fact. In the axTEventsLog i can see two EventReleased, the other DN of one is inbound call,another one is cousult call.But the question is that after EventReleased there was a EventOnHook and a EventAttachedDataChanged.would someone tell me why did this happen? Thank you very much.
Sorry magic balls are out of serviceā¦therefore we canāt look at your system logs from our desks
Well, according to the system logs, in my project, RequestInitiateTransfer and RequestCompleteTransfer has been sent twice. I solve the problem about RequestInitiateTransfer, but i still donāt know why RequestCompleteTransfer has been sent twice.
When i debug my project, attacheddatachanged happened four times, the first time the calltype is CallTypeInBound, the second time is CallTypeConsult and meanwhile RequestCompleteTransfer has been sent the first time, the third time is as the first time, the four time is as the second time. So RequestCompleteTransfer do have been sent twice.
Who can tell me why attacheddatachanged happened four time and the last two times are as the previous two times?
The attacheddatachanged event is as follow
private void axTConnection1_TEventAttachedDataChanged(object sender, AxDesktopToolkitX._DConnectionEvents_TEventAttachedDataChangedEvent e)
{
String tempdata, tempflag;
if (e.eventInfo.ThisDN == ā6900ā)
{
if (e.eventInfo.CallType == DesktopToolkitX.TCallType.CallTypeConsult)
{
tempdata = this.getAttachedData(ātranā, e);
if (tempdata == āagreeā)
{
this.insertAttachedData(ātrancallidā, this.tempcallid);
this.doTrans(ātransCompleteā, āā);
}
else if (tempdata == ādisagreeā)
{
this.doReconnect();
MessageBox.Show(āAttachedDataChanged tran disagreeā);
}
this.tSBinittrans.ToolTipText = āē³čÆ·č½¬ę„ā;
}
else if (e.eventInfo.CallType == DesktopToolkitX.TCallType.CallTypeInbound)
{
tempdata = this.getAttachedData(ātranā, e);
if (tempdata == āleavemeetā)
{
this.doHangup();
this.tSBinittrans.ToolTipText = āē³čÆ·č½¬ę„ā;
}
}
}
//ē»éæ
else
{
if (e.eventInfo.CallType == DesktopToolkitX.TCallType.CallTypeConsult)
{
///转ę„
tempdata = this.getAttachedData(ātrancallidā, e);
if (tempdata == āā)
{
}
else if (tempdata == "userleave")
{
MessageBox.Show("ēØę·ęęŗļ¼");
}
else
{
}
}
}
}