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

📄 cmparam.c

📁 基于h323协议的软phone
💻 C
📖 第 1 页 / 共 5 页
字号:
        case cmParamConnectedAddress       : { static RvInt16 path[] = {__q931(connectedAddress),LAST_TOKEN}; return path; };

        case cmParamFullSourceInfo         :
        case cmParamSourceInfo             : { static RvInt16 path[] = {__q931(sourceInfo),LAST_TOKEN} ; return path; };


        case cmParamDestCallSignalAddress  : { static RvInt16 path[] = {__q931(destCallSignalAddress),LAST_TOKEN} ; return path; };
        case cmParamSrcCallSignalAddress   : { static RvInt16 path[] = {__q931(sourceCallSignalAddress),LAST_TOKEN} ; return path; };

        case cmParamActiveMc               : { static RvInt16 path[] = {__q931(activeMC),LAST_TOKEN} ; return path; };
        case cmParamConferenceGoal         : { static RvInt16 path[] = {__q931(conferenceGoal),LAST_TOKEN}; return path;  };
        case cmParamCallType               : { static RvInt16 path[] = {__q931(callType),LAST_TOKEN} ; return path; };

        case cmParamSetupCanOverlapSending : { static RvInt16 path[] = {__q931(canOverlapSend),LAST_TOKEN} ; return path; };

        case cmParamSetupH245Address       :
        case cmParamCallProcH245Address    :
        case cmParamAlertingH245Address    :
        case cmParamH245Address            : { static RvInt16 path[] = {__q931(h245Address),LAST_TOKEN} ; return path; };

        case cmParamSetupFastStart         :
        case cmParamCallProcFastStart      :
        case cmParamAlertingFastStart      :
        case cmParamConnectFastStart       : { static RvInt16 path[] = {__q931(fastStart),LAST_TOKEN} ; return path; };


        case cmParamReleaseCompleteReason  :
        case cmParamFacilityReason         : { static RvInt16 path[] = {__q931(reason),LAST_TOKEN} ; return path; };


        case cmParamAlternativeAddress     : { static RvInt16 path[] = {__q931(alternativeAddress),LAST_TOKEN} ; return path; };
        case cmParamAlternativeAliasAddress: { static RvInt16 path[] = {__q931(alternativeAliasAddress),LAST_TOKEN} ; return path; };
        case cmParamAlternativeDestExtraCallInfo
                                           : { static RvInt16 path[] = {__q931(destExtraCallInfo),LAST_TOKEN} ; return path; };
        case cmParamAlternativeExtension   : { static RvInt16 path[] = {__q931(remoteExtensionAddress),LAST_TOKEN} ; return path; };
        case cmParamFacilityCID            : { static RvInt16 path[] = {__q931(conferenceID),LAST_TOKEN} ; return path; };
        default:break;


    }
    return NULL;
}

