h501.h

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

Generated on Mon Feb 1 00:25:49 2010 for OPAL by  doxygen 1.5.1