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

📄 cm.h

📁 基于h323协议的软phone
💻 H
📖 第 1 页 / 共 5 页
字号:
    cmParamRate,                            /* int */
    cmParamRequestedRate,                   /* int */
    cmParamInformationTransferCapability,   /* cmInformationTransferCapability enum */
    cmParamMultiRate,                       /* RvBool */
    cmParamCalledPartyNumber,               /* cmAlias */
    cmParamCalledPartySubAddress,           /* cmAlias */
    cmParamCallingPartyNumber,              /* cmAlias */
    cmParamCallingPartySubAddress,          /* cmAlias */
    cmParamExtension,                       /* cmAlias */
    cmParamExtention = cmParamExtension,    /* cmAlias - reserved for backward compatability */
    cmParamAlternativeAddress,              /* cmTransportAddress */
    cmParamAlternativeAliasAddress,         /* cmAlias */
    cmParamFacilityReason,                  /* cmReasonType */
    cmParamDestinationIpAddress,            /* cmTransportAddress - physical address, used to detrmine actual destination of call */
    cmParamRemoteIpAddress,                 /* cmTransportAddress */
    cmParamCRV,                             /* int */
    cmParamRASCRV,                          /* int */
    cmParamCallSignalAddress,               /* cmTransportAddress */
    cmParamEstablishH245,                   /* RvBool */
    cmParamDisplay,                         /* char*        */
    cmParamFacilityCID,                     /* char[16] */
    cmParamConnectDisplay,                  /* char*        */
    cmParamUserUser,                        /* char*        */
    cmParamConnectUserUser,                 /* char*        */
    cmParamFullSourceInfo,                  /* RvPvtNodeId  */
    cmParamFullDestinationInfo,             /* RvPvtNodeId  */
    cmParamSetupNonStandardData,            /* RvPvtNodeId  */
    cmParamCallProceedingNonStandardData,   /* RvPvtNodeId  */
    cmParamAlertingNonStandardData,         /* RvPvtNodeId  */
    cmParamConnectNonStandardData,          /* RvPvtNodeId  */
    cmParamReleaseCompleteNonStandardData,  /* RvPvtNodeId  */
    cmParamSetupNonStandard,                /* cmNonStandardParam */
    cmParamCallProceedingNonStandard,       /* cmNonStandardParam */
    cmParamAlertingNonStandard,             /* cmNonStandardParam */
    cmParamConnectNonStandard,              /* cmNonStandardParam */
    cmParamReleaseCompleteNonStandard,      /* cmNonStandardParam */
    cmParamAlternativeDestExtraCallInfo,    /* cmAlias */
    cmParamAlternativeExtension,            /* cmAlias */
    cmParamAlternativeExtention = cmParamAlternativeExtension, /* cmAlias - reserved for backward compatability */
    cmParamSetupFastStart,                  /* RvPvtNodeId  */
    cmParamConnectFastStart,                /* RvPvtNodeId  */
    cmParamEarlyH245,                       /* RvBool */
    cmParamCallID,                          /* char[16] */
    cmParamPreGrantedArq,                   /* cmPreGrantedArqUse */
    cmParamAlertingFastStart,               /* RvPvtNodeId  */
    cmParamCallProcFastStart,               /* RvPvtNodeId  */
    cmParamAlertingH245Address,             /* cmTransportAddress*/
    cmParamCallProcH245Address,             /* cmTransportAddress*/
    cmParamCanOverlapSending,               /* RvBool */
    cmParamIncompleteAddress,               /* Resrved for backward compatability - not used*/
    cmParamH245Tunneling,                   /* RvBool */
    cmParamFastStartInUseObsolete,          /* Resrved for backward compatability - not used*/
    cmParamSetupCanOverlapSending,          /* RvBool */
    cmParamSetupSendingComplete,            /* RvBool */
    cmParamFullSourceAddress,               /* RvPvtNodeId  */
    cmParamFullDestinationAddress,          /* RvPvtNodeId  */
    cmParamRouteCallSignalAddress,          /* cmTransportAddress*/
    cmParamH245Stage,                       /* cmH245Stage */
    cmParamH245Parallel,                    /* RvBool */
    cmParamShutdownEmptyConnection,         /* RvBool */
    cmParamIsMultiplexed,                   /* RvBool */
    cmParamAnnexE,                          /* cmAnnexEUsageMode */
    cmParamDestinationAnnexEAddress,        /* cmTransportAddress - physical address used to determine actual destination of call */
    cmParamConnectedAddress,                /* cmAlias */
    cmParamFullDestExtraCallInfo,           /* RvPvtNodeId  */
    cmParamFullExtension                    /* RvPvtNodeId  */
} cmCallParam;


typedef int cmParam;

typedef int
(*cmNewCallbackEH)(void);


typedef enum
{
   cmIdle,
   cmDiscovered,
   cmRegistered
} cmRegState;

