| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825 |
- /**********************************************************************/
- /* EhangCom: API Head file
- *
- * C Header: gcparam.h
- * Description: GlobalCall header file for application use
- *
- * Copyright (C) EhangCom Corp. All Rights Reserved
- * All Rights Reserved
- *
- * All names, products, and services mentioned herein are the
- * trademarks or registered trademarks of their respective
- * organizations and are the sole property of their respective owners.
- */
- /**********************************************************************/
- #ifndef _GCPARAM_H_
- #define _GCPARAM_H_
- #include "siplib.h"
- typedef enum{
- eGCPro_PRI = 0x01,
- eGCPro_SS7 = 0x07,
- eGCPro_SIP = 0x0a,
- }eGC_PROTOCOL;
- #pragma pack(1)
- #ifndef MAX_ICALL_ADDLEN //{{
- #define MAX_ISDN_ADDLEN 21
- #define MAX_SIP_ADDLEN 200 //42 --> 64(2008.04.02) --> 200(2009-2-25)
- //{{SS7 begin
- #define MAX_SS7_ADDLEN MAX_ISDN_ADDLEN
- //Nature_of_connection_indicators structure
- typedef struct{
- UCHAR valid;
- UCHAR satellite; //Satellite indicator.
- UCHAR continuity_check; //Continuity check indicator.
- UCHAR echo_device; //Echo control device indicator.
- }NATURE_CONN_INDICATORS;
- //Forward_call_indicator structure
- typedef struct{
- UCHAR valid;
- UCHAR national; //National/international call indicator
- UCHAR end2end_method; //End-to-end method indicator
- UCHAR interworking; //Interworking indicator
- UCHAR end2end_info; //End-to-end information indicator
- UCHAR ISDN_userpart; //ISDN user part indicator
- UCHAR ISDN_userpart_pref; //ISDN user part preference indicator
- UCHAR ISDN_access; //ISDN access indicator
- UCHAR SCCP_method; //SCCP method indicator
- }FORWARD_CALL_INDICATOR;
- //Called_party_number structure
- typedef struct{
- UCHAR valid;
- UCHAR nature_of_address; //Nature-of-address indicator
- UCHAR INN; //INN (Internal Network Number) indicator
- UCHAR numbering_plan; //Numbering plan indicator
- CHAR called_number[MAX_SS7_ADDLEN];
- }S7_CALLED_PARTY_NUMBER;
- //Called_party_number structure
- typedef struct{
- UCHAR valid;
- UCHAR nature_of_address; //Nature-of-address indicator.
- UCHAR number_incomplete; //Calling party number incompleteness indicator
- UCHAR numbering_plan; //Numbering plan indicator
- UCHAR address_present_restrict; //Address presentation restricted indicator
- UCHAR screening; //Screening indicator
- CHAR calling_number[MAX_SS7_ADDLEN];
- }S7_CALLING_PARTY_NUMBER;
- //Optional forward call indicators
- typedef struct{
- UCHAR valid;
- UCHAR clsdUGrpCaInd; // Closed user group call indicator
- UCHAR simpleSegmInd; // Simple segmentation indicator
- UCHAR conLineIdReqInd; // Connected line identification request indicator
- }OPT_FORWARD_CALL_INDICATORS;
- //Information request indicators
- typedef struct{
- UCHAR valid;
- UCHAR cgPtyAddrReqInd; // Calling party address request indicator
- UCHAR holdingInd; // Holding indicator
- UCHAR cgPtyCatReqInd; // Calling party's category request indicator
- UCHAR chrgInfoReqInd; // Charge information request indicator
- UCHAR malCaIdReqInd; // Malicious call identification request indicator (reserved, used in ISUP'88 Blue Book)
- }INFO_REQ_INDICATORS;
- //User-to-user indicators
- typedef struct{
- UCHAR valid;
- UCHAR type; // Indicator type
- UCHAR serv1; // Service 1 type
- UCHAR serv2; // Service 2 type
- UCHAR serv3; // Service 3 type
- UCHAR NetDiscardInd; // Network discard indicator
- }USER_TO_USER_INDICATORS;
- typedef enum{
- enFieldMT_Invalid = 0x0, /* invalid */
- enFieldMT_User2UserInfo = 0x1, /* UUI */
- enFieldMT_PRI_RedirctingNumb = 0x2, /* Redirection Number */
- enFieldMT_PRI_UuiRedirNumb = 0x3 /* UUI and Redirection Number */
- }enU2UInfoFieldMT;
- typedef struct { //valid=2
- UCHAR numb_type; // number type
- UCHAR numb_play; // number play
- UCHAR pres_ind; // pres_ind
- UCHAR redirect_reason; // redirect reason
- UCHAR numb[21]; // user number
- }PRI_REDIRECT_NUMB;
- //#define REMAIN_USR2USRINFO_LEN (MAX_USR2USRINFO_LEN-sizeof(UINT))
- #define REMAIN_USR2USRINFO_LEN (MAX_USR2USRINFO_LEN-sizeof(VOID*))
- //User-to-user information
- typedef struct{
- UCHAR valid; //refer to enU2UInfoFieldMT
- union{
- struct { //valid=1
- UCHAR len; //user information length
- UCHAR ProtoDiscriminator; //user information protocol type
- UCHAR info[MAX_USR2USRINFO_LEN]; //user information
- };
- PRI_REDIRECT_NUMB RedirectingNumb; //valid=2
- struct { //valid=3
- UCHAR len; //user information length
- UCHAR ProtoDiscriminator; //user information protocol type
- UCHAR info[REMAIN_USR2USRINFO_LEN]; //user information
- PRI_REDIRECT_NUMB *pRedirNumb; //Redirection Number
- }UuiRN;
- };
- }USER_TO_USER_INFO;
- typedef struct{ //[2016-2-24]
- CHAR info[512]; //user to user string
- }USER_TO_USER_EX;
- //改发号码,原被叫号码
- typedef struct{
- UCHAR valid;
- UCHAR nature_of_address; //nature-of-address indicator
- UCHAR address_present_restrict; //Address presentation restricted indicator
- UCHAR numbering_plan; //numbering plan indicator
- signed char addrSig[21]; //address signal
- }REDIR_NUM,ORG_NUM;
- // Redirection information
- typedef struct{
- UCHAR valid;
- UCHAR redirInd; //redirection indicator
- UCHAR origRedirReas; //original redirection reasons
- UCHAR redirCnt; //redirection counter
- UCHAR redirReas; //redirection reasons
- }REDIR_INFO;
- //Backward_call_indicators structure
- typedef struct{
- UCHAR valid;
- UCHAR charge; //Charge indicator
- UCHAR called_party_status; //Called party’s status indicator
- UCHAR called_party_category; //Called party’s category indicator
- UCHAR end2end_method; //End-to-end method indicator
- UCHAR interworking; //Interworking indicator
- UCHAR end2end_info; //End-to-end information indicator
- UCHAR ISDN_userpart; //ISDN user part indicator
- UCHAR holding; //Holding indicator
- UCHAR ISDN_access; //ISDN access indicator
- UCHAR echo_control_device; //Echo control device indicator
- UCHAR SCCP_method; //SCCP method indicator
- }BACKWARD_CALL_INDICATORS;
- //Call_diversion_info structure
- typedef struct{
- UCHAR valid;
- UCHAR notification_subscription; //Notification subscription options
- UCHAR redirecting_reason; //Redirecting reason
- }CALL_DIVERSION_INFO;
- //Redirection_number structure
- typedef struct{
- UCHAR valid;
- UCHAR nature_of_address; //nature-of-address indicator
- UCHAR INN; //internal network number indicator
- UCHAR numbering_plan; //numbering plan indicator
- CHAR number[MAX_SS7_ADDLEN]; //number
- }REDIRECTION_NUMBER;
- //Opt_backward_call_indicators structure
- typedef struct{
- UCHAR valid;
- UCHAR inband_info; //In-band information indicator
- UCHAR call_diversion_occur; //Call diversion may occur indicator
- UCHAR simple_segment; //Simple segmentation indicator
- UCHAR MLPP_user; //MLPP user indicator
- }OPT_BACKWARD_CALL_INDICATORS;
- //Redirection number restriction indicator
- typedef struct{
- UCHAR valid;
- UCHAR presRest; //Presentation restricted indicator.
- }REDIR_NUM_RESTRICT;
- //}} SS7 end
- //{{ PRI begin
- typedef struct{
- UCHAR ucXferCap; //Information transfer capacity.
- UCHAR ucXferMode; //Information transfer mode.
- UCHAR ucXferRate; //Information rate.
- UCHAR ucUserInfoL1P; //User information layer 1 protocol.
- UCHAR ucUserRate; //User rate.
- }BEARER_CAP;
- typedef struct{
- UCHAR ucType; //type of number
- UCHAR ucPlan; //numbering plan
- UCHAR ucPI; //presentation indicator
- UCHAR ucSI; //Screening indicator
- UCHAR Num[MAX_ISDN_ADDLEN]; //calling party number
- }CALLING_PARTY_NUM;
- typedef struct{
- UCHAR ucType; //type of number
- UCHAR ucPlan; //numbering plan
- UCHAR Num[MAX_ISDN_ADDLEN]; //called party number
- }CALLED_PARTY_NUM;
- typedef struct{
- UCHAR valid; //Valid flag. 0 and 1 indicate valid and invalid respectively
- UCHAR coding_standard; //coding standard
- UCHAR location; //Location
- UCHAR progress_description; //progress description
- }PROGRESS_INDICATOR;
- typedef struct{
- UCHAR ucIsxNo;
- UCHAR ucBrdNo;
- UCHAR ucSpanNo;
- }GC_SPAN;
- typedef struct{
- GC_SPAN Span;
- USHORT usL2DataLen;
- CHAR L2Data[1]; //...L2 data
- }PRI_L2_DATA;
- typedef struct{
- UCHAR ucSendingCom;
- BEARER_CAP BearerCap;
- CALLING_PARTY_NUM CallingNum;
- UCHAR CallingSubAdd[MAX_ISDN_ADDLEN];
- CALLED_PARTY_NUM CalledNum;
- UCHAR CalledSubAdd[MAX_ISDN_ADDLEN];
- PROGRESS_INDICATOR ProgInd;
- USER_TO_USER_INFO U2UInfo;
- }PRI_SETUP;
- typedef struct{
- PROGRESS_INDICATOR ProgInd;
- }PRI_CALLPROCEEDING;
- typedef struct{
- PROGRESS_INDICATOR ProgInd;
- USER_TO_USER_INFO U2UInfo;
- }PRI_ALERTING;
- typedef struct{
- PROGRESS_INDICATOR ProgInd;
- USER_TO_USER_INFO U2UInfo;
- }PRI_CONNECT;
- typedef struct{
- PROGRESS_INDICATOR ProgInd;
- }PRI_PROGRESS;
- typedef struct{
- PROGRESS_INDICATOR ProgInd;
- }PRI_SETUPACK;
- typedef struct{
- UCHAR ucSendingCom;
- CALLED_PARTY_NUM CalledNum;
- }PRI_INFO;
- typedef struct{
- UCHAR ucCause;
- PROGRESS_INDICATOR ProgInd;
- USER_TO_USER_INFO U2UInfo;
- }PRI_DROP;
- //}} PRI end
- //{{ SIP begin
- typedef struct {
- USHORT Tag; /* SDP type */
- USHORT Len; /* Effective information length in the rear, for internal use only */
- union{ /* SDP information */
- ISXSIP_IE_SDP_PROTOCOL_VERSION ProtocolVer;
- ISXSIP_IE_SDP_ORIGIN Origin;
- ISXSIP_IE_SDP_SESSION Session;
- ISXSIP_IE_SDP_CONNECTION Connection;
- ISXSIP_IE_SDP_CONN_MODE ConnMode;
- ISXSIP_IE_SDP_SESSION_TIME SessionTime;
- ISXSIP_IE_SDP_RTP_MAP RtpMap;
- ISXSIP_IE_SDP_ATTRIBUTE Attribute;
- ISXSIP_IE_SDP_MEDIA_DESC_EX MediaDesc;
- ISXSIP_IE_SDP_MEDIA_ENCODE MediaEncode;//[2014-11-4]
- ISXSIP_IE_SDP_FMTP_EX Fmtp; //[2014-11-4]
- }u;
- }ISXSIP_IE_SDP_EX;
- #define MAX_SDP_NUM 20
- typedef struct {
- UCHAR SdpNum;
- ISXSIP_IE_SDP_EX Sdp[MAX_SDP_NUM];
- }ISXSIP_IE_BODY_SDP_EX;
- #define MAX_TRANS_LEN 1024 //512-->1024[2012-9-3]
- typedef struct {
- ISXSIP_IE_CONTENT_TYPE ContentType;
- UINT BodyLen;
- CHAR Body[MAX_TRANS_LEN];
- }ISXSIP_IE_BODY_TRANS_EX;
- typedef struct{
- UCHAR Valid;
- UCHAR BodyPartyType;
- union {
- ISXSIP_IE_BODY_SDP_EX BodySdp;
- ISXSIP_IE_BODY_TRANS_EX BodyTrans;
- } u;
- }ISXSIP_IE_BODY_EX;
- //ISX_gc_MakeCall parameter
- typedef struct{
- ISXSIP_IE_TO To;
- ISXSIP_IE_FROM From;
- ISXSIP_IE_AUTH_INFO AuthInfo;
- ISXSIP_IE_REFERRED_BY RefBy;
- ISXSIP_IE_BODY_EX Body;
- }SIP_INVITE;
- /*
- - When the ISXSIP_IE_AUTH_INFO structure is too short, ISXSIP_IE_LONG_AUTH_INFO is
- used to send too long registration message.
- */
- typedef struct {
- CHAR AuthStr[100]; /*user name and password. The user name and the password are strings and contain
- string end marks */
- } ISXSIP_IE_LONG_AUTH_INFO;
- //{{ISXE_gc_MakeCall parameter
- typedef struct{
- ISXSIP_IE_TO To;
- ISXSIP_IE_FROM From;
- ISXSIP_IE_LONG_AUTH_INFO LongAuthInfo;
- ISXSIP_IE_REFERRED_BY RefBy;
- ISXSIP_IE_BODY_EX Body;
- }SIP_INVITE_EX_REQ;
- typedef struct{
- ISXSIP_IE_TO To;
- ISXSIP_IE_FROM From;
- ISXSIP_IE_REFERRED_BY RefBy;
- ISXSIP_IE_AUTHORIZATION Author;
- ISXSIP_IE_BODY_EX Body;
- }SIP_INVITE_EX_IND;
- //}}
- typedef struct{
- USHORT usCause;
- ISXSIP_IE_AUTHENTICATION Authent;
- ISXSIP_IE_LONG_AUTH_INFO LongAuthInfo;
- }SIP_INVITE_AUTH;
- typedef struct{
- ISXSIP_IE_BODY_EX Body;
- }SIP_RING;
- typedef struct{
- ISXSIP_IE_BODY_EX Body;
- }SIP_CONN;
- typedef struct{
- ISXSIP_IE_BODY_EX Body;
- }SIP_PROGRESS;
- typedef struct{
- USHORT usCause;
- ISXSIP_IE_BODY_EX Body;
- }SIP_REINVITE_ACK;
- typedef struct{
- UCHAR ucIsxNo;
- UCHAR ucBrdNo;
- UINT ulSerialNo;
- }REGISTER_ID;
- /*
- - Registration message structure of SIP. When Expires in Contact is 0, it indicates Unregister.
- */
- typedef struct{
- REGISTER_ID RegisterId;
- ISXSIP_IE_TO To; //To header field
- ISXSIP_IE_FROM From; //From header field
- ISXSIP_IE_ADDR RegAddr; //registration address
- ISXSIP_IE_CONTACT Contact; //Contact header field
- union{
- ISXSIP_IE_AUTH_INFO AuthInfo; //The field is used when a Register message is sent
- ISXSIP_IE_LONG_AUTH_INFO LongAuthInfo; //The field is used when a long Register is sent
- ISXSIP_IE_AUTHORIZATION Author; //The field is used when a Register event is received
- }u;
- }SIP_REGISTER;
- /*
- - It indicates whether a registration message is successfully sent.
- */
- typedef struct{
- REGISTER_ID RegisterId;
- SHORT sRetVal;
- }SEND_SIPREG_RET, SEND_SIPREGACK_RET;
- /*
- - SIP registration result message structure
- */
- typedef struct{
- REGISTER_ID RegisterId;
- USHORT usCause; /*It specifies registration results. Refer to SIP response code values */
- ISXSIP_IE_AUTHENTICATION Authent; /* When usCause is 401 or 407. Authentication information such as Realm and
- Nonce must be sent to the other party through the Authent parameter.*/
- }SIP_REGISTER_ACK;
- typedef struct{
- UINT ulSerialNo;
- ISXSIP_IE_BODY_EX Body;
- }SIP_INFO;
- typedef struct{
- UINT ulSerialNo;
- ISXSIP_IE_BODY_EX Body;
- }SIP_INFO_IND;
- typedef struct{
- UINT ulSerialNo;
- USHORT usCause;
- ISXSIP_IE_BODY_EX Body;
- }SIP_INFO_ACK;
- typedef struct{
- USHORT usCause;
- }SIP_DROP;
- typedef struct{
- UCHAR ucIsxNo;
- UCHAR ucBrdNo;
- SHORT sChannel;
- UINT ulSerialNo;
- }SIP_TRANSC_ID;
- typedef struct{
- UINT ulSerialNo;
- ISXSIP_IE_TO To;
- ISXSIP_IE_FROM From;
- ISXSIP_IE_EXPIRES Expires;
- ISXSIP_IE_EVENT Event;
- ISXSIP_IE_AUTH_INFO AuthInfo;
- ISXSIP_IE_BODY_EX Body;
- }SIP_SUBSCRIBE;
- //typedef struct{
- // SIP_TRANSC_ID TranscId;
- // SHORT sRetVal;
- //}SEND_TRANSC_RET;
- typedef struct{
- UINT ulSerialNo;
- ISXSIP_IE_TO To;
- ISXSIP_IE_FROM From;
- ISXSIP_IE_EXPIRES Expires;
- ISXSIP_IE_EVENT Event;
- ISXSIP_IE_BODY_EX Body;
- }SIP_SUBSCRIBE_IND;
- typedef struct{
- UINT ulSerialNo;
- USHORT usCause;
- ISXSIP_IE_EXPIRES Expires;
- ISXSIP_IE_BODY_EX Body;
- }SIP_SUBSCRIBE_ACK;
- typedef struct{
- UINT ulSerialNo;
- ISXSIP_IE_TO To;
- ISXSIP_IE_FROM From;
- ISXSIP_IE_EVENT Event;
- ISXSIP_IE_SUBSCRIPTION_STATE SubscribeState;
- ISXSIP_IE_AUTH_INFO AuthInfo;
- ISXSIP_IE_BODY_EX Body;
- }SIP_NOTIFY;
- typedef struct{
- UINT ulSerialNo;
- ISXSIP_IE_TO To;
- ISXSIP_IE_FROM From;
- ISXSIP_IE_EVENT Event;
- ISXSIP_IE_SUBSCRIPTION_STATE SubscribeState;
- ISXSIP_IE_BODY_EX Body;
- }SIP_NOTIFY_IND;
- typedef struct{
- UINT ulSerialNo;
- USHORT usCause;
- ISXSIP_IE_BODY_EX Body;
- }SIP_GENTRANSC_ACK;
- typedef struct{
- UINT ulSerialNo;
- ISXSIP_IE_TO To;
- ISXSIP_IE_FROM From;
- ISXSIP_IE_REFER_TO ReferTo;
- ISXSIP_IE_REFERRED_BY ReferBy;
- ISXSIP_IE_CONTACT Contact;
- ISXSIP_IE_AUTH_INFO AuthInfo;
- ISXSIP_IE_BODY_EX Body;
- }SIP_REFER;
- typedef struct{
- UINT ulSerialNo;
- ISXSIP_IE_TO To;
- ISXSIP_IE_FROM From;
- ISXSIP_IE_REFER_TO ReferTo;
- ISXSIP_IE_REFERRED_BY ReferBy;
- ISXSIP_IE_CONTACT Contact;
- ISXSIP_IE_BODY_EX Body;
- }SIP_REFER_IND;
- typedef struct{
- UINT ulSerialNo;
- USHORT usCause;
- ISXSIP_IE_CONTACT Contact;
- ISXSIP_IE_BODY_EX Body;
- }SIP_REFER_ACK;
- typedef struct{
- UINT ulSerialNo;
- ISXSIP_IE_TO To;
- ISXSIP_IE_FROM From;
- ISXSIP_IE_AUTH_INFO AuthInfo;
- ISXSIP_IE_BODY_EX Body;
- }SIP_OPTIONS;
- typedef struct{
- UINT ulSerialNo;
- ISXSIP_IE_TO To;
- ISXSIP_IE_FROM From;
- ISXSIP_IE_BODY_EX Body;
- }SIP_OPTIONS_IND;
- typedef struct{
- UINT ulSerialNo;
- ISXSIP_IE_BODY_EX Body;
- }SIP_UPDATE;
- typedef struct{
- UINT ulSerialNo;
- ISXSIP_IE_BODY_EX Body;
- }SIP_UPDATE_IND;
- typedef struct{
- UINT ulSerialNo;
- ISXSIP_IE_TO To;
- ISXSIP_IE_FROM From;
- ISXSIP_IE_AUTH_INFO AuthInfo;
- ISXSIP_IE_BODY_EX Body;
- }SIP_MESSAGE;
- typedef struct{
- UINT ulSerialNo;
- ISXSIP_IE_TO To;
- ISXSIP_IE_FROM From;
- ISXSIP_IE_BODY_EX Body;
- }SIP_MESSAGE_IND;
- typedef struct{
- UINT ulSerialNo;
- }SIP_CANCEL;
- typedef struct{
- UINT ulSerialNo;
- UCHAR ucCancelType;
- }SIP_CANCEL_IND;
- /*
- - ucCancelType: The type of the canceled transaction.
- */
- typedef enum {
- SIPUA_CANCEL_INVITE, /* Cancel Invite request */
- SIPUA_CANCEL_MODIFY, /* Cancel reInvite request */
- SIPUA_CANCEL_INFO, /* Cancel Info request */
- SIPUA_CANCEL_OPTIONS, /* Cancel OPTIONS request */
- SIPUA_CANCEL_MESSAGE, /* Cancel MESSAGE request */
- SIPUA_CANCEL_SUBSCRIBE, /* Cancel SUBSCRIBE request */
- SIPUA_CANCEL_NOTIFY, /* Cancel NOTIFY request */
- SIPUA_CANCEL_REFER, /* Cancel REFER request */
- SIPUA_CANCEL_REGISTER, /* Cancel REGISTER请求 */
- SIPUA_CANCEL_UPDATE, /* Cancel UPDATE请求 */
- }eSIPUA_CANCEL;
- //}} SIP end
- #endif //}}
- typedef struct{
- NATURE_CONN_INDICATORS NCI; //nature-of-connection indicator
- FORWARD_CALL_INDICATOR FCI; //forward call indicator
- UCHAR Calling_party_category; //calling party's category
- UCHAR Trans_medium_req; //transmission medium request
- S7_CALLED_PARTY_NUMBER CDPN; //called party number
- S7_CALLING_PARTY_NUMBER CGPN; //calling party number
- UCHAR Generic_notification_indicator; //Generic notification indicator
- REDIR_NUM RedirNum; //redirection number
- REDIR_INFO RedirInfo; //redirection information
- ORG_NUM OrgNum; //original called party number
- OPT_FORWARD_CALL_INDICATORS OFCI; //optional forward call indicators
- USER_TO_USER_INDICATORS U2UInd; //user-to-user indicators
- USER_TO_USER_INFO U2UInfo; //user-to-user information
- }SS7_IAM;
- typedef struct{
- CHAR called_number[MAX_SS7_ADDLEN];
- }SS7_SAM;
- typedef struct{
- BACKWARD_CALL_INDICATORS BCI; //backward call indicators
- CALL_DIVERSION_INFO CDI; //call diversion information
- REDIRECTION_NUMBER RDN; //redirection number
- OPT_BACKWARD_CALL_INDICATORS OBCI; //optional backward call indicators
- UCHAR Generic_notification_indicator; //generic notification indicator
- REDIR_NUM_RESTRICT RedirNumRestr; //redirection number restriction parameter
- UCHAR ucCause; //0xFF is not specified. Refer to the description of ucCause of PRI_DROP
- USER_TO_USER_INDICATORS U2UInd; //user-to-user indicators
- USER_TO_USER_INFO U2UInfo; // user-to-user information
- UCHAR Trans_medium_req; //transmission medium request
- }SS7_ACM;
- //Connected_number structure
- typedef struct {
- UCHAR valid;
- UCHAR nature_of_address; //nature of address indicator
- UCHAR numbering_plan; //numbering plan indicator
- UCHAR address_present_restrict; //address presentation restricted indicator
- UCHAR screening; //screening indicator
- CHAR number[MAX_SS7_ADDLEN]; //number
- }CONNECTED_NUMBER;
- //Event_info structure
- typedef struct{
- UCHAR valid;
- UCHAR event; //Event indicator
- UCHAR event_present_restrict; //Event presentation restricted indicator (national use)
- }EVENT_INFO;
- typedef struct{
- BACKWARD_CALL_INDICATORS BCI; //backward call indicators
- CONNECTED_NUMBER CN; //Connected number
- REDIRECTION_NUMBER RDN; //redirection number
- UCHAR Generic_notification_indicator; //generic notification indicator
- REDIR_NUM_RESTRICT RedirNumRestr; //redirection number restricted parameter
- USER_TO_USER_INDICATORS U2UInd; //user-to-user indicators
- USER_TO_USER_INFO U2UInfo; //user-to-user information
- UCHAR Trans_medium_req; //transmission medium request
- }SS7_ANM;
- typedef struct{
- UCHAR ucCause; //cause. Refer to the description of ucCause of PRI_DROP.
- USER_TO_USER_INDICATORS U2UInd; //user-to-user indicators
- USER_TO_USER_INFO U2UInfo; // user-to-user information
- }SS7_DROP;
- typedef struct{
- EVENT_INFO EI; //event information
- BACKWARD_CALL_INDICATORS BCI; //backward call indicators
- OPT_BACKWARD_CALL_INDICATORS OBCI; //optional backward call indicators
- REDIRECTION_NUMBER RDN; //redirection number
- UCHAR Generic_notification_indicator; //generic notification indicator
- CALL_DIVERSION_INFO CDI; //call diversion information
- REDIR_NUM_RESTRICT RedirNumRestr; //redirection number restricted parameter
- UCHAR ucCause; //0xFF is not specified. Refer to the description of ucCause of PRI_DROP.
- USER_TO_USER_INDICATORS U2UInd; //user-to-user indicators
- USER_TO_USER_INFO U2UInfo; //user-to-user information
- UCHAR Trans_medium_req; //transmission medium request
- }SS7_CPG;
- typedef struct{
- eGC_PROTOCOL Protocol; //protocol type
- union{
- SS7_IAM SS7Iam; //SS7 IAM parameter
- PRI_SETUP PRISetup; //PRI Setup parameter
- SIP_INVITE SIPInvite; //SIP Invite parameter
- SIP_INVITE_EX_REQ SIPInviteExReq; //SIP Extend Invite parameter
- SIP_INVITE_EX_IND SIPInviteExInd; //SIP Extend indicators parameter
- }u;
- }GCPARAMEX_MAKECALL;
- typedef struct{
- eGC_PROTOCOL Protocol; //protocol type
- union{
- SS7_SAM SS7Sam; //SS7 SAM parameter
- PRI_INFO PRIInfo; //PRI Info parameter
- }u;
- }GCPARAMEX_MOREINFO;
- typedef struct{
- eGC_PROTOCOL Protocol; //protocol type
- union{
- SS7_ACM SS7Acm; //SS7 ACM parameter
- SIP_RING SIPRing; //SIP Ring
- PRI_ALERTING PRIAlerting; //PRI Alerting parameter
- }u;
- }GCPARAMEX_ACCEPTCALL;
- typedef struct{
- eGC_PROTOCOL Protocol; //protocol type
- union{
- SS7_ANM SS7Anm; //SS7 ANM parameter
- SIP_CONN SIPConn; //SIP Connection parameter
- PRI_CONNECT PRIConn; //PRI Connect parameter
- }u;
- }GCPARAMEX_ANSWERCALL;
- typedef struct{
- eGC_PROTOCOL Protocol; //protocol type
- union{
- SS7_DROP SS7Drop; //SS7 REL parameter
- PRI_DROP PRIDrop; //PRI drop parameter
- SIP_DROP SIPDrop; //SIP drop parameter
- }u;
- }GCPARAMEX_DROPCALL;
- typedef struct{
- eGC_PROTOCOL Protocol; //protocol type
- union{
- PRI_PROGRESS PRIProgress;
- SIP_PROGRESS SIPProgress;
- }u;
- }GCPARAMEX_CALLPROGRESS;
- typedef struct{
- eGC_PROTOCOL Protocol; //protocol type
- union{
- PRI_SETUPACK PRISetupAck;
- }u;
- }GCPARAMEX_SETUPACK;
- #ifndef MAX_SIP_TRANSCTYPE
- #define MAX_SIP_TRANSCTYPE 1
- /*
- - Transaction type supported by the eSIP_TRANSACTION_TYPE enumeration.
- */
- typedef enum {
- SIP_TRANSCTYPE_OPTIONS =0, /* Options sending request transaction */
- SIP_TRANSCTYPE_SUBSCRIBE =1, /* Subscribe sending request transaction */
- SIP_TRANSCTYPE_MESSAGE =2, /* Message sending request transaction */
- }eSIP_TRANSACTION_TYPE;
- #endif
- typedef struct{
- UCHAR ucIsxNo;
- UCHAR ucBrdNo;
- UCHAR ucTranscType;
- UINT ulSerialNo;
- }SIP_TRANSC_T;
- typedef struct{
- UCHAR ucIsxNo; //node number
- UCHAR ucBrdNo; //SIP board number
- UCHAR ucTranscType; //Transaction type. Refer to eSIP_TRANSACTION_TYPE.
- union{
- SIP_OPTIONS options; //OPTIONS. It is valid only when the transaction type is SIP_TRANSCTYPE_OPTIONS.
- SIP_SUBSCRIBE subscribe; //SUBSCRIBE. It is valid only when the transaction type is SIP_TRANSCTYPE_SUBSCRIBE.
- SIP_MESSAGE message; //MESSAGE. It is valid only when the transaction type is SIP_TRANSCTYPE_MESSAGE.
- }u;
- }SIP_TRANSACTION;
- typedef struct{
- UCHAR ucIsxNo; //node number
- UCHAR ucBrdNo; //SIP board number
- UCHAR ucTranscType; //Transaction type. Refer to eSIP_TRANSACTION_TYPE.
- union{
- SIP_GENTRANSC_ACK options_ack; //OPTIONS ACK. It is valid only when the transaction type is SIP_TRANSCTYPE_OPTIONS.
- SIP_SUBSCRIBE_ACK subscribe_ack; //SUBSCRIBE ACK. It is valid only when the transaction type is SIP_TRANSCTYPE_SUBSCRIBE.
- SIP_GENTRANSC_ACK message_ack; //MESSAGE ACK. It is valid only when the transaction type is SIP_TRANSCTYPE_MESSAGE.
- }u;
- }SIP_TRANSACTION_ACK;
- typedef struct{
- UCHAR ucIsxNo; //node number
- UCHAR ucBrdNo; //SIP board number
- UCHAR ucTranscType; //Transaction type. Refer to eSIP_TRANSACTION_TYPE.
- union{
- SIP_OPTIONS_IND options; //OPTIONS IND. It is valid only when the transaction type is SIP_TRANSCTYPE_OPTIONS.
- SIP_SUBSCRIBE_IND subscribe; //SUBSCRIBE IND. It is valid only when the transaction type is SIP_TRANSCTYPE_SUBSCRIBE.
- SIP_MESSAGE_IND message; //MESSAGE IND. It is valid only when the transaction type is SIP_TRANSCTYPE_MESSAGE.
- }u;
- }SIP_TRANSACTION_IND;
- typedef struct{
- UCHAR ucIsxNo; //node number
- UCHAR ucBrdNo; //SIP board number
- UCHAR ucTranscType; //Transaction type. Refer to eSIP_TRANSACTION_TYPE.
- UINT ulSerialNo; //Transaction Number
- SHORT sRetVal; //Transaction processing results. 0 indicates success, and -1 indicates failure.
- }SIP_TRANSACTION_RET;
- #pragma pack()
- #endif
|