亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? voip_cli.c

?? telcobridges voip develop
?? C
?? 第 1 頁 / 共 5 頁
字號:
/*--------------------------------------------------------------------------------------------------------------------------------
 |
 |	Project:    	VOIP sample
 |
 |	Filename:   	voip_cli.c
 |
 |	Copyright:  	TelcoBridges 2002-2004, All Rights Reserved
 |
 |	Description:	This file contains the client interface functions
 |
 |	Notes:      	Tabs = 4
 |
 *-------------------------------------------------------------------------------------------------------------------------------
 |
 |	Revision:   	$Revision: 1.71 $
 |
 *------------------------------------------------------------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------------------------------------------------------------
 |  Includes
 *------------------------------------------------------------------------------------------------------------------------------*/

#include "voip_includes.h"


/*--------------------------------------------------------------------------------------------------------------------------------
 |  Forward declarations
 *------------------------------------------------------------------------------------------------------------------------------*/


/*--------------------------------------------------------------------------------------------------------------------------------
 |  Defines
 *------------------------------------------------------------------------------------------------------------------------------*/

#ifdef WIN32
#define vsnprintf _vsnprintf
#define snprintf _snprintf
#endif

/* Enable/disable demo mode */
/*#define VOIP_DEMO_MODE*/


/*--------------------------------------------------------------------------------------------------------------------------------
 |  Types
 *------------------------------------------------------------------------------------------------------------------------------*/


/*--------------------------------------------------------------------------------------------------------------------------------
 |  Versioning
 *------------------------------------------------------------------------------------------------------------------------------*/

#ifdef WIN32
/*@unused@*/ static char g_szFileVersion [] = "$Revision: 1.71 $";
#endif


/*--------------------------------------------------------------------------------------------------------------------------------
 |  Global variables
 *------------------------------------------------------------------------------------------------------------------------------*/

extern VOIP_DEFAULT_PROMPTS		g_DefaultPrompts;

#ifdef VOIP_DEMO_MODE

/* Trunk resource status legend string table */
static PTBX_CHAR g_aszTrunkResStatusLegend[] =
{
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_DISABLED					FWHITE ") Disabled"													DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_ENABLED					FWHITE ") Enabled"													DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_ALLOCATED				FWHITE ") Allocated"												DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_RESERVED					FWHITE ") Reserved"													DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_USED						FWHITE ") Used"														DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G711				FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G711		" (128ms)"	DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G711A			FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G711A		" (128ms)"	DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G723				FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G723		" (128ms)"	DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G726_16			FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G726_16	" (128ms)"	DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G726_24			FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G726_24	" (128ms)"	DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G726_32			FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G726_32	" (128ms)"	DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G726_40			FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G726_40	" (128ms)"	DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G728				FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G728		" (128ms)"	DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G729AB			FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G729AB		" (128ms)"	DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G729E			FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G729E		" (128ms)"	DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_IFP				FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_IFP					DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_UNKNOWN					FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_UNKNOWN						DEFAULT_COLOR,
	NULL
};

#else

/* Trunk resource status legend string table */
static PTBX_CHAR g_aszTrunkResStatusLegend[] =
{
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_DISABLED					FWHITE ") Disabled"											DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_ENABLED					FWHITE ") Enabled"											DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_ALLOCATED				FWHITE ") Allocated"										DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_RESERVED					FWHITE ") Reserved"											DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_USED						FWHITE ") Used"												DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_BASE_IF_G711				FWHITE ") "	VOIP_CLI_PACKET_TYPE_STR_BASE_IF_G711			DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_BASE_IF_G711A			FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_BASE_IF_G711A			DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G711				FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G711			DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G711A			FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G711A			DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G723				FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G723			DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G726_16			FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G726_16		DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G726_24			FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G726_24		DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G726_32			FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G726_32		DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G726_40			FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G726_40		DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G728				FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G728			DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G729AB			FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G729AB			DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G729E			FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G729E			DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_AMR				FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_AMR			DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_EFR				FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_EFR			DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_PASSTHRU_ULAW	FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G711_FAX		DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_PASSTHRU_ALAW	FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G711A_FAX		DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_CLEAR_CHANNEL	FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_CLEAR_CHANNEL	DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_SMV				FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_SMV			DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_EVRC				FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_EVRC			DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_QCELP8			FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_QCELP8			DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_QCELP13			FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_QCELP13		DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_IFP				FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_IFP			DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_FR				FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_FR				DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_ILBC13			FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_ILBC13			DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_ILBC15			FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_ILBC15			DEFAULT_COLOR,
	FWHITE "  (" VOIP_CLI_TRUNK_RES_STATUS_UNKNOWN					FWHITE ") " VOIP_CLI_PACKET_TYPE_STR_UNKNOWN				DEFAULT_COLOR,
	NULL
};

