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

📄 utilities.cpp

📁 Avaya AES Tsapi接口开发的 CallRouting 代码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
		cs->Format( "%d", connectionID_Device );
		break;
	}
	return cs;
}

CString * makeConnectionIDStr( ConnectionID_t *connectionID )
{
	CString *cs = new CString;
	CString *csCID = makeConnectionID_DeviceStr( connectionID->devIDType );
	cs->Format( "{ callID=%d deviceID='%s' devIDType=%s }", 
		connectionID->callID, connectionID->deviceID, csCID->GetString() );
	delete csCID;
	return cs;
}

CString * makeCSTACallStateStr( CSTACallState_t *cstaCallState )
{
	CString *cs = new CString;
	cs->Format( "{ %d: ", cstaCallState->count );
	for ( int i=0; i<cstaCallState->count; i++ )
	{
        CString *csLCS = makeLocalConnectionStateStr( cstaCallState->state[i] );
		CString tmp_cs;
		tmp_cs.Format( "%s ", csLCS->GetString() );
		delete csLCS;
		*cs += tmp_cs;
	}
	*cs += "}";
	return cs;
}

CString * makeCSTASnapshotCallResponseInfoStr( CSTASnapshotCallResponseInfo_t *cstaSnapshotCallResponseInfo )
{
	CString *cs = new CString;
	CString *csCID = makeConnectionIDStr( &cstaSnapshotCallResponseInfo->callIdentifier );
	CString *csEDID = makeExtendedDeviceIDStr( &cstaSnapshotCallResponseInfo->deviceOnCall );
	CString *csLCS = makeLocalConnectionStateStr( cstaSnapshotCallResponseInfo->localConnectionState );
	cs->Format( "{ callIdentifier=%s deviceOnCall=%s localConnectionState=%s }",
		csCID->GetString(), csEDID->GetString(), csLCS->GetString() );
	delete csCID;
	delete csEDID;
	delete csLCS;
	return cs;
}

CString * makeCSTASnapshotDeviceResponseInfoStr( CSTASnapshotDeviceResponseInfo_t *cstaSnapshotDeviceResponseInfo )
{
	CString *cs = new CString;
	CString *csCID = makeConnectionIDStr( &cstaSnapshotDeviceResponseInfo->callIdentifier );
	CString *csCCS = makeCSTACallStateStr( &cstaSnapshotDeviceResponseInfo->localCallState );
	cs->Format( "{ callIdentifier=%s localCallState=%s }",
		csCID->GetString(), csCCS->GetString() );
	delete csCID;
	delete csCCS;
	return cs;
}

CString * makeCSTASnapshotCallDataStr( CSTASnapshotCallData_t *snapshotCallData )
{
	CString *cs = new CString;
	cs->Format( "%d", snapshotCallData->count );
	for ( int i=0; i<snapshotCallData->count; i++ )
	{
        CString *csCSCRI = makeCSTASnapshotCallResponseInfoStr( &snapshotCallData->info[i] );
		CString tmp_cs;
		tmp_cs.Format( "\n      snap%d=%s", i, csCSCRI->GetString() );
		delete csCSCRI;
		*cs += tmp_cs;
	}
	return cs;
}

CString * makeCSTASnapshotDeviceDataStr( CSTASnapshotDeviceData_t *snapshotDeviceData )
{
	CString *cs = new CString;
	cs->Format( "%d", snapshotDeviceData->count );
	for ( int i=0; i<snapshotDeviceData->count; i++ )
	{
        CString *csCSDRI = makeCSTASnapshotDeviceResponseInfoStr( &snapshotDeviceData->info[i] );
		CString tmp_cs;
		tmp_cs.Format( "\n      snap%d=%s", i, csCSDRI->GetString() );
		delete csCSDRI;
		*cs += tmp_cs;
	}
	return cs;
}


CString * makeCSTAMonitorFilterStr( CSTAMonitorFilter_t *monitorFilter )
{
	CString *cs = new CString;
	cs->Format( "{ agent=0x%x call=0x%x feature=0x%x maintenance=0x%x privateFilter=0x%x }", 
		monitorFilter->agent, monitorFilter->call, monitorFilter->feature, 
		monitorFilter->maintenance, monitorFilter->privateFilter );
	return cs;
}

CString * makeCSTAEventCauseStr( CSTAEventCause_t cause )
{
	CString *cs = new CString;
	switch( cause )
	{
	case EC_NONE:
		*cs = "EC_NONE";
		break;
	case EC_ACTIVE_MONITOR:
		*cs = "EC_ACTIVE_MONITOR";
		break;
	case EC_ALTERNATE:
		*cs = "EC_ALTERNATE";
		break;
	case EC_BUSY:
		*cs = "EC_BUSY";
		break;
	case EC_CALL_BACK:
		*cs = "EC_CALL_BACK";
		break;
	case EC_CALL_CANCELLED:
		*cs = "EC_CALL_CANCELLED";
		break;
	case EC_CALL_FORWARD_ALWAYS:
		*cs = "EC_CALL_FORWARD_ALWAYS";
		break;
	case EC_CALL_FORWARD_BUSY:
		*cs = "EC_CALL_FORWARD_BUSY";
		break;
	case EC_CALL_FORWARD_NO_ANSWER:
		*cs = "EC_CALL_FORWARD_NO_ANSWER";
		break;
	case EC_CALL_FORWARD:
		*cs = "EC_CALL_FORWARD";
		break;
	case EC_CALL_NOT_ANSWERED:
		*cs = "EC_CALL_NOT_ANSWERED";
		break;
	case EC_CALL_PICKUP:
		*cs = "EC_CALL_PICKUP";
		break;
	case EC_CAMP_ON:
		*cs = "EC_CAMP_ON";
		break;
	case EC_DEST_NOT_OBTAINABLE:
		*cs = "EC_DEST_NOT_OBTAINABLE";
		break;
	case EC_DO_NOT_DISTURB:
		*cs = "EC_DO_NOT_DISTURB";
		break;
	case EC_INCOMPATIBLE_DESTINATION:
		*cs = "EC_INCOMPATIBLE_DESTINATION";
		break;
	case EC_INVALID_ACCOUNT_CODE:
		*cs = "EC_INVALID_ACCOUNT_CODE";
		break;
	case EC_KEY_CONFERENCE:
		*cs = "EC_KEY_CONFERENCE";
		break;
	case EC_LOCKOUT:
		*cs = "EC_LOCKOUT";
		break;
	case EC_MAINTENANCE:
		*cs = "EC_MAINTENANCE";
		break;
	case EC_NETWORK_CONGESTION:
		*cs = "EC_NETWORK_CONGESTION";
		break;
	case EC_NETWORK_NOT_OBTAINABLE:
		*cs = "EC_NETWORK_NOT_OBTAINABLE";
		break;
	case EC_NEW_CALL:
		*cs = "EC_NEW_CALL";
		break;
	case EC_NO_AVAILABLE_AGENTS:
		*cs = "EC_NO_AVAILABLE_AGENTS";
		break;
	case EC_OVERRIDE:
		*cs = "EC_OVERRIDE";
		break;
	case EC_PARK:
		*cs = "EC_PARK";
		break;
	case EC_OVERFLOW:
		*cs = "EC_OVERFLOW";
		break;
	case EC_RECALL:
		*cs = "EC_RECALL";
		break;
	case EC_REDIRECTED:
		*cs = "EC_REDIRECTED";
		break;
	case EC_REORDER_TONE:
		*cs = "EC_REORDER_TONE";
		break;
	case EC_RESOURCES_NOT_AVAILABLE:
		*cs = "EC_RESOURCES_NOT_AVAILABLE";
		break;
	case EC_SILENT_MONITOR:
		*cs = "EC_SILENT_MONITOR";
		break;
	case EC_TRANSFER:
		*cs = "EC_TRANSFER";
		break;
	case EC_TRUNKS_BUSY:
		*cs = "EC_TRUNKS_BUSY";
		break;
	case EC_VOICE_UNIT_INITIATOR:
		*cs = "EC_VOICE_UNIT_INITIATOR";
		break;
	case EC_NETWORKSIGNAL:
		*cs = "EC_NETWORKSIGNAL";
		break;
	case EC_ALERTTIMEEXPIRED:
		*cs = "EC_ALERTTIMEEXPIRED";
		break;
	case EC_DESTOUTOFORDER:
		*cs = "EC_DESTOUTOFORDER";
		break;
	case EC_NOTSUPPORTEDBEARERSERVICE:
		*cs = "EC_NOTSUPPORTEDBEARERSERVICE";
		break;
	case EC_UNASSIGNED_NUMBER:
		*cs = "EC_UNASSIGNED_NUMBER";
		break;
	case EC_INCOMPATIBLE_BEARER_SERVICE:
		*cs = "EC_INCOMPATIBLE_BEARER_SERVICE";
		break;
	default:
		cs->Format( "%d", cause );
		break;
	}
	return cs;
}