typedef enum
{
   cmGatekeeperConfirm,
   cmGatekeeperReject,
   cmRegistrationConfirm,
   cmRegistrationReject,
   cmUnregistrationRequest,
   cmUnregistrationConfirm,
   cmUnregistrationReject,
   cmNonStandardMessage,
   cmResourceAvailabilityConfirmation,
   cmPermanentAlternateGatekeeperConfirmation
} cmRegEvent;



typedef int
    (RVCALLCONV *cmEvNewCallT)(
        IN      HAPP                hApp,
        IN      HCALL               hsCall,
        OUT     LPHAPPCALL          lphaCall);


typedef int
    (RVCALLCONV *cmEvRegEventT)(
        IN      HAPP                hApp,
        IN      cmRegState          regState,
        IN      cmRegEvent          regEvent,
        IN      RvPvtNodeId         regEventHandle);

typedef  struct
{
    cmEvNewCallT cmEvNewCall;
    cmEvRegEventT cmEvRegEvent;
} SCMEVENT,*CMEVENT;

typedef int
    (RVCALLCONV *cmEvCallStateChangedT)(
        IN      HAPPCALL            haCall,
        IN      HCALL               hsCall,
        IN      cmCallState_e       state,
        IN      cmCallStateMode_e   stateMode);


typedef int
    (RVCALLCONV *cmEvCallNewRateT)(
        IN      HAPPCALL            haCall,
        IN      HCALL               hsCall,
        IN      RvUint32            rate);

typedef int
    (RVCALLCONV*cmEvCallInfoT)(
        IN      HAPPCALL            haCall,
        IN      HCALL               hsCall,
        IN      char*               display,
        IN      char*               userUser,
        IN      int                 userUserSize);

/* This callback is obsolete. It is here for backward compatability. It is never
   called by the stack */
typedef int
    (RVCALLCONV*cmCallNonStandardParamT)(
        IN      HAPPCALL            haCall,
        IN      HCALL               hsCall,
        IN      char*               data,
        IN      int                 dataSize);

typedef int
    (RVCALLCONV*cmEvCallFacilityT)(
        IN      HAPPCALL            haCall,
        IN      HCALL               hsCall,
        IN      int                 handle,
        OUT IN  RvBool              *proceed);

typedef int
    (RVCALLCONV * cmEvCallFastStartSetupT)(
        IN      HAPPCALL            haCall,
        IN      HCALL               hsCall,
        OUT IN  cmFastStartMessage  *fsMessage);

typedef int
    (RVCALLCONV*cmEvCallFastStartT)(
        IN  HAPPCALL                haCall,
        IN  HCALL                   hsCall);


typedef int
    (RVCALLCONV * cmEvCallStatusT)(
        IN      HAPPCALL            haCall,
        IN      HCALL               hsCall,
        OUT IN  cmCallStatusMessage *callStatusMsg);

typedef int
    (RVCALLCONV * cmEvCallUserInfoT)(
        IN      HAPPCALL            haCall,
        IN      HCALL               hsCall,
        IN      int                 nodeId);

typedef int
    (RVCALLCONV * cmEvCallH450SupplServT)(
        IN      HAPPCALL            haCall,
        IN      HCALL               hsCall,
        IN      cmCallQ931MsgType   msgType,
        IN      int                 nodeId,
        IN      int                 size);

typedef int
    (RVCALLCONV * cmEvCallIncompleteAddressT)(
        IN      HAPPCALL            haCall,
        IN      HCALL               hsCall);

typedef int
    (RVCALLCONV * cmEvCallAdditionalAddressT)(
        IN      HAPPCALL            haCall,
        IN      HCALL               hsCall,
        IN      char*               address,
        IN      RvBool              sendingComplete);

typedef int
    (RVCALLCONV * cmEvCallTunnNewMessageT)(
         IN     HAPPCALL            haCall,
         IN     HCALL               hsCall,
         IN     int                 vtNodeId,
         IN     int                 vtAddNodeId,
         OUT    RvBool*             wait);

/********************************************************************************************
 * cmEvCallProgressT
 * purpose : Notification function for the application that a Q931 Progress message was
 *           received on a call.
 * input   : haCall         - Application's handle for the call
 *           hsCall         - Stack's handle for the call
 *           handle         - The PVT root node ID of the Progress message
 * output  : none
 ********************************************************************************************/
typedef int
    (RVCALLCONV*cmEvCallProgressT)(
        IN      HAPPCALL            haCall,
        IN      HCALL               hsCall,
        IN      int                 handle);

/********************************************************************************************
 * cmEvCallNotiftyT
 * purpose : Notification function for the application that a Q931 Notify message was
 *           received on a call.
 * input   : haCall         - Application's handle for the call
 *           hsCall         - Stack's handle for the call
 *           handle         - The PVT root node ID of the Notify message
 * output  : none
 ********************************************************************************************/
typedef int
    (RVCALLCONV*cmEvCallNotifyT)(
        IN      HAPPCALL            haCall,
        IN      HCALL               hsCall,
        IN      int                 handle);

/********************************************************************************************
 * cmEvCallNewAnnexLMessageT
 * purpose : Notification function for the application that there has been a new Annex L
 *           message inside an incoming Q931 message.
 *           Applications that want to implement Annex L capabilities should implement
 *           this function.
 * input   : haCall         - Application's handle for the call
 *           hsCall         - Stack's handle for the call
 *           annexLElement  - PVT node ID of the Annex L element inside a Q931 message
 *           msgType        - The type of the message from which we extracted the Annex L
 *                            message
 * output  : none
 * note    : cmCallGetAnnexLMessage can be used to analyze the Annex L message
 ********************************************************************************************/
typedef int
    (RVCALLCONV*cmEvCallNewAnnexLMessageT)(
        IN      HAPPCALL            haCall,
        IN      HCALL               hsCall,
        IN      int                 annexLElement,
        IN      int                 msgType);

/********************************************************************************************
 * cmEvCallNewAnnexMMessageT
 * purpose : Notification function for the application that there has been a new Annex M
 *           message inside an incoming Q931 message.
 *           Applications that want to implement Annex M capabilities should implement
 *           this function.
 * input   : haCall         - Application's handle for the call
 *           hsCall         - Stack's handle for the call
 *           annexMElement  - PVT node ID of the Annex M element inside a Q931 message
 *           msgType        - The type of the message from which we extracted the Annex M
 *                            message
 * output  : none
 * note    : cmCallGetAnnexMMessage can be used to analyze the Annex M message
 ********************************************************************************************/
typedef int
    (RVCALLCONV*cmEvCallNewAnnexMMessageT)(
        IN      HAPPCALL            haCall,
        IN      HCALL               hsCall,
        IN      int                 annexMElement,
        IN      int                 msgType);

/********************************************************************************************
 * cmEvCallRecvMessageT
 * purpose : Notification function for the application that an incoming Q931 or H245 message
 *           was received by the stack and is about to be processed.
 * input   : haCall     - Application's handle for the call
 *           hsCall     - Stack's handle for the call
 *           message    - PVT node ID of the message that was received
 * output  : none
 ********************************************************************************************/
typedef int
    (RVCALLCONV*cmEvCallRecvMessageT)(
        IN      HAPPCALL            haCall,
        IN      HCALL               hsCall,
        IN      int                 message);

/********************************************************************************************
 * cmEvCallSendMessageT
 * purpose : Notification function for the application that an outgoing Q931 or H245 message
 *           is about to be sent by the stack.
 * input   : haCall     - Application's handle for the call
 *           hsCall     - Stack's handle for the call
 *           message    - PVT node ID of the message that is about to be sent
 * output  : none
 ********************************************************************************************/
typedef int
    (RVCALLCONV*cmEvCallSendMessageT)(
        IN      HAPPCALL            haCall,
        IN      HCALL               hsCall,
        IN      int                 message);



typedef  struct
{
    cmEvCallStateChangedT       cmEvCallStateChanged;
    cmEvCallNewRateT            cmEvCallNewRate;
    cmEvCallInfoT               cmEvCallInfo;
    cmCallNonStandardParamT     cmCallNonStandardParam;     /* This callback is not used */
    cmEvCallFacilityT           cmEvCallFacility;
    cmEvCallFastStartSetupT     cmEvCallFastStartSetup;
    cmEvCallStatusT             cmEvCallStatus;
    cmEvCallUserInfoT           cmEvCallUserInfo;
    cmEvCallH450SupplServT      cmEvCallH450SupplServ;
    cmEvCallIncompleteAddressT  cmEvCallIncompleteAddress;
    cmEvCallAdditionalAddressT  cmEvCallAdditionalAddress;

    cmEvCallTunnNewMessageT     cmEvCallTunnNewMessage;
    cmEvCallFastStartT          cmEvCallFastStart;
    cmEvCallProgressT           cmEvCallProgress;
    cmEvCallNotifyT             cmEvCallNotify;
    cmEvCallNewAnnexLMessageT   cmEvCallNewAnnexLMessage;
    cmEvCallNewAnnexMMessageT   cmEvCallNewAnnexMMessage;
    cmEvCallRecvMessageT        cmEvCallRecvMessage;
    cmEvCallSendMessageT        cmEvCallSendMessage;
} SCMCALLEVENT,*CMCALLEVENT;


/********************************************************************************************
 * cmStartUp
 * purpose : This function should be called prior to any cmInit() or cmInitialize() calls.
 *           It must be called when several cmInitialize() functions are called from
 *           different threads at the same time.
 * input   : none
 * output  : none
 * return  : RV_OK on success, or a negative value on failure
 ********************************************************************************************/
RVAPI
RvStatus RVCALLCONV cmStartUp(void);


/********************************************************************************************

⌨️ 快捷键说明

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