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

📄 cstatst32.cpp

📁 csta协议的开发
💻 CPP
📖 第 1 页 / 共 5 页
字号:
								1,
								TRUE);
		                      

	
		eventString.Format("   ESR Reset ( eventCounter : %d)",eventCountedByEsr);

	}
	DisplayString (eventString);
	return TRUE;

}

/*
 *
 * AcsOpenStream : this function opens a communications session (ACS message
 * stream) to the telephony server. It also install the event service routine
 * with the acsSetEsr primitive.
 *
 */
 
BOOL CMainWind::AcsOpenStream (StreamType_t apiLevel) {
	//char tcpbuf[60];
	//pPrivateData = (PrivateData_t*) tcpbuf;
	//memcpy (pPrivateData->data,"TCP_NODELAY",12);
  m_nRetCode = acsOpenStream (&m_acsHandle,
                LIB_GEN_ID,
                0,
				// Changed by G.L. 11 february 98
				apiLevel,
                //ST_CSTA2,
                (ServerID_t FAR*)m_sServerName.operator const char *(),
                (LoginID_t FAR*)m_sLoginName.operator const char *(),
                (Passwd_t FAR*)m_sPassword.operator const char *(),
                (AppName_t FAR*)m_sProgName.operator const char *(),
                m_nACSLevel,
                (Version_t *)CSTA_API_VERSION,
                0,
                0,
                0,
                0,
                pPrivateData);
  TryToReconnect();	/*YB 240800*/

/*Test+*/
  DisplayEventTitle ("ACS REQUEST Open Stream");
  if (m_nRetCode < 0) {
//    MessageBoxError ("acsOpenStream", m_nRetCode);
  DisplayEventTitle ("ACS REQUEST Open Stream ERROR");
	AcsCloseStream();
/*Test-*/
    return (FALSE);
  }
/*YB 240800+*/
	AcsGetEventBlock(0,0);	//once to receive the ACS_OPEN_STREAM_CONF
/*YB 240800-*/
  m_nRetCode = acsEventNotify (m_acsHandle, m_hWnd, WM_ACSEVENT, TRUE);
  if (m_nRetCode != ACSPOSITIVE_ACK)
    DisplayTheEvent ("ACS Event Notify Error");

  return (TRUE);
}

/*
 *
 * AcsOpenStreamConf : this function is the confirmation of the AcsOpenStream
 * primitive.
 *
 */
 
void CMainWind::AcsOpenStreamConfEvent () {
  ACSOpenStreamConfEvent_t *pEvent;
  CString eventString;
  
  eventString = "CSTA Application. Connected to ";
  eventString += m_sServerName;
  SetWindowText(eventString);
  pEvent = &m_cstaEvent.event.acsConfirmation.u.acsopen;
  eventString = "ACS CONFIRM Open Stream";
  DisplayTheEvent (eventString);
  eventString = "           API Version: ";
  eventString += pEvent->apiVer;
  DisplayString (eventString);
  eventString = "           Library Version: ";
  eventString += pEvent->libVer;
  DisplayString (eventString);
  eventString = "           TSERVER Version: ";
  eventString += pEvent->tsrvVer;
  DisplayString (eventString);
  eventString = "           Driver Version: ";
  eventString += pEvent->drvrVer;
  DisplayString (eventString);
  theApp.m_bPhoneOn = TRUE;
  m_bOpenedStream = TRUE;
  /*YB 240800+*/
  ::KillTimer(NULL, my_reconnectTimer);
  m_bAutoReconnect = FALSE;
  /*YB 240800-*/

  // Start the AutoKeepalive;
  AutoKeepalive();
  return;
}

/*
 *
 * AcsCloseStream : this function inhibits the event service routine function
 * and closes an opened stream.
 *
 */
                              
void CMainWind::AcsCloseStream () {
  if (m_bOpenedStream) {
    m_nRetCode = acsCloseStream (m_acsHandle,
              (InvokeID_t) 0,
              pPrivateData);
    if (m_nRetCode < 0) {
/*Essai+*/
//      MessageBoxError ("acsCloseStream", m_nRetCode);
    DisplayTheEvent ("ACS REQUEST Close Stream ERROR");
/*Essai-*/
      return;
    }
    DisplayTheEvent ("ACS REQUEST Close Stream");
    theApp.m_bPhoneOn = FALSE;
    m_bOpenedStream = FALSE;
    SetWindowText("CSTA Application. Not Connected");
  }
  return;
}                                             

void CMainWind::AcsCloseStreamConfEvent () {
  DisplayTheEvent ("ACS CONFIRM Close Stream");
  theApp.m_bPhoneOn = FALSE;
  m_bOpenedStream = FALSE;
  return;
}

