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