📄 cstatst2.cpp
字号:
if (dlg.DoModal() != IDOK) return;
strcpy(((PrivateData_t*)privData)->vendor, "Alcatel");
unsigned short lg = sizeof (long) + // 4 for object id
sizeof(InterruptTransaction_t);
((PrivateData_t*)privData)->length = lg;
InterruptTransaction_t my_interruptTransaction;
// Process the connectionId
my_interruptTransaction.connectionID.callID = atol (dlg.m_edCallID);
strcpy (my_interruptTransaction.connectionID.deviceID,
dlg.m_edDeviceID);
my_interruptTransaction.connectionID.devIDType = (ConnectionID_Device_t) dlg.m_iEscapeDeviceType;
// process the boolean
my_interruptTransaction.interruptible = dlg.m_bInterruptible;
AlcatelCstaPrivObject_t my_alcatelCstaPrivObject;
my_alcatelCstaPrivObject.objectId = interruptTransaction_Id;
my_alcatelCstaPrivObject.u.interruptTransaction = my_interruptTransaction;
memcpy (((PrivateData_t*)privData)->data, (char*)&my_alcatelCstaPrivObject, lg);
m_nRetCode = cstaEscapeService (m_acsHandle,
(InvokeID_t)0,
(PrivateData_t*)privData);
if (m_nRetCode < 0)
{
MessageBoxError ("cstaEscapeService", m_nRetCode);
return;
}
DisplayTheEvent ("CSTA Escape Service Inter");
return;
}
// **************************************************************************
// Added by G.L. 26 August 98
// CstaEscapeSetDeviceInService
// **************************************************************************
void CMainWind::CstaEscapeSetDeviceInService()
{
CEscSetDeviceInservice dlg;
char privData[160];
if (dlg.DoModal() != IDOK) return;
strcpy(((PrivateData_t*)privData)->vendor, "Alcatel");
unsigned short lg = sizeof (long) + // 4 for object id
sizeof(SetDeviceInService_t);
((PrivateData_t*)privData)->length = lg;
SetDeviceInService_t my_setDeviceInService;
// Process the device Id
strcpy (my_setDeviceInService.deviceID,dlg.m_edDeviceID);
// process the boolean
my_setDeviceInService.setInService = dlg.m_bSetInService;
AlcatelCstaPrivObject_t my_alcatelCstaPrivObject;
my_alcatelCstaPrivObject.objectId = setDeviceInService_Id;
my_alcatelCstaPrivObject.u.setDeviceInService = my_setDeviceInService;
memcpy (((PrivateData_t*)privData)->data, (char*)&my_alcatelCstaPrivObject, lg);
m_nRetCode = cstaEscapeService (m_acsHandle,
(InvokeID_t)0,
(PrivateData_t*)privData);
if (m_nRetCode < 0)
{
MessageBoxError ("cstaEscapeService", m_nRetCode);
return;
}
DisplayEventTitle ("CSTA Escape Service Set Device In Service");
return;
}
// **************************************************************************
// Added by G.L. August 27 98
// CstaAssociateData
// **************************************************************************
void CMainWind::CstaAssociateData()
{
CAssociateData dlg;
dlg.m_iEscapeDeviceType = DYNAMIC_ID;
dlg.m_edDeviceID = myDeviceId;
dlg.m_edCallID = mainCallID;
char privData[SIZE_OF_ALCATEL_PRIVATE_DATA];
memset (privData,0,SIZE_OF_ALCATEL_PRIVATE_DATA);
int nbOfPrivateData = 0;
BOOL boolVrid = TRUE;
BOOL boolACR = TRUE;
int i = 0;
if (dlg.DoModal() != IDOK) return;
ConnectionID_t connectionID;
connectionID.callID = atol (dlg.m_edCallID);
strcpy (connectionID.deviceID, dlg.m_edDeviceID);
connectionID.devIDType = (ConnectionID_Device_t)dlg.m_iEscapeDeviceType;
char my_accountInfo[32];
strcpy(my_accountInfo,dlg.m_iAccountCode);
char my_authCode[32];
strcpy(my_authCode,dlg.m_iAuthCode);
CorrelatorData_t my_correlatorData;
if (0 == dlg.m_edCorrelator.Compare("0"))
{
my_correlatorData.length = 0;
my_correlatorData.correlatorData [0] = '\0';
}
else
{
strcpy (my_correlatorData.correlatorData, dlg.m_edCorrelator);
my_correlatorData.length = dlg.m_edCorrelator.GetLength( );
}
if ( ! dlg.m_sVrid.IsEmpty()) nbOfPrivateData++;
if ( !dlg.m_acrDeviceID.IsEmpty() || 0 != dlg.m_iacrSkillNumber) nbOfPrivateData++;
CstaCommonArguments_t *cstaCommonArgumentsPt = (CstaCommonArguments_t*) ((PrivateData_t FAR*)privData)->data;
for (i = 0; i < nbOfPrivateData ; i++)
{
if (( ! dlg.m_sVrid.IsEmpty()) && boolVrid )
{
OtherPrivateData_t my_otherPrivateData;
memset(my_otherPrivateData.privateIdentifier,0,MAX_LENGTH_PRIVATE_IDENTIFIER);
memset(my_otherPrivateData.privateData,0,MAX_LENGTH_PRIVATE_DATA);
unsigned short shortSwappedValue;
//shortSwappedValue = ntohs((unsigned int) VIOLA_DATA);
shortSwappedValue = VIOLA_DATA;
memcpy (my_otherPrivateData.privateIdentifier,&shortSwappedValue,2);
my_otherPrivateData.lengthPrivateIdentifier = 2;
int vrid = atoi (dlg.m_sVrid);
int lenvrid = VIOLA_CRID_LENGTH;
char tmpbuf[4];
memset (tmpbuf,0,4);
if (vrid > 65535)
{ // it is a long
unsigned long longVcrid;
longVcrid = ntohl((unsigned int) vrid);
memcpy (tmpbuf,&longVcrid,lenvrid);
my_otherPrivateData.privateData[1] = tmpbuf[3];
my_otherPrivateData.privateData[2] = tmpbuf[2];
my_otherPrivateData.privateData[3] = tmpbuf[1];
my_otherPrivateData.privateData[4] = tmpbuf[0];
}
else
{ // it is a short
unsigned short shortVcrid;
shortVcrid = ntohs((unsigned int) vrid);
memcpy (tmpbuf,&shortVcrid,lenvrid);
my_otherPrivateData.privateData[1] = tmpbuf[1];
my_otherPrivateData.privateData[2] = tmpbuf[0];
}
my_otherPrivateData.privateData[0] = VIOLA_CRID;
my_otherPrivateData.lengthPrivateData = 1 + lenvrid;
cstaCommonArgumentsPt->privateData.AlcCstaPrivPtOffsetArray[i] = (i * sizeof(AlcatelCstaPrivObject_t));
AlcatelCstaPrivObject_t *alcatelCstaPrivObjectPt = (AlcatelCstaPrivObject_t*)((char*) cstaCommonArgumentsPt->privateData.privateHeap +
cstaCommonArgumentsPt->privateData.AlcCstaPrivPtOffsetArray[i]);
alcatelCstaPrivObjectPt->objectId = otherPrivateData_Id;
alcatelCstaPrivObjectPt->u.otherPrivateData = my_otherPrivateData;
boolVrid = FALSE;
continue;
}
if ( (!dlg.m_acrDeviceID.IsEmpty() || 0 != dlg.m_iacrSkillNumber) && boolACR )
{
ACRAttributeList_t my_ACRAttributeList;
strcpy (my_ACRAttributeList.acrAgentNumber,dlg.m_acrDeviceID);
my_ACRAttributeList.count = 1;
memset (my_ACRAttributeList.elementArray,0,MAX_NUMBER_OF_ELEMENT* sizeof (Element_t));
my_ACRAttributeList.elementArray[0].skillNumber = dlg.m_iacrSkillNumber;
my_ACRAttributeList.elementArray[0].acrStatus = dlg.m_bacrStatus;
my_ACRAttributeList.elementArray[0].expertEvaluationLevel = dlg.m_iacrExpertEval;
/*my_ACRAttributeList.count = MAX_NUMBER_OF_ELEMENT;
for (int m = 0; m < MAX_NUMBER_OF_ELEMENT; m++)
{
my_ACRAttributeList.elementArray[m].skillNumber = dlg.m_iacrSkillNumber;
my_ACRAttributeList.elementArray[m].acrStatus = dlg.m_bacrStatus;
my_ACRAttributeList.elementArray[m].expertEvaluationLevel = dlg.m_iacrExpertEval;
}*/
cstaCommonArgumentsPt->privateData.AlcCstaPrivPtOffsetArray[i] = (i * sizeof(AlcatelCstaPrivObject_t));
AlcatelCstaPrivObject_t *alcatelCstaPrivObjectPt = (AlcatelCstaPrivObject_t*)((char*) cstaCommonArgumentsPt->privateData.privateHeap +
cstaCommonArgumentsPt->privateData.AlcCstaPrivPtOffsetArray[i]);
alcatelCstaPrivObjectPt->objectId = acrAttributeList_Id;
alcatelCstaPrivObjectPt->u.aCRAttributeList = my_ACRAttributeList;
boolACR = FALSE;
continue;
}
}//end for
if (nbOfPrivateData != 0)
{
CopyPrivateData(nbOfPrivateData,cstaCommonArgumentsPt, privData);
m_nRetCode = cstaAssociateData( m_acsHandle,
(InvokeID_t)0,
(ConnectionID_t FAR *)&connectionID,
(AccountInfo_t FAR*)&my_accountInfo,
(AuthCode_t FAR*)&my_authCode,
(CorrelatorData_t FAR*)&my_correlatorData,
(PrivateData_t FAR *) &privData);
}
else
{
m_nRetCode = cstaAssociateData( m_acsHandle,
(InvokeID_t)0,
(ConnectionID_t FAR *)&connectionID,
(AccountInfo_t FAR*)&my_accountInfo,
(AuthCode_t FAR*)&my_authCode,
(CorrelatorData_t FAR*)&my_correlatorData,
NULL);
}
if (m_nRetCode < 0) {
MessageBoxError ("cstaAssociateData", m_nRetCode);
return;
}
CString eventString;
DisplayEventTitle("CSTA REQUEST Associate Data: ");
eventString += AddConnectionID (connectionID);
DisplayTheEvent (eventString);
eventString.Format("Account code: %s", my_accountInfo);
DisplayTheEvent (eventString);
eventString.Format("Auth Code: %s", my_authCode);
DisplayTheEvent (eventString);
eventString.Format("Correlator Data: %s", my_correlatorData.correlatorData);
DisplayTheEvent (eventString);
}
void CMainWind::CstaAssociateDataConfEvent () {
DisplayTheEvent ("CSTA CONFIRM Associate Data");
return;
}
// **************************************************************************
// Added by G.L. August 31 98
// CstaHostIdentification
// **************************************************************************
void CMainWind::CstaHostIdentification(){
CEscHostIdentification dlg;
dlg.m_cHostIdentification = "VIOLA.155.132.39.149";
char privData[SIZE_OF_ALCATEL_PRIVATE_DATA];
memset (privData,0,SIZE_OF_ALCATEL_PRIVATE_DATA);
int nbOfPrivateData = 1;
if (dlg.DoModal() != IDOK) return;
CstaCommonArguments_t *cstaCommonArgumentsPt = (CstaCommonArguments_t*) ((PrivateData_t FAR*)privData)->data;
cstaCommonArgumentsPt->privateData.AlcCstaPrivPtOffsetArray[0] = 0;
AlcatelCstaPrivObject_t *alcatelCstaPrivObjectPt = (AlcatelCstaPrivObject_t*)((char*) cstaCommonArgumentsPt->privateData.privateHeap +
cstaCommonArgumentsPt->privateData.AlcCstaPrivPtOffsetArray[0]);
HostStatus_t my_hostStatus;
switch (dlg.m_iHostStatus)
{
case 0: //connected
my_hostStatus = HOST_STATUS_CONNECTED;
break;
case 1: //disable
my_hostStatus = HOST_STATUS_DISABLED;
break;
case 2: //disconnect
my_hostStatus = HOST_STATUS_DECONNECTED;
break;
case 3: //enable
my_hostStatus = HOST_STATUS_ENABLED;
break;
}
HostIdentification_t my_hostIdentification;
strcpy (my_hostIdentification.hostIdentification,dlg.m_cHostIdentification);
alcatelCstaPrivObjectPt->objectId = hostIdentification_Id;
alcatelCstaPrivObjectPt->u.hostIdentification = my_hostIdentification;
CopyPrivateData(nbOfPrivateData,cstaCommonArgumentsPt, privData);
m_nRetCode = cstaSendIvrStat (m_acsHandle,
(InvokeID_t)0,
(HostStatus_t FAR *) &my_hostStatus,
(PrivateData_t FAR *) &privData);
if (m_nRetCode < 0)
{
MessageBoxError ("cstaSendIvrStat", m_nRetCode);
return;
}
DisplayEventTitle ("CSTA Send IVR Status ");
}
// **************************************************************************
// Added by G.L. Sept 10 98
// CstaSupervisorAssistRequest
// **************************************************************************
void CMainWind::CstaSupervisorAssistRequest()
{
CEscSuperAssistRequest dlg;
char privData[SIZE_OF_ALCATEL_PRIVATE_DATA];
memset (privData,0,SIZE_OF_ALCATEL_PRIVATE_DATA);
if (dlg.DoModal() != IDOK) return;
strcpy(((PrivateData_t*)privData)->vendor, "Alcatel");
unsigned short lg = sizeof (long) + // 4 for object id
sizeof(SupervisorAssistRequest_t);
((PrivateData_t*)privData)->length = lg;
SupervisorAssistRequest_t my_SupervisorAssistRequest;
strcpy (my_SupervisorAssistRequest.device,dlg.m_sDeviceID);
AlcatelCstaPrivObject_t my_alcatelCstaPrivObject;
my_alcatelCstaPrivObject.objectId = supervisorAssistRequest_Id;
my_alcatelCstaPrivObject.u.supervisorAssistRequest = my_SupervisorAssistRequest;
memcpy (((PrivateData_t*)privData)->data, (char*)&my_alcatelCstaPrivObject, lg);
m_nRetCode = cstaEscapeService (m_acsHandle,
(InvokeID_t)0,
(PrivateData_t*)privData);
if (m_nRetCode < 0)
{
MessageBoxError ("cstaEscapeService", m_nRetCode);
return;
}
DisplayEventTitle ("CSTA Escape Service : Supervisor Assist Request");
return;
}
// **************************************************************************
// Added by G.L. Sept 11 98
// CstaSupervisorAssistCancel
// **************************************************************************
void CMainWind::CstaSupervisorAssistCancel()
{
CEcsSuperAssistCancel dlg;
char privData[SIZE_OF_ALCATEL_PRIVATE_DATA];
memset (privData,0,SIZE_OF_ALCATEL_PRIVATE_DATA);
if (dlg.DoModal() != IDOK) return;
strcpy(((PrivateData_t*)privData)->vendor, "Alcatel");
unsigned short lg = sizeof (long) + // 4 for object id
sizeof(SupervisorAssistCancel_t);
((PrivateData_t*)privData)->length = lg;
SupervisorAssistCancel_t my_SupervisorAssistCancel;
strcpy (my_SupervisorAssistCancel.requestingDevice,dlg.m_sDeviceIDRequesting);
strcpy (my_SupervisorAssistCancel.otherDevice,dlg.m_sDeviceIDOther);
AlcatelCstaPrivObject_t my_alcatelCstaPrivObject;
my_alcatelCstaPrivObject.objectId = supervisorAssistCancel_Id;
my_alcatelCstaPrivObject.u.supervisorAssistCancel = my_SupervisorAssistCancel;
memcpy (((PrivateData_t*)privData)->data, (char*)&my_alcatelCstaPrivObject, lg);
m_nRetCode = cstaEscapeService (m_acsHandle,
(InvokeID_t)0,
(PrivateData_t*)privData);
if (m_nRetCode < 0)
{
MessageBoxError ("cstaEscapeService", m_nRetCode);
return;
}
DisplayEventTitle ("CSTA Escape Service : Supervisor Assist Cancel");
return;
}
/*YB 240800+*/
VOID CALLBACK AutoReconnect(HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime)
{
((CMainWind*) AfxGetMainWnd())->AcsOpenStream(ST_CSTA2);
return;
}
void CMainWind::TryToReconnect()
{
if (!m_bAutoReconnect) {
m_bAutoReconnect = TRUE;
my_reconnectTimer = ::SetTimer(NULL, 0, 5000, AutoReconnect);
DisplayEventTitle ("TryToReconnect Started");
}
return;
}
/*YB 240800-*/
VOID CALLBACK AutoKeepAliveTimer(HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime)
{
//CstaSysStatReqConfEventTimer ();
((CMainWind*) AfxGetMainWnd())->CstaSysStatReq ();
//::KillTimer(hwnd, idEvent);
return;
}
// **************************************************************************
// Added by G.L. Sept 22 98
// AutoKeepalive
// **************************************************************************
void CMainWind::AutoKeepalive()
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -