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