00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
#ifndef __OPAL_H225RAS_H
00156
#define __OPAL_H225RAS_H
00157
00158
#ifdef P_USE_PRAGMA
00159
#pragma interface
00160
#endif
00161
00162
00163
#include "transports.h"
00164
#include "h235auth.h"
00165
#include "h323trans.h"
00166
#include "svcctrl.h"
00167
00168
00169
class PASN_Sequence;
00170
class PASN_Choice;
00171
00172
class H225_GatekeeperRequest;
00173
class H225_GatekeeperConfirm;
00174
class H225_GatekeeperReject;
00175
class H225_RegistrationRequest;
00176
class H225_RegistrationConfirm;
00177
class H225_RegistrationReject;
00178
class H225_UnregistrationRequest;
00179
class H225_UnregistrationConfirm;
00180
class H225_UnregistrationReject;
00181
class H225_AdmissionRequest;
00182
class H225_AdmissionConfirm;
00183
class H225_AdmissionReject;
00184
class H225_BandwidthRequest;
00185
class H225_BandwidthConfirm;
00186
class H225_BandwidthReject;
00187
class H225_DisengageRequest;
00188
class H225_DisengageConfirm;
00189
class H225_DisengageReject;
00190
class H225_LocationRequest;
00191
class H225_LocationConfirm;
00192
class H225_LocationReject;
00193
class H225_InfoRequest;
00194
class H225_InfoRequestResponse;
00195
class H225_NonStandardMessage;
00196
class H225_UnknownMessageResponse;
00197
class H225_RequestInProgress;
00198
class H225_ResourcesAvailableIndicate;
00199
class H225_ResourcesAvailableConfirm;
00200
class H225_InfoRequestAck;
00201
class H225_InfoRequestNak;
00202
class H225_ArrayOf_CryptoH323Token;
00203
00204
class H323EndPoint;
00205
class H323RasPDU;
00206
00207
00208
00210
00213 class H225_RAS :
public H323Transactor
00214 {
00215 PCLASSINFO(
H225_RAS,
H323Transactor);
00216
public:
00219
enum {
00220
DefaultRasMulticastPort = 1718,
00221
DefaultRasUdpPort = 1719
00222 };
00223
00226
H225_RAS(
00227
H323EndPoint & endpoint,
00228
H323Transport * transport
00229 );
00230
00233
~H225_RAS();
00235
00240
void PrintOn(
00241 ostream & strm
00242 )
const;
00244
00249
virtual H323TransactionPDU *
CreateTransactionPDU()
const;
00250
00253
virtual BOOL
HandleTransaction(
00254
const PASN_Object & rawPDU
00255 );
00256
00259
virtual void OnSendingPDU(
00260 PASN_Object & rawPDU
00261 );
00263
00266
virtual void OnSendGatekeeperRequest(
H323RasPDU &,
H225_GatekeeperRequest &);
00267
virtual void OnSendGatekeeperConfirm(
H323RasPDU &,
H225_GatekeeperConfirm &);
00268
virtual void OnSendGatekeeperReject(
H323RasPDU &,
H225_GatekeeperReject &);
00269
virtual void OnSendGatekeeperRequest(
H225_GatekeeperRequest &);
00270
virtual void OnSendGatekeeperConfirm(
H225_GatekeeperConfirm &);
00271
virtual void OnSendGatekeeperReject(
H225_GatekeeperReject &);
00272
virtual BOOL
OnReceiveGatekeeperRequest(
const H323RasPDU &,
const H225_GatekeeperRequest &);
00273
virtual BOOL
OnReceiveGatekeeperConfirm(
const H323RasPDU &,
const H225_GatekeeperConfirm &);
00274
virtual BOOL
OnReceiveGatekeeperReject(
const H323RasPDU &,
const H225_GatekeeperReject &);
00275
virtual BOOL OnReceiveGatekeeperRequest(
const H225_GatekeeperRequest &);
00276
virtual BOOL OnReceiveGatekeeperConfirm(
const H225_GatekeeperConfirm &);
00277
virtual BOOL OnReceiveGatekeeperReject(
const H225_GatekeeperReject &);
00278
00279
virtual void OnSendRegistrationRequest(
H323RasPDU &,
H225_RegistrationRequest &);
00280
virtual void OnSendRegistrationConfirm(
H323RasPDU &,
H225_RegistrationConfirm &);
00281
virtual void OnSendRegistrationReject(
H323RasPDU &,
H225_RegistrationReject &);
00282
virtual void OnSendRegistrationRequest(
H225_RegistrationRequest &);
00283
virtual void OnSendRegistrationConfirm(
H225_RegistrationConfirm &);
00284
virtual void OnSendRegistrationReject(
H225_RegistrationReject &);
00285
virtual BOOL
OnReceiveRegistrationRequest(
const H323RasPDU &,
const H225_RegistrationRequest &);
00286
virtual BOOL
OnReceiveRegistrationConfirm(
const H323RasPDU &,
const H225_RegistrationConfirm &);
00287
virtual BOOL
OnReceiveRegistrationReject(
const H323RasPDU &,
const H225_RegistrationReject &);
00288
virtual BOOL OnReceiveRegistrationRequest(
const H225_RegistrationRequest &);
00289
virtual BOOL OnReceiveRegistrationConfirm(
const H225_RegistrationConfirm &);
00290
virtual BOOL OnReceiveRegistrationReject(
const H225_RegistrationReject &);
00291
00292
virtual void OnSendUnregistrationRequest(
H323RasPDU &,
H225_UnregistrationRequest &);
00293
virtual void OnSendUnregistrationConfirm(
H323RasPDU &,
H225_UnregistrationConfirm &);
00294
virtual void OnSendUnregistrationReject(
H323RasPDU &,
H225_UnregistrationReject &);
00295
virtual void OnSendUnregistrationRequest(
H225_UnregistrationRequest &);
00296
virtual void OnSendUnregistrationConfirm(
H225_UnregistrationConfirm &);
00297
virtual void OnSendUnregistrationReject(
H225_UnregistrationReject &);
00298
virtual BOOL
OnReceiveUnregistrationRequest(
const H323RasPDU &,
const H225_UnregistrationRequest &);
00299
virtual BOOL
OnReceiveUnregistrationConfirm(
const H323RasPDU &,
const H225_UnregistrationConfirm &);
00300
virtual BOOL
OnReceiveUnregistrationReject(
const H323RasPDU &,
const H225_UnregistrationReject &);
00301
virtual BOOL OnReceiveUnregistrationRequest(
const H225_UnregistrationRequest &);
00302
virtual BOOL OnReceiveUnregistrationConfirm(
const H225_UnregistrationConfirm &);
00303
virtual BOOL OnReceiveUnregistrationReject(
const H225_UnregistrationReject &);
00304
00305
virtual void OnSendAdmissionRequest(
H323RasPDU &,
H225_AdmissionRequest &);
00306
virtual void OnSendAdmissionConfirm(
H323RasPDU &,
H225_AdmissionConfirm &);
00307
virtual void OnSendAdmissionReject(
H323RasPDU &,
H225_AdmissionReject &);
00308
virtual void OnSendAdmissionRequest(
H225_AdmissionRequest &);
00309
virtual void OnSendAdmissionConfirm(
H225_AdmissionConfirm &);
00310
virtual void OnSendAdmissionReject(
H225_AdmissionReject &);
00311
virtual BOOL
OnReceiveAdmissionRequest(
const H323RasPDU &,
const H225_AdmissionRequest &);
00312
virtual BOOL
OnReceiveAdmissionConfirm(
const H323RasPDU &,
const H225_AdmissionConfirm &);
00313
virtual BOOL
OnReceiveAdmissionReject(
const H323RasPDU &,
const H225_AdmissionReject &);
00314
virtual BOOL OnReceiveAdmissionRequest(
const H225_AdmissionRequest &);
00315
virtual BOOL OnReceiveAdmissionConfirm(
const H225_AdmissionConfirm &);
00316
virtual BOOL OnReceiveAdmissionReject(
const H225_AdmissionReject &);
00317
00318
virtual void OnSendBandwidthRequest(
H323RasPDU &,
H225_BandwidthRequest &);
00319
virtual void OnSendBandwidthConfirm(
H323RasPDU &,
H225_BandwidthConfirm &);
00320
virtual void OnSendBandwidthReject(
H323RasPDU &,
H225_BandwidthReject &);
00321
virtual void OnSendBandwidthRequest(
H225_BandwidthRequest &);
00322
virtual void OnSendBandwidthConfirm(
H225_BandwidthConfirm &);
00323
virtual void OnSendBandwidthReject(
H225_BandwidthReject &);
00324
virtual BOOL
OnReceiveBandwidthRequest(
const H323RasPDU &,
const H225_BandwidthRequest &);
00325
virtual BOOL
OnReceiveBandwidthConfirm(
const H323RasPDU &,
const H225_BandwidthConfirm &);
00326
virtual BOOL
OnReceiveBandwidthReject(
const H323RasPDU &,
const H225_BandwidthReject &);
00327
virtual BOOL OnReceiveBandwidthRequest(
const H225_BandwidthRequest &);
00328
virtual BOOL OnReceiveBandwidthConfirm(
const H225_BandwidthConfirm &);
00329
virtual BOOL OnReceiveBandwidthReject(
const H225_BandwidthReject &);
00330
00331
virtual void OnSendDisengageRequest(
H323RasPDU &,
H225_DisengageRequest &);
00332
virtual void OnSendDisengageConfirm(
H323RasPDU &,
H225_DisengageConfirm &);
00333
virtual void OnSendDisengageReject(
H323RasPDU &,
H225_DisengageReject &);
00334
virtual void OnSendDisengageRequest(
H225_DisengageRequest &);
00335
virtual void OnSendDisengageConfirm(
H225_DisengageConfirm &);
00336
virtual void OnSendDisengageReject(
H225_DisengageReject &);
00337
virtual BOOL
OnReceiveDisengageRequest(
const H323RasPDU &,
const H225_DisengageRequest &);
00338
virtual BOOL
OnReceiveDisengageConfirm(
const H323RasPDU &,
const H225_DisengageConfirm &);
00339
virtual BOOL
OnReceiveDisengageReject(
const H323RasPDU &,
const H225_DisengageReject &);
00340
virtual BOOL OnReceiveDisengageRequest(
const H225_DisengageRequest &);
00341
virtual BOOL OnReceiveDisengageConfirm(
const H225_DisengageConfirm &);
00342
virtual BOOL OnReceiveDisengageReject(
const H225_DisengageReject &);
00343
00344
virtual void OnSendLocationRequest(
H323RasPDU &,
H225_LocationRequest &);
00345
virtual void OnSendLocationConfirm(
H323RasPDU &,
H225_LocationConfirm &);
00346
virtual void OnSendLocationReject(
H323RasPDU &,
H225_LocationReject &);
00347
virtual void OnSendLocationRequest(
H225_LocationRequest &);
00348
virtual void OnSendLocationConfirm(
H225_LocationConfirm &);
00349
virtual void OnSendLocationReject(
H225_LocationReject &);
00350
virtual BOOL
OnReceiveLocationRequest(
const H323RasPDU &,
const H225_LocationRequest &);
00351
virtual BOOL
OnReceiveLocationConfirm(
const H323RasPDU &,
const H225_LocationConfirm &);
00352
virtual BOOL
OnReceiveLocationReject(
const H323RasPDU &,
const H225_LocationReject &);
00353
virtual BOOL OnReceiveLocationRequest(
const H225_LocationRequest &);
00354
virtual BOOL OnReceiveLocationConfirm(
const H225_LocationConfirm &);
00355
virtual BOOL OnReceiveLocationReject(
const H225_LocationReject &);
00356
00357
virtual void OnSendInfoRequest(
H323RasPDU &,
H225_InfoRequest &);
00358
virtual void OnSendInfoRequestAck(
H323RasPDU &,
H225_InfoRequestAck &);
00359
virtual void OnSendInfoRequestNak(
H323RasPDU &,
H225_InfoRequestNak &);
00360
virtual void OnSendInfoRequestResponse(
H323RasPDU &,
H225_InfoRequestResponse &);
00361
virtual void OnSendInfoRequest(
H225_InfoRequest &);
00362
virtual void OnSendInfoRequestAck(
H225_InfoRequestAck &);
00363
virtual void OnSendInfoRequestNak(
H225_InfoRequestNak &);
00364
virtual void OnSendInfoRequestResponse(
H225_InfoRequestResponse &);
00365
virtual BOOL
OnReceiveInfoRequest(
const H323RasPDU &,
const H225_InfoRequest &);
00366
virtual BOOL
OnReceiveInfoRequestAck(
const H323RasPDU &,
const H225_InfoRequestAck &);
00367
virtual BOOL
OnReceiveInfoRequestNak(
const H323RasPDU &,
const H225_InfoRequestNak &);
00368
virtual BOOL
OnReceiveInfoRequestResponse(
const H323RasPDU &,
const H225_InfoRequestResponse &);
00369
virtual BOOL OnReceiveInfoRequest(
const H225_InfoRequest &);
00370
virtual BOOL OnReceiveInfoRequestAck(
const H225_InfoRequestAck &);
00371
virtual BOOL OnReceiveInfoRequestNak(
const H225_InfoRequestNak &);
00372
virtual BOOL OnReceiveInfoRequestResponse(
const H225_InfoRequestResponse &);
00373
00374
virtual void OnSendResourcesAvailableIndicate(
H323RasPDU &,
H225_ResourcesAvailableIndicate &);
00375
virtual void OnSendResourcesAvailableConfirm(
H323RasPDU &,
H225_ResourcesAvailableConfirm &);
00376
virtual void OnSendResourcesAvailableIndicate(
H225_ResourcesAvailableIndicate &);
00377
virtual void OnSendResourcesAvailableConfirm(
H225_ResourcesAvailableConfirm &);
00378
virtual BOOL
OnReceiveResourcesAvailableIndicate(
const H323RasPDU &,
const H225_ResourcesAvailableIndicate &);
00379
virtual BOOL
OnReceiveResourcesAvailableConfirm(
const H323RasPDU &,
const H225_ResourcesAvailableConfirm &);
00380
virtual BOOL OnReceiveResourcesAvailableIndicate(
const H225_ResourcesAvailableIndicate &);
00381
virtual BOOL OnReceiveResourcesAvailableConfirm(
const H225_ResourcesAvailableConfirm &);
00382
00383
virtual void OnSendServiceControlIndication(
H323RasPDU &,
H225_ServiceControlIndication &);
00384
virtual void OnSendServiceControlResponse(
H323RasPDU &,
H225_ServiceControlResponse &);
00385
virtual void OnSendServiceControlIndication(
H225_ServiceControlIndication &);
00386
virtual void OnSendServiceControlResponse(
H225_ServiceControlResponse &);
00387
virtual BOOL
OnReceiveServiceControlIndication(
const H323RasPDU &,
const H225_ServiceControlIndication &);
00388
virtual BOOL
OnReceiveServiceControlResponse(
const H323RasPDU &,
const H225_ServiceControlResponse &);
00389
virtual BOOL OnReceiveServiceControlIndication(
const H225_ServiceControlIndication &);
00390
virtual BOOL OnReceiveServiceControlResponse(
const H225_ServiceControlResponse &);
00391
00392
virtual void OnSendNonStandardMessage(
H323RasPDU &,
H225_NonStandardMessage &);
00393
virtual void OnSendNonStandardMessage(
H225_NonStandardMessage &);
00394
virtual BOOL
OnReceiveNonStandardMessage(
const H323RasPDU &,
const H225_NonStandardMessage &);
00395
virtual BOOL OnReceiveNonStandardMessage(
const H225_NonStandardMessage &);
00396
00397
virtual void OnSendUnknownMessageResponse(
H323RasPDU &,
H225_UnknownMessageResponse &);
00398
virtual void OnSendUnknownMessageResponse(
H225_UnknownMessageResponse &);
00399
virtual BOOL
OnReceiveUnknownMessageResponse(
const H323RasPDU &,
const H225_UnknownMessageResponse &);
00400
virtual BOOL OnReceiveUnknownMessageResponse(
const H225_UnknownMessageResponse &);
00401
00402
virtual void OnSendRequestInProgress(
H323RasPDU &,
H225_RequestInProgress &);
00403
virtual void OnSendRequestInProgress(
H225_RequestInProgress &);
00404
virtual BOOL
OnReceiveRequestInProgress(
const H323RasPDU &,
const H225_RequestInProgress &);
00405
virtual BOOL OnReceiveRequestInProgress(
const H225_RequestInProgress &);
00406
00407
00410
virtual BOOL
OnReceiveUnknown(
00411
const H323RasPDU & pdu
00412 );
00414
00421 const PString &
GetIdentifier()
const {
return gatekeeperIdentifier; }
00422
00427 void SetIdentifier(
const PString &
id) {
gatekeeperIdentifier =
id; }
00429
00430
protected:
00431
00432 PString
gatekeeperIdentifier;
00433 };
00434
00435
00436
#endif // __OPAL_H225RAS_H
00437
00438