00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00050 #ifndef _OOTYPES_H_
00051 #define _OOTYPES_H_
00052
00053 #include "ooSocket.h"
00054 #include "MULTIMEDIA-SYSTEM-CONTROL.h"
00055 #include "H323-MESSAGES.h"
00056 #include "ooasn1.h"
00057
00058 #ifdef HAVE_CONFIG_H
00059 #include "config.h"
00060 #endif
00061
00062
00063
00064 #define OOH323C_VERSION "v0.9.2"
00065
00066 #ifndef EXTERN
00067 #ifdef MAKE_DLL
00068 #define EXTERN __declspec(dllexport)
00069 #else
00070 #define EXTERN
00071 #endif
00072 #endif
00073
00078
00079 #define OO_FAILED -1
00080 #define OO_OK 0
00081
00082
00083
00087 typedef enum OOMasterSlaveState {
00088 OO_MasterSlave_Idle,
00089 OO_MasterSlave_DetermineSent,
00090 OO_MasterSlave_AckReceived,
00091 OO_MasterSlave_Master,
00092 OO_MasterSlave_Slave
00093 } OOMasterSlaveState;
00094
00098 typedef enum {
00099 OO_LocalTermCapExchange_Idle,
00100 OO_LocalTermCapSetSent,
00101 OO_LocalTermCapSetAckRecvd,
00102 OO_RemoteTermCapExchange_Idle,
00103 OO_RemoteTermCapSetRecvd,
00104 OO_RemoteTermCapSetAckSent
00105 } OOCapExchangeState;
00106
00110 typedef enum OOCallClearReason {
00111 OO_REASON_UNKNOWN=0,
00112 OO_REASON_INVALIDMESSAGE,
00113 OO_REASON_TRANSPORTFAILURE,
00114 OO_REASON_NOROUTE,
00115 OO_REASON_NOUSER,
00116 OO_REASON_NOBW,
00117 OO_REASON_GK_NOCALLEDUSER,
00118 OO_REASON_GK_NOCALLERUSER,
00119 OO_REASON_GK_NORESOURCES,
00120 OO_REASON_GK_UNREACHABLE,
00121 OO_REASON_GK_CLEARED,
00122 OO_REASON_NOCOMMON_CAPABILITIES,
00123 OO_REASON_REMOTE_FWDED,
00124 OO_REASON_LOCAL_FWDED,
00125 OO_REASON_REMOTE_CLEARED,
00126 OO_REASON_LOCAL_CLEARED,
00127 OO_REASON_REMOTE_BUSY,
00128 OO_REASON_LOCAL_BUSY,
00129 OO_REASON_REMOTE_NOANSWER,
00130 OO_REASON_LOCAL_NOTANSWERED,
00131 OO_REASON_REMOTE_REJECTED,
00132 OO_REASON_LOCAL_REJECTED,
00133 OO_REASON_REMOTE_CONGESTED,
00134 OO_REASON_LOCAL_CONGESTED
00135 } OOCallClearReason;
00136
00138 #define OOTERMTYPE 60
00139
00141 #define MAX_IP_LENGTH 15
00142
00144 #define MAXLOGMSGLEN 2048
00145
00147 #define DEFAULT_MAX_RETRIES 3
00148
00152 #define OO_MSGTYPE_MIN 101
00153 #define OOQ931MSG 101
00154 #define OOH245MSG 102
00155 #define OOSetup 103
00156 #define OOCallProceeding 104
00157 #define OOAlert 105
00158 #define OOConnect 106
00159 #define OOReleaseComplete 107
00160 #define OOFacility 108
00161 #define OOInformationMessage 109
00162 #define OOMasterSlaveDetermination 110
00163 #define OOMasterSlaveAck 111
00164 #define OOMasterSlaveReject 112
00165 #define OOMasterSlaveRelease 113
00166 #define OOTerminalCapabilitySet 114
00167 #define OOTerminalCapabilitySetAck 115
00168 #define OOTerminalCapabilitySetReject 116
00169 #define OOTerminalCapabilitySetRelease 117
00170 #define OOOpenLogicalChannel 118
00171 #define OOOpenLogicalChannelAck 119
00172 #define OOOpenLogicalChannelReject 120
00173 #define OOOpenLogicalChannelRelease 121
00174 #define OOOpenLogicalChannelConfirm 122
00175 #define OOCloseLogicalChannel 123
00176 #define OOCloseLogicalChannelAck 124
00177 #define OORequestChannelClose 125
00178 #define OORequestChannelCloseAck 126
00179 #define OORequestChannelCloseReject 127
00180 #define OORequestChannelCloseRelease 128
00181 #define OOEndSessionCommand 129
00182 #define OOUserInputIndication 130
00183
00184 #define OO_MSGTYPE_MAX 130
00185
00186
00187 #define OO_CALLESTB_TIMER (1<<0)
00188 #define OO_MSD_TIMER (1<<1)
00189 #define OO_TCS_TIMER (1<<2)
00190 #define OO_OLC_TIMER (1<<3)
00191 #define OO_CLC_TIMER (1<<4)
00192 #define OO_RCC_TIMER (1<<5)
00193 #define OO_SESSION_TIMER (1<<6)
00194 #define OO_H245CONNECT_TIMER (1<<7)
00195
00197 #define MAXMSGLEN 16384
00198
00200 #define MAXFILENAME 256
00201
00207 typedef enum OOCallMode {
00208 OO_CALLMODE_AUDIOCALL,
00209 OO_CALLMODE_AUDIORX,
00210 OO_CALLMODE_AUDIOTX,
00211 OO_CALLMODE_VIDEOCALL,
00212 OO_CALLMODE_FAX
00213 } OOCallMode;
00214
00215
00216
00217
00219 #define OO_SETFLAG(flags,mask) (flags |= (ASN1UINT)mask)
00220
00222 #define OO_CLRFLAG(flags,mask) (flags &= ~(ASN1UINT)mask)
00223
00225 #define OO_TESTFLAG(flags,mask) (((ASN1UINT)flags & (ASN1UINT)mask) != 0)
00226
00227
00228
00229
00230
00236 typedef struct ooCallOptions {
00237 OOBOOL fastStart;
00238 OOBOOL tunneling;
00239 OOBOOL disableGk;
00240 OOCallMode callMode;
00241 }ooCallOptions;
00242
00243
00244 struct OOH323CallData;
00245
00246 typedef struct ooTimerCallback{
00247 struct OOH323CallData* call;
00248 ASN1UINT timerType;
00249 ASN1UINT channelNumber;
00250 } ooTimerCallback;
00251
00255 #endif
00256