📄 mgcpdef.h
字号:
char *pcPackageName; /* "*" = any package */ E_EVENT_ID eType; char *pcEventIDName; char *pcConnectionId; /* "$" = Any; "*" = All */} EVENT_NAME;typedef struct{ 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 0typedef 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 7typedef 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 10typedef 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;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -