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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rvwpct.c

?? 基于h323協(xié)議的軟phone
?? C
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
*/	
	if (status < 0)
	{
		WrapperMsg wpmsg;
		wpmsg.msgId = WP_REC_REGISTER_TIMEOUT;
		wpSendMsgToApp(&wpmsg);
	}
}

#if 0
void wpSendUnRegister(WrapperMsg* msg)
{
	TRACE("start unregister...\n");

	TRACE("unregister return %d!\n", cmUnregister(hApp));
}
#endif

#include "cmautorasintr.h"
#include "Stkutils.h"
int RVCALLCONV wpcmEvAutoRASConfirm(
    IN  HRAS             hsRas)
{
	WrapperMsg msg;
	rasOutTx* tx = (rasOutTx*)hsRas;

/*	if(WaitForSingleObject(fileSem,INFINITE) == WAIT_OBJECT_0)
	{
		fprintf(fp,"wpcmEvAutoRASConfirm()\n");
		ReleaseSemaphore(fileSem,1,NULL);
	}
	if(WaitForSingleObject(fileSem,INFINITE) == WAIT_OBJECT_0)
	{
		fprintf(fp,"TransactionType:%d!\n", tx->transactionType);
		ReleaseSemaphore(fileSem,1,NULL);
	}
*/	
	if (tx->transactionType == cmRASRegistration)
	{
		msg.msgId = WP_REC_REGISTER_SUCC;
		msg.d.registr.ttlTime = globleTTL;
		wpSendMsgToApp(&msg);

		/* Get the gatekeeper's protocol version. */
		{
			HAPPRAS haRas = (HAPPRAS)emaGetApplicationHandle((EMAElement)hsRas);
			autorasEndpoint* autoras = (autorasEndpoint *)haRas;
			RvPvtNodeId responseId = cmiRASGetResponse(hsRas);
			RvPvtNodeId messageId;
			int nodeId;
			
			messageId = pvtChild(autoras->hVal, responseId);
			if ((nodeId = pvtGetChild(autoras->hVal,messageId,__q931(protocolIdentifier),NULL)) >= 0)
			{
				char buff[20];
				int object[6];
				int buffLen;
				buffLen=pvtGetString(autoras->hVal, nodeId, sizeof(buff), buff);
				if (utlDecodeOIDInt(buffLen, buff, sizeof(object)/sizeof(*object), object)>=6)
				/*itu-t recomendation h 2250 version (version number)*/
				/*0     1             2 3    4        5              */
				{
					int i;
					
			/*		if(WaitForSingleObject(fileSem,INFINITE) == WAIT_OBJECT_0)
					{
						fprintf(fp,"remote gk's version string = ");
						ReleaseSemaphore(fileSem,1,NULL);
					}*/
					for (i = 0; i < 5; i++)
					{
					/*	if(WaitForSingleObject(fileSem,INFINITE) == WAIT_OBJECT_0)
						{
							fprintf(fp,"%d.", object[i]);
							ReleaseSemaphore(fileSem,1,NULL);
						}*/
					}
				/*	if(WaitForSingleObject(fileSem,INFINITE) == WAIT_OBJECT_0)
					{
						fprintf(fp,"%d\n", object[5]);
						ReleaseSemaphore(fileSem,1,NULL);
					}
					*/
					versionNumber = object[5];
				}
			}
		}
		
	}	
	return 0;
}

int RVCALLCONV wpcmEvAutoRASReject(
    IN  HRAS             hsRas,
    IN  cmRASReason      reason)
{
	WrapperMsg msg;
	rasOutTx* tx = (rasOutTx*)hsRas;
/*	msg.msgId = WP_REC_REGISTER_FAIL;*/
	msg.reason = reason;

/*	if(WaitForSingleObject(fileSem,INFINITE) == WAIT_OBJECT_0)
	{
		fprintf(fp,"wpcmEvAutoRASReject()\n");
		ReleaseSemaphore(fileSem,1,NULL);
	}
*/	
	
	if (tx->transactionType == cmRASRegistration)
	{
		if (!((reason == cmRASReasonResourceUnavailable)
		   || (reason == cmRASReasonInvalidRevision)
		   || (reason == cmRASReasonInvalidCallSignalAddress)
		   || (reason == cmRASReasonInvalidRASAddress)
		   || (reason == cmRASReasonInvalidTerminalType)
		   || (reason == cmRASReasonDiscoveryRequired)
		   || (reason == cmRASReasonDuplicateAlias)
		   || (reason == cmRASReasonTransportNotSupported)
		   || (reason == cmRASReasonUndefined)
		   || (reason == cmRASReasonSecurityDenial)
		   || (reason == cmRASReasonTransportQOSNotSupported)
		   || (reason == cmRASResourceUnavailable)
		   || (reason == cmRASReasonInvalidAlias)
		   || (reason == cmRASReasonFullRegistrationRequired)
		   || (reason == cmRASReasonAdditiveRegistrationNotSupported)
		   || (reason == cmRASReasonInvalidTerminalAliases)
		   || (reason == cmRASReasonGenericData)
		   || (reason == cmRASReasonNeededFeatureNotSupported)))
		{
	/*		if(WaitForSingleObject(fileSem,INFINITE) == WAIT_OBJECT_0)
			{
				fprintf(fp,"wpcmEvAutoRASReject, not register fail, return...\n");
				ReleaseSemaphore(fileSem,1,NULL);
			}*/
			return 0;
		}
		msg.msgId = WP_REC_REGISTER_FAIL;
		wpSendMsgToApp(&msg);
	}	
	if (tx->transactionType==cmRASAdmission)
	{
		msg.msgId = WP_REC_ARJ;
		wpSendMsgToApp(&msg);
	}
	return 0;
}

int RVCALLCONV wpcmEvAutoRASTimeout(
    IN  HRAS             hsRas)
{
	WrapperMsg msg;
	rasOutTx* tx = (rasOutTx*)hsRas;
/*	if(WaitForSingleObject(fileSem,INFINITE) == WAIT_OBJECT_0)
	{
		fprintf(fp,"wpcmEvAutoRASTimeout()\n");
		fprintf(fp,"TransactionType:%d!\n", tx->transactionType);
	
		ReleaseSemaphore(fileSem,1,NULL);
	}*/
	if (tx->transactionType == cmRASRegistration)
	{
		msg.msgId = WP_REC_REGISTER_TIMEOUT;
		wpSendMsgToApp(&msg);
	}	
	return 0;
}

int wpcmEvRASTimeout(IN HAPPRAS haRas, IN HRAS hsRas)
{
	WrapperMsg msg;
	rasOutTx* tx = (rasOutTx*)hsRas;
/*	msg.msgId = WP_REC_REGISTER_TIMEOUT;*/

/*	if(WaitForSingleObject(fileSem,INFINITE) == WAIT_OBJECT_0)
	{
		fprintf(fp,"wpcmEvRASTimeout()\n");	
		ReleaseSemaphore(fileSem,1,NULL);
	}
*/
	if (tx->transactionType == cmRASRegistration)
	{
		msg.msgId = WP_REC_REGISTER_TIMEOUT;
		wpSendMsgToApp(&msg);
	}	
	return 0;
}

int wpcmEvRASReject(IN HAPPRAS haRas, IN HRAS hsRas, IN cmRASReason reason)
{
	WrapperMsg msg;
	rasOutTx* tx = (rasOutTx*)hsRas;
/*	msg.msgId = WP_REC_REGISTER_FAIL;            */
	msg.reason = reason;

/*	if(WaitForSingleObject(fileSem,INFINITE) == WAIT_OBJECT_0)
	{
		fprintf(fp,"wpcmEvRASReject(), reason:%d\n", reason);
		ReleaseSemaphore(fileSem,1,NULL);
	}
*/

	if (tx->transactionType == cmRASRegistration)
	{
		msg.msgId = WP_REC_REGISTER_FAIL;
		wpSendMsgToApp(&msg);
	}	
	
	return 0;
}

int RVCALLCONV wpcmEvRASConfirm(IN  HAPPRAS haRas, IN  HRAS hsRas)
{
	WrapperMsg msg;
	rasOutTx* tx = (rasOutTx*)hsRas;
/*	if(WaitForSingleObject(fileSem,INFINITE) == WAIT_OBJECT_0)
	{
		fprintf(fp,"wpcmEvRASConfirm()\n");
		fprintf(fp,"TransactionType:%d!\n", tx->transactionType);

		ReleaseSemaphore(fileSem,1,NULL);
	}
*/
	if (tx->transactionType == cmRASRegistration)
	{
		msg.msgId = WP_REC_REGISTER_SUCC;
		msg.d.registr.ttlTime = globleTTL;
		wpSendMsgToApp(&msg);
	}	
	return 0;	
}

RvInt getTTLtime(IN int nodeId)
{
	int status;
	RvPvtNodeId childNodeId;
	int ttlVal=60;
	HPVT hVal = ((cmElem*)hApp)->hVal;
	char * msgName = cmGetProtocolMessageName(hApp,nodeId);
	if (strcmp(msgName, "registrationConfirm") != 0)
	{
		/*TRACE("it is not registrationConfirm, return\n");*/
		return -1;
	}

	status = pvtGetChild(hVal, nodeId, __q931(registrationConfirm), &childNodeId);
	if (status < 0)
	{
	/*	if(WaitForSingleObject(fileSem,INFINITE) == WAIT_OBJECT_0)
		{
			fprintf(fp,"registrationConfirm is not in msg, return %d\n", status);
			ReleaseSemaphore(fileSem,1,NULL);
		}
	*/	
		return -2;
	}

	status = pvtGetChild(hVal, childNodeId, __q931(timeToLive), &childNodeId);
	if (status < 0)
	{
	/*	if(WaitForSingleObject(fileSem,INFINITE) == WAIT_OBJECT_0)
		{
			fprintf(fp,"timeToLive is not in msg, return %d\n", status);
			ReleaseSemaphore(fileSem,1,NULL);
		}
	*/	
		return -3;
	}

	status = pvtGet(hVal, childNodeId, NULL, NULL, &ttlVal, NULL);
	if (status < 0)
	{
	/*	if(WaitForSingleObject(fileSem,INFINITE) == WAIT_OBJECT_0)
		{
			fprintf(fp,"get timeToLive value error, return\n");
			ReleaseSemaphore(fileSem,1,NULL);
		}
	*/	
		return -4;
	}

/*	if(WaitForSingleObject(fileSem,INFINITE) == WAIT_OBJECT_0)
	{
		fprintf(fp,"registrationConfirm:timeToLive is %d\n", ttlVal);
		ReleaseSemaphore(fileSem,1,NULL);
	}
*/

	return ttlVal;
}

/*
void printTime()
{
	struct timespec tpShow;
	struct tm timeBuffer;
	char msg[40];
	
	if (clock_gettime(CLOCK_REALTIME, &tpShow) == OK)
	{
		if(gmtime_r(&(tpShow.tv_sec), &timeBuffer) == OK)
		{
			TRACE(msg, "%04u-%02u-%02u  %02u:%02u:%02u",
				timeBuffer.tm_year + 1900,
				timeBuffer.tm_mon + 1,
				timeBuffer.tm_mday,
				timeBuffer.tm_hour,
				timeBuffer.tm_min,
				timeBuffer.tm_sec);
			TRACE("%s\n", msg);
		}
	}
}
*/
/*extern int getGKStatus();*/
RvBool RVCALLCONV wphookRecvFrom(
    IN      HPROTCONN           hConn,
    IN      int                 nodeId,
    IN      int                 nodeIdFrom,
    IN      RvBool              multicast,
    IN      RvBool              error)
{
    char text[128];
    char* msgPoint;
    int ttl;

    /* format message */
    msgPoint = cmGetProtocolMessageName(hApp,nodeId);
    sprintf(text,"New message recv <- %s on %s",
        msgPoint,
        cmProtocolGetProtocolName(cmProtocolGetProtocol(hApp,nodeId)));
    /* print to log */
/*printTime();*/
/*	if(WaitForSingleObject(fileSem,INFINITE) == WAIT_OBJECT_0)
	{
		fprintf(fp,"hook receive from {%s}\n", text);
		ReleaseSemaphore(fileSem,1,NULL);
	}
    */

    ttl = getTTLtime(nodeId);
    if (ttl > 0)
        globleTTL = ttl;
    else if (ttl <= -3)
        globleTTL = 60;

    /*if not register GK and receive infoRequest , not send infoRequest*/
    if ((strcmp(msgPoint, "infoRequest") == 0) && !AppParam.gkstatus)
    {
/*		if(WaitForSingleObject(fileSem,INFINITE) == WAIT_OBJECT_0)
		{
			fprintf(fp,"gk is not enable, and no rsp to infoRequest, return \n");
			ReleaseSemaphore(fileSem,1,NULL);
		}
*/		
        	return -1;
    }
    return 0;
}

int msgl = 0;
char* nodetype[] =
{
    "Integer",
    "Null",
    "Boolean",
    "Enumeration",
    "ObjectIdentifier",
    "OctetString",

    "BitString",
    "GeneralString",
    "UniversalString",
    "BMPString",
    "IA5String",
    "VisibleString",
    "NumericString",
    "PrintableString",

    "Choice",
    "Sequence",
    "Set",
    "Of",
    "SequenceOf",
    "SetOf"
} ;

#if 0

extern int isComplexType(pstNodeType type);
void printRASMsg(int nodeId)
{
int status;
int type;
int i,j;
RvBool isString;
RvInt32 value;
RvPstFieldId fieldId;
RvPvtNodeId childNodeId;
int synNodeId;
char nameBuf[64];
RvBool haveChild = 0;
	HPVT hVal = ((cmElem*)hApp)->hVal;
	status = pvtGet(hVal, nodeId, &fieldId, &synNodeId, &value, &isString);
	if (status < 0)
	{
		TRACE("pvtGet node(%d) return Error(%d)!\n", nodeId, status);
		return;
	}
	status = pstGetFieldName(cmGetSynTreeByRootName(hApp, "ras"), fieldId, 64, nameBuf);
	type = pstGetNodeType(cmGetSynTreeByRootName(hApp, "ras"), synNodeId);
	if (status < 0 || type < 0)
	{
		TRACE("pstGetFieldName field(%d) return Error(%d)!\n", fieldId, status);
		return;
	}
	msgl++;
	TRACE("  %2d>", msgl);
	for (i=0; i < msgl; i++)
		TRACE("  ");
	TRACE("%s  %s\n", nameBuf, nodetype[type-1]);

/*	TRACE("type:%d\n", type);*/

	if (isComplexType(type) && msgl < 4)
	{
		for (i=0; i < msgl; i++)
			TRACE("  ");
		TRACE("{\n");
		childNodeId = pvtChild(hVal, nodeId);
		if (childNodeId < 0)
		{
			TRACE("pvtChild node(%d) return error(%d)\n", nodeId, childNodeId);
			return;
		}
		haveChild = 1;
		while (haveChild)
		{
			type = pvtGet(hVal, childNodeId, &fieldId, &synNodeId, &value, &isString);
			if (type < 0)
			{
				TRACE("pvtGet child node(%d) return Error(%d)!\n", nodeId, type);
				return;
			}
			status = pstGetFieldName(cmGetSynTreeByRootName(hApp, "ras"), fieldId, 64, nameBuf);
			type = pstGetNodeType(cmGetSynTreeByRootName(hApp, "ras"), synNodeId);
			if (status < 0 || type < 0)
			{
				TRACE("pstGetFieldName field(%d) return Error(%d)!\n", fieldId, status);

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久人人超碰精品| 一区在线观看免费| 99久久国产综合精品麻豆| 偷拍亚洲欧洲综合| 亚洲国产精品成人综合| 欧美一区二区三区小说| 成人国产在线观看| 久久精品国产亚洲高清剧情介绍| 亚洲欧美二区三区| 久久精品一级爱片| 日韩午夜电影在线观看| 色综合久久中文字幕| 国产高清成人在线| 免费成人结看片| 亚洲愉拍自拍另类高清精品| 日本一区二区动态图| 日韩欧美成人一区| 欧美精品国产精品| 91极品视觉盛宴| 99精品桃花视频在线观看| 国产老女人精品毛片久久| 日韩精品久久久久久| 一区二区三区蜜桃网| 中文字幕在线不卡视频| 国产欧美中文在线| 2020国产精品| 精品少妇一区二区三区日产乱码| 欧美日韩国产高清一区二区| 日本高清视频一区二区| av网站免费线看精品| 国产精品 欧美精品| 国产在线不卡一卡二卡三卡四卡| 日本va欧美va瓶| 青青草伊人久久| 蜜桃视频在线观看一区二区| 免费美女久久99| 日本中文字幕一区二区视频| 天堂久久久久va久久久久| 亚洲成人av福利| 亚洲电影中文字幕在线观看| 亚洲午夜精品一区二区三区他趣| 一区二区三区欧美日| 一区二区免费视频| 亚洲午夜精品久久久久久久久| 一区二区欧美精品| 午夜精品影院在线观看| 天天操天天色综合| 久久精品99国产精品| 国产在线视视频有精品| 国产成人精品亚洲日本在线桃色 | 久久国产人妖系列| 蜜桃精品视频在线| 国产最新精品免费| 国产一区999| 成人性生交大片免费| 97久久久精品综合88久久| 色成年激情久久综合| 欧美丝袜丝nylons| 7777精品伊人久久久大香线蕉的 | 久久国产精品99久久人人澡| 久久99精品久久久| 国产成人亚洲精品青草天美| 国产成人免费视频精品含羞草妖精| 成人午夜视频免费看| 一本大道久久a久久综合婷婷| 欧美又粗又大又爽| 欧美一二三区在线| 国产亚洲成aⅴ人片在线观看 | 91在线观看高清| 欧美日韩国产免费一区二区| 香蕉加勒比综合久久| 五月天网站亚洲| 国产一区二区中文字幕| 97国产精品videossex| 欧美日韩aaaaaa| 久久麻豆一区二区| 亚洲欧美国产77777| 麻豆国产精品777777在线| 粉嫩av一区二区三区粉嫩| 欧美中文字幕一二三区视频| 欧美不卡一区二区三区| 中文字幕在线一区| 视频在线观看一区| 粉嫩av一区二区三区粉嫩| 欧美日韩国产欧美日美国产精品| 久久久久国产精品麻豆ai换脸| 亚洲精品乱码久久久久久黑人 | 黄色精品一二区| 91久久人澡人人添人人爽欧美| 日韩天堂在线观看| 中文字幕中文字幕中文字幕亚洲无线 | 色就色 综合激情| 亚洲精品一区在线观看| 亚洲欧美激情小说另类| 狠狠色丁香久久婷婷综合_中| 在线观看免费一区| 国产亚洲成年网址在线观看| 婷婷六月综合亚洲| 91玉足脚交白嫩脚丫在线播放| 日韩精品一区二区三区老鸭窝 | 欧洲精品在线观看| 久久精品在这里| 日韩精品一二区| 国产丝袜在线精品| 丝袜国产日韩另类美女| 91免费版pro下载短视频| 久久综合一区二区| 日韩精品一卡二卡三卡四卡无卡| 91麻豆免费在线观看| 国产视频不卡一区| 开心九九激情九九欧美日韩精美视频电影| 不卡的av网站| 国产欧美1区2区3区| 青青青伊人色综合久久| 欧美亚洲免费在线一区| 一色桃子久久精品亚洲| 高清久久久久久| 久久夜色精品一区| 麻豆成人91精品二区三区| 欧美视频一区二区三区在线观看 | 国产日本一区二区| 精品在线免费观看| 56国语精品自产拍在线观看| 亚洲黄色小说网站| 91亚洲男人天堂| 中文字幕高清不卡| 国产成人超碰人人澡人人澡| 久久伊人中文字幕| 国产乱码字幕精品高清av | 国产一区二区三区久久悠悠色av| 777a∨成人精品桃花网| 五月婷婷综合激情| 欧美日韩高清不卡| 首页综合国产亚洲丝袜| 欧美伦理视频网站| 日韩精品乱码免费| 日韩视频不卡中文| 免费的成人av| 精品国产伦一区二区三区观看体验| 日韩avvvv在线播放| 日韩午夜精品视频| 国产在线不卡一卡二卡三卡四卡| 亚洲精品一线二线三线| 国产电影一区二区三区| 国产精品久久综合| 色综合天天狠狠| 午夜欧美一区二区三区在线播放| 欧美日本韩国一区| 精品在线播放午夜| 国产日韩精品一区二区浪潮av| 国产精品99久久久| 中文字幕一区免费在线观看| 91啪亚洲精品| 午夜精品在线看| 欧美mv日韩mv| 成人精品视频一区二区三区| 亚洲精品国产精品乱码不99| 欧美无人高清视频在线观看| 日本最新不卡在线| 久久久久久亚洲综合影院红桃| voyeur盗摄精品| 亚洲电影视频在线| 亚洲精品一区在线观看| 99久久久无码国产精品| 丝袜a∨在线一区二区三区不卡| 日韩欧美国产高清| 成人av免费在线观看| 亚洲影院在线观看| 欧美成人a在线| 99久久婷婷国产精品综合| 亚洲大片在线观看| 久久久久久电影| 91亚洲精品乱码久久久久久蜜桃 | 久久99精品久久久久久国产越南| 欧美国产禁国产网站cc| 欧美午夜精品一区二区三区| 精品一区在线看| 自拍av一区二区三区| 这里只有精品99re| 成人精品视频一区二区三区尤物| 香蕉久久一区二区不卡无毒影院 | 亚洲图片欧美一区| 久久夜色精品一区| 欧美视频日韩视频| 国产精品99久久久久久有的能看| 亚洲综合av网| 久久精品视频网| 欧美福利电影网| 成人av网站大全| 激情欧美一区二区三区在线观看| 亚洲精品欧美专区| 久久综合久久综合久久| 欧美在线免费观看亚洲| 国产v日产∨综合v精品视频| 无码av免费一区二区三区试看| 中文字幕va一区二区三区| 日韩一级片网站| 欧美性淫爽ww久久久久无| 国产成人精品亚洲777人妖| 免费人成在线不卡|