📄 mgcpdef.h
字号:
char *pcParamName;
char *pcParamValue;
} EVENT_PARAMETER;
typedef struct
{
WORD wNum;
EVENT_PARAMETER *pEventParamList;
} EVENT_PARAMETERS;
typedef enum
{
ACTION_UNDEFINED,
ACTION_NOTIFY,
ACTION_ACCUMU,
ACTION_ACCU_DIG,
ACTION_SWAP,
ACTION_IGNORE,
ACTION_KEEP,
ACTION_EMBED_REQ,
ACTION_EXTENDED
} E_EVENT_ACTION;
typedef struct
{
char *pcPackageName;
char *pcActionName;
EVENT_PARAMETERS ActionParameters;
} EXTENSION_ACTION;
typedef struct
{
E_EVENT_ACTION eType;
union
{
struct EMBEDDED_REQUEST *pEmbeddedRequest;
EXTENSION_ACTION *pExtensionAction;
} u;
} EVENT_ACTION;
typedef enum
{
DIGIT_MAP_STRING = 1,
DIGIT_MAP_STRING_LIST
} E_DIGIT_MAP;
typedef struct
{
E_DIGIT_MAP eType;
WORD wNum;
char **pDigitString;
} DIGIT_MAP;
/* The digit strings of the digit map can be splited into several sub types
as below */
typedef enum
{
DIGIT_STR_NORMAL = 1, /* The sub string is consist of only DTMF letters and
'T' */
DIGIT_STR_RANGE, /* The sub string is a range, include the sub range */
DIGIT_STR_POSITION /* The sub string is a range or normal string after
which a '.' is followed */
} E_SUB_DIGIT_STR;
typedef struct
{
E_SUB_DIGIT_STR eType;
char *pcDigitString;
} SUB_DIGIT_STRING;
typedef struct
{
WORD wSubStrNum;
SUB_DIGIT_STRING *pSubStrList;
} DIGIT_STRING;
typedef struct
{
DIGIT_MAP DigitMap;
WORD wStrNum; /* String number */
DIGIT_STRING *pDigitStrList; /* Parsed digit string list */
} MGCP_DIGIT_MAP;
typedef struct
{
E_EVENT_ACTION eType;
SLIST ReqEventList;
SLIST ReqSigList;
DIGIT_MAP *pDigitMap;
} MGCP_EVENT_ACTION;
typedef struct
{
WORD wNum;
EVENT_ACTION *pActionList;
} EVENT_ACTIONS;
typedef struct
{
EVENT_NAME EventName;
EVENT_ACTIONS *pEventActions;
EVENT_PARAMETERS EventParams;
} REQUESTED_EVENT;
typedef struct
{
WORD wNum;
REQUESTED_EVENT *pReqEventList;
} REQUESTED_EVENTS;
typedef enum
{
MGCP_EVENT_ID_SPECI,
MGCP_EVENT_ID_RANGE
} E_MGCP_EVENT_ID;
typedef struct
{
char *pcEventName; /* Original event name range */
SLIST EventList; /* Parsered event ID list, E_MGCP_EVENT type */
} MGCP_EVENT_RANGE;
typedef struct
{
E_MGCP_EVENT_ID eEventIdType;
union
{
E_MGCP_EVENT eEventID;
MGCP_EVENT_RANGE *pEventRange;
} u;
} MGCP_EVENT_ID;
typedef enum
{
CONNEC_UNDEFINE = 0,
CONNEC_CURRENT,
CONNEC_ALL,
CONNEC_SPECIFIC
} E_MGCP_CONNEC_ID;
typedef struct
{
E_MGCP_CONNEC_ID eConnecType;
DWORD dwConnecID; /* Used only when connection id is specific */
} MGCP_CONNEC_ID;
typedef struct
{
E_MGCP_PACKAGE ePkgID;
MGCP_EVENT_ID EventID;
MGCP_CONNEC_ID ConnectionId;
} MGCP_EVENT_NAME;
typedef struct
{
E_MGCP_PACKAGE ePkgID;
MGCP_EVENT_ID EventID;
MGCP_CONNEC_ID ConnectionID;
SLIST ActionList;
EVENT_PARAMETERS EventParams; /* Event parameters */
} MGCP_REQUESTED_EVENT;
typedef struct
{
EVENT_NAME SignalName;
EVENT_PARAMETERS SigParamList; /* Signal parameters */
} SIGNAL_REQUEST;
#define OO_SIG_OFF 0
#define OO_SIG_ON 1
#define TO_SIG_OFF 0
typedef struct
{
E_MGCP_PACKAGE ePkgID;
E_MGCP_EVENT eSigID;
DWORD dwConnecID;
EVENT_PARAMETERS SigParamList; /* Signal parameters */
E_MGCP_SIGNAL_TYPE eSigType; /* Signal type: OO/TO/BRF */
DWORD dwTimeOutValue; /* Signal duration for TO signal, if OO
signal, 0 is off, 1 is on */
} MGCP_SIGNAL;
typedef struct
{
WORD wNum;
SIGNAL_REQUEST *pSigReqList;
} SIGNAL_REQUESTS;
typedef SIGNAL_REQUESTS OBSERVED_EVENTS;
typedef struct
{
E_MGCP_PACKAGE ePkgID;
E_MGCP_EVENT eEventID;
DWORD dwConnecID;
EVENT_PARAMETERS EventParams; /* Event parameters, mostly for OC/OF event,
these two events include the TO signal
type as the event parameter */
} MGCP_OBSERVED_EVENT;
typedef struct
{
E_MGCP_PACKAGE ePkgID;
E_MGCP_EVENT EventID;
} MGCP_PERSIS_EVENT;
typedef SIGNAL_REQUESTS DETECT_EVENTS;
typedef struct
{
E_MGCP_PACKAGE ePkgID;
MGCP_EVENT_ID EventID;
MGCP_CONNEC_ID ConnectionID;
EVENT_PARAMETERS EventParams; /* Event parameters */
} MGCP_DETECT_EVENT;
typedef SIGNAL_REQUESTS EVENT_STATES;
typedef enum
{
CONPARAM_EXT_VENDOR = 1,
CONPARAM_EXT_PACKAGE
} E_CONPARAM_EXTENSION;
typedef struct
{
E_CONPARAM_EXTENSION eType;
char *pcPackageName;
char *pcExtensionName;
DWORD dwExtensionValue;
} CONNECTION_PARAM_EXTEN;
/* Connection parameter number, used when encode */
#define CONNECTION_PARAMETERS_NUM 7
typedef struct
{
DWORD PacketsSent;
DWORD OctetsSent;
DWORD PacketsReceived;
DWORD OctetsReceived;
DWORD PacketsLost;
DWORD Jitter;
DWORD AverageLatency;
CONNECTION_PARAM_EXTEN *pExtension;
} CONNECTION_PARAMETERS;
typedef struct
{
WORD wCode;
char *pcReasonDescription;
} REASON_CODE;
typedef struct
{
char *pcLocalName;
char *pcDomainName;
} ENDPOINT_NAME;
typedef enum
{
INFO_REQUESTED_EVENTS = 1,
INFO_DIGIT_MAP,
INFO_SIGNAL_REQUESTS,
INFO_REQUEST_IDENTIFIER,
INFO_QUARANTINE_HANDLING,
INFO_CONNECTION_IDENTIFIERS,
INFO_DETECT_EVENTS,
INFO_OBSERVED_EVENTS,
INFO_EVENT_STATES,
INFO_BEARER_INFORMATION,
INFO_RESTART_METHOD,
INFO_RESTART_DELAY,
INFO_REASON_CODE,
INFO_PACKAGE_LIST,
INFO_MAX_MGCP_DATAGRAM,
INFO_CAPABILITIES,
INFO_CALL_ID,
INFO_NOTIFIED_ENTITY,
INFO_LOCAL_CONNECTION_OPTIONS,
INFO_CONNECTION_MODE,
INFO_REMOTE_CONNECTION_DESCRIPTOR,
INFO_LOCAL_CONNECTIOND_ESCRIPTOR,
INFO_CONNECTION_PARAMETERS,
INFO_SPECIFIC_ENDPOINTID,
INFO_EXTENSION
} E_REQ_INFO;
typedef enum
{
EXT_PARAM_VENDOR_MAN = 1,
EXT_PARAM_VENDOR_OPT,
EXT_PARAM_PACKAGE,
EXT_PARAM_OTHER
} E_EXTENSION_PARAMETER;
typedef struct
{
E_EXTENSION_PARAMETER eType;
char *pcPackageName;
char *pcParamName;
} EXTENSION_PARAMETER;
typedef struct
{
EXTENSION_PARAMETER ExtenParamName;
char *pcParamValue;
} EXPERIMENTAL_PARAMETER;
typedef struct
{
WORD wNum;
EXPERIMENTAL_PARAMETER *pExperiParamList;
} EXPERIMENTAL_PARAMS;
typedef struct
{
E_REQ_INFO eType;
char *pExtenInfoCode;
} REQUESTED_INFO_CODE;
typedef struct
{
WORD wNum;
REQUESTED_INFO_CODE *pInfoCodeList;
} REQUESTED_INFO;
typedef enum
{
QUARAN_HANDLING_UNDEF,
QUARAN_HANDLING_PROCESS,
QUARAN_HANDLING_DISCARD,
QUARAN_HANDLING_STEP,
QUARAN_HANDLING_LOOP
} E_QUARANTINE_HANDLING;
typedef struct
{
E_QUARANTINE_HANDLING eLoopControl;
E_QUARANTINE_HANDLING eProcessControl;
} QUARANTINE_HANDLING;
typedef enum
{
RESTART_METHOD_GRACEFUL = 1,
RESTART_METHOD_FORCED,
RESTART_METHOD_RESTART,
RESTART_METHOD_DISCONNECTED,
RESTART_METHOD_CANCEL_GRACEFUL,
RESTART_METHOD_EXTENSION
} E_RESTART_METHOD;
typedef struct
{
E_RESTART_METHOD eType;
char *pcExtenPackageName;
char *pcExtenMethodName;
} RESTART_METHOD;
/* Capabilities can only be in the response to AUEP command */
typedef struct
{
LOCAL_CONNEC_OPTS ConnectionOpts;
WORD wPackageNum;
char **ppcSupportedPackageList;
WORD wConnModeNum;
CONNECTION_MODE *pSupportedModeList;
} CAPABILITIES;
#define MAX_CODEC_NAME_LEN 10
typedef struct
{
char CodecName[MAX_CODEC_NAME_LEN+1];
WORD wPacketizationMin;
WORD wPacketizationMax;
BOOL bEchcancellation;
BOOL bSilenceSuppress;
} MGCP_CODEC;
typedef struct
{
SLIST CompressAlgo; /* Supported codecs, MGCP_CODEC type */
SLIST ConnectionModes; /* Supported connection mode, CONNECTION_MODE type */
SLIST SupportedPackages; /* Supported package list, E_MGCP_PACKAGE type,
the first one is the default package */
} MGCP_CAPABILITIES;
typedef struct
{
char *pcPackageName;
DWORD dwVersion;
} PKG_NAME_AND_VERS;
typedef struct
{
WORD wNum;
PKG_NAME_AND_VERS *pPackageList;
} PACKAGE_LIST;
/******************************************************************************
* MGCP command defination
******************************************************************************/
typedef struct
{
BEARER_INFO *pBearerInfo;
EXPERIMENTAL_PARAMS ExperiParamList;
RESPONSE_ACK *pRspAck; /* ResponseAck parameter */
} MGCP_EPCF_CMD;
typedef struct
{
BEARER_INFO *pBearerInfo;
} ENCAPSULATED_EPCF;
typedef struct
{
NOTIFIED_ENTITY *pNotifiedEntity;
REQUESTED_EVENTS *pRequestedEvents;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -