⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cstatst2.cpp

📁 csta协议的开发
💻 CPP
📖 第 1 页 / 共 4 页
字号:
void CMainWind::CstaRouteEndEvent() {
  CString eventString;
  char str[100];
  CSTARouteEndEvent_t* pEvt;
  pEvt = &m_cstaEvent.event.cstaEventReport.u.routeEnd; 
  DisplayEventTitle ( "CSTA EVENT REPORT Route End Event:");
  eventString += "          Route Register Req ID:";
  sprintf(str, "%ld", pEvt->routeRegisterReqID);
  eventString += str;
  eventString += "   Routing Cross Ref ID: ";
  sprintf(str, "%ld", pEvt->routingCrossRefID);
  eventString += str;                      
  //DisplayTheEvent(eventString);

  eventString += "   ";
  if (pEvt->errorValue != -1){
	  eventString += GetErrorValue (pEvt->errorValue);}
  DisplayString(eventString);
}

void CMainWind::CSTARouteEnd() {
  CRouteEndDlg dlg;
  char str[15];
  
  if (dlg.DoModal() == IDOK) {

/*YB 021202+*/
	char privData[SIZE_OF_ALCATEL_PRIVATE_DATA];
	memset (privData,0,SIZE_OF_ALCATEL_PRIVATE_DATA);
	
	CstaCommonArguments_t *cstaCommonArgumentsPt = (CstaCommonArguments_t*) ((PrivateData_t FAR*)privData)->data;
	
	cstaCommonArgumentsPt->privateData.numberOfPrivateData =1;
	cstaCommonArgumentsPt->privateData.AlcCstaPrivPtOffsetArray[0]=0;
	
	
	AlcatelCstaPrivObject_t *alcatelCstaPrivObjectPt = (AlcatelCstaPrivObject_t*)((char*) cstaCommonArgumentsPt->privateData.privateHeap);
	alcatelCstaPrivObjectPt->objectId = otherPrivateData_Id;
	unsigned short shortValue= PRIV_LIB_BUSY;

	memset(alcatelCstaPrivObjectPt->u.otherPrivateData.privateIdentifier,0,MAX_LENGTH_PRIVATE_IDENTIFIER);
	memcpy (alcatelCstaPrivObjectPt->u.otherPrivateData.privateIdentifier,&shortValue,2);
	alcatelCstaPrivObjectPt->u.otherPrivateData.lengthPrivateIdentifier = 2;
	CopyPrivateData(1,cstaCommonArgumentsPt, privData);
/*YB 021202+*/





    m_nRetCode = cstaRouteEndInv(m_acsHandle,
							  0,
                              dlg.m_nRouteRegID,
                              dlg.m_nRoutingCRID,
                              (CSTAUniversalFailure_t)dlg.m_nErrorValue,
                              (PrivateData_t*)privData);/*YB 021202*/
    if (m_nRetCode < 0) {
      MessageBoxError ("cstaRouteEnd", m_nRetCode);
      return;
    }
    CString eventString;
  
    DisplayEventTitle("CSTA REQUEST Route End");
	eventString += "         Route Register ID:";
    sprintf (str, "%ld", dlg.m_nRouteRegID);
    eventString += str;           
    eventString += "   Routing Cross Ref ID: ";
    sprintf(str, "%ld", dlg.m_nRoutingCRID);
    eventString += str;         
    eventString += "   Error value: ";
    sprintf(str, "%d", dlg.m_nErrorValue);    
    eventString += str;
    DisplayString (eventString);
  }
}

void CMainWind::CSTARouteAbort()
{
	CString eventString;
	char str[100];
	CSTARouteRegisterAbortEvent_t* pEvt;

	pEvt = &m_cstaEvent.event.cstaEventReport.u.registerAbort;
	DisplayEventTitle ( "CSTA EVENT REPORT Route Abort Event");
	eventString += "          Route Register Req ID:";
	sprintf(str, "%ld", pEvt->routeRegisterReqID);
	eventString += str;
	DisplayString(eventString);
}


// ***************************************************************************
// Added by G.L. 23 March 98
// ***************************************************************************
//   Rev \main\r2step2\14	Mon Jul 23 08:42:50 2001	by FILOUX
//Putback from version \main\r2step2\jade\LATEST to tsa_r2step2
//   Rev \main\r2step2\jade\7	Mon Jul 23 08:26:16 2001	by FILOUX
//Bringover from version \main\r2step2\LATEST to tsa_jade_c_filoux
//   Rev \main\r2step2\13	Mon Jul 16 15:50:18 2001	by FILOUX
//Putback from version \main\r2step2\jade\LATEST to tsa_r2step2
//   Rev \main\r2step2\jade\6	Mon Jul 16 15:26:29 2001	by FILOUX
//Bringover from version \main\r2step2\LATEST to tsa_jade_c_filoux

void CMainWind::CstaSendDTMFTones()
{ CSendDTMFTonesDlg dlg;
  char str[64];
  dlg.m_nDeviceType = (int)DYNAMIC_ID;
 
  if (dlg.DoModal() == IDOK){
	ConnectionID_t		connectionID;

	char my_CharactersToSendTones[64];
	strcpy (my_CharactersToSendTones, dlg.m_CharactersToSendTones);

    connectionID.callID = atol (dlg.m_ConnectionToSendTones);
    strcpy (connectionID.deviceID, dlg.m_DeviceToSendTones);
    connectionID.devIDType = (ConnectionID_Device_t)dlg.m_nDeviceType;

    m_nRetCode = cstaSendDTMFTones(	m_acsHandle,
									(InvokeID_t)0,
									(ConnectionID_t FAR *)&connectionID,
									(CharacterToSend_t FAR *)&my_CharactersToSendTones,
									(ToneDuration_t)  dlg.m_ToneDuration,
									(PauseDuration_t) dlg.m_PauseDuration,
									NULL
									);
    if (m_nRetCode < 0) {
      MessageBoxError ("cstaSendDTMFTones", m_nRetCode);
      return;
    }
	
	CString eventString;
  
    DisplayEventTitle("CSTA REQUEST Send DTMF Tones : ");
	eventString += AddConnectionID (connectionID);
	DisplayString (eventString);

	eventString.Format("Characters To send: %s", my_CharactersToSendTones);
	DisplayString (eventString);

    eventString = "Tone duration: ";
	sprintf (str, "%ld", dlg.m_ToneDuration);
    eventString += str;
	DisplayString (eventString);

    eventString = "Pause duration: ";
	sprintf (str, "%ld", dlg.m_PauseDuration);
    eventString += str;

	DisplayString (eventString);

  }

}

// **************************************************************************
//	Added by G.L. 23 March 98
//  CstaSendDTMFTonesConfEvent : this event provides the positive response from
//  the server for a previous deflect call request.
// **************************************************************************


void CMainWind::CstaSendDTMFTonesConfEvent () {
  DisplayTheEvent ("CSTA CONFIRM Send DTMF Tones");
  return;
}


// **************************************************************************
// Added by G.L. 23 March 98
// CstaSingleStepConference
// **************************************************************************

