D:/Storage/CVS_Head/h323plus/include/h225.h

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