#endif

/* Trunk resource status lookup table for base interface stream packet type */
static VOIP_CLI_TRUNK_RES_STATUS g_aBaseIfPacketTypeToTrunkResStatus[] =
{
	{TBX_STREAM_PACKET_TYPE_PCMU,			VOIP_CLI_TRUNK_RES_STATUS_BASE_IF_G711},
	{TBX_STREAM_PACKET_TYPE_PCMA,			VOIP_CLI_TRUNK_RES_STATUS_BASE_IF_G711A},
	{TBX_STREAM_PACKET_TYPE_UNKNOWN,		VOIP_CLI_TRUNK_RES_STATUS_UNKNOWN}
};

/* Trunk resource status lookup table for voip interface stream packet type */
static VOIP_CLI_TRUNK_RES_STATUS g_aVoipIfPacketTypeToTrunkResStatus[] =
{
	{TBX_STREAM_PACKET_TYPE_PCMU,			VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G711},
	{TBX_STREAM_PACKET_TYPE_PCMA,			VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G711A},
	{TBX_STREAM_PACKET_TYPE_G723,			VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G723},
	{TBX_STREAM_PACKET_TYPE_G726_16,		VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G726_16},
	{TBX_STREAM_PACKET_TYPE_G726_24,		VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G726_24},
	{TBX_STREAM_PACKET_TYPE_G726_32,		VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G726_32},
	{TBX_STREAM_PACKET_TYPE_G726_40,		VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G726_40},
	{TBX_STREAM_PACKET_TYPE_G728,			VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G728},
	{TBX_STREAM_PACKET_TYPE_G729AB,			VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G729AB},
	{TBX_STREAM_PACKET_TYPE_G729E,			VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_G729E},
	{TBX_STREAM_PACKET_TYPE_AMR,			VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_AMR},
	{TBX_STREAM_PACKET_TYPE_EFR,			VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_EFR},
	{TBX_STREAM_PACKET_TYPE_PASSTHRU_ULAW,	VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_PASSTHRU_ULAW},
	{TBX_STREAM_PACKET_TYPE_PASSTHRU_ALAW,	VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_PASSTHRU_ALAW},
	{TBX_STREAM_PACKET_TYPE_CLEAR_CHANNEL,	VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_CLEAR_CHANNEL},
	{TBX_STREAM_PACKET_TYPE_SMV,			VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_SMV},
	{TBX_STREAM_PACKET_TYPE_EVRC,			VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_EVRC},
	{TBX_STREAM_PACKET_TYPE_QCELP8,			VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_QCELP8},
	{TBX_STREAM_PACKET_TYPE_QCELP13,		VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_QCELP13},
	{TBX_STREAM_PACKET_TYPE_ILBC_13K,		VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_ILBC13},
	{TBX_STREAM_PACKET_TYPE_ILBC_15K,		VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_ILBC15},
	{TBX_STREAM_PACKET_TYPE_FR		,		VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_FR},
	{TBX_STREAM_PACKET_TYPE_IFP,			VOIP_CLI_TRUNK_RES_STATUS_VOIP_IF_IFP},
	{TBX_STREAM_PACKET_TYPE_UNKNOWN,		VOIP_CLI_TRUNK_RES_STATUS_UNKNOWN}
};

/* Packet type statistics */
static VOIP_CLI_PACKET_TYPE_STATUS g_aszBaseIfPacketTypeStatus[] =
{
#ifndef VOIP_DEMO_MODE	/* Removed in demo mode */
	{TBX_STREAM_PACKET_TYPE_PCMU,			VOIP_CLI_PACKET_TYPE_STR_BASE_IF_G711,	0},
	{TBX_STREAM_PACKET_TYPE_PCMA,			VOIP_CLI_PACKET_TYPE_STR_BASE_IF_G711A,	0},
#endif
	{TBX_STREAM_PACKET_TYPE_UNKNOWN,		VOIP_CLI_PACKET_TYPE_STR_UNKNOWN,		0}
};

