h225.h

Go to the documentation of this file.
00001 //
00002 // h225.h
00003 //
00004 // Code automatically generated by asnparse.
00005 //
00006 
00007 #if ! H323_DISABLE_H225
00008 
00009 #ifndef __H225_H
00010 #define __H225_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 "h245.h"
00020 
00021 
00022 //
00023 // ReleaseCompleteReason
00024 //
00025 
00026 class H225_NonStandardParameter;
00027 class H225_ConferenceIdentifier;
00028 class H225_SecurityErrors;
00029 
00030 class H225_ReleaseCompleteReason : public PASN_Choice
00031 {
00032 #ifndef PASN_LEANANDMEAN
00033     PCLASSINFO(H225_ReleaseCompleteReason, PASN_Choice);
00034 #endif
00035   public:
00036     H225_ReleaseCompleteReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00037 
00038     enum Choices {
00039       e_noBandwidth,
00040       e_gatekeeperResources,
00041       e_unreachableDestination,
00042       e_destinationRejection,
00043       e_invalidRevision,
00044       e_noPermission,
00045       e_unreachableGatekeeper,
00046       e_gatewayResources,
00047       e_badFormatAddress,
00048       e_adaptiveBusy,
00049       e_inConf,
00050       e_undefinedReason,
00051       e_facilityCallDeflection,
00052       e_securityDenied,
00053       e_calledPartyNotRegistered,
00054       e_callerNotRegistered,
00055       e_newConnectionNeeded,
00056       e_nonStandardReason,
00057       e_replaceWithConferenceInvite,
00058       e_genericDataReason,
00059       e_neededFeatureNotSupported,
00060       e_tunnelledSignallingRejected,
00061       e_invalidCID,
00062       e_securityError,
00063       e_hopCountExceeded
00064     };
00065 
00066 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00067     operator H225_NonStandardParameter &() const;
00068 #else
00069     operator H225_NonStandardParameter &();
00070     operator const H225_NonStandardParameter &() const;
00071 #endif
00072 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00073     operator H225_ConferenceIdentifier &() const;
00074 #else
00075     operator H225_ConferenceIdentifier &();
00076     operator const H225_ConferenceIdentifier &() const;
00077 #endif
00078 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00079     operator H225_SecurityErrors &() const;
00080 #else
00081     operator H225_SecurityErrors &();
00082     operator const H225_SecurityErrors &() const;
00083 #endif
00084 
00085     BOOL CreateObject();
00086     PObject * Clone() const;
00087 };
00088 
00089 
00090 //
00091 // ScnConnectionType
00092 //
00093 
00094 class H225_ScnConnectionType : public PASN_Choice
00095 {
00096 #ifndef PASN_LEANANDMEAN
00097     PCLASSINFO(H225_ScnConnectionType, PASN_Choice);
00098 #endif
00099   public:
00100     H225_ScnConnectionType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00101 
00102     enum Choices {
00103       e_unknown,
00104       e_bChannel,
00105       e_hybrid2x64,
00106       e_hybrid384,
00107       e_hybrid1536,
00108       e_hybrid1920,
00109       e_multirate
00110     };
00111 
00112     BOOL CreateObject();
00113     PObject * Clone() const;
00114 };
00115 
00116 
00117 //
00118 // ScnConnectionAggregation
00119 //
00120 
00121 class H225_ScnConnectionAggregation : public PASN_Choice
00122 {
00123 #ifndef PASN_LEANANDMEAN
00124     PCLASSINFO(H225_ScnConnectionAggregation, PASN_Choice);
00125 #endif
00126   public:
00127     H225_ScnConnectionAggregation(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00128 
00129     enum Choices {
00130       e_auto,
00131       e_none,
00132       e_h221,
00133       e_bonded_mode1,
00134       e_bonded_mode2,
00135       e_bonded_mode3
00136     };
00137 
00138     BOOL CreateObject();
00139     PObject * Clone() const;
00140 };
00141 
00142 
00143 //
00144 // PresentationIndicator
00145 //
00146 
00147 class H225_PresentationIndicator : public PASN_Choice
00148 {
00149 #ifndef PASN_LEANANDMEAN
00150     PCLASSINFO(H225_PresentationIndicator, PASN_Choice);
00151 #endif
00152   public:
00153     H225_PresentationIndicator(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00154 
00155     enum Choices {
00156       e_presentationAllowed,
00157       e_presentationRestricted,
00158       e_addressNotAvailable
00159     };
00160 
00161     BOOL CreateObject();
00162     PObject * Clone() const;
00163 };
00164 
00165 
00166 //
00167 // ScreeningIndicator
00168 //
00169 
00170 class H225_ScreeningIndicator : public PASN_Enumeration
00171 {
00172 #ifndef PASN_LEANANDMEAN
00173     PCLASSINFO(H225_ScreeningIndicator, PASN_Enumeration);
00174 #endif
00175   public:
00176     H225_ScreeningIndicator(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass);
00177 
00178     enum Enumerations {
00179       e_userProvidedNotScreened,
00180       e_userProvidedVerifiedAndPassed,
00181       e_userProvidedVerifiedAndFailed,
00182       e_networkProvided
00183     };
00184 
00185     H225_ScreeningIndicator & operator=(unsigned v);
00186     PObject * Clone() const;
00187 };
00188 
00189 
00190 //
00191 // FacilityReason
00192 //
00193 
00194 class H225_FacilityReason : public PASN_Choice
00195 {
00196 #ifndef PASN_LEANANDMEAN
00197     PCLASSINFO(H225_FacilityReason, PASN_Choice);
00198 #endif
00199   public:
00200     H225_FacilityReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00201 
00202     enum Choices {
00203       e_routeCallToGatekeeper,
00204       e_callForwarded,
00205       e_routeCallToMC,
00206       e_undefinedReason,
00207       e_conferenceListChoice,
00208       e_startH245,
00209       e_noH245,
00210       e_newTokens,
00211       e_featureSetUpdate,
00212       e_forwardedElements,
00213       e_transportedInformation
00214     };
00215 
00216     BOOL CreateObject();
00217     PObject * Clone() const;
00218 };
00219 
00220 
00221 //
00222 // TransportAddress
00223 //
00224 
00225 class H225_TransportAddress_ipAddress;
00226 class H225_TransportAddress_ipSourceRoute;
00227 class H225_TransportAddress_ipxAddress;
00228 class H225_TransportAddress_ip6Address;
00229 class H225_NonStandardParameter;
00230 
00231 class H225_TransportAddress : public PASN_Choice
00232 {
00233 #ifndef PASN_LEANANDMEAN
00234     PCLASSINFO(H225_TransportAddress, PASN_Choice);
00235 #endif
00236   public:
00237     H225_TransportAddress(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00238 
00239     enum Choices {
00240       e_ipAddress,
00241       e_ipSourceRoute,
00242       e_ipxAddress,
00243       e_ip6Address,
00244       e_netBios,
00245       e_nsap,
00246       e_nonStandardAddress
00247     };
00248 
00249 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00250     operator H225_TransportAddress_ipAddress &() const;
00251 #else
00252     operator H225_TransportAddress_ipAddress &();
00253     operator const H225_TransportAddress_ipAddress &() const;
00254 #endif
00255 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00256     operator H225_TransportAddress_ipSourceRoute &() const;
00257 #else
00258     operator H225_TransportAddress_ipSourceRoute &();
00259     operator const H225_TransportAddress_ipSourceRoute &() const;
00260 #endif
00261 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00262     operator H225_TransportAddress_ipxAddress &() const;
00263 #else
00264     operator H225_TransportAddress_ipxAddress &();
00265     operator const H225_TransportAddress_ipxAddress &() const;
00266 #endif
00267 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00268     operator H225_TransportAddress_ip6Address &() const;
00269 #else
00270     operator H225_TransportAddress_ip6Address &();
00271     operator const H225_TransportAddress_ip6Address &() const;
00272 #endif
00273 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00274     operator H225_NonStandardParameter &() const;
00275 #else
00276     operator H225_NonStandardParameter &();
00277     operator const H225_NonStandardParameter &() const;
00278 #endif
00279 
00280     BOOL CreateObject();
00281     PObject * Clone() const;
00282 };
00283 
00284 
00285 //
00286 // SupportedProtocols
00287 //
00288 
00289 class H225_NonStandardParameter;
00290 class H225_H310Caps;
00291 class H225_H320Caps;
00292 class H225_H321Caps;
00293 class H225_H322Caps;
00294 class H225_H323Caps;
00295 class H225_H324Caps;
00296 class H225_VoiceCaps;
00297 class H225_T120OnlyCaps;
00298 class H225_NonStandardProtocol;
00299 class H225_T38FaxAnnexbOnlyCaps;
00300 class H225_SIPCaps;
00301 
00302 class H225_SupportedProtocols : public PASN_Choice
00303 {
00304 #ifndef PASN_LEANANDMEAN
00305     PCLASSINFO(H225_SupportedProtocols, PASN_Choice);
00306 #endif
00307   public:
00308     H225_SupportedProtocols(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00309 
00310     enum Choices {
00311       e_nonStandardData,
00312       e_h310,
00313       e_h320,
00314       e_h321,
00315       e_h322,
00316       e_h323,
00317       e_h324,
00318       e_voice,
00319       e_t120_only,
00320       e_nonStandardProtocol,
00321       e_t38FaxAnnexbOnly,
00322       e_sip
00323     };
00324 
00325 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00326     operator H225_NonStandardParameter &() const;
00327 #else
00328     operator H225_NonStandardParameter &();
00329     operator const H225_NonStandardParameter &() const;
00330 #endif
00331 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00332     operator H225_H310Caps &() const;
00333 #else
00334     operator H225_H310Caps &();
00335     operator const H225_H310Caps &() const;
00336 #endif
00337 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00338     operator H225_H320Caps &() const;
00339 #else
00340     operator H225_H320Caps &();
00341     operator const H225_H320Caps &() const;
00342 #endif
00343 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00344     operator H225_H321Caps &() const;
00345 #else
00346     operator H225_H321Caps &();
00347     operator const H225_H321Caps &() const;
00348 #endif
00349 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00350     operator H225_H322Caps &() const;
00351 #else
00352     operator H225_H322Caps &();
00353     operator const H225_H322Caps &() const;
00354 #endif
00355 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00356     operator H225_H323Caps &() const;
00357 #else
00358     operator H225_H323Caps &();
00359     operator const H225_H323Caps &() const;
00360 #endif
00361 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00362     operator H225_H324Caps &() const;
00363 #else
00364     operator H225_H324Caps &();
00365     operator const H225_H324Caps &() const;
00366 #endif
00367 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00368     operator H225_VoiceCaps &() const;
00369 #else
00370     operator H225_VoiceCaps &();
00371     operator const H225_VoiceCaps &() const;
00372 #endif
00373 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00374     operator H225_T120OnlyCaps &() const;
00375 #else
00376     operator H225_T120OnlyCaps &();
00377     operator const H225_T120OnlyCaps &() const;
00378 #endif
00379 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00380     operator H225_NonStandardProtocol &() const;
00381 #else
00382     operator H225_NonStandardProtocol &();
00383     operator const H225_NonStandardProtocol &() const;
00384 #endif
00385 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00386     operator H225_T38FaxAnnexbOnlyCaps &() const;
00387 #else
00388     operator H225_T38FaxAnnexbOnlyCaps &();
00389     operator const H225_T38FaxAnnexbOnlyCaps &() const;
00390 #endif
00391 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00392     operator H225_SIPCaps &() const;
00393 #else
00394     operator H225_SIPCaps &();
00395     operator const H225_SIPCaps &() const;
00396 #endif
00397 
00398     BOOL CreateObject();
00399     PObject * Clone() const;
00400 };
00401 
00402 
00403 //
00404 // H221NonStandard
00405 //
00406 
00407 class H225_H221NonStandard : public PASN_Sequence
00408 {
00409 #ifndef PASN_LEANANDMEAN
00410     PCLASSINFO(H225_H221NonStandard, PASN_Sequence);
00411 #endif
00412   public:
00413     H225_H221NonStandard(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00414 
00415     PASN_Integer m_t35CountryCode;
00416     PASN_Integer m_t35Extension;
00417     PASN_Integer m_manufacturerCode;
00418 
00419     PINDEX GetDataLength() const;
00420     BOOL Decode(PASN_Stream & strm);
00421     void Encode(PASN_Stream & strm) const;
00422 #ifndef PASN_NOPRINTON
00423     void PrintOn(ostream & strm) const;
00424 #endif
00425     Comparison Compare(const PObject & obj) const;
00426     PObject * Clone() const;
00427 };
00428 
00429 
00430 //
00431 // TunnelledProtocolAlternateIdentifier
00432 //
00433 
00434 class H225_TunnelledProtocolAlternateIdentifier : public PASN_Sequence
00435 {
00436 #ifndef PASN_LEANANDMEAN
00437     PCLASSINFO(H225_TunnelledProtocolAlternateIdentifier, PASN_Sequence);
00438 #endif
00439   public:
00440     H225_TunnelledProtocolAlternateIdentifier(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00441 
00442     enum OptionalFields {
00443       e_protocolVariant
00444     };
00445 
00446     PASN_IA5String m_protocolType;
00447     PASN_IA5String m_protocolVariant;
00448 
00449     PINDEX GetDataLength() const;
00450     BOOL Decode(PASN_Stream & strm);
00451     void Encode(PASN_Stream & strm) const;
00452 #ifndef PASN_NOPRINTON
00453     void PrintOn(ostream & strm) const;
00454 #endif
00455     Comparison Compare(const PObject & obj) const;
00456     PObject * Clone() const;
00457 };
00458 
00459 
00460 //
00461 // NonStandardIdentifier
00462 //
00463 
00464 class H225_H221NonStandard;
00465 
00466 class H225_NonStandardIdentifier : public PASN_Choice
00467 {
00468 #ifndef PASN_LEANANDMEAN
00469     PCLASSINFO(H225_NonStandardIdentifier, PASN_Choice);
00470 #endif
00471   public:
00472     H225_NonStandardIdentifier(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00473 
00474     enum Choices {
00475       e_object,
00476       e_h221NonStandard
00477     };
00478 
00479 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00480     operator H225_H221NonStandard &() const;
00481 #else
00482     operator H225_H221NonStandard &();
00483     operator const H225_H221NonStandard &() const;
00484 #endif
00485 
00486     BOOL CreateObject();
00487     PObject * Clone() const;
00488 };
00489 
00490 
00491 //
00492 // AliasAddress
00493 //
00494 
00495 class H225_TransportAddress;
00496 class H225_PartyNumber;
00497 class H225_MobileUIM;
00498 class H225_IsupNumber;
00499 
00500 class H225_AliasAddress : public PASN_Choice
00501 {
00502 #ifndef PASN_LEANANDMEAN
00503     PCLASSINFO(H225_AliasAddress, PASN_Choice);
00504 #endif
00505   public:
00506     H225_AliasAddress(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00507 
00508     enum Choices {
00509       e_dialedDigits,
00510       e_h323_ID,
00511       e_url_ID,
00512       e_transportID,
00513       e_email_ID,
00514       e_partyNumber,
00515       e_mobileUIM,
00516       e_isupNumber
00517     };
00518 
00519 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00520     operator H225_TransportAddress &() const;
00521 #else
00522     operator H225_TransportAddress &();
00523     operator const H225_TransportAddress &() const;
00524 #endif
00525 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00526     operator H225_PartyNumber &() const;
00527 #else
00528     operator H225_PartyNumber &();
00529     operator const H225_PartyNumber &() const;
00530 #endif
00531 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00532     operator H225_MobileUIM &() const;
00533 #else
00534     operator H225_MobileUIM &();
00535     operator const H225_MobileUIM &() const;
00536 #endif
00537 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00538     operator H225_IsupNumber &() const;
00539 #else
00540     operator H225_IsupNumber &();
00541     operator const H225_IsupNumber &() const;
00542 #endif
00543 
00544     BOOL CreateObject();
00545     PObject * Clone() const;
00546 };
00547 
00548 
00549 //
00550 // AddressPattern
00551 //
00552 
00553 class H225_AliasAddress;
00554 class H225_AddressPattern_range;
00555 
00556 class H225_AddressPattern : public PASN_Choice
00557 {
00558 #ifndef PASN_LEANANDMEAN
00559     PCLASSINFO(H225_AddressPattern, PASN_Choice);
00560 #endif
00561   public:
00562     H225_AddressPattern(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00563 
00564     enum Choices {
00565       e_wildcard,
00566       e_range
00567     };
00568 
00569 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00570     operator H225_AliasAddress &() const;
00571 #else
00572     operator H225_AliasAddress &();
00573     operator const H225_AliasAddress &() const;
00574 #endif
00575 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00576     operator H225_AddressPattern_range &() const;
00577 #else
00578     operator H225_AddressPattern_range &();
00579     operator const H225_AddressPattern_range &() const;
00580 #endif
00581 
00582     BOOL CreateObject();
00583     PObject * Clone() const;
00584 };
00585 
00586 
00587 //
00588 // PartyNumber
00589 //
00590 
00591 class H225_PublicPartyNumber;
00592 class H225_NumberDigits;
00593 class H225_PrivatePartyNumber;
00594 
00595 class H225_PartyNumber : public PASN_Choice
00596 {
00597 #ifndef PASN_LEANANDMEAN
00598     PCLASSINFO(H225_PartyNumber, PASN_Choice);
00599 #endif
00600   public:
00601     H225_PartyNumber(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00602 
00603     enum Choices {
00604       e_e164Number,
00605       e_dataPartyNumber,
00606       e_telexPartyNumber,
00607       e_privateNumber,
00608       e_nationalStandardPartyNumber
00609     };
00610 
00611 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00612     operator H225_PublicPartyNumber &() const;
00613 #else
00614     operator H225_PublicPartyNumber &();
00615     operator const H225_PublicPartyNumber &() const;
00616 #endif
00617 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00618     operator H225_NumberDigits &() const;
00619 #else
00620     operator H225_NumberDigits &();
00621     operator const H225_NumberDigits &() const;
00622 #endif
00623 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00624     operator H225_PrivatePartyNumber &() const;
00625 #else
00626     operator H225_PrivatePartyNumber &();
00627     operator const H225_PrivatePartyNumber &() const;
00628 #endif
00629 
00630     BOOL CreateObject();
00631     PObject * Clone() const;
00632 };
00633 
00634 
00635 //
00636 // NumberDigits
00637 //
00638 
00639 class H225_NumberDigits : public PASN_IA5String
00640 {
00641 #ifndef PASN_LEANANDMEAN
00642     PCLASSINFO(H225_NumberDigits, PASN_IA5String);
00643 #endif
00644   public:
00645     H225_NumberDigits(unsigned tag = UniversalIA5String, TagClass tagClass = UniversalTagClass);
00646 
00647     H225_NumberDigits & operator=(const char * v);
00648     H225_NumberDigits & operator=(const PString & v);
00649     PObject * Clone() const;
00650 };
00651 
00652 
00653 //
00654 // PublicTypeOfNumber
00655 //
00656 
00657 class H225_PublicTypeOfNumber : public PASN_Choice
00658 {
00659 #ifndef PASN_LEANANDMEAN
00660     PCLASSINFO(H225_PublicTypeOfNumber, PASN_Choice);
00661 #endif
00662   public:
00663     H225_PublicTypeOfNumber(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00664 
00665     enum Choices {
00666       e_unknown,
00667       e_internationalNumber,
00668       e_nationalNumber,
00669       e_networkSpecificNumber,
00670       e_subscriberNumber,
00671       e_abbreviatedNumber
00672     };
00673 
00674     BOOL CreateObject();
00675     PObject * Clone() const;
00676 };
00677 
00678 
00679 //
00680 // PrivateTypeOfNumber
00681 //
00682 
00683 class H225_PrivateTypeOfNumber : public PASN_Choice
00684 {
00685 #ifndef PASN_LEANANDMEAN
00686     PCLASSINFO(H225_PrivateTypeOfNumber, PASN_Choice);
00687 #endif
00688   public:
00689     H225_PrivateTypeOfNumber(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00690 
00691     enum Choices {
00692       e_unknown,
00693       e_level2RegionalNumber,
00694       e_level1RegionalNumber,
00695       e_pISNSpecificNumber,
00696       e_localNumber,
00697       e_abbreviatedNumber
00698     };
00699 
00700     BOOL CreateObject();
00701     PObject * Clone() const;
00702 };
00703 
00704 
00705 //
00706 // MobileUIM
00707 //
00708 
00709 class H225_ANSI_41_UIM;
00710 class H225_GSM_UIM;
00711 
00712 class H225_MobileUIM : public PASN_Choice
00713 {
00714 #ifndef PASN_LEANANDMEAN
00715     PCLASSINFO(H225_MobileUIM, PASN_Choice);
00716 #endif
00717   public:
00718     H225_MobileUIM(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00719 
00720     enum Choices {
00721       e_ansi_41_uim,
00722       e_gsm_uim
00723     };
00724 
00725 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00726     operator H225_ANSI_41_UIM &() const;
00727 #else
00728     operator H225_ANSI_41_UIM &();
00729     operator const H225_ANSI_41_UIM &() const;
00730 #endif
00731 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00732     operator H225_GSM_UIM &() const;
00733 #else
00734     operator H225_GSM_UIM &();
00735     operator const H225_GSM_UIM &() const;
00736 #endif
00737 
00738     BOOL CreateObject();
00739     PObject * Clone() const;
00740 };
00741 
00742 
00743 //
00744 // TBCD-STRING
00745 //
00746 
00747 class H225_TBCD_STRING : public PASN_IA5String
00748 {
00749 #ifndef PASN_LEANANDMEAN
00750     PCLASSINFO(H225_TBCD_STRING, PASN_IA5String);
00751 #endif
00752   public:
00753     H225_TBCD_STRING(unsigned tag = UniversalIA5String, TagClass tagClass = UniversalTagClass);
00754 
00755     H225_TBCD_STRING & operator=(const char * v);
00756     H225_TBCD_STRING & operator=(const PString & v);
00757     PObject * Clone() const;
00758 };
00759 
00760 
00761 //
00762 // GSM-UIM
00763 //
00764 
00765 class H225_GSM_UIM : public PASN_Sequence
00766 {
00767 #ifndef PASN_LEANANDMEAN
00768     PCLASSINFO(H225_GSM_UIM, PASN_Sequence);
00769 #endif
00770   public:
00771     H225_GSM_UIM(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00772 
00773     enum OptionalFields {
00774       e_imsi,
00775       e_tmsi,
00776       e_msisdn,
00777       e_imei,
00778       e_hplmn,
00779       e_vplmn
00780     };
00781 
00782     PASN_IA5String m_imsi;
00783     PASN_OctetString m_tmsi;
00784     PASN_IA5String m_msisdn;
00785     PASN_IA5String m_imei;
00786     PASN_IA5String m_hplmn;
00787     PASN_IA5String m_vplmn;
00788 
00789     PINDEX GetDataLength() const;
00790     BOOL Decode(PASN_Stream & strm);
00791     void Encode(PASN_Stream & strm) const;
00792 #ifndef PASN_NOPRINTON
00793     void PrintOn(ostream & strm) const;
00794 #endif
00795     Comparison Compare(const PObject & obj) const;
00796     PObject * Clone() const;
00797 };
00798 
00799 
00800 //
00801 // IsupNumber
00802 //
00803 
00804 class H225_IsupPublicPartyNumber;
00805 class H225_IsupDigits;
00806 class H225_IsupPrivatePartyNumber;
00807 
00808 class H225_IsupNumber : public PASN_Choice
00809 {
00810 #ifndef PASN_LEANANDMEAN
00811     PCLASSINFO(H225_IsupNumber, PASN_Choice);
00812 #endif
00813   public:
00814     H225_IsupNumber(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00815 
00816     enum Choices {
00817       e_e164Number,
00818       e_dataPartyNumber,
00819       e_telexPartyNumber,
00820       e_privateNumber,
00821       e_nationalStandardPartyNumber
00822     };
00823 
00824 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00825     operator H225_IsupPublicPartyNumber &() const;
00826 #else
00827     operator H225_IsupPublicPartyNumber &();
00828     operator const H225_IsupPublicPartyNumber &() const;
00829 #endif
00830 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00831     operator H225_IsupDigits &() const;
00832 #else
00833     operator H225_IsupDigits &();
00834     operator const H225_IsupDigits &() const;
00835 #endif
00836 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00837     operator H225_IsupPrivatePartyNumber &() const;
00838 #else
00839     operator H225_IsupPrivatePartyNumber &();
00840     operator const H225_IsupPrivatePartyNumber &() const;
00841 #endif
00842 
00843     BOOL CreateObject();
00844     PObject * Clone() const;
00845 };
00846 
00847 
00848 //
00849 // NatureOfAddress
00850 //
00851 
00852 class H225_NatureOfAddress : public PASN_Choice
00853 {
00854 #ifndef PASN_LEANANDMEAN
00855     PCLASSINFO(H225_NatureOfAddress, PASN_Choice);
00856 #endif
00857   public:
00858     H225_NatureOfAddress(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00859 
00860     enum Choices {
00861       e_unknown,
00862       e_subscriberNumber,
00863       e_nationalNumber,
00864       e_internationalNumber,
00865       e_networkSpecificNumber,
00866       e_routingNumberNationalFormat,
00867       e_routingNumberNetworkSpecificFormat,
00868       e_routingNumberWithCalledDirectoryNumber
00869     };
00870 
00871     BOOL CreateObject();
00872     PObject * Clone() const;
00873 };
00874 
00875 
00876 //
00877 // IsupDigits
00878 //
00879 
00880 class H225_IsupDigits : public PASN_IA5String
00881 {
00882 #ifndef PASN_LEANANDMEAN
00883     PCLASSINFO(H225_IsupDigits, PASN_IA5String);
00884 #endif
00885   public:
00886     H225_IsupDigits(unsigned tag = UniversalIA5String, TagClass tagClass = UniversalTagClass);
00887 
00888     H225_IsupDigits & operator=(const char * v);
00889     H225_IsupDigits & operator=(const PString & v);
00890     PObject * Clone() const;
00891 };
00892 
00893 
00894 //
00895 // ExtendedAliasAddress
00896 //
00897 
00898 class H225_ExtendedAliasAddress : public PASN_Sequence
00899 {
00900 #ifndef PASN_LEANANDMEAN
00901     PCLASSINFO(H225_ExtendedAliasAddress, PASN_Sequence);
00902 #endif
00903   public:
00904     H225_ExtendedAliasAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
00905 
00906     enum OptionalFields {
00907       e_presentationIndicator,
00908       e_screeningIndicator
00909     };
00910 
00911     H225_AliasAddress m_address;
00912     H225_PresentationIndicator m_presentationIndicator;
00913     H225_ScreeningIndicator m_screeningIndicator;
00914 
00915     PINDEX GetDataLength() const;
00916     BOOL Decode(PASN_Stream & strm);
00917     void Encode(PASN_Stream & strm) const;
00918 #ifndef PASN_NOPRINTON
00919     void PrintOn(ostream & strm) const;
00920 #endif
00921     Comparison Compare(const PObject & obj) const;
00922     PObject * Clone() const;
00923 };
00924 
00925 
00926 //
00927 // UseSpecifiedTransport
00928 //
00929 
00930 class H225_UseSpecifiedTransport : public PASN_Choice
00931 {
00932 #ifndef PASN_LEANANDMEAN
00933     PCLASSINFO(H225_UseSpecifiedTransport, PASN_Choice);
00934 #endif
00935   public:
00936     H225_UseSpecifiedTransport(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00937 
00938     enum Choices {
00939       e_tcp,
00940       e_annexE,
00941       e_sctp
00942     };
00943 
00944     BOOL CreateObject();
00945     PObject * Clone() const;
00946 };
00947 
00948 
00949 //
00950 // SecurityServiceMode
00951 //
00952 
00953 class H225_NonStandardParameter;
00954 
00955 class H225_SecurityServiceMode : public PASN_Choice
00956 {
00957 #ifndef PASN_LEANANDMEAN
00958     PCLASSINFO(H225_SecurityServiceMode, PASN_Choice);
00959 #endif
00960   public:
00961     H225_SecurityServiceMode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00962 
00963     enum Choices {
00964       e_nonStandard,
00965       e_none,
00966       e_default
00967     };
00968 
00969 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
00970     operator H225_NonStandardParameter &() const;
00971 #else
00972     operator H225_NonStandardParameter &();
00973     operator const H225_NonStandardParameter &() const;
00974 #endif
00975 
00976     BOOL CreateObject();
00977     PObject * Clone() const;
00978 };
00979 
00980 
00981 //
00982 // SecurityErrors
00983 //
00984 
00985 class H225_SecurityErrors : public PASN_Choice
00986 {
00987 #ifndef PASN_LEANANDMEAN
00988     PCLASSINFO(H225_SecurityErrors, PASN_Choice);
00989 #endif
00990   public:
00991     H225_SecurityErrors(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
00992 
00993     enum Choices {
00994       e_securityWrongSyncTime,
00995       e_securityReplay,
00996       e_securityWrongGeneralID,
00997       e_securityWrongSendersID,
00998       e_securityIntegrityFailed,
00999       e_securityWrongOID,
01000       e_securityDHmismatch,
01001       e_securityCertificateExpired,
01002       e_securityCertificateDateInvalid,
01003       e_securityCertificateRevoked,
01004       e_securityCertificateNotReadable,
01005       e_securityCertificateSignatureInvalid,
01006       e_securityCertificateMissing,
01007       e_securityCertificateIncomplete,
01008       e_securityUnsupportedCertificateAlgOID,
01009       e_securityUnknownCA
01010     };
01011 
01012     BOOL CreateObject();
01013     PObject * Clone() const;
01014 };
01015 
01016 
01017 //
01018 // SecurityErrors2
01019 //
01020 
01021 class H225_SecurityErrors2 : public PASN_Choice
01022 {
01023 #ifndef PASN_LEANANDMEAN
01024     PCLASSINFO(H225_SecurityErrors2, PASN_Choice);
01025 #endif
01026   public:
01027     H225_SecurityErrors2(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01028 
01029     enum Choices {
01030       e_securityWrongSyncTime,
01031       e_securityReplay,
01032       e_securityWrongGeneralID,
01033       e_securityWrongSendersID,
01034       e_securityIntegrityFailed,
01035       e_securityWrongOID
01036     };
01037 
01038     BOOL CreateObject();
01039     PObject * Clone() const;
01040 };
01041 
01042 
01043 //
01044 // H245Security
01045 //
01046 
01047 class H225_NonStandardParameter;
01048 class H225_SecurityCapabilities;
01049 
01050 class H225_H245Security : public PASN_Choice
01051 {
01052 #ifndef PASN_LEANANDMEAN
01053     PCLASSINFO(H225_H245Security, PASN_Choice);
01054 #endif
01055   public:
01056     H225_H245Security(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01057 
01058     enum Choices {
01059       e_nonStandard,
01060       e_noSecurity,
01061       e_tls,
01062       e_ipsec
01063     };
01064 
01065 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01066     operator H225_NonStandardParameter &() const;
01067 #else
01068     operator H225_NonStandardParameter &();
01069     operator const H225_NonStandardParameter &() const;
01070 #endif
01071 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01072     operator H225_SecurityCapabilities &() const;
01073 #else
01074     operator H225_SecurityCapabilities &();
01075     operator const H225_SecurityCapabilities &() const;
01076 #endif
01077 
01078     BOOL CreateObject();
01079     PObject * Clone() const;
01080 };
01081 
01082 
01083 //
01084 // Q954Details
01085 //
01086 
01087 class H225_Q954Details : public PASN_Sequence
01088 {
01089 #ifndef PASN_LEANANDMEAN
01090     PCLASSINFO(H225_Q954Details, PASN_Sequence);
01091 #endif
01092   public:
01093     H225_Q954Details(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01094 
01095     PASN_Boolean m_conferenceCalling;
01096     PASN_Boolean m_threePartyService;
01097 
01098     PINDEX GetDataLength() const;
01099     BOOL Decode(PASN_Stream & strm);
01100     void Encode(PASN_Stream & strm) const;
01101 #ifndef PASN_NOPRINTON
01102     void PrintOn(ostream & strm) const;
01103 #endif
01104     Comparison Compare(const PObject & obj) const;
01105     PObject * Clone() const;
01106 };
01107 
01108 
01109 //
01110 // GloballyUniqueID
01111 //
01112 
01113 class H225_GloballyUniqueID : public PASN_OctetString
01114 {
01115 #ifndef PASN_LEANANDMEAN
01116     PCLASSINFO(H225_GloballyUniqueID, PASN_OctetString);
01117 #endif
01118   public:
01119     H225_GloballyUniqueID(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
01120 
01121     H225_GloballyUniqueID(const char * v);
01122     H225_GloballyUniqueID(const PString & v);
01123     H225_GloballyUniqueID(const PBYTEArray & v);
01124 
01125     H225_GloballyUniqueID & operator=(const char * v);
01126     H225_GloballyUniqueID & operator=(const PString & v);
01127     H225_GloballyUniqueID & operator=(const PBYTEArray & v);
01128     PObject * Clone() const;
01129 };
01130 
01131 
01132 //
01133 // ConferenceIdentifier
01134 //
01135 
01136 class H225_ConferenceIdentifier : public H225_GloballyUniqueID
01137 {
01138 #ifndef PASN_LEANANDMEAN
01139     PCLASSINFO(H225_ConferenceIdentifier, H225_GloballyUniqueID);
01140 #endif
01141   public:
01142     H225_ConferenceIdentifier(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
01143 
01144     H225_ConferenceIdentifier(const char * v);
01145     H225_ConferenceIdentifier(const PString & v);
01146     H225_ConferenceIdentifier(const PBYTEArray & v);
01147 
01148     H225_ConferenceIdentifier & operator=(const char * v);
01149     H225_ConferenceIdentifier & operator=(const PString & v);
01150     H225_ConferenceIdentifier & operator=(const PBYTEArray & v);
01151     PObject * Clone() const;
01152 };
01153 
01154 
01155 //
01156 // RequestSeqNum
01157 //
01158 
01159 class H225_RequestSeqNum : public PASN_Integer
01160 {
01161 #ifndef PASN_LEANANDMEAN
01162     PCLASSINFO(H225_RequestSeqNum, PASN_Integer);
01163 #endif
01164   public:
01165     H225_RequestSeqNum(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
01166 
01167     H225_RequestSeqNum & operator=(int v);
01168     H225_RequestSeqNum & operator=(unsigned v);
01169     PObject * Clone() const;
01170 };
01171 
01172 
01173 //
01174 // GatekeeperIdentifier
01175 //
01176 
01177 class H225_GatekeeperIdentifier : public PASN_BMPString
01178 {
01179 #ifndef PASN_LEANANDMEAN
01180     PCLASSINFO(H225_GatekeeperIdentifier, PASN_BMPString);
01181 #endif
01182   public:
01183     H225_GatekeeperIdentifier(unsigned tag = UniversalBMPString, TagClass tagClass = UniversalTagClass);
01184 
01185     H225_GatekeeperIdentifier & operator=(const char * v);
01186     H225_GatekeeperIdentifier & operator=(const PString & v);
01187     H225_GatekeeperIdentifier & operator=(const PWORDArray & v);
01188     H225_GatekeeperIdentifier & operator=(const PASN_BMPString & v);
01189     PObject * Clone() const;
01190 };
01191 
01192 
01193 //
01194 // BandWidth
01195 //
01196 
01197 class H225_BandWidth : public PASN_Integer
01198 {
01199 #ifndef PASN_LEANANDMEAN
01200     PCLASSINFO(H225_BandWidth, PASN_Integer);
01201 #endif
01202   public:
01203     H225_BandWidth(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
01204 
01205     H225_BandWidth & operator=(int v);
01206     H225_BandWidth & operator=(unsigned v);
01207     PObject * Clone() const;
01208 };
01209 
01210 
01211 //
01212 // CallReferenceValue
01213 //
01214 
01215 class H225_CallReferenceValue : public PASN_Integer
01216 {
01217 #ifndef PASN_LEANANDMEAN
01218     PCLASSINFO(H225_CallReferenceValue, PASN_Integer);
01219 #endif
01220   public:
01221     H225_CallReferenceValue(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
01222 
01223     H225_CallReferenceValue & operator=(int v);
01224     H225_CallReferenceValue & operator=(unsigned v);
01225     PObject * Clone() const;
01226 };
01227 
01228 
01229 //
01230 // EndpointIdentifier
01231 //
01232 
01233 class H225_EndpointIdentifier : public PASN_BMPString
01234 {
01235 #ifndef PASN_LEANANDMEAN
01236     PCLASSINFO(H225_EndpointIdentifier, PASN_BMPString);
01237 #endif
01238   public:
01239     H225_EndpointIdentifier(unsigned tag = UniversalBMPString, TagClass tagClass = UniversalTagClass);
01240 
01241     H225_EndpointIdentifier & operator=(const char * v);
01242     H225_EndpointIdentifier & operator=(const PString & v);
01243     H225_EndpointIdentifier & operator=(const PWORDArray & v);
01244     H225_EndpointIdentifier & operator=(const PASN_BMPString & v);
01245     PObject * Clone() const;
01246 };
01247 
01248 
01249 //
01250 // ProtocolIdentifier
01251 //
01252 
01253 class H225_ProtocolIdentifier : public PASN_ObjectId
01254 {
01255 #ifndef PASN_LEANANDMEAN
01256     PCLASSINFO(H225_ProtocolIdentifier, PASN_ObjectId);
01257 #endif
01258   public:
01259     H225_ProtocolIdentifier(unsigned tag = UniversalObjectId, TagClass tagClass = UniversalTagClass);
01260 
01261     PObject * Clone() const;
01262 };
01263 
01264 
01265 //
01266 // TimeToLive
01267 //
01268 
01269 class H225_TimeToLive : public PASN_Integer
01270 {
01271 #ifndef PASN_LEANANDMEAN
01272     PCLASSINFO(H225_TimeToLive, PASN_Integer);
01273 #endif
01274   public:
01275     H225_TimeToLive(unsigned tag = UniversalInteger, TagClass tagClass = UniversalTagClass);
01276 
01277     H225_TimeToLive & operator=(int v);
01278     H225_TimeToLive & operator=(unsigned v);
01279     PObject * Clone() const;
01280 };
01281 
01282 
01283 //
01284 // H248PackagesDescriptor
01285 //
01286 
01287 class H225_H248PackagesDescriptor : public PASN_OctetString
01288 {
01289 #ifndef PASN_LEANANDMEAN
01290     PCLASSINFO(H225_H248PackagesDescriptor, PASN_OctetString);
01291 #endif
01292   public:
01293     H225_H248PackagesDescriptor(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
01294 
01295     H225_H248PackagesDescriptor(const char * v);
01296     H225_H248PackagesDescriptor(const PString & v);
01297     H225_H248PackagesDescriptor(const PBYTEArray & v);
01298 
01299     H225_H248PackagesDescriptor & operator=(const char * v);
01300     H225_H248PackagesDescriptor & operator=(const PString & v);
01301     H225_H248PackagesDescriptor & operator=(const PBYTEArray & v);
01302     PObject * Clone() const;
01303 };
01304 
01305 
01306 //
01307 // H248SignalsDescriptor
01308 //
01309 
01310 class H225_H248SignalsDescriptor : public PASN_OctetString
01311 {
01312 #ifndef PASN_LEANANDMEAN
01313     PCLASSINFO(H225_H248SignalsDescriptor, PASN_OctetString);
01314 #endif
01315   public:
01316     H225_H248SignalsDescriptor(unsigned tag = UniversalOctetString, TagClass tagClass = UniversalTagClass);
01317 
01318     H225_H248SignalsDescriptor(const char * v);
01319     H225_H248SignalsDescriptor(const PString & v);
01320     H225_H248SignalsDescriptor(const PBYTEArray & v);
01321 
01322     H225_H248SignalsDescriptor & operator=(const char * v);
01323     H225_H248SignalsDescriptor & operator=(const PString & v);
01324     H225_H248SignalsDescriptor & operator=(const PBYTEArray & v);
01325     PObject * Clone() const;
01326 };
01327 
01328 
01329 //
01330 // CallIdentifier
01331 //
01332 
01333 class H225_CallIdentifier : public PASN_Sequence
01334 {
01335 #ifndef PASN_LEANANDMEAN
01336     PCLASSINFO(H225_CallIdentifier, PASN_Sequence);
01337 #endif
01338   public:
01339     H225_CallIdentifier(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01340 
01341     H225_GloballyUniqueID m_guid;
01342 
01343     PINDEX GetDataLength() const;
01344     BOOL Decode(PASN_Stream & strm);
01345     void Encode(PASN_Stream & strm) const;
01346 #ifndef PASN_NOPRINTON
01347     void PrintOn(ostream & strm) const;
01348 #endif
01349     Comparison Compare(const PObject & obj) const;
01350     PObject * Clone() const;
01351 };
01352 
01353 
01354 //
01355 // EncryptIntAlg
01356 //
01357 
01358 class H225_NonStandardParameter;
01359 
01360 class H225_EncryptIntAlg : public PASN_Choice
01361 {
01362 #ifndef PASN_LEANANDMEAN
01363     PCLASSINFO(H225_EncryptIntAlg, PASN_Choice);
01364 #endif
01365   public:
01366     H225_EncryptIntAlg(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01367 
01368     enum Choices {
01369       e_nonStandard,
01370       e_isoAlgorithm
01371     };
01372 
01373 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01374     operator H225_NonStandardParameter &() const;
01375 #else
01376     operator H225_NonStandardParameter &();
01377     operator const H225_NonStandardParameter &() const;
01378 #endif
01379 
01380     BOOL CreateObject();
01381     PObject * Clone() const;
01382 };
01383 
01384 
01385 //
01386 // NonIsoIntegrityMechanism
01387 //
01388 
01389 class H225_EncryptIntAlg;
01390 
01391 class H225_NonIsoIntegrityMechanism : public PASN_Choice
01392 {
01393 #ifndef PASN_LEANANDMEAN
01394     PCLASSINFO(H225_NonIsoIntegrityMechanism, PASN_Choice);
01395 #endif
01396   public:
01397     H225_NonIsoIntegrityMechanism(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01398 
01399     enum Choices {
01400       e_hMAC_MD5,
01401       e_hMAC_iso10118_2_s,
01402       e_hMAC_iso10118_2_l,
01403       e_hMAC_iso10118_3
01404     };
01405 
01406 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01407     operator H225_EncryptIntAlg &() const;
01408 #else
01409     operator H225_EncryptIntAlg &();
01410     operator const H225_EncryptIntAlg &() const;
01411 #endif
01412 
01413     BOOL CreateObject();
01414     PObject * Clone() const;
01415 };
01416 
01417 
01418 //
01419 // IntegrityMechanism
01420 //
01421 
01422 class H225_NonStandardParameter;
01423 class H225_NonIsoIntegrityMechanism;
01424 
01425 class H225_IntegrityMechanism : public PASN_Choice
01426 {
01427 #ifndef PASN_LEANANDMEAN
01428     PCLASSINFO(H225_IntegrityMechanism, PASN_Choice);
01429 #endif
01430   public:
01431     H225_IntegrityMechanism(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01432 
01433     enum Choices {
01434       e_nonStandard,
01435       e_digSig,
01436       e_iso9797,
01437       e_nonIsoIM
01438     };
01439 
01440 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01441     operator H225_NonStandardParameter &() const;
01442 #else
01443     operator H225_NonStandardParameter &();
01444     operator const H225_NonStandardParameter &() const;
01445 #endif
01446 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01447     operator H225_NonIsoIntegrityMechanism &() const;
01448 #else
01449     operator H225_NonIsoIntegrityMechanism &();
01450     operator const H225_NonIsoIntegrityMechanism &() const;
01451 #endif
01452 
01453     BOOL CreateObject();
01454     PObject * Clone() const;
01455 };
01456 
01457 
01458 //
01459 // ICV
01460 //
01461 
01462 class H225_ICV : public PASN_Sequence
01463 {
01464 #ifndef PASN_LEANANDMEAN
01465     PCLASSINFO(H225_ICV, PASN_Sequence);
01466 #endif
01467   public:
01468     H225_ICV(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01469 
01470     PASN_ObjectId m_algorithmOID;
01471     PASN_BitString m_icv;
01472 
01473     PINDEX GetDataLength() const;
01474     BOOL Decode(PASN_Stream & strm);
01475     void Encode(PASN_Stream & strm) const;
01476 #ifndef PASN_NOPRINTON
01477     void PrintOn(ostream & strm) const;
01478 #endif
01479     Comparison Compare(const PObject & obj) const;
01480     PObject * Clone() const;
01481 };
01482 
01483 
01484 //
01485 // FastStartToken
01486 //
01487 
01488 class H225_FastStartToken : public H235_ClearToken
01489 {
01490 #ifndef PASN_LEANANDMEAN
01491     PCLASSINFO(H225_FastStartToken, H235_ClearToken);
01492 #endif
01493   public:
01494     H225_FastStartToken(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01495 
01496     PObject * Clone() const;
01497 };
01498 
01499 
01500 //
01501 // EncodedFastStartToken
01502 //
01503 
01504 class H225_EncodedFastStartToken : public PASN_OctetString
01505 {
01506 #ifndef PASN_LEANANDMEAN
01507     PCLASSINFO(H225_EncodedFastStartToken, PASN_OctetString);
01508 #endif
01509   public:
01510     H225_EncodedFastStartToken(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01511 
01512     BOOL DecodeSubType(H225_FastStartToken & obj) { return PASN_OctetString::DecodeSubType(obj); }
01513     void EncodeSubType(const H225_FastStartToken & obj) { PASN_OctetString::EncodeSubType(obj); } 
01514 
01515     PObject * Clone() const;
01516 };
01517 
01518 
01519 //
01520 // CryptoH323Token
01521 //
01522 
01523 class H225_CryptoH323Token_cryptoEPPwdHash;
01524 class H225_CryptoH323Token_cryptoGKPwdHash;
01525 class H235_CryptoToken;
01526 
01527 class H225_CryptoH323Token : public PASN_Choice
01528 {
01529 #ifndef PASN_LEANANDMEAN
01530     PCLASSINFO(H225_CryptoH323Token, PASN_Choice);
01531 #endif
01532   public:
01533     H225_CryptoH323Token(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01534 
01535     enum Choices {
01536       e_cryptoEPPwdHash,
01537       e_cryptoGKPwdHash,
01538       e_cryptoEPPwdEncr,
01539       e_cryptoGKPwdEncr,
01540       e_cryptoEPCert,
01541       e_cryptoGKCert,
01542       e_cryptoFastStart,
01543       e_nestedcryptoToken
01544     };
01545 
01546 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01547     operator H225_CryptoH323Token_cryptoEPPwdHash &() const;
01548 #else
01549     operator H225_CryptoH323Token_cryptoEPPwdHash &();
01550     operator const H225_CryptoH323Token_cryptoEPPwdHash &() const;
01551 #endif
01552 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01553     operator H225_CryptoH323Token_cryptoGKPwdHash &() const;
01554 #else
01555     operator H225_CryptoH323Token_cryptoGKPwdHash &();
01556     operator const H225_CryptoH323Token_cryptoGKPwdHash &() const;
01557 #endif
01558 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01559     operator H235_ENCRYPTED<H235_EncodedPwdCertToken> &() const;
01560 #else
01561     operator H235_ENCRYPTED<H235_EncodedPwdCertToken> &();
01562     operator const H235_ENCRYPTED<H235_EncodedPwdCertToken> &() const;
01563 #endif
01564 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01565     operator H235_SIGNED<H235_EncodedPwdCertToken> &() const;
01566 #else
01567     operator H235_SIGNED<H235_EncodedPwdCertToken> &();
01568     operator const H235_SIGNED<H235_EncodedPwdCertToken> &() const;
01569 #endif
01570 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01571     operator H235_SIGNED<H225_EncodedFastStartToken> &() const;
01572 #else
01573     operator H235_SIGNED<H225_EncodedFastStartToken> &();
01574     operator const H235_SIGNED<H225_EncodedFastStartToken> &() const;
01575 #endif
01576 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01577     operator H235_CryptoToken &() const;
01578 #else
01579     operator H235_CryptoToken &();
01580     operator const H235_CryptoToken &() const;
01581 #endif
01582 
01583     BOOL CreateObject();
01584     PObject * Clone() const;
01585 };
01586 
01587 
01588 //
01589 // CallLinkage
01590 //
01591 
01592 class H225_CallLinkage : public PASN_Sequence
01593 {
01594 #ifndef PASN_LEANANDMEAN
01595     PCLASSINFO(H225_CallLinkage, PASN_Sequence);
01596 #endif
01597   public:
01598     H225_CallLinkage(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01599 
01600     enum OptionalFields {
01601       e_globalCallId,
01602       e_threadId
01603     };
01604 
01605     H225_GloballyUniqueID m_globalCallId;
01606     H225_GloballyUniqueID m_threadId;
01607 
01608     PINDEX GetDataLength() const;
01609     BOOL Decode(PASN_Stream & strm);
01610     void Encode(PASN_Stream & strm) const;
01611 #ifndef PASN_NOPRINTON
01612     void PrintOn(ostream & strm) const;
01613 #endif
01614     Comparison Compare(const PObject & obj) const;
01615     PObject * Clone() const;
01616 };
01617 
01618 
01619 //
01620 // CapacityReportingCapability
01621 //
01622 
01623 class H225_CapacityReportingCapability : public PASN_Sequence
01624 {
01625 #ifndef PASN_LEANANDMEAN
01626     PCLASSINFO(H225_CapacityReportingCapability, PASN_Sequence);
01627 #endif
01628   public:
01629     H225_CapacityReportingCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01630 
01631     PASN_Boolean m_canReportCallCapacity;
01632 
01633     PINDEX GetDataLength() const;
01634     BOOL Decode(PASN_Stream & strm);
01635     void Encode(PASN_Stream & strm) const;
01636 #ifndef PASN_NOPRINTON
01637     void PrintOn(ostream & strm) const;
01638 #endif
01639     Comparison Compare(const PObject & obj) const;
01640     PObject * Clone() const;
01641 };
01642 
01643 
01644 //
01645 // CarrierInfo
01646 //
01647 
01648 class H225_CarrierInfo : public PASN_Sequence
01649 {
01650 #ifndef PASN_LEANANDMEAN
01651     PCLASSINFO(H225_CarrierInfo, PASN_Sequence);
01652 #endif
01653   public:
01654     H225_CarrierInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01655 
01656     enum OptionalFields {
01657       e_carrierIdentificationCode,
01658       e_carrierName
01659     };
01660 
01661     PASN_OctetString m_carrierIdentificationCode;
01662     PASN_IA5String m_carrierName;
01663 
01664     PINDEX GetDataLength() const;
01665     BOOL Decode(PASN_Stream & strm);
01666     void Encode(PASN_Stream & strm) const;
01667 #ifndef PASN_NOPRINTON
01668     void PrintOn(ostream & strm) const;
01669 #endif
01670     Comparison Compare(const PObject & obj) const;
01671     PObject * Clone() const;
01672 };
01673 
01674 
01675 //
01676 // ServiceControlDescriptor
01677 //
01678 
01679 class H225_H248SignalsDescriptor;
01680 class H225_NonStandardParameter;
01681 class H225_CallCreditServiceControl;
01682 
01683 class H225_ServiceControlDescriptor : public PASN_Choice
01684 {
01685 #ifndef PASN_LEANANDMEAN
01686     PCLASSINFO(H225_ServiceControlDescriptor, PASN_Choice);
01687 #endif
01688   public:
01689     H225_ServiceControlDescriptor(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01690 
01691     enum Choices {
01692       e_url,
01693       e_signal,
01694       e_nonStandard,
01695       e_callCreditServiceControl
01696     };
01697 
01698 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01699     operator H225_H248SignalsDescriptor &() const;
01700 #else
01701     operator H225_H248SignalsDescriptor &();
01702     operator const H225_H248SignalsDescriptor &() const;
01703 #endif
01704 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01705     operator H225_NonStandardParameter &() const;
01706 #else
01707     operator H225_NonStandardParameter &();
01708     operator const H225_NonStandardParameter &() const;
01709 #endif
01710 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01711     operator H225_CallCreditServiceControl &() const;
01712 #else
01713     operator H225_CallCreditServiceControl &();
01714     operator const H225_CallCreditServiceControl &() const;
01715 #endif
01716 
01717     BOOL CreateObject();
01718     PObject * Clone() const;
01719 };
01720 
01721 
01722 //
01723 // CallTerminationCause
01724 //
01725 
01726 class H225_ReleaseCompleteReason;
01727 
01728 class H225_CallTerminationCause : public PASN_Choice
01729 {
01730 #ifndef PASN_LEANANDMEAN
01731     PCLASSINFO(H225_CallTerminationCause, PASN_Choice);
01732 #endif
01733   public:
01734     H225_CallTerminationCause(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01735 
01736     enum Choices {
01737       e_releaseCompleteReason,
01738       e_releaseCompleteCauseIE
01739     };
01740 
01741 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01742     operator H225_ReleaseCompleteReason &() const;
01743 #else
01744     operator H225_ReleaseCompleteReason &();
01745     operator const H225_ReleaseCompleteReason &() const;
01746 #endif
01747 
01748     BOOL CreateObject();
01749     PObject * Clone() const;
01750 };
01751 
01752 
01753 //
01754 // CallCreditCapability
01755 //
01756 
01757 class H225_CallCreditCapability : public PASN_Sequence
01758 {
01759 #ifndef PASN_LEANANDMEAN
01760     PCLASSINFO(H225_CallCreditCapability, PASN_Sequence);
01761 #endif
01762   public:
01763     H225_CallCreditCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01764 
01765     enum OptionalFields {
01766       e_canDisplayAmountString,
01767       e_canEnforceDurationLimit
01768     };
01769 
01770     PASN_Boolean m_canDisplayAmountString;
01771     PASN_Boolean m_canEnforceDurationLimit;
01772 
01773     PINDEX GetDataLength() const;
01774     BOOL Decode(PASN_Stream & strm);
01775     void Encode(PASN_Stream & strm) const;
01776 #ifndef PASN_NOPRINTON
01777     void PrintOn(ostream & strm) const;
01778 #endif
01779     Comparison Compare(const PObject & obj) const;
01780     PObject * Clone() const;
01781 };
01782 
01783 
01784 //
01785 // GenericIdentifier
01786 //
01787 
01788 class H225_GloballyUniqueID;
01789 
01790 class H225_GenericIdentifier : public PASN_Choice
01791 {
01792 #ifndef PASN_LEANANDMEAN
01793     PCLASSINFO(H225_GenericIdentifier, PASN_Choice);
01794 #endif
01795   public:
01796     H225_GenericIdentifier(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01797 
01798     enum Choices {
01799       e_standard,
01800       e_oid,
01801       e_nonStandard
01802     };
01803 
01804 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01805     operator H225_GloballyUniqueID &() const;
01806 #else
01807     operator H225_GloballyUniqueID &();
01808     operator const H225_GloballyUniqueID &() const;
01809 #endif
01810 
01811     BOOL CreateObject();
01812     PObject * Clone() const;
01813 };
01814 
01815 
01816 //
01817 // Content
01818 //
01819 
01820 class H225_GenericIdentifier;
01821 class H225_AliasAddress;
01822 class H225_TransportAddress;
01823 class H225_ArrayOf_EnumeratedParameter;
01824 class H225_ArrayOf_GenericData;
01825 
01826 class H225_Content : public PASN_Choice
01827 {
01828 #ifndef PASN_LEANANDMEAN
01829     PCLASSINFO(H225_Content, PASN_Choice);
01830 #endif
01831   public:
01832     H225_Content(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01833 
01834     enum Choices {
01835       e_raw,
01836       e_text,
01837       e_unicode,
01838       e_bool,
01839       e_number8,
01840       e_number16,
01841       e_number32,
01842       e_id,
01843       e_alias,
01844       e_transport,
01845       e_compound,
01846       e_nested
01847     };
01848 
01849 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01850     operator H225_GenericIdentifier &() const;
01851 #else
01852     operator H225_GenericIdentifier &();
01853     operator const H225_GenericIdentifier &() const;
01854 #endif
01855 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01856     operator H225_AliasAddress &() const;
01857 #else
01858     operator H225_AliasAddress &();
01859     operator const H225_AliasAddress &() const;
01860 #endif
01861 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01862     operator H225_TransportAddress &() const;
01863 #else
01864     operator H225_TransportAddress &();
01865     operator const H225_TransportAddress &() const;
01866 #endif
01867 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01868     operator H225_ArrayOf_EnumeratedParameter &() const;
01869 #else
01870     operator H225_ArrayOf_EnumeratedParameter &();
01871     operator const H225_ArrayOf_EnumeratedParameter &() const;
01872 #endif
01873 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
01874     operator H225_ArrayOf_GenericData &() const;
01875 #else
01876     operator H225_ArrayOf_GenericData &();
01877     operator const H225_ArrayOf_GenericData &() const;
01878 #endif
01879 
01880     BOOL CreateObject();
01881     PObject * Clone() const;
01882 };
01883 
01884 
01885 //
01886 // TransportChannelInfo
01887 //
01888 
01889 class H225_TransportChannelInfo : public PASN_Sequence
01890 {
01891 #ifndef PASN_LEANANDMEAN
01892     PCLASSINFO(H225_TransportChannelInfo, PASN_Sequence);
01893 #endif
01894   public:
01895     H225_TransportChannelInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
01896 
01897     enum OptionalFields {
01898       e_sendAddress,
01899       e_recvAddress
01900     };
01901 
01902     H225_TransportAddress m_sendAddress;
01903     H225_TransportAddress m_recvAddress;
01904 
01905     PINDEX GetDataLength() const;
01906     BOOL Decode(PASN_Stream & strm);
01907     void Encode(PASN_Stream & strm) const;
01908 #ifndef PASN_NOPRINTON
01909     void PrintOn(ostream & strm) const;
01910 #endif
01911     Comparison Compare(const PObject & obj) const;
01912     PObject * Clone() const;
01913 };
01914 
01915 
01916 //
01917 // RehomingModel
01918 //
01919 
01920 class H225_RehomingModel : public PASN_Choice
01921 {
01922 #ifndef PASN_LEANANDMEAN
01923     PCLASSINFO(H225_RehomingModel, PASN_Choice);
01924 #endif
01925   public:
01926     H225_RehomingModel(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01927 
01928     enum Choices {
01929       e_gatekeeperBased,
01930       e_endpointBased
01931     };
01932 
01933     BOOL CreateObject();
01934     PObject * Clone() const;
01935 };
01936 
01937 
01938 //
01939 // RasMessage
01940 //
01941 
01942 class H225_GatekeeperRequest;
01943 class H225_GatekeeperConfirm;
01944 class H225_GatekeeperReject;
01945 class H225_RegistrationRequest;
01946 class H225_RegistrationConfirm;
01947 class H225_RegistrationReject;
01948 class H225_UnregistrationRequest;
01949 class H225_UnregistrationConfirm;
01950 class H225_UnregistrationReject;
01951 class H225_AdmissionRequest;
01952 class H225_AdmissionConfirm;
01953 class H225_AdmissionReject;
01954 class H225_BandwidthRequest;
01955 class H225_BandwidthConfirm;
01956 class H225_BandwidthReject;
01957 class H225_DisengageRequest;
01958 class H225_DisengageConfirm;
01959 class H225_DisengageReject;
01960 class H225_LocationRequest;
01961 class H225_LocationConfirm;
01962 class H225_LocationReject;
01963 class H225_InfoRequest;
01964 class H225_InfoRequestResponse;
01965 class H225_NonStandardMessage;
01966 class H225_UnknownMessageResponse;
01967 class H225_RequestInProgress;
01968 class H225_ResourcesAvailableIndicate;
01969 class H225_ResourcesAvailableConfirm;
01970 class H225_InfoRequestAck;
01971 class H225_InfoRequestNak;
01972 class H225_ServiceControlIndication;
01973 class H225_ServiceControlResponse;
01974 class H225_ArrayOf_AdmissionConfirm;
01975 
01976 class H225_RasMessage : public PASN_Choice
01977 {
01978 #ifndef PASN_LEANANDMEAN
01979     PCLASSINFO(H225_RasMessage, PASN_Choice);
01980 #endif
01981   public:
01982     H225_RasMessage(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
01983 
01984     enum Choices {
01985       e_gatekeeperRequest,
01986       e_gatekeeperConfirm,
01987       e_gatekeeperReject,
01988       e_registrationRequest,
01989       e_registrationConfirm,
01990       e_registrationReject,
01991       e_unregistrationRequest,
01992       e_unregistrationConfirm,
01993       e_unregistrationReject,
01994       e_admissionRequest,
01995       e_admissionConfirm,
01996       e_admissionReject,
01997       e_bandwidthRequest,
01998       e_bandwidthConfirm,
01999       e_bandwidthReject,
02000       e_disengageRequest,
02001       e_disengageConfirm,
02002       e_disengageReject,
02003       e_locationRequest,
02004       e_locationConfirm,
02005       e_locationReject,
02006       e_infoRequest,
02007       e_infoRequestResponse,
02008       e_nonStandardMessage,
02009       e_unknownMessageResponse,
02010       e_requestInProgress,
02011       e_resourcesAvailableIndicate,
02012       e_resourcesAvailableConfirm,
02013       e_infoRequestAck,
02014       e_infoRequestNak,
02015       e_serviceControlIndication,
02016       e_serviceControlResponse,
02017       e_admissionConfirmSequence
02018     };
02019 
02020 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02021     operator H225_GatekeeperRequest &() const;
02022 #else
02023     operator H225_GatekeeperRequest &();
02024     operator const H225_GatekeeperRequest &() const;
02025 #endif
02026 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02027     operator H225_GatekeeperConfirm &() const;
02028 #else
02029     operator H225_GatekeeperConfirm &();
02030     operator const H225_GatekeeperConfirm &() const;
02031 #endif
02032 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02033     operator H225_GatekeeperReject &() const;
02034 #else
02035     operator H225_GatekeeperReject &();
02036     operator const H225_GatekeeperReject &() const;
02037 #endif
02038 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02039     operator H225_RegistrationRequest &() const;
02040 #else
02041     operator H225_RegistrationRequest &();
02042     operator const H225_RegistrationRequest &() const;
02043 #endif
02044 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02045     operator H225_RegistrationConfirm &() const;
02046 #else
02047     operator H225_RegistrationConfirm &();
02048     operator const H225_RegistrationConfirm &() const;
02049 #endif
02050 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02051     operator H225_RegistrationReject &() const;
02052 #else
02053     operator H225_RegistrationReject &();
02054     operator const H225_RegistrationReject &() const;
02055 #endif
02056 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02057     operator H225_UnregistrationRequest &() const;
02058 #else
02059     operator H225_UnregistrationRequest &();
02060     operator const H225_UnregistrationRequest &() const;
02061 #endif
02062 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02063     operator H225_UnregistrationConfirm &() const;
02064 #else
02065     operator H225_UnregistrationConfirm &();
02066     operator const H225_UnregistrationConfirm &() const;
02067 #endif
02068 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02069     operator H225_UnregistrationReject &() const;
02070 #else
02071     operator H225_UnregistrationReject &();
02072     operator const H225_UnregistrationReject &() const;
02073 #endif
02074 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02075     operator H225_AdmissionRequest &() const;
02076 #else
02077     operator H225_AdmissionRequest &();
02078     operator const H225_AdmissionRequest &() const;
02079 #endif
02080 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02081     operator H225_AdmissionConfirm &() const;
02082 #else
02083     operator H225_AdmissionConfirm &();
02084     operator const H225_AdmissionConfirm &() const;
02085 #endif
02086 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02087     operator H225_AdmissionReject &() const;
02088 #else
02089     operator H225_AdmissionReject &();
02090     operator const H225_AdmissionReject &() const;
02091 #endif
02092 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02093     operator H225_BandwidthRequest &() const;
02094 #else
02095     operator H225_BandwidthRequest &();
02096     operator const H225_BandwidthRequest &() const;
02097 #endif
02098 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02099     operator H225_BandwidthConfirm &() const;
02100 #else
02101     operator H225_BandwidthConfirm &();
02102     operator const H225_BandwidthConfirm &() const;
02103 #endif
02104 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02105     operator H225_BandwidthReject &() const;
02106 #else
02107     operator H225_BandwidthReject &();
02108     operator const H225_BandwidthReject &() const;
02109 #endif
02110 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02111     operator H225_DisengageRequest &() const;
02112 #else
02113     operator H225_DisengageRequest &();
02114     operator const H225_DisengageRequest &() const;
02115 #endif
02116 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02117     operator H225_DisengageConfirm &() const;
02118 #else
02119     operator H225_DisengageConfirm &();
02120     operator const H225_DisengageConfirm &() const;
02121 #endif
02122 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02123     operator H225_DisengageReject &() const;
02124 #else
02125     operator H225_DisengageReject &();
02126     operator const H225_DisengageReject &() const;
02127 #endif
02128 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02129     operator H225_LocationRequest &() const;
02130 #else
02131     operator H225_LocationRequest &();
02132     operator const H225_LocationRequest &() const;
02133 #endif
02134 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02135     operator H225_LocationConfirm &() const;
02136 #else
02137     operator H225_LocationConfirm &();
02138     operator const H225_LocationConfirm &() const;
02139 #endif
02140 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02141     operator H225_LocationReject &() const;
02142 #else
02143     operator H225_LocationReject &();
02144     operator const H225_LocationReject &() const;
02145 #endif
02146 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02147     operator H225_InfoRequest &() const;
02148 #else
02149     operator H225_InfoRequest &();
02150     operator const H225_InfoRequest &() const;
02151 #endif
02152 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02153     operator H225_InfoRequestResponse &() const;
02154 #else
02155     operator H225_InfoRequestResponse &();
02156     operator const H225_InfoRequestResponse &() const;
02157 #endif
02158 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02159     operator H225_NonStandardMessage &() const;
02160 #else
02161     operator H225_NonStandardMessage &();
02162     operator const H225_NonStandardMessage &() const;
02163 #endif
02164 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02165     operator H225_UnknownMessageResponse &() const;
02166 #else
02167     operator H225_UnknownMessageResponse &();
02168     operator const H225_UnknownMessageResponse &() const;
02169 #endif
02170 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02171     operator H225_RequestInProgress &() const;
02172 #else
02173     operator H225_RequestInProgress &();
02174     operator const H225_RequestInProgress &() const;
02175 #endif
02176 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02177     operator H225_ResourcesAvailableIndicate &() const;
02178 #else
02179     operator H225_ResourcesAvailableIndicate &();
02180     operator const H225_ResourcesAvailableIndicate &() const;
02181 #endif
02182 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02183     operator H225_ResourcesAvailableConfirm &() const;
02184 #else
02185     operator H225_ResourcesAvailableConfirm &();
02186     operator const H225_ResourcesAvailableConfirm &() const;
02187 #endif
02188 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02189     operator H225_InfoRequestAck &() const;
02190 #else
02191     operator H225_InfoRequestAck &();
02192     operator const H225_InfoRequestAck &() const;
02193 #endif
02194 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02195     operator H225_InfoRequestNak &() const;
02196 #else
02197     operator H225_InfoRequestNak &();
02198     operator const H225_InfoRequestNak &() const;
02199 #endif
02200 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02201     operator H225_ServiceControlIndication &() const;
02202 #else
02203     operator H225_ServiceControlIndication &();
02204     operator const H225_ServiceControlIndication &() const;
02205 #endif
02206 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02207     operator H225_ServiceControlResponse &() const;
02208 #else
02209     operator H225_ServiceControlResponse &();
02210     operator const H225_ServiceControlResponse &() const;
02211 #endif
02212 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02213     operator H225_ArrayOf_AdmissionConfirm &() const;
02214 #else
02215     operator H225_ArrayOf_AdmissionConfirm &();
02216     operator const H225_ArrayOf_AdmissionConfirm &() const;
02217 #endif
02218 
02219     BOOL CreateObject();
02220     PObject * Clone() const;
02221 };
02222 
02223 
02224 //
02225 // GatekeeperRejectReason
02226 //
02227 
02228 class H225_SecurityErrors;
02229 
02230 class H225_GatekeeperRejectReason : public PASN_Choice
02231 {
02232 #ifndef PASN_LEANANDMEAN
02233     PCLASSINFO(H225_GatekeeperRejectReason, PASN_Choice);
02234 #endif
02235   public:
02236     H225_GatekeeperRejectReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02237 
02238     enum Choices {
02239       e_resourceUnavailable,
02240       e_terminalExcluded,
02241       e_invalidRevision,
02242       e_undefinedReason,
02243       e_securityDenial,
02244       e_genericDataReason,
02245       e_neededFeatureNotSupported,
02246       e_securityError
02247     };
02248 
02249 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02250     operator H225_SecurityErrors &() const;
02251 #else
02252     operator H225_SecurityErrors &();
02253     operator const H225_SecurityErrors &() const;
02254 #endif
02255 
02256     BOOL CreateObject();
02257     PObject * Clone() const;
02258 };
02259 
02260 
02261 //
02262 // RegistrationRejectReason
02263 //
02264 
02265 class H225_ArrayOf_AliasAddress;
02266 class H225_RegistrationRejectReason_invalidTerminalAliases;
02267 class H225_SecurityErrors;
02268 
02269 class H225_RegistrationRejectReason : public PASN_Choice
02270 {
02271 #ifndef PASN_LEANANDMEAN
02272     PCLASSINFO(H225_RegistrationRejectReason, PASN_Choice);
02273 #endif
02274   public:
02275     H225_RegistrationRejectReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02276 
02277     enum Choices {
02278       e_discoveryRequired,
02279       e_invalidRevision,
02280       e_invalidCallSignalAddress,
02281       e_invalidRASAddress,
02282       e_duplicateAlias,
02283       e_invalidTerminalType,
02284       e_undefinedReason,
02285       e_transportNotSupported,
02286       e_transportQOSNotSupported,
02287       e_resourceUnavailable,
02288       e_invalidAlias,
02289       e_securityDenial,
02290       e_fullRegistrationRequired,
02291       e_additiveRegistrationNotSupported,
02292       e_invalidTerminalAliases,
02293       e_genericDataReason,
02294       e_neededFeatureNotSupported,
02295       e_securityError,
02296       e_registerWithAssignedGK
02297     };
02298 
02299 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02300     operator H225_ArrayOf_AliasAddress &() const;
02301 #else
02302     operator H225_ArrayOf_AliasAddress &();
02303     operator const H225_ArrayOf_AliasAddress &() const;
02304 #endif
02305 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02306     operator H225_RegistrationRejectReason_invalidTerminalAliases &() const;
02307 #else
02308     operator H225_RegistrationRejectReason_invalidTerminalAliases &();
02309     operator const H225_RegistrationRejectReason_invalidTerminalAliases &() const;
02310 #endif
02311 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02312     operator H225_SecurityErrors &() const;
02313 #else
02314     operator H225_SecurityErrors &();
02315     operator const H225_SecurityErrors &() const;
02316 #endif
02317 
02318     BOOL CreateObject();
02319     PObject * Clone() const;
02320 };
02321 
02322 
02323 //
02324 // UnregRequestReason
02325 //
02326 
02327 class H225_SecurityErrors2;
02328 
02329 class H225_UnregRequestReason : public PASN_Choice
02330 {
02331 #ifndef PASN_LEANANDMEAN
02332     PCLASSINFO(H225_UnregRequestReason, PASN_Choice);
02333 #endif
02334   public:
02335     H225_UnregRequestReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02336 
02337     enum Choices {
02338       e_reregistrationRequired,
02339       e_ttlExpired,
02340       e_securityDenial,
02341       e_undefinedReason,
02342       e_maintenance,
02343       e_securityError,
02344       e_registerWithAssignedGK
02345     };
02346 
02347 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02348     operator H225_SecurityErrors2 &() const;
02349 #else
02350     operator H225_SecurityErrors2 &();
02351     operator const H225_SecurityErrors2 &() const;
02352 #endif
02353 
02354     BOOL CreateObject();
02355     PObject * Clone() const;
02356 };
02357 
02358 
02359 //
02360 // UnregRejectReason
02361 //
02362 
02363 class H225_SecurityErrors2;
02364 
02365 class H225_UnregRejectReason : public PASN_Choice
02366 {
02367 #ifndef PASN_LEANANDMEAN
02368     PCLASSINFO(H225_UnregRejectReason, PASN_Choice);
02369 #endif
02370   public:
02371     H225_UnregRejectReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02372 
02373     enum Choices {
02374       e_notCurrentlyRegistered,
02375       e_callInProgress,
02376       e_undefinedReason,
02377       e_permissionDenied,
02378       e_securityDenial,
02379       e_securityError
02380     };
02381 
02382 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02383     operator H225_SecurityErrors2 &() const;
02384 #else
02385     operator H225_SecurityErrors2 &();
02386     operator const H225_SecurityErrors2 &() const;
02387 #endif
02388 
02389     BOOL CreateObject();
02390     PObject * Clone() const;
02391 };
02392 
02393 
02394 //
02395 // CallType
02396 //
02397 
02398 class H225_CallType : public PASN_Choice
02399 {
02400 #ifndef PASN_LEANANDMEAN
02401     PCLASSINFO(H225_CallType, PASN_Choice);
02402 #endif
02403   public:
02404     H225_CallType(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02405 
02406     enum Choices {
02407       e_pointToPoint,
02408       e_oneToN,
02409       e_nToOne,
02410       e_nToN
02411     };
02412 
02413     BOOL CreateObject();
02414     PObject * Clone() const;
02415 };
02416 
02417 
02418 //
02419 // CallModel
02420 //
02421 
02422 class H225_CallModel : public PASN_Choice
02423 {
02424 #ifndef PASN_LEANANDMEAN
02425     PCLASSINFO(H225_CallModel, PASN_Choice);
02426 #endif
02427   public:
02428     H225_CallModel(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02429 
02430     enum Choices {
02431       e_direct,
02432       e_gatekeeperRouted
02433     };
02434 
02435     BOOL CreateObject();
02436     PObject * Clone() const;
02437 };
02438 
02439 
02440 //
02441 // TransportQOS
02442 //
02443 
02444 class H225_ArrayOf_QOSCapability;
02445 
02446 class H225_TransportQOS : public PASN_Choice
02447 {
02448 #ifndef PASN_LEANANDMEAN
02449     PCLASSINFO(H225_TransportQOS, PASN_Choice);
02450 #endif
02451   public:
02452     H225_TransportQOS(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02453 
02454     enum Choices {
02455       e_endpointControlled,
02456       e_gatekeeperControlled,
02457       e_noControl,
02458       e_qOSCapabilities
02459     };
02460 
02461 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02462     operator H225_ArrayOf_QOSCapability &() const;
02463 #else
02464     operator H225_ArrayOf_QOSCapability &();
02465     operator const H225_ArrayOf_QOSCapability &() const;
02466 #endif
02467 
02468     BOOL CreateObject();
02469     PObject * Clone() const;
02470 };
02471 
02472 
02473 //
02474 // UUIEsRequested
02475 //
02476 
02477 class H225_UUIEsRequested : public PASN_Sequence
02478 {
02479 #ifndef PASN_LEANANDMEAN
02480     PCLASSINFO(H225_UUIEsRequested, PASN_Sequence);
02481 #endif
02482   public:
02483     H225_UUIEsRequested(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02484 
02485     enum OptionalFields {
02486       e_status,
02487       e_statusInquiry,
02488       e_setupAcknowledge,
02489       e_notify
02490     };
02491 
02492     PASN_Boolean m_setup;
02493     PASN_Boolean m_callProceeding;
02494     PASN_Boolean m_connect;
02495     PASN_Boolean m_alerting;
02496     PASN_Boolean m_information;
02497     PASN_Boolean m_releaseComplete;
02498     PASN_Boolean m_facility;
02499     PASN_Boolean m_progress;
02500     PASN_Boolean m_empty;
02501     PASN_Boolean m_status;
02502     PASN_Boolean m_statusInquiry;
02503     PASN_Boolean m_setupAcknowledge;
02504     PASN_Boolean m_notify;
02505 
02506     PINDEX GetDataLength() const;
02507     BOOL Decode(PASN_Stream & strm);
02508     void Encode(PASN_Stream & strm) const;
02509 #ifndef PASN_NOPRINTON
02510     void PrintOn(ostream & strm) const;
02511 #endif
02512     Comparison Compare(const PObject & obj) const;
02513     PObject * Clone() const;
02514 };
02515 
02516 
02517 //
02518 // AdmissionRejectReason
02519 //
02520 
02521 class H225_ArrayOf_PartyNumber;
02522 class H225_SecurityErrors2;
02523 
02524 class H225_AdmissionRejectReason : public PASN_Choice
02525 {
02526 #ifndef PASN_LEANANDMEAN
02527     PCLASSINFO(H225_AdmissionRejectReason, PASN_Choice);
02528 #endif
02529   public:
02530     H225_AdmissionRejectReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02531 
02532     enum Choices {
02533       e_calledPartyNotRegistered,
02534       e_invalidPermission,
02535       e_requestDenied,
02536       e_undefinedReason,
02537       e_callerNotRegistered,
02538       e_routeCallToGatekeeper,
02539       e_invalidEndpointIdentifier,
02540       e_resourceUnavailable,
02541       e_securityDenial,
02542       e_qosControlNotSupported,
02543       e_incompleteAddress,
02544       e_aliasesInconsistent,
02545       e_routeCallToSCN,
02546       e_exceedsCallCapacity,
02547       e_collectDestination,
02548       e_collectPIN,
02549       e_genericDataReason,
02550       e_neededFeatureNotSupported,
02551       e_securityErrors,
02552       e_securityDHmismatch,
02553       e_noRouteToDestination,
02554       e_unallocatedNumber,
02555       e_registerWithAssignedGK
02556     };
02557 
02558 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02559     operator H225_ArrayOf_PartyNumber &() const;
02560 #else
02561     operator H225_ArrayOf_PartyNumber &();
02562     operator const H225_ArrayOf_PartyNumber &() const;
02563 #endif
02564 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02565     operator H225_SecurityErrors2 &() const;
02566 #else
02567     operator H225_SecurityErrors2 &();
02568     operator const H225_SecurityErrors2 &() const;
02569 #endif
02570 
02571     BOOL CreateObject();
02572     PObject * Clone() const;
02573 };
02574 
02575 
02576 //
02577 // BandRejectReason
02578 //
02579 
02580 class H225_SecurityErrors2;
02581 
02582 class H225_BandRejectReason : public PASN_Choice
02583 {
02584 #ifndef PASN_LEANANDMEAN
02585     PCLASSINFO(H225_BandRejectReason, PASN_Choice);
02586 #endif
02587   public:
02588     H225_BandRejectReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02589 
02590     enum Choices {
02591       e_notBound,
02592       e_invalidConferenceID,
02593       e_invalidPermission,
02594       e_insufficientResources,
02595       e_invalidRevision,
02596       e_undefinedReason,
02597       e_securityDenial,
02598       e_securityError
02599     };
02600 
02601 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02602     operator H225_SecurityErrors2 &() const;
02603 #else
02604     operator H225_SecurityErrors2 &();
02605     operator const H225_SecurityErrors2 &() const;
02606 #endif
02607 
02608     BOOL CreateObject();
02609     PObject * Clone() const;
02610 };
02611 
02612 
02613 //
02614 // LocationRejectReason
02615 //
02616 
02617 class H225_ArrayOf_PartyNumber;
02618 class H225_SecurityErrors2;
02619 
02620 class H225_LocationRejectReason : public PASN_Choice
02621 {
02622 #ifndef PASN_LEANANDMEAN
02623     PCLASSINFO(H225_LocationRejectReason, PASN_Choice);
02624 #endif
02625   public:
02626     H225_LocationRejectReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02627 
02628     enum Choices {
02629       e_notRegistered,
02630       e_invalidPermission,
02631       e_requestDenied,
02632       e_undefinedReason,
02633       e_securityDenial,
02634       e_aliasesInconsistent,
02635       e_routeCalltoSCN,
02636       e_resourceUnavailable,
02637       e_genericDataReason,
02638       e_neededFeatureNotSupported,
02639       e_hopCountExceeded,
02640       e_incompleteAddress,
02641       e_securityError,
02642       e_securityDHmismatch,
02643       e_noRouteToDestination,
02644       e_unallocatedNumber
02645     };
02646 
02647 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02648     operator H225_ArrayOf_PartyNumber &() const;
02649 #else
02650     operator H225_ArrayOf_PartyNumber &();
02651     operator const H225_ArrayOf_PartyNumber &() const;
02652 #endif
02653 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02654     operator H225_SecurityErrors2 &() const;
02655 #else
02656     operator H225_SecurityErrors2 &();
02657     operator const H225_SecurityErrors2 &() const;
02658 #endif
02659 
02660     BOOL CreateObject();
02661     PObject * Clone() const;
02662 };
02663 
02664 
02665 //
02666 // DisengageReason
02667 //
02668 
02669 class H225_DisengageReason : public PASN_Choice
02670 {
02671 #ifndef PASN_LEANANDMEAN
02672     PCLASSINFO(H225_DisengageReason, PASN_Choice);
02673 #endif
02674   public:
02675     H225_DisengageReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02676 
02677     enum Choices {
02678       e_forcedDrop,
02679       e_normalDrop,
02680       e_undefinedReason
02681     };
02682 
02683     BOOL CreateObject();
02684     PObject * Clone() const;
02685 };
02686 
02687 
02688 //
02689 // DisengageRejectReason
02690 //
02691 
02692 class H225_SecurityErrors2;
02693 
02694 class H225_DisengageRejectReason : public PASN_Choice
02695 {
02696 #ifndef PASN_LEANANDMEAN
02697     PCLASSINFO(H225_DisengageRejectReason, PASN_Choice);
02698 #endif
02699   public:
02700     H225_DisengageRejectReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02701 
02702     enum Choices {
02703       e_notRegistered,
02704       e_requestToDropOther,
02705       e_securityDenial,
02706       e_securityError
02707     };
02708 
02709 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02710     operator H225_SecurityErrors2 &() const;
02711 #else
02712     operator H225_SecurityErrors2 &();
02713     operator const H225_SecurityErrors2 &() const;
02714 #endif
02715 
02716     BOOL CreateObject();
02717     PObject * Clone() const;
02718 };
02719 
02720 
02721 //
02722 // InfoRequestResponseStatus
02723 //
02724 
02725 class H225_InfoRequestResponseStatus : public PASN_Choice
02726 {
02727 #ifndef PASN_LEANANDMEAN
02728     PCLASSINFO(H225_InfoRequestResponseStatus, PASN_Choice);
02729 #endif
02730   public:
02731     H225_InfoRequestResponseStatus(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02732 
02733     enum Choices {
02734       e_complete,
02735       e_incomplete,
02736       e_segment,
02737       e_invalidCall
02738     };
02739 
02740     BOOL CreateObject();
02741     PObject * Clone() const;
02742 };
02743 
02744 
02745 //
02746 // InfoRequestNakReason
02747 //
02748 
02749 class H225_SecurityErrors2;
02750 
02751 class H225_InfoRequestNakReason : public PASN_Choice
02752 {
02753 #ifndef PASN_LEANANDMEAN
02754     PCLASSINFO(H225_InfoRequestNakReason, PASN_Choice);
02755 #endif
02756   public:
02757     H225_InfoRequestNakReason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02758 
02759     enum Choices {
02760       e_notRegistered,
02761       e_securityDenial,
02762       e_undefinedReason,
02763       e_securityError
02764     };
02765 
02766 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02767     operator H225_SecurityErrors2 &() const;
02768 #else
02769     operator H225_SecurityErrors2 &();
02770     operator const H225_SecurityErrors2 &() const;
02771 #endif
02772 
02773     BOOL CreateObject();
02774     PObject * Clone() const;
02775 };
02776 
02777 
02778 //
02779 // H323-UserInformation_user-data
02780 //
02781 
02782 class H225_H323_UserInformation_user_data : public PASN_Sequence
02783 {
02784 #ifndef PASN_LEANANDMEAN
02785     PCLASSINFO(H225_H323_UserInformation_user_data, PASN_Sequence);
02786 #endif
02787   public:
02788     H225_H323_UserInformation_user_data(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02789 
02790     PASN_Integer m_protocol_discriminator;
02791     PASN_OctetString m_user_information;
02792 
02793     PINDEX GetDataLength() const;
02794     BOOL Decode(PASN_Stream & strm);
02795     void Encode(PASN_Stream & strm) const;
02796 #ifndef PASN_NOPRINTON
02797     void PrintOn(ostream & strm) const;
02798 #endif
02799     Comparison Compare(const PObject & obj) const;
02800     PObject * Clone() const;
02801 };
02802 
02803 
02804 //
02805 // H323-UU-PDU_h323-message-body
02806 //
02807 
02808 class H225_Setup_UUIE;
02809 class H225_CallProceeding_UUIE;
02810 class H225_Connect_UUIE;
02811 class H225_Alerting_UUIE;
02812 class H225_Information_UUIE;
02813 class H225_ReleaseComplete_UUIE;
02814 class H225_Facility_UUIE;
02815 class H225_Progress_UUIE;
02816 class H225_Status_UUIE;
02817 class H225_StatusInquiry_UUIE;
02818 class H225_SetupAcknowledge_UUIE;
02819 class H225_Notify_UUIE;
02820 
02821 class H225_H323_UU_PDU_h323_message_body : public PASN_Choice
02822 {
02823 #ifndef PASN_LEANANDMEAN
02824     PCLASSINFO(H225_H323_UU_PDU_h323_message_body, PASN_Choice);
02825 #endif
02826   public:
02827     H225_H323_UU_PDU_h323_message_body(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
02828 
02829     enum Choices {
02830       e_setup,
02831       e_callProceeding,
02832       e_connect,
02833       e_alerting,
02834       e_information,
02835       e_releaseComplete,
02836       e_facility,
02837       e_progress,
02838       e_empty,
02839       e_status,
02840       e_statusInquiry,
02841       e_setupAcknowledge,
02842       e_notify
02843     };
02844 
02845 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02846     operator H225_Setup_UUIE &() const;
02847 #else
02848     operator H225_Setup_UUIE &();
02849     operator const H225_Setup_UUIE &() const;
02850 #endif
02851 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02852     operator H225_CallProceeding_UUIE &() const;
02853 #else
02854     operator H225_CallProceeding_UUIE &();
02855     operator const H225_CallProceeding_UUIE &() const;
02856 #endif
02857 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02858     operator H225_Connect_UUIE &() const;
02859 #else
02860     operator H225_Connect_UUIE &();
02861     operator const H225_Connect_UUIE &() const;
02862 #endif
02863 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02864     operator H225_Alerting_UUIE &() const;
02865 #else
02866     operator H225_Alerting_UUIE &();
02867     operator const H225_Alerting_UUIE &() const;
02868 #endif
02869 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02870     operator H225_Information_UUIE &() const;
02871 #else
02872     operator H225_Information_UUIE &();
02873     operator const H225_Information_UUIE &() const;
02874 #endif
02875 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02876     operator H225_ReleaseComplete_UUIE &() const;
02877 #else
02878     operator H225_ReleaseComplete_UUIE &();
02879     operator const H225_ReleaseComplete_UUIE &() const;
02880 #endif
02881 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02882     operator H225_Facility_UUIE &() const;
02883 #else
02884     operator H225_Facility_UUIE &();
02885     operator const H225_Facility_UUIE &() const;
02886 #endif
02887 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02888     operator H225_Progress_UUIE &() const;
02889 #else
02890     operator H225_Progress_UUIE &();
02891     operator const H225_Progress_UUIE &() const;
02892 #endif
02893 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02894     operator H225_Status_UUIE &() const;
02895 #else
02896     operator H225_Status_UUIE &();
02897     operator const H225_Status_UUIE &() const;
02898 #endif
02899 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02900     operator H225_StatusInquiry_UUIE &() const;
02901 #else
02902     operator H225_StatusInquiry_UUIE &();
02903     operator const H225_StatusInquiry_UUIE &() const;
02904 #endif
02905 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02906     operator H225_SetupAcknowledge_UUIE &() const;
02907 #else
02908     operator H225_SetupAcknowledge_UUIE &();
02909     operator const H225_SetupAcknowledge_UUIE &() const;
02910 #endif
02911 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
02912     operator H225_Notify_UUIE &() const;
02913 #else
02914     operator H225_Notify_UUIE &();
02915     operator const H225_Notify_UUIE &() const;
02916 #endif
02917 
02918     BOOL CreateObject();
02919     PObject * Clone() const;
02920 };
02921 
02922 
02923 //
02924 // ArrayOf_PASN_OctetString
02925 //
02926 
02927 class H225_ArrayOf_PASN_OctetString : public PASN_Array
02928 {
02929 #ifndef PASN_LEANANDMEAN
02930     PCLASSINFO(H225_ArrayOf_PASN_OctetString, PASN_Array);
02931 #endif
02932   public:
02933     H225_ArrayOf_PASN_OctetString(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02934 
02935     PASN_Object * CreateObject() const;
02936     PASN_OctetString & operator[](PINDEX i) const;
02937     PObject * Clone() const;
02938 };
02939 
02940 
02941 //
02942 // ArrayOf_NonStandardParameter
02943 //
02944 
02945 class H225_NonStandardParameter;
02946 
02947 class H225_ArrayOf_NonStandardParameter : public PASN_Array
02948 {
02949 #ifndef PASN_LEANANDMEAN
02950     PCLASSINFO(H225_ArrayOf_NonStandardParameter, PASN_Array);
02951 #endif
02952   public:
02953     H225_ArrayOf_NonStandardParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02954 
02955     PASN_Object * CreateObject() const;
02956     H225_NonStandardParameter & operator[](PINDEX i) const;
02957     PObject * Clone() const;
02958 };
02959 
02960 
02961 //
02962 // ArrayOf_GenericData
02963 //
02964 
02965 class H225_GenericData;
02966 
02967 class H225_ArrayOf_GenericData : public PASN_Array
02968 {
02969 #ifndef PASN_LEANANDMEAN
02970     PCLASSINFO(H225_ArrayOf_GenericData, PASN_Array);
02971 #endif
02972   public:
02973     H225_ArrayOf_GenericData(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02974 
02975     PASN_Object * CreateObject() const;
02976     H225_GenericData & operator[](PINDEX i) const;
02977     PObject * Clone() const;
02978 };
02979 
02980 
02981 //
02982 // ArrayOf_ClearToken
02983 //
02984 
02985 class H235_ClearToken;
02986 
02987 class H225_ArrayOf_ClearToken : public PASN_Array
02988 {
02989 #ifndef PASN_LEANANDMEAN
02990     PCLASSINFO(H225_ArrayOf_ClearToken, PASN_Array);
02991 #endif
02992   public:
02993     H225_ArrayOf_ClearToken(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
02994 
02995     PASN_Object * CreateObject() const;
02996     H235_ClearToken & operator[](PINDEX i) const;
02997     PObject * Clone() const;
02998 };
02999 
03000 
03001 //
03002 // ArrayOf_CryptoH323Token
03003 //
03004 
03005 class H225_CryptoH323Token;
03006 
03007 class H225_ArrayOf_CryptoH323Token : public PASN_Array
03008 {
03009 #ifndef PASN_LEANANDMEAN
03010     PCLASSINFO(H225_ArrayOf_CryptoH323Token, PASN_Array);
03011 #endif
03012   public:
03013     H225_ArrayOf_CryptoH323Token(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03014 
03015     PASN_Object * CreateObject() const;
03016     H225_CryptoH323Token & operator[](PINDEX i) const;
03017     PObject * Clone() const;
03018 };
03019 
03020 
03021 //
03022 // ArrayOf_AliasAddress
03023 //
03024 
03025 class H225_AliasAddress;
03026 
03027 class H225_ArrayOf_AliasAddress : public PASN_Array
03028 {
03029 #ifndef PASN_LEANANDMEAN
03030     PCLASSINFO(H225_ArrayOf_AliasAddress, PASN_Array);
03031 #endif
03032   public:
03033     H225_ArrayOf_AliasAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03034 
03035     PASN_Object * CreateObject() const;
03036     H225_AliasAddress & operator[](PINDEX i) const;
03037     PObject * Clone() const;
03038 };
03039 
03040 
03041 //
03042 // ArrayOf_ServiceControlSession
03043 //
03044 
03045 class H225_ServiceControlSession;
03046 
03047 class H225_ArrayOf_ServiceControlSession : public PASN_Array
03048 {
03049 #ifndef PASN_LEANANDMEAN
03050     PCLASSINFO(H225_ArrayOf_ServiceControlSession, PASN_Array);
03051 #endif
03052   public:
03053     H225_ArrayOf_ServiceControlSession(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03054 
03055     PASN_Object * CreateObject() const;
03056     H225_ServiceControlSession & operator[](PINDEX i) const;
03057     PObject * Clone() const;
03058 };
03059 
03060 
03061 //
03062 // Connect-UUIE_language
03063 //
03064 
03065 class H225_Connect_UUIE_language : public PASN_Array
03066 {
03067 #ifndef PASN_LEANANDMEAN
03068     PCLASSINFO(H225_Connect_UUIE_language, PASN_Array);
03069 #endif
03070   public:
03071     H225_Connect_UUIE_language(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03072 
03073     PASN_Object * CreateObject() const;
03074     PASN_IA5String & operator[](PINDEX i) const;
03075     PObject * Clone() const;
03076 };
03077 
03078 
03079 //
03080 // ArrayOf_CallReferenceValue
03081 //
03082 
03083 class H225_CallReferenceValue;
03084 
03085 class H225_ArrayOf_CallReferenceValue : public PASN_Array
03086 {
03087 #ifndef PASN_LEANANDMEAN
03088     PCLASSINFO(H225_ArrayOf_CallReferenceValue, PASN_Array);
03089 #endif
03090   public:
03091     H225_ArrayOf_CallReferenceValue(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03092 
03093     PASN_Object * CreateObject() const;
03094     H225_CallReferenceValue & operator[](PINDEX i) const;
03095     PObject * Clone() const;
03096 };
03097 
03098 
03099 //
03100 // Setup-UUIE_conferenceGoal
03101 //
03102 
03103 class H225_Setup_UUIE_conferenceGoal : public PASN_Choice
03104 {
03105 #ifndef PASN_LEANANDMEAN
03106     PCLASSINFO(H225_Setup_UUIE_conferenceGoal, PASN_Choice);
03107 #endif
03108   public:
03109     H225_Setup_UUIE_conferenceGoal(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
03110 
03111     enum Choices {
03112       e_create,
03113       e_join,
03114       e_invite,
03115       e_capability_negotiation,
03116       e_callIndependentSupplementaryService
03117     };
03118 
03119     BOOL CreateObject();
03120     PObject * Clone() const;
03121 };
03122 
03123 
03124 //
03125 // ArrayOf_H245Security
03126 //
03127 
03128 class H225_H245Security;
03129 
03130 class H225_ArrayOf_H245Security : public PASN_Array
03131 {
03132 #ifndef PASN_LEANANDMEAN
03133     PCLASSINFO(H225_ArrayOf_H245Security, PASN_Array);
03134 #endif
03135   public:
03136     H225_ArrayOf_H245Security(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03137 
03138     PASN_Object * CreateObject() const;
03139     H225_H245Security & operator[](PINDEX i) const;
03140     PObject * Clone() const;
03141 };
03142 
03143 
03144 //
03145 // Setup-UUIE_connectionParameters
03146 //
03147 
03148 class H225_Setup_UUIE_connectionParameters : public PASN_Sequence
03149 {
03150 #ifndef PASN_LEANANDMEAN
03151     PCLASSINFO(H225_Setup_UUIE_connectionParameters, PASN_Sequence);
03152 #endif
03153   public:
03154     H225_Setup_UUIE_connectionParameters(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03155 
03156     H225_ScnConnectionType m_connectionType;
03157     PASN_Integer m_numberOfScnConnections;
03158     H225_ScnConnectionAggregation m_connectionAggregation;
03159 
03160     PINDEX GetDataLength() const;
03161     BOOL Decode(PASN_Stream & strm);
03162     void Encode(PASN_Stream & strm) const;
03163 #ifndef PASN_NOPRINTON
03164     void PrintOn(ostream & strm) const;
03165 #endif
03166     Comparison Compare(const PObject & obj) const;
03167     PObject * Clone() const;
03168 };
03169 
03170 
03171 //
03172 // Setup-UUIE_language
03173 //
03174 
03175 class H225_Setup_UUIE_language : public PASN_Array
03176 {
03177 #ifndef PASN_LEANANDMEAN
03178     PCLASSINFO(H225_Setup_UUIE_language, PASN_Array);
03179 #endif
03180   public:
03181     H225_Setup_UUIE_language(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03182 
03183     PASN_Object * CreateObject() const;
03184     PASN_IA5String & operator[](PINDEX i) const;
03185     PObject * Clone() const;
03186 };
03187 
03188 
03189 //
03190 // ArrayOf_SupportedProtocols
03191 //
03192 
03193 class H225_SupportedProtocols;
03194 
03195 class H225_ArrayOf_SupportedProtocols : public PASN_Array
03196 {
03197 #ifndef PASN_LEANANDMEAN
03198     PCLASSINFO(H225_ArrayOf_SupportedProtocols, PASN_Array);
03199 #endif
03200   public:
03201     H225_ArrayOf_SupportedProtocols(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03202 
03203     PASN_Object * CreateObject() const;
03204     H225_SupportedProtocols & operator[](PINDEX i) const;
03205     PObject * Clone() const;
03206 };
03207 
03208 
03209 //
03210 // ArrayOf_FeatureDescriptor
03211 //
03212 
03213 class H225_FeatureDescriptor;
03214 
03215 class H225_ArrayOf_FeatureDescriptor : public PASN_Array
03216 {
03217 #ifndef PASN_LEANANDMEAN
03218     PCLASSINFO(H225_ArrayOf_FeatureDescriptor, PASN_Array);
03219 #endif
03220   public:
03221     H225_ArrayOf_FeatureDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03222 
03223     PASN_Object * CreateObject() const;
03224     H225_FeatureDescriptor & operator[](PINDEX i) const;
03225     PObject * Clone() const;
03226 };
03227 
03228 
03229 //
03230 // ArrayOf_ExtendedAliasAddress
03231 //
03232 
03233 class H225_ExtendedAliasAddress;
03234 
03235 class H225_ArrayOf_ExtendedAliasAddress : public PASN_Array
03236 {
03237 #ifndef PASN_LEANANDMEAN
03238     PCLASSINFO(H225_ArrayOf_ExtendedAliasAddress, PASN_Array);
03239 #endif
03240   public:
03241     H225_ArrayOf_ExtendedAliasAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03242 
03243     PASN_Object * CreateObject() const;
03244     H225_ExtendedAliasAddress & operator[](PINDEX i) const;
03245     PObject * Clone() const;
03246 };
03247 
03248 
03249 //
03250 // ArrayOf_ConferenceList
03251 //
03252 
03253 class H225_ConferenceList;
03254 
03255 class H225_ArrayOf_ConferenceList : public PASN_Array
03256 {
03257 #ifndef PASN_LEANANDMEAN
03258     PCLASSINFO(H225_ArrayOf_ConferenceList, PASN_Array);
03259 #endif
03260   public:
03261     H225_ArrayOf_ConferenceList(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03262 
03263     PASN_Object * CreateObject() const;
03264     H225_ConferenceList & operator[](PINDEX i) const;
03265     PObject * Clone() const;
03266 };
03267 
03268 
03269 //
03270 // TransportAddress_ipAddress
03271 //
03272 
03273 class H225_TransportAddress_ipAddress : public PASN_Sequence
03274 {
03275 #ifndef PASN_LEANANDMEAN
03276     PCLASSINFO(H225_TransportAddress_ipAddress, PASN_Sequence);
03277 #endif
03278   public:
03279     H225_TransportAddress_ipAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03280 
03281     PASN_OctetString m_ip;
03282     PASN_Integer m_port;
03283 
03284     PINDEX GetDataLength() const;
03285     BOOL Decode(PASN_Stream & strm);
03286     void Encode(PASN_Stream & strm) const;
03287 #ifndef PASN_NOPRINTON
03288     void PrintOn(ostream & strm) const;
03289 #endif
03290     Comparison Compare(const PObject & obj) const;
03291     PObject * Clone() const;
03292 };
03293 
03294 
03295 //
03296 // TransportAddress_ipxAddress
03297 //
03298 
03299 class H225_TransportAddress_ipxAddress : public PASN_Sequence
03300 {
03301 #ifndef PASN_LEANANDMEAN
03302     PCLASSINFO(H225_TransportAddress_ipxAddress, PASN_Sequence);
03303 #endif
03304   public:
03305     H225_TransportAddress_ipxAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03306 
03307     PASN_OctetString m_node;
03308     PASN_OctetString m_netnum;
03309     PASN_OctetString m_port;
03310 
03311     PINDEX GetDataLength() const;
03312     BOOL Decode(PASN_Stream & strm);
03313     void Encode(PASN_Stream & strm) const;
03314 #ifndef PASN_NOPRINTON
03315     void PrintOn(ostream & strm) const;
03316 #endif
03317     Comparison Compare(const PObject & obj) const;
03318     PObject * Clone() const;
03319 };
03320 
03321 
03322 //
03323 // TransportAddress_ip6Address
03324 //
03325 
03326 class H225_TransportAddress_ip6Address : public PASN_Sequence
03327 {
03328 #ifndef PASN_LEANANDMEAN
03329     PCLASSINFO(H225_TransportAddress_ip6Address, PASN_Sequence);
03330 #endif
03331   public:
03332     H225_TransportAddress_ip6Address(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03333 
03334     PASN_OctetString m_ip;
03335     PASN_Integer m_port;
03336 
03337     PINDEX GetDataLength() const;
03338     BOOL Decode(PASN_Stream & strm);
03339     void Encode(PASN_Stream & strm) const;
03340 #ifndef PASN_NOPRINTON
03341     void PrintOn(ostream & strm) const;
03342 #endif
03343     Comparison Compare(const PObject & obj) const;
03344     PObject * Clone() const;
03345 };
03346 
03347 
03348 //
03349 // ArrayOf_TunnelledProtocol
03350 //
03351 
03352 class H225_TunnelledProtocol;
03353 
03354 class H225_ArrayOf_TunnelledProtocol : public PASN_Array
03355 {
03356 #ifndef PASN_LEANANDMEAN
03357     PCLASSINFO(H225_ArrayOf_TunnelledProtocol, PASN_Array);
03358 #endif
03359   public:
03360     H225_ArrayOf_TunnelledProtocol(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03361 
03362     PASN_Object * CreateObject() const;
03363     H225_TunnelledProtocol & operator[](PINDEX i) const;
03364     PObject * Clone() const;
03365 };
03366 
03367 
03368 //
03369 // ArrayOf_DataRate
03370 //
03371 
03372 class H225_DataRate;
03373 
03374 class H225_ArrayOf_DataRate : public PASN_Array
03375 {
03376 #ifndef PASN_LEANANDMEAN
03377     PCLASSINFO(H225_ArrayOf_DataRate, PASN_Array);
03378 #endif
03379   public:
03380     H225_ArrayOf_DataRate(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03381 
03382     PASN_Object * CreateObject() const;
03383     H225_DataRate & operator[](PINDEX i) const;
03384     PObject * Clone() const;
03385 };
03386 
03387 
03388 //
03389 // ArrayOf_SupportedPrefix
03390 //
03391 
03392 class H225_SupportedPrefix;
03393 
03394 class H225_ArrayOf_SupportedPrefix : public PASN_Array
03395 {
03396 #ifndef PASN_LEANANDMEAN
03397     PCLASSINFO(H225_ArrayOf_SupportedPrefix, PASN_Array);
03398 #endif
03399   public:
03400     H225_ArrayOf_SupportedPrefix(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03401 
03402     PASN_Object * CreateObject() const;
03403     H225_SupportedPrefix & operator[](PINDEX i) const;
03404     PObject * Clone() const;
03405 };
03406 
03407 
03408 //
03409 // TunnelledProtocol_id
03410 //
03411 
03412 class H225_TunnelledProtocolAlternateIdentifier;
03413 
03414 class H225_TunnelledProtocol_id : public PASN_Choice
03415 {
03416 #ifndef PASN_LEANANDMEAN
03417     PCLASSINFO(H225_TunnelledProtocol_id, PASN_Choice);
03418 #endif
03419   public:
03420     H225_TunnelledProtocol_id(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
03421 
03422     enum Choices {
03423       e_tunnelledProtocolObjectID,
03424       e_tunnelledProtocolAlternateID
03425     };
03426 
03427 #if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9
03428     operator H225_TunnelledProtocolAlternateIdentifier &() const;
03429 #else
03430     operator H225_TunnelledProtocolAlternateIdentifier &();
03431     operator const H225_TunnelledProtocolAlternateIdentifier &() const;
03432 #endif
03433 
03434     BOOL CreateObject();
03435     PObject * Clone() const;
03436 };
03437 
03438 
03439 //
03440 // AddressPattern_range
03441 //
03442 
03443 class H225_AddressPattern_range : public PASN_Sequence
03444 {
03445 #ifndef PASN_LEANANDMEAN
03446     PCLASSINFO(H225_AddressPattern_range, PASN_Sequence);
03447 #endif
03448   public:
03449     H225_AddressPattern_range(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03450 
03451     H225_PartyNumber m_startOfRange;
03452     H225_PartyNumber m_endOfRange;
03453 
03454     PINDEX GetDataLength() const;
03455     BOOL Decode(PASN_Stream & strm);
03456     void Encode(PASN_Stream & strm) const;
03457 #ifndef PASN_NOPRINTON
03458     void PrintOn(ostream & strm) const;
03459 #endif
03460     Comparison Compare(const PObject & obj) const;
03461     PObject * Clone() const;
03462 };
03463 
03464 
03465 //
03466 // ANSI-41-UIM_system-id
03467 //
03468 
03469 class H225_ANSI_41_UIM_system_id : public PASN_Choice
03470 {
03471 #ifndef PASN_LEANANDMEAN
03472     PCLASSINFO(H225_ANSI_41_UIM_system_id, PASN_Choice);
03473 #endif
03474   public:
03475     H225_ANSI_41_UIM_system_id(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
03476 
03477     enum Choices {
03478       e_sid,
03479       e_mid
03480     };
03481 
03482     BOOL CreateObject();
03483     PObject * Clone() const;
03484 };
03485 
03486 
03487 //
03488 // ArrayOf_TransportAddress
03489 //
03490 
03491 class H225_TransportAddress;
03492 
03493 class H225_ArrayOf_TransportAddress : public PASN_Array
03494 {
03495 #ifndef PASN_LEANANDMEAN
03496     PCLASSINFO(H225_ArrayOf_TransportAddress, PASN_Array);
03497 #endif
03498   public:
03499     H225_ArrayOf_TransportAddress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03500 
03501     PASN_Object * CreateObject() const;
03502     H225_TransportAddress & operator[](PINDEX i) const;
03503     PObject * Clone() const;
03504 };
03505 
03506 
03507 //
03508 // ArrayOf_AlternateGK
03509 //
03510 
03511 class H225_AlternateGK;
03512 
03513 class H225_ArrayOf_AlternateGK : public PASN_Array
03514 {
03515 #ifndef PASN_LEANANDMEAN
03516     PCLASSINFO(H225_ArrayOf_AlternateGK, PASN_Array);
03517 #endif
03518   public:
03519     H225_ArrayOf_AlternateGK(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03520 
03521     PASN_Object * CreateObject() const;
03522     H225_AlternateGK & operator[](PINDEX i) const;
03523     PObject * Clone() const;
03524 };
03525 
03526 
03527 //
03528 // CryptoH323Token_cryptoEPPwdHash
03529 //
03530 
03531 class H225_CryptoH323Token_cryptoEPPwdHash : public PASN_Sequence
03532 {
03533 #ifndef PASN_LEANANDMEAN
03534     PCLASSINFO(H225_CryptoH323Token_cryptoEPPwdHash, PASN_Sequence);
03535 #endif
03536   public:
03537     H225_CryptoH323Token_cryptoEPPwdHash(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03538 
03539     H225_AliasAddress m_alias;
03540     H235_TimeStamp m_timeStamp;
03541     H235_HASHED<H235_EncodedPwdCertToken> m_token;
03542 
03543     PINDEX GetDataLength() const;
03544     BOOL Decode(PASN_Stream & strm);
03545     void Encode(PASN_Stream & strm) const;
03546 #ifndef PASN_NOPRINTON
03547     void PrintOn(ostream & strm) const;
03548 #endif
03549     Comparison Compare(const PObject & obj) const;
03550     PObject * Clone() const;
03551 };
03552 
03553 
03554 //
03555 // CryptoH323Token_cryptoGKPwdHash
03556 //
03557 
03558 class H225_CryptoH323Token_cryptoGKPwdHash : public PASN_Sequence
03559 {
03560 #ifndef PASN_LEANANDMEAN
03561     PCLASSINFO(H225_CryptoH323Token_cryptoGKPwdHash, PASN_Sequence);
03562 #endif
03563   public:
03564     H225_CryptoH323Token_cryptoGKPwdHash(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03565 
03566     H225_GatekeeperIdentifier m_gatekeeperId;
03567     H235_TimeStamp m_timeStamp;
03568     H235_HASHED<H235_EncodedPwdCertToken> m_token;
03569 
03570     PINDEX GetDataLength() const;
03571     BOOL Decode(PASN_Stream & strm);
03572     void Encode(PASN_Stream & strm) const;
03573 #ifndef PASN_NOPRINTON
03574     void PrintOn(ostream & strm) const;
03575 #endif
03576     Comparison Compare(const PObject & obj) const;
03577     PObject * Clone() const;
03578 };
03579 
03580 
03581 //
03582 // CapacityReportingSpecification_when
03583 //
03584 
03585 class H225_CapacityReportingSpecification_when : public PASN_Sequence
03586 {
03587 #ifndef PASN_LEANANDMEAN
03588     PCLASSINFO(H225_CapacityReportingSpecification_when, PASN_Sequence);
03589 #endif
03590   public:
03591     H225_CapacityReportingSpecification_when(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03592 
03593     enum OptionalFields {
03594       e_callStart,
03595       e_callEnd
03596     };
03597 
03598     PASN_Null m_callStart;
03599     PASN_Null m_callEnd;
03600 
03601     PINDEX GetDataLength() const;
03602     BOOL Decode(PASN_Stream & strm);
03603     void Encode(PASN_Stream & strm) const;
03604 #ifndef PASN_NOPRINTON
03605     void PrintOn(ostream & strm) const;
03606 #endif
03607     Comparison Compare(const PObject & obj) const;
03608     PObject * Clone() const;
03609 };
03610 
03611 
03612 //
03613 // ArrayOf_CallsAvailable
03614 //
03615 
03616 class H225_CallsAvailable;
03617 
03618 class H225_ArrayOf_CallsAvailable : public PASN_Array
03619 {
03620 #ifndef PASN_LEANANDMEAN
03621     PCLASSINFO(H225_ArrayOf_CallsAvailable, PASN_Array);
03622 #endif
03623   public:
03624     H225_ArrayOf_CallsAvailable(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03625 
03626     PASN_Object * CreateObject() const;
03627     H225_CallsAvailable & operator[](PINDEX i) const;
03628     PObject * Clone() const;
03629 };
03630 
03631 
03632 //
03633 // CicInfo_cic
03634 //
03635 
03636 class H225_CicInfo_cic : public PASN_Array
03637 {
03638 #ifndef PASN_LEANANDMEAN
03639     PCLASSINFO(H225_CicInfo_cic, PASN_Array);
03640 #endif
03641   public:
03642     H225_CicInfo_cic(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03643 
03644     PASN_Object * CreateObject() const;
03645     PASN_OctetString & operator[](PINDEX i) const;
03646     PObject * Clone() const;
03647 };
03648 
03649 
03650 //
03651 // GroupID_member
03652 //
03653 
03654 class H225_GroupID_member : public PASN_Array
03655 {
03656 #ifndef PASN_LEANANDMEAN
03657     PCLASSINFO(H225_GroupID_member, PASN_Array);
03658 #endif
03659   public:
03660     H225_GroupID_member(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03661 
03662     PASN_Object * CreateObject() const;
03663     PASN_Integer & operator[](PINDEX i) const;
03664     PObject * Clone() const;
03665 };
03666 
03667 
03668 //
03669 // ServiceControlSession_reason
03670 //
03671 
03672 class H225_ServiceControlSession_reason : public PASN_Choice
03673 {
03674 #ifndef PASN_LEANANDMEAN
03675     PCLASSINFO(H225_ServiceControlSession_reason, PASN_Choice);
03676 #endif
03677   public:
03678     H225_ServiceControlSession_reason(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
03679 
03680     enum Choices {
03681       e_open,
03682       e_refresh,
03683       e_close
03684     };
03685 
03686     BOOL CreateObject();
03687     PObject * Clone() const;
03688 };
03689 
03690 
03691 //
03692 // RasUsageSpecification_when
03693 //
03694 
03695 class H225_RasUsageSpecification_when : public PASN_Sequence
03696 {
03697 #ifndef PASN_LEANANDMEAN
03698     PCLASSINFO(H225_RasUsageSpecification_when, PASN_Sequence);
03699 #endif
03700   public:
03701     H225_RasUsageSpecification_when(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03702 
03703     enum OptionalFields {
03704       e_start,
03705       e_end,
03706       e_inIrr
03707     };
03708 
03709     PASN_Null m_start;
03710     PASN_Null m_end;
03711     PASN_Null m_inIrr;
03712 
03713     PINDEX GetDataLength() const;
03714     BOOL Decode(PASN_Stream & strm);
03715     void Encode(PASN_Stream & strm) const;
03716 #ifndef PASN_NOPRINTON
03717     void PrintOn(ostream & strm) const;
03718 #endif
03719     Comparison Compare(const PObject & obj) const;
03720     PObject * Clone() const;
03721 };
03722 
03723 
03724 //
03725 // RasUsageSpecification_callStartingPoint
03726 //
03727 
03728 class H225_RasUsageSpecification_callStartingPoint : public PASN_Sequence
03729 {
03730 #ifndef PASN_LEANANDMEAN
03731     PCLASSINFO(H225_RasUsageSpecification_callStartingPoint, PASN_Sequence);
03732 #endif
03733   public:
03734     H225_RasUsageSpecification_callStartingPoint(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03735 
03736     enum OptionalFields {
03737       e_alerting,
03738       e_connect
03739     };
03740 
03741     PASN_Null m_alerting;
03742     PASN_Null m_connect;
03743 
03744     PINDEX GetDataLength() const;
03745     BOOL Decode(PASN_Stream & strm);
03746     void Encode(PASN_Stream & strm) const;
03747 #ifndef PASN_NOPRINTON
03748     void PrintOn(ostream & strm) const;
03749 #endif
03750     Comparison Compare(const PObject & obj) const;
03751     PObject * Clone() const;
03752 };
03753 
03754 
03755 //
03756 // CallCreditServiceControl_billingMode
03757 //
03758 
03759 class H225_CallCreditServiceControl_billingMode : public PASN_Choice
03760 {
03761 #ifndef PASN_LEANANDMEAN
03762     PCLASSINFO(H225_CallCreditServiceControl_billingMode, PASN_Choice);
03763 #endif
03764   public:
03765     H225_CallCreditServiceControl_billingMode(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
03766 
03767     enum Choices {
03768       e_credit,
03769       e_debit
03770     };
03771 
03772     BOOL CreateObject();
03773     PObject * Clone() const;
03774 };
03775 
03776 
03777 //
03778 // CallCreditServiceControl_callStartingPoint
03779 //
03780 
03781 class H225_CallCreditServiceControl_callStartingPoint : public PASN_Choice
03782 {
03783 #ifndef PASN_LEANANDMEAN
03784     PCLASSINFO(H225_CallCreditServiceControl_callStartingPoint, PASN_Choice);
03785 #endif
03786   public:
03787     H225_CallCreditServiceControl_callStartingPoint(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
03788 
03789     enum Choices {
03790       e_alerting,
03791       e_connect
03792     };
03793 
03794     BOOL CreateObject();
03795     PObject * Clone() const;
03796 };
03797 
03798 
03799 //
03800 // ArrayOf_EnumeratedParameter
03801 //
03802 
03803 class H225_EnumeratedParameter;
03804 
03805 class H225_ArrayOf_EnumeratedParameter : public PASN_Array
03806 {
03807 #ifndef PASN_LEANANDMEAN
03808     PCLASSINFO(H225_ArrayOf_EnumeratedParameter, PASN_Array);
03809 #endif
03810   public:
03811     H225_ArrayOf_EnumeratedParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03812 
03813     PASN_Object * CreateObject() const;
03814     H225_EnumeratedParameter & operator[](PINDEX i) const;
03815     PObject * Clone() const;
03816 };
03817 
03818 
03819 //
03820 // RTPSession_associatedSessionIds
03821 //
03822 
03823 class H225_RTPSession_associatedSessionIds : public PASN_Array
03824 {
03825 #ifndef PASN_LEANANDMEAN
03826     PCLASSINFO(H225_RTPSession_associatedSessionIds, PASN_Array);
03827 #endif
03828   public:
03829     H225_RTPSession_associatedSessionIds(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03830 
03831     PASN_Object * CreateObject() const;
03832     PASN_Integer & operator[](PINDEX i) const;
03833     PObject * Clone() const;
03834 };
03835 
03836 
03837 //
03838 // ArrayOf_AdmissionConfirm
03839 //
03840 
03841 class H225_AdmissionConfirm;
03842 
03843 class H225_ArrayOf_AdmissionConfirm : public PASN_Array
03844 {
03845 #ifndef PASN_LEANANDMEAN
03846     PCLASSINFO(H225_ArrayOf_AdmissionConfirm, PASN_Array);
03847 #endif
03848   public:
03849     H225_ArrayOf_AdmissionConfirm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03850 
03851     PASN_Object * CreateObject() const;
03852     H225_AdmissionConfirm & operator[](PINDEX i) const;
03853     PObject * Clone() const;
03854 };
03855 
03856 
03857 //
03858 // ArrayOf_Endpoint
03859 //
03860 
03861 class H225_Endpoint;
03862 
03863 class H225_ArrayOf_Endpoint : public PASN_Array
03864 {
03865 #ifndef PASN_LEANANDMEAN
03866     PCLASSINFO(H225_ArrayOf_Endpoint, PASN_Array);
03867 #endif
03868   public:
03869     H225_ArrayOf_Endpoint(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03870 
03871     PASN_Object * CreateObject() const;
03872     H225_Endpoint & operator[](PINDEX i) const;
03873     PObject * Clone() const;
03874 };
03875 
03876 
03877 //
03878 // ArrayOf_AuthenticationMechanism
03879 //
03880 
03881 class H235_AuthenticationMechanism;
03882 
03883 class H225_ArrayOf_AuthenticationMechanism : public PASN_Array
03884 {
03885 #ifndef PASN_LEANANDMEAN
03886     PCLASSINFO(H225_ArrayOf_AuthenticationMechanism, PASN_Array);
03887 #endif
03888   public:
03889     H225_ArrayOf_AuthenticationMechanism(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03890 
03891     PASN_Object * CreateObject() const;
03892     H235_AuthenticationMechanism & operator[](PINDEX i) const;
03893     PObject * Clone() const;
03894 };
03895 
03896 
03897 //
03898 // ArrayOf_PASN_ObjectId
03899 //
03900 
03901 class H225_ArrayOf_PASN_ObjectId : public PASN_Array
03902 {
03903 #ifndef PASN_LEANANDMEAN
03904     PCLASSINFO(H225_ArrayOf_PASN_ObjectId, PASN_Array);
03905 #endif
03906   public:
03907     H225_ArrayOf_PASN_ObjectId(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03908 
03909     PASN_Object * CreateObject() const;
03910     PASN_ObjectId & operator[](PINDEX i) const;
03911     PObject * Clone() const;
03912 };
03913 
03914 
03915 //
03916 // ArrayOf_IntegrityMechanism
03917 //
03918 
03919 class H225_IntegrityMechanism;
03920 
03921 class H225_ArrayOf_IntegrityMechanism : public PASN_Array
03922 {
03923 #ifndef PASN_LEANANDMEAN
03924     PCLASSINFO(H225_ArrayOf_IntegrityMechanism, PASN_Array);
03925 #endif
03926   public:
03927     H225_ArrayOf_IntegrityMechanism(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03928 
03929     PASN_Object * CreateObject() const;
03930     H225_IntegrityMechanism & operator[](PINDEX i) const;
03931     PObject * Clone() const;
03932 };
03933 
03934 
03935 //
03936 // ArrayOf_AddressPattern
03937 //
03938 
03939 class H225_AddressPattern;
03940 
03941 class H225_ArrayOf_AddressPattern : public PASN_Array
03942 {
03943 #ifndef PASN_LEANANDMEAN
03944     PCLASSINFO(H225_ArrayOf_AddressPattern, PASN_Array);
03945 #endif
03946   public:
03947     H225_ArrayOf_AddressPattern(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03948 
03949     PASN_Object * CreateObject() const;
03950     H225_AddressPattern & operator[](PINDEX i) const;
03951     PObject * Clone() const;
03952 };
03953 
03954 
03955 //
03956 // ArrayOf_H248PackagesDescriptor
03957 //
03958 
03959 class H225_H248PackagesDescriptor;
03960 
03961 class H225_ArrayOf_H248PackagesDescriptor : public PASN_Array
03962 {
03963 #ifndef PASN_LEANANDMEAN
03964     PCLASSINFO(H225_ArrayOf_H248PackagesDescriptor, PASN_Array);
03965 #endif
03966   public:
03967     H225_ArrayOf_H248PackagesDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03968 
03969     PASN_Object * CreateObject() const;
03970     H225_H248PackagesDescriptor & operator[](PINDEX i) const;
03971     PObject * Clone() const;
03972 };
03973 
03974 
03975 //
03976 // RegistrationRequest_language
03977 //
03978 
03979 class H225_RegistrationRequest_language : public PASN_Array
03980 {
03981 #ifndef PASN_LEANANDMEAN
03982     PCLASSINFO(H225_RegistrationRequest_language, PASN_Array);
03983 #endif
03984   public:
03985     H225_RegistrationRequest_language(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
03986 
03987     PASN_Object * CreateObject() const;
03988     PASN_IA5String & operator[](PINDEX i) const;
03989     PObject * Clone() const;
03990 };
03991 
03992 
03993 //
03994 // ArrayOf_RasUsageSpecification
03995 //
03996 
03997 class H225_RasUsageSpecification;
03998 
03999 class H225_ArrayOf_RasUsageSpecification : public PASN_Array
04000 {
04001 #ifndef PASN_LEANANDMEAN
04002     PCLASSINFO(H225_ArrayOf_RasUsageSpecification, PASN_Array);
04003 #endif
04004   public:
04005     H225_ArrayOf_RasUsageSpecification(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04006 
04007     PASN_Object * CreateObject() const;
04008     H225_RasUsageSpecification & operator[](PINDEX i) const;
04009     PObject * Clone() const;
04010 };
04011 
04012 
04013 //
04014 // RegistrationRejectReason_invalidTerminalAliases
04015 //
04016 
04017 class H225_RegistrationRejectReason_invalidTerminalAliases : public PASN_Sequence
04018 {
04019 #ifndef PASN_LEANANDMEAN
04020     PCLASSINFO(H225_RegistrationRejectReason_invalidTerminalAliases, PASN_Sequence);
04021 #endif
04022   public:
04023     H225_RegistrationRejectReason_invalidTerminalAliases(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04024 
04025     enum OptionalFields {
04026       e_terminalAlias,
04027       e_terminalAliasPattern,
04028       e_supportedPrefixes
04029     };
04030 
04031     H225_ArrayOf_AliasAddress m_terminalAlias;
04032     H225_ArrayOf_AddressPattern m_terminalAliasPattern;
04033     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
04034 
04035     PINDEX GetDataLength() const;
04036     BOOL Decode(PASN_Stream & strm);
04037     void Encode(PASN_Stream & strm) const;
04038 #ifndef PASN_NOPRINTON
04039     void PrintOn(ostream & strm) const;
04040 #endif
04041     Comparison Compare(const PObject & obj) const;
04042     PObject * Clone() const;
04043 };
04044 
04045 
04046 //
04047 // ArrayOf_QOSCapability
04048 //
04049 
04050 class MULTIMEDIA_QOSCapability;
04051 
04052 class H225_ArrayOf_QOSCapability : public PASN_Array
04053 {
04054 #ifndef PASN_LEANANDMEAN
04055     PCLASSINFO(H225_ArrayOf_QOSCapability, PASN_Array);
04056 #endif
04057   public:
04058     H225_ArrayOf_QOSCapability(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04059 
04060     PASN_Object * CreateObject() const;
04061     H245_QOSCapability & operator[](PINDEX i) const;
04062     PObject * Clone() const;
04063 };
04064 
04065 
04066 //
04067 // AdmissionConfirm_language
04068 //
04069 
04070 class H225_AdmissionConfirm_language : public PASN_Array
04071 {
04072 #ifndef PASN_LEANANDMEAN
04073     PCLASSINFO(H225_AdmissionConfirm_language, PASN_Array);
04074 #endif
04075   public:
04076     H225_AdmissionConfirm_language(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04077 
04078     PASN_Object * CreateObject() const;
04079     PASN_IA5String & operator[](PINDEX i) const;
04080     PObject * Clone() const;
04081 };
04082 
04083 
04084 //
04085 // ArrayOf_PartyNumber
04086 //
04087 
04088 class H225_PartyNumber;
04089 
04090 class H225_ArrayOf_PartyNumber : public PASN_Array
04091 {
04092 #ifndef PASN_LEANANDMEAN
04093     PCLASSINFO(H225_ArrayOf_PartyNumber, PASN_Array);
04094 #endif
04095   public:
04096     H225_ArrayOf_PartyNumber(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04097 
04098     PASN_Object * CreateObject() const;
04099     H225_PartyNumber & operator[](PINDEX i) const;
04100     PObject * Clone() const;
04101 };
04102 
04103 
04104 //
04105 // ArrayOf_BandwidthDetails
04106 //
04107 
04108 class H225_BandwidthDetails;
04109 
04110 class H225_ArrayOf_BandwidthDetails : public PASN_Array
04111 {
04112 #ifndef PASN_LEANANDMEAN
04113     PCLASSINFO(H225_ArrayOf_BandwidthDetails, PASN_Array);
04114 #endif
04115   public:
04116     H225_ArrayOf_BandwidthDetails(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04117 
04118     PASN_Object * CreateObject() const;
04119     H225_BandwidthDetails & operator[](PINDEX i) const;
04120     PObject * Clone() const;
04121 };
04122 
04123 
04124 //
04125 // LocationRequest_language
04126 //
04127 
04128 class H225_LocationRequest_language : public PASN_Array
04129 {
04130 #ifndef PASN_LEANANDMEAN
04131     PCLASSINFO(H225_LocationRequest_language, PASN_Array);
04132 #endif
04133   public:
04134     H225_LocationRequest_language(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04135 
04136     PASN_Object * CreateObject() const;
04137     PASN_IA5String & operator[](PINDEX i) const;
04138     PObject * Clone() const;
04139 };
04140 
04141 
04142 //
04143 // InfoRequestResponse_perCallInfo
04144 //
04145 
04146 class H225_InfoRequestResponse_perCallInfo_subtype;
04147 
04148 class H225_InfoRequestResponse_perCallInfo : public PASN_Array
04149 {
04150 #ifndef PASN_LEANANDMEAN
04151     PCLASSINFO(H225_InfoRequestResponse_perCallInfo, PASN_Array);
04152 #endif
04153   public:
04154     H225_InfoRequestResponse_perCallInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04155 
04156     PASN_Object * CreateObject() const;
04157     H225_InfoRequestResponse_perCallInfo_subtype & operator[](PINDEX i) const;
04158     PObject * Clone() const;
04159 };
04160 
04161 
04162 //
04163 // ServiceControlIndication_callSpecific
04164 //
04165 
04166 class H225_ServiceControlIndication_callSpecific : public PASN_Sequence
04167 {
04168 #ifndef PASN_LEANANDMEAN
04169     PCLASSINFO(H225_ServiceControlIndication_callSpecific, PASN_Sequence);
04170 #endif
04171   public:
04172     H225_ServiceControlIndication_callSpecific(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04173 
04174     H225_CallIdentifier m_callIdentifier;
04175     H225_ConferenceIdentifier m_conferenceID;
04176     PASN_Boolean m_answeredCall;
04177 
04178     PINDEX GetDataLength() const;
04179     BOOL Decode(PASN_Stream & strm);
04180     void Encode(PASN_Stream & strm) const;
04181 #ifndef PASN_NOPRINTON
04182     void PrintOn(ostream & strm) const;
04183 #endif
04184     Comparison Compare(const PObject & obj) const;
04185     PObject * Clone() const;
04186 };
04187 
04188 
04189 //
04190 // ServiceControlResponse_result
04191 //
04192 
04193 class H225_ServiceControlResponse_result : public PASN_Choice
04194 {
04195 #ifndef PASN_LEANANDMEAN
04196     PCLASSINFO(H225_ServiceControlResponse_result, PASN_Choice);
04197 #endif
04198   public:
04199     H225_ServiceControlResponse_result(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
04200 
04201     enum Choices {
04202       e_started,
04203       e_failed,
04204       e_stopped,
04205       e_notAvailable,
04206       e_neededFeatureNotSupported
04207     };
04208 
04209     BOOL CreateObject();
04210     PObject * Clone() const;
04211 };
04212 
04213 
04214 //
04215 // TransportAddress_ipSourceRoute_route
04216 //
04217 
04218 class H225_TransportAddress_ipSourceRoute_route : public PASN_Array
04219 {
04220 #ifndef PASN_LEANANDMEAN
04221     PCLASSINFO(H225_TransportAddress_ipSourceRoute_route, PASN_Array);
04222 #endif
04223   public:
04224     H225_TransportAddress_ipSourceRoute_route(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04225 
04226     PASN_Object * CreateObject() const;
04227     PASN_OctetString & operator[](PINDEX i) const;
04228     PObject * Clone() const;
04229 };
04230 
04231 
04232 //
04233 // TransportAddress_ipSourceRoute_routing
04234 //
04235 
04236 class H225_TransportAddress_ipSourceRoute_routing : public PASN_Choice
04237 {
04238 #ifndef PASN_LEANANDMEAN
04239     PCLASSINFO(H225_TransportAddress_ipSourceRoute_routing, PASN_Choice);
04240 #endif
04241   public:
04242     H225_TransportAddress_ipSourceRoute_routing(unsigned tag = 0, TagClass tagClass = UniversalTagClass);
04243 
04244     enum Choices {
04245       e_strict,
04246       e_loose
04247     };
04248 
04249     BOOL CreateObject();
04250     PObject * Clone() const;
04251 };
04252 
04253 
04254 //
04255 // ArrayOf_RTPSession
04256 //
04257 
04258 class H225_RTPSession;
04259 
04260 class H225_ArrayOf_RTPSession : public PASN_Array
04261 {
04262 #ifndef PASN_LEANANDMEAN
04263     PCLASSINFO(H225_ArrayOf_RTPSession, PASN_Array);
04264 #endif
04265   public:
04266     H225_ArrayOf_RTPSession(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04267 
04268     PASN_Object * CreateObject() const;
04269     H225_RTPSession & operator[](PINDEX i) const;
04270     PObject * Clone() const;
04271 };
04272 
04273 
04274 //
04275 // ArrayOf_TransportChannelInfo
04276 //
04277 
04278 class H225_TransportChannelInfo;
04279 
04280 class H225_ArrayOf_TransportChannelInfo : public PASN_Array
04281 {
04282 #ifndef PASN_LEANANDMEAN
04283     PCLASSINFO(H225_ArrayOf_TransportChannelInfo, PASN_Array);
04284 #endif
04285   public:
04286     H225_ArrayOf_TransportChannelInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04287 
04288     PASN_Object * CreateObject() const;
04289     H225_TransportChannelInfo & operator[](PINDEX i) const;
04290     PObject * Clone() const;
04291 };
04292 
04293 
04294 //
04295 // ArrayOf_ConferenceIdentifier
04296 //
04297 
04298 class H225_ConferenceIdentifier;
04299 
04300 class H225_ArrayOf_ConferenceIdentifier : public PASN_Array
04301 {
04302 #ifndef PASN_LEANANDMEAN
04303     PCLASSINFO(H225_ArrayOf_ConferenceIdentifier, PASN_Array);
04304 #endif
04305   public:
04306     H225_ArrayOf_ConferenceIdentifier(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04307 
04308     PASN_Object * CreateObject() const;
04309     H225_ConferenceIdentifier & operator[](PINDEX i) const;
04310     PObject * Clone() const;
04311 };
04312 
04313 
04314 //
04315 // InfoRequestResponse_perCallInfo_subtype_pdu
04316 //
04317 
04318 class H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype;
04319 
04320 class H225_InfoRequestResponse_perCallInfo_subtype_pdu : public PASN_Array
04321 {
04322 #ifndef PASN_LEANANDMEAN
04323     PCLASSINFO(H225_InfoRequestResponse_perCallInfo_subtype_pdu, PASN_Array);
04324 #endif
04325   public:
04326     H225_InfoRequestResponse_perCallInfo_subtype_pdu(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04327 
04328     PASN_Object * CreateObject() const;
04329     H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype & operator[](PINDEX i) const;
04330     PObject * Clone() const;
04331 };
04332 
04333 
04334 //
04335 // Status-UUIE
04336 //
04337 
04338 class H225_Status_UUIE : public PASN_Sequence
04339 {
04340 #ifndef PASN_LEANANDMEAN
04341     PCLASSINFO(H225_Status_UUIE, PASN_Sequence);
04342 #endif
04343   public:
04344     H225_Status_UUIE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04345 
04346     enum OptionalFields {
04347       e_tokens,
04348       e_cryptoTokens
04349     };
04350 
04351     H225_ProtocolIdentifier m_protocolIdentifier;
04352     H225_CallIdentifier m_callIdentifier;
04353     H225_ArrayOf_ClearToken m_tokens;
04354     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
04355 
04356     PINDEX GetDataLength() const;
04357     BOOL Decode(PASN_Stream & strm);
04358     void Encode(PASN_Stream & strm) const;
04359 #ifndef PASN_NOPRINTON
04360     void PrintOn(ostream & strm) const;
04361 #endif
04362     Comparison Compare(const PObject & obj) const;
04363     PObject * Clone() const;
04364 };
04365 
04366 
04367 //
04368 // StatusInquiry-UUIE
04369 //
04370 
04371 class H225_StatusInquiry_UUIE : public PASN_Sequence
04372 {
04373 #ifndef PASN_LEANANDMEAN
04374     PCLASSINFO(H225_StatusInquiry_UUIE, PASN_Sequence);
04375 #endif
04376   public:
04377     H225_StatusInquiry_UUIE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04378 
04379     enum OptionalFields {
04380       e_tokens,
04381       e_cryptoTokens
04382     };
04383 
04384     H225_ProtocolIdentifier m_protocolIdentifier;
04385     H225_CallIdentifier m_callIdentifier;
04386     H225_ArrayOf_ClearToken m_tokens;
04387     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
04388 
04389     PINDEX GetDataLength() const;
04390     BOOL Decode(PASN_Stream & strm);
04391     void Encode(PASN_Stream & strm) const;
04392 #ifndef PASN_NOPRINTON
04393     void PrintOn(ostream & strm) const;
04394 #endif
04395     Comparison Compare(const PObject & obj) const;
04396     PObject * Clone() const;
04397 };
04398 
04399 
04400 //
04401 // SetupAcknowledge-UUIE
04402 //
04403 
04404 class H225_SetupAcknowledge_UUIE : public PASN_Sequence
04405 {
04406 #ifndef PASN_LEANANDMEAN
04407     PCLASSINFO(H225_SetupAcknowledge_UUIE, PASN_Sequence);
04408 #endif
04409   public:
04410     H225_SetupAcknowledge_UUIE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04411 
04412     enum OptionalFields {
04413       e_tokens,
04414       e_cryptoTokens
04415     };
04416 
04417     H225_ProtocolIdentifier m_protocolIdentifier;
04418     H225_CallIdentifier m_callIdentifier;
04419     H225_ArrayOf_ClearToken m_tokens;
04420     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
04421 
04422     PINDEX GetDataLength() const;
04423     BOOL Decode(PASN_Stream & strm);
04424     void Encode(PASN_Stream & strm) const;
04425 #ifndef PASN_NOPRINTON
04426     void PrintOn(ostream & strm) const;
04427 #endif
04428     Comparison Compare(const PObject & obj) const;
04429     PObject * Clone() const;
04430 };
04431 
04432 
04433 //
04434 // Notify-UUIE
04435 //
04436 
04437 class H225_Notify_UUIE : public PASN_Sequence
04438 {
04439 #ifndef PASN_LEANANDMEAN
04440     PCLASSINFO(H225_Notify_UUIE, PASN_Sequence);
04441 #endif
04442   public:
04443     H225_Notify_UUIE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04444 
04445     enum OptionalFields {
04446       e_tokens,
04447       e_cryptoTokens
04448     };
04449 
04450     H225_ProtocolIdentifier m_protocolIdentifier;
04451     H225_CallIdentifier m_callIdentifier;
04452     H225_ArrayOf_ClearToken m_tokens;
04453     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
04454 
04455     PINDEX GetDataLength() const;
04456     BOOL Decode(PASN_Stream & strm);
04457     void Encode(PASN_Stream & strm) const;
04458 #ifndef PASN_NOPRINTON
04459     void PrintOn(ostream & strm) const;
04460 #endif
04461     Comparison Compare(const PObject & obj) const;
04462     PObject * Clone() const;
04463 };
04464 
04465 
04466 //
04467 // VendorIdentifier
04468 //
04469 
04470 class H225_VendorIdentifier : public PASN_Sequence
04471 {
04472 #ifndef PASN_LEANANDMEAN
04473     PCLASSINFO(H225_VendorIdentifier, PASN_Sequence);
04474 #endif
04475   public:
04476     H225_VendorIdentifier(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04477 
04478     enum OptionalFields {
04479       e_productId,
04480       e_versionId,
04481       e_enterpriseNumber
04482     };
04483 
04484     H225_H221NonStandard m_vendor;
04485     PASN_OctetString m_productId;
04486     PASN_OctetString m_versionId;
04487     PASN_ObjectId m_enterpriseNumber;
04488 
04489     PINDEX GetDataLength() const;
04490     BOOL Decode(PASN_Stream & strm);
04491     void Encode(PASN_Stream & strm) const;
04492 #ifndef PASN_NOPRINTON
04493     void PrintOn(ostream & strm) const;
04494 #endif
04495     Comparison Compare(const PObject & obj) const;
04496     PObject * Clone() const;
04497 };
04498 
04499 
04500 //
04501 // TunnelledProtocol
04502 //
04503 
04504 class H225_TunnelledProtocol : public PASN_Sequence
04505 {
04506 #ifndef PASN_LEANANDMEAN
04507     PCLASSINFO(H225_TunnelledProtocol, PASN_Sequence);
04508 #endif
04509   public:
04510     H225_TunnelledProtocol(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04511 
04512     enum OptionalFields {
04513       e_subIdentifier
04514     };
04515 
04516     H225_TunnelledProtocol_id m_id;
04517     PASN_IA5String m_subIdentifier;
04518 
04519     PINDEX GetDataLength() const;
04520     BOOL Decode(PASN_Stream & strm);
04521     void Encode(PASN_Stream & strm) const;
04522 #ifndef PASN_NOPRINTON
04523     void PrintOn(ostream & strm) const;
04524 #endif
04525     Comparison Compare(const PObject & obj) const;
04526     PObject * Clone() const;
04527 };
04528 
04529 
04530 //
04531 // NonStandardParameter
04532 //
04533 
04534 class H225_NonStandardParameter : public PASN_Sequence
04535 {
04536 #ifndef PASN_LEANANDMEAN
04537     PCLASSINFO(H225_NonStandardParameter, PASN_Sequence);
04538 #endif
04539   public:
04540     H225_NonStandardParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04541 
04542     H225_NonStandardIdentifier m_nonStandardIdentifier;
04543     PASN_OctetString m_data;
04544 
04545     PINDEX GetDataLength() const;
04546     BOOL Decode(PASN_Stream & strm);
04547     void Encode(PASN_Stream & strm) const;
04548 #ifndef PASN_NOPRINTON
04549     void PrintOn(ostream & strm) const;
04550 #endif
04551     Comparison Compare(const PObject & obj) const;
04552     PObject * Clone() const;
04553 };
04554 
04555 
04556 //
04557 // PublicPartyNumber
04558 //
04559 
04560 class H225_PublicPartyNumber : public PASN_Sequence
04561 {
04562 #ifndef PASN_LEANANDMEAN
04563     PCLASSINFO(H225_PublicPartyNumber, PASN_Sequence);
04564 #endif
04565   public:
04566     H225_PublicPartyNumber(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04567 
04568     H225_PublicTypeOfNumber m_publicTypeOfNumber;
04569     H225_NumberDigits m_publicNumberDigits;
04570 
04571     PINDEX GetDataLength() const;
04572     BOOL Decode(PASN_Stream & strm);
04573     void Encode(PASN_Stream & strm) const;
04574 #ifndef PASN_NOPRINTON
04575     void PrintOn(ostream & strm) const;
04576 #endif
04577     Comparison Compare(const PObject & obj) const;
04578     PObject * Clone() const;
04579 };
04580 
04581 
04582 //
04583 // PrivatePartyNumber
04584 //
04585 
04586 class H225_PrivatePartyNumber : public PASN_Sequence
04587 {
04588 #ifndef PASN_LEANANDMEAN
04589     PCLASSINFO(H225_PrivatePartyNumber, PASN_Sequence);
04590 #endif
04591   public:
04592     H225_PrivatePartyNumber(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04593 
04594     H225_PrivateTypeOfNumber m_privateTypeOfNumber;
04595     H225_NumberDigits m_privateNumberDigits;
04596 
04597     PINDEX GetDataLength() const;
04598     BOOL Decode(PASN_Stream & strm);
04599     void Encode(PASN_Stream & strm) const;
04600 #ifndef PASN_NOPRINTON
04601     void PrintOn(ostream & strm) const;
04602 #endif
04603     Comparison Compare(const PObject & obj) const;
04604     PObject * Clone() const;
04605 };
04606 
04607 
04608 //
04609 // ANSI-41-UIM
04610 //
04611 
04612 class H225_ANSI_41_UIM : public PASN_Sequence
04613 {
04614 #ifndef PASN_LEANANDMEAN
04615     PCLASSINFO(H225_ANSI_41_UIM, PASN_Sequence);
04616 #endif
04617   public:
04618     H225_ANSI_41_UIM(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04619 
04620     enum OptionalFields {
04621       e_imsi,
04622       e_min,
04623       e_mdn,
04624       e_msisdn,
04625       e_esn,
04626       e_mscid,
04627       e_systemMyTypeCode,
04628       e_systemAccessType,
04629       e_qualificationInformationCode,
04630       e_sesn,
04631       e_soc
04632     };
04633 
04634     PASN_IA5String m_imsi;
04635     PASN_IA5String m_min;
04636     PASN_IA5String m_mdn;
04637     PASN_IA5String m_msisdn;
04638     PASN_IA5String m_esn;
04639     PASN_IA5String m_mscid;
04640     H225_ANSI_41_UIM_system_id m_system_id;
04641     PASN_OctetString m_systemMyTypeCode;
04642     PASN_OctetString m_systemAccessType;
04643     PASN_OctetString m_qualificationInformationCode;
04644     PASN_IA5String m_sesn;
04645     PASN_IA5String m_soc;
04646 
04647     PINDEX GetDataLength() const;
04648     BOOL Decode(PASN_Stream & strm);
04649     void Encode(PASN_Stream & strm) const;
04650 #ifndef PASN_NOPRINTON
04651     void PrintOn(ostream & strm) const;
04652 #endif
04653     Comparison Compare(const PObject & obj) const;
04654     PObject * Clone() const;
04655 };
04656 
04657 
04658 //
04659 // IsupPublicPartyNumber
04660 //
04661 
04662 class H225_IsupPublicPartyNumber : public PASN_Sequence
04663 {
04664 #ifndef PASN_LEANANDMEAN
04665     PCLASSINFO(H225_IsupPublicPartyNumber, PASN_Sequence);
04666 #endif
04667   public:
04668     H225_IsupPublicPartyNumber(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04669 
04670     H225_NatureOfAddress m_natureOfAddress;
04671     H225_IsupDigits m_address;
04672 
04673     PINDEX GetDataLength() const;
04674     BOOL Decode(PASN_Stream & strm);
04675     void Encode(PASN_Stream & strm) const;
04676 #ifndef PASN_NOPRINTON
04677     void PrintOn(ostream & strm) const;
04678 #endif
04679     Comparison Compare(const PObject & obj) const;
04680     PObject * Clone() const;
04681 };
04682 
04683 
04684 //
04685 // IsupPrivatePartyNumber
04686 //
04687 
04688 class H225_IsupPrivatePartyNumber : public PASN_Sequence
04689 {
04690 #ifndef PASN_LEANANDMEAN
04691     PCLASSINFO(H225_IsupPrivatePartyNumber, PASN_Sequence);
04692 #endif
04693   public:
04694     H225_IsupPrivatePartyNumber(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04695 
04696     H225_PrivateTypeOfNumber m_privateTypeOfNumber;
04697     H225_IsupDigits m_address;
04698 
04699     PINDEX GetDataLength() const;
04700     BOOL Decode(PASN_Stream & strm);
04701     void Encode(PASN_Stream & strm) const;
04702 #ifndef PASN_NOPRINTON
04703     void PrintOn(ostream & strm) const;
04704 #endif
04705     Comparison Compare(const PObject & obj) const;
04706     PObject * Clone() const;
04707 };
04708 
04709 
04710 //
04711 // AlternateTransportAddresses
04712 //
04713 
04714 class H225_AlternateTransportAddresses : public PASN_Sequence
04715 {
04716 #ifndef PASN_LEANANDMEAN
04717     PCLASSINFO(H225_AlternateTransportAddresses, PASN_Sequence);
04718 #endif
04719   public:
04720     H225_AlternateTransportAddresses(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04721 
04722     enum OptionalFields {
04723       e_annexE,
04724       e_sctp
04725     };
04726 
04727     H225_ArrayOf_TransportAddress m_annexE;
04728     H225_ArrayOf_TransportAddress m_sctp;
04729 
04730     PINDEX GetDataLength() const;
04731     BOOL Decode(PASN_Stream & strm);
04732     void Encode(PASN_Stream & strm) const;
04733 #ifndef PASN_NOPRINTON
04734     void PrintOn(ostream & strm) const;
04735 #endif
04736     Comparison Compare(const PObject & obj) const;
04737     PObject * Clone() const;
04738 };
04739 
04740 
04741 //
04742 // AlternateGK
04743 //
04744 
04745 class H225_AlternateGK : public PASN_Sequence
04746 {
04747 #ifndef PASN_LEANANDMEAN
04748     PCLASSINFO(H225_AlternateGK, PASN_Sequence);
04749 #endif
04750   public:
04751     H225_AlternateGK(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04752 
04753     enum OptionalFields {
04754       e_gatekeeperIdentifier
04755     };
04756 
04757     H225_TransportAddress m_rasAddress;
04758     H225_GatekeeperIdentifier m_gatekeeperIdentifier;
04759     PASN_Boolean m_needToRegister;
04760     PASN_Integer m_priority;
04761 
04762     PINDEX GetDataLength() const;
04763     BOOL Decode(PASN_Stream & strm);
04764     void Encode(PASN_Stream & strm) const;
04765 #ifndef PASN_NOPRINTON
04766     void PrintOn(ostream & strm) const;
04767 #endif
04768     Comparison Compare(const PObject & obj) const;
04769     PObject * Clone() const;
04770 };
04771 
04772 
04773 //
04774 // AltGKInfo
04775 //
04776 
04777 class H225_AltGKInfo : public PASN_Sequence
04778 {
04779 #ifndef PASN_LEANANDMEAN
04780     PCLASSINFO(H225_AltGKInfo, PASN_Sequence);
04781 #endif
04782   public:
04783     H225_AltGKInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04784 
04785     H225_ArrayOf_AlternateGK m_alternateGatekeeper;
04786     PASN_Boolean m_altGKisPermanent;
04787 
04788     PINDEX GetDataLength() const;
04789     BOOL Decode(PASN_Stream & strm);
04790     void Encode(PASN_Stream & strm) const;
04791 #ifndef PASN_NOPRINTON
04792     void PrintOn(ostream & strm) const;
04793 #endif
04794     Comparison Compare(const PObject & obj) const;
04795     PObject * Clone() const;
04796 };
04797 
04798 
04799 //
04800 // SecurityCapabilities
04801 //
04802 
04803 class H225_SecurityCapabilities : public PASN_Sequence
04804 {
04805 #ifndef PASN_LEANANDMEAN
04806     PCLASSINFO(H225_SecurityCapabilities, PASN_Sequence);
04807 #endif
04808   public:
04809     H225_SecurityCapabilities(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04810 
04811     enum OptionalFields {
04812       e_nonStandard
04813     };
04814 
04815     H225_NonStandardParameter m_nonStandard;
04816     H225_SecurityServiceMode m_encryption;
04817     H225_SecurityServiceMode m_authenticaton;
04818     H225_SecurityServiceMode m_integrity;
04819 
04820     PINDEX GetDataLength() const;
04821     BOOL Decode(PASN_Stream & strm);
04822     void Encode(PASN_Stream & strm) const;
04823 #ifndef PASN_NOPRINTON
04824     void PrintOn(ostream & strm) const;
04825 #endif
04826     Comparison Compare(const PObject & obj) const;
04827     PObject * Clone() const;
04828 };
04829 
04830 
04831 //
04832 // QseriesOptions
04833 //
04834 
04835 class H225_QseriesOptions : public PASN_Sequence
04836 {
04837 #ifndef PASN_LEANANDMEAN
04838     PCLASSINFO(H225_QseriesOptions, PASN_Sequence);
04839 #endif
04840   public:
04841     H225_QseriesOptions(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04842 
04843     PASN_Boolean m_q932Full;
04844     PASN_Boolean m_q951Full;
04845     PASN_Boolean m_q952Full;
04846     PASN_Boolean m_q953Full;
04847     PASN_Boolean m_q955Full;
04848     PASN_Boolean m_q956Full;
04849     PASN_Boolean m_q957Full;
04850     H225_Q954Details m_q954Info;
04851 
04852     PINDEX GetDataLength() const;
04853     BOOL Decode(PASN_Stream & strm);
04854     void Encode(PASN_Stream & strm) const;
04855 #ifndef PASN_NOPRINTON
04856     void PrintOn(ostream & strm) const;
04857 #endif
04858     Comparison Compare(const PObject & obj) const;
04859     PObject * Clone() const;
04860 };
04861 
04862 
04863 //
04864 // DataRate
04865 //
04866 
04867 class H225_DataRate : public PASN_Sequence
04868 {
04869 #ifndef PASN_LEANANDMEAN
04870     PCLASSINFO(H225_DataRate, PASN_Sequence);
04871 #endif
04872   public:
04873     H225_DataRate(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04874 
04875     enum OptionalFields {
04876       e_nonStandardData,
04877       e_channelMultiplier
04878     };
04879 
04880     H225_NonStandardParameter m_nonStandardData;
04881     H225_BandWidth m_channelRate;
04882     PASN_Integer m_channelMultiplier;
04883 
04884     PINDEX GetDataLength() const;
04885     BOOL Decode(PASN_Stream & strm);
04886     void Encode(PASN_Stream & strm) const;
04887 #ifndef PASN_NOPRINTON
04888     void PrintOn(ostream & strm) const;
04889 #endif
04890     Comparison Compare(const PObject & obj) const;
04891     PObject * Clone() const;
04892 };
04893 
04894 
04895 //
04896 // SupportedPrefix
04897 //
04898 
04899 class H225_SupportedPrefix : public PASN_Sequence
04900 {
04901 #ifndef PASN_LEANANDMEAN
04902     PCLASSINFO(H225_SupportedPrefix, PASN_Sequence);
04903 #endif
04904   public:
04905     H225_SupportedPrefix(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04906 
04907     enum OptionalFields {
04908       e_nonStandardData
04909     };
04910 
04911     H225_NonStandardParameter m_nonStandardData;
04912     H225_AliasAddress m_prefix;
04913 
04914     PINDEX GetDataLength() const;
04915     BOOL Decode(PASN_Stream & strm);
04916     void Encode(PASN_Stream & strm) const;
04917 #ifndef PASN_NOPRINTON
04918     void PrintOn(ostream & strm) const;
04919 #endif
04920     Comparison Compare(const PObject & obj) const;
04921     PObject * Clone() const;
04922 };
04923 
04924 
04925 //
04926 // CapacityReportingSpecification
04927 //
04928 
04929 class H225_CapacityReportingSpecification : public PASN_Sequence
04930 {
04931 #ifndef PASN_LEANANDMEAN
04932     PCLASSINFO(H225_CapacityReportingSpecification, PASN_Sequence);
04933 #endif
04934   public:
04935     H225_CapacityReportingSpecification(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04936 
04937     H225_CapacityReportingSpecification_when m_when;
04938 
04939     PINDEX GetDataLength() const;
04940     BOOL Decode(PASN_Stream & strm);
04941     void Encode(PASN_Stream & strm) const;
04942 #ifndef PASN_NOPRINTON
04943     void PrintOn(ostream & strm) const;
04944 #endif
04945     Comparison Compare(const PObject & obj) const;
04946     PObject * Clone() const;
04947 };
04948 
04949 
04950 //
04951 // CallCapacityInfo
04952 //
04953 
04954 class H225_CallCapacityInfo : public PASN_Sequence
04955 {
04956 #ifndef PASN_LEANANDMEAN
04957     PCLASSINFO(H225_CallCapacityInfo, PASN_Sequence);
04958 #endif
04959   public:
04960     H225_CallCapacityInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
04961 
04962     enum OptionalFields {
04963       e_voiceGwCallsAvailable,
04964       e_h310GwCallsAvailable,
04965       e_h320GwCallsAvailable,
04966       e_h321GwCallsAvailable,
04967       e_h322GwCallsAvailable,
04968       e_h323GwCallsAvailable,
04969       e_h324GwCallsAvailable,
04970       e_t120OnlyGwCallsAvailable,
04971       e_t38FaxAnnexbOnlyGwCallsAvailable,
04972       e_terminalCallsAvailable,
04973       e_mcuCallsAvailable,
04974       e_sipGwCallsAvailable
04975     };
04976 
04977     H225_ArrayOf_CallsAvailable m_voiceGwCallsAvailable;
04978     H225_ArrayOf_CallsAvailable m_h310GwCallsAvailable;
04979     H225_ArrayOf_CallsAvailable m_h320GwCallsAvailable;
04980     H225_ArrayOf_CallsAvailable m_h321GwCallsAvailable;
04981     H225_ArrayOf_CallsAvailable m_h322GwCallsAvailable;
04982     H225_ArrayOf_CallsAvailable m_h323GwCallsAvailable;
04983     H225_ArrayOf_CallsAvailable m_h324GwCallsAvailable;
04984     H225_ArrayOf_CallsAvailable m_t120OnlyGwCallsAvailable;
04985     H225_ArrayOf_CallsAvailable m_t38FaxAnnexbOnlyGwCallsAvailable;
04986     H225_ArrayOf_CallsAvailable m_terminalCallsAvailable;
04987     H225_ArrayOf_CallsAvailable m_mcuCallsAvailable;
04988     H225_ArrayOf_CallsAvailable m_sipGwCallsAvailable;
04989 
04990     PINDEX GetDataLength() const;
04991     BOOL Decode(PASN_Stream & strm);
04992     void Encode(PASN_Stream & strm) const;
04993 #ifndef PASN_NOPRINTON
04994     void PrintOn(ostream & strm) const;
04995 #endif
04996     Comparison Compare(const PObject & obj) const;
04997     PObject * Clone() const;
04998 };
04999 
05000 
05001 //
05002 // CallsAvailable
05003 //
05004 
05005 class H225_CallsAvailable : public PASN_Sequence
05006 {
05007 #ifndef PASN_LEANANDMEAN
05008     PCLASSINFO(H225_CallsAvailable, PASN_Sequence);
05009 #endif
05010   public:
05011     H225_CallsAvailable(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05012 
05013     enum OptionalFields {
05014       e_group,
05015       e_carrier
05016     };
05017 
05018     PASN_Integer m_calls;
05019     PASN_IA5String m_group;
05020     H225_CarrierInfo m_carrier;
05021 
05022     PINDEX GetDataLength() const;
05023     BOOL Decode(PASN_Stream & strm);
05024     void Encode(PASN_Stream & strm) const;
05025 #ifndef PASN_NOPRINTON
05026     void PrintOn(ostream & strm) const;
05027 #endif
05028     Comparison Compare(const PObject & obj) const;
05029     PObject * Clone() const;
05030 };
05031 
05032 
05033 //
05034 // CicInfo
05035 //
05036 
05037 class H225_CicInfo : public PASN_Sequence
05038 {
05039 #ifndef PASN_LEANANDMEAN
05040     PCLASSINFO(H225_CicInfo, PASN_Sequence);
05041 #endif
05042   public:
05043     H225_CicInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05044 
05045     H225_CicInfo_cic m_cic;
05046     PASN_OctetString m_pointCode;
05047 
05048     PINDEX GetDataLength() const;
05049     BOOL Decode(PASN_Stream & strm);
05050     void Encode(PASN_Stream & strm) const;
05051 #ifndef PASN_NOPRINTON
05052     void PrintOn(ostream & strm) const;
05053 #endif
05054     Comparison Compare(const PObject & obj) const;
05055     PObject * Clone() const;
05056 };
05057 
05058 
05059 //
05060 // GroupID
05061 //
05062 
05063 class H225_GroupID : public PASN_Sequence
05064 {
05065 #ifndef PASN_LEANANDMEAN
05066     PCLASSINFO(H225_GroupID, PASN_Sequence);
05067 #endif
05068   public:
05069     H225_GroupID(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05070 
05071     enum OptionalFields {
05072       e_member
05073     };
05074 
05075     H225_GroupID_member m_member;
05076     PASN_IA5String m_group;
05077 
05078     PINDEX GetDataLength() const;
05079     BOOL Decode(PASN_Stream & strm);
05080     void Encode(PASN_Stream & strm) const;
05081 #ifndef PASN_NOPRINTON
05082     void PrintOn(ostream & strm) const;
05083 #endif
05084     Comparison Compare(const PObject & obj) const;
05085     PObject * Clone() const;
05086 };
05087 
05088 
05089 //
05090 // ServiceControlSession
05091 //
05092 
05093 class H225_ServiceControlSession : public PASN_Sequence
05094 {
05095 #ifndef PASN_LEANANDMEAN
05096     PCLASSINFO(H225_ServiceControlSession, PASN_Sequence);
05097 #endif
05098   public:
05099     H225_ServiceControlSession(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05100 
05101     enum OptionalFields {
05102       e_contents
05103     };
05104 
05105     PASN_Integer m_sessionId;
05106     H225_ServiceControlDescriptor m_contents;
05107     H225_ServiceControlSession_reason m_reason;
05108 
05109     PINDEX GetDataLength() const;
05110     BOOL Decode(PASN_Stream & strm);
05111     void Encode(PASN_Stream & strm) const;
05112 #ifndef PASN_NOPRINTON
05113     void PrintOn(ostream & strm) const;
05114 #endif
05115     Comparison Compare(const PObject & obj) const;
05116     PObject * Clone() const;
05117 };
05118 
05119 
05120 //
05121 // RasUsageInfoTypes
05122 //
05123 
05124 class H225_RasUsageInfoTypes : public PASN_Sequence
05125 {
05126 #ifndef PASN_LEANANDMEAN
05127     PCLASSINFO(H225_RasUsageInfoTypes, PASN_Sequence);
05128 #endif
05129   public:
05130     H225_RasUsageInfoTypes(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05131 
05132     enum OptionalFields {
05133       e_startTime,
05134       e_endTime,
05135       e_terminationCause
05136     };
05137 
05138     H225_ArrayOf_NonStandardParameter m_nonStandardUsageTypes;
05139     PASN_Null m_startTime;
05140     PASN_Null m_endTime;
05141     PASN_Null m_terminationCause;
05142 
05143     PINDEX GetDataLength() const;
05144     BOOL Decode(PASN_Stream & strm);
05145     void Encode(PASN_Stream & strm) const;
05146 #ifndef PASN_NOPRINTON
05147     void PrintOn(ostream & strm) const;
05148 #endif
05149     Comparison Compare(const PObject & obj) const;
05150     PObject * Clone() const;
05151 };
05152 
05153 
05154 //
05155 // RasUsageSpecification
05156 //
05157 
05158 class H225_RasUsageSpecification : public PASN_Sequence
05159 {
05160 #ifndef PASN_LEANANDMEAN
05161     PCLASSINFO(H225_RasUsageSpecification, PASN_Sequence);
05162 #endif
05163   public:
05164     H225_RasUsageSpecification(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05165 
05166     enum OptionalFields {
05167       e_callStartingPoint
05168     };
05169 
05170     H225_RasUsageSpecification_when m_when;
05171     H225_RasUsageSpecification_callStartingPoint m_callStartingPoint;
05172     H225_RasUsageInfoTypes m_required;
05173 
05174     PINDEX GetDataLength() const;
05175     BOOL Decode(PASN_Stream & strm);
05176     void Encode(PASN_Stream & strm) const;
05177 #ifndef PASN_NOPRINTON
05178     void PrintOn(ostream & strm) const;
05179 #endif
05180     Comparison Compare(const PObject & obj) const;
05181     PObject * Clone() const;
05182 };
05183 
05184 
05185 //
05186 // RasUsageInformation
05187 //
05188 
05189 class H225_RasUsageInformation : public PASN_Sequence
05190 {
05191 #ifndef PASN_LEANANDMEAN
05192     PCLASSINFO(H225_RasUsageInformation, PASN_Sequence);
05193 #endif
05194   public:
05195     H225_RasUsageInformation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05196 
05197     enum OptionalFields {
05198       e_alertingTime,
05199       e_connectTime,
05200       e_endTime
05201     };
05202 
05203     H225_ArrayOf_NonStandardParameter m_nonStandardUsageFields;
05204     H235_TimeStamp m_alertingTime;
05205     H235_TimeStamp m_connectTime;
05206     H235_TimeStamp m_endTime;
05207 
05208     PINDEX GetDataLength() const;
05209     BOOL Decode(PASN_Stream & strm);
05210     void Encode(PASN_Stream & strm) const;
05211 #ifndef PASN_NOPRINTON
05212     void PrintOn(ostream & strm) const;
05213 #endif
05214     Comparison Compare(const PObject & obj) const;
05215     PObject * Clone() const;
05216 };
05217 
05218 
05219 //
05220 // BandwidthDetails
05221 //
05222 
05223 class H225_BandwidthDetails : public PASN_Sequence
05224 {
05225 #ifndef PASN_LEANANDMEAN
05226     PCLASSINFO(H225_BandwidthDetails, PASN_Sequence);
05227 #endif
05228   public:
05229     H225_BandwidthDetails(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05230 
05231     PASN_Boolean m_sender;
05232     PASN_Boolean m_multicast;
05233     H225_BandWidth m_bandwidth;
05234     H225_TransportChannelInfo m_rtcpAddresses;
05235 
05236     PINDEX GetDataLength() const;
05237     BOOL Decode(PASN_Stream & strm);
05238     void Encode(PASN_Stream & strm) const;
05239 #ifndef PASN_NOPRINTON
05240     void PrintOn(ostream & strm) const;
05241 #endif
05242     Comparison Compare(const PObject & obj) const;
05243     PObject * Clone() const;
05244 };
05245 
05246 
05247 //
05248 // CallCreditServiceControl
05249 //
05250 
05251 class H225_CallCreditServiceControl : public PASN_Sequence
05252 {
05253 #ifndef PASN_LEANANDMEAN
05254     PCLASSINFO(H225_CallCreditServiceControl, PASN_Sequence);
05255 #endif
05256   public:
05257     H225_CallCreditServiceControl(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05258 
05259     enum OptionalFields {
05260       e_amountString,
05261       e_billingMode,
05262       e_callDurationLimit,
05263       e_enforceCallDurationLimit,
05264       e_callStartingPoint
05265     };
05266 
05267     PASN_BMPString m_amountString;
05268     H225_CallCreditServiceControl_billingMode m_billingMode;
05269     PASN_Integer m_callDurationLimit;
05270     PASN_Boolean m_enforceCallDurationLimit;
05271     H225_CallCreditServiceControl_callStartingPoint m_callStartingPoint;
05272 
05273     PINDEX GetDataLength() const;
05274     BOOL Decode(PASN_Stream & strm);
05275     void Encode(PASN_Stream & strm) const;
05276 #ifndef PASN_NOPRINTON
05277     void PrintOn(ostream & strm) const;
05278 #endif
05279     Comparison Compare(const PObject & obj) const;
05280     PObject * Clone() const;
05281 };
05282 
05283 
05284 //
05285 // GenericData
05286 //
05287 
05288 class H225_GenericData : public PASN_Sequence
05289 {
05290 #ifndef PASN_LEANANDMEAN
05291     PCLASSINFO(H225_GenericData, PASN_Sequence);
05292 #endif
05293   public:
05294     H225_GenericData(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05295 
05296     enum OptionalFields {
05297       e_parameters
05298     };
05299 
05300     H225_GenericIdentifier m_id;
05301     H225_ArrayOf_EnumeratedParameter m_parameters;
05302 
05303     PINDEX GetDataLength() const;
05304     BOOL Decode(PASN_Stream & strm);
05305     void Encode(PASN_Stream & strm) const;
05306 #ifndef PASN_NOPRINTON
05307     void PrintOn(ostream & strm) const;
05308 #endif
05309     Comparison Compare(const PObject & obj) const;
05310     PObject * Clone() const;
05311 };
05312 
05313 
05314 //
05315 // EnumeratedParameter
05316 //
05317 
05318 class H225_EnumeratedParameter : public PASN_Sequence
05319 {
05320 #ifndef PASN_LEANANDMEAN
05321     PCLASSINFO(H225_EnumeratedParameter, PASN_Sequence);
05322 #endif
05323   public:
05324     H225_EnumeratedParameter(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05325 
05326     enum OptionalFields {
05327       e_content
05328     };
05329 
05330     H225_GenericIdentifier m_id;
05331     H225_Content m_content;
05332 
05333     PINDEX GetDataLength() const;
05334     BOOL Decode(PASN_Stream & strm);
05335     void Encode(PASN_Stream & strm) const;
05336 #ifndef PASN_NOPRINTON
05337     void PrintOn(ostream & strm) const;
05338 #endif
05339     Comparison Compare(const PObject & obj) const;
05340     PObject * Clone() const;
05341 };
05342 
05343 
05344 //
05345 // FeatureSet
05346 //
05347 
05348 class H225_FeatureSet : public PASN_Sequence
05349 {
05350 #ifndef PASN_LEANANDMEAN
05351     PCLASSINFO(H225_FeatureSet, PASN_Sequence);
05352 #endif
05353   public:
05354     H225_FeatureSet(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05355 
05356     enum OptionalFields {
05357       e_neededFeatures,
05358       e_desiredFeatures,
05359       e_supportedFeatures
05360     };
05361 
05362     PASN_Boolean m_replacementFeatureSet;
05363     H225_ArrayOf_FeatureDescriptor m_neededFeatures;
05364     H225_ArrayOf_FeatureDescriptor m_desiredFeatures;
05365     H225_ArrayOf_FeatureDescriptor m_supportedFeatures;
05366 
05367     PINDEX GetDataLength() const;
05368     BOOL Decode(PASN_Stream & strm);
05369     void Encode(PASN_Stream & strm) const;
05370 #ifndef PASN_NOPRINTON
05371     void PrintOn(ostream & strm) const;
05372 #endif
05373     Comparison Compare(const PObject & obj) const;
05374     PObject * Clone() const;
05375 };
05376 
05377 
05378 //
05379 // RTPSession
05380 //
05381 
05382 class H225_RTPSession : public PASN_Sequence
05383 {
05384 #ifndef PASN_LEANANDMEAN
05385     PCLASSINFO(H225_RTPSession, PASN_Sequence);
05386 #endif
05387   public:
05388     H225_RTPSession(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05389 
05390     enum OptionalFields {
05391       e_multicast,
05392       e_bandwidth
05393     };
05394 
05395     H225_TransportChannelInfo m_rtpAddress;
05396     H225_TransportChannelInfo m_rtcpAddress;
05397     PASN_PrintableString m_cname;
05398     PASN_Integer m_ssrc;
05399     PASN_Integer m_sessionId;
05400     H225_RTPSession_associatedSessionIds m_associatedSessionIds;
05401     PASN_Null m_multicast;
05402     H225_BandWidth m_bandwidth;
05403 
05404     PINDEX GetDataLength() const;
05405     BOOL Decode(PASN_Stream & strm);
05406     void Encode(PASN_Stream & strm) const;
05407 #ifndef PASN_NOPRINTON
05408     void PrintOn(ostream & strm) const;
05409 #endif
05410     Comparison Compare(const PObject & obj) const;
05411     PObject * Clone() const;
05412 };
05413 
05414 
05415 //
05416 // GatekeeperConfirm
05417 //
05418 
05419 class H225_GatekeeperConfirm : public PASN_Sequence
05420 {
05421 #ifndef PASN_LEANANDMEAN
05422     PCLASSINFO(H225_GatekeeperConfirm, PASN_Sequence);
05423 #endif
05424   public:
05425     H225_GatekeeperConfirm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05426 
05427     enum OptionalFields {
05428       e_nonStandardData,
05429       e_gatekeeperIdentifier,
05430       e_alternateGatekeeper,
05431       e_authenticationMode,
05432       e_tokens,
05433       e_cryptoTokens,
05434       e_algorithmOID,
05435       e_integrity,
05436       e_integrityCheckValue,
05437       e_featureSet,
05438       e_genericData,
05439       e_assignedGatekeeper,
05440       e_rehomingModel
05441     };
05442 
05443     H225_RequestSeqNum m_requestSeqNum;
05444     H225_ProtocolIdentifier m_protocolIdentifier;
05445     H225_NonStandardParameter m_nonStandardData;
05446     H225_GatekeeperIdentifier m_gatekeeperIdentifier;
05447     H225_TransportAddress m_rasAddress;
05448     H225_ArrayOf_AlternateGK m_alternateGatekeeper;
05449     H235_AuthenticationMechanism m_authenticationMode;
05450     H225_ArrayOf_ClearToken m_tokens;
05451     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
05452     PASN_ObjectId m_algorithmOID;
05453     H225_ArrayOf_IntegrityMechanism m_integrity;
05454     H225_ICV m_integrityCheckValue;
05455     H225_FeatureSet m_featureSet;
05456     H225_ArrayOf_GenericData m_genericData;
05457     H225_AlternateGK m_assignedGatekeeper;
05458     H225_RehomingModel m_rehomingModel;
05459 
05460     PINDEX GetDataLength() const;
05461     BOOL Decode(PASN_Stream & strm);
05462     void Encode(PASN_Stream & strm) const;
05463 #ifndef PASN_NOPRINTON
05464     void PrintOn(ostream & strm) const;
05465 #endif
05466     Comparison Compare(const PObject & obj) const;
05467     PObject * Clone() const;
05468 };
05469 
05470 
05471 //
05472 // GatekeeperReject
05473 //
05474 
05475 class H225_GatekeeperReject : public PASN_Sequence
05476 {
05477 #ifndef PASN_LEANANDMEAN
05478     PCLASSINFO(H225_GatekeeperReject, PASN_Sequence);
05479 #endif
05480   public:
05481     H225_GatekeeperReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05482 
05483     enum OptionalFields {
05484       e_nonStandardData,
05485       e_gatekeeperIdentifier,
05486       e_altGKInfo,
05487       e_tokens,
05488       e_cryptoTokens,
05489       e_integrityCheckValue,
05490       e_featureSet,
05491       e_genericData
05492     };
05493 
05494     H225_RequestSeqNum m_requestSeqNum;
05495     H225_ProtocolIdentifier m_protocolIdentifier;
05496     H225_NonStandardParameter m_nonStandardData;
05497     H225_GatekeeperIdentifier m_gatekeeperIdentifier;
05498     H225_GatekeeperRejectReason m_rejectReason;
05499     H225_AltGKInfo m_altGKInfo;
05500     H225_ArrayOf_ClearToken m_tokens;
05501     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
05502     H225_ICV m_integrityCheckValue;
05503     H225_FeatureSet m_featureSet;
05504     H225_ArrayOf_GenericData m_genericData;
05505 
05506     PINDEX GetDataLength() const;
05507     BOOL Decode(PASN_Stream & strm);
05508     void Encode(PASN_Stream & strm) const;
05509 #ifndef PASN_NOPRINTON
05510     void PrintOn(ostream & strm) const;
05511 #endif
05512     Comparison Compare(const PObject & obj) const;
05513     PObject * Clone() const;
05514 };
05515 
05516 
05517 //
05518 // RegistrationReject
05519 //
05520 
05521 class H225_RegistrationReject : public PASN_Sequence
05522 {
05523 #ifndef PASN_LEANANDMEAN
05524     PCLASSINFO(H225_RegistrationReject, PASN_Sequence);
05525 #endif
05526   public:
05527     H225_RegistrationReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05528 
05529     enum OptionalFields {
05530       e_nonStandardData,
05531       e_gatekeeperIdentifier,
05532       e_altGKInfo,
05533       e_tokens,
05534       e_cryptoTokens,
05535       e_integrityCheckValue,
05536       e_featureSet,
05537       e_genericData,
05538       e_assignedGatekeeper
05539     };
05540 
05541     H225_RequestSeqNum m_requestSeqNum;
05542     H225_ProtocolIdentifier m_protocolIdentifier;
05543     H225_NonStandardParameter m_nonStandardData;
05544     H225_RegistrationRejectReason m_rejectReason;
05545     H225_GatekeeperIdentifier m_gatekeeperIdentifier;
05546     H225_AltGKInfo m_altGKInfo;
05547     H225_ArrayOf_ClearToken m_tokens;
05548     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
05549     H225_ICV m_integrityCheckValue;
05550     H225_FeatureSet m_featureSet;
05551     H225_ArrayOf_GenericData m_genericData;
05552     H225_AlternateGK m_assignedGatekeeper;
05553 
05554     PINDEX GetDataLength() const;
05555     BOOL Decode(PASN_Stream & strm);
05556     void Encode(PASN_Stream & strm) const;
05557 #ifndef PASN_NOPRINTON
05558     void PrintOn(ostream & strm) const;
05559 #endif
05560     Comparison Compare(const PObject & obj) const;
05561     PObject * Clone() const;
05562 };
05563 
05564 
05565 //
05566 // UnregistrationRequest
05567 //
05568 
05569 class H225_UnregistrationRequest : public PASN_Sequence
05570 {
05571 #ifndef PASN_LEANANDMEAN
05572     PCLASSINFO(H225_UnregistrationRequest, PASN_Sequence);
05573 #endif
05574   public:
05575     H225_UnregistrationRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05576 
05577     enum OptionalFields {
05578       e_endpointAlias,
05579       e_nonStandardData,
05580       e_endpointIdentifier,
05581       e_alternateEndpoints,
05582       e_gatekeeperIdentifier,
05583       e_tokens,
05584       e_cryptoTokens,
05585       e_integrityCheckValue,
05586       e_reason,
05587       e_endpointAliasPattern,
05588       e_supportedPrefixes,
05589       e_alternateGatekeeper,
05590       e_genericData,
05591       e_assignedGatekeeper
05592     };
05593 
05594     H225_RequestSeqNum m_requestSeqNum;
05595     H225_ArrayOf_TransportAddress m_callSignalAddress;
05596     H225_ArrayOf_AliasAddress m_endpointAlias;
05597     H225_NonStandardParameter m_nonStandardData;
05598     H225_EndpointIdentifier m_endpointIdentifier;
05599     H225_ArrayOf_Endpoint m_alternateEndpoints;
05600     H225_GatekeeperIdentifier m_gatekeeperIdentifier;
05601     H225_ArrayOf_ClearToken m_tokens;
05602     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
05603     H225_ICV m_integrityCheckValue;
05604     H225_UnregRequestReason m_reason;
05605     H225_ArrayOf_AddressPattern m_endpointAliasPattern;
05606     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
05607     H225_ArrayOf_AlternateGK m_alternateGatekeeper;
05608     H225_ArrayOf_GenericData m_genericData;
05609     H225_AlternateGK m_assignedGatekeeper;
05610 
05611     PINDEX GetDataLength() const;
05612     BOOL Decode(PASN_Stream & strm);
05613     void Encode(PASN_Stream & strm) const;
05614 #ifndef PASN_NOPRINTON
05615     void PrintOn(ostream & strm) const;
05616 #endif
05617     Comparison Compare(const PObject & obj) const;
05618     PObject * Clone() const;
05619 };
05620 
05621 
05622 //
05623 // UnregistrationConfirm
05624 //
05625 
05626 class H225_UnregistrationConfirm : public PASN_Sequence
05627 {
05628 #ifndef PASN_LEANANDMEAN
05629     PCLASSINFO(H225_UnregistrationConfirm, PASN_Sequence);
05630 #endif
05631   public:
05632     H225_UnregistrationConfirm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05633 
05634     enum OptionalFields {
05635       e_nonStandardData,
05636       e_tokens,
05637       e_cryptoTokens,
05638       e_integrityCheckValue,
05639       e_genericData,
05640       e_assignedGatekeeper
05641     };
05642 
05643     H225_RequestSeqNum m_requestSeqNum;
05644     H225_NonStandardParameter m_nonStandardData;
05645     H225_ArrayOf_ClearToken m_tokens;
05646     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
05647     H225_ICV m_integrityCheckValue;
05648     H225_ArrayOf_GenericData m_genericData;
05649     H225_AlternateGK m_assignedGatekeeper;
05650 
05651     PINDEX GetDataLength() const;
05652     BOOL Decode(PASN_Stream & strm);
05653     void Encode(PASN_Stream & strm) const;
05654 #ifndef PASN_NOPRINTON
05655     void PrintOn(ostream & strm) const;
05656 #endif
05657     Comparison Compare(const PObject & obj) const;
05658     PObject * Clone() const;
05659 };
05660 
05661 
05662 //
05663 // UnregistrationReject
05664 //
05665 
05666 class H225_UnregistrationReject : public PASN_Sequence
05667 {
05668 #ifndef PASN_LEANANDMEAN
05669     PCLASSINFO(H225_UnregistrationReject, PASN_Sequence);
05670 #endif
05671   public:
05672     H225_UnregistrationReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05673 
05674     enum OptionalFields {
05675       e_nonStandardData,
05676       e_altGKInfo,
05677       e_tokens,
05678       e_cryptoTokens,
05679       e_integrityCheckValue,
05680       e_genericData
05681     };
05682 
05683     H225_RequestSeqNum m_requestSeqNum;
05684     H225_UnregRejectReason m_rejectReason;
05685     H225_NonStandardParameter m_nonStandardData;
05686     H225_AltGKInfo m_altGKInfo;
05687     H225_ArrayOf_ClearToken m_tokens;
05688     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
05689     H225_ICV m_integrityCheckValue;
05690     H225_ArrayOf_GenericData m_genericData;
05691 
05692     PINDEX GetDataLength() const;
05693     BOOL Decode(PASN_Stream & strm);
05694     void Encode(PASN_Stream & strm) const;
05695 #ifndef PASN_NOPRINTON
05696     void PrintOn(ostream & strm) const;
05697 #endif
05698     Comparison Compare(const PObject & obj) const;
05699     PObject * Clone() const;
05700 };
05701 
05702 
05703 //
05704 // AdmissionReject
05705 //
05706 
05707 class H225_AdmissionReject : public PASN_Sequence
05708 {
05709 #ifndef PASN_LEANANDMEAN
05710     PCLASSINFO(H225_AdmissionReject, PASN_Sequence);
05711 #endif
05712   public:
05713     H225_AdmissionReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05714 
05715     enum OptionalFields {
05716       e_nonStandardData,
05717       e_altGKInfo,
05718       e_tokens,
05719       e_cryptoTokens,
05720       e_callSignalAddress,
05721       e_integrityCheckValue,
05722       e_serviceControl,
05723       e_featureSet,
05724       e_genericData,
05725       e_assignedGatekeeper
05726     };
05727 
05728     H225_RequestSeqNum m_requestSeqNum;
05729     H225_AdmissionRejectReason m_rejectReason;
05730     H225_NonStandardParameter m_nonStandardData;
05731     H225_AltGKInfo m_altGKInfo;
05732     H225_ArrayOf_ClearToken m_tokens;
05733     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
05734     H225_ArrayOf_TransportAddress m_callSignalAddress;
05735     H225_ICV m_integrityCheckValue;
05736     H225_ArrayOf_ServiceControlSession m_serviceControl;
05737     H225_FeatureSet m_featureSet;
05738     H225_ArrayOf_GenericData m_genericData;
05739     H225_AlternateGK m_assignedGatekeeper;
05740 
05741     PINDEX GetDataLength() const;
05742     BOOL Decode(PASN_Stream & strm);
05743     void Encode(PASN_Stream & strm) const;
05744 #ifndef PASN_NOPRINTON
05745     void PrintOn(ostream & strm) const;
05746 #endif
05747     Comparison Compare(const PObject & obj) const;
05748     PObject * Clone() const;
05749 };
05750 
05751 
05752 //
05753 // BandwidthReject
05754 //
05755 
05756 class H225_BandwidthReject : public PASN_Sequence
05757 {
05758 #ifndef PASN_LEANANDMEAN
05759     PCLASSINFO(H225_BandwidthReject, PASN_Sequence);
05760 #endif
05761   public:
05762     H225_BandwidthReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05763 
05764     enum OptionalFields {
05765       e_nonStandardData,
05766       e_altGKInfo,
05767       e_tokens,
05768       e_cryptoTokens,
05769       e_integrityCheckValue,
05770       e_genericData
05771     };
05772 
05773     H225_RequestSeqNum m_requestSeqNum;
05774     H225_BandRejectReason m_rejectReason;
05775     H225_BandWidth m_allowedBandWidth;
05776     H225_NonStandardParameter m_nonStandardData;
05777     H225_AltGKInfo m_altGKInfo;
05778     H225_ArrayOf_ClearToken m_tokens;
05779     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
05780     H225_ICV m_integrityCheckValue;
05781     H225_ArrayOf_GenericData m_genericData;
05782 
05783     PINDEX GetDataLength() const;
05784     BOOL Decode(PASN_Stream & strm);
05785     void Encode(PASN_Stream & strm) const;
05786 #ifndef PASN_NOPRINTON
05787     void PrintOn(ostream & strm) const;
05788 #endif
05789     Comparison Compare(const PObject & obj) const;
05790     PObject * Clone() const;
05791 };
05792 
05793 
05794 //
05795 // LocationReject
05796 //
05797 
05798 class H225_LocationReject : public PASN_Sequence
05799 {
05800 #ifndef PASN_LEANANDMEAN
05801     PCLASSINFO(H225_LocationReject, PASN_Sequence);
05802 #endif
05803   public:
05804     H225_LocationReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05805 
05806     enum OptionalFields {
05807       e_nonStandardData,
05808       e_altGKInfo,
05809       e_tokens,
05810       e_cryptoTokens,
05811       e_integrityCheckValue,
05812       e_featureSet,
05813       e_genericData,
05814       e_serviceControl
05815     };
05816 
05817     H225_RequestSeqNum m_requestSeqNum;
05818     H225_LocationRejectReason m_rejectReason;
05819     H225_NonStandardParameter m_nonStandardData;
05820     H225_AltGKInfo m_altGKInfo;
05821     H225_ArrayOf_ClearToken m_tokens;
05822     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
05823     H225_ICV m_integrityCheckValue;
05824     H225_FeatureSet m_featureSet;
05825     H225_ArrayOf_GenericData m_genericData;
05826     H225_ArrayOf_ServiceControlSession m_serviceControl;
05827 
05828     PINDEX GetDataLength() const;
05829     BOOL Decode(PASN_Stream & strm);
05830     void Encode(PASN_Stream & strm) const;
05831 #ifndef PASN_NOPRINTON
05832     void PrintOn(ostream & strm) const;
05833 #endif
05834     Comparison Compare(const PObject & obj) const;
05835     PObject * Clone() const;
05836 };
05837 
05838 
05839 //
05840 // DisengageReject
05841 //
05842 
05843 class H225_DisengageReject : public PASN_Sequence
05844 {
05845 #ifndef PASN_LEANANDMEAN
05846     PCLASSINFO(H225_DisengageReject, PASN_Sequence);
05847 #endif
05848   public:
05849     H225_DisengageReject(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05850 
05851     enum OptionalFields {
05852       e_nonStandardData,
05853       e_altGKInfo,
05854       e_tokens,
05855       e_cryptoTokens,
05856       e_integrityCheckValue,
05857       e_genericData
05858     };
05859 
05860     H225_RequestSeqNum m_requestSeqNum;
05861     H225_DisengageRejectReason m_rejectReason;
05862     H225_NonStandardParameter m_nonStandardData;
05863     H225_AltGKInfo m_altGKInfo;
05864     H225_ArrayOf_ClearToken m_tokens;
05865     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
05866     H225_ICV m_integrityCheckValue;
05867     H225_ArrayOf_GenericData m_genericData;
05868 
05869     PINDEX GetDataLength() const;
05870     BOOL Decode(PASN_Stream & strm);
05871     void Encode(PASN_Stream & strm) const;
05872 #ifndef PASN_NOPRINTON
05873     void PrintOn(ostream & strm) const;
05874 #endif
05875     Comparison Compare(const PObject & obj) const;
05876     PObject * Clone() const;
05877 };
05878 
05879 
05880 //
05881 // InfoRequest
05882 //
05883 
05884 class H225_InfoRequest : public PASN_Sequence
05885 {
05886 #ifndef PASN_LEANANDMEAN
05887     PCLASSINFO(H225_InfoRequest, PASN_Sequence);
05888 #endif
05889   public:
05890     H225_InfoRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05891 
05892     enum OptionalFields {
05893       e_nonStandardData,
05894       e_replyAddress,
05895       e_callIdentifier,
05896       e_tokens,
05897       e_cryptoTokens,
05898       e_integrityCheckValue,
05899       e_uuiesRequested,
05900       e_callLinkage,
05901       e_usageInfoRequested,
05902       e_segmentedResponseSupported,
05903       e_nextSegmentRequested,
05904       e_capacityInfoRequested,
05905       e_genericData,
05906       e_assignedGatekeeper
05907     };
05908 
05909     H225_RequestSeqNum m_requestSeqNum;
05910     H225_CallReferenceValue m_callReferenceValue;
05911     H225_NonStandardParameter m_nonStandardData;
05912     H225_TransportAddress m_replyAddress;
05913     H225_CallIdentifier m_callIdentifier;
05914     H225_ArrayOf_ClearToken m_tokens;
05915     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
05916     H225_ICV m_integrityCheckValue;
05917     H225_UUIEsRequested m_uuiesRequested;
05918     H225_CallLinkage m_callLinkage;
05919     H225_RasUsageInfoTypes m_usageInfoRequested;
05920     PASN_Null m_segmentedResponseSupported;
05921     PASN_Integer m_nextSegmentRequested;
05922     PASN_Null m_capacityInfoRequested;
05923     H225_ArrayOf_GenericData m_genericData;
05924     H225_AlternateGK m_assignedGatekeeper;
05925 
05926     PINDEX GetDataLength() const;
05927     BOOL Decode(PASN_Stream & strm);
05928     void Encode(PASN_Stream & strm) const;
05929 #ifndef PASN_NOPRINTON
05930     void PrintOn(ostream & strm) const;
05931 #endif
05932     Comparison Compare(const PObject & obj) const;
05933     PObject * Clone() const;
05934 };
05935 
05936 
05937 //
05938 // InfoRequestAck
05939 //
05940 
05941 class H225_InfoRequestAck : public PASN_Sequence
05942 {
05943 #ifndef PASN_LEANANDMEAN
05944     PCLASSINFO(H225_InfoRequestAck, PASN_Sequence);
05945 #endif
05946   public:
05947     H225_InfoRequestAck(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05948 
05949     enum OptionalFields {
05950       e_nonStandardData,
05951       e_tokens,
05952       e_cryptoTokens,
05953       e_integrityCheckValue
05954     };
05955 
05956     H225_RequestSeqNum m_requestSeqNum;
05957     H225_NonStandardParameter m_nonStandardData;
05958     H225_ArrayOf_ClearToken m_tokens;
05959     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
05960     H225_ICV m_integrityCheckValue;
05961 
05962     PINDEX GetDataLength() const;
05963     BOOL Decode(PASN_Stream & strm);
05964     void Encode(PASN_Stream & strm) const;
05965 #ifndef PASN_NOPRINTON
05966     void PrintOn(ostream & strm) const;
05967 #endif
05968     Comparison Compare(const PObject & obj) const;
05969     PObject * Clone() const;
05970 };
05971 
05972 
05973 //
05974 // InfoRequestNak
05975 //
05976 
05977 class H225_InfoRequestNak : public PASN_Sequence
05978 {
05979 #ifndef PASN_LEANANDMEAN
05980     PCLASSINFO(H225_InfoRequestNak, PASN_Sequence);
05981 #endif
05982   public:
05983     H225_InfoRequestNak(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
05984 
05985     enum OptionalFields {
05986       e_nonStandardData,
05987       e_altGKInfo,
05988       e_tokens,
05989       e_cryptoTokens,
05990       e_integrityCheckValue
05991     };
05992 
05993     H225_RequestSeqNum m_requestSeqNum;
05994     H225_NonStandardParameter m_nonStandardData;
05995     H225_InfoRequestNakReason m_nakReason;
05996     H225_AltGKInfo m_altGKInfo;
05997     H225_ArrayOf_ClearToken m_tokens;
05998     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
05999     H225_ICV m_integrityCheckValue;
06000 
06001     PINDEX GetDataLength() const;
06002     BOOL Decode(PASN_Stream & strm);
06003     void Encode(PASN_Stream & strm) const;
06004 #ifndef PASN_NOPRINTON
06005     void PrintOn(ostream & strm) const;
06006 #endif
06007     Comparison Compare(const PObject & obj) const;
06008     PObject * Clone() const;
06009 };
06010 
06011 
06012 //
06013 // NonStandardMessage
06014 //
06015 
06016 class H225_NonStandardMessage : public PASN_Sequence
06017 {
06018 #ifndef PASN_LEANANDMEAN
06019     PCLASSINFO(H225_NonStandardMessage, PASN_Sequence);
06020 #endif
06021   public:
06022     H225_NonStandardMessage(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06023 
06024     enum OptionalFields {
06025       e_tokens,
06026       e_cryptoTokens,
06027       e_integrityCheckValue,
06028       e_featureSet,
06029       e_genericData
06030     };
06031 
06032     H225_RequestSeqNum m_requestSeqNum;
06033     H225_NonStandardParameter m_nonStandardData;
06034     H225_ArrayOf_ClearToken m_tokens;
06035     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
06036     H225_ICV m_integrityCheckValue;
06037     H225_FeatureSet m_featureSet;
06038     H225_ArrayOf_GenericData m_genericData;
06039 
06040     PINDEX GetDataLength() const;
06041     BOOL Decode(PASN_Stream & strm);
06042     void Encode(PASN_Stream & strm) const;
06043 #ifndef PASN_NOPRINTON
06044     void PrintOn(ostream & strm) const;
06045 #endif
06046     Comparison Compare(const PObject & obj) const;
06047     PObject * Clone() const;
06048 };
06049 
06050 
06051 //
06052 // UnknownMessageResponse
06053 //
06054 
06055 class H225_UnknownMessageResponse : public PASN_Sequence
06056 {
06057 #ifndef PASN_LEANANDMEAN
06058     PCLASSINFO(H225_UnknownMessageResponse, PASN_Sequence);
06059 #endif
06060   public:
06061     H225_UnknownMessageResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06062 
06063     enum OptionalFields {
06064       e_tokens,
06065       e_cryptoTokens,
06066       e_integrityCheckValue,
06067       e_messageNotUnderstood
06068     };
06069 
06070     H225_RequestSeqNum m_requestSeqNum;
06071     H225_ArrayOf_ClearToken m_tokens;
06072     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
06073     H225_ICV m_integrityCheckValue;
06074     PASN_OctetString m_messageNotUnderstood;
06075 
06076     PINDEX GetDataLength() const;
06077     BOOL Decode(PASN_Stream & strm);
06078     void Encode(PASN_Stream & strm) const;
06079 #ifndef PASN_NOPRINTON
06080     void PrintOn(ostream & strm) const;
06081 #endif
06082     Comparison Compare(const PObject & obj) const;
06083     PObject * Clone() const;
06084 };
06085 
06086 
06087 //
06088 // RequestInProgress
06089 //
06090 
06091 class H225_RequestInProgress : public PASN_Sequence
06092 {
06093 #ifndef PASN_LEANANDMEAN
06094     PCLASSINFO(H225_RequestInProgress, PASN_Sequence);
06095 #endif
06096   public:
06097     H225_RequestInProgress(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06098 
06099     enum OptionalFields {
06100       e_nonStandardData,
06101       e_tokens,
06102       e_cryptoTokens,
06103       e_integrityCheckValue
06104     };
06105 
06106     H225_RequestSeqNum m_requestSeqNum;
06107     H225_NonStandardParameter m_nonStandardData;
06108     H225_ArrayOf_ClearToken m_tokens;
06109     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
06110     H225_ICV m_integrityCheckValue;
06111     PASN_Integer m_delay;
06112 
06113     PINDEX GetDataLength() const;
06114     BOOL Decode(PASN_Stream & strm);
06115     void Encode(PASN_Stream & strm) const;
06116 #ifndef PASN_NOPRINTON
06117     void PrintOn(ostream & strm) const;
06118 #endif
06119     Comparison Compare(const PObject & obj) const;
06120     PObject * Clone() const;
06121 };
06122 
06123 
06124 //
06125 // ResourcesAvailableConfirm
06126 //
06127 
06128 class H225_ResourcesAvailableConfirm : public PASN_Sequence
06129 {
06130 #ifndef PASN_LEANANDMEAN
06131     PCLASSINFO(H225_ResourcesAvailableConfirm, PASN_Sequence);
06132 #endif
06133   public:
06134     H225_ResourcesAvailableConfirm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06135 
06136     enum OptionalFields {
06137       e_nonStandardData,
06138       e_tokens,
06139       e_cryptoTokens,
06140       e_integrityCheckValue,
06141       e_genericData
06142     };
06143 
06144     H225_RequestSeqNum m_requestSeqNum;
06145     H225_ProtocolIdentifier m_protocolIdentifier;
06146     H225_NonStandardParameter m_nonStandardData;
06147     H225_ArrayOf_ClearToken m_tokens;
06148     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
06149     H225_ICV m_integrityCheckValue;
06150     H225_ArrayOf_GenericData m_genericData;
06151 
06152     PINDEX GetDataLength() const;
06153     BOOL Decode(PASN_Stream & strm);
06154     void Encode(PASN_Stream & strm) const;
06155 #ifndef PASN_NOPRINTON
06156     void PrintOn(ostream & strm) const;
06157 #endif
06158     Comparison Compare(const PObject & obj) const;
06159     PObject * Clone() const;
06160 };
06161 
06162 
06163 //
06164 // ServiceControlIndication
06165 //
06166 
06167 class H225_ServiceControlIndication : public PASN_Sequence
06168 {
06169 #ifndef PASN_LEANANDMEAN
06170     PCLASSINFO(H225_ServiceControlIndication, PASN_Sequence);
06171 #endif
06172   public:
06173     H225_ServiceControlIndication(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06174 
06175     enum OptionalFields {
06176       e_nonStandardData,
06177       e_endpointIdentifier,
06178       e_callSpecific,
06179       e_tokens,
06180       e_cryptoTokens,
06181       e_integrityCheckValue,
06182       e_featureSet,
06183       e_genericData
06184     };
06185 
06186     H225_RequestSeqNum m_requestSeqNum;
06187     H225_NonStandardParameter m_nonStandardData;
06188     H225_ArrayOf_ServiceControlSession m_serviceControl;
06189     H225_EndpointIdentifier m_endpointIdentifier;
06190     H225_ServiceControlIndication_callSpecific m_callSpecific;
06191     H225_ArrayOf_ClearToken m_tokens;
06192     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
06193     H225_ICV m_integrityCheckValue;
06194     H225_FeatureSet m_featureSet;
06195     H225_ArrayOf_GenericData m_genericData;
06196 
06197     PINDEX GetDataLength() const;
06198     BOOL Decode(PASN_Stream & strm);
06199     void Encode(PASN_Stream & strm) const;
06200 #ifndef PASN_NOPRINTON
06201     void PrintOn(ostream & strm) const;
06202 #endif
06203     Comparison Compare(const PObject & obj) const;
06204     PObject * Clone() const;
06205 };
06206 
06207 
06208 //
06209 // ServiceControlResponse
06210 //
06211 
06212 class H225_ServiceControlResponse : public PASN_Sequence
06213 {
06214 #ifndef PASN_LEANANDMEAN
06215     PCLASSINFO(H225_ServiceControlResponse, PASN_Sequence);
06216 #endif
06217   public:
06218     H225_ServiceControlResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06219 
06220     enum OptionalFields {
06221       e_result,
06222       e_nonStandardData,
06223       e_tokens,
06224       e_cryptoTokens,
06225       e_integrityCheckValue,
06226       e_featureSet,
06227       e_genericData
06228     };
06229 
06230     H225_RequestSeqNum m_requestSeqNum;
06231     H225_ServiceControlResponse_result m_result;
06232     H225_NonStandardParameter m_nonStandardData;
06233     H225_ArrayOf_ClearToken m_tokens;
06234     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
06235     H225_ICV m_integrityCheckValue;
06236     H225_FeatureSet m_featureSet;
06237     H225_ArrayOf_GenericData m_genericData;
06238 
06239     PINDEX GetDataLength() const;
06240     BOOL Decode(PASN_Stream & strm);
06241     void Encode(PASN_Stream & strm) const;
06242 #ifndef PASN_NOPRINTON
06243     void PrintOn(ostream & strm) const;
06244 #endif
06245     Comparison Compare(const PObject & obj) const;
06246     PObject * Clone() const;
06247 };
06248 
06249 
06250 //
06251 // H323-UU-PDU_tunnelledSignallingMessage
06252 //
06253 
06254 class H225_H323_UU_PDU_tunnelledSignallingMessage : public PASN_Sequence
06255 {
06256 #ifndef PASN_LEANANDMEAN
06257     PCLASSINFO(H225_H323_UU_PDU_tunnelledSignallingMessage, PASN_Sequence);
06258 #endif
06259   public:
06260     H225_H323_UU_PDU_tunnelledSignallingMessage(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06261 
06262     enum OptionalFields {
06263       e_tunnellingRequired,
06264       e_nonStandardData
06265     };
06266 
06267     H225_TunnelledProtocol m_tunnelledProtocolID;
06268     H225_ArrayOf_PASN_OctetString m_messageContent;
06269     PASN_Null m_tunnellingRequired;
06270     H225_NonStandardParameter m_nonStandardData;
06271 
06272     PINDEX GetDataLength() const;
06273     BOOL Decode(PASN_Stream & strm);
06274     void Encode(PASN_Stream & strm) const;
06275 #ifndef PASN_NOPRINTON
06276     void PrintOn(ostream & strm) const;
06277 #endif
06278     Comparison Compare(const PObject & obj) const;
06279     PObject * Clone() const;
06280 };
06281 
06282 
06283 //
06284 // TransportAddress_ipSourceRoute
06285 //
06286 
06287 class H225_TransportAddress_ipSourceRoute : public PASN_Sequence
06288 {
06289 #ifndef PASN_LEANANDMEAN
06290     PCLASSINFO(H225_TransportAddress_ipSourceRoute, PASN_Sequence);
06291 #endif
06292   public:
06293     H225_TransportAddress_ipSourceRoute(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06294 
06295     PASN_OctetString m_ip;
06296     PASN_Integer m_port;
06297     H225_TransportAddress_ipSourceRoute_route m_route;
06298     H225_TransportAddress_ipSourceRoute_routing m_routing;
06299 
06300     PINDEX GetDataLength() const;
06301     BOOL Decode(PASN_Stream & strm);
06302     void Encode(PASN_Stream & strm) const;
06303 #ifndef PASN_NOPRINTON
06304     void PrintOn(ostream & strm) const;
06305 #endif
06306     Comparison Compare(const PObject & obj) const;
06307     PObject * Clone() const;
06308 };
06309 
06310 
06311 //
06312 // RegistrationConfirm_preGrantedARQ
06313 //
06314 
06315 class H225_RegistrationConfirm_preGrantedARQ : public PASN_Sequence
06316 {
06317 #ifndef PASN_LEANANDMEAN
06318     PCLASSINFO(H225_RegistrationConfirm_preGrantedARQ, PASN_Sequence);
06319 #endif
06320   public:
06321     H225_RegistrationConfirm_preGrantedARQ(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06322 
06323     enum OptionalFields {
06324       e_irrFrequencyInCall,
06325       e_totalBandwidthRestriction,
06326       e_alternateTransportAddresses,
06327       e_useSpecifiedTransport
06328     };
06329 
06330     PASN_Boolean m_makeCall;
06331     PASN_Boolean m_useGKCallSignalAddressToMakeCall;
06332     PASN_Boolean m_answerCall;
06333     PASN_Boolean m_useGKCallSignalAddressToAnswer;
06334     PASN_Integer m_irrFrequencyInCall;
06335     H225_BandWidth m_totalBandwidthRestriction;
06336     H225_AlternateTransportAddresses m_alternateTransportAddresses;
06337     H225_UseSpecifiedTransport m_useSpecifiedTransport;
06338 
06339     PINDEX GetDataLength() const;
06340     BOOL Decode(PASN_Stream & strm);
06341     void Encode(PASN_Stream & strm) const;
06342 #ifndef PASN_NOPRINTON
06343     void PrintOn(ostream & strm) const;
06344 #endif
06345     Comparison Compare(const PObject & obj) const;
06346     PObject * Clone() const;
06347 };
06348 
06349 
06350 //
06351 // StimulusControl
06352 //
06353 
06354 class H225_StimulusControl : public PASN_Sequence
06355 {
06356 #ifndef PASN_LEANANDMEAN
06357     PCLASSINFO(H225_StimulusControl, PASN_Sequence);
06358 #endif
06359   public:
06360     H225_StimulusControl(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06361 
06362     enum OptionalFields {
06363       e_nonStandard,
06364       e_isText,
06365       e_h248Message
06366     };
06367 
06368     H225_NonStandardParameter m_nonStandard;
06369     PASN_Null m_isText;
06370     PASN_OctetString m_h248Message;
06371 
06372     PINDEX GetDataLength() const;
06373     BOOL Decode(PASN_Stream & strm);
06374     void Encode(PASN_Stream & strm) const;
06375 #ifndef PASN_NOPRINTON
06376     void PrintOn(ostream & strm) const;
06377 #endif
06378     Comparison Compare(const PObject & obj) const;
06379     PObject * Clone() const;
06380 };
06381 
06382 
06383 //
06384 // ConferenceList
06385 //
06386 
06387 class H225_ConferenceList : public PASN_Sequence
06388 {
06389 #ifndef PASN_LEANANDMEAN
06390     PCLASSINFO(H225_ConferenceList, PASN_Sequence);
06391 #endif
06392   public:
06393     H225_ConferenceList(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06394 
06395     enum OptionalFields {
06396       e_conferenceID,
06397       e_conferenceAlias,
06398       e_nonStandardData
06399     };
06400 
06401     H225_ConferenceIdentifier m_conferenceID;
06402     H225_AliasAddress m_conferenceAlias;
06403     H225_NonStandardParameter m_nonStandardData;
06404 
06405     PINDEX GetDataLength() const;
06406     BOOL Decode(PASN_Stream & strm);
06407     void Encode(PASN_Stream & strm) const;
06408 #ifndef PASN_NOPRINTON
06409     void PrintOn(ostream & strm) const;
06410 #endif
06411     Comparison Compare(const PObject & obj) const;
06412     PObject * Clone() const;
06413 };
06414 
06415 
06416 //
06417 // GatewayInfo
06418 //
06419 
06420 class H225_GatewayInfo : public PASN_Sequence
06421 {
06422 #ifndef PASN_LEANANDMEAN
06423     PCLASSINFO(H225_GatewayInfo, PASN_Sequence);
06424 #endif
06425   public:
06426     H225_GatewayInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06427 
06428     enum OptionalFields {
06429       e_protocol,
06430       e_nonStandardData
06431     };
06432 
06433     H225_ArrayOf_SupportedProtocols m_protocol;
06434     H225_NonStandardParameter m_nonStandardData;
06435 
06436     PINDEX GetDataLength() const;
06437     BOOL Decode(PASN_Stream & strm);
06438     void Encode(PASN_Stream & strm) const;
06439 #ifndef PASN_NOPRINTON
06440     void PrintOn(ostream & strm) const;
06441 #endif
06442     Comparison Compare(const PObject & obj) const;
06443     PObject * Clone() const;
06444 };
06445 
06446 
06447 //
06448 // H310Caps
06449 //
06450 
06451 class H225_H310Caps : public PASN_Sequence
06452 {
06453 #ifndef PASN_LEANANDMEAN
06454     PCLASSINFO(H225_H310Caps, PASN_Sequence);
06455 #endif
06456   public:
06457     H225_H310Caps(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06458 
06459     enum OptionalFields {
06460       e_nonStandardData,
06461       e_dataRatesSupported,
06462       e_supportedPrefixes
06463     };
06464 
06465     H225_NonStandardParameter m_nonStandardData;
06466     H225_ArrayOf_DataRate m_dataRatesSupported;
06467     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
06468 
06469     PINDEX GetDataLength() const;
06470     BOOL Decode(PASN_Stream & strm);
06471     void Encode(PASN_Stream & strm) const;
06472 #ifndef PASN_NOPRINTON
06473     void PrintOn(ostream & strm) const;
06474 #endif
06475     Comparison Compare(const PObject & obj) const;
06476     PObject * Clone() const;
06477 };
06478 
06479 
06480 //
06481 // H320Caps
06482 //
06483 
06484 class H225_H320Caps : public PASN_Sequence
06485 {
06486 #ifndef PASN_LEANANDMEAN
06487     PCLASSINFO(H225_H320Caps, PASN_Sequence);
06488 #endif
06489   public:
06490     H225_H320Caps(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06491 
06492     enum OptionalFields {
06493       e_nonStandardData,
06494       e_dataRatesSupported,
06495       e_supportedPrefixes
06496     };
06497 
06498     H225_NonStandardParameter m_nonStandardData;
06499     H225_ArrayOf_DataRate m_dataRatesSupported;
06500     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
06501 
06502     PINDEX GetDataLength() const;
06503     BOOL Decode(PASN_Stream & strm);
06504     void Encode(PASN_Stream & strm) const;
06505 #ifndef PASN_NOPRINTON
06506     void PrintOn(ostream & strm) const;
06507 #endif
06508     Comparison Compare(const PObject & obj) const;
06509     PObject * Clone() const;
06510 };
06511 
06512 
06513 //
06514 // H321Caps
06515 //
06516 
06517 class H225_H321Caps : public PASN_Sequence
06518 {
06519 #ifndef PASN_LEANANDMEAN
06520     PCLASSINFO(H225_H321Caps, PASN_Sequence);
06521 #endif
06522   public:
06523     H225_H321Caps(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06524 
06525     enum OptionalFields {
06526       e_nonStandardData,
06527       e_dataRatesSupported,
06528       e_supportedPrefixes
06529     };
06530 
06531     H225_NonStandardParameter m_nonStandardData;
06532     H225_ArrayOf_DataRate m_dataRatesSupported;
06533     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
06534 
06535     PINDEX GetDataLength() const;
06536     BOOL Decode(PASN_Stream & strm);
06537     void Encode(PASN_Stream & strm) const;
06538 #ifndef PASN_NOPRINTON
06539     void PrintOn(ostream & strm) const;
06540 #endif
06541     Comparison Compare(const PObject & obj) const;
06542     PObject * Clone() const;
06543 };
06544 
06545 
06546 //
06547 // H322Caps
06548 //
06549 
06550 class H225_H322Caps : public PASN_Sequence
06551 {
06552 #ifndef PASN_LEANANDMEAN
06553     PCLASSINFO(H225_H322Caps, PASN_Sequence);
06554 #endif
06555   public:
06556     H225_H322Caps(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06557 
06558     enum OptionalFields {
06559       e_nonStandardData,
06560       e_dataRatesSupported,
06561       e_supportedPrefixes
06562     };
06563 
06564     H225_NonStandardParameter m_nonStandardData;
06565     H225_ArrayOf_DataRate m_dataRatesSupported;
06566     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
06567 
06568     PINDEX GetDataLength() const;
06569     BOOL Decode(PASN_Stream & strm);
06570     void Encode(PASN_Stream & strm) const;
06571 #ifndef PASN_NOPRINTON
06572     void PrintOn(ostream & strm) const;
06573 #endif
06574     Comparison Compare(const PObject & obj) const;
06575     PObject * Clone() const;
06576 };
06577 
06578 
06579 //
06580 // H323Caps
06581 //
06582 
06583 class H225_H323Caps : public PASN_Sequence
06584 {
06585 #ifndef PASN_LEANANDMEAN
06586     PCLASSINFO(H225_H323Caps, PASN_Sequence);
06587 #endif
06588   public:
06589     H225_H323Caps(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06590 
06591     enum OptionalFields {
06592       e_nonStandardData,
06593       e_dataRatesSupported,
06594       e_supportedPrefixes
06595     };
06596 
06597     H225_NonStandardParameter m_nonStandardData;
06598     H225_ArrayOf_DataRate m_dataRatesSupported;
06599     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
06600 
06601     PINDEX GetDataLength() const;
06602     BOOL Decode(PASN_Stream & strm);
06603     void Encode(PASN_Stream & strm) const;
06604 #ifndef PASN_NOPRINTON
06605     void PrintOn(ostream & strm) const;
06606 #endif
06607     Comparison Compare(const PObject & obj) const;
06608     PObject * Clone() const;
06609 };
06610 
06611 
06612 //
06613 // H324Caps
06614 //
06615 
06616 class H225_H324Caps : public PASN_Sequence
06617 {
06618 #ifndef PASN_LEANANDMEAN
06619     PCLASSINFO(H225_H324Caps, PASN_Sequence);
06620 #endif
06621   public:
06622     H225_H324Caps(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06623 
06624     enum OptionalFields {
06625       e_nonStandardData,
06626       e_dataRatesSupported,
06627       e_supportedPrefixes
06628     };
06629 
06630     H225_NonStandardParameter m_nonStandardData;
06631     H225_ArrayOf_DataRate m_dataRatesSupported;
06632     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
06633 
06634     PINDEX GetDataLength() const;
06635     BOOL Decode(PASN_Stream & strm);
06636     void Encode(PASN_Stream & strm) const;
06637 #ifndef PASN_NOPRINTON
06638     void PrintOn(ostream & strm) const;
06639 #endif
06640     Comparison Compare(const PObject & obj) const;
06641     PObject * Clone() const;
06642 };
06643 
06644 
06645 //
06646 // VoiceCaps
06647 //
06648 
06649 class H225_VoiceCaps : public PASN_Sequence
06650 {
06651 #ifndef PASN_LEANANDMEAN
06652     PCLASSINFO(H225_VoiceCaps, PASN_Sequence);
06653 #endif
06654   public:
06655     H225_VoiceCaps(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06656 
06657     enum OptionalFields {
06658       e_nonStandardData,
06659       e_dataRatesSupported,
06660       e_supportedPrefixes
06661     };
06662 
06663     H225_NonStandardParameter m_nonStandardData;
06664     H225_ArrayOf_DataRate m_dataRatesSupported;
06665     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
06666 
06667     PINDEX GetDataLength() const;
06668     BOOL Decode(PASN_Stream & strm);
06669     void Encode(PASN_Stream & strm) const;
06670 #ifndef PASN_NOPRINTON
06671     void PrintOn(ostream & strm) const;
06672 #endif
06673     Comparison Compare(const PObject & obj) const;
06674     PObject * Clone() const;
06675 };
06676 
06677 
06678 //
06679 // T120OnlyCaps
06680 //
06681 
06682 class H225_T120OnlyCaps : public PASN_Sequence
06683 {
06684 #ifndef PASN_LEANANDMEAN
06685     PCLASSINFO(H225_T120OnlyCaps, PASN_Sequence);
06686 #endif
06687   public:
06688     H225_T120OnlyCaps(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06689 
06690     enum OptionalFields {
06691       e_nonStandardData,
06692       e_dataRatesSupported,
06693       e_supportedPrefixes
06694     };
06695 
06696     H225_NonStandardParameter m_nonStandardData;
06697     H225_ArrayOf_DataRate m_dataRatesSupported;
06698     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
06699 
06700     PINDEX GetDataLength() const;
06701     BOOL Decode(PASN_Stream & strm);
06702     void Encode(PASN_Stream & strm) const;
06703 #ifndef PASN_NOPRINTON
06704     void PrintOn(ostream & strm) const;
06705 #endif
06706     Comparison Compare(const PObject & obj) const;
06707     PObject * Clone() const;
06708 };
06709 
06710 
06711 //
06712 // NonStandardProtocol
06713 //
06714 
06715 class H225_NonStandardProtocol : public PASN_Sequence
06716 {
06717 #ifndef PASN_LEANANDMEAN
06718     PCLASSINFO(H225_NonStandardProtocol, PASN_Sequence);
06719 #endif
06720   public:
06721     H225_NonStandardProtocol(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06722 
06723     enum OptionalFields {
06724       e_nonStandardData,
06725       e_dataRatesSupported
06726     };
06727 
06728     H225_NonStandardParameter m_nonStandardData;
06729     H225_ArrayOf_DataRate m_dataRatesSupported;
06730     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
06731 
06732     PINDEX GetDataLength() const;
06733     BOOL Decode(PASN_Stream & strm);
06734     void Encode(PASN_Stream & strm) const;
06735 #ifndef PASN_NOPRINTON
06736     void PrintOn(ostream & strm) const;
06737 #endif
06738     Comparison Compare(const PObject & obj) const;
06739     PObject * Clone() const;
06740 };
06741 
06742 
06743 //
06744 // T38FaxAnnexbOnlyCaps
06745 //
06746 
06747 class H225_T38FaxAnnexbOnlyCaps : public PASN_Sequence
06748 {
06749 #ifndef PASN_LEANANDMEAN
06750     PCLASSINFO(H225_T38FaxAnnexbOnlyCaps, PASN_Sequence);
06751 #endif
06752   public:
06753     H225_T38FaxAnnexbOnlyCaps(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06754 
06755     enum OptionalFields {
06756       e_nonStandardData,
06757       e_dataRatesSupported
06758     };
06759 
06760     H225_NonStandardParameter m_nonStandardData;
06761     H225_ArrayOf_DataRate m_dataRatesSupported;
06762     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
06763     H245_DataProtocolCapability m_t38FaxProtocol;
06764     H245_T38FaxProfile m_t38FaxProfile;
06765 
06766     PINDEX GetDataLength() const;
06767     BOOL Decode(PASN_Stream & strm);
06768     void Encode(PASN_Stream & strm) const;
06769 #ifndef PASN_NOPRINTON
06770     void PrintOn(ostream & strm) const;
06771 #endif
06772     Comparison Compare(const PObject & obj) const;
06773     PObject * Clone() const;
06774 };
06775 
06776 
06777 //
06778 // SIPCaps
06779 //
06780 
06781 class H225_SIPCaps : public PASN_Sequence
06782 {
06783 #ifndef PASN_LEANANDMEAN
06784     PCLASSINFO(H225_SIPCaps, PASN_Sequence);
06785 #endif
06786   public:
06787     H225_SIPCaps(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06788 
06789     enum OptionalFields {
06790       e_nonStandardData,
06791       e_dataRatesSupported,
06792       e_supportedPrefixes
06793     };
06794 
06795     H225_NonStandardParameter m_nonStandardData;
06796     H225_ArrayOf_DataRate m_dataRatesSupported;
06797     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
06798 
06799     PINDEX GetDataLength() const;
06800     BOOL Decode(PASN_Stream & strm);
06801     void Encode(PASN_Stream & strm) const;
06802 #ifndef PASN_NOPRINTON
06803     void PrintOn(ostream & strm) const;
06804 #endif
06805     Comparison Compare(const PObject & obj) const;
06806     PObject * Clone() const;
06807 };
06808 
06809 
06810 //
06811 // McuInfo
06812 //
06813 
06814 class H225_McuInfo : public PASN_Sequence
06815 {
06816 #ifndef PASN_LEANANDMEAN
06817     PCLASSINFO(H225_McuInfo, PASN_Sequence);
06818 #endif
06819   public:
06820     H225_McuInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06821 
06822     enum OptionalFields {
06823       e_nonStandardData,
06824       e_protocol
06825     };
06826 
06827     H225_NonStandardParameter m_nonStandardData;
06828     H225_ArrayOf_SupportedProtocols m_protocol;
06829 
06830     PINDEX GetDataLength() const;
06831     BOOL Decode(PASN_Stream & strm);
06832     void Encode(PASN_Stream & strm) const;
06833 #ifndef PASN_NOPRINTON
06834     void PrintOn(ostream & strm) const;
06835 #endif
06836     Comparison Compare(const PObject & obj) const;
06837     PObject * Clone() const;
06838 };
06839 
06840 
06841 //
06842 // TerminalInfo
06843 //
06844 
06845 class H225_TerminalInfo : public PASN_Sequence
06846 {
06847 #ifndef PASN_LEANANDMEAN
06848     PCLASSINFO(H225_TerminalInfo, PASN_Sequence);
06849 #endif
06850   public:
06851     H225_TerminalInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06852 
06853     enum OptionalFields {
06854       e_nonStandardData
06855     };
06856 
06857     H225_NonStandardParameter m_nonStandardData;
06858 
06859     PINDEX GetDataLength() const;
06860     BOOL Decode(PASN_Stream & strm);
06861     void Encode(PASN_Stream & strm) const;
06862 #ifndef PASN_NOPRINTON
06863     void PrintOn(ostream & strm) const;
06864 #endif
06865     Comparison Compare(const PObject & obj) const;
06866     PObject * Clone() const;
06867 };
06868 
06869 
06870 //
06871 // GatekeeperInfo
06872 //
06873 
06874 class H225_GatekeeperInfo : public PASN_Sequence
06875 {
06876 #ifndef PASN_LEANANDMEAN
06877     PCLASSINFO(H225_GatekeeperInfo, PASN_Sequence);
06878 #endif
06879   public:
06880     H225_GatekeeperInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06881 
06882     enum OptionalFields {
06883       e_nonStandardData
06884     };
06885 
06886     H225_NonStandardParameter m_nonStandardData;
06887 
06888     PINDEX GetDataLength() const;
06889     BOOL Decode(PASN_Stream & strm);
06890     void Encode(PASN_Stream & strm) const;
06891 #ifndef PASN_NOPRINTON
06892     void PrintOn(ostream & strm) const;
06893 #endif
06894     Comparison Compare(const PObject & obj) const;
06895     PObject * Clone() const;
06896 };
06897 
06898 
06899 //
06900 // FeatureDescriptor
06901 //
06902 
06903 class H225_FeatureDescriptor : public H225_GenericData
06904 {
06905 #ifndef PASN_LEANANDMEAN
06906     PCLASSINFO(H225_FeatureDescriptor, H225_GenericData);
06907 #endif
06908   public:
06909     H225_FeatureDescriptor(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06910 
06911     PObject * Clone() const;
06912 };
06913 
06914 
06915 //
06916 // CallCapacity
06917 //
06918 
06919 class H225_CallCapacity : public PASN_Sequence
06920 {
06921 #ifndef PASN_LEANANDMEAN
06922     PCLASSINFO(H225_CallCapacity, PASN_Sequence);
06923 #endif
06924   public:
06925     H225_CallCapacity(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06926 
06927     enum OptionalFields {
06928       e_maximumCallCapacity,
06929       e_currentCallCapacity
06930     };
06931 
06932     H225_CallCapacityInfo m_maximumCallCapacity;
06933     H225_CallCapacityInfo m_currentCallCapacity;
06934 
06935     PINDEX GetDataLength() const;
06936     BOOL Decode(PASN_Stream & strm);
06937     void Encode(PASN_Stream & strm) const;
06938 #ifndef PASN_NOPRINTON
06939     void PrintOn(ostream & strm) const;
06940 #endif
06941     Comparison Compare(const PObject & obj) const;
06942     PObject * Clone() const;
06943 };
06944 
06945 
06946 //
06947 // CircuitIdentifier
06948 //
06949 
06950 class H225_CircuitIdentifier : public PASN_Sequence
06951 {
06952 #ifndef PASN_LEANANDMEAN
06953     PCLASSINFO(H225_CircuitIdentifier, PASN_Sequence);
06954 #endif
06955   public:
06956     H225_CircuitIdentifier(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06957 
06958     enum OptionalFields {
06959       e_cic,
06960       e_group,
06961       e_carrier
06962     };
06963 
06964     H225_CicInfo m_cic;
06965     H225_GroupID m_group;
06966     H225_CarrierInfo m_carrier;
06967 
06968     PINDEX GetDataLength() const;
06969     BOOL Decode(PASN_Stream & strm);
06970     void Encode(PASN_Stream & strm) const;
06971 #ifndef PASN_NOPRINTON
06972     void PrintOn(ostream & strm) const;
06973 #endif
06974     Comparison Compare(const PObject & obj) const;
06975     PObject * Clone() const;
06976 };
06977 
06978 
06979 //
06980 // RegistrationConfirm
06981 //
06982 
06983 class H225_RegistrationConfirm : public PASN_Sequence
06984 {
06985 #ifndef PASN_LEANANDMEAN
06986     PCLASSINFO(H225_RegistrationConfirm, PASN_Sequence);
06987 #endif
06988   public:
06989     H225_RegistrationConfirm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
06990 
06991     enum OptionalFields {
06992       e_nonStandardData,
06993       e_terminalAlias,
06994       e_gatekeeperIdentifier,
06995       e_alternateGatekeeper,
06996       e_timeToLive,
06997       e_tokens,
06998       e_cryptoTokens,
06999       e_integrityCheckValue,
07000       e_willRespondToIRR,
07001       e_preGrantedARQ,
07002       e_maintainConnection,
07003       e_serviceControl,
07004       e_supportsAdditiveRegistration,
07005       e_terminalAliasPattern,
07006       e_supportedPrefixes,
07007       e_usageSpec,
07008       e_featureServerAlias,
07009       e_capacityReportingSpec,
07010       e_featureSet,
07011       e_genericData,
07012       e_assignedGatekeeper,
07013       e_rehomingModel,
07014       e_transportQOS
07015     };
07016 
07017     H225_RequestSeqNum m_requestSeqNum;
07018     H225_ProtocolIdentifier m_protocolIdentifier;
07019     H225_NonStandardParameter m_nonStandardData;
07020     H225_ArrayOf_TransportAddress m_callSignalAddress;
07021     H225_ArrayOf_AliasAddress m_terminalAlias;
07022     H225_GatekeeperIdentifier m_gatekeeperIdentifier;
07023     H225_EndpointIdentifier m_endpointIdentifier;
07024     H225_ArrayOf_AlternateGK m_alternateGatekeeper;
07025     H225_TimeToLive m_timeToLive;
07026     H225_ArrayOf_ClearToken m_tokens;
07027     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
07028     H225_ICV m_integrityCheckValue;
07029     PASN_Boolean m_willRespondToIRR;
07030     H225_RegistrationConfirm_preGrantedARQ m_preGrantedARQ;
07031     PASN_Boolean m_maintainConnection;
07032     H225_ArrayOf_ServiceControlSession m_serviceControl;
07033     PASN_Null m_supportsAdditiveRegistration;
07034     H225_ArrayOf_AddressPattern m_terminalAliasPattern;
07035     H225_ArrayOf_SupportedPrefix m_supportedPrefixes;
07036     H225_ArrayOf_RasUsageSpecification m_usageSpec;
07037     H225_AliasAddress m_featureServerAlias;
07038     H225_CapacityReportingSpecification m_capacityReportingSpec;
07039     H225_FeatureSet m_featureSet;
07040     H225_ArrayOf_GenericData m_genericData;
07041     H225_AlternateGK m_assignedGatekeeper;
07042     H225_RehomingModel m_rehomingModel;
07043     H225_TransportQOS m_transportQOS;
07044 
07045     PINDEX GetDataLength() const;
07046     BOOL Decode(PASN_Stream & strm);
07047     void Encode(PASN_Stream & strm) const;
07048 #ifndef PASN_NOPRINTON
07049     void PrintOn(ostream & strm) const;
07050 #endif
07051     Comparison Compare(const PObject & obj) const;
07052     PObject * Clone() const;
07053 };
07054 
07055 
07056 //
07057 // BandwidthRequest
07058 //
07059 
07060 class H225_BandwidthRequest : public PASN_Sequence
07061 {
07062 #ifndef PASN_LEANANDMEAN
07063     PCLASSINFO(H225_BandwidthRequest, PASN_Sequence);
07064 #endif
07065   public:
07066     H225_BandwidthRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
07067 
07068     enum OptionalFields {
07069       e_callType,
07070       e_nonStandardData,
07071       e_callIdentifier,
07072       e_gatekeeperIdentifier,
07073       e_tokens,
07074       e_cryptoTokens,
07075       e_integrityCheckValue,
07076       e_answeredCall,
07077       e_callLinkage,
07078       e_capacity,
07079       e_usageInformation,
07080       e_bandwidthDetails,
07081       e_genericData,
07082       e_transportQOS
07083     };
07084 
07085     H225_RequestSeqNum m_requestSeqNum;
07086     H225_EndpointIdentifier m_endpointIdentifier;
07087     H225_ConferenceIdentifier m_conferenceID;
07088     H225_CallReferenceValue m_callReferenceValue;
07089     H225_CallType m_callType;
07090     H225_BandWidth m_bandWidth;
07091     H225_NonStandardParameter m_nonStandardData;
07092     H225_CallIdentifier m_callIdentifier;
07093     H225_GatekeeperIdentifier m_gatekeeperIdentifier;
07094     H225_ArrayOf_ClearToken m_tokens;
07095     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
07096     H225_ICV m_integrityCheckValue;
07097     PASN_Boolean m_answeredCall;
07098     H225_CallLinkage m_callLinkage;
07099     H225_CallCapacity m_capacity;
07100     H225_RasUsageInformation m_usageInformation;
07101     H225_ArrayOf_BandwidthDetails m_bandwidthDetails;
07102     H225_ArrayOf_GenericData m_genericData;
07103     H225_TransportQOS m_transportQOS;
07104 
07105     PINDEX GetDataLength() const;
07106     BOOL Decode(PASN_Stream & strm);
07107     void Encode(PASN_Stream & strm) const;
07108 #ifndef PASN_NOPRINTON
07109     void PrintOn(ostream & strm) const;
07110 #endif
07111     Comparison Compare(const PObject & obj) const;
07112     PObject * Clone() const;
07113 };
07114 
07115 
07116 //
07117 // BandwidthConfirm
07118 //
07119 
07120 class H225_BandwidthConfirm : public PASN_Sequence
07121 {
07122 #ifndef PASN_LEANANDMEAN
07123     PCLASSINFO(H225_BandwidthConfirm, PASN_Sequence);
07124 #endif
07125   public:
07126     H225_BandwidthConfirm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
07127 
07128     enum OptionalFields {
07129       e_nonStandardData,
07130       e_tokens,
07131       e_cryptoTokens,
07132       e_integrityCheckValue,
07133       e_capacity,
07134       e_genericData,
07135       e_transportQOS
07136     };
07137 
07138     H225_RequestSeqNum m_requestSeqNum;
07139     H225_BandWidth m_bandWidth;
07140     H225_NonStandardParameter m_nonStandardData;
07141     H225_ArrayOf_ClearToken m_tokens;
07142     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
07143     H225_ICV m_integrityCheckValue;
07144     H225_CallCapacity m_capacity;
07145     H225_ArrayOf_GenericData m_genericData;
07146     H225_TransportQOS m_transportQOS;
07147 
07148     PINDEX GetDataLength() const;
07149     BOOL Decode(PASN_Stream & strm);
07150     void Encode(PASN_Stream & strm) const;
07151 #ifndef PASN_NOPRINTON
07152     void PrintOn(ostream & strm) const;
07153 #endif
07154     Comparison Compare(const PObject & obj) const;
07155     PObject * Clone() const;
07156 };
07157 
07158 
07159 //
07160 // ResourcesAvailableIndicate
07161 //
07162 
07163 class H225_ResourcesAvailableIndicate : public PASN_Sequence
07164 {
07165 #ifndef PASN_LEANANDMEAN
07166     PCLASSINFO(H225_ResourcesAvailableIndicate, PASN_Sequence);
07167 #endif
07168   public:
07169     H225_ResourcesAvailableIndicate(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
07170 
07171     enum OptionalFields {
07172       e_nonStandardData,
07173       e_tokens,
07174       e_cryptoTokens,
07175       e_integrityCheckValue,
07176       e_capacity,
07177       e_genericData
07178     };
07179 
07180     H225_RequestSeqNum m_requestSeqNum;
07181     H225_ProtocolIdentifier m_protocolIdentifier;
07182     H225_NonStandardParameter m_nonStandardData;
07183     H225_EndpointIdentifier m_endpointIdentifier;
07184     H225_ArrayOf_SupportedProtocols m_protocols;
07185     PASN_Boolean m_almostOutOfResources;
07186     H225_ArrayOf_ClearToken m_tokens;
07187     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
07188     H225_ICV m_integrityCheckValue;
07189     H225_CallCapacity m_capacity;
07190     H225_ArrayOf_GenericData m_genericData;
07191 
07192     PINDEX GetDataLength() const;
07193     BOOL Decode(PASN_Stream & strm);
07194     void Encode(PASN_Stream & strm) const;
07195 #ifndef PASN_NOPRINTON
07196     void PrintOn(ostream & strm) const;
07197 #endif
07198     Comparison Compare(const PObject & obj) const;
07199     PObject * Clone() const;
07200 };
07201 
07202 
07203 //
07204 // H323-UU-PDU
07205 //
07206 
07207 class H225_H323_UU_PDU : public PASN_Sequence
07208 {
07209 #ifndef PASN_LEANANDMEAN
07210     PCLASSINFO(H225_H323_UU_PDU, PASN_Sequence);
07211 #endif
07212   public:
07213     H225_H323_UU_PDU(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
07214 
07215     enum OptionalFields {
07216       e_nonStandardData,
07217       e_h4501SupplementaryService,
07218       e_h245Tunneling,
07219       e_h245Control,
07220       e_nonStandardControl,
07221       e_callLinkage,
07222       e_tunnelledSignallingMessage,
07223       e_provisionalRespToH245Tunneling,
07224       e_stimulusControl,
07225       e_genericData
07226     };
07227 
07228     H225_H323_UU_PDU_h323_message_body m_h323_message_body;
07229     H225_NonStandardParameter m_nonStandardData;
07230     H225_ArrayOf_PASN_OctetString m_h4501SupplementaryService;
07231     PASN_Boolean m_h245Tunneling;
07232     H225_ArrayOf_PASN_OctetString m_h245Control;
07233     H225_ArrayOf_NonStandardParameter m_nonStandardControl;
07234     H225_CallLinkage m_callLinkage;
07235     H225_H323_UU_PDU_tunnelledSignallingMessage m_tunnelledSignallingMessage;
07236     PASN_Null m_provisionalRespToH245Tunneling;
07237     H225_StimulusControl m_stimulusControl;
07238     H225_ArrayOf_GenericData m_genericData;
07239 
07240     PINDEX GetDataLength() const;
07241     BOOL Decode(PASN_Stream & strm);
07242     void Encode(PASN_Stream & strm) const;
07243 #ifndef PASN_NOPRINTON
07244     void PrintOn(ostream & strm) const;
07245 #endif
07246     Comparison Compare(const PObject & obj) const;
07247     PObject * Clone() const;
07248 };
07249 
07250 
07251 //
07252 // ReleaseComplete-UUIE
07253 //
07254 
07255 class H225_ReleaseComplete_UUIE : public PASN_Sequence
07256 {
07257 #ifndef PASN_LEANANDMEAN
07258     PCLASSINFO(H225_ReleaseComplete_UUIE, PASN_Sequence);
07259 #endif
07260   public:
07261     H225_ReleaseComplete_UUIE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
07262 
07263     enum OptionalFields {
07264       e_reason,
07265       e_callIdentifier,
07266       e_tokens,
07267       e_cryptoTokens,
07268       e_busyAddress,
07269       e_presentationIndicator,
07270       e_screeningIndicator,
07271       e_capacity,
07272       e_serviceControl,
07273       e_featureSet
07274     };
07275 
07276     H225_ProtocolIdentifier m_protocolIdentifier;
07277     H225_ReleaseCompleteReason m_reason;
07278     H225_CallIdentifier m_callIdentifier;
07279     H225_ArrayOf_ClearToken m_tokens;
07280     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
07281     H225_ArrayOf_AliasAddress m_busyAddress;
07282     H225_PresentationIndicator m_presentationIndicator;
07283     H225_ScreeningIndicator m_screeningIndicator;
07284     H225_CallCapacity m_capacity;
07285     H225_ArrayOf_ServiceControlSession m_serviceControl;
07286     H225_FeatureSet m_featureSet;
07287 
07288     PINDEX GetDataLength() const;
07289     BOOL Decode(PASN_Stream & strm);
07290     void Encode(PASN_Stream & strm) const;
07291 #ifndef PASN_NOPRINTON
07292     void PrintOn(ostream & strm) const;
07293 #endif
07294     Comparison Compare(const PObject & obj) const;
07295     PObject * Clone() const;
07296 };
07297 
07298 
07299 //
07300 // EndpointType
07301 //
07302 
07303 class H225_EndpointType : public PASN_Sequence
07304 {
07305 #ifndef PASN_LEANANDMEAN
07306     PCLASSINFO(H225_EndpointType, PASN_Sequence);
07307 #endif
07308   public:
07309     H225_EndpointType(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
07310 
07311     enum OptionalFields {
07312       e_nonStandardData,
07313       e_vendor,
07314       e_gatekeeper,
07315       e_gateway,
07316       e_mcu,
07317       e_terminal,
07318       e_set,
07319       e_supportedTunnelledProtocols
07320     };
07321 
07322     H225_NonStandardParameter m_nonStandardData;
07323     H225_VendorIdentifier m_vendor;
07324     H225_GatekeeperInfo m_gatekeeper;
07325     H225_GatewayInfo m_gateway;
07326     H225_McuInfo m_mcu;
07327     H225_TerminalInfo m_terminal;
07328     PASN_Boolean m_mc;
07329     PASN_Boolean m_undefinedNode;
07330     PASN_BitString m_set;
07331     H225_ArrayOf_TunnelledProtocol m_supportedTunnelledProtocols;
07332 
07333     PINDEX GetDataLength() const;
07334     BOOL Decode(PASN_Stream & strm);
07335     void Encode(PASN_Stream & strm) const;
07336 #ifndef PASN_NOPRINTON
07337     void PrintOn(ostream & strm) const;
07338 #endif
07339     Comparison Compare(const PObject & obj) const;
07340     PObject * Clone() const;
07341 };
07342 
07343 
07344 //
07345 // CircuitInfo
07346 //
07347 
07348 class H225_CircuitInfo : public PASN_Sequence
07349 {
07350 #ifndef PASN_LEANANDMEAN
07351     PCLASSINFO(H225_CircuitInfo, PASN_Sequence);
07352 #endif
07353   public:
07354     H225_CircuitInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
07355 
07356     enum OptionalFields {
07357       e_sourceCircuitID,
07358       e_destinationCircuitID,
07359       e_genericData
07360     };
07361 
07362     H225_CircuitIdentifier m_sourceCircuitID;
07363     H225_CircuitIdentifier m_destinationCircuitID;
07364     H225_ArrayOf_GenericData m_genericData;
07365 
07366     PINDEX GetDataLength() const;
07367     BOOL Decode(PASN_Stream & strm);
07368     void Encode(PASN_Stream & strm) const;
07369 #ifndef PASN_NOPRINTON
07370     void PrintOn(ostream & strm) const;
07371 #endif
07372     Comparison Compare(const PObject & obj) const;
07373     PObject * Clone() const;
07374 };
07375 
07376 
07377 //
07378 // GatekeeperRequest
07379 //
07380 
07381 class H225_GatekeeperRequest : public PASN_Sequence
07382 {
07383 #ifndef PASN_LEANANDMEAN
07384     PCLASSINFO(H225_GatekeeperRequest, PASN_Sequence);
07385 #endif
07386   public:
07387     H225_GatekeeperRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
07388 
07389     enum OptionalFields {
07390       e_nonStandardData,
07391       e_gatekeeperIdentifier,
07392       e_callServices,
07393       e_endpointAlias,
07394       e_alternateEndpoints,
07395       e_tokens,
07396       e_cryptoTokens,
07397       e_authenticationCapability,
07398       e_algorithmOIDs,
07399       e_integrity,
07400       e_integrityCheckValue,
07401       e_supportsAltGK,
07402       e_featureSet,
07403       e_genericData,
07404       e_supportsAssignedGK,
07405       e_assignedGatekeeper
07406     };
07407 
07408     H225_RequestSeqNum m_requestSeqNum;
07409     H225_ProtocolIdentifier m_protocolIdentifier;
07410     H225_NonStandardParameter m_nonStandardData;
07411     H225_TransportAddress m_rasAddress;
07412     H225_EndpointType m_endpointType;
07413     H225_GatekeeperIdentifier m_gatekeeperIdentifier;
07414     H225_QseriesOptions m_callServices;
07415     H225_ArrayOf_AliasAddress m_endpointAlias;
07416     H225_ArrayOf_Endpoint m_alternateEndpoints;
07417     H225_ArrayOf_ClearToken m_tokens;
07418     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
07419     H225_ArrayOf_AuthenticationMechanism m_authenticationCapability;
07420     H225_ArrayOf_PASN_ObjectId m_algorithmOIDs;
07421     H225_ArrayOf_IntegrityMechanism m_integrity;
07422     H225_ICV m_integrityCheckValue;
07423     PASN_Null m_supportsAltGK;
07424     H225_FeatureSet m_featureSet;
07425     H225_ArrayOf_GenericData m_genericData;
07426     PASN_Boolean m_supportsAssignedGK;
07427     H225_AlternateGK m_assignedGatekeeper;
07428 
07429     PINDEX GetDataLength() const;
07430     BOOL Decode(PASN_Stream & strm);
07431     void Encode(PASN_Stream & strm) const;
07432 #ifndef PASN_NOPRINTON
07433     void PrintOn(ostream & strm) const;
07434 #endif
07435     Comparison Compare(const PObject & obj) const;
07436     PObject * Clone() const;
07437 };
07438 
07439 
07440 //
07441 // RegistrationRequest
07442 //
07443 
07444 class H225_RegistrationRequest : public PASN_Sequence
07445 {
07446 #ifndef PASN_LEANANDMEAN
07447     PCLASSINFO(H225_RegistrationRequest, PASN_Sequence);
07448 #endif
07449   public:
07450     H225_RegistrationRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
07451 
07452     enum OptionalFields {
07453       e_nonStandardData,
07454       e_terminalAlias,
07455       e_gatekeeperIdentifier,
07456       e_alternateEndpoints,
07457       e_timeToLive,
07458       e_tokens,
07459       e_cryptoTokens,
07460       e_integrityCheckValue,
07461       e_keepAlive,
07462       e_endpointIdentifier,
07463       e_willSupplyUUIEs,
07464       e_maintainConnection,
07465       e_alternateTransportAddresses,
07466       e_additiveRegistration,
07467       e_terminalAliasPattern,
07468       e_supportsAltGK,
07469       e_usageReportingCapability,
07470       e_multipleCalls,
07471       e_supportedH248Packages,
07472       e_callCreditCapability,
07473       e_capacityReportingCapability,
07474       e_capacity,
07475       e_featureSet,
07476       e_genericData,
07477       e_restart,
07478       e_supportsACFSequences,
07479       e_supportsAssignedGK,
07480       e_assignedGatekeeper,
07481       e_transportQOS,
07482       e_language
07483     };
07484 
07485     H225_RequestSeqNum m_requestSeqNum;
07486     H225_ProtocolIdentifier m_protocolIdentifier;
07487     H225_NonStandardParameter m_nonStandardData;
07488     PASN_Boolean m_discoveryComplete;
07489     H225_ArrayOf_TransportAddress m_callSignalAddress;
07490     H225_ArrayOf_TransportAddress m_rasAddress;
07491     H225_EndpointType m_terminalType;
07492     H225_ArrayOf_AliasAddress m_terminalAlias;
07493     H225_GatekeeperIdentifier m_gatekeeperIdentifier;
07494     H225_VendorIdentifier m_endpointVendor;
07495     H225_ArrayOf_Endpoint m_alternateEndpoints;
07496     H225_TimeToLive m_timeToLive;
07497     H225_ArrayOf_ClearToken m_tokens;
07498     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
07499     H225_ICV m_integrityCheckValue;
07500     PASN_Boolean m_keepAlive;
07501     H225_EndpointIdentifier m_endpointIdentifier;
07502     PASN_Boolean m_willSupplyUUIEs;
07503     PASN_Boolean m_maintainConnection;
07504     H225_AlternateTransportAddresses m_alternateTransportAddresses;
07505     PASN_Null m_additiveRegistration;
07506     H225_ArrayOf_AddressPattern m_terminalAliasPattern;
07507     PASN_Null m_supportsAltGK;
07508     H225_RasUsageInfoTypes m_usageReportingCapability;
07509     PASN_Boolean m_multipleCalls;
07510     H225_ArrayOf_H248PackagesDescriptor m_supportedH248Packages;
07511     H225_CallCreditCapability m_callCreditCapability;
07512     H225_CapacityReportingCapability m_capacityReportingCapability;
07513     H225_CallCapacity m_capacity;
07514     H225_FeatureSet m_featureSet;
07515     H225_ArrayOf_GenericData m_genericData;
07516     PASN_Null m_restart;
07517     PASN_Null m_supportsACFSequences;
07518     PASN_Boolean m_supportsAssignedGK;
07519     H225_AlternateGK m_assignedGatekeeper;
07520     H225_TransportQOS m_transportQOS;
07521     H225_RegistrationRequest_language m_language;
07522 
07523     PINDEX GetDataLength() const;
07524     BOOL Decode(PASN_Stream & strm);
07525     void Encode(PASN_Stream & strm) const;
07526 #ifndef PASN_NOPRINTON
07527     void PrintOn(ostream & strm) const;
07528 #endif
07529     Comparison Compare(const PObject & obj) const;
07530     PObject * Clone() const;
07531 };
07532 
07533 
07534 //
07535 // AdmissionRequest
07536 //
07537 
07538 class H225_AdmissionRequest : public PASN_Sequence
07539 {
07540 #ifndef PASN_LEANANDMEAN
07541     PCLASSINFO(H225_AdmissionRequest, PASN_Sequence);
07542 #endif
07543   public:
07544     H225_AdmissionRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
07545 
07546     enum OptionalFields {
07547       e_callModel,
07548       e_destinationInfo,
07549       e_destCallSignalAddress,
07550       e_destExtraCallInfo,
07551       e_srcCallSignalAddress,
07552       e_nonStandardData,
07553       e_callServices,
07554       e_canMapAlias,
07555       e_callIdentifier,
07556       e_srcAlternatives,
07557       e_destAlternatives,
07558       e_gatekeeperIdentifier,
07559       e_tokens,
07560       e_cryptoTokens,
07561       e_integrityCheckValue,
07562       e_transportQOS,
07563       e_willSupplyUUIEs,
07564       e_callLinkage,
07565       e_gatewayDataRate,
07566       e_capacity,
07567       e_circuitInfo,
07568       e_desiredProtocols,
07569       e_desiredTunnelledProtocol,
07570       e_featureSet,
07571       e_genericData,
07572       e_canMapSrcAlias
07573     };
07574 
07575     H225_RequestSeqNum m_requestSeqNum;
07576     H225_CallType m_callType;
07577     H225_CallModel m_callModel;
07578     H225_EndpointIdentifier m_endpointIdentifier;
07579     H225_ArrayOf_AliasAddress m_destinationInfo;
07580     H225_TransportAddress m_destCallSignalAddress;
07581     H225_ArrayOf_AliasAddress m_destExtraCallInfo;
07582     H225_ArrayOf_AliasAddress m_srcInfo;
07583     H225_TransportAddress m_srcCallSignalAddress;
07584     H225_BandWidth m_bandWidth;
07585     H225_CallReferenceValue m_callReferenceValue;
07586     H225_NonStandardParameter m_nonStandardData;
07587     H225_QseriesOptions m_callServices;
07588     H225_ConferenceIdentifier m_conferenceID;
07589     PASN_Boolean m_activeMC;
07590     PASN_Boolean m_answerCall;
07591     PASN_Boolean m_canMapAlias;
07592     H225_CallIdentifier m_callIdentifier;
07593     H225_ArrayOf_Endpoint m_srcAlternatives;
07594     H225_ArrayOf_Endpoint m_destAlternatives;
07595     H225_GatekeeperIdentifier m_gatekeeperIdentifier;
07596     H225_ArrayOf_ClearToken m_tokens;
07597     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
07598     H225_ICV m_integrityCheckValue;
07599     H225_TransportQOS m_transportQOS;
07600     PASN_Boolean m_willSupplyUUIEs;
07601     H225_CallLinkage m_callLinkage;
07602     H225_DataRate m_gatewayDataRate;
07603     H225_CallCapacity m_capacity;
07604     H225_CircuitInfo m_circuitInfo;
07605     H225_ArrayOf_SupportedProtocols m_desiredProtocols;
07606     H225_TunnelledProtocol m_desiredTunnelledProtocol;
07607     H225_FeatureSet m_featureSet;
07608     H225_ArrayOf_GenericData m_genericData;
07609     PASN_Boolean m_canMapSrcAlias;
07610 
07611     PINDEX GetDataLength() const;
07612     BOOL Decode(PASN_Stream & strm);
07613     void Encode(PASN_Stream & strm) const;
07614 #ifndef PASN_NOPRINTON
07615     void PrintOn(ostream & strm) const;
07616 #endif
07617     Comparison Compare(const PObject & obj) const;
07618     PObject * Clone() const;
07619 };
07620 
07621 
07622 //
07623 // AdmissionConfirm
07624 //
07625 
07626 class H225_AdmissionConfirm : public PASN_Sequence
07627 {
07628 #ifndef PASN_LEANANDMEAN
07629     PCLASSINFO(H225_AdmissionConfirm, PASN_Sequence);
07630 #endif
07631   public:
07632     H225_AdmissionConfirm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
07633 
07634     enum OptionalFields {
07635       e_irrFrequency,
07636       e_nonStandardData,
07637       e_destinationInfo,
07638       e_destExtraCallInfo,
07639       e_destinationType,
07640       e_remoteExtensionAddress,
07641       e_alternateEndpoints,
07642       e_tokens,
07643       e_cryptoTokens,
07644       e_integrityCheckValue,
07645       e_transportQOS,
07646       e_willRespondToIRR,
07647       e_uuiesRequested,
07648       e_language,
07649       e_alternateTransportAddresses,
07650       e_useSpecifiedTransport,
07651       e_circuitInfo,
07652       e_usageSpec,
07653       e_supportedProtocols,
07654       e_serviceControl,
07655       e_multipleCalls,
07656       e_featureSet,
07657       e_genericData,
07658       e_modifiedSrcInfo,
07659       e_assignedGatekeeper
07660     };
07661 
07662     H225_RequestSeqNum m_requestSeqNum;
07663     H225_BandWidth m_bandWidth;
07664     H225_CallModel m_callModel;
07665     H225_TransportAddress m_destCallSignalAddress;
07666     PASN_Integer m_irrFrequency;
07667     H225_NonStandardParameter m_nonStandardData;
07668     H225_ArrayOf_AliasAddress m_destinationInfo;
07669     H225_ArrayOf_AliasAddress m_destExtraCallInfo;
07670     H225_EndpointType m_destinationType;
07671     H225_ArrayOf_AliasAddress m_remoteExtensionAddress;
07672     H225_ArrayOf_Endpoint m_alternateEndpoints;
07673     H225_ArrayOf_ClearToken m_tokens;
07674     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
07675     H225_ICV m_integrityCheckValue;
07676     H225_TransportQOS m_transportQOS;
07677     PASN_Boolean m_willRespondToIRR;
07678     H225_UUIEsRequested m_uuiesRequested;
07679     H225_AdmissionConfirm_language m_language;
07680     H225_AlternateTransportAddresses m_alternateTransportAddresses;
07681     H225_UseSpecifiedTransport m_useSpecifiedTransport;
07682     H225_CircuitInfo m_circuitInfo;
07683     H225_ArrayOf_RasUsageSpecification m_usageSpec;
07684     H225_ArrayOf_SupportedProtocols m_supportedProtocols;
07685     H225_ArrayOf_ServiceControlSession m_serviceControl;
07686     PASN_Boolean m_multipleCalls;
07687     H225_FeatureSet m_featureSet;
07688     H225_ArrayOf_GenericData m_genericData;
07689     H225_ArrayOf_AliasAddress m_modifiedSrcInfo;
07690     H225_AlternateGK m_assignedGatekeeper;
07691 
07692     PINDEX GetDataLength() const;
07693     BOOL Decode(PASN_Stream & strm);
07694     void Encode(PASN_Stream & strm) const;
07695 #ifndef PASN_NOPRINTON
07696     void PrintOn(ostream & strm) const;
07697 #endif
07698     Comparison Compare(const PObject & obj) const;
07699     PObject * Clone() const;
07700 };
07701 
07702 
07703 //
07704 // LocationRequest
07705 //
07706 
07707 class H225_LocationRequest : public PASN_Sequence
07708 {
07709 #ifndef PASN_LEANANDMEAN
07710     PCLASSINFO(H225_LocationRequest, PASN_Sequence);
07711 #endif
07712   public:
07713     H225_LocationRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
07714 
07715     enum OptionalFields {
07716       e_endpointIdentifier,
07717       e_nonStandardData,
07718       e_sourceInfo,
07719       e_canMapAlias,
07720       e_gatekeeperIdentifier,
07721       e_tokens,
07722       e_cryptoTokens,
07723       e_integrityCheckValue,
07724       e_desiredProtocols,
07725       e_desiredTunnelledProtocol,
07726       e_featureSet,
07727       e_genericData,
07728       e_hopCount,
07729       e_circuitInfo,
07730       e_callIdentifier,
07731       e_bandWidth,
07732       e_sourceEndpointInfo,
07733       e_canMapSrcAlias,
07734       e_language
07735     };
07736 
07737     H225_RequestSeqNum m_requestSeqNum;
07738     H225_EndpointIdentifier m_endpointIdentifier;
07739     H225_ArrayOf_AliasAddress m_destinationInfo;
07740     H225_NonStandardParameter m_nonStandardData;
07741     H225_TransportAddress m_replyAddress;
07742     H225_ArrayOf_AliasAddress m_sourceInfo;
07743     PASN_Boolean m_canMapAlias;
07744     H225_GatekeeperIdentifier m_gatekeeperIdentifier;
07745     H225_ArrayOf_ClearToken m_tokens;
07746     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
07747     H225_ICV m_integrityCheckValue;
07748     H225_ArrayOf_SupportedProtocols m_desiredProtocols;
07749     H225_TunnelledProtocol m_desiredTunnelledProtocol;
07750     H225_FeatureSet m_featureSet;
07751     H225_ArrayOf_GenericData m_genericData;
07752     PASN_Integer m_hopCount;
07753     H225_CircuitInfo m_circuitInfo;
07754     H225_CallIdentifier m_callIdentifier;
07755     H225_BandWidth m_bandWidth;
07756     H225_ArrayOf_AliasAddress m_sourceEndpointInfo;
07757     PASN_Boolean m_canMapSrcAlias;
07758     H225_LocationRequest_language m_language;
07759 
07760     PINDEX GetDataLength() const;
07761     BOOL Decode(PASN_Stream & strm);
07762     void Encode(PASN_Stream & strm) const;
07763 #ifndef PASN_NOPRINTON
07764     void PrintOn(ostream & strm) const;
07765 #endif
07766     Comparison Compare(const PObject & obj) const;
07767     PObject * Clone() const;
07768 };
07769 
07770 
07771 //
07772 // LocationConfirm
07773 //
07774 
07775 class H225_LocationConfirm : public PASN_Sequence
07776 {
07777 #ifndef PASN_LEANANDMEAN
07778     PCLASSINFO(H225_LocationConfirm, PASN_Sequence);
07779 #endif
07780   public:
07781     H225_LocationConfirm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
07782 
07783     enum OptionalFields {
07784       e_nonStandardData,
07785       e_destinationInfo,
07786       e_destExtraCallInfo,
07787       e_destinationType,
07788       e_remoteExtensionAddress,
07789       e_alternateEndpoints,
07790       e_tokens,
07791       e_cryptoTokens,
07792       e_integrityCheckValue,
07793       e_alternateTransportAddresses,
07794       e_supportedProtocols,
07795       e_multipleCalls,
07796       e_featureSet,
07797       e_genericData,
07798       e_circuitInfo,
07799       e_serviceControl,
07800       e_modifiedSrcInfo,
07801       e_bandWidth
07802     };
07803 
07804     H225_RequestSeqNum m_requestSeqNum;
07805     H225_TransportAddress m_callSignalAddress;
07806     H225_TransportAddress m_rasAddress;
07807     H225_NonStandardParameter m_nonStandardData;
07808     H225_ArrayOf_AliasAddress m_destinationInfo;
07809     H225_ArrayOf_AliasAddress m_destExtraCallInfo;
07810     H225_EndpointType m_destinationType;
07811     H225_ArrayOf_AliasAddress m_remoteExtensionAddress;
07812     H225_ArrayOf_Endpoint m_alternateEndpoints;
07813     H225_ArrayOf_ClearToken m_tokens;
07814     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
07815     H225_ICV m_integrityCheckValue;
07816     H225_AlternateTransportAddresses m_alternateTransportAddresses;
07817     H225_ArrayOf_SupportedProtocols m_supportedProtocols;
07818     PASN_Boolean m_multipleCalls;
07819     H225_FeatureSet m_featureSet;
07820     H225_ArrayOf_GenericData m_genericData;
07821     H225_CircuitInfo m_circuitInfo;
07822     H225_ArrayOf_ServiceControlSession m_serviceControl;
07823     H225_ArrayOf_AliasAddress m_modifiedSrcInfo;
07824     H225_BandWidth m_bandWidth;
07825 
07826     PINDEX GetDataLength() const;
07827     BOOL Decode(PASN_Stream & strm);
07828     void Encode(PASN_Stream & strm) const;
07829 #ifndef PASN_NOPRINTON
07830     void PrintOn(ostream & strm) const;
07831 #endif
07832     Comparison Compare(const PObject & obj) const;
07833     PObject * Clone() const;
07834 };
07835 
07836 
07837 //
07838 // DisengageRequest
07839 //
07840 
07841 class H225_DisengageRequest : public PASN_Sequence
07842 {
07843 #ifndef PASN_LEANANDMEAN
07844     PCLASSINFO(H225_DisengageRequest, PASN_Sequence);
07845 #endif
07846   public:
07847     H225_DisengageRequest(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
07848 
07849     enum OptionalFields {
07850       e_nonStandardData,
07851       e_callIdentifier,
07852       e_gatekeeperIdentifier,
07853       e_tokens,
07854       e_cryptoTokens,
07855       e_integrityCheckValue,
07856       e_answeredCall,
07857       e_callLinkage,
07858       e_capacity,
07859       e_circuitInfo,
07860       e_usageInformation,
07861       e_terminationCause,
07862       e_serviceControl,
07863       e_genericData
07864     };
07865 
07866     H225_RequestSeqNum m_requestSeqNum;
07867     H225_EndpointIdentifier m_endpointIdentifier;
07868     H225_ConferenceIdentifier m_conferenceID;
07869     H225_CallReferenceValue m_callReferenceValue;
07870     H225_DisengageReason m_disengageReason;
07871     H225_NonStandardParameter m_nonStandardData;
07872     H225_CallIdentifier m_callIdentifier;
07873     H225_GatekeeperIdentifier m_gatekeeperIdentifier;
07874     H225_ArrayOf_ClearToken m_tokens;
07875     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
07876     H225_ICV m_integrityCheckValue;
07877     PASN_Boolean m_answeredCall;
07878     H225_CallLinkage m_callLinkage;
07879     H225_CallCapacity m_capacity;
07880     H225_CircuitInfo m_circuitInfo;
07881     H225_RasUsageInformation m_usageInformation;
07882     H225_CallTerminationCause m_terminationCause;
07883     H225_ArrayOf_ServiceControlSession m_serviceControl;
07884     H225_ArrayOf_GenericData m_genericData;
07885 
07886     PINDEX GetDataLength() const;
07887     BOOL Decode(PASN_Stream & strm);
07888     void Encode(PASN_Stream & strm) const;
07889 #ifndef PASN_NOPRINTON
07890     void PrintOn(ostream & strm) const;
07891 #endif
07892     Comparison Compare(const PObject & obj) const;
07893     PObject * Clone() const;
07894 };
07895 
07896 
07897 //
07898 // DisengageConfirm
07899 //
07900 
07901 class H225_DisengageConfirm : public PASN_Sequence
07902 {
07903 #ifndef PASN_LEANANDMEAN
07904     PCLASSINFO(H225_DisengageConfirm, PASN_Sequence);
07905 #endif
07906   public:
07907     H225_DisengageConfirm(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
07908 
07909     enum OptionalFields {
07910       e_nonStandardData,
07911       e_tokens,
07912       e_cryptoTokens,
07913       e_integrityCheckValue,
07914       e_capacity,
07915       e_circuitInfo,
07916       e_usageInformation,
07917       e_genericData,
07918       e_assignedGatekeeper
07919     };
07920 
07921     H225_RequestSeqNum m_requestSeqNum;
07922     H225_NonStandardParameter m_nonStandardData;
07923     H225_ArrayOf_ClearToken m_tokens;
07924     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
07925     H225_ICV m_integrityCheckValue;
07926     H225_CallCapacity m_capacity;
07927     H225_CircuitInfo m_circuitInfo;
07928     H225_RasUsageInformation m_usageInformation;
07929     H225_ArrayOf_GenericData m_genericData;
07930     H225_AlternateGK m_assignedGatekeeper;
07931 
07932     PINDEX GetDataLength() const;
07933     BOOL Decode(PASN_Stream & strm);
07934     void Encode(PASN_Stream & strm) const;
07935 #ifndef PASN_NOPRINTON
07936     void PrintOn(ostream & strm) const;
07937 #endif
07938     Comparison Compare(const PObject & obj) const;
07939     PObject * Clone() const;
07940 };
07941 
07942 
07943 //
07944 // InfoRequestResponse
07945 //
07946 
07947 class H225_InfoRequestResponse : public PASN_Sequence
07948 {
07949 #ifndef PASN_LEANANDMEAN
07950     PCLASSINFO(H225_InfoRequestResponse, PASN_Sequence);
07951 #endif
07952   public:
07953     H225_InfoRequestResponse(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
07954 
07955     enum OptionalFields {
07956       e_nonStandardData,
07957       e_endpointAlias,
07958       e_perCallInfo,
07959       e_tokens,
07960       e_cryptoTokens,
07961       e_integrityCheckValue,
07962       e_needResponse,
07963       e_capacity,
07964       e_irrStatus,
07965       e_unsolicited,
07966       e_genericData
07967     };
07968 
07969     H225_NonStandardParameter m_nonStandardData;
07970     H225_RequestSeqNum m_requestSeqNum;
07971     H225_EndpointType m_endpointType;
07972     H225_EndpointIdentifier m_endpointIdentifier;
07973     H225_TransportAddress m_rasAddress;
07974     H225_ArrayOf_TransportAddress m_callSignalAddress;
07975     H225_ArrayOf_AliasAddress m_endpointAlias;
07976     H225_InfoRequestResponse_perCallInfo m_perCallInfo;
07977     H225_ArrayOf_ClearToken m_tokens;
07978     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
07979     H225_ICV m_integrityCheckValue;
07980     PASN_Boolean m_needResponse;
07981     H225_CallCapacity m_capacity;
07982     H225_InfoRequestResponseStatus m_irrStatus;
07983     PASN_Boolean m_unsolicited;
07984     H225_ArrayOf_GenericData m_genericData;
07985 
07986     PINDEX GetDataLength() const;
07987     BOOL Decode(PASN_Stream & strm);
07988     void Encode(PASN_Stream & strm) const;
07989 #ifndef PASN_NOPRINTON
07990     void PrintOn(ostream & strm) const;
07991 #endif
07992     Comparison Compare(const PObject & obj) const;
07993     PObject * Clone() const;
07994 };
07995 
07996 
07997 //
07998 // InfoRequestResponse_perCallInfo_subtype
07999 //
08000 
08001 class H225_InfoRequestResponse_perCallInfo_subtype : public PASN_Sequence
08002 {
08003 #ifndef PASN_LEANANDMEAN
08004     PCLASSINFO(H225_InfoRequestResponse_perCallInfo_subtype, PASN_Sequence);
08005 #endif
08006   public:
08007     H225_InfoRequestResponse_perCallInfo_subtype(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
08008 
08009     enum OptionalFields {
08010       e_nonStandardData,
08011       e_originator,
08012       e_audio,
08013       e_video,
08014       e_data,
08015       e_callIdentifier,
08016       e_tokens,
08017       e_cryptoTokens,
08018       e_substituteConfIDs,
08019       e_pdu,
08020       e_callLinkage,
08021       e_usageInformation,
08022       e_circuitInfo
08023     };
08024 
08025     H225_NonStandardParameter m_nonStandardData;
08026     H225_CallReferenceValue m_callReferenceValue;
08027     H225_ConferenceIdentifier m_conferenceID;
08028     PASN_Boolean m_originator;
08029     H225_ArrayOf_RTPSession m_audio;
08030     H225_ArrayOf_RTPSession m_video;
08031     H225_ArrayOf_TransportChannelInfo m_data;
08032     H225_TransportChannelInfo m_h245;
08033     H225_TransportChannelInfo m_callSignaling;
08034     H225_CallType m_callType;
08035     H225_BandWidth m_bandWidth;
08036     H225_CallModel m_callModel;
08037     H225_CallIdentifier m_callIdentifier;
08038     H225_ArrayOf_ClearToken m_tokens;
08039     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
08040     H225_ArrayOf_ConferenceIdentifier m_substituteConfIDs;
08041     H225_InfoRequestResponse_perCallInfo_subtype_pdu m_pdu;
08042     H225_CallLinkage m_callLinkage;
08043     H225_RasUsageInformation m_usageInformation;
08044     H225_CircuitInfo m_circuitInfo;
08045 
08046     PINDEX GetDataLength() const;
08047     BOOL Decode(PASN_Stream & strm);
08048     void Encode(PASN_Stream & strm) const;
08049 #ifndef PASN_NOPRINTON
08050     void PrintOn(ostream & strm) const;
08051 #endif
08052     Comparison Compare(const PObject & obj) const;
08053     PObject * Clone() const;
08054 };
08055 
08056 
08057 //
08058 // InfoRequestResponse_perCallInfo_subtype_pdu_subtype
08059 //
08060 
08061 class H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype : public PASN_Sequence
08062 {
08063 #ifndef PASN_LEANANDMEAN
08064     PCLASSINFO(H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype, PASN_Sequence);
08065 #endif
08066   public:
08067     H225_InfoRequestResponse_perCallInfo_subtype_pdu_subtype(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
08068 
08069     H225_H323_UU_PDU m_h323pdu;
08070     PASN_Boolean m_sent;
08071 
08072     PINDEX GetDataLength() const;
08073     BOOL Decode(PASN_Stream & strm);
08074     void Encode(PASN_Stream & strm) const;
08075 #ifndef PASN_NOPRINTON
08076     void PrintOn(ostream & strm) const;
08077 #endif
08078     Comparison Compare(const PObject & obj) const;
08079     PObject * Clone() const;
08080 };
08081 
08082 
08083 //
08084 // H323-UserInformation
08085 //
08086 
08087 class H225_H323_UserInformation : public PASN_Sequence
08088 {
08089 #ifndef PASN_LEANANDMEAN
08090     PCLASSINFO(H225_H323_UserInformation, PASN_Sequence);
08091 #endif
08092   public:
08093     H225_H323_UserInformation(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
08094 
08095     enum OptionalFields {
08096       e_user_data
08097     };
08098 
08099     H225_H323_UU_PDU m_h323_uu_pdu;
08100     H225_H323_UserInformation_user_data m_user_data;
08101 
08102     PINDEX GetDataLength() const;
08103     BOOL Decode(PASN_Stream & strm);
08104     void Encode(PASN_Stream & strm) const;
08105 #ifndef PASN_NOPRINTON
08106     void PrintOn(ostream & strm) const;
08107 #endif
08108     Comparison Compare(const PObject & obj) const;
08109     PObject * Clone() const;
08110 };
08111 
08112 
08113 //
08114 // Alerting-UUIE
08115 //
08116 
08117 class H225_Alerting_UUIE : public PASN_Sequence
08118 {
08119 #ifndef PASN_LEANANDMEAN
08120     PCLASSINFO(H225_Alerting_UUIE, PASN_Sequence);
08121 #endif
08122   public:
08123     H225_Alerting_UUIE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
08124 
08125     enum OptionalFields {
08126       e_h245Address,
08127       e_callIdentifier,
08128       e_h245SecurityMode,
08129       e_tokens,
08130       e_cryptoTokens,
08131       e_fastStart,
08132       e_multipleCalls,
08133       e_maintainConnection,
08134       e_alertingAddress,
08135       e_presentationIndicator,
08136       e_screeningIndicator,
08137       e_fastConnectRefused,
08138       e_serviceControl,
08139       e_capacity,
08140       e_featureSet
08141     };
08142 
08143     H225_ProtocolIdentifier m_protocolIdentifier;
08144     H225_EndpointType m_destinationInfo;
08145     H225_TransportAddress m_h245Address;
08146     H225_CallIdentifier m_callIdentifier;
08147     H225_H245Security m_h245SecurityMode;
08148     H225_ArrayOf_ClearToken m_tokens;
08149     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
08150     H225_ArrayOf_PASN_OctetString m_fastStart;
08151     PASN_Boolean m_multipleCalls;
08152     PASN_Boolean m_maintainConnection;
08153     H225_ArrayOf_AliasAddress m_alertingAddress;
08154     H225_PresentationIndicator m_presentationIndicator;
08155     H225_ScreeningIndicator m_screeningIndicator;
08156     PASN_Null m_fastConnectRefused;
08157     H225_ArrayOf_ServiceControlSession m_serviceControl;
08158     H225_CallCapacity m_capacity;
08159     H225_FeatureSet m_featureSet;
08160 
08161     PINDEX GetDataLength() const;
08162     BOOL Decode(PASN_Stream & strm);
08163     void Encode(PASN_Stream & strm) const;
08164 #ifndef PASN_NOPRINTON
08165     void PrintOn(ostream & strm) const;
08166 #endif
08167     Comparison Compare(const PObject & obj) const;
08168     PObject * Clone() const;
08169 };
08170 
08171 
08172 //
08173 // CallProceeding-UUIE
08174 //
08175 
08176 class H225_CallProceeding_UUIE : public PASN_Sequence
08177 {
08178 #ifndef PASN_LEANANDMEAN
08179     PCLASSINFO(H225_CallProceeding_UUIE, PASN_Sequence);
08180 #endif
08181   public:
08182     H225_CallProceeding_UUIE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
08183 
08184     enum OptionalFields {
08185       e_h245Address,
08186       e_callIdentifier,
08187       e_h245SecurityMode,
08188       e_tokens,
08189       e_cryptoTokens,
08190       e_fastStart,
08191       e_multipleCalls,
08192       e_maintainConnection,
08193       e_fastConnectRefused,
08194       e_featureSet
08195     };
08196 
08197     H225_ProtocolIdentifier m_protocolIdentifier;
08198     H225_EndpointType m_destinationInfo;
08199     H225_TransportAddress m_h245Address;
08200     H225_CallIdentifier m_callIdentifier;
08201     H225_H245Security m_h245SecurityMode;
08202     H225_ArrayOf_ClearToken m_tokens;
08203     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
08204     H225_ArrayOf_PASN_OctetString m_fastStart;
08205     PASN_Boolean m_multipleCalls;
08206     PASN_Boolean m_maintainConnection;
08207     PASN_Null m_fastConnectRefused;
08208     H225_FeatureSet m_featureSet;
08209 
08210     PINDEX GetDataLength() const;
08211     BOOL Decode(PASN_Stream & strm);
08212     void Encode(PASN_Stream & strm) const;
08213 #ifndef PASN_NOPRINTON
08214     void PrintOn(ostream & strm) const;
08215 #endif
08216     Comparison Compare(const PObject & obj) const;
08217     PObject * Clone() const;
08218 };
08219 
08220 
08221 //
08222 // Connect-UUIE
08223 //
08224 
08225 class H225_Connect_UUIE : public PASN_Sequence
08226 {
08227 #ifndef PASN_LEANANDMEAN
08228     PCLASSINFO(H225_Connect_UUIE, PASN_Sequence);
08229 #endif
08230   public:
08231     H225_Connect_UUIE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
08232 
08233     enum OptionalFields {
08234       e_h245Address,
08235       e_callIdentifier,
08236       e_h245SecurityMode,
08237       e_tokens,
08238       e_cryptoTokens,
08239       e_fastStart,
08240       e_multipleCalls,
08241       e_maintainConnection,
08242       e_language,
08243       e_connectedAddress,
08244       e_presentationIndicator,
08245       e_screeningIndicator,
08246       e_fastConnectRefused,
08247       e_serviceControl,
08248       e_capacity,
08249       e_featureSet
08250     };
08251 
08252     H225_ProtocolIdentifier m_protocolIdentifier;
08253     H225_TransportAddress m_h245Address;
08254     H225_EndpointType m_destinationInfo;
08255     H225_ConferenceIdentifier m_conferenceID;
08256     H225_CallIdentifier m_callIdentifier;
08257     H225_H245Security m_h245SecurityMode;
08258     H225_ArrayOf_ClearToken m_tokens;
08259     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
08260     H225_ArrayOf_PASN_OctetString m_fastStart;
08261     PASN_Boolean m_multipleCalls;
08262     PASN_Boolean m_maintainConnection;
08263     H225_Connect_UUIE_language m_language;
08264     H225_ArrayOf_AliasAddress m_connectedAddress;
08265     H225_PresentationIndicator m_presentationIndicator;
08266     H225_ScreeningIndicator m_screeningIndicator;
08267     PASN_Null m_fastConnectRefused;
08268     H225_ArrayOf_ServiceControlSession m_serviceControl;
08269     H225_CallCapacity m_capacity;
08270     H225_FeatureSet m_featureSet;
08271 
08272     PINDEX GetDataLength() const;
08273     BOOL Decode(PASN_Stream & strm);
08274     void Encode(PASN_Stream & strm) const;
08275 #ifndef PASN_NOPRINTON
08276     void PrintOn(ostream & strm) const;
08277 #endif
08278     Comparison Compare(const PObject & obj) const;
08279     PObject * Clone() const;
08280 };
08281 
08282 
08283 //
08284 // Information-UUIE
08285 //
08286 
08287 class H225_Information_UUIE : public PASN_Sequence
08288 {
08289 #ifndef PASN_LEANANDMEAN
08290     PCLASSINFO(H225_Information_UUIE, PASN_Sequence);
08291 #endif
08292   public:
08293     H225_Information_UUIE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
08294 
08295     enum OptionalFields {
08296       e_callIdentifier,
08297       e_tokens,
08298       e_cryptoTokens,
08299       e_fastStart,
08300       e_fastConnectRefused,
08301       e_circuitInfo
08302     };
08303 
08304     H225_ProtocolIdentifier m_protocolIdentifier;
08305     H225_CallIdentifier m_callIdentifier;
08306     H225_ArrayOf_ClearToken m_tokens;
08307     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
08308     H225_ArrayOf_PASN_OctetString m_fastStart;
08309     PASN_Null m_fastConnectRefused;
08310     H225_CircuitInfo m_circuitInfo;
08311 
08312     PINDEX GetDataLength() const;
08313     BOOL Decode(PASN_Stream & strm);
08314     void Encode(PASN_Stream & strm) const;
08315 #ifndef PASN_NOPRINTON
08316     void PrintOn(ostream & strm) const;
08317 #endif
08318     Comparison Compare(const PObject & obj) const;
08319     PObject * Clone() const;
08320 };
08321 
08322 
08323 //
08324 // Setup-UUIE
08325 //
08326 
08327 class H225_Setup_UUIE : public PASN_Sequence
08328 {
08329 #ifndef PASN_LEANANDMEAN
08330     PCLASSINFO(H225_Setup_UUIE, PASN_Sequence);
08331 #endif
08332   public:
08333     H225_Setup_UUIE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
08334 
08335     enum OptionalFields {
08336       e_h245Address,
08337       e_sourceAddress,
08338       e_destinationAddress,
08339       e_destCallSignalAddress,
08340       e_destExtraCallInfo,
08341       e_destExtraCRV,
08342       e_callServices,
08343       e_sourceCallSignalAddress,
08344       e_remoteExtensionAddress,
08345       e_callIdentifier,
08346       e_h245SecurityCapability,
08347       e_tokens,
08348       e_cryptoTokens,
08349       e_fastStart,
08350       e_mediaWaitForConnect,
08351       e_canOverlapSend,
08352       e_endpointIdentifier,
08353       e_multipleCalls,
08354       e_maintainConnection,
08355       e_connectionParameters,
08356       e_language,
08357       e_presentationIndicator,
08358       e_screeningIndicator,
08359       e_serviceControl,
08360       e_symmetricOperationRequired,
08361       e_capacity,
08362       e_circuitInfo,
08363       e_desiredProtocols,
08364       e_neededFeatures,
08365       e_desiredFeatures,
08366       e_supportedFeatures,
08367       e_parallelH245Control,
08368       e_additionalSourceAddresses,
08369       e_hopCount
08370     };
08371 
08372     H225_ProtocolIdentifier m_protocolIdentifier;
08373     H225_TransportAddress m_h245Address;
08374     H225_ArrayOf_AliasAddress m_sourceAddress;
08375     H225_EndpointType m_sourceInfo;
08376     H225_ArrayOf_AliasAddress m_destinationAddress;
08377     H225_TransportAddress m_destCallSignalAddress;
08378     H225_ArrayOf_AliasAddress m_destExtraCallInfo;
08379     H225_ArrayOf_CallReferenceValue m_destExtraCRV;
08380     PASN_Boolean m_activeMC;
08381     H225_ConferenceIdentifier m_conferenceID;
08382     H225_Setup_UUIE_conferenceGoal m_conferenceGoal;
08383     H225_QseriesOptions m_callServices;
08384     H225_CallType m_callType;
08385     H225_TransportAddress m_sourceCallSignalAddress;
08386     H225_AliasAddress m_remoteExtensionAddress;
08387     H225_CallIdentifier m_callIdentifier;
08388     H225_ArrayOf_H245Security m_h245SecurityCapability;
08389     H225_ArrayOf_ClearToken m_tokens;
08390     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
08391     H225_ArrayOf_PASN_OctetString m_fastStart;
08392     PASN_Boolean m_mediaWaitForConnect;
08393     PASN_Boolean m_canOverlapSend;
08394     H225_EndpointIdentifier m_endpointIdentifier;
08395     PASN_Boolean m_multipleCalls;
08396     PASN_Boolean m_maintainConnection;
08397     H225_Setup_UUIE_connectionParameters m_connectionParameters;
08398     H225_Setup_UUIE_language m_language;
08399     H225_PresentationIndicator m_presentationIndicator;
08400     H225_ScreeningIndicator m_screeningIndicator;
08401     H225_ArrayOf_ServiceControlSession m_serviceControl;
08402     PASN_Null m_symmetricOperationRequired;
08403     H225_CallCapacity m_capacity;
08404     H225_CircuitInfo m_circuitInfo;
08405     H225_ArrayOf_SupportedProtocols m_desiredProtocols;
08406     H225_ArrayOf_FeatureDescriptor m_neededFeatures;
08407     H225_ArrayOf_FeatureDescriptor m_desiredFeatures;
08408     H225_ArrayOf_FeatureDescriptor m_supportedFeatures;
08409     H225_ArrayOf_PASN_OctetString m_parallelH245Control;
08410     H225_ArrayOf_ExtendedAliasAddress m_additionalSourceAddresses;
08411     PASN_Integer m_hopCount;
08412 
08413     PINDEX GetDataLength() const;
08414     BOOL Decode(PASN_Stream & strm);
08415     void Encode(PASN_Stream & strm) const;
08416 #ifndef PASN_NOPRINTON
08417     void PrintOn(ostream & strm) const;
08418 #endif
08419     Comparison Compare(const PObject & obj) const;
08420     PObject * Clone() const;
08421 };
08422 
08423 
08424 //
08425 // Facility-UUIE
08426 //
08427 
08428 class H225_Facility_UUIE : public PASN_Sequence
08429 {
08430 #ifndef PASN_LEANANDMEAN
08431     PCLASSINFO(H225_Facility_UUIE, PASN_Sequence);
08432 #endif
08433   public:
08434     H225_Facility_UUIE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
08435 
08436     enum OptionalFields {
08437       e_alternativeAddress,
08438       e_alternativeAliasAddress,
08439       e_conferenceID,
08440       e_callIdentifier,
08441       e_destExtraCallInfo,
08442       e_remoteExtensionAddress,
08443       e_tokens,
08444       e_cryptoTokens,
08445       e_conferences,
08446       e_h245Address,
08447       e_fastStart,
08448       e_multipleCalls,
08449       e_maintainConnection,
08450       e_fastConnectRefused,
08451       e_serviceControl,
08452       e_circuitInfo,
08453       e_featureSet,
08454       e_destinationInfo,
08455       e_h245SecurityMode
08456     };
08457 
08458     H225_ProtocolIdentifier m_protocolIdentifier;
08459     H225_TransportAddress m_alternativeAddress;
08460     H225_ArrayOf_AliasAddress m_alternativeAliasAddress;
08461     H225_ConferenceIdentifier m_conferenceID;
08462     H225_FacilityReason m_reason;
08463     H225_CallIdentifier m_callIdentifier;
08464     H225_ArrayOf_AliasAddress m_destExtraCallInfo;
08465     H225_AliasAddress m_remoteExtensionAddress;
08466     H225_ArrayOf_ClearToken m_tokens;
08467     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
08468     H225_ArrayOf_ConferenceList m_conferences;
08469     H225_TransportAddress m_h245Address;
08470     H225_ArrayOf_PASN_OctetString m_fastStart;
08471     PASN_Boolean m_multipleCalls;
08472     PASN_Boolean m_maintainConnection;
08473     PASN_Null m_fastConnectRefused;
08474     H225_ArrayOf_ServiceControlSession m_serviceControl;
08475     H225_CircuitInfo m_circuitInfo;
08476     H225_FeatureSet m_featureSet;
08477     H225_EndpointType m_destinationInfo;
08478     H225_H245Security m_h245SecurityMode;
08479 
08480     PINDEX GetDataLength() const;
08481     BOOL Decode(PASN_Stream & strm);
08482     void Encode(PASN_Stream & strm) const;
08483 #ifndef PASN_NOPRINTON
08484     void PrintOn(ostream & strm) const;
08485 #endif
08486     Comparison Compare(const PObject & obj) const;
08487     PObject * Clone() const;
08488 };
08489 
08490 
08491 //
08492 // Progress-UUIE
08493 //
08494 
08495 class H225_Progress_UUIE : public PASN_Sequence
08496 {
08497 #ifndef PASN_LEANANDMEAN
08498     PCLASSINFO(H225_Progress_UUIE, PASN_Sequence);
08499 #endif
08500   public:
08501     H225_Progress_UUIE(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
08502 
08503     enum OptionalFields {
08504       e_h245Address,
08505       e_h245SecurityMode,
08506       e_tokens,
08507       e_cryptoTokens,
08508       e_fastStart,
08509       e_multipleCalls,
08510       e_maintainConnection,
08511       e_fastConnectRefused
08512     };
08513 
08514     H225_ProtocolIdentifier m_protocolIdentifier;
08515     H225_EndpointType m_destinationInfo;
08516     H225_TransportAddress m_h245Address;
08517     H225_CallIdentifier m_callIdentifier;
08518     H225_H245Security m_h245SecurityMode;
08519     H225_ArrayOf_ClearToken m_tokens;
08520     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
08521     H225_ArrayOf_PASN_OctetString m_fastStart;
08522     PASN_Boolean m_multipleCalls;
08523     PASN_Boolean m_maintainConnection;
08524     PASN_Null m_fastConnectRefused;
08525 
08526     PINDEX GetDataLength() const;
08527     BOOL Decode(PASN_Stream & strm);
08528     void Encode(PASN_Stream & strm) const;
08529 #ifndef PASN_NOPRINTON
08530     void PrintOn(ostream & strm) const;
08531 #endif
08532     Comparison Compare(const PObject & obj) const;
08533     PObject * Clone() const;
08534 };
08535 
08536 
08537 //
08538 // Endpoint
08539 //
08540 
08541 class H225_Endpoint : public PASN_Sequence
08542 {
08543 #ifndef PASN_LEANANDMEAN
08544     PCLASSINFO(H225_Endpoint, PASN_Sequence);
08545 #endif
08546   public:
08547     H225_Endpoint(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);
08548 
08549     enum OptionalFields {
08550       e_nonStandardData,
08551       e_aliasAddress,
08552       e_callSignalAddress,
08553       e_rasAddress,
08554       e_endpointType,
08555       e_tokens,
08556       e_cryptoTokens,
08557       e_priority,
08558       e_remoteExtensionAddress,
08559       e_destExtraCallInfo,
08560       e_alternateTransportAddresses,
08561       e_circuitInfo,
08562       e_featureSet
08563     };
08564 
08565     H225_NonStandardParameter m_nonStandardData;
08566     H225_ArrayOf_AliasAddress m_aliasAddress;
08567     H225_ArrayOf_TransportAddress m_callSignalAddress;
08568     H225_ArrayOf_TransportAddress m_rasAddress;
08569     H225_EndpointType m_endpointType;
08570     H225_ArrayOf_ClearToken m_tokens;
08571     H225_ArrayOf_CryptoH323Token m_cryptoTokens;
08572     PASN_Integer m_priority;
08573     H225_ArrayOf_AliasAddress m_remoteExtensionAddress;
08574     H225_ArrayOf_AliasAddress m_destExtraCallInfo;
08575     H225_AlternateTransportAddresses m_alternateTransportAddresses;
08576     H225_CircuitInfo m_circuitInfo;
08577     H225_FeatureSet m_featureSet;
08578 
08579     PINDEX GetDataLength() const;
08580     BOOL Decode(PASN_Stream & strm);
08581     void Encode(PASN_Stream & strm) const;
08582 #ifndef PASN_NOPRINTON
08583     void PrintOn(ostream & strm) const;
08584 #endif
08585     Comparison Compare(const PObject & obj) const;
08586     PObject * Clone() const;
08587 };
08588 
08589 
08590 #endif // __H225_H
08591 
08592 #endif // if ! H323_DISABLE_H225
08593 
08594 
08595 // End of h225.h

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