# 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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 PWCharArray & 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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     PBoolean 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