void CMainWind::AcsAbortStream () {
  acsEventNotify (m_acsHandle, NULL, WM_ACSEVENT, TRUE);
  if (m_bOpenedStream) {
    acsFlushEventQueue (m_acsHandle);
    m_nRetCode = acsAbortStream (m_acsHandle,
              pPrivateData);
    if (m_nRetCode < 0) {
      MessageBoxError ("acsAbortStream", m_nRetCode);
      return;
    }
    DisplayTheEvent ("ACS REQUEST Abort Stream");
    m_bOpenedStream = FALSE;
    theApp.m_bPhoneOn = FALSE;
    SetWindowText("CSTA Application. Not Connected");
  }
  return;
}

/*
 *
 * AcsUniversalFailureConf : this event can occur at any time in place of a
 * confirmation event for any of the CSTA functions which have their own
 * confirmation event and indicates a problem in the process of the requested
 * function.
 *
 */
 
void CMainWind::AcsUniversalFailureConfEvent (ACSUniversalFailure_t error, int i) {
  CString eventString;
  char str1 [40];

  if (i)
    eventString = "ACS CONFIRMATION Failure ";
  else
    eventString = "ACS UNSOLITED Failure ";
  switch (error) {
    case TSERVER_STREAM_FAILED :
      eventString += "TSERVER_STREAM_FAILED";
      break;
    case TSERVER_NO_THREAD :
      eventString += "TSERVER_NO_THREAD";
      break;
    case TSERVER_BAD_DRIVER_ID :
      eventString += "TSERVER_BAD_DRIVER_ID";
      break;
    case TSERVER_DEAD_DRIVER :
      eventString += "TSERVER_DEAD_DRIVER";
      break;
    case TSERVER_MESSAGE_HIGH_WATER_MARK :
      eventString += "TSERVER_MESSAGE_HIGH_WATER_MARK";
      break;
    case TSERVER_FREE_BUFFER_FAILED :
      eventString += "TSERVER_FREE_BUFFER_FAILED";
      break;
    case TSERVER_SEND_TO_DRIVER :
      eventString += "TSERVER_SEND_TO_DRIVER";
      break;
    case TSERVER_RECEIVE_FROM_DRIVER :
      eventString += "TSERVER_RECEIVE_FROM_DRIVER";
      break;
    case TSERVER_REGISTRATION_FAILED :
      eventString += "TSERVER_REGISTRATION_FAILED";
      break;
    case TSERVER_SPX_FAILED :
      eventString += "TSERVER_SPX_FAILED";
      break;
    case TSERVER_TRACE :
      eventString += "TSERVER_TRACE";
      break;
    case TSERVER_NO_MEMORY :
      eventString += "TSERVER_NO_MEMORY";
      break;
    case TSERVER_ENCODE_FAILED :
      eventString += "TSERVER_ENCODE_FAILED";
      break;
    case TSERVER_DECODE_FAILED :
      eventString += "TSERVER_DECODE_FAILED";
      break;
    case TSERVER_BAD_CONNECTION :
      eventString += "TSERVER_BAD_CONNECTION";
      break;
    case TSERVER_BAD_PDU :
      eventString += "TSERVER_BAD_PDU";
      break;
    case TSERVER_NO_VERSION :
      eventString += "TSERVER_NO_VERSION";
      break;
    case TSERVER_ECB_MAX_EXCEEDED :
      eventString += "TSERVER_ECB_MAX_EXCEEDED";
      break;
    case TSERVER_NO_ECBS :
      eventString += "TSERVER_NO_ECBS";
      break;
    case TSERVER_NO_SDB :
      eventString += "TSERVER_NO_SDB";
      break;
    case TSERVER_NO_SDB_CHECK_NEEDED :
      eventString += "TSERVER_NO_SDB_CHECK_NEEDED";
      break;
    case TSERVER_SDB_CHECK_NEEDED :
      eventString += "TSERVER_SDB_CHECK_NEEDED";
      break;
    case TSERVER_BAD_SDB_LEVEL :
      eventString += "TSERVER_BAD_SDB_LEVEL";
      break;
    case TSERVER_BAD_SERVERID :
      eventString += "TSERVER_BAD_SERVERID";
      DisplayEventTitle (eventString);
      OnAbortstream ();
      return;
    case TSERVER_BAD_STREAM_TYPE :
      eventString += "TSERVER_BAD_STREAM_TYPE";
      DisplayEventTitle (eventString);
      OnAbortstream ();
      return;
    case TSERVER_BAD_PASSWORD_OR_LOGIN :
      eventString += "TSERVER_BAD_PASSWORD_OR_LOGIN";
      DisplayTheEvent (eventString);
      OnAbortstream ();
      return;
    case TSERVER_NO_USER_RECORD :
      eventString += "TSERVER_NO_USER_RECORD";
      DisplayEventTitle (eventString);
      OnAbortstream ();
      return;
    case TSERVER_NO_DEVICE_RECORD :
      eventString += "TSERVER_NO_DEVICE_RECORD";
      break;
    case TSERVER_DEVICE_NOT_ON_LIST :
      eventString += "TSERVER_DEVICE_NOT_ON_LIST";
      break;
    case TSERVER_USERS_RESTRICTED_HOME :
      eventString += "TSERVER_USERS_RESTRICTED_HOME";
      break;
    case TSERVER_NO_AWAYPERMISSION :
      eventString += "TSERVER_NO_AWAYPERMISSION";
      break;
    case TSERVER_NO_HOMEPERMISSION :
      eventString += "TSERVER_NO_HOMEPERMISSION";
      break;
    case TSERVER_NO_AWAY_WORKTOP :
      eventString += "TSERVER_NO_AWAY_WORKTOP";
      break;
    case TSERVER_BAD_DEVICE_RECORD :
      eventString += "TSERVER_BAD_DEVICE_RECORD";
      break;
    case TSERVER_DEVICE_NOT_SUPPORTED :
      eventString += "TSERVER_DEVICE_NOT_SUPPORTED";
      break;
    case TSERVER_INSUFFICIENT_PERMISSION :
      eventString += "TSERVER_INSUFFICIENT_PERMISSION";
      break;
    case TSERVER_NO_RESOURCE_TAG :
      eventString += "TSERVER_NO_RESOURCE_TAG";
      break;
    case TSERVER_INVALID_MESSAGE :
      eventString += "TSERVER_INVALID_MESSAGE";
      break;
    case TSERVER_EXCEPTION_LIST :
      eventString += "TSERVER_EXCEPTION_LIST";
      break;
    case TSERVER_NOT_ON_OAM_LIST :
      eventString += "TSERVER_NOT_ON_OAM_LIST";
      break;
    case TSERVER_PBX_ID_NOT_IN_SDB :
      eventString += "TSERVER_PBX_ID_NOT_IN_SDB";
      break;
    case TSERVER_USER_LICENSES_EXCEEDED :
      eventString += "TSERVER_USER_LICENSES_EXCEEDED";
      break;
    case TSERVER_OAM_DROP_CONNECTION :
      eventString += "TSERVER_OAM_DROP_CONNECTION";
      break;
    case TSERVER_NO_VERSION_RECORD :
      eventString += "TSERVER_NO_VERSION_RECORD";
      break;
    case TSERVER_OLD_VERSION_RECORD :
      eventString += "TSERVER_OLD_VERSION_RECORD";
      break;
    case TSERVER_BAD_PACKET :
      eventString += "TSERVER_BAD_PACKET";
      break;
    case TSERVER_OPEN_FAILED :
      eventString += "TSERVER_OPEN_FAILED";
      break;
    case TSERVER_OAM_IN_USE :
      eventString += "TSERVER_OAM_IN_USE";
      break;
    case TSERVER_DEVICE_NOT_ON_HOME_LIST :
      eventString += "TSERVER_DEVICE_NOT_ON_HOME_LIST";
      break;
    case TSERVER_DEVICE_NOT_ON_CALL_CONTROL_LIST :
      eventString += "TSERVER_DEVICE_NOT_ON_CALL_CONTROL_LIST";
      break;
    case TSERVER_DEVICE_NOT_ON_AWAY_LIST :
      eventString += "TSERVER_DEVICE_NOT_ON_AWAY_LIST";
      break;
    case TSERVER_DEVICE_NOT_ON_ROUTE_LIST :
      eventString += "TSERVER_DEVICE_NOT_ON_AWAY_LIST";
      break;
    case TSERVER_DEVICE_NOT_ON_MONITOR_DEVICE_LIST :
      eventString += "TSERVER_DEVICE_NOT_ON_MONITOR_DEVICE_LIST";
      break;
    case TSERVER_DEVICE_NOT_ON_MONITOR_CALL_DEVICE_LIST :
      eventString += "TSERVER_DEVICE_NOT_ON_MONITOR_CALL_DEVICE_LIST";
      break;
    case TSERVER_NO_CALL_CALL_MONITOR_PERMISSION :
      eventString += "TSERVER_NO_CALL_CALL_MONITOR_PERMISSION";
      break;
    case TSERVER_HOME_DEVICE_LIST_EMPTY :
      eventString += "TSERVER_HOME_DEVICE_LIST_EMPTY";
      break;
    case TSERVER_CALL_CONTROL_LIST_EMPTY :
      eventString += "TSERVER_CALL_CONTROL_LIST_EMPTY";
      break;
    case TSERVER_AWAY_LIST_EMPTY :
      eventString += "TSERVER_AWAY_LIST_EMPTY";
      break;
    case TSERVER_ROUTE_LIST_EMPTY :
      eventString += "TSERVER_ROUTE_LIST_EMPTY";
      break;
    case TSERVER_MONITOR_DEVICE_LIST_EMPTY :
      eventString += "TSERVER_MONITOR_DEVICE_LIST_EMPTY";
      break;
    case TSERVER_MONITOR_CALL_DEVICE_LIST_EMPTY :
      eventString += "TSERVER_MONITOR_CALL_DEVICE_LIST_EMPTY";
      break;
    case TSERVER_USER_AT_HOME_WORKTOP :
      eventString += "TSERVER_USER_AT_HOME_WORKTOP";
      break;
    case TSERVER_DEVICE_LIST_EMPTY :
      eventString += "TSERVER_DEVICE_LIST_EMPTY";
      break;
    case TSERVER_BAD_GET_DEVICE_LEVEL :
      eventString += "TSERVER_BAD_GET_DEVICE_LEVEL";
      break;
    case TSERVER_DRIVER_UNREGISTERED :
      eventString += "TSERVER_DRIVER_UNREGISTERED";
      break;
    case TSERVER_NO_ACS_STREAM :
      eventString += "TSERVER_NO_ACS_STREAM";
      break;
    case TSERVER_DROP_OAM :
      eventString += "TSERVER_DROP_OAM";
      break;
    case TSERVER_ECB_TIMEOUT :
      eventString += "TSERVER_ECB_TIMEOUT";
      break;
    case TSERVER_BAD_ECB :
      eventString += "TSERVER_BAD_ECB";
      break;
    case TSERVER_ADVERTISE_FAILED :
      eventString += "TSERVER_ADVERTISE_FAILED";
      break;
    case TSERVER_NETWARE_FAILURE :
      eventString += "TSERVER_NETWARE_FAILURE";
      break;
    case TSERVER_TDI_QUEUE_FAULT :
      eventString += "TSERVER_TDI_QUEUE_FAULT";
      break;
    case TSERVER_DRIVER_CONGESTION :
      eventString += "TSERVER_DRIVER_CONGESTION";
      break;
    case TSERVER_NO_TDI_BUFFERS :
      eventString += "TSERVER_NO_TDI_BUFFERS";
      break;
    case TSERVER_OLD_INVOKEID :
      eventString += "TSERVER_OLD_INVOKEID";
      break;
    case TSERVER_HWMARK_TO_LARGE :
      eventString += "TSERVER_HWMARK_TO_LARGE";
      break;
    case TSERVER_SET_ECB_TO_LOW :
      eventString += "TSERVER_SET_ECB_TO_LOW";
      break;
    case TSERVER_NO_RECORD_IN_FILE :
      eventString += "TSERVER_NO_RECORD_IN_FILE";
      break;
    case TSERVER_ECB_OVERDUE :
      eventString += "TSERVER_ECB_OVERDUE";
      break;
    case DRIVER_DUPLICATE_ACSHANDLE :
      eventString += "DRIVER_DUPLICATE_ACSHANDLE";
      DisplayEventTitle (eventString);
      OnAbortstream ();
      return;
    case DRIVER_INVALID_ACS_REQUEST :
      eventString += "DRIVER_INVALID_ACS_REQUEST";
      break;
    case DRIVER_ACS_HANDLE_REJECTION :
      eventString += "DRIVER_ACS_HANDLE_REJECTION";
      break;
    case DRIVER_INVALID_CLASS_REJECTION :
      eventString += "DRIVER_INVALID_CLASS_REJECTION";
      break;
    case DRIVER_GENERIC_REJECTION :
      eventString += "DRIVER_GENERIC_REJECTION";
      break;
    case DRIVER_RESOURCE_LIMITATION :
      eventString += "DRIVER_RESOURCE_LIMITATION";
      break;
    case DRIVER_ACSHANDLE_TERMINATION :
      eventString += "DRIVER_ACSHANDLE_TERMINATION";
      DisplayEventTitle (eventString);
      OnAbortstream ();

⌨️ 快捷键说明

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