00001
00002
00003
00004
00005
00006
00007 #if ! H323_DISABLE_H501
00008
00009 #ifndef __H501_H
00010 #define __H501_H
00011
00012 #ifdef P_USE_PRAGMA
00013 #pragma interface
00014 #endif
00015
00016 #include <ptclib/asner.h>
00017
00018 #include "h235.h"
00019 #include "h225.h"
00020
00021
00022
00023
00024
00025
00026 class H501_ServiceRequest;
00027 class H501_ServiceConfirmation;
00028 class H501_ServiceRejection;
00029 class H501_ServiceRelease;
00030 class H501_DescriptorRequest;
00031 class H501_DescriptorConfirmation;
00032 class H501_DescriptorRejection;
00033 class H501_DescriptorIDRequest;
00034 class H501_DescriptorIDConfirmation;
00035 class H501_DescriptorIDRejection;
00036 class H501_DescriptorUpdate;
00037 class H501_DescriptorUpdateAck;
00038 class H501_AccessRequest;
00039 class H501_AccessConfirmation;
00040 class H501_AccessRejection;
00041 class H501_RequestInProgress;
00042 class H501_NonStandardRequest;
00043 class H501_NonStandardConfirmation;
00044 class H501_NonStandardRejection;
00045 class H501_UnknownMessageResponse;
00046 class H501_UsageRequest;
00047 class H501_UsageConfirmation;
00048 class H501_UsageIndication;
00049 class H501_UsageIndicationConfirmation;
00050 class H501_UsageIndicationRejection;
00051 class H501_UsageRejection;
00052 class H501_ValidationRequest;
00053 class H501_ValidationConfirmation;
00054 class H501_ValidationRejection;
00055 class H501_AuthenticationRequest;
00056 class H501_AuthenticationConfirmation;
00057 class H501_AuthenticationRejection;
00058
00059 class H501_MessageBody : public PASN_Choice
00060 {
00061 #ifndef PASN_LEANANDMEAN
00062 PCLASSINFO(H501_MessageBody, PASN_Choice);
00063 #endif
00064 public:
00065 H501_MessageBody(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00066
00067 enum Choices {
00068 e_serviceRequest,
00069 e_serviceConfirmation,
00070 e_serviceRejection,
00071 e_serviceRelease,
00072 e_descriptorRequest,
00073 e_descriptorConfirmation,
00074 e_descriptorRejection,
00075 e_descriptorIDRequest,
00076 e_descriptorIDConfirmation,
00077 e_descriptorIDRejection,
00078 e_descriptorUpdate,
00079 e_descriptorUpdateAck,
00080 e_accessRequest,
00081 e_accessConfirmation,
00082 e_accessRejection,
00083 e_requestInProgress,
00084 e_nonStandardRequest,
00085 e_nonStandardConfirmation,
00086 e_nonStandardRejection,
00087 e_unknownMessageResponse,
00088 e_usageRequest,
00089 e_usageConfirmation,
00090 e_usageIndication,
00091 e_usageIndicationConfirmation,
00092 e_usageIndicationRejection,
00093 e_usageRejection,
00094 e_validationRequest,
00095 e_validationConfirmation,
00096 e_validationRejection,
00097 e_authenticationRequest,
00098 e_authenticationConfirmation,
00099 e_authenticationRejection
00100 };
00101
00102 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00103 operator H501_ServiceRequest &() const;
00104 #else
00105 operator H501_ServiceRequest &();
00106 operator const H501_ServiceRequest &() const;
00107 #endif
00108 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00109 operator H501_ServiceConfirmation &() const;
00110 #else
00111 operator H501_ServiceConfirmation &();
00112 operator const H501_ServiceConfirmation &() const;
00113 #endif
00114 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00115 operator H501_ServiceRejection &() const;
00116 #else
00117 operator H501_ServiceRejection &();
00118 operator const H501_ServiceRejection &() const;
00119 #endif
00120 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00121 operator H501_ServiceRelease &() const;
00122 #else
00123 operator H501_ServiceRelease &();
00124 operator const H501_ServiceRelease &() const;
00125 #endif
00126 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00127 operator H501_DescriptorRequest &() const;
00128 #else
00129 operator H501_DescriptorRequest &();
00130 operator const H501_DescriptorRequest &() const;
00131 #endif
00132 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00133 operator H501_DescriptorConfirmation &() const;
00134 #else
00135 operator H501_DescriptorConfirmation &();
00136 operator const H501_DescriptorConfirmation &() const;
00137 #endif
00138 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00139 operator H501_DescriptorRejection &() const;
00140 #else
00141 operator H501_DescriptorRejection &();
00142 operator const H501_DescriptorRejection &() const;
00143 #endif
00144 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00145 operator H501_DescriptorIDRequest &() const;
00146 #else
00147 operator H501_DescriptorIDRequest &();
00148 operator const H501_DescriptorIDRequest &() const;
00149 #endif
00150 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00151 operator H501_DescriptorIDConfirmation &() const;
00152 #else
00153 operator H501_DescriptorIDConfirmation &();
00154 operator const H501_DescriptorIDConfirmation &() const;
00155 #endif
00156 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00157 operator H501_DescriptorIDRejection &() const;
00158 #else
00159 operator H501_DescriptorIDRejection &();
00160 operator const H501_DescriptorIDRejection &() const;
00161 #endif
00162 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00163 operator H501_DescriptorUpdate &() const;
00164 #else
00165 operator H501_DescriptorUpdate &();
00166 operator const H501_DescriptorUpdate &() const;
00167 #endif
00168 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00169 operator H501_DescriptorUpdateAck &() const;
00170 #else
00171 operator H501_DescriptorUpdateAck &();
00172 operator const H501_DescriptorUpdateAck &() const;
00173 #endif
00174 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00175 operator H501_AccessRequest &() const;
00176 #else
00177 operator H501_AccessRequest &();
00178 operator const H501_AccessRequest &() const;
00179 #endif
00180 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00181 operator H501_AccessConfirmation &() const;
00182 #else
00183 operator H501_AccessConfirmation &();
00184 operator const H501_AccessConfirmation &() const;
00185 #endif
00186 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00187 operator H501_AccessRejection &() const;
00188 #else
00189 operator H501_AccessRejection &();
00190 operator const H501_AccessRejection &() const;
00191 #endif
00192 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00193 operator H501_RequestInProgress &() const;
00194 #else
00195 operator H501_RequestInProgress &();
00196 operator const H501_RequestInProgress &() const;
00197 #endif
00198 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00199 operator H501_NonStandardRequest &() const;
00200 #else
00201 operator H501_NonStandardRequest &();
00202 operator const H501_NonStandardRequest &() const;
00203 #endif
00204 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00205 operator H501_NonStandardConfirmation &() const;
00206 #else
00207 operator H501_NonStandardConfirmation &();
00208 operator const H501_NonStandardConfirmation &() const;
00209 #endif
00210 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00211 operator H501_NonStandardRejection &() const;
00212 #else
00213 operator H501_NonStandardRejection &();
00214 operator const H501_NonStandardRejection &() const;
00215 #endif
00216 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00217 operator H501_UnknownMessageResponse &() const;
00218 #else
00219 operator H501_UnknownMessageResponse &();
00220 operator const H501_UnknownMessageResponse &() const;
00221 #endif
00222 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00223 operator H501_UsageRequest &() const;
00224 #else
00225 operator H501_UsageRequest &();
00226 operator const H501_UsageRequest &() const;
00227 #endif
00228 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00229 operator H501_UsageConfirmation &() const;
00230 #else
00231 operator H501_UsageConfirmation &();
00232 operator const H501_UsageConfirmation &() const;
00233 #endif
00234 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00235 operator H501_UsageIndication &() const;
00236 #else
00237 operator H501_UsageIndication &();
00238 operator const H501_UsageIndication &() const;
00239 #endif
00240 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00241 operator H501_UsageIndicationConfirmation &() const;
00242 #else
00243 operator H501_UsageIndicationConfirmation &();
00244 operator const H501_UsageIndicationConfirmation &() const;
00245 #endif
00246 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00247 operator H501_UsageIndicationRejection &() const;
00248 #else
00249 operator H501_UsageIndicationRejection &();
00250 operator const H501_UsageIndicationRejection &() const;
00251 #endif
00252 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00253 operator H501_UsageRejection &() const;
00254 #else
00255 operator H501_UsageRejection &();
00256 operator const H501_UsageRejection &() const;
00257 #endif
00258 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00259 operator H501_ValidationRequest &() const;
00260 #else
00261 operator H501_ValidationRequest &();
00262 operator const H501_ValidationRequest &() const;
00263 #endif
00264 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00265 operator H501_ValidationConfirmation &() const;
00266 #else
00267 operator H501_ValidationConfirmation &();
00268 operator const H501_ValidationConfirmation &() const;
00269 #endif
00270 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00271 operator H501_ValidationRejection &() const;
00272 #else
00273 operator H501_ValidationRejection &();
00274 operator const H501_ValidationRejection &() const;
00275 #endif
00276 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00277 operator H501_AuthenticationRequest &() const;
00278 #else
00279 operator H501_AuthenticationRequest &();
00280 operator const H501_AuthenticationRequest &() const;
00281 #endif
00282 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00283 operator H501_AuthenticationConfirmation &() const;
00284 #else
00285 operator H501_AuthenticationConfirmation &();
00286 operator const H501_AuthenticationConfirmation &() const;
00287 #endif
00288 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00289 operator H501_AuthenticationRejection &() const;
00290 #else
00291 operator H501_AuthenticationRejection &();
00292 operator const H501_AuthenticationRejection &() const;
00293 #endif
00294
00295 BOOL CreateObject();
00296 PObject * Clone() const;
00297 };
00298
00299
00300
00301
00302
00303
00304 class H501_ServiceRejectionReason : public PASN_Choice
00305 {
00306 #ifndef PASN_LEANANDMEAN
00307 PCLASSINFO(H501_ServiceRejectionReason, PASN_Choice);
00308 #endif
00309 public:
00310 H501_ServiceRejectionReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00311
00312 enum Choices {
00313 e_serviceUnavailable,
00314 e_serviceRedirected,
00315 e_security,
00316 e_continue,
00317 e_undefined,
00318 e_unknownServiceID,
00319 e_cannotSupportUsageSpec,
00320 e_neededFeature,
00321 e_genericDataReason,
00322 e_usageUnavailable,
00323 e_unknownUsageSendTo
00324 };
00325
00326 BOOL CreateObject();
00327 PObject * Clone() const;
00328 };
00329
00330
00331
00332
00333
00334
00335 class H501_ServiceReleaseReason : public PASN_Choice
00336 {
00337 #ifndef PASN_LEANANDMEAN
00338 PCLASSINFO(H501_ServiceReleaseReason, PASN_Choice);
00339 #endif
00340 public:
00341 H501_ServiceReleaseReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00342
00343 enum Choices {
00344 e_outOfService,
00345 e_maintenance,
00346 e_terminated,
00347 e_expired
00348 };
00349
00350 BOOL CreateObject();
00351 PObject * Clone() const;
00352 };
00353
00354
00355
00356
00357
00358
00359 class H501_DescriptorRejectionReason : public PASN_Choice
00360 {
00361 #ifndef PASN_LEANANDMEAN
00362 PCLASSINFO(H501_DescriptorRejectionReason, PASN_Choice);
00363 #endif
00364 public:
00365 H501_DescriptorRejectionReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00366
00367 enum Choices {
00368 e_packetSizeExceeded,
00369 e_illegalID,
00370 e_security,
00371 e_hopCountExceeded,
00372 e_noServiceRelationship,
00373 e_undefined,
00374 e_neededFeature,
00375 e_genericDataReason,
00376 e_unknownServiceID
00377 };
00378
00379 BOOL CreateObject();
00380 PObject * Clone() const;
00381 };
00382
00383
00384
00385
00386
00387
00388 class H501_DescriptorIDRequest : public PASN_Sequence
00389 {
00390 #ifndef PASN_LEANANDMEAN
00391 PCLASSINFO(H501_DescriptorIDRequest, PASN_Sequence);
00392 #endif
00393 public:
00394 H501_DescriptorIDRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00395
00396
00397 PINDEX GetDataLength() const;
00398 BOOL Decode(PASN_Stream & strm);
00399 void Encode(PASN_Stream & strm) const;
00400 #ifndef PASN_NOPRINTON
00401 void PrintOn(ostream & strm) const;
00402 #endif
00403 PObject * Clone() const;
00404 };
00405
00406
00407
00408
00409
00410
00411 class H501_DescriptorIDRejectionReason : public PASN_Choice
00412 {
00413 #ifndef PASN_LEANANDMEAN
00414 PCLASSINFO(H501_DescriptorIDRejectionReason, PASN_Choice);
00415 #endif
00416 public:
00417 H501_DescriptorIDRejectionReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00418
00419 enum Choices {
00420 e_noDescriptors,
00421 e_security,
00422 e_hopCountExceeded,
00423 e_noServiceRelationship,
00424 e_undefined,
00425 e_neededFeature,
00426 e_genericDataReason,
00427 e_unknownServiceID
00428 };
00429
00430 BOOL CreateObject();
00431 PObject * Clone() const;
00432 };
00433
00434
00435
00436
00437
00438
00439 class H501_DescriptorUpdateAck : public PASN_Sequence
00440 {
00441 #ifndef PASN_LEANANDMEAN
00442 PCLASSINFO(H501_DescriptorUpdateAck, PASN_Sequence);
00443 #endif
00444 public:
00445 H501_DescriptorUpdateAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00446
00447
00448 PINDEX GetDataLength() const;
00449 BOOL Decode(PASN_Stream & strm);
00450 void Encode(PASN_Stream & strm) const;
00451 #ifndef PASN_NOPRINTON
00452 void PrintOn(ostream & strm) const;
00453 #endif
00454 PObject * Clone() const;
00455 };
00456
00457
00458
00459
00460
00461
00462 class H501_AccessRejectionReason : public PASN_Choice
00463 {
00464 #ifndef PASN_LEANANDMEAN
00465 PCLASSINFO(H501_AccessRejectionReason, PASN_Choice);
00466 #endif
00467 public:
00468 H501_AccessRejectionReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00469
00470 enum Choices {
00471 e_noMatch,
00472 e_packetSizeExceeded,
00473 e_security,
00474 e_hopCountExceeded,
00475 e_needCallInformation,
00476 e_noServiceRelationship,
00477 e_undefined,
00478 e_neededFeature,
00479 e_genericDataReason,
00480 e_destinationUnavailable,
00481 e_aliasesInconsistent,
00482 e_resourceUnavailable,
00483 e_incompleteAddress,
00484 e_unknownServiceID,
00485 e_usageUnavailable,
00486 e_cannotSupportUsageSpec,
00487 e_unknownUsageSendTo
00488 };
00489
00490 BOOL CreateObject();
00491 PObject * Clone() const;
00492 };
00493
00494
00495
00496
00497
00498
00499 class H501_UsageConfirmation : public PASN_Sequence
00500 {
00501 #ifndef PASN_LEANANDMEAN
00502 PCLASSINFO(H501_UsageConfirmation, PASN_Sequence);
00503 #endif
00504 public:
00505 H501_UsageConfirmation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00506
00507
00508 PINDEX GetDataLength() const;
00509 BOOL Decode(PASN_Stream & strm);
00510 void Encode(PASN_Stream & strm) const;
00511 #ifndef PASN_NOPRINTON
00512 void PrintOn(ostream & strm) const;
00513 #endif
00514 PObject * Clone() const;
00515 };
00516
00517
00518
00519
00520
00521
00522 class H501_UsageField : public PASN_Sequence
00523 {
00524 #ifndef PASN_LEANANDMEAN
00525 PCLASSINFO(H501_UsageField, PASN_Sequence);
00526 #endif
00527 public:
00528 H501_UsageField(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00529
00530 PASN_ObjectId m_id;
00531 PASN_OctetString m_value;
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
00545
00546
00547
00548 class H501_UsageRejectReason : public PASN_Choice
00549 {
00550 #ifndef PASN_LEANANDMEAN
00551 PCLASSINFO(H501_UsageRejectReason, PASN_Choice);
00552 #endif
00553 public:
00554 H501_UsageRejectReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00555
00556 enum Choices {
00557 e_invalidCall,
00558 e_unavailable,
00559 e_security,
00560 e_noServiceRelationship,
00561 e_undefined,
00562 e_neededFeature,
00563 e_genericDataReason,
00564 e_unknownServiceID
00565 };
00566
00567 BOOL CreateObject();
00568 PObject * Clone() const;
00569 };
00570
00571
00572
00573
00574
00575
00576 class H501_UsageIndicationConfirmation : public PASN_Sequence
00577 {
00578 #ifndef PASN_LEANANDMEAN
00579 PCLASSINFO(H501_UsageIndicationConfirmation, PASN_Sequence);
00580 #endif
00581 public:
00582 H501_UsageIndicationConfirmation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00583
00584
00585 PINDEX GetDataLength() const;
00586 BOOL Decode(PASN_Stream & strm);
00587 void Encode(PASN_Stream & strm) const;
00588 #ifndef PASN_NOPRINTON
00589 void PrintOn(ostream & strm) const;
00590 #endif
00591 PObject * Clone() const;
00592 };
00593
00594
00595
00596
00597
00598
00599 class H501_UsageIndicationRejectionReason : public PASN_Choice
00600 {
00601 #ifndef PASN_LEANANDMEAN
00602 PCLASSINFO(H501_UsageIndicationRejectionReason, PASN_Choice);
00603 #endif
00604 public:
00605 H501_UsageIndicationRejectionReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00606
00607 enum Choices {
00608 e_unknownCall,
00609 e_incomplete,
00610 e_security,
00611 e_noServiceRelationship,
00612 e_undefined,
00613 e_neededFeature,
00614 e_genericDataReason,
00615 e_unknownServiceID
00616 };
00617
00618 BOOL CreateObject();
00619 PObject * Clone() const;
00620 };
00621
00622
00623
00624
00625
00626
00627 class H501_ValidationRejectionReason : public PASN_Choice
00628 {
00629 #ifndef PASN_LEANANDMEAN
00630 PCLASSINFO(H501_ValidationRejectionReason, PASN_Choice);
00631 #endif
00632 public:
00633 H501_ValidationRejectionReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00634
00635 enum Choices {
00636 e_tokenNotValid,
00637 e_security,
00638 e_hopCountExceeded,
00639 e_missingSourceInfo,
00640 e_missingDestInfo,
00641 e_noServiceRelationship,
00642 e_undefined,
00643 e_neededFeature,
00644 e_genericDataReason,
00645 e_unknownServiceID
00646 };
00647
00648 BOOL CreateObject();
00649 PObject * Clone() const;
00650 };
00651
00652
00653
00654
00655
00656
00657 class H501_NonStandardRequest : public PASN_Sequence
00658 {
00659 #ifndef PASN_LEANANDMEAN
00660 PCLASSINFO(H501_NonStandardRequest, PASN_Sequence);
00661 #endif
00662 public:
00663 H501_NonStandardRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00664
00665
00666 PINDEX GetDataLength() const;
00667 BOOL Decode(PASN_Stream & strm);
00668 void Encode(PASN_Stream & strm) const;
00669 #ifndef PASN_NOPRINTON
00670 void PrintOn(ostream & strm) const;
00671 #endif
00672 PObject * Clone() const;
00673 };
00674
00675
00676
00677
00678
00679
00680 class H501_NonStandardConfirmation : public PASN_Sequence
00681 {
00682 #ifndef PASN_LEANANDMEAN
00683 PCLASSINFO(H501_NonStandardConfirmation, PASN_Sequence);
00684 #endif
00685 public:
00686 H501_NonStandardConfirmation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00687
00688
00689 PINDEX GetDataLength() const;
00690 BOOL Decode(PASN_Stream & strm);
00691 void Encode(PASN_Stream & strm) const;
00692 #ifndef PASN_NOPRINTON
00693 void PrintOn(ostream & strm) const;
00694 #endif
00695 PObject * Clone() const;
00696 };
00697
00698
00699
00700
00701
00702
00703 class H501_NonStandardRejectionReason : public PASN_Choice
00704 {
00705 #ifndef PASN_LEANANDMEAN
00706 PCLASSINFO(H501_NonStandardRejectionReason, PASN_Choice);
00707 #endif
00708 public:
00709 H501_NonStandardRejectionReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00710
00711 enum Choices {
00712 e_notSupported,
00713 e_noServiceRelationship,
00714 e_undefined,
00715 e_neededFeature,
00716 e_genericDataReason,
00717 e_unknownServiceID
00718 };
00719
00720 BOOL CreateObject();
00721 PObject * Clone() const;
00722 };
00723
00724
00725
00726
00727
00728
00729 class H501_UnknownMessageReason : public PASN_Choice
00730 {
00731 #ifndef PASN_LEANANDMEAN
00732 PCLASSINFO(H501_UnknownMessageReason, PASN_Choice);
00733 #endif
00734 public:
00735 H501_UnknownMessageReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00736
00737 enum Choices {
00738 e_notUnderstood,
00739 e_undefined
00740 };
00741
00742 BOOL CreateObject();
00743 PObject * Clone() const;
00744 };
00745
00746
00747
00748
00749
00750
00751 class H501_ApplicationMessage : public PASN_OctetString
00752 {
00753 #ifndef PASN_LEANANDMEAN
00754 PCLASSINFO(H501_ApplicationMessage, PASN_OctetString);
00755 #endif
00756 public:
00757 H501_ApplicationMessage(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
00758
00759 H501_ApplicationMessage(const char * v);
00760 H501_ApplicationMessage(const PString & v);
00761 H501_ApplicationMessage(const PBYTEArray & v);
00762
00763 H501_ApplicationMessage & operator=(const char * v);
00764 H501_ApplicationMessage & operator=(const PString & v);
00765 H501_ApplicationMessage & operator=(const PBYTEArray & v);
00766 PObject * Clone() const;
00767 };
00768
00769
00770
00771
00772
00773
00774 class H501_AuthenticationConfirmation : public PASN_Sequence
00775 {
00776 #ifndef PASN_LEANANDMEAN
00777 PCLASSINFO(H501_AuthenticationConfirmation, PASN_Sequence);
00778 #endif
00779 public:
00780 H501_AuthenticationConfirmation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00781
00782
00783 PINDEX GetDataLength() const;
00784 BOOL Decode(PASN_Stream & strm);
00785 void Encode(PASN_Stream & strm) const;
00786 #ifndef PASN_NOPRINTON
00787 void PrintOn(ostream & strm) const;
00788 #endif
00789 PObject * Clone() const;
00790 };
00791
00792
00793
00794
00795
00796
00797 class H501_AuthenticationRejectionReason : public PASN_Choice
00798 {
00799 #ifndef PASN_LEANANDMEAN
00800 PCLASSINFO(H501_AuthenticationRejectionReason, PASN_Choice);
00801 #endif
00802 public:
00803 H501_AuthenticationRejectionReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00804
00805 enum Choices {
00806 e_security,
00807 e_hopCountExceeded,
00808 e_noServiceRelationship,
00809 e_undefined,
00810 e_neededFeature,
00811 e_genericDataReason,
00812 e_unknownServiceID,
00813 e_securityWrongSyncTime,
00814 e_securityReplay,
00815 e_securityWrongGeneralID,
00816 e_securityWrongSendersID,
00817 e_securityIntegrityFailed,
00818 e_securityWrongOID
00819 };
00820
00821 BOOL CreateObject();
00822 PObject * Clone() const;
00823 };
00824
00825
00826
00827
00828
00829
00830 class H225_AliasAddress;
00831 class H501_Pattern_range;
00832
00833 class H501_Pattern : public PASN_Choice
00834 {
00835 #ifndef PASN_LEANANDMEAN
00836 PCLASSINFO(H501_Pattern, PASN_Choice);
00837 #endif
00838 public:
00839 H501_Pattern(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00840
00841 enum Choices {
00842 e_specific,
00843 e_wildcard,
00844 e_range
00845 };
00846
00847 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00848 operator H225_AliasAddress &() const;
00849 #else
00850 operator H225_AliasAddress &();
00851 operator const H225_AliasAddress &() const;
00852 #endif
00853 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00854 operator H501_Pattern_range &() const;
00855 #else
00856 operator H501_Pattern_range &();
00857 operator const H501_Pattern_range &() const;
00858 #endif
00859
00860 BOOL CreateObject();
00861 PObject * Clone() const;
00862 };
00863
00864
00865
00866
00867
00868
00869 class H235_ClearToken;
00870 class H225_CryptoH323Token;
00871 class H225_GenericData;
00872
00873 class H501_AccessToken : public PASN_Choice
00874 {
00875 #ifndef PASN_LEANANDMEAN
00876 PCLASSINFO(H501_AccessToken, PASN_Choice);
00877 #endif
00878 public:
00879 H501_AccessToken(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00880
00881 enum Choices {
00882 e_token,
00883 e_cryptoToken,
00884 e_genericData
00885 };
00886
00887 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00888 operator H235_ClearToken &() const;
00889 #else
00890 operator H235_ClearToken &();
00891 operator const H235_ClearToken &() const;
00892 #endif
00893 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00894 operator H225_CryptoH323Token &() const;
00895 #else
00896 operator H225_CryptoH323Token &();
00897 operator const H225_CryptoH323Token &() const;
00898 #endif
00899 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00900 operator H225_GenericData &() const;
00901 #else
00902 operator H225_GenericData &();
00903 operator const H225_GenericData &() const;
00904 #endif
00905
00906 BOOL CreateObject();
00907 PObject * Clone() const;
00908 };
00909
00910
00911
00912
00913
00914
00915 class H501_CallInformation : public PASN_Sequence
00916 {
00917 #ifndef PASN_LEANANDMEAN
00918 PCLASSINFO(H501_CallInformation, PASN_Sequence);
00919 #endif
00920 public:
00921 H501_CallInformation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00922
00923 enum OptionalFields {
00924 e_circuitID
00925 };
00926
00927 H225_CallIdentifier m_callIdentifier;
00928 H225_ConferenceIdentifier m_conferenceID;
00929 H225_CircuitInfo m_circuitID;
00930
00931 PINDEX GetDataLength() const;
00932 BOOL Decode(PASN_Stream & strm);
00933 void Encode(PASN_Stream & strm) const;
00934 #ifndef PASN_NOPRINTON
00935 void PrintOn(ostream & strm) const;
00936 #endif
00937 Comparison Compare(const PObject & obj) const;
00938 PObject * Clone() const;
00939 };
00940
00941
00942
00943
00944
00945
00946 class H501_UsageCallStatus : public PASN_Choice
00947 {
00948 #ifndef PASN_LEANANDMEAN
00949 PCLASSINFO(H501_UsageCallStatus, PASN_Choice);
00950 #endif
00951 public:
00952 H501_UsageCallStatus(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00953
00954 enum Choices {
00955 e_preConnect,
00956 e_callInProgress,
00957 e_callEnded,
00958 e_registrationLost
00959 };
00960
00961 BOOL CreateObject();
00962 PObject * Clone() const;
00963 };
00964
00965
00966
00967
00968
00969
00970 class H225_NonStandardParameter;
00971
00972 class H501_Role : public PASN_Choice
00973 {
00974 #ifndef PASN_LEANANDMEAN
00975 PCLASSINFO(H501_Role, PASN_Choice);
00976 #endif
00977 public:
00978 H501_Role(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00979
00980 enum Choices {
00981 e_originator,
00982 e_destination,
00983 e_nonStandardData
00984 };
00985
00986 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00987 operator H225_NonStandardParameter &() const;
00988 #else
00989 operator H225_NonStandardParameter &();
00990 operator const H225_NonStandardParameter &() const;
00991 #endif
00992
00993 BOOL CreateObject();
00994 PObject * Clone() const;
00995 };
00996
00997
00998
00999
01000
01001
01002 class H501_TimeZone : public PASN_Integer
01003 {
01004 #ifndef PASN_LEANANDMEAN
01005 PCLASSINFO(H501_TimeZone, PASN_Integer);
01006 #endif
01007 public:
01008 H501_TimeZone(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
01009
01010 H501_TimeZone & operator=(int v);
01011 H501_TimeZone & operator=(unsigned v);
01012 PObject * Clone() const;
01013 };
01014
01015
01016
01017
01018
01019
01020 class H501_TerminationCause : public PASN_Sequence
01021 {
01022 #ifndef PASN_LEANANDMEAN
01023 PCLASSINFO(H501_TerminationCause, PASN_Sequence);
01024 #endif
01025 public:
01026 H501_TerminationCause(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01027
01028 enum OptionalFields {
01029 e_causeIE,
01030 e_nonStandardData
01031 };
01032
01033 H225_ReleaseCompleteReason m_releaseCompleteReason;
01034 PASN_Integer m_causeIE;
01035 H225_NonStandardParameter m_nonStandardData;
01036
01037 PINDEX GetDataLength() const;
01038 BOOL Decode(PASN_Stream & strm);
01039 void Encode(PASN_Stream & strm) const;
01040 #ifndef PASN_NOPRINTON
01041 void PrintOn(ostream & strm) const;
01042 #endif
01043 Comparison Compare(const PObject & obj) const;
01044 PObject * Clone() const;
01045 };
01046
01047
01048
01049
01050
01051
01052 class H501_ProtocolVersion : public PASN_ObjectId
01053 {
01054 #ifndef PASN_LEANANDMEAN
01055 PCLASSINFO(H501_ProtocolVersion, PASN_ObjectId);
01056 #endif
01057 public:
01058 H501_ProtocolVersion(unsigned tag = UniversalObjectId, TagClass tagClass = UniversalTagClass);
01059
01060 PObject * Clone() const;
01061 };
01062
01063
01064
01065
01066
01067
01068 class H501_ElementIdentifier : public PASN_BMPString
01069 {
01070 #ifndef PASN_LEANANDMEAN
01071 PCLASSINFO(H501_ElementIdentifier, PASN_BMPString);
01072 #endif
01073 public:
01074 H501_ElementIdentifier(unsigned tag = UniversalBMPString, TagClass tagClass = UniversalTagClass);
01075
01076 H501_ElementIdentifier & operator=(const char * v);
01077 H501_ElementIdentifier & operator=(const PString & v);
01078 H501_ElementIdentifier & operator=(const PWORDArray & v);
01079 H501_ElementIdentifier & operator=(const PASN_BMPString & v);
01080 PObject * Clone() const;
01081 };
01082
01083
01084
01085
01086
01087
01088 class H501_GlobalTimeStamp : public PASN_IA5String
01089 {
01090 #ifndef PASN_LEANANDMEAN
01091 PCLASSINFO(H501_GlobalTimeStamp, PASN_IA5String);
01092 #endif
01093 public:
01094 H501_GlobalTimeStamp(unsigned tag = UniversalIA5String, TagClass tagClass = UniversalTagClass);
01095
01096 H501_GlobalTimeStamp & operator=(const char * v);
01097 H501_GlobalTimeStamp & operator=(const PString & v);
01098 PObject * Clone() const;
01099 };
01100
01101
01102
01103
01104
01105
01106 class H225_TransportAddress;
01107
01108 class H501_ArrayOf_TransportAddress : public PASN_Array
01109 {
01110 #ifndef PASN_LEANANDMEAN
01111 PCLASSINFO(H501_ArrayOf_TransportAddress, PASN_Array);
01112 #endif
01113 public:
01114 H501_ArrayOf_TransportAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01115
01116 PASN_Object * CreateObject() const;
01117 H225_TransportAddress & operator[](PINDEX i) const;
01118 PObject * Clone() const;
01119 };
01120
01121
01122
01123
01124
01125
01126 class H235_ClearToken;
01127
01128 class H501_ArrayOf_ClearToken : public PASN_Array
01129 {
01130 #ifndef PASN_LEANANDMEAN
01131 PCLASSINFO(H501_ArrayOf_ClearToken, PASN_Array);
01132 #endif
01133 public:
01134 H501_ArrayOf_ClearToken(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01135
01136 PASN_Object * CreateObject() const;
01137 H235_ClearToken & operator[](PINDEX i) const;
01138 PObject * Clone() const;
01139 };
01140
01141
01142
01143
01144
01145
01146 class H225_CryptoH323Token;
01147
01148 class H501_ArrayOf_CryptoH323Token : public PASN_Array
01149 {
01150 #ifndef PASN_LEANANDMEAN
01151 PCLASSINFO(H501_ArrayOf_CryptoH323Token, PASN_Array);
01152 #endif
01153 public:
01154 H501_ArrayOf_CryptoH323Token(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01155
01156 PASN_Object * CreateObject() const;
01157 H225_CryptoH323Token & operator[](PINDEX i) const;
01158 PObject * Clone() const;
01159 };
01160
01161
01162
01163
01164
01165
01166 class H225_NonStandardParameter;
01167
01168 class H501_ArrayOf_NonStandardParameter : public PASN_Array
01169 {
01170 #ifndef PASN_LEANANDMEAN
01171 PCLASSINFO(H501_ArrayOf_NonStandardParameter, PASN_Array);
01172 #endif
01173 public:
01174 H501_ArrayOf_NonStandardParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01175
01176 PASN_Object * CreateObject() const;
01177 H225_NonStandardParameter & operator[](PINDEX i) const;
01178 PObject * Clone() const;
01179 };
01180
01181
01182
01183
01184
01185
01186 class H225_GenericData;
01187
01188 class H501_ArrayOf_GenericData : public PASN_Array
01189 {
01190 #ifndef PASN_LEANANDMEAN
01191 PCLASSINFO(H501_ArrayOf_GenericData, PASN_Array);
01192 #endif
01193 public:
01194 H501_ArrayOf_GenericData(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01195
01196 PASN_Object * CreateObject() const;
01197 H225_GenericData & operator[](PINDEX i) const;
01198 PObject * Clone() const;
01199 };
01200
01201
01202
01203
01204
01205
01206 class H501_SecurityMode;
01207
01208 class H501_ArrayOf_SecurityMode : public PASN_Array
01209 {
01210 #ifndef PASN_LEANANDMEAN
01211 PCLASSINFO(H501_ArrayOf_SecurityMode, PASN_Array);
01212 #endif
01213 public:
01214 H501_ArrayOf_SecurityMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01215
01216 PASN_Object * CreateObject() const;
01217 H501_SecurityMode & operator[](PINDEX i) const;
01218 PObject * Clone() const;
01219 };
01220
01221
01222
01223
01224
01225
01226 class H501_ArrayOf_PASN_ObjectId : public PASN_Array
01227 {
01228 #ifndef PASN_LEANANDMEAN
01229 PCLASSINFO(H501_ArrayOf_PASN_ObjectId, PASN_Array);
01230 #endif
01231 public:
01232 H501_ArrayOf_PASN_ObjectId(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01233
01234 PASN_Object * CreateObject() const;
01235 PASN_ObjectId & operator[](PINDEX i) const;
01236 PObject * Clone() const;
01237 };
01238
01239
01240
01241
01242
01243
01244 class H225_GloballyUniqueID;
01245
01246 class H501_ArrayOf_GloballyUniqueID : public PASN_Array
01247 {
01248 #ifndef PASN_LEANANDMEAN
01249 PCLASSINFO(H501_ArrayOf_GloballyUniqueID, PASN_Array);
01250 #endif
01251 public:
01252 H501_ArrayOf_GloballyUniqueID(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01253
01254 PASN_Object * CreateObject() const;
01255 H225_GloballyUniqueID & operator[](PINDEX i) const;
01256 PObject * Clone() const;
01257 };
01258
01259
01260
01261
01262
01263
01264 class H501_Descriptor;
01265
01266 class H501_ArrayOf_Descriptor : public PASN_Array
01267 {
01268 #ifndef PASN_LEANANDMEAN
01269 PCLASSINFO(H501_ArrayOf_Descriptor, PASN_Array);
01270 #endif
01271 public:
01272 H501_ArrayOf_Descriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01273
01274 PASN_Object * CreateObject() const;
01275 H501_Descriptor & operator[](PINDEX i) const;
01276 PObject * Clone() const;
01277 };
01278
01279
01280
01281
01282
01283
01284 class H501_DescriptorInfo;
01285
01286 class H501_ArrayOf_DescriptorInfo : public PASN_Array
01287 {
01288 #ifndef PASN_LEANANDMEAN
01289 PCLASSINFO(H501_ArrayOf_DescriptorInfo, PASN_Array);
01290 #endif
01291 public:
01292 H501_ArrayOf_DescriptorInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01293
01294 PASN_Object * CreateObject() const;
01295 H501_DescriptorInfo & operator[](PINDEX i) const;
01296 PObject * Clone() const;
01297 };
01298
01299
01300
01301
01302
01303
01304 class H501_UpdateInformation;
01305
01306 class H501_ArrayOf_UpdateInformation : public PASN_Array
01307 {
01308 #ifndef PASN_LEANANDMEAN
01309 PCLASSINFO(H501_ArrayOf_UpdateInformation, PASN_Array);
01310 #endif
01311 public:
01312 H501_ArrayOf_UpdateInformation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01313
01314 PASN_Object * CreateObject() const;
01315 H501_UpdateInformation & operator[](PINDEX i) const;
01316 PObject * Clone() const;
01317 };
01318
01319
01320
01321
01322
01323
01324 class H225_GloballyUniqueID;
01325 class H501_Descriptor;
01326
01327 class H501_UpdateInformation_descriptorInfo : public PASN_Choice
01328 {
01329 #ifndef PASN_LEANANDMEAN
01330 PCLASSINFO(H501_UpdateInformation_descriptorInfo, PASN_Choice);
01331 #endif
01332 public:
01333 H501_UpdateInformation_descriptorInfo(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01334
01335 enum Choices {
01336 e_descriptorID,
01337 e_descriptor
01338 };
01339
01340 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01341 operator H225_GloballyUniqueID &() const;
01342 #else
01343 operator H225_GloballyUniqueID &();
01344 operator const H225_GloballyUniqueID &() const;
01345 #endif
01346 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01347 operator H501_Descriptor &() const;
01348 #else
01349 operator H501_Descriptor &();
01350 operator const H501_Descriptor &() const;
01351 #endif
01352
01353 BOOL CreateObject();
01354 PObject * Clone() const;
01355 };
01356
01357
01358
01359
01360
01361
01362 class H501_UpdateInformation_updateType : public PASN_Choice
01363 {
01364 #ifndef PASN_LEANANDMEAN
01365 PCLASSINFO(H501_UpdateInformation_updateType, PASN_Choice);
01366 #endif
01367 public:
01368 H501_UpdateInformation_updateType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01369
01370 enum Choices {
01371 e_added,
01372 e_deleted,
01373 e_changed
01374 };
01375
01376 BOOL CreateObject();
01377 PObject * Clone() const;
01378 };
01379
01380
01381
01382
01383
01384
01385 class H225_SupportedProtocols;
01386
01387 class H501_ArrayOf_SupportedProtocols : public PASN_Array
01388 {
01389 #ifndef PASN_LEANANDMEAN
01390 PCLASSINFO(H501_ArrayOf_SupportedProtocols, PASN_Array);
01391 #endif
01392 public:
01393 H501_ArrayOf_SupportedProtocols(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01394
01395 PASN_Object * CreateObject() const;
01396 H225_SupportedProtocols & operator[](PINDEX i) const;
01397 PObject * Clone() const;
01398 };
01399
01400
01401
01402
01403
01404
01405 class H501_AddressTemplate;
01406
01407 class H501_ArrayOf_AddressTemplate : public PASN_Array
01408 {
01409 #ifndef PASN_LEANANDMEAN
01410 PCLASSINFO(H501_ArrayOf_AddressTemplate, PASN_Array);
01411 #endif
01412 public:
01413 H501_ArrayOf_AddressTemplate(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01414
01415 PASN_Object * CreateObject() const;
01416 H501_AddressTemplate & operator[](PINDEX i) const;
01417 PObject * Clone() const;
01418 };
01419
01420
01421
01422
01423
01424
01425 class H225_ServiceControlSession;
01426
01427 class H501_ArrayOf_ServiceControlSession : public PASN_Array
01428 {
01429 #ifndef PASN_LEANANDMEAN
01430 PCLASSINFO(H501_ArrayOf_ServiceControlSession, PASN_Array);
01431 #endif
01432 public:
01433 H501_ArrayOf_ServiceControlSession(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01434
01435 PASN_Object * CreateObject() const;
01436 H225_ServiceControlSession & operator[](PINDEX i) const;
01437 PObject * Clone() const;
01438 };
01439
01440
01441
01442
01443
01444
01445 class H501_AccessToken;
01446
01447 class H501_ArrayOf_AccessToken : public PASN_Array
01448 {
01449 #ifndef PASN_LEANANDMEAN
01450 PCLASSINFO(H501_ArrayOf_AccessToken, PASN_Array);
01451 #endif
01452 public:
01453 H501_ArrayOf_AccessToken(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01454
01455 PASN_Object * CreateObject() const;
01456 H501_AccessToken & operator[](PINDEX i) const;
01457 PObject * Clone() const;
01458 };
01459
01460
01461
01462
01463
01464
01465 class H501_UsageField;
01466
01467 class H501_ArrayOf_UsageField : public PASN_Array
01468 {
01469 #ifndef PASN_LEANANDMEAN
01470 PCLASSINFO(H501_ArrayOf_UsageField, PASN_Array);
01471 #endif
01472 public:
01473 H501_ArrayOf_UsageField(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01474
01475 PASN_Object * CreateObject() const;
01476 H501_UsageField & operator[](PINDEX i) const;
01477 PObject * Clone() const;
01478 };
01479
01480
01481
01482
01483
01484
01485 class H501_Pattern;
01486
01487 class H501_ArrayOf_Pattern : public PASN_Array
01488 {
01489 #ifndef PASN_LEANANDMEAN
01490 PCLASSINFO(H501_ArrayOf_Pattern, PASN_Array);
01491 #endif
01492 public:
01493 H501_ArrayOf_Pattern(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01494
01495 PASN_Object * CreateObject() const;
01496 H501_Pattern & operator[](PINDEX i) const;
01497 PObject * Clone() const;
01498 };
01499
01500
01501
01502
01503
01504
01505 class H501_RouteInformation;
01506
01507 class H501_ArrayOf_RouteInformation : public PASN_Array
01508 {
01509 #ifndef PASN_LEANANDMEAN
01510 PCLASSINFO(H501_ArrayOf_RouteInformation, PASN_Array);
01511 #endif
01512 public:
01513 H501_ArrayOf_RouteInformation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01514
01515 PASN_Object * CreateObject() const;
01516 H501_RouteInformation & operator[](PINDEX i) const;
01517 PObject * Clone() const;
01518 };
01519
01520
01521
01522
01523
01524
01525 class H501_Pattern_range : public PASN_Sequence
01526 {
01527 #ifndef PASN_LEANANDMEAN
01528 PCLASSINFO(H501_Pattern_range, PASN_Sequence);
01529 #endif
01530 public:
01531 H501_Pattern_range(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01532
01533 H225_PartyNumber m_startOfRange;
01534 H225_PartyNumber m_endOfRange;
01535
01536 PINDEX GetDataLength() const;
01537 BOOL Decode(PASN_Stream & strm);
01538 void Encode(PASN_Stream & strm) const;
01539 #ifndef PASN_NOPRINTON
01540 void PrintOn(ostream & strm) const;
01541 #endif
01542 Comparison Compare(const PObject & obj) const;
01543 PObject * Clone() const;
01544 };
01545
01546
01547
01548
01549
01550
01551 class H501_RouteInformation_messageType : public PASN_Choice
01552 {
01553 #ifndef PASN_LEANANDMEAN
01554 PCLASSINFO(H501_RouteInformation_messageType, PASN_Choice);
01555 #endif
01556 public:
01557 H501_RouteInformation_messageType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01558
01559 enum Choices {
01560 e_sendAccessRequest,
01561 e_sendSetup,
01562 e_nonExistent
01563 };
01564
01565 BOOL CreateObject();
01566 PObject * Clone() const;
01567 };
01568
01569
01570
01571
01572
01573
01574 class H501_PriceInfoSpec;
01575
01576 class H501_ArrayOf_PriceInfoSpec : public PASN_Array
01577 {
01578 #ifndef PASN_LEANANDMEAN
01579 PCLASSINFO(H501_ArrayOf_PriceInfoSpec, PASN_Array);
01580 #endif
01581 public:
01582 H501_ArrayOf_PriceInfoSpec(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01583
01584 PASN_Object * CreateObject() const;
01585 H501_PriceInfoSpec & operator[](PINDEX i) const;
01586 PObject * Clone() const;
01587 };
01588
01589
01590
01591
01592
01593
01594 class H501_ContactInformation;
01595
01596 class H501_ArrayOf_ContactInformation : public PASN_Array
01597 {
01598 #ifndef PASN_LEANANDMEAN
01599 PCLASSINFO(H501_ArrayOf_ContactInformation, PASN_Array);
01600 #endif
01601 public:
01602 H501_ArrayOf_ContactInformation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01603
01604 PASN_Object * CreateObject() const;
01605 H501_ContactInformation & operator[](PINDEX i) const;
01606 PObject * Clone() const;
01607 };
01608
01609
01610
01611
01612
01613
01614 class H225_CircuitIdentifier;
01615
01616 class H501_ArrayOf_CircuitIdentifier : public PASN_Array
01617 {
01618 #ifndef PASN_LEANANDMEAN
01619 PCLASSINFO(H501_ArrayOf_CircuitIdentifier, PASN_Array);
01620 #endif
01621 public:
01622 H501_ArrayOf_CircuitIdentifier(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01623
01624 PASN_Object * CreateObject() const;
01625 H225_CircuitIdentifier & operator[](PINDEX i) const;
01626 PObject * Clone() const;
01627 };
01628
01629
01630
01631
01632
01633
01634 class H501_PriceElement;
01635
01636 class H501_ArrayOf_PriceElement : public PASN_Array
01637 {
01638 #ifndef PASN_LEANANDMEAN
01639 PCLASSINFO(H501_ArrayOf_PriceElement, PASN_Array);
01640 #endif
01641 public:
01642 H501_ArrayOf_PriceElement(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01643
01644 PASN_Object * CreateObject() const;
01645 H501_PriceElement & operator[](PINDEX i) const;
01646 PObject * Clone() const;
01647 };
01648
01649
01650
01651
01652
01653
01654 class H501_PriceElement_units : public PASN_Choice
01655 {
01656 #ifndef PASN_LEANANDMEAN
01657 PCLASSINFO(H501_PriceElement_units, PASN_Choice);
01658 #endif
01659 public:
01660 H501_PriceElement_units(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01661
01662 enum Choices {
01663 e_seconds,
01664 e_packets,
01665 e_bytes,
01666 e_initial,
01667 e_minimum,
01668 e_maximum
01669 };
01670
01671 BOOL CreateObject();
01672 PObject * Clone() const;
01673 };
01674
01675
01676
01677
01678
01679
01680 class H501_AlternatePE;
01681
01682 class H501_ArrayOf_AlternatePE : public PASN_Array
01683 {
01684 #ifndef PASN_LEANANDMEAN
01685 PCLASSINFO(H501_ArrayOf_AlternatePE, PASN_Array);
01686 #endif
01687 public:
01688 H501_ArrayOf_AlternatePE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01689
01690 PASN_Object * CreateObject() const;
01691 H501_AlternatePE & operator[](PINDEX i) const;
01692 PObject * Clone() const;
01693 };
01694
01695
01696
01697
01698
01699
01700 class H501_UsageSpecification_when : public PASN_Sequence
01701 {
01702 #ifndef PASN_LEANANDMEAN
01703 PCLASSINFO(H501_UsageSpecification_when, PASN_Sequence);
01704 #endif
01705 public:
01706 H501_UsageSpecification_when(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01707
01708 enum OptionalFields {
01709 e_never,
01710 e_start,
01711 e_end,
01712 e_period,
01713 e_failures
01714 };
01715
01716 PASN_Null m_never;
01717 PASN_Null m_start;
01718 PASN_Null m_end;
01719 PASN_Integer m_period;
01720 PASN_Null m_failures;
01721
01722 PINDEX GetDataLength() const;
01723 BOOL Decode(PASN_Stream & strm);
01724 void Encode(PASN_Stream & strm) const;
01725 #ifndef PASN_NOPRINTON
01726 void PrintOn(ostream & strm) const;
01727 #endif
01728 Comparison Compare(const PObject & obj) const;
01729 PObject * Clone() const;
01730 };
01731
01732
01733
01734
01735
01736
01737 class H225_AliasAddress;
01738
01739 class H501_ArrayOf_AliasAddress : public PASN_Array
01740 {
01741 #ifndef PASN_LEANANDMEAN
01742 PCLASSINFO(H501_ArrayOf_AliasAddress, PASN_Array);
01743 #endif
01744 public:
01745 H501_ArrayOf_AliasAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01746
01747 PASN_Object * CreateObject() const;
01748 H225_AliasAddress & operator[](PINDEX i) const;
01749 PObject * Clone() const;
01750 };
01751
01752
01753
01754
01755
01756
01757 class H501_MessageCommonInfo : public PASN_Sequence
01758 {
01759 #ifndef PASN_LEANANDMEAN
01760 PCLASSINFO(H501_MessageCommonInfo, PASN_Sequence);
01761 #endif
01762 public:
01763 H501_MessageCommonInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01764
01765 enum OptionalFields {
01766 e_replyAddress,
01767 e_integrityCheckValue,
01768 e_tokens,
01769 e_cryptoTokens,
01770 e_nonStandard,
01771 e_serviceID,
01772 e_genericData,
01773 e_featureSet,
01774 e_version
01775 };
01776
01777 PASN_Integer m_sequenceNumber;
01778 H501_ProtocolVersion m_annexGversion;
01779 PASN_Integer m_hopCount;
01780 H501_ArrayOf_TransportAddress m_replyAddress;
01781 H225_ICV m_integrityCheckValue;
01782 H501_ArrayOf_ClearToken m_tokens;
01783 H501_ArrayOf_CryptoH323Token m_cryptoTokens;
01784 H501_ArrayOf_NonStandardParameter m_nonStandard;
01785 H225_GloballyUniqueID m_serviceID;
01786 H501_ArrayOf_GenericData m_genericData;
01787 H225_FeatureSet m_featureSet;
01788 H501_ProtocolVersion m_version;
01789
01790 PINDEX GetDataLength() const;
01791 BOOL Decode(PASN_Stream & strm);
01792 void Encode(PASN_Stream & strm) const;
01793 #ifndef PASN_NOPRINTON
01794 void PrintOn(ostream & strm) const;
01795 #endif
01796 Comparison Compare(const PObject & obj) const;
01797 PObject * Clone() const;
01798 };
01799
01800
01801
01802
01803
01804
01805 class H501_SecurityMode : public PASN_Sequence
01806 {
01807 #ifndef PASN_LEANANDMEAN
01808 PCLASSINFO(H501_SecurityMode, PASN_Sequence);
01809 #endif
01810 public:
01811 H501_SecurityMode(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01812
01813 enum OptionalFields {
01814 e_authentication,
01815 e_integrity,
01816 e_algorithmOIDs
01817 };
01818
01819 H235_AuthenticationMechanism m_authentication;
01820 H225_IntegrityMechanism m_integrity;
01821 H501_ArrayOf_PASN_ObjectId m_algorithmOIDs;
01822
01823 PINDEX GetDataLength() const;
01824 BOOL Decode(PASN_Stream & strm);
01825 void Encode(PASN_Stream & strm) const;
01826 #ifndef PASN_NOPRINTON
01827 void PrintOn(ostream & strm) const;
01828 #endif
01829 Comparison Compare(const PObject & obj) const;
01830 PObject * Clone() const;
01831 };
01832
01833
01834
01835
01836
01837
01838 class H501_DescriptorRequest : public PASN_Sequence
01839 {
01840 #ifndef PASN_LEANANDMEAN
01841 PCLASSINFO(H501_DescriptorRequest, PASN_Sequence);
01842 #endif
01843 public:
01844 H501_DescriptorRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01845
01846 H501_ArrayOf_GloballyUniqueID m_descriptorID;
01847
01848 PINDEX GetDataLength() const;
01849 BOOL Decode(PASN_Stream & strm);
01850 void Encode(PASN_Stream & strm) const;
01851 #ifndef PASN_NOPRINTON
01852 void PrintOn(ostream & strm) const;
01853 #endif
01854 Comparison Compare(const PObject & obj) const;
01855 PObject * Clone() const;
01856 };
01857
01858
01859
01860
01861
01862
01863 class H501_DescriptorConfirmation : public PASN_Sequence
01864 {
01865 #ifndef PASN_LEANANDMEAN
01866 PCLASSINFO(H501_DescriptorConfirmation, PASN_Sequence);
01867 #endif
01868 public:
01869 H501_DescriptorConfirmation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01870
01871 H501_ArrayOf_Descriptor m_descriptor;
01872
01873 PINDEX GetDataLength() const;
01874 BOOL Decode(PASN_Stream & strm);
01875 void Encode(PASN_Stream & strm) const;
01876 #ifndef PASN_NOPRINTON
01877 void PrintOn(ostream & strm) const;
01878 #endif
01879 Comparison Compare(const PObject & obj) const;
01880 PObject * Clone() const;
01881 };
01882
01883
01884
01885
01886
01887
01888 class H501_DescriptorRejection : public PASN_Sequence
01889 {
01890 #ifndef PASN_LEANANDMEAN
01891 PCLASSINFO(H501_DescriptorRejection, PASN_Sequence);
01892 #endif
01893 public:
01894 H501_DescriptorRejection(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01895
01896 enum OptionalFields {
01897 e_descriptorID
01898 };
01899
01900 H501_DescriptorRejectionReason m_reason;
01901 H225_GloballyUniqueID m_descriptorID;
01902
01903 PINDEX GetDataLength() const;
01904 BOOL Decode(PASN_Stream & strm);
01905 void Encode(PASN_Stream & strm) const;
01906 #ifndef PASN_NOPRINTON
01907 void PrintOn(ostream & strm) const;
01908 #endif
01909 Comparison Compare(const PObject & obj) const;
01910 PObject * Clone() const;
01911 };
01912
01913
01914
01915
01916
01917
01918 class H501_DescriptorIDConfirmation : public PASN_Sequence
01919 {
01920 #ifndef PASN_LEANANDMEAN
01921 PCLASSINFO(H501_DescriptorIDConfirmation, PASN_Sequence);
01922 #endif
01923 public:
01924 H501_DescriptorIDConfirmation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01925
01926 H501_ArrayOf_DescriptorInfo m_descriptorInfo;
01927
01928 PINDEX GetDataLength() const;
01929 BOOL Decode(PASN_Stream & strm);
01930 void Encode(PASN_Stream & strm) const;
01931 #ifndef PASN_NOPRINTON
01932 void PrintOn(ostream & strm) const;
01933 #endif
01934 Comparison Compare(const PObject & obj) const;
01935 PObject * Clone() const;
01936 };
01937
01938
01939
01940
01941
01942
01943 class H501_DescriptorIDRejection : public PASN_Sequence
01944 {
01945 #ifndef PASN_LEANANDMEAN
01946 PCLASSINFO(H501_DescriptorIDRejection, PASN_Sequence);
01947 #endif
01948 public:
01949 H501_DescriptorIDRejection(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01950
01951 H501_DescriptorIDRejectionReason m_reason;
01952
01953 PINDEX GetDataLength() const;
01954 BOOL Decode(PASN_Stream & strm);
01955 void Encode(PASN_Stream & strm) const;
01956 #ifndef PASN_NOPRINTON
01957 void PrintOn(ostream & strm) const;
01958 #endif
01959 Comparison Compare(const PObject & obj) const;
01960 PObject * Clone() const;
01961 };
01962
01963
01964
01965
01966
01967
01968 class H501_DescriptorUpdate : public PASN_Sequence
01969 {
01970 #ifndef PASN_LEANANDMEAN
01971 PCLASSINFO(H501_DescriptorUpdate, PASN_Sequence);
01972 #endif
01973 public:
01974 H501_DescriptorUpdate(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01975
01976 H225_AliasAddress m_sender;
01977 H501_ArrayOf_UpdateInformation m_updateInfo;
01978
01979 PINDEX GetDataLength() const;
01980 BOOL Decode(PASN_Stream & strm);
01981 void Encode(PASN_Stream & strm) const;
01982 #ifndef PASN_NOPRINTON
01983 void PrintOn(ostream & strm) const;
01984 #endif
01985 Comparison Compare(const PObject & obj) const;
01986 PObject * Clone() const;
01987 };
01988
01989
01990
01991
01992
01993
01994 class H501_UpdateInformation : public PASN_Sequence
01995 {
01996 #ifndef PASN_LEANANDMEAN
01997 PCLASSINFO(H501_UpdateInformation, PASN_Sequence);
01998 #endif
01999 public:
02000 H501_UpdateInformation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02001
02002 H501_UpdateInformation_descriptorInfo m_descriptorInfo;
02003 H501_UpdateInformation_updateType m_updateType;
02004
02005 PINDEX GetDataLength() const;
02006 BOOL Decode(PASN_Stream & strm);
02007 void Encode(PASN_Stream & strm) const;
02008 #ifndef PASN_NOPRINTON
02009 void PrintOn(ostream & strm) const;
02010 #endif
02011 Comparison Compare(const PObject & obj) const;
02012 PObject * Clone() const;
02013 };
02014
02015
02016
02017
02018
02019
02020 class H501_AccessConfirmation : public PASN_Sequence
02021 {
02022 #ifndef PASN_LEANANDMEAN
02023 PCLASSINFO(H501_AccessConfirmation, PASN_Sequence);
02024 #endif
02025 public:
02026 H501_AccessConfirmation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02027
02028 enum OptionalFields {
02029 e_supportedProtocols,
02030 e_serviceControl
02031 };
02032
02033 H501_ArrayOf_AddressTemplate m_templates;
02034 PASN_Boolean m_partialResponse;
02035 H501_ArrayOf_SupportedProtocols m_supportedProtocols;
02036 H501_ArrayOf_ServiceControlSession m_serviceControl;
02037
02038 PINDEX GetDataLength() const;
02039 BOOL Decode(PASN_Stream & strm);
02040 void Encode(PASN_Stream & strm) const;
02041 #ifndef PASN_NOPRINTON
02042 void PrintOn(ostream & strm) const;
02043 #endif
02044 Comparison Compare(const PObject & obj) const;
02045 PObject * Clone() const;
02046 };
02047
02048
02049
02050
02051
02052
02053 class H501_AccessRejection : public PASN_Sequence
02054 {
02055 #ifndef PASN_LEANANDMEAN
02056 PCLASSINFO(H501_AccessRejection, PASN_Sequence);
02057 #endif
02058 public:
02059 H501_AccessRejection(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02060
02061 enum OptionalFields {
02062 e_serviceControl
02063 };
02064
02065 H501_AccessRejectionReason m_reason;
02066 H501_ArrayOf_ServiceControlSession m_serviceControl;
02067
02068 PINDEX GetDataLength() const;
02069 BOOL Decode(PASN_Stream & strm);
02070 void Encode(PASN_Stream & strm) const;
02071 #ifndef PASN_NOPRINTON
02072 void PrintOn(ostream & strm) const;
02073 #endif
02074 Comparison Compare(const PObject & obj) const;
02075 PObject * Clone() const;
02076 };
02077
02078
02079
02080
02081
02082
02083 class H501_UsageRejection : public PASN_Sequence
02084 {
02085 #ifndef PASN_LEANANDMEAN
02086 PCLASSINFO(H501_UsageRejection, PASN_Sequence);
02087 #endif
02088 public:
02089 H501_UsageRejection(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02090
02091 H501_UsageRejectReason m_reason;
02092
02093 PINDEX GetDataLength() const;
02094 BOOL Decode(PASN_Stream & strm);
02095 void Encode(PASN_Stream & strm) const;
02096 #ifndef PASN_NOPRINTON
02097 void PrintOn(ostream & strm) const;
02098 #endif
02099 Comparison Compare(const PObject & obj) const;
02100 PObject * Clone() const;
02101 };
02102
02103
02104
02105
02106
02107
02108 class H501_UsageIndicationRejection : public PASN_Sequence
02109 {
02110 #ifndef PASN_LEANANDMEAN
02111 PCLASSINFO(H501_UsageIndicationRejection, PASN_Sequence);
02112 #endif
02113 public:
02114 H501_UsageIndicationRejection(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02115
02116 H501_UsageIndicationRejectionReason m_reason;
02117
02118 PINDEX GetDataLength() const;
02119 BOOL Decode(PASN_Stream & strm);
02120 void Encode(PASN_Stream & strm) const;
02121 #ifndef PASN_NOPRINTON
02122 void PrintOn(ostream & strm) const;
02123 #endif
02124 Comparison Compare(const PObject & obj) const;
02125 PObject * Clone() const;
02126 };
02127
02128
02129
02130
02131
02132
02133 class H501_ValidationRejection : public PASN_Sequence
02134 {
02135 #ifndef PASN_LEANANDMEAN
02136 PCLASSINFO(H501_ValidationRejection, PASN_Sequence);
02137 #endif
02138 public:
02139 H501_ValidationRejection(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02140
02141 H501_ValidationRejectionReason m_reason;
02142
02143 PINDEX GetDataLength() const;
02144 BOOL Decode(PASN_Stream & strm);
02145 void Encode(PASN_Stream & strm) const;
02146 #ifndef PASN_NOPRINTON
02147 void PrintOn(ostream & strm) const;
02148 #endif
02149 Comparison Compare(const PObject & obj) const;
02150 PObject * Clone() const;
02151 };
02152
02153
02154
02155
02156
02157
02158 class H501_RequestInProgress : public PASN_Sequence
02159 {
02160 #ifndef PASN_LEANANDMEAN
02161 PCLASSINFO(H501_RequestInProgress, PASN_Sequence);
02162 #endif
02163 public:
02164 H501_RequestInProgress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02165
02166 enum OptionalFields {
02167 e_serviceControl
02168 };
02169
02170 PASN_Integer m_delay;
02171 H501_ArrayOf_ServiceControlSession m_serviceControl;
02172
02173 PINDEX GetDataLength() const;
02174 BOOL Decode(PASN_Stream & strm);
02175 void Encode(PASN_Stream & strm) const;
02176 #ifndef PASN_NOPRINTON
02177 void PrintOn(ostream & strm) const;
02178 #endif
02179 Comparison Compare(const PObject & obj) const;
02180 PObject * Clone() const;
02181 };
02182
02183
02184
02185
02186
02187
02188 class H501_NonStandardRejection : public PASN_Sequence
02189 {
02190 #ifndef PASN_LEANANDMEAN
02191 PCLASSINFO(H501_NonStandardRejection, PASN_Sequence);
02192 #endif
02193 public:
02194 H501_NonStandardRejection(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02195
02196 H501_NonStandardRejectionReason m_reason;
02197
02198 PINDEX GetDataLength() const;
02199 BOOL Decode(PASN_Stream & strm);
02200 void Encode(PASN_Stream & strm) const;
02201 #ifndef PASN_NOPRINTON
02202 void PrintOn(ostream & strm) const;
02203 #endif
02204 Comparison Compare(const PObject & obj) const;
02205 PObject * Clone() const;
02206 };
02207
02208
02209
02210
02211
02212
02213 class H501_UnknownMessageResponse : public PASN_Sequence
02214 {
02215 #ifndef PASN_LEANANDMEAN
02216 PCLASSINFO(H501_UnknownMessageResponse, PASN_Sequence);
02217 #endif
02218 public:
02219 H501_UnknownMessageResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02220
02221 PASN_OctetString m_unknownMessage;
02222 H501_UnknownMessageReason m_reason;
02223
02224 PINDEX GetDataLength() const;
02225 BOOL Decode(PASN_Stream & strm);
02226 void Encode(PASN_Stream & strm) const;
02227 #ifndef PASN_NOPRINTON
02228 void PrintOn(ostream & strm) const;
02229 #endif
02230 Comparison Compare(const PObject & obj) const;
02231 PObject * Clone() const;
02232 };
02233
02234
02235
02236
02237
02238
02239 class H501_AuthenticationRequest : public PASN_Sequence
02240 {
02241 #ifndef PASN_LEANANDMEAN
02242 PCLASSINFO(H501_AuthenticationRequest, PASN_Sequence);
02243 #endif
02244 public:
02245 H501_AuthenticationRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02246
02247 H501_ApplicationMessage m_applicationMessage;
02248
02249 PINDEX GetDataLength() const;
02250 BOOL Decode(PASN_Stream & strm);
02251 void Encode(PASN_Stream & strm) const;
02252 #ifndef PASN_NOPRINTON
02253 void PrintOn(ostream & strm) const;
02254 #endif
02255 Comparison Compare(const PObject & obj) const;
02256 PObject * Clone() const;
02257 };
02258
02259
02260
02261
02262
02263
02264 class H501_AuthenticationRejection : public PASN_Sequence
02265 {
02266 #ifndef PASN_LEANANDMEAN
02267 PCLASSINFO(H501_AuthenticationRejection, PASN_Sequence);
02268 #endif
02269 public:
02270 H501_AuthenticationRejection(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02271
02272 H501_AuthenticationRejectionReason m_reason;
02273
02274 PINDEX GetDataLength() const;
02275 BOOL Decode(PASN_Stream & strm);
02276 void Encode(PASN_Stream & strm) const;
02277 #ifndef PASN_NOPRINTON
02278 void PrintOn(ostream & strm) const;
02279 #endif
02280 Comparison Compare(const PObject & obj) const;
02281 PObject * Clone() const;
02282 };
02283
02284
02285
02286
02287
02288
02289 class H501_AddressTemplate : public PASN_Sequence
02290 {
02291 #ifndef PASN_LEANANDMEAN
02292 PCLASSINFO(H501_AddressTemplate, PASN_Sequence);
02293 #endif
02294 public:
02295 H501_AddressTemplate(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02296
02297 enum OptionalFields {
02298 e_supportedProtocols,
02299 e_featureSet
02300 };
02301
02302 H501_ArrayOf_Pattern m_pattern;
02303 H501_ArrayOf_RouteInformation m_routeInfo;
02304 PASN_Integer m_timeToLive;
02305 H501_ArrayOf_SupportedProtocols m_supportedProtocols;
02306 H225_FeatureSet m_featureSet;
02307
02308 PINDEX GetDataLength() const;
02309 BOOL Decode(PASN_Stream & strm);
02310 void Encode(PASN_Stream & strm) const;
02311 #ifndef PASN_NOPRINTON
02312 void PrintOn(ostream & strm) const;
02313 #endif
02314 Comparison Compare(const PObject & obj) const;
02315 PObject * Clone() const;
02316 };
02317
02318
02319
02320
02321
02322
02323 class H501_ContactInformation : public PASN_Sequence
02324 {
02325 #ifndef PASN_LEANANDMEAN
02326 PCLASSINFO(H501_ContactInformation, PASN_Sequence);
02327 #endif
02328 public:
02329 H501_ContactInformation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02330
02331 enum OptionalFields {
02332 e_transportQoS,
02333 e_security,
02334 e_accessTokens,
02335 e_multipleCalls,
02336 e_featureSet,
02337 e_circuitID,
02338 e_supportedCircuits
02339 };
02340
02341 H225_AliasAddress m_transportAddress;
02342 PASN_Integer m_priority;
02343 H225_TransportQOS m_transportQoS;
02344 H501_ArrayOf_SecurityMode m_security;
02345 H501_ArrayOf_AccessToken m_accessTokens;
02346 PASN_Boolean m_multipleCalls;
02347 H225_FeatureSet m_featureSet;
02348 H225_CircuitInfo m_circuitID;
02349 H501_ArrayOf_CircuitIdentifier m_supportedCircuits;
02350
02351 PINDEX GetDataLength() const;
02352 BOOL Decode(PASN_Stream & strm);
02353 void Encode(PASN_Stream & strm) const;
02354 #ifndef PASN_NOPRINTON
02355 void PrintOn(ostream & strm) const;
02356 #endif
02357 Comparison Compare(const PObject & obj) const;
02358 PObject * Clone() const;
02359 };
02360
02361
02362
02363
02364
02365
02366 class H501_PriceInfoSpec : public PASN_Sequence
02367 {
02368 #ifndef PASN_LEANANDMEAN
02369 PCLASSINFO(H501_PriceInfoSpec, PASN_Sequence);
02370 #endif
02371 public:
02372 H501_PriceInfoSpec(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02373
02374 enum OptionalFields {
02375 e_validFrom,
02376 e_validUntil,
02377 e_hoursFrom,
02378 e_hoursUntil,
02379 e_priceElement,
02380 e_priceFormula
02381 };
02382
02383 PASN_IA5String m_currency;
02384 PASN_Integer m_currencyScale;
02385 H501_GlobalTimeStamp m_validFrom;
02386 H501_GlobalTimeStamp m_validUntil;
02387 PASN_IA5String m_hoursFrom;
02388 PASN_IA5String m_hoursUntil;
02389 H501_ArrayOf_PriceElement m_priceElement;
02390 PASN_IA5String m_priceFormula;
02391
02392 PINDEX GetDataLength() const;
02393 BOOL Decode(PASN_Stream & strm);
02394 void Encode(PASN_Stream & strm) const;
02395 #ifndef PASN_NOPRINTON
02396 void PrintOn(ostream & strm) const;
02397 #endif
02398 Comparison Compare(const PObject & obj) const;
02399 PObject * Clone() const;
02400 };
02401
02402
02403
02404
02405
02406
02407 class H501_PriceElement : public PASN_Sequence
02408 {
02409 #ifndef PASN_LEANANDMEAN
02410 PCLASSINFO(H501_PriceElement, PASN_Sequence);
02411 #endif
02412 public:
02413 H501_PriceElement(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02414
02415 PASN_Integer m_amount;
02416 PASN_Integer m_quantum;
02417 H501_PriceElement_units m_units;
02418
02419 PINDEX GetDataLength() const;
02420 BOOL Decode(PASN_Stream & strm);
02421 void Encode(PASN_Stream & strm) const;
02422 #ifndef PASN_NOPRINTON
02423 void PrintOn(ostream & strm) const;
02424 #endif
02425 Comparison Compare(const PObject & obj) const;
02426 PObject * Clone() const;
02427 };
02428
02429
02430
02431
02432
02433
02434 class H501_DescriptorInfo : public PASN_Sequence
02435 {
02436 #ifndef PASN_LEANANDMEAN
02437 PCLASSINFO(H501_DescriptorInfo, PASN_Sequence);
02438 #endif
02439 public:
02440 H501_DescriptorInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02441
02442 H225_GloballyUniqueID m_descriptorID;
02443 H501_GlobalTimeStamp m_lastChanged;
02444
02445 PINDEX GetDataLength() const;
02446 BOOL Decode(PASN_Stream & strm);
02447 void Encode(PASN_Stream & strm) const;
02448 #ifndef PASN_NOPRINTON
02449 void PrintOn(ostream & strm) const;
02450 #endif
02451 Comparison Compare(const PObject & obj) const;
02452 PObject * Clone() const;
02453 };
02454
02455
02456
02457
02458
02459
02460 class H501_AlternatePEInfo : public PASN_Sequence
02461 {
02462 #ifndef PASN_LEANANDMEAN
02463 PCLASSINFO(H501_AlternatePEInfo, PASN_Sequence);
02464 #endif
02465 public:
02466 H501_AlternatePEInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02467
02468 H501_ArrayOf_AlternatePE m_alternatePE;
02469 PASN_Boolean m_alternateIsPermanent;
02470
02471 PINDEX GetDataLength() const;
02472 BOOL Decode(PASN_Stream & strm);
02473 void Encode(PASN_Stream & strm) const;
02474 #ifndef PASN_NOPRINTON
02475 void PrintOn(ostream & strm) const;
02476 #endif
02477 Comparison Compare(const PObject & obj) const;
02478 PObject * Clone() const;
02479 };
02480
02481
02482
02483
02484
02485
02486 class H501_AlternatePE : public PASN_Sequence
02487 {
02488 #ifndef PASN_LEANANDMEAN
02489 PCLASSINFO(H501_AlternatePE, PASN_Sequence);
02490 #endif
02491 public:
02492 H501_AlternatePE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02493
02494 enum OptionalFields {
02495 e_elementIdentifier
02496 };
02497
02498 H225_AliasAddress m_contactAddress;
02499 PASN_Integer m_priority;
02500 H501_ElementIdentifier m_elementIdentifier;
02501
02502 PINDEX GetDataLength() const;
02503 BOOL Decode(PASN_Stream & strm);
02504 void Encode(PASN_Stream & strm) const;
02505 #ifndef PASN_NOPRINTON
02506 void PrintOn(ostream & strm) const;
02507 #endif
02508 Comparison Compare(const PObject & obj) const;
02509 PObject * Clone() const;
02510 };
02511
02512
02513
02514
02515
02516
02517 class H501_UserInformation : public PASN_Sequence
02518 {
02519 #ifndef PASN_LEANANDMEAN
02520 PCLASSINFO(H501_UserInformation, PASN_Sequence);
02521 #endif
02522 public:
02523 H501_UserInformation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02524
02525 enum OptionalFields {
02526 e_userAuthenticator
02527 };
02528
02529 H225_AliasAddress m_userIdentifier;
02530 H501_ArrayOf_CryptoH323Token m_userAuthenticator;
02531
02532 PINDEX GetDataLength() const;
02533 BOOL Decode(PASN_Stream & strm);
02534 void Encode(PASN_Stream & strm) const;
02535 #ifndef PASN_NOPRINTON
02536 void PrintOn(ostream & strm) const;
02537 #endif
02538 Comparison Compare(const PObject & obj) const;
02539 PObject * Clone() const;
02540 };
02541
02542
02543
02544
02545
02546
02547 class H501_UsageSpecification : public PASN_Sequence
02548 {
02549 #ifndef PASN_LEANANDMEAN
02550 PCLASSINFO(H501_UsageSpecification, PASN_Sequence);
02551 #endif
02552 public:
02553 H501_UsageSpecification(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02554
02555 enum OptionalFields {
02556 e_sendToPEAddress
02557 };
02558
02559 H501_ElementIdentifier m_sendTo;
02560 H501_UsageSpecification_when m_when;
02561 H501_ArrayOf_PASN_ObjectId m_required;
02562 H501_ArrayOf_PASN_ObjectId m_preferred;
02563 H225_AliasAddress m_sendToPEAddress;
02564
02565 PINDEX GetDataLength() const;
02566 BOOL Decode(PASN_Stream & strm);
02567 void Encode(PASN_Stream & strm) const;
02568 #ifndef PASN_NOPRINTON
02569 void PrintOn(ostream & strm) const;
02570 #endif
02571 Comparison Compare(const PObject & obj) const;
02572 PObject * Clone() const;
02573 };
02574
02575
02576
02577
02578
02579
02580 class H501_PartyInformation : public PASN_Sequence
02581 {
02582 #ifndef PASN_LEANANDMEAN
02583 PCLASSINFO(H501_PartyInformation, PASN_Sequence);
02584 #endif
02585 public:
02586 H501_PartyInformation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02587
02588 enum OptionalFields {
02589 e_domainIdentifier,
02590 e_transportAddress,
02591 e_endpointType,
02592 e_userInfo,
02593 e_timeZone
02594 };
02595
02596 H501_ArrayOf_AliasAddress m_logicalAddresses;
02597 H225_AliasAddress m_domainIdentifier;
02598 H225_AliasAddress m_transportAddress;
02599 H225_EndpointType m_endpointType;
02600 H501_UserInformation m_userInfo;
02601 H501_TimeZone m_timeZone;
02602
02603 PINDEX GetDataLength() const;
02604 BOOL Decode(PASN_Stream & strm);
02605 void Encode(PASN_Stream & strm) const;
02606 #ifndef PASN_NOPRINTON
02607 void PrintOn(ostream & strm) const;
02608 #endif
02609 Comparison Compare(const PObject & obj) const;
02610 PObject * Clone() const;
02611 };
02612
02613
02614
02615
02616
02617
02618 class H501_Message : public PASN_Sequence
02619 {
02620 #ifndef PASN_LEANANDMEAN
02621 PCLASSINFO(H501_Message, PASN_Sequence);
02622 #endif
02623 public:
02624 H501_Message(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02625
02626 H501_MessageBody m_body;
02627 H501_MessageCommonInfo m_common;
02628
02629 PINDEX GetDataLength() const;
02630 BOOL Decode(PASN_Stream & strm);
02631 void Encode(PASN_Stream & strm) const;
02632 #ifndef PASN_NOPRINTON
02633 void PrintOn(ostream & strm) const;
02634 #endif
02635 Comparison Compare(const PObject & obj) const;
02636 PObject * Clone() const;
02637 };
02638
02639
02640
02641
02642
02643
02644 class H501_ServiceRequest : public PASN_Sequence
02645 {
02646 #ifndef PASN_LEANANDMEAN
02647 PCLASSINFO(H501_ServiceRequest, PASN_Sequence);
02648 #endif
02649 public:
02650 H501_ServiceRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02651
02652 enum OptionalFields {
02653 e_elementIdentifier,
02654 e_domainIdentifier,
02655 e_securityMode,
02656 e_timeToLive,
02657 e_usageSpec
02658 };
02659
02660 H501_ElementIdentifier m_elementIdentifier;
02661 H225_AliasAddress m_domainIdentifier;
02662 H501_ArrayOf_SecurityMode m_securityMode;
02663 PASN_Integer m_timeToLive;
02664 H501_UsageSpecification m_usageSpec;
02665
02666 PINDEX GetDataLength() const;
02667 BOOL Decode(PASN_Stream & strm);
02668 void Encode(PASN_Stream & strm) const;
02669 #ifndef PASN_NOPRINTON
02670 void PrintOn(ostream & strm) const;
02671 #endif
02672 Comparison Compare(const PObject & obj) const;
02673 PObject * Clone() const;
02674 };
02675
02676
02677
02678
02679
02680
02681 class H501_ServiceConfirmation : public PASN_Sequence
02682 {
02683 #ifndef PASN_LEANANDMEAN
02684 PCLASSINFO(H501_ServiceConfirmation, PASN_Sequence);
02685 #endif
02686 public:
02687 H501_ServiceConfirmation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02688
02689 enum OptionalFields {
02690 e_alternates,
02691 e_securityMode,
02692 e_timeToLive,
02693 e_usageSpec
02694 };
02695
02696 H501_ElementIdentifier m_elementIdentifier;
02697 H225_AliasAddress m_domainIdentifier;
02698 H501_AlternatePEInfo m_alternates;
02699 H501_SecurityMode m_securityMode;
02700 PASN_Integer m_timeToLive;
02701 H501_UsageSpecification m_usageSpec;
02702
02703 PINDEX GetDataLength() const;
02704 BOOL Decode(PASN_Stream & strm);
02705 void Encode(PASN_Stream & strm) const;
02706 #ifndef PASN_NOPRINTON
02707 void PrintOn(ostream & strm) const;
02708 #endif
02709 Comparison Compare(const PObject & obj) const;
02710 PObject * Clone() const;
02711 };
02712
02713
02714
02715
02716
02717
02718 class H501_ServiceRejection : public PASN_Sequence
02719 {
02720 #ifndef PASN_LEANANDMEAN
02721 PCLASSINFO(H501_ServiceRejection, PASN_Sequence);
02722 #endif
02723 public:
02724 H501_ServiceRejection(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02725
02726 enum OptionalFields {
02727 e_alternates
02728 };
02729
02730 H501_ServiceRejectionReason m_reason;
02731 H501_AlternatePEInfo m_alternates;
02732
02733 PINDEX GetDataLength() const;
02734 BOOL Decode(PASN_Stream & strm);
02735 void Encode(PASN_Stream & strm) const;
02736 #ifndef PASN_NOPRINTON
02737 void PrintOn(ostream & strm) const;
02738 #endif
02739 Comparison Compare(const PObject & obj) const;
02740 PObject * Clone() const;
02741 };
02742
02743
02744
02745
02746
02747
02748 class H501_ServiceRelease : public PASN_Sequence
02749 {
02750 #ifndef PASN_LEANANDMEAN
02751 PCLASSINFO(H501_ServiceRelease, PASN_Sequence);
02752 #endif
02753 public:
02754 H501_ServiceRelease(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02755
02756 enum OptionalFields {
02757 e_alternates
02758 };
02759
02760 H501_ServiceReleaseReason m_reason;
02761 H501_AlternatePEInfo m_alternates;
02762
02763 PINDEX GetDataLength() const;
02764 BOOL Decode(PASN_Stream & strm);
02765 void Encode(PASN_Stream & strm) const;
02766 #ifndef PASN_NOPRINTON
02767 void PrintOn(ostream & strm) const;
02768 #endif
02769 Comparison Compare(const PObject & obj) const;
02770 PObject * Clone() const;
02771 };
02772
02773
02774
02775
02776
02777
02778 class H501_AccessRequest : public PASN_Sequence
02779 {
02780 #ifndef PASN_LEANANDMEAN
02781 PCLASSINFO(H501_AccessRequest, PASN_Sequence);
02782 #endif
02783 public:
02784 H501_AccessRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02785
02786 enum OptionalFields {
02787 e_sourceInfo,
02788 e_callInfo,
02789 e_usageSpec,
02790 e_desiredProtocols
02791 };
02792
02793 H501_PartyInformation m_destinationInfo;
02794 H501_PartyInformation m_sourceInfo;
02795 H501_CallInformation m_callInfo;
02796 H501_UsageSpecification m_usageSpec;
02797 H501_ArrayOf_SupportedProtocols m_desiredProtocols;
02798
02799 PINDEX GetDataLength() const;
02800 BOOL Decode(PASN_Stream & strm);
02801 void Encode(PASN_Stream & strm) const;
02802 #ifndef PASN_NOPRINTON
02803 void PrintOn(ostream & strm) const;
02804 #endif
02805 Comparison Compare(const PObject & obj) const;
02806 PObject * Clone() const;
02807 };
02808
02809
02810
02811
02812
02813
02814 class H501_UsageRequest : public PASN_Sequence
02815 {
02816 #ifndef PASN_LEANANDMEAN
02817 PCLASSINFO(H501_UsageRequest, PASN_Sequence);
02818 #endif
02819 public:
02820 H501_UsageRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02821
02822 H501_CallInformation m_callInfo;
02823 H501_UsageSpecification m_usageSpec;
02824
02825 PINDEX GetDataLength() const;
02826 BOOL Decode(PASN_Stream & strm);
02827 void Encode(PASN_Stream & strm) const;
02828 #ifndef PASN_NOPRINTON
02829 void PrintOn(ostream & strm) const;
02830 #endif
02831 Comparison Compare(const PObject & obj) const;
02832 PObject * Clone() const;
02833 };
02834
02835
02836
02837
02838
02839
02840 class H501_UsageIndication : public PASN_Sequence
02841 {
02842 #ifndef PASN_LEANANDMEAN
02843 PCLASSINFO(H501_UsageIndication, PASN_Sequence);
02844 #endif
02845 public:
02846 H501_UsageIndication(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02847
02848 enum OptionalFields {
02849 e_accessTokens,
02850 e_srcInfo,
02851 e_startTime,
02852 e_endTime,
02853 e_terminationCause
02854 };
02855
02856 H501_CallInformation m_callInfo;
02857 H501_ArrayOf_AccessToken m_accessTokens;
02858 H501_Role m_senderRole;
02859 H501_UsageCallStatus m_usageCallStatus;
02860 H501_PartyInformation m_srcInfo;
02861 H501_PartyInformation m_destAddress;
02862 H235_TimeStamp m_startTime;
02863 H235_TimeStamp m_endTime;
02864 H501_TerminationCause m_terminationCause;
02865 H501_ArrayOf_UsageField m_usageFields;
02866
02867 PINDEX GetDataLength() const;
02868 BOOL Decode(PASN_Stream & strm);
02869 void Encode(PASN_Stream & strm) const;
02870 #ifndef PASN_NOPRINTON
02871 void PrintOn(ostream & strm) const;
02872 #endif
02873 Comparison Compare(const PObject & obj) const;
02874 PObject * Clone() const;
02875 };
02876
02877
02878
02879
02880
02881
02882 class H501_ValidationRequest : public PASN_Sequence
02883 {
02884 #ifndef PASN_LEANANDMEAN
02885 PCLASSINFO(H501_ValidationRequest, PASN_Sequence);
02886 #endif
02887 public:
02888 H501_ValidationRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02889
02890 enum OptionalFields {
02891 e_accessToken,
02892 e_destinationInfo,
02893 e_sourceInfo,
02894 e_usageSpec
02895 };
02896
02897 H501_ArrayOf_AccessToken m_accessToken;
02898 H501_PartyInformation m_destinationInfo;
02899 H501_PartyInformation m_sourceInfo;
02900 H501_CallInformation m_callInfo;
02901 H501_UsageSpecification m_usageSpec;
02902
02903 PINDEX GetDataLength() const;
02904 BOOL Decode(PASN_Stream & strm);
02905 void Encode(PASN_Stream & strm) const;
02906 #ifndef PASN_NOPRINTON
02907 void PrintOn(ostream & strm) const;
02908 #endif
02909 Comparison Compare(const PObject & obj) const;
02910 PObject * Clone() const;
02911 };
02912
02913
02914
02915
02916
02917
02918 class H501_ValidationConfirmation : public PASN_Sequence
02919 {
02920 #ifndef PASN_LEANANDMEAN
02921 PCLASSINFO(H501_ValidationConfirmation, PASN_Sequence);
02922 #endif
02923 public:
02924 H501_ValidationConfirmation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02925
02926 enum OptionalFields {
02927 e_destinationInfo,
02928 e_usageSpec
02929 };
02930
02931 H501_PartyInformation m_destinationInfo;
02932 H501_UsageSpecification m_usageSpec;
02933
02934 PINDEX GetDataLength() const;
02935 BOOL Decode(PASN_Stream & strm);
02936 void Encode(PASN_Stream & strm) const;
02937 #ifndef PASN_NOPRINTON
02938 void PrintOn(ostream & strm) const;
02939 #endif
02940 Comparison Compare(const PObject & obj) const;
02941 PObject * Clone() const;
02942 };
02943
02944
02945
02946
02947
02948
02949 class H501_RouteInformation : public PASN_Sequence
02950 {
02951 #ifndef PASN_LEANANDMEAN
02952 PCLASSINFO(H501_RouteInformation, PASN_Sequence);
02953 #endif
02954 public:
02955 H501_RouteInformation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02956
02957 enum OptionalFields {
02958 e_usageSpec,
02959 e_priceInfo,
02960 e_type,
02961 e_featureSet,
02962 e_circuitID,
02963 e_supportedCircuits
02964 };
02965
02966 H501_RouteInformation_messageType m_messageType;
02967 PASN_Boolean m_callSpecific;
02968 H501_UsageSpecification m_usageSpec;
02969 H501_ArrayOf_PriceInfoSpec m_priceInfo;
02970 H501_ArrayOf_ContactInformation m_contacts;
02971 H225_EndpointType m_type;
02972 H225_FeatureSet m_featureSet;
02973 H225_CircuitInfo m_circuitID;
02974 H501_ArrayOf_CircuitIdentifier m_supportedCircuits;
02975
02976 PINDEX GetDataLength() const;
02977 BOOL Decode(PASN_Stream & strm);
02978 void Encode(PASN_Stream & strm) const;
02979 #ifndef PASN_NOPRINTON
02980 void PrintOn(ostream & strm) const;
02981 #endif
02982 Comparison Compare(const PObject & obj) const;
02983 PObject * Clone() const;
02984 };
02985
02986
02987
02988
02989
02990
02991 class H501_Descriptor : public PASN_Sequence
02992 {
02993 #ifndef PASN_LEANANDMEAN
02994 PCLASSINFO(H501_Descriptor, PASN_Sequence);
02995 #endif
02996 public:
02997 H501_Descriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02998
02999 enum OptionalFields {
03000 e_gatekeeperID
03001 };
03002
03003 H501_DescriptorInfo m_descriptorInfo;
03004 H501_ArrayOf_AddressTemplate m_templates;
03005 H225_GatekeeperIdentifier m_gatekeeperID;
03006
03007 PINDEX GetDataLength() const;
03008 BOOL Decode(PASN_Stream & strm);
03009 void Encode(PASN_Stream & strm) const;
03010 #ifndef PASN_NOPRINTON
03011 void PrintOn(ostream & strm) const;
03012 #endif
03013 Comparison Compare(const PObject & obj) const;
03014 PObject * Clone() const;
03015 };
03016
03017
03018 #endif // __H501_H
03019
03020 #endif // if ! H323_DISABLE_H501
03021
03022
03023