static RvInt16 *getParamName(
                          IN  cmCallParam       param
                          )
{
    switch(param)
    {
        case cmParamSetupSendingComplete   : { static RvInt16 path[] = {__q931(message),-1,__q931(sendingComplete),LAST_TOKEN} ; return path; };
        case cmParamInformationTransferCapability :
                                             { static RvInt16 path[] = {__q931(message),-1,__q931(bearerCapability),__q931(octet3),__q931(informationTransferCapability),LAST_TOKEN} ; return path; };
        case cmParamDisplay                : { static RvInt16 path[] = {__q931(message),-1,__q931(display),LAST_TOKEN} ; return path; };
        case cmParamCalledPartyNumber      : { static RvInt16 path[] = {__q931(message),-1,__q931(calledPartyNumber),LAST_TOKEN} ; return path; };
        case cmParamCalledPartySubAddress  : { static RvInt16 path[] = {__q931(message),-1,__q931(calledPartySubaddress),LAST_TOKEN} ; return path; };
        case cmParamCallingPartyNumber     : { static RvInt16 path[] = {__q931(message),-1,__q931(callingPartyNumber),LAST_TOKEN} ; return path; };
        case cmParamCallingPartySubAddress : { static RvInt16 path[] = {__q931(message),-1,__q931(callingPartySubaddress),LAST_TOKEN} ; return path; };
        case cmParamSourceAddress          : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),-1,__q931(sourceAddress),LAST_TOKEN} ; return path; };
        case cmParamDestinationAddress     : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),-1,__q931(destinationAddress),LAST_TOKEN} ; return path; };
        case cmParamFullSourceAddress      : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),-1,__q931(sourceAddress),LAST_TOKEN} ; return path; };
        case cmParamFullDestinationAddress : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),-1,__q931(destinationAddress),LAST_TOKEN} ; return path; };
        case cmParamFullDestExtraCallInfo  :
        case cmParamDestExtraCallInfo      : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),-1,__q931(destExtraCallInfo),LAST_TOKEN} ; return path; };
        case cmParamFullExtension          :
        case cmParamExtension              : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),-1,__q931(remoteExtensionAddress),LAST_TOKEN} ; return path; };
        case cmParamConnectedAddress       : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),-1,__q931(connectedAddress),LAST_TOKEN} ; return path; };

        case cmParamFullSourceInfo         :
        case cmParamSourceInfo             : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),-1,__q931(sourceInfo),LAST_TOKEN} ; return path; };


        case cmParamDestCallSignalAddress  : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),-1,__q931(destCallSignalAddress),LAST_TOKEN} ; return path; };
        case cmParamSrcCallSignalAddress   : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),-1,__q931(sourceCallSignalAddress),LAST_TOKEN} ; return path; };
        case cmParamSetupH245Address       : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),-1,__q931(h245Address),LAST_TOKEN} ; return path; };

        case cmParamActiveMc               : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),-1,__q931(activeMC),LAST_TOKEN} ; return path; };
        case cmParamConferenceGoal         : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),-1,__q931(conferenceGoal),LAST_TOKEN}; return path;  };
        case cmParamCallType               : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),-1,__q931(callType),LAST_TOKEN} ; return path; };
        case cmParamUserUser               : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(user_data),LAST_TOKEN} ; return path; };

        case cmParamSetupNonStandardData   :
        case cmParamSetupNonStandard       : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(nonStandardData),LAST_TOKEN}; return path;  };

        case cmParamSetupFastStart         : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),-1,__q931(fastStart),LAST_TOKEN} ; return path; };
        case cmParamSetupCanOverlapSending : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),-1,__q931(canOverlapSend),LAST_TOKEN} ; return path; };

        case cmParamCallProcH245Address    : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),-1,__q931(h245Address),LAST_TOKEN} ; return path; };
        case cmParamCallProceedingNonStandardData:
        case cmParamCallProceedingNonStandard
                                           : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(nonStandardData),LAST_TOKEN}; return path;  };

        case cmParamCallProcFastStart      : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),-1,__q931(fastStart),LAST_TOKEN} ; return path; };


        case cmParamAlertingH245Address    : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),-1,__q931(h245Address),LAST_TOKEN} ; return path; };
        case cmParamAlertingNonStandardData:
        case cmParamAlertingNonStandard    : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(nonStandardData),LAST_TOKEN}; return path;  };
        case cmParamAlertingFastStart      : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),-1,__q931(fastStart),LAST_TOKEN} ; return path; };


        case cmParamH245Address            : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),-1,__q931(h245Address),LAST_TOKEN} ; return path; };
        case cmParamConnectDisplay         : { static RvInt16 path[] = {__q931(message),-1,__q931(display),LAST_TOKEN} ; return path; };
        case cmParamConnectUserUser        : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(user_data),LAST_TOKEN} ; return path; };
        case cmParamConnectNonStandardData :
        case cmParamConnectNonStandard     : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(nonStandardData),LAST_TOKEN}; return path;  };
        case cmParamConnectFastStart       : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),-1,__q931(fastStart),LAST_TOKEN} ; return path; };


        case cmParamReleaseCompleteReason  : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),-1,__q931(reason),LAST_TOKEN} ; return path; };
        case cmParamReleaseCompleteCause   : { static RvInt16 path[] = {__q931(message),-1,__q931(cause),__q931(octet4),__q931(causeValue),LAST_TOKEN} ; return path; };
        case cmParamReleaseCompleteNonStandardData:
        case cmParamReleaseCompleteNonStandard
                                           : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(nonStandardData),LAST_TOKEN}; return path;  };


        case cmParamAlternativeAddress     : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),__q931(facility),__q931(alternativeAddress),LAST_TOKEN} ; return path; };
        case cmParamAlternativeAliasAddress: { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),__q931(facility),__q931(alternativeAliasAddress),LAST_TOKEN} ; return path; };
        case cmParamAlternativeDestExtraCallInfo
                                           : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),__q931(facility),__q931(destExtraCallInfo),LAST_TOKEN} ; return path; };
        case cmParamAlternativeExtension   : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),__q931(facility),__q931(remoteExtensionAddress),LAST_TOKEN} ; return path; };
        case cmParamFacilityCID            : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),__q931(facility),__q931(conferenceID),LAST_TOKEN} ; return path; };
        case cmParamFacilityReason         : { static RvInt16 path[] = {__q931(message),-1,__q931(userUser),__q931(h323_UserInformation),__q931(h323_uu_pdu),__q931(h323_message_body),__q931(facility),__q931(reason),LAST_TOKEN} ; return path; };
        default:break;


    }
    return NULL;
}

RVAPI
int RVCALLCONV cmCallSetParam(
                            IN HCALL        hsCall,
                            IN cmCallParam  param,
                            IN int          index,
                            IN RvInt32      value,
                            IN char *       svalue)
{
    RvBool simple=RV_TRUE;
    int nodeId,ret=0;

    int chNodeId;
    int length;
    callElem*call=(callElem*)hsCall;
    HAPP hApp=(HAPP)emaGetInstance((EMAElement)call);
    cmElem* app=(cmElem*)hApp;
    HPVT hVal;

    if (!hsCall || !hApp) return RV_ERROR_UNKNOWN;

    cmiAPIEnter(hApp,"cmCallSetParam: hsCall=0x%p,param %d,len=%d",hsCall,param,value);

    if (!emaLock((EMAElement)hsCall))
    {
        cmiAPIExit(hApp,"cmCallSetParam [Call Was Deleted]");
        return RV_ERROR_UNKNOWN;
    }

    hVal = app->hVal;

    switch(param)
    {
        case cmParamEstablishH245           :
        {
            RvBool establish=!value;
            m_callset(call,notEstablishControl ,establish);
            cmTransSetSessionParam(call->hsTransSession, cmTransParam_notEstablishControl,&establish);
            break;
        }
        case cmParamEarlyH245               :
        {
            cmH245Stage stage=(value)?cmTransH245Stage_early:cmTransH245Stage_connect;
            m_callset(call,h245Stage, stage);
            cmTransSetSessionParam(call->hsTransSession, cmTransParam_H245Stage,&stage);
            break;
        }
        case cmParamH245Parallel:
        {
            m_callset(call,isParallelTunneling ,value);
            cmTransSetSessionParam(call->hsTransSession, cmTransParam_isParallelTunnelingSupported,&value);
            if (value)
                cmTransSetSessionParam(call->hsTransSession, cmTransParam_isTunnelingSupported,&value);
            break;
        }
        case cmParamH245Tunneling:
            m_callset(call,h245Tunneling,value);
            cmTransSetSessionParam(call->hsTransSession, cmTransParam_isTunnelingSupported,&value);
            if (!value)
                cmTransSetSessionParam(call->hsTransSession, cmTransParam_isParallelTunnelingSupported,&value);
            break;
        case cmParamH245Stage:
            m_callset(call,h245Stage, (cmH245Stage)value);
            cmTransSetSessionParam(call->hsTransSession, cmTransParam_H245Stage,&value);
        break;
        case cmParamShutdownEmptyConnection:
            m_callset(call,shutdownEmptyConnection ,value);
            cmTransSetSessionParam(call->hsTransSession, cmTransParam_shutdownEmptyConnection,&value);
        break;
        case cmParamIsMultiplexed:
            m_callset(call,isMultiplexed ,value);
            cmTransSetSessionParam(call->hsTransSession, cmTransParam_isMultiplexed,&value);
        break;
        case cmParamAnnexE:
            call->annexE=(cmAnnexEUsageMode)value;
        break;
        case cmParamCRV:
            call->crv=value;
        break;
        case cmParamRASCRV:
            call->rascrv=value;
        break;
        case cmParamRequestedRate:
            call->newRate=value;
        break;
        case cmParamRate:
            call->rate=value;
        break;
        case cmParamMultiRate:
            m_callset(call,multiRate,value);
        break;
        case cmParamCanOverlapSending:
            m_callset(call,enableOverlapSending,value);
        break;
        case cmParamCallID:
            if (svalue)
               memcpy(call->callId,svalue,16);
        break;
        case cmParamCID:
            if (svalue)
               memcpy(call->cId,svalue,16);
        break;
        case cmParamPreGrantedArq:
            call->preGrantedArqUse=value;
        break;

        default:
            simple=RV_FALSE;

    }

    if (simple)
    {
        emaUnlock((EMAElement)hsCall);
        cmiAPIExit(hApp,(char*)"cmCallSetParam: [0]");
        return 0;
    }
    nodeId = call->property;

    switch (param)
    {
        case cmParamDestinationAnnexEAddress:
        {
            if (call->annexECallSignalAddress<0)
                chNodeId=call->annexECallSignalAddress=pvtAddRoot(hVal,app->hAddrSyn,0,NULL);
            else
                chNodeId=call->annexECallSignalAddress;
            break;
        }
        case cmParamDestinationIpAddress:
        {
            if (call->callSignalAddress<0)
                chNodeId=call->callSignalAddress=pvtAddRoot(hVal,app->hAddrSyn,0,NULL);
            else

⌨️ 快捷键说明

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