/* Packet type statistics */
static VOIP_CLI_PACKET_TYPE_STATUS g_aszVoipIfPacketTypeStatus[] =
{
	{TBX_STREAM_PACKET_TYPE_PCMU,			VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G711,			0},
	{TBX_STREAM_PACKET_TYPE_PCMA,			VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G711A,			0},
	{TBX_STREAM_PACKET_TYPE_G723,			VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G723,			0},
	{TBX_STREAM_PACKET_TYPE_G726_16,		VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G726_16,		0},
	{TBX_STREAM_PACKET_TYPE_G726_24,		VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G726_24,		0},
	{TBX_STREAM_PACKET_TYPE_G726_32,		VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G726_32,		0},
	{TBX_STREAM_PACKET_TYPE_G726_40,		VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G726_40,		0},
	{TBX_STREAM_PACKET_TYPE_G728,			VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G728,			0},
	{TBX_STREAM_PACKET_TYPE_G729AB,			VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G729AB,		0},
	{TBX_STREAM_PACKET_TYPE_G729E,			VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G729E,			0},
#ifndef VOIP_DEMO_MODE /* Removed in demo mode */
	{TBX_STREAM_PACKET_TYPE_AMR,			VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_AMR,			0},
	{TBX_STREAM_PACKET_TYPE_EFR,			VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_EFR,			0},
	{TBX_STREAM_PACKET_TYPE_PASSTHRU_ULAW,	VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G711_FAX,		0},
	{TBX_STREAM_PACKET_TYPE_PASSTHRU_ALAW,	VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_G711A_FAX,		0},
	{TBX_STREAM_PACKET_TYPE_CLEAR_CHANNEL,	VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_CLEAR_CHANNEL,	0},
	{TBX_STREAM_PACKET_TYPE_SMV,			VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_SMV,			0},
	{TBX_STREAM_PACKET_TYPE_EVRC,			VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_EVRC,			0},
	{TBX_STREAM_PACKET_TYPE_QCELP8,			VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_QCELP8,		0},
	{TBX_STREAM_PACKET_TYPE_QCELP13,		VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_QCELP13,		0},
	{TBX_STREAM_PACKET_TYPE_ILBC_13K,		VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_ILBC13,		0},
	{TBX_STREAM_PACKET_TYPE_ILBC_15K,		VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_ILBC15,		0},
	{TBX_STREAM_PACKET_TYPE_FR,				VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_FR,			0},
#endif
	{TBX_STREAM_PACKET_TYPE_IFP,			VOIP_CLI_PACKET_TYPE_STR_VOIP_IF_IFP,			0},
	{TBX_STREAM_PACKET_TYPE_UNKNOWN,		VOIP_CLI_PACKET_TYPE_STR_UNKNOWN,				0}
};


/*--------------------------------------------------------------------------------------------------------------------------------
 |  Macros
 *------------------------------------------------------------------------------------------------------------------------------*/


/*--------------------------------------------------------------------------------------------------------------------------------
 |  Function Prototypes
 *------------------------------------------------------------------------------------------------------------------------------*/


/*--------------------------------------------------------------------------------------------------------------------------------
 |  Implementation
 *------------------------------------------------------------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------------------------------------------------------------
 |
 |  VoipCliDisplay		:	Callback, called by the CLI Tools, to display the menu.
 |
 |  in_hCliTools	:	Handle of the TBX CLI Tool library
 |  in_pContext		:	Context of this function
 |
 |  Note			:	~
 |
 |  Return			:	~
 |
 *------------------------------------------------------------------------------------------------------------------------------*/