CString * makeCSTAUFStr( CSTAUniversalFailure_t error )
{
	CString *cs = new CString;
	switch( error )
	{
	case GENERIC_UNSPECIFIED:
		*cs = "GENERIC_UNSPECIFIED";
		break;
	case GENERIC_OPERATION:
		*cs = "GENERIC_OPERATION";
		break;
	case REQUEST_INCOMPATIBLE_WITH_OBJECT:
		*cs = "REQUEST_INCOMPATIBLE_WITH_OBJECT";
		break;
	case VALUE_OUT_OF_RANGE:
		*cs = "VALUE_OUT_OF_RANGE";
		break;
	case OBJECT_NOT_KNOWN:
		*cs = "OBJECT_NOT_KNOWN";
		break;
	case INVALID_CALLING_DEVICE:
		*cs = "INVALID_CALLING_DEVICE";
		break;
	case INVALID_CALLED_DEVICE:
		*cs = "INVALID_CALLED_DEVICE";
		break;
	case INVALID_FORWARDING_DESTINATION:
		*cs = "INVALID_FORWARDING_DESTINATION";
		break;
	case PRIVILEGE_VIOLATION_ON_SPECIFIED_DEVICE:
		*cs = "PRIVILEGE_VIOLATION_ON_SPECIFIED_DEVICE";
		break;
	case PRIVILEGE_VIOLATION_ON_CALLED_DEVICE:
		*cs = "PRIVILEGE_VIOLATION_ON_CALLED_DEVICE";
		break;
	case PRIVILEGE_VIOLATION_ON_CALLING_DEVICE:
		*cs = "PRIVILEGE_VIOLATION_ON_CALLING_DEVICE";
		break;
	case INVALID_CSTA_CALL_IDENTIFIER:
		*cs = "INVALID_CSTA_CALL_IDENTIFIER";
		break;
	case INVALID_CSTA_DEVICE_IDENTIFIER:
		*cs = "INVALID_CSTA_DEVICE_IDENTIFIER";
		break;
	case INVALID_CSTA_CONNECTION_IDENTIFIER:
		*cs = "INVALID_CSTA_CONNECTION_IDENTIFIER";
		break;
	case INVALID_DESTINATION:
		*cs = "INVALID_DESTINATION";
		break;
	case INVALID_FEATURE:
		*cs = "INVALID_FEATURE";
		break;
	case INVALID_ALLOCATION_STATE:
		*cs = "INVALID_ALLOCATION_STATE";
		break;
	case INVALID_CROSS_REF_ID:
		*cs = "INVALID_CROSS_REF_ID";
		break;
	case INVALID_OBJECT_TYPE:
		*cs = "INVALID_OBJECT_TYPE";
		break;
	case SECURITY_VIOLATION:
		*cs = "SECURITY_VIOLATION";
		break;
	case GENERIC_STATE_INCOMPATIBILITY:
		*cs = "GENERIC_STATE_INCOMPATIBILITY";
		break;
	case INVALID_OBJECT_STATE:
		*cs = "INVALID_OBJECT_STATE";
		break;
	case INVALID_CONNECTION_ID_FOR_ACTIVE_CALL:
		*cs = "INVALID_CONNECTION_ID_FOR_ACTIVE_CALL";
		break;
	case NO_ACTIVE_CALL:
		*cs = "NO_ACTIVE_CALL";
		break;
	case NO_HELD_CALL:
		*cs = "NO_HELD_CALL";
		break;
	case NO_CALL_TO_CLEAR:
		*cs = "NO_CALL_TO_CLEAR";
		break;
	case NO_CONNECTION_TO_CLEAR:
		*cs = "NO_CONNECTION_TO_CLEAR";
		break;
	case NO_CALL_TO_ANSWER:
		*cs = "NO_CALL_TO_ANSWER";
		break;
	case NO_CALL_TO_COMPLETE:
		*cs = "NO_CALL_TO_COMPLETE";
		break;
	case GENERIC_SYSTEM_RESOURCE_AVAILABILITY:
		*cs = "GENERIC_SYSTEM_RESOURCE_AVAILABILITY";
		break;
	case SERVICE_BUSY:
		*cs = "SERVICE_BUSY";
		break;
	case RESOURCE_BUSY:
		*cs = "RESOURCE_BUSY";
		break;
	case RESOURCE_OUT_OF_SERVICE:
		*cs = "RESOURCE_OUT_OF_SERVICE";
		break;
	case NETWORK_BUSY:
		*cs = "NETWORK_BUSY";
		break;
	case NETWORK_OUT_OF_SERVICE:
		*cs = "NETWORK_OUT_OF_SERVICE";
		break;
	case OVERALL_MONITOR_LIMIT_EXCEEDED:
		*cs = "OVERALL_MONITOR_LIMIT_EXCEEDED";
		break;
	case CONFERENCE_MEMBER_LIMIT_EXCEEDED:
		*cs = "CONFERENCE_MEMBER_LIMIT_EXCEEDED";
		break;
	case GENERIC_SUBSCRIBED_RESOURCE_AVAILABILITY:
		*cs = "GENERIC_SUBSCRIBED_RESOURCE_AVAILABILITY";
		break;
	case OBJECT_MONITOR_LIMIT_EXCEEDED:
		*cs = "OBJECT_MONITOR_LIMIT_EXCEEDED";
		break;
	case EXTERNAL_TRUNK_LIMIT_EXCEEDED:
		*cs = "EXTERNAL_TRUNK_LIMIT_EXCEEDED";
		break;
	case OUTSTANDING_REQUEST_LIMIT_EXCEEDED:
		*cs = "OUTSTANDING_REQUEST_LIMIT_EXCEEDED";
		break;
	case GENERIC_PERFORMANCE_MANAGEMENT:
		*cs = "GENERIC_PERFORMANCE_MANAGEMENT";
		break;
	case PERFORMANCE_LIMIT_EXCEEDED:
		*cs = "PERFORMANCE_LIMIT_EXCEEDED";
		break;
	case UNSPECIFIED_SECURITY_ERROR:
		*cs = "UNSPECIFIED_SECURITY_ERROR";
		break;
	case SEQUENCE_NUMBER_VIOLATED:
		*cs = "SEQUENCE_NUMBER_VIOLATED";
		break;
	case TIME_STAMP_VIOLATED:
		*cs = "TIME_STAMP_VIOLATED";
		break;
	case PAC_VIOLATED:
		*cs = "PAC_VIOLATED";
		break;
	case SEAL_VIOLATED:
		*cs = "SEAL_VIOLATED";
		break;
	case GENERIC_UNSPECIFIED_REJECTION:
		*cs = "GENERIC_UNSPECIFIED_REJECTION";
		break;
	case GENERIC_OPERATION_REJECTION:
		*cs = "GENERIC_OPERATION_REJECTION";
		break;
	case DUPLICATE_INVOCATION_REJECTION:
		*cs = "DUPLICATE_INVOCATION_REJECTION";
		break;
	case UNRECOGNIZED_OPERATION_REJECTION:
		*cs = "UNRECOGNIZED_OPERATION_REJECTION";
		break;
	case MISTYPED_ARGUMENT_REJECTION:
		*cs = "MISTYPED_ARGUMENT_REJECTION";
		break;
	case RESOURCE_LIMITATION_REJECTION:
		*cs = "RESOURCE_LIMITATION_REJECTION";
		break;
	case ACS_HANDLE_TERMINATION_REJECTION:
		*cs = "ACS_HANDLE_TERMINATION_REJECTION";
		break;
	case SERVICE_TERMINATION_REJECTION:
		*cs = "SERVICE_TERMINATION_REJECTION";
		break;
	case REQUEST_TIMEOUT_REJECTION:
		*cs = "REQUEST_TIMEOUT_REJECTION";
		break;
	case REQUESTS_ON_DEVICE_EXCEEDED_REJECTION:
		*cs = "REQUESTS_ON_DEVICE_EXCEEDED_REJECTION";
		break;
	case UNRECOGNIZED_APDU_REJECTION:
		*cs = "UNRECOGNIZED_APDU_REJECTION";
		break;
	case MISTYPED_APDU_REJECTION:
		*cs = "MISTYPED_APDU_REJECTION";
		break;
	case BADLY_STRUCTURED_APDU_REJECTION:
		*cs = "BADLY_STRUCTURED_APDU_REJECTION";
		break;
	case INITIATOR_RELEASING_REJECTION:
		*cs = "INITIATOR_RELEASING_REJECTION";
		break;
	case UNRECOGNIZED_LINKEDID_REJECTION:
		*cs = "UNRECOGNIZED_LINKEDID_REJECTION";
		break;
	case LINKED_RESPONSE_UNEXPECTED_REJECTION:
		*cs = "LINKED_RESPONSE_UNEXPECTED_REJECTION";
		break;
	case UNEXPECTED_CHILD_OPERATION_REJECTION:
		*cs = "UNEXPECTED_CHILD_OPERATION_REJECTION";
		break;
	case MISTYPED_RESULT_REJECTION:
		*cs = "MISTYPED_RESULT_REJECTION";
		break;
	case UNRECOGNIZED_ERROR_REJECTION:
		*cs = "UNRECOGNIZED_ERROR_REJECTION";
		break;
	case UNEXPECTED_ERROR_REJECTION:
		*cs = "UNEXPECTED_ERROR_REJECTION";
		break;
	case MISTYPED_PARAMETER_REJECTION:
		*cs = "MISTYPED_PARAMETER_REJECTION";
		break;
	case NON_STANDARD:
		*cs = "NON_STANDARD";
		break;
	default:
		cs->Format( "error=%d", error );
		break;
	}
	return cs;
}