void CMainWind::CstaSingleStepConference()
{ CSingleStepConfDlg dlg;
  char str[15];
  dlg.m_nDeviceType = (int)DYNAMIC_ID;
	char privData[SIZE_OF_ALCATEL_PRIVATE_DATA];
	memset (privData,0,SIZE_OF_ALCATEL_PRIVATE_DATA);
	int nbOfPrivateData = 0;
 
  if (dlg.DoModal() == IDOK){
	ConnectionID_t		connectionID;

    connectionID.callID = atol (dlg.m_CallId);
    strcpy (connectionID.deviceID, dlg.m_DeviceId);
    connectionID.devIDType = (ConnectionID_Device_t)dlg.m_nDeviceType;

	char my_accountInfo[32];
	strcpy(my_accountInfo,dlg.m_AccountInfo);
	
	char my_authCode[32];
	strcpy(my_authCode,dlg.m_AuthCode);

	CorrelatorData_t my_correlatorData;
	strcpy(my_correlatorData.correlatorData,dlg.m_CorrelatorData);
	my_correlatorData.length = dlg.m_CorrelatorData.GetLength();

	char my_deviceToJoin[64];
	strcpy (my_deviceToJoin,dlg.m_DeviceToJoin);


		if (dlg.m_bsupervisorStepIn) 
		{
			nbOfPrivateData++;
			int i = 0;
			CstaCommonArguments_t *cstaCommonArgumentsPt = (CstaCommonArguments_t*) ((PrivateData_t FAR*)privData)->data;

			for (i = 0; i < nbOfPrivateData ; i++)
			{
				CstaServiceOption_t my_cstaServiceOption = 0;
				my_cstaServiceOption |= SO_SUPERVISOR_STEP_IN;
					
				cstaCommonArgumentsPt->privateData.AlcCstaPrivPtOffsetArray[i] = (i * sizeof(AlcatelCstaPrivObject_t));
				AlcatelCstaPrivObject_t *alcatelCstaPrivObjectPt = (AlcatelCstaPrivObject_t*)((char*) cstaCommonArgumentsPt->privateData.privateHeap +
										cstaCommonArgumentsPt->privateData.AlcCstaPrivPtOffsetArray[i]);

				alcatelCstaPrivObjectPt->objectId = cstaServiceOption_Id;
				alcatelCstaPrivObjectPt->u.cstaServiceOption = my_cstaServiceOption;
			}//for
			CopyPrivateData(nbOfPrivateData,cstaCommonArgumentsPt, privData);
			m_nRetCode = cstaSingleStepConf(	m_acsHandle,
										(InvokeID_t)0,
										(ConnectionID_t FAR *)&connectionID,
										(DeviceID_t		FAR*)&my_deviceToJoin,
										(ParticipationType_t)dlg.m_ParticipationType,
										//dlg.m_DeviceProfile,
										(DeviceProfile_t FAR*)NULL,
										(AccountInfo_t FAR*)&my_accountInfo,
										(AuthCode_t	   FAR*)&my_authCode,
										(CorrelatorData_t  FAR*)&my_correlatorData,
										(PrivateData_t FAR*) &privData);		}
		else 
		{
	
	m_nRetCode = cstaSingleStepConf(	m_acsHandle,
										(InvokeID_t)0,
										(ConnectionID_t FAR *)&connectionID,
										(DeviceID_t		FAR*)&my_deviceToJoin,
										(ParticipationType_t)dlg.m_ParticipationType,
										//dlg.m_DeviceProfile,
										(DeviceProfile_t FAR*)NULL,
										(AccountInfo_t FAR*)&my_accountInfo,
										(AuthCode_t	   FAR*)&my_authCode,
										(CorrelatorData_t  FAR*)&my_correlatorData,
										NULL);
		}
    if (m_nRetCode < 0) {
      MessageBoxError ("cstaSingleStepConf", m_nRetCode);
      return;
    }
	
	CString eventString;

    DisplayEventTitle("CSTA REQUEST Single Step Conference: ");
	eventString += AddConnectionID (connectionID);
	DisplayTheEvent (eventString);
  
 	eventString.Format("Device To Join: %s", my_deviceToJoin);
	DisplayTheEvent (eventString);  

    eventString = "Participation type: ";
	sprintf (str, "%ld", dlg.m_ParticipationType);
    eventString += str;
	DisplayTheEvent (eventString);   

    /*eventString = "Joining Device Profile: ";
	sprintf (str, "%ld", dlg.m_DeviceProfile);
    eventString += str;
	DisplayTheEvent (eventString); */ 

 	eventString.Format("Account code: %s", my_accountInfo);
	DisplayTheEvent (eventString);  	

 	eventString.Format("Auth Code: %s", my_authCode);
	DisplayTheEvent (eventString);  
	
    DisplayTsapiCorrelatorData(&my_correlatorData);
  
  }

}



// **************************************************************************
//	Added by G.L. 23 March 98
//  CstaSingleStepConfEvent : this event provides the positive response from
//  the server for a previous deflect call request.
// **************************************************************************

void CMainWind::CstaSingleStepConfEvent () {
  DisplayTheEvent ("CSTA CONFIRM Single Step Conference");
  return;
}
// **************************************************************************
// Added by G.L. 23 March 98
// CstaRecordMessage
// **************************************************************************

void CMainWind::CstaRecordMessage()
{ CRecordMessageDlg dlg;
  char str[15];
  dlg.m_nDeviceType = (int)DYNAMIC_ID;
 
  if (dlg.DoModal() == IDOK){
	ConnectionID_t		connectionID;

    connectionID.callID = atol (dlg.m_CallID);
    strcpy (connectionID.deviceID, dlg.m_DeviceID);
    connectionID.devIDType = (ConnectionID_Device_t)dlg.m_nDeviceType;

	m_nRetCode = cstaRecordMessage(	m_acsHandle,
									(InvokeID_t)0,
									(ConnectionID_t FAR *)&connectionID,
									(double )dlg.m_SamplingRate,
									(EncodingAlg_t )dlg.m_EncodingAlg,
									dlg.m_MaxDuration,
									dlg.m_TerminatingConditions,
									NULL);
    if (m_nRetCode < 0) {
      MessageBoxError ("cstaRecordMessage", m_nRetCode);
      return;
    }
	
	CString eventString;

    DisplayEventTitle("CSTA REQUEST Record Message: ");
	eventString += AddConnectionID (connectionID);
	DisplayTheEvent (eventString);

    eventString = "Sampling Rate: ";
	sprintf (str, "%lf", dlg.m_SamplingRate);
    eventString += str;
	DisplayTheEvent (eventString); 

    eventString = "Encoding Alg: ";
	sprintf (str, "%ld", dlg.m_EncodingAlg);
    eventString += str;
	DisplayTheEvent (eventString); 

    eventString = "Max Duration: ";
	sprintf (str, "%ld", dlg.m_MaxDuration);
    eventString += str;
	DisplayTheEvent (eventString);   
  
    eventString = "Termination: ";
	sprintf (str, "%ld", dlg.m_TerminatingConditions);
    eventString += str;
	DisplayTheEvent (eventString); 
  }
}

// **************************************************************************
//	Added by G.L. 23 March 98
//  CstaRecordMessageConfEvent : this event provides the positive response from
//  the server for a previous deflect call request.
// **************************************************************************

void CMainWind::CstaRecordMessageConfEvent () {
  DisplayTheEvent ("CSTA CONFIRM Record Message");
  return;
}

// **************************************************************************
// Added by G.L. 23 March 98
// CstaStop
// **************************************************************************

void CMainWind::CstaStop()
{ CStopDlg dlg;
  dlg.m_nDeviceType = (int)DYNAMIC_ID;
 
  if (dlg.DoModal() == IDOK){
	ConnectionID_t		connectionID;

    connectionID.callID = atol (dlg.m_CallID);
    strcpy (connectionID.deviceID, dlg.m_DeviceID);
    connectionID.devIDType = (ConnectionID_Device_t)dlg.m_nDeviceType;

	char my_messageID[64];
	strcpy(my_messageID,dlg.m_MessageID);

	m_nRetCode = cstaStop(	m_acsHandle,
							(InvokeID_t)0,
							(ConnectionID_t FAR*)&connectionID,
							(MessageID_t	FAR*)&my_messageID,
							NULL);
    if (m_nRetCode < 0) {
      MessageBoxError ("cstaRecordMessage", m_nRetCode);
      return;
    }
	
	CString eventString;

	DisplayEventTitle("CSTA REQUEST Stop");
	eventString += AddConnectionID (connectionID);
	DisplayTheEvent (eventString);

 	eventString.Format("Message : %s", my_messageID);
	DisplayTheEvent (eventString);

  }
}
// **************************************************************************
//	Added by G.L. 23 March 98
//  CstaStopCallConfEvent : this event provides the positive response from
//  the server for a previous deflect call request.
// **************************************************************************


void CMainWind::CstaStopCallConfEvent () {
  DisplayTheEvent ("CSTA CONFIRM Stop call");
  return;
}

// **************************************************************************
//	Added by G.L. 21 July 98
//  CstaEscapeServiceInter 
// **************************************************************************
void CMainWind::CstaEscapeServiceInter ()
{
	CEscServInt dlg;
	char privData[160]; 
	dlg.m_iEscapeDeviceType = DYNAMIC_ID;
	dlg.m_edDeviceID = myDeviceId;
	dlg.m_edCallID = mainCallID;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -