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

📄 cmctrl.h

📁 基于h323协议的软phone
💻 H
📖 第 1 页 / 共 4 页
字号:
        IN      HAPPCALL            haCall,
        IN      HCALL               hsCall,
        IN      cmControlState      state,
        IN      cmControlStateMode  stateMode);


typedef int
    (RVCALLCONV *cmEvCallMasterSlaveT)(
        IN      HAPPCALL            haCall,
        IN      HCALL               hsCall,
        IN      RvUint32            terminalType,
        IN      RvUint32            statusDeterminationNumber);


/********************************************************************************************
 * cmEvCallControlMessageT
 * purpose : Notification function for the application that an incoming H.245 message
 *           was received. The messages reported by this callback are not handled by
 *           internal state machines in the stack.
 * input   : haCall         - Application's handle for the call
 *           hsCall         - Stack's handle for the call
 *           message        - Node ID of the received message
 *           messageType    - Type of message received
 * output  : none
 ********************************************************************************************/
typedef int
    (RVCALLCONV *cmEvCallControlMessageT)(
        IN  HAPPCALL            haCall,
        IN  HCALL               hsCall,
        IN  HAPPCHAN            haChan,
        IN  HCHAN               hsChan,
        IN  RvPvtNodeId         message,
        IN  cmH245MessageType   messageType);







typedef  struct
{
    cmEvCallCapabilitiesT           cmEvCallCapabilities;
    cmEvCallCapabilitiesExtT        cmEvCallCapabilitiesExt;
    cmEvCallNewChannelT             cmEvCallNewChannel;
    cmEvCallCapabilitiesResponseT   cmEvCallCapabilitiesResponse;
    cmEvCallMasterSlaveStatusT      cmEvCallMasterSlaveStatus;
    cmEvCallRoundTripDelayT         cmEvCallRoundTripDelay;
    cmEvCallUserInputT              cmEvCallUserInput;
    cmEvCallRequestModeT            cmEvCallRequestMode;
    cmEvCallMiscStatusT             cmEvCallMiscStatus;
    cmEvCallControlStateChangedT    cmEvCallControlStateChanged;
    cmEvCallMasterSlaveT            cmEvCallMasterSlave;
    cmEvCallControlMessageT         cmEvCallControlMessage;
} SCMCONTROLEVENT,*CMCONTROLEVENT;

typedef SCMCONTROLEVENT SCMSESSIONEVENT; /* for backward compatability */
typedef CMCONTROLEVENT CMSESSIONEVENT;




/* --- Control channels callback functions --- */


typedef int
    (RVCALLCONV *cmEvChannelStateChangedT)(
        IN      HAPPCHAN            haChan,
        IN      HCHAN               hsChan,
        IN      RvUint32            state,
        IN      RvUint32            stateMode);

typedef int
    (RVCALLCONV *cmEvChannelNewRateT)(
        IN      HAPPCHAN            haChan,
        IN      HCHAN               hsChan,
        IN      RvUint32            rate);

typedef int
    (RVCALLCONV *cmEvChannelMaxSkewT)(
        IN      HAPPCHAN            haChan1,
        IN      HCHAN               hsChan1,
        IN      HAPPCHAN            haChan2,
        IN      HCHAN               hsChan2,
        IN      RvUint32            skew);

typedef int
    (RVCALLCONV *cmEvChannelSetAddressT)(
        IN      HAPPCHAN            haChan,
        IN      HCHAN               hsChan,
        IN      RvUint32            ip,
        IN      RvUint16            port);

typedef int
    (RVCALLCONV *cmEvChannelSetRTCPAddressT)(
        IN      HAPPCHAN            haChan,
        IN      HCHAN               hsChan,
        IN      RvUint32            ip,
        IN      RvUint16            port);

typedef int
    (RVCALLCONV *cmEvChannelParametersT)(
        IN      HAPPCHAN            haChan,
        IN      HCHAN               hsChan,
        IN      char*               channelName,
        IN      HAPPCHAN            haChanSameSession,
        IN      HCHAN               hsChanSameSession,
        IN      HAPPCHAN            haChanAssociated,
        IN      HCHAN               hsChanAssociated,
        IN      RvUint32            rate);

typedef int
    (RVCALLCONV *cmEvChannelRTPDynamicPayloadTypeT)(
        IN      HAPPCHAN            haChan,
        IN      HCHAN               hsChan,
        IN      RvInt8              dynamicPayloadType);

typedef int
    (RVCALLCONV *cmEvChannelVideoFastUpdatePictureT)(
        IN      HAPPCHAN            haChan,
        IN      HCHAN               hsChan);

typedef int
    (RVCALLCONV *cmEvChannelVideoFastUpdateGOBT)(
        IN      HAPPCHAN            haChan,
        IN      HCHAN               hsChan,
        IN      int                 firstGOB,
        IN      int                 numberOfGOBs);

typedef int
    (RVCALLCONV *cmEvChannelVideoFastUpdateMBT)(
        IN      HAPPCHAN            haChan,
        IN      HCHAN               hsChan,
        IN      int                 firstGOB,
        IN      int                 firstMB,
        IN      int                 numberOfMBs);

typedef int
    (RVCALLCONV *cmEvChannelHandleT)(
          /* provide data type tree handle for this channel */
        IN      HAPPCHAN            haChan,
        IN      HCHAN               hsChan,
        IN      int                 dataTypeHandle,
        IN      cmCapDataType       dataType);


typedef int
    (RVCALLCONV *cmEvChannelGetRTCPAddressT)(
        IN      HAPPCHAN            haChan,
        IN      HCHAN               hsChan,
        IN      RvUint32*           ip,
        IN      RvUint16*           port);

typedef int
    (RVCALLCONV *cmEvChannelRequestCloseStatusT)(
        IN      HAPPCHAN              haChan,
        IN      HCHAN                 hsChan,
        IN      cmRequestCloseStatus  status);

typedef int
    (RVCALLCONV *cmEvChannelTSTOT)(
        IN      HAPPCHAN              haChan,
        IN      HCHAN                 hsChan,
        IN      RvInt8                isCommand, /* 0: indication, 1: command */
        IN      RvInt8                tradeoffValue); /* 0-31 trade off value */

typedef int
    (RVCALLCONV *cmEvChannelMediaLoopStatusT)(
        IN      HAPPCHAN              haChan,
        IN      HCHAN                 hsChan,
        IN      cmMediaLoopStatus     status);



typedef int
    (RVCALLCONV * cmEvChannelReplaceT)(
         IN     HAPPCHAN              haChan,
         IN     HCHAN                 hsChan,
         IN     HAPPCHAN              haReplacedChannel,
         IN     HCHAN                 hsReplacedChannel);


typedef int
    (RVCALLCONV * cmEvChannelFlowControlToZeroT)(
         IN      HAPPCHAN             haChan,
         IN      HCHAN                hsChan);

typedef int
    (RVCALLCONV * cmEvChannelMiscCommandT)(
         IN      HAPPCHAN             haChan,
         IN      HCHAN                hsChan,
         IN      cmMiscellaneousCommand miscCommand);

typedef int
    (RVCALLCONV * cmEvChannelTransportCapIndT)(
         IN      HAPPCHAN             haChan,
         IN      HCHAN                hsChan,
         IN      int nodeId
                     );


typedef int
    (RVCALLCONV *cmEvChannelSetNSAPAddressT)(
        IN      HAPPCHAN              haChan,
        IN      HCHAN                 hsChan,
        IN      char*                 address,
        IN      int                   length,
        IN      RvBool                multicast);


typedef int
    (RVCALLCONV *cmEvChannelSetATMVCT)(
        IN      HAPPCHAN              haChan,
        IN      HCHAN                 hsChan,
        IN      int                   portNumber);


typedef struct
{
  cmEvChannelStateChangedT            cmEvChannelStateChanged;
  cmEvChannelNewRateT                 cmEvChannelNewRate;
  cmEvChannelMaxSkewT                 cmEvChannelMaxSkew;
  cmEvChannelSetAddressT              cmEvChannelSetAddress;
  cmEvChannelSetRTCPAddressT          cmEvChannelSetRTCPAddress;
  cmEvChannelParametersT              cmEvChannelParameters;
  cmEvChannelRTPDynamicPayloadTypeT   cmEvChannelRTPDynamicPayloadType;
  cmEvChannelVideoFastUpdatePictureT  cmEvChannelVideoFastUpdatePicture;
  cmEvChannelVideoFastUpdateGOBT      cmEvChannelVideoFastUpdateGOB;
  cmEvChannelVideoFastUpdateMBT       cmEvChannelVideoFastUpdateMB;
  cmEvChannelHandleT                  cmEvChannelHandle;
  cmEvChannelGetRTCPAddressT          cmEvChannelGetRTCPAddress;
  cmEvChannelRequestCloseStatusT      cmEvChannelRequestCloseStatus;
  cmEvChannelTSTOT                    cmEvChannelTSTO;
  cmEvChannelMediaLoopStatusT         cmEvChannelMediaLoopStatus;
  cmEvChannelReplaceT                 cmEvChannelReplace;
  cmEvChannelFlowControlToZeroT       cmEvChannelFlowControlToZero;
  cmEvChannelMiscCommandT             cmEvChannelMiscCommand;
  cmEvChannelTransportCapIndT         cmEvChannelTransportCapInd;
  cmEvChannelSetNSAPAddressT          cmEvChannelSetNSAPAddress;
  cmEvChannelSetATMVCT                cmEvChannelSetATMVC;

} SCMCHANEVENT,*CMCHANEVENT;









/* General_______________________________________________________________________________________________*/






RVAPI int RVCALLCONV /* Real number of channels in configuration or negative value on failure */
cmGetConfigChannels(
            /* build array containing the channel names as appear in
               the configuration. The strings are copied into array elements */
            IN  HAPP        hApp,
            IN  int         arraySize,
            IN  int         elementLength, /* sizeof each string in array */
            OUT char*       array[] /* allocated with elements */
            );

/************************************************************************
 * cmSetControlEventHandler
 * purpose: Used only for backward compatibility. Also known as cmSetSessionEventHandler.
 *          Installs the control event handler
 * input  : hApp            - Stack handle for the application
 *          cmControlEvent  - Pointer to array of pointers to general event callback functions
 *          size            - Size of *cmControlEvent in bytes
 * output : none
 * return : Non-negative value on success
 *          Negative value on failure
 ************************************************************************/
RVAPI
int RVCALLCONV cmSetControlEventHandler(
        IN      HAPP                hApp,
        IN      CMCONTROLEVENT      cmControlEvent,
        IN      int                 size);

RVAPI
int RVCALLCONV cmGetControlEventHandler(
        IN      HAPP                hApp,
        OUT     CMCONTROLEVENT      cmControlEvent,
        IN      int                 size);

#define cmSetSessionEventHandler cmSetControlEventHandler /* for backward compatability */


/************************************************************************
 * cmSetChannelEventHandler
 * purpose: Installs the channel event handler
 * input  : hApp            - Stack handle for the application
 *          cmChannelEvent  - Pointer to array of pointers to general event callback functions
 *          size            - Size of *cmChannelEvent in bytes
 * output : none
 * return : Non-negative value on success
 *          Negative value on failure
 ************************************************************************/
RVAPI
int RVCALLCONV cmSetChannelEventHandler(
        IN      HAPP                hApp,
        IN      CMCHANEVENT         cmChannelEvent,
        IN      int                 size);


RVAPI
int RVCALLCONV cmGetChannelEventHandler(
        IN      HAPP                hApp,
        OUT      CMCHANEVENT         cmChannelEvent,
        IN      int                 size);



/* returns the value-tree node id of h245 configuration root node */
RVAPI
RvInt32 RVCALLCONV cmGetH245ConfigurationHandle(
                IN  HAPP             hApp);


/* Control Session API_______________________________________________________________________________*/





RVAPI
int RVCALLCONV cmCallCreateControlSession(
        IN   HCALL           hsCall,
        IN OUT   cmTransportAddress* addr);



RVAPI int RVCALLCONV
cmCallCloseControlSession(
              /* Close the H.245 PDL protocol tree */
              IN     HCALL               hsCall);


RVAPI int RVCALLCONV
cmCallHasControlSession(
              /* Checks for the H.245 PDL protocol tree */
              IN     HCALL               hsCall);

/* --- master/slave --- */


RVAPI
int RVCALLCONV cmCallMasterSlaveDetermine(
                    /* Start master slave determination request */
                    IN  HCALL       hsCall,
                    IN      int             terminalType
                    );
#define cmMasterSlaveDetermine cmCallMasterSlaveDetermine


RVAPI int RVCALLCONV /* master/slave status of this call */
cmCallMasterSlaveStatus(
            IN  HCALL       hsCall
            );


RVAPI int RVCALLCONV
cmCallMasterSlaveDetermineExt(
               /*  Start master slave determination request ,
          Acknowledge to master slave determination request
          set terminalType and determinationNumber .
          */
               IN   HCALL       hsCall,
               IN   int         terminalType,
               IN   int         determinationNumber);






/* --- capabilities --- */

RVAPI int RVCALLCONV /* remote terminal capability set node id, or negative value on failure */
cmCallGetRemoteCapabilities(
                /* Get latest remote terminal capability message */

⌨️ 快捷键说明

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