TBX_VOID VoipCliDisplay(
	IN		TBX_CLI_TOOLS_HANDLE	in_hCliTools,
	IN		PTBX_VOID				in_pContext)
{
	PVOIP_CLI_CONTEXT		pCliContext;
	PVOIP_ADAPTER_CONTEXT	pAdapterContext;

	/*---------------------------------------------------------------------------------------------------------------------------
	 |  Code section
	 *--------------------------------------------------------------------------------------------------------------------------*/
	CODE
	{
		TBX_SEM_GET (g_pContext->hThreadSem, TBX_SEM_WAIT_FOREVER);

		/* Initialize local variables */
		pCliContext		= &g_pContext->CliContext;
		pAdapterContext	= pCliContext->pActiveAdapterContext;

		(TBX_VOID)in_hCliTools;
		(TBX_VOID)in_pContext;

		if( pAdapterContext != NULL )
		{
			/* Start filling display buffer with the status display buffer */
			VoipCliDisplayStatus();

			if( pCliContext->un32DisplayCount > 0 )
			{
				if( pAdapterContext->Demo.fActive == TBX_TRUE )
				{
					/* Display demo information */
					VoipCliDisplayDemoInfo();
				}
				else if( pAdapterContext->StressTest.fActive == TBX_TRUE )
				{
					TBX_CHAR	aszTmpBuffer[ VOIP_CLI_STRESS_TEST_MAX_NB_LINES ][ TBX_CLI_TOOLS_CLI_SCREEN_WIDTH_MAX ];
					TBX_UINT32	un32NbLines;
					TBX_UINT32	un32Line;

					/*
					 * Display stress test stats begin
					 */
					TbxCliToolsPrint( pCliContext->hCliTools, "\n" );
					TbxCliToolsPrintFillLine( pCliContext->hCliTools, '-' );

					/* Display stress test stats */
					VoipCliPrintStressTestStats( aszTmpBuffer, &un32NbLines );
					for( un32Line = 0; un32Line < un32NbLines; un32Line++ )
					{
						TbxCliToolsPrint( pCliContext->hCliTools, aszTmpBuffer[ un32Line ] );
					}
				}

				if( pCliContext->aDisplay[ pCliContext->un32DisplayIndex ] == VOIP_CLI_DISPLAY_TYPE_CONNECTION_INFO )
				{
					/* Display connection information */
					VoipCliDisplayConnectionInfo();
				}
				else if( pCliContext->aDisplay[ pCliContext->un32DisplayIndex ] == VOIP_CLI_DISPLAY_TYPE_STREAM_INFO )
				{
					/* Display stream information */
					VoipCliDisplayStreamInfo();
				}
				else if( pCliContext->aDisplay[ pCliContext->un32DisplayIndex ] == VOIP_CLI_DISPLAY_TYPE_TRUNK_INFO )
				{
					/* Display trunk information */
					VoipCliDisplayTrunkInfo();
				}
				else if( pCliContext->aDisplay[ pCliContext->un32DisplayIndex ] == VOIP_CLI_DISPLAY_TYPE_PROMPT_INFO )
				{
					/* Display prompt information */
					VoipCliDisplayPromptInfo();
				}
				else if( pCliContext->aDisplay[ pCliContext->un32DisplayIndex ] == VOIP_CLI_DISPLAY_TYPE_RAW_DATA_FILE_INFO )
				{
					/* Display prompt information */
					VoipCliDisplayRawDataFileInfo();
				}
				else if( pCliContext->aDisplay[ pCliContext->un32DisplayIndex ] == VOIP_CLI_DISPLAY_TYPE_BERT_INFO )
				{
					/* Display BERT information */
					VoipCliDisplayBertInfo();
				}
				else if( pCliContext->aDisplay[ pCliContext->un32DisplayIndex ] == VOIP_CLI_DISPLAY_TYPE_TRUNK_RES_MAP )
				{
					/* Display trunk resource map */
					VoipCliDisplayTrunkResMap();
				}
				else if( pCliContext->aDisplay[ pCliContext->un32DisplayIndex ] == VOIP_CLI_DISPLAY_TYPE_TRUNK_RES_INV_MAP )
				{
					/* Display trunk resource inverted map */
					VoipCliDisplayTrunkResInvMap();
				}
				else if( pCliContext->aDisplay[ pCliContext->un32DisplayIndex ] == VOIP_CLI_DISPLAY_TYPE_PACKET_TYPE_GRAPH )
				{
					/* Display packet type graphic */
					VoipCliDisplayPacketTypeGraph();
				}
				else if( pCliContext->aDisplay[ pCliContext->un32DisplayIndex ] == VOIP_CLI_DISPLAY_TYPE_TRUNK_RES_MAP_AND_PACKET_TYPE_GRAPH )
				{
					/* Display trunk resource map and packet type graphic */
					VoipCliDisplayTrunkResMapAndPacketTypeGraph();
				}
				else if( pCliContext->aDisplay[ pCliContext->un32DisplayIndex ] == VOIP_CLI_DISPLAY_TYPE_TRUNK_RES_INV_MAP_AND_PACKET_TYPE_GRAPH )
				{
					/* Display trunk resource inverted map and packet type graphic */
					VoipCliDisplayTrunkResInvMapAndPacketTypeGraph();
				}

				/* Continue filling display buffer with the menu */
				VoipCliDisplayMenu();
			}
		}
		else
		{
			/* Display application introduction */
			VoipCliDisplayIntro();
		}

		/* End of the code (skip to cleanup) */
		TBX_EXIT_SUCCESS (TBX_RESULT_OK);
	}

	/*---------------------------------------------------------------------------------------------------------------------------
	 |  Error handling section
	 *--------------------------------------------------------------------------------------------------------------------------*/
	ERROR_HANDLING
	{
		TbxCliToolsLogPrint(
			pCliContext->hCliTools, TRACE_LEVEL_ERROR, NULL,
			"VoipCliDisplay: %s (Result 0x%08X, %s, line %d)\n",
			TBX_ERROR_DESCRIPTION,
			(int)TBX_ERROR_RESULT,
			__FILE__,
			TBX_ERROR_LINE);
	}

	/*---------------------------------------------------------------------------------------------------------------------------
	 |  Cleanup section
	 *--------------------------------------------------------------------------------------------------------------------------*/
	CLEANUP

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产一区二区在线观看| 欧美性做爰猛烈叫床潮| 国产不卡视频在线播放| 欧美本精品男人aⅴ天堂| 国产在线精品国自产拍免费| 国产欧美日韩综合精品一区二区| 国产91高潮流白浆在线麻豆| 久久91精品国产91久久小草| 国产精品视频九色porn| 色婷婷久久一区二区三区麻豆| 亚洲永久精品国产| 精品奇米国产一区二区三区| 日韩一二三四区| 成人午夜av在线| 日本免费在线视频不卡一不卡二| 国产人久久人人人人爽| 国产色91在线| 欧美午夜在线一二页| 欧美视频一区二区| 欧美日韩成人在线| 色综合久久久久综合99| 色噜噜狠狠成人网p站| 国产精品小仙女| 天天色天天爱天天射综合| 国产人成亚洲第一网站在线播放| 国产日韩欧美精品一区| 国产精品久久久久久久第一福利| 欧美高清www午色夜在线视频| 国产99久久久国产精品潘金| 99精品视频在线播放观看| 韩国理伦片一区二区三区在线播放| 亚洲精品亚洲人成人网在线播放| 精品国产伦一区二区三区免费| 久久综合精品国产一区二区三区| 日韩午夜av电影| 国产情人综合久久777777| 亚洲另类中文字| 日韩国产高清影视| 成人app网站| 免费成人性网站| 日韩av网站在线观看| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲品质自拍视频| 国产亚洲精品aa午夜观看| 中文字幕一区免费在线观看| 久久久久久久久久美女| 欧美精品一区二区三区蜜臀| 三级亚洲高清视频| 亚洲国产精品久久不卡毛片| 一区二区三区精品视频在线| 亚洲已满18点击进入久久| 久久av资源网| 高清久久久久久| 欧美日本一区二区三区| 18成人在线观看| 国产一区二区三区四区五区入口 | 久久毛片高清国产| 亚洲3atv精品一区二区三区| 亚洲午夜在线视频| 成人成人成人在线视频| 26uuu亚洲婷婷狠狠天堂| 日韩精品欧美精品| 欧美性受xxxx黑人xyx| 中文字幕精品一区二区精品绿巨人| 国产亚洲一区二区在线观看| 日韩国产高清影视| 欧美日韩精品高清| 亚洲一区二区三区自拍| 成人免费看的视频| 欧美国产亚洲另类动漫| 国产米奇在线777精品观看| 欧美一区二区三区免费视频 | 一区二区在线免费| av激情综合网| 欧美精品aⅴ在线视频| 亚洲欧美乱综合| 91国产精品成人| 一区二区欧美精品| 欧美日韩在线观看一区二区| 精品捆绑美女sm三区| 老司机免费视频一区二区| 欧美一级高清片| 麻豆成人91精品二区三区| www.在线成人| 国产精品不卡视频| 日本韩国一区二区三区视频| 亚洲精品乱码久久久久久黑人| 欧美主播一区二区三区| 日韩一级完整毛片| 美女国产一区二区| 精品区一区二区| 成人午夜激情在线| 中文字幕视频一区| 日本韩国欧美三级| 亚洲国产成人高清精品| 日韩欧美一二区| 亚洲成人黄色小说| 777久久久精品| 亚洲少妇最新在线视频| 国产一区免费电影| 1024成人网| 精品视频在线免费看| 久久国产欧美日韩精品| 久久精品一区二区| 一道本成人在线| 秋霞国产午夜精品免费视频| 久久精品一级爱片| 欧美日韩一区小说| 国产一区二区不卡老阿姨| 亚洲三级在线观看| 精品国产自在久精品国产| 91在线视频观看| 韩国成人精品a∨在线观看| 亚洲欧洲性图库| 日韩一级片在线观看| 色网综合在线观看| 国产一区二区三区在线观看免费| 亚洲午夜日本在线观看| 欧美激情一区二区三区蜜桃视频| 欧美军同video69gay| www.日韩精品| 国产最新精品精品你懂的| 一区二区三区在线视频播放| 久久久久久久综合色一本| 欧美日韩在线三区| www.成人在线| 国产一区二三区好的| 亚洲成人av在线电影| 日韩高清不卡一区二区| 欧美国产一区视频在线观看| 欧美一区二区三区成人| 91久久精品一区二区三区| 国产在线精品一区二区夜色| 亚洲不卡av一区二区三区| 一色屋精品亚洲香蕉网站| 久久久一区二区| 精品国产一区二区三区忘忧草 | 91论坛在线播放| 亚洲精品国产一区二区三区四区在线| 日韩一区和二区| 欧美日韩一区二区在线观看 | 亚洲免费在线看| 国产欧美一区视频| 精品少妇一区二区三区在线播放| 欧美色图在线观看| 91久久香蕉国产日韩欧美9色| 大尺度一区二区| 成人免费毛片高清视频| 国产成人综合亚洲网站| 亚洲精品国产第一综合99久久 | 国产精品国产a级| wwww国产精品欧美| 日韩欧美一级二级三级久久久| 欧美日韩电影一区| 欧美人牲a欧美精品| 欧美狂野另类xxxxoooo| 6080日韩午夜伦伦午夜伦| 欧美三级韩国三级日本一级| 欧美日韩亚洲另类| 91麻豆精品国产91久久久资源速度| 欧美日韩一区精品| 91精品国产入口| 精品乱人伦小说| 国产亚洲欧美色| 亚洲欧美在线视频| 亚洲一区二区三区四区五区黄| 亚洲一区二区三区四区在线免费观看| 亚洲一区二区在线免费观看视频| 亚洲高清不卡在线| 久久 天天综合| 国产+成+人+亚洲欧洲自线| 99精品视频一区| 精品污污网站免费看| 日韩区在线观看| 欧美—级在线免费片| 亚洲麻豆国产自偷在线| 亚洲成人你懂的| 精品无码三级在线观看视频| 成人午夜激情片| 欧美日韩中文国产| 久久久精品影视| 亚洲精品国产a久久久久久| 图片区小说区国产精品视频| 国产在线播精品第三| 972aa.com艺术欧美| 日韩一区国产二区欧美三区| 中文字幕高清一区| 五月激情综合网| 懂色av噜噜一区二区三区av| 欧美视频日韩视频| 国产午夜亚洲精品午夜鲁丝片| 亚洲欧美日本韩国| 国产一区不卡精品| 欧美色视频在线| 久久精品视频在线免费观看| 亚洲自拍都市欧美小说| 国产福利91精品一区二区三区| 欧洲av在线精品| 亚洲国产精品成人久久综合一区| 午夜亚洲福利老司机|