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

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

?? rvh323mibstats.c

?? 基于h323協議的軟phone
?? C
?? 第 1 頁 / 共 2 頁
字號:

/*

NOTICE:
This document contains information that is proprietary to RADVISION LTD..
No part of this publication may be reproduced in any form whatsoever without
written prior approval by RADVISION LTD..

RADVISION LTD. reserves the right to revise this publication and make changes
without obligation to notify any person of such revisions or changes.

*/

#include "rvinternal.h"
#include "rvstdio.h"

#include "rvmemory.h"
#include "cm.h"
#include "q931asn1.h"
#include "h245.h"
#include "rvh323mibstats.h"


#ifdef __cplusplus
extern "C" {
#endif


/************************************************************************
 *
 *                              Public functions
 *
 ************************************************************************/


HSTATISTIC mibCreateStatistic(void)
{
    h341StatisticParametersT * pStatistic;
    RvMemoryAlloc(NULL, (void**)&pStatistic, sizeof(h341StatisticParametersT));
    memset((void *)pStatistic,0,sizeof(h341StatisticParametersT));
    return (HSTATISTIC) pStatistic;
}


void mibDestroyStatistic(IN HSTATISTIC statistic)
{
    RvMemoryFree((h341StatisticParametersT *)statistic);
}


/************************************************************************
 * addStatistic
 * purpose: Update the statistics information about current state of the
 *          stack. This information is taken from incoming and outgoing
 *          messages.
 * input  : hStatistic  - Statistics information handle
 *          mType       - Type of message to check
 *          hVal        - Value tree of the message to check
 *          vNodeId     - Root ID of the message to check
 *          directionIn - RV_TRUE if this is an incoming message, RV_FALSE if outgoing.
 * output : none
 * return : none
 ************************************************************************/
void addStatistic(
    IN HSTATISTIC       hStatistic,
    IN cmProtocol       mType,
    IN HPVT             hVal,
    IN int              vNodeId,
    IN RvBool           directionIn)
{
    int chNodeId, index, req;
    h341StatisticParametersT* pStatistic;

    pStatistic = (h341StatisticParametersT *)hStatistic;

    switch (mType)
    {
        case cmProtocolQ931:
        {
            /* Q931 message - increase incoming/outgoing message */
            chNodeId = pvtGetChild(hVal, vNodeId, __q931(message), NULL);
            if (chNodeId < 0)
                return;
            chNodeId = pvtChild(hVal, chNodeId);
            index = pvtGetSyntaxIndex(hVal, chNodeId);
            index--;
            if (directionIn)
                pStatistic->q931StatisticIn[index]++;
            else
                pStatistic->q931StatisticOut[index]++;
            break;
        }

        case cmProtocolH245:
        {
            RvPstFieldId fieldId;
            chNodeId = pvtChild(hVal, vNodeId);
            req = pvtGetSyntaxIndex(hVal, chNodeId); /*1 request,2 response,4 for indication*/
            chNodeId = pvtChild(hVal, chNodeId);
            pvtGet(hVal, chNodeId, &fieldId, NULL, NULL, NULL);
            if (req == 1)
            {
                switch(fieldId)
                {
                    case __h245(masterSlaveDetermination):
                        if (!directionIn)
                            pStatistic->h245ControlChanneMasterSlavelDeterminations++;
                        break;
                    case __h245(terminalCapabilitySet):
                        pStatistic->h245CapExchangeSets++;
                        break;
                    case __h245(openLogicalChannel):
                        pStatistic->h245LogChanOpenLogChanTotalRequests++;
                        break;
                    case __h245(closeLogicalChannel):
                        pStatistic->h245LogChanCloseLogChannels++;
                        break;
                    case __h245(requestChannelClose):
                        pStatistic->h245LogChanCloseLogChanRequests++;
                    default:
                        break;
                }
            }
            else if (req == 2)
            {
                switch(fieldId)
                {
                    case __h245(masterSlaveDeterminationAck):
                        pStatistic->h245ControlChannelMasterSlaveAcks++;
                        break;
                    case __h245(masterSlaveDeterminationReject):
                        pStatistic->h245ControlChannelMasterSlaveRejects++;
                        pStatistic->h245ControlChannelNumberOfMasterSlaveInconsistentFieldRejects++;
                        break;
                    case __h245(terminalCapabilitySetAck):
                        pStatistic->h245CapExchangeAcks++;
                        break;
                    case __h245(terminalCapabilitySetReject):
                        pStatistic->h245CapExchangeRejects++;

                        chNodeId = pvtGetChild(hVal, chNodeId, __h245(cause), NULL);
                        if(chNodeId >= 0)
                        {
                            chNodeId= pvtChild(hVal, chNodeId);
                            index = pvtGetSyntaxIndex(hVal, chNodeId);
                            pStatistic->h245CapExchangeRejectCause[index-1]++;
                        }
                        break;
                    case __h245(openLogicalChannelAck):
                        pStatistic->h245LogChanOpenLogChanAcks++;
                        break;
                    case __h245(openLogicalChannelReject):
                        pStatistic->h245LogChanOpenLogChanRejects++;

                        chNodeId = pvtGetChild(hVal, chNodeId, __h245(cause), NULL);
                        if(chNodeId >= 0)
                        {
                            chNodeId= pvtChild(hVal, chNodeId);
                            index = pvtGetSyntaxIndex(hVal, chNodeId);
                            pStatistic->h245LogChanOpenLogChanRejectCause[index-1]++;
                        }
                        break;
                    case __h245(closeLogicalChannelAck):
                        pStatistic->h245LogChanCloseLogChanAcks++;
                        break;
                    case __h245(requestChannelCloseAck):
                        pStatistic->h245LogChanCloseLogChanRequestsAcks++;
                        break;
                    case __h245(requestChannelCloseReject):
                        pStatistic->h245LogChanCloseLogChanRequestRejects++;
                        break;
                    default:
                        break;
                }
            }
            else if (req == 4)
            {
                switch(fieldId)
                {
                    case __h245(masterSlaveDeterminationRelease):
                        pStatistic->h245ControlChannelMasterSlaveReleases++;
                    break;
                    case __h245(terminalCapabilitySetRelease):
                        pStatistic->h245CapExchangeReleases++;
                        break;
                    case __h245(openLogicalChannelConfirm):
                        pStatistic->h245LogChanOpenLogChanConfirms++;
                        break;
                    case __h245(requestChannelCloseRelease):
                        pStatistic->h245LogChanCloseLogChanRequestReleases++;
                        break;
                    default:
                        break;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成av人综合在线观看| 成人短视频下载| 青青青爽久久午夜综合久久午夜| 全国精品久久少妇| 色综合久久久久综合| 日韩一卡二卡三卡| **性色生活片久久毛片| 久久99热狠狠色一区二区| 91精品91久久久中77777| 久久久久88色偷偷免费| 日韩电影在线观看网站| 91美女在线视频| 国产欧美日韩卡一| 久久综合综合久久综合| 亚洲免费在线观看视频| 欧美日韩午夜在线| 专区另类欧美日韩| 大陆成人av片| wwwwxxxxx欧美| 久99久精品视频免费观看| 欧美日韩国产美女| 亚洲丰满少妇videoshd| 色综合一个色综合亚洲| **欧美大码日韩| 99热精品一区二区| 日韩视频在线永久播放| 色噜噜狠狠色综合中国| 91精品国产一区二区| 亚洲一级片在线观看| 91麻豆免费在线观看| 中文字幕日韩一区| 91在线免费视频观看| 中文字幕在线不卡视频| av电影一区二区| 中文字幕av一区二区三区| 亚洲综合精品自拍| 亚洲同性gay激情无套| 欧美日韩国产不卡| 福利电影一区二区| 亚洲成av人片在线观看| 欧美在线影院一区二区| 亚洲日本在线a| 99国内精品久久| 亚洲综合丝袜美腿| 欧美精品日韩一区| 麻豆精品在线观看| 2023国产精品| 99精品国产91久久久久久| 亚洲美女免费在线| 欧美人妇做爰xxxⅹ性高电影| 亚洲成人精品在线观看| 日韩久久久久久| 成人免费观看男女羞羞视频| 亚洲人成在线播放网站岛国| 欧美日韩黄视频| 极品销魂美女一区二区三区| 国产精品视频你懂的| 成人h动漫精品一区二区| 欧美日韩国产一二三| 国产一区欧美二区| 欧美高清在线精品一区| 91在线云播放| 日本aⅴ免费视频一区二区三区| 欧美一区二区三区公司| 国产福利一区二区三区视频 | 国产传媒久久文化传媒| 中文av字幕一区| 在线观看亚洲a| 奇米精品一区二区三区在线观看| 国产午夜亚洲精品不卡| 日本高清无吗v一区| 久久激五月天综合精品| 亚洲欧美一区二区三区久本道91| 欧美另类久久久品| 成人一二三区视频| 日本不卡一区二区三区 | 国产精品的网站| 国产精品网友自拍| 99国内精品久久| 毛片av一区二区| 亚洲欧美日韩人成在线播放| 欧美一区三区四区| 91免费视频网| 激情综合色丁香一区二区| 一个色综合av| 国产欧美综合在线| 欧美一级一级性生活免费录像| 成人高清免费观看| 韩国女主播成人在线观看| 亚洲一级电影视频| 亚洲天堂免费在线观看视频| 精品国产人成亚洲区| 欧美高清视频不卡网| 色综合久久99| 成人性生交大片免费| 韩国一区二区在线观看| 日韩av一级电影| 亚洲夂夂婷婷色拍ww47| 久久久久久9999| 日韩精品一区二区三区在线播放| 777午夜精品视频在线播放| 久久精品国产免费| 午夜久久电影网| 伊人开心综合网| 自拍av一区二区三区| 日本一区二区三区国色天香| 日韩欧美www| 日韩欧美一区二区不卡| 欧美日本韩国一区| 精品视频在线免费看| 色播五月激情综合网| 一本色道综合亚洲| 94-欧美-setu| 91麻豆免费在线观看| 91免费观看国产| 色婷婷综合久久久中文字幕| 91美女在线视频| 色94色欧美sute亚洲线路二| 日本韩国欧美一区| 91国内精品野花午夜精品| 在线免费观看日本一区| 91福利视频久久久久| 欧美影院精品一区| 天天综合网天天综合色| 国内精品国产三级国产a久久| 国产精品少妇自拍| 中文字幕一区二区三| 五月天亚洲精品| 国产成a人无v码亚洲福利| 97精品久久久午夜一区二区三区| 99这里只有久久精品视频| 在线观看中文字幕不卡| 欧美日韩另类一区| 国产精品久久三区| 成人免费视频国产在线观看| 国产真实乱偷精品视频免| 在线观看av不卡| 欧美性色黄大片手机版| 欧美一区二区啪啪| 国产精品久久久久久福利一牛影视| 国产亚洲一本大道中文在线| 国产精品久久一卡二卡| 日韩综合小视频| 一本到一区二区三区| 成人一级视频在线观看| 91视频在线观看免费| 99视频有精品| 欧美情侣在线播放| 精品日产卡一卡二卡麻豆| 国产欧美日韩在线视频| 亚洲国产成人91porn| 狠狠色综合播放一区二区| 99国产精品久久久久| 制服.丝袜.亚洲.另类.中文| 日本一区二区三区高清不卡| 一区二区三区欧美日韩| 国内精品视频666| 色婷婷精品久久二区二区蜜臂av| 欧美一区二区在线看| 最新成人av在线| 久久精品国产**网站演员| 97国产一区二区| 亚洲精品在线电影| 亚洲一本大道在线| 国产成人av影院| 日韩一级欧美一级| 亚洲精品乱码久久久久久黑人| 国内不卡的二区三区中文字幕| 色综合久久久久综合体桃花网| 中文字幕在线观看一区| 精品无人码麻豆乱码1区2区 | 中文字幕乱码一区二区免费| 亚洲一区二区三区视频在线| 国产白丝精品91爽爽久久| 欧美一级片免费看| 一区二区欧美国产| 97精品国产露脸对白| 久久精品人人做人人综合| 麻豆精品在线看| 91麻豆精品久久久久蜜臀| 亚洲欧美国产77777| 成人丝袜18视频在线观看| 日韩精品一区二区三区在线播放 | 在线亚洲精品福利网址导航| 国产精品毛片a∨一区二区三区 | 亚洲女性喷水在线观看一区| 丁香婷婷综合五月| 亚洲视频一二三区| 国产福利91精品一区二区三区| 4438x成人网最大色成网站| 国产一区二区视频在线| 伊人夜夜躁av伊人久久| 亚洲国产成人va在线观看天堂| 爽好久久久欧美精品| 在线观看亚洲一区| 亚洲制服丝袜av| 日本韩国一区二区三区视频| 亚洲欧美一区二区久久| 一本到三区不卡视频| 伊人性伊人情综合网|