CString * makeACSERRStr( RetCode_t rc, CString &request )
{
	CString *cs = new CString;
	switch ( rc )
	{
	case ACSERR_APIVERDENIED:
		cs->Format( "%s failed: ACSERR_APIVERDENIED", request.GetString() );
		break;
	case ACSERR_BADPARAMETER:
		cs->Format( "%s failed: ACSERR_BADPARAMETER", request.GetString() );
		break;
	case ACSERR_DUPSTREAM:
		cs->Format( "%s failed: ACSERR_DUPSTREAM", request.GetString() );
		break;
	case ACSERR_NODRIVER:
		cs->Format( "%s failed: ACSERR_NODRIVER", request.GetString() );
		break;
	case ACSERR_NOSERVER:
		cs->Format( "%s failed: ACSERR_NOSERVER", request.GetString() );
		break;
	case ACSERR_NORESOURCE:
		cs->Format( "%s failed: ACSERR_NORESOURCE", request.GetString() );
		break;
	case ACSERR_UBUFSMALL:
		cs->Format( "%s failed: ACSERR_UBUFSMALL", request.GetString() );
		break;
	case ACSERR_NOMESSAGE:
		cs->Format( "%s failed: ACSERR_NOMESSAGE", request.GetString() );
		break;
	case ACSERR_UNKNOWN:
		cs->Format( "%s failed: ACSERR_UNKNOWN", request.GetString() );
		break;
	case ACSERR_BADHDL:
		cs->Format( "%s failed: ACSERR_BADHDL", request.GetString() );
		break;
	case ACSERR_STREAM_FAILED:
		cs->Format( "%s failed: ACSERR_STREAM_FAILED", request.GetString() );
		break;
	case ACSERR_NOBUFFERS:
		cs->Format( "%s failed: ACSERR_NOBUFFERS", request.GetString() );
		break;
	case ACSERR_QUEUE_FULL:
		cs->Form

⌨️ 快捷键说明

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