h225.h

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

Generated on Mon Sep 25 16:19:43 2006 for OPAL by  doxygen 1.4.7