h225.h

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

Generated on Mon Feb 23 02:01:15 2009 for OPAL by  doxygen 1.5.1