00001
00002
00003
00004
00005
00006
00007 #include <opal/buildopts.h>
00008
00009 #if ! H323_DISABLE_H45011
00010
00011 #ifndef __H45011_H
00012 #define __H45011_H
00013
00014 #ifdef P_USE_PRAGMA
00015 #pragma interface
00016 #endif
00017
00018 #include <ptclib/asner.h>
00019
00020 #include "h225.h"
00021 #include "h4504.h"
00022 #include "h4501.h"
00023 #include "h4506.h"
00024 #include "h45010.h"
00025
00026
00027
00028
00029
00030
00031 class H45011_H323CallIntrusionOperations : public PASN_Enumeration
00032 {
00033 #ifndef PASN_LEANANDMEAN
00034 PCLASSINFO(H45011_H323CallIntrusionOperations, PASN_Enumeration);
00035 #endif
00036 public:
00037 H45011_H323CallIntrusionOperations(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00038
00039 enum Enumerations {
00040 e_callIntrusionRequest = 43,
00041 e_callIntrusionGetCIPL,
00042 e_callIntrusionIsolate,
00043 e_callIntrusionForcedRelease,
00044 e_callIntrusionWOBRequest,
00045 e_callIntrusionSilentMonitor = 116,
00046 e_callIntrusionNotification
00047 };
00048
00049 H45011_H323CallIntrusionOperations & operator=(unsigned v);
00050 PObject * Clone() const;
00051 };
00052
00053
00054
00055
00056
00057
00058 class H45011_CICapabilityLevel : public PASN_Integer
00059 {
00060 #ifndef PASN_LEANANDMEAN
00061 PCLASSINFO(H45011_CICapabilityLevel, PASN_Integer);
00062 #endif
00063 public:
00064 H45011_CICapabilityLevel(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00065
00066 H45011_CICapabilityLevel & operator=(int v);
00067 H45011_CICapabilityLevel & operator=(unsigned v);
00068 PObject * Clone() const;
00069 };
00070
00071
00072
00073
00074
00075
00076 class H45011_CIProtectionLevel : public PASN_Integer
00077 {
00078 #ifndef PASN_LEANANDMEAN
00079 PCLASSINFO(H45011_CIProtectionLevel, PASN_Integer);
00080 #endif
00081 public:
00082 H45011_CIProtectionLevel(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
00083
00084 H45011_CIProtectionLevel & operator=(int v);
00085 H45011_CIProtectionLevel & operator=(unsigned v);
00086 PObject * Clone() const;
00087 };
00088
00089
00090
00091
00092
00093
00094 class H45011_CIStatusInformation : public PASN_Choice
00095 {
00096 #ifndef PASN_LEANANDMEAN
00097 PCLASSINFO(H45011_CIStatusInformation, PASN_Choice);
00098 #endif
00099 public:
00100 H45011_CIStatusInformation(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00101
00102 enum Choices {
00103 e_callIntrusionImpending,
00104 e_callIntruded,
00105 e_callIsolated,
00106 e_callForceReleased,
00107 e_callIntrusionComplete,
00108 e_callIntrusionEnd
00109 };
00110
00111 PBoolean CreateObject();
00112 PObject * Clone() const;
00113 };
00114
00115
00116
00117
00118
00119
00120 class H45011_CallIntrusionErrors : public PASN_Enumeration
00121 {
00122 #ifndef PASN_LEANANDMEAN
00123 PCLASSINFO(H45011_CallIntrusionErrors, PASN_Enumeration);
00124 #endif
00125 public:
00126 H45011_CallIntrusionErrors(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00127
00128 enum Enumerations {
00129 e_notBusy = 1009,
00130 e_temporarilyUnavailable = 1000,
00131 e_notAuthorized = 1007
00132 };
00133
00134 H45011_CallIntrusionErrors & operator=(unsigned v);
00135 PObject * Clone() const;
00136 };
00137
00138
00139
00140
00141
00142
00143 class H4504_MixedExtension;
00144
00145 class H45011_ArrayOf_MixedExtension : public PASN_Array
00146 {
00147 #ifndef PASN_LEANANDMEAN
00148 PCLASSINFO(H45011_ArrayOf_MixedExtension, PASN_Array);
00149 #endif
00150 public:
00151 H45011_ArrayOf_MixedExtension(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00152
00153 PASN_Object * CreateObject() const;
00154 H4504_MixedExtension & operator[](PINDEX i) const;
00155 PObject * Clone() const;
00156 };
00157
00158
00159
00160
00161
00162
00163 class H45011_CIRequestArg : public PASN_Sequence
00164 {
00165 #ifndef PASN_LEANANDMEAN
00166 PCLASSINFO(H45011_CIRequestArg, PASN_Sequence);
00167 #endif
00168 public:
00169 H45011_CIRequestArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00170
00171 enum OptionalFields {
00172 e_argumentExtension
00173 };
00174
00175 H45011_CICapabilityLevel m_ciCapabilityLevel;
00176 H45011_ArrayOf_MixedExtension m_argumentExtension;
00177
00178 PINDEX GetDataLength() const;
00179 PBoolean Decode(PASN_Stream & strm);
00180 void Encode(PASN_Stream & strm) const;
00181 #ifndef PASN_NOPRINTON
00182 void PrintOn(ostream & strm) const;
00183 #endif
00184 Comparison Compare(const PObject & obj) const;
00185 PObject * Clone() const;
00186 };
00187
00188
00189
00190
00191
00192
00193 class H45011_CIRequestRes : public PASN_Sequence
00194 {
00195 #ifndef PASN_LEANANDMEAN
00196 PCLASSINFO(H45011_CIRequestRes, PASN_Sequence);
00197 #endif
00198 public:
00199 H45011_CIRequestRes(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00200
00201 enum OptionalFields {
00202 e_resultExtension
00203 };
00204
00205 H45011_CIStatusInformation m_ciStatusInformation;
00206 H45011_ArrayOf_MixedExtension m_resultExtension;
00207
00208 PINDEX GetDataLength() const;
00209 PBoolean Decode(PASN_Stream & strm);
00210 void Encode(PASN_Stream & strm) const;
00211 #ifndef PASN_NOPRINTON
00212 void PrintOn(ostream & strm) const;
00213 #endif
00214 Comparison Compare(const PObject & obj) const;
00215 PObject * Clone() const;
00216 };
00217
00218
00219
00220
00221
00222
00223 class H45011_CIGetCIPLOptArg : public PASN_Sequence
00224 {
00225 #ifndef PASN_LEANANDMEAN
00226 PCLASSINFO(H45011_CIGetCIPLOptArg, PASN_Sequence);
00227 #endif
00228 public:
00229 H45011_CIGetCIPLOptArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00230
00231 enum OptionalFields {
00232 e_argumentExtension
00233 };
00234
00235 H45011_ArrayOf_MixedExtension m_argumentExtension;
00236
00237 PINDEX GetDataLength() const;
00238 PBoolean Decode(PASN_Stream & strm);
00239 void Encode(PASN_Stream & strm) const;
00240 #ifndef PASN_NOPRINTON
00241 void PrintOn(ostream & strm) const;
00242 #endif
00243 Comparison Compare(const PObject & obj) const;
00244 PObject * Clone() const;
00245 };
00246
00247
00248
00249
00250
00251
00252 class H45011_CIGetCIPLRes : public PASN_Sequence
00253 {
00254 #ifndef PASN_LEANANDMEAN
00255 PCLASSINFO(H45011_CIGetCIPLRes, PASN_Sequence);
00256 #endif
00257 public:
00258 H45011_CIGetCIPLRes(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00259
00260 enum OptionalFields {
00261 e_silentMonitoringPermitted,
00262 e_resultExtension
00263 };
00264
00265 H45011_CIProtectionLevel m_ciProtectionLevel;
00266 PASN_Null m_silentMonitoringPermitted;
00267 H45011_ArrayOf_MixedExtension m_resultExtension;
00268
00269 PINDEX GetDataLength() const;
00270 PBoolean Decode(PASN_Stream & strm);
00271 void Encode(PASN_Stream & strm) const;
00272 #ifndef PASN_NOPRINTON
00273 void PrintOn(ostream & strm) const;
00274 #endif
00275 Comparison Compare(const PObject & obj) const;
00276 PObject * Clone() const;
00277 };
00278
00279
00280
00281
00282
00283
00284 class H45011_CIIsOptArg : public PASN_Sequence
00285 {
00286 #ifndef PASN_LEANANDMEAN
00287 PCLASSINFO(H45011_CIIsOptArg, PASN_Sequence);
00288 #endif
00289 public:
00290 H45011_CIIsOptArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00291
00292 enum OptionalFields {
00293 e_argumentExtension
00294 };
00295
00296 H45011_ArrayOf_MixedExtension m_argumentExtension;
00297
00298 PINDEX GetDataLength() const;
00299 PBoolean Decode(PASN_Stream & strm);
00300 void Encode(PASN_Stream & strm) const;
00301 #ifndef PASN_NOPRINTON
00302 void PrintOn(ostream & strm) const;
00303 #endif
00304 Comparison Compare(const PObject & obj) const;
00305 PObject * Clone() const;
00306 };
00307
00308
00309
00310
00311
00312
00313 class H45011_CIIsOptRes : public PASN_Sequence
00314 {
00315 #ifndef PASN_LEANANDMEAN
00316 PCLASSINFO(H45011_CIIsOptRes, PASN_Sequence);
00317 #endif
00318 public:
00319 H45011_CIIsOptRes(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00320
00321 enum OptionalFields {
00322 e_resultExtension
00323 };
00324
00325 H45011_ArrayOf_MixedExtension m_resultExtension;
00326
00327 PINDEX GetDataLength() const;
00328 PBoolean Decode(PASN_Stream & strm);
00329 void Encode(PASN_Stream & strm) const;
00330 #ifndef PASN_NOPRINTON
00331 void PrintOn(ostream & strm) const;
00332 #endif
00333 Comparison Compare(const PObject & obj) const;
00334 PObject * Clone() const;
00335 };
00336
00337
00338
00339
00340
00341
00342 class H45011_CIFrcRelArg : public PASN_Sequence
00343 {
00344 #ifndef PASN_LEANANDMEAN
00345 PCLASSINFO(H45011_CIFrcRelArg, PASN_Sequence);
00346 #endif
00347 public:
00348 H45011_CIFrcRelArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00349
00350 enum OptionalFields {
00351 e_argumentExtension
00352 };
00353
00354 H45011_CICapabilityLevel m_ciCapabilityLevel;
00355 H45011_ArrayOf_MixedExtension m_argumentExtension;
00356
00357 PINDEX GetDataLength() const;
00358 PBoolean Decode(PASN_Stream & strm);
00359 void Encode(PASN_Stream & strm) const;
00360 #ifndef PASN_NOPRINTON
00361 void PrintOn(ostream & strm) const;
00362 #endif
00363 Comparison Compare(const PObject & obj) const;
00364 PObject * Clone() const;
00365 };
00366
00367
00368
00369
00370
00371
00372 class H45011_CIFrcRelOptRes : public PASN_Sequence
00373 {
00374 #ifndef PASN_LEANANDMEAN
00375 PCLASSINFO(H45011_CIFrcRelOptRes, PASN_Sequence);
00376 #endif
00377 public:
00378 H45011_CIFrcRelOptRes(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00379
00380 enum OptionalFields {
00381 e_resultExtension
00382 };
00383
00384 H45011_ArrayOf_MixedExtension m_resultExtension;
00385
00386 PINDEX GetDataLength() const;
00387 PBoolean Decode(PASN_Stream & strm);
00388 void Encode(PASN_Stream & strm) const;
00389 #ifndef PASN_NOPRINTON
00390 void PrintOn(ostream & strm) const;
00391 #endif
00392 Comparison Compare(const PObject & obj) const;
00393 PObject * Clone() const;
00394 };
00395
00396
00397
00398
00399
00400
00401 class H45011_CIWobOptArg : public PASN_Sequence
00402 {
00403 #ifndef PASN_LEANANDMEAN
00404 PCLASSINFO(H45011_CIWobOptArg, PASN_Sequence);
00405 #endif
00406 public:
00407 H45011_CIWobOptArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00408
00409 enum OptionalFields {
00410 e_argumentExtension
00411 };
00412
00413 H45011_ArrayOf_MixedExtension m_argumentExtension;
00414
00415 PINDEX GetDataLength() const;
00416 PBoolean Decode(PASN_Stream & strm);
00417 void Encode(PASN_Stream & strm) const;
00418 #ifndef PASN_NOPRINTON
00419 void PrintOn(ostream & strm) const;
00420 #endif
00421 Comparison Compare(const PObject & obj) const;
00422 PObject * Clone() const;
00423 };
00424
00425
00426
00427
00428
00429
00430 class H45011_CIWobOptRes : public PASN_Sequence
00431 {
00432 #ifndef PASN_LEANANDMEAN
00433 PCLASSINFO(H45011_CIWobOptRes, PASN_Sequence);
00434 #endif
00435 public:
00436 H45011_CIWobOptRes(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00437
00438 enum OptionalFields {
00439 e_resultExtension
00440 };
00441
00442 H45011_ArrayOf_MixedExtension m_resultExtension;
00443
00444 PINDEX GetDataLength() const;
00445 PBoolean Decode(PASN_Stream & strm);
00446 void Encode(PASN_Stream & strm) const;
00447 #ifndef PASN_NOPRINTON
00448 void PrintOn(ostream & strm) const;
00449 #endif
00450 Comparison Compare(const PObject & obj) const;
00451 PObject * Clone() const;
00452 };
00453
00454
00455
00456
00457
00458
00459 class H45011_CISilentArg : public PASN_Sequence
00460 {
00461 #ifndef PASN_LEANANDMEAN
00462 PCLASSINFO(H45011_CISilentArg, PASN_Sequence);
00463 #endif
00464 public:
00465 H45011_CISilentArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00466
00467 enum OptionalFields {
00468 e_specificCall,
00469 e_argumentExtension
00470 };
00471
00472 H45011_CICapabilityLevel m_ciCapabilityLevel;
00473 H225_CallIdentifier m_specificCall;
00474 H45011_ArrayOf_MixedExtension m_argumentExtension;
00475
00476 PINDEX GetDataLength() const;
00477 PBoolean Decode(PASN_Stream & strm);
00478 void Encode(PASN_Stream & strm) const;
00479 #ifndef PASN_NOPRINTON
00480 void PrintOn(ostream & strm) const;
00481 #endif
00482 Comparison Compare(const PObject & obj) const;
00483 PObject * Clone() const;
00484 };
00485
00486
00487
00488
00489
00490
00491 class H45011_CISilentOptRes : public PASN_Sequence
00492 {
00493 #ifndef PASN_LEANANDMEAN
00494 PCLASSINFO(H45011_CISilentOptRes, PASN_Sequence);
00495 #endif
00496 public:
00497 H45011_CISilentOptRes(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00498
00499 enum OptionalFields {
00500 e_resultExtension
00501 };
00502
00503 H45011_ArrayOf_MixedExtension m_resultExtension;
00504
00505 PINDEX GetDataLength() const;
00506 PBoolean Decode(PASN_Stream & strm);
00507 void Encode(PASN_Stream & strm) const;
00508 #ifndef PASN_NOPRINTON
00509 void PrintOn(ostream & strm) const;
00510 #endif
00511 Comparison Compare(const PObject & obj) const;
00512 PObject * Clone() const;
00513 };
00514
00515
00516
00517
00518
00519
00520 class H45011_CINotificationArg : public PASN_Sequence
00521 {
00522 #ifndef PASN_LEANANDMEAN
00523 PCLASSINFO(H45011_CINotificationArg, PASN_Sequence);
00524 #endif
00525 public:
00526 H45011_CINotificationArg(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00527
00528 enum OptionalFields {
00529 e_argumentExtension
00530 };
00531
00532 H45011_CIStatusInformation m_ciStatusInformation;
00533 H45011_ArrayOf_MixedExtension m_argumentExtension;
00534
00535 PINDEX GetDataLength() const;
00536 PBoolean Decode(PASN_Stream & strm);
00537 void Encode(PASN_Stream & strm) const;
00538 #ifndef PASN_NOPRINTON
00539 void PrintOn(ostream & strm) const;
00540 #endif
00541 Comparison Compare(const PObject & obj) const;
00542 PObject * Clone() const;
00543 };
00544
00545
00546 #endif // __H45011_H
00547
00548 #endif // if ! H323_DISABLE_H45011
00549
00550
00551