h501.h

Go to the documentation of this file.
00001 //
00002 // h501.h
00003 //
00004 // Code automatically generated by asnparse.
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 // MessageBody
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 // ServiceRejectionReason
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 // ServiceReleaseReason
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 // DescriptorRejectionReason
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 // DescriptorIDRequest
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 // DescriptorIDRejectionReason
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 // DescriptorUpdateAck
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 // AccessRejectionReason
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 // UsageConfirmation
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 // UsageField
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 // UsageRejectReason
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 // UsageIndicationConfirmation
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 // UsageIndicationRejectionReason
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 // ValidationRejectionReason
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 // NonStandardRequest
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 // NonStandardConfirmation
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 // NonStandardRejectionReason
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 // UnknownMessageReason
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 // ApplicationMessage
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 // AuthenticationConfirmation
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 // AuthenticationRejectionReason
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 // Pattern
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 // AccessToken
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 // CallInformation
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 // UsageCallStatus
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 // Role
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 // TimeZone
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 // TerminationCause
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 // ProtocolVersion
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 // ElementIdentifier
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 // GlobalTimeStamp
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 // ArrayOf_TransportAddress
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 // ArrayOf_ClearToken
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 // ArrayOf_CryptoH323Token
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 // ArrayOf_NonStandardParameter
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 // ArrayOf_GenericData
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 // ArrayOf_SecurityMode
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 // ArrayOf_PASN_ObjectId
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 // ArrayOf_GloballyUniqueID
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 // ArrayOf_Descriptor
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 // ArrayOf_DescriptorInfo
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 // ArrayOf_UpdateInformation
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 // UpdateInformation_descriptorInfo
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 // UpdateInformation_updateType
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 // ArrayOf_SupportedProtocols
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 // ArrayOf_AddressTemplate
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 // ArrayOf_ServiceControlSession
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 // ArrayOf_AccessToken
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 // ArrayOf_UsageField
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 // ArrayOf_Pattern
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 // ArrayOf_RouteInformation
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 // Pattern_range
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 // RouteInformation_messageType
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 // ArrayOf_PriceInfoSpec
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 // ArrayOf_ContactInformation
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 // ArrayOf_CircuitIdentifier
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 // ArrayOf_PriceElement
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 // PriceElement_units
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 // ArrayOf_AlternatePE
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 // UsageSpecification_when
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 // ArrayOf_AliasAddress
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 // MessageCommonInfo
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 // SecurityMode
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 // DescriptorRequest
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 // DescriptorConfirmation
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 // DescriptorRejection
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 // DescriptorIDConfirmation
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 // DescriptorIDRejection
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 // DescriptorUpdate
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 // UpdateInformation
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 // AccessConfirmation
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 // AccessRejection
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 // UsageRejection
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 // UsageIndicationRejection
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 // ValidationRejection
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 // RequestInProgress
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 // NonStandardRejection
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 // UnknownMessageResponse
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 // AuthenticationRequest
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 // AuthenticationRejection
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 // AddressTemplate
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 // ContactInformation
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 // PriceInfoSpec
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 // PriceElement
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 // DescriptorInfo
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 // AlternatePEInfo
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 // AlternatePE
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 // UserInformation
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 // UsageSpecification
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 // PartyInformation
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 // Message
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 // ServiceRequest
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 // ServiceConfirmation
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 // ServiceRejection
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 // ServiceRelease
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 // AccessRequest
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 // UsageRequest
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 // UsageIndication
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 // ValidationRequest
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 // ValidationConfirmation
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 // RouteInformation
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 // Descriptor
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 // End of h501.h

Generated on Fri Mar 7 06:33:37 2008 for OPAL by  doxygen 1.5.1