//
// cisco-h225.h
//
// Code automatically generated by asnparse.
//

#if ! H323_DISABLE_CISCO_H225

#ifndef __CISCO_H225_H
#define __CISCO_H225_H

#ifdef P_USE_PRAGMA
#pragma interface
#endif

#include <ptclib/asner.h>

//
// RedirectIEinfo
//

class CISCO_H225_RedirectIEinfo : public PASN_Sequence
{
#ifndef PASN_LEANANDMEAN
    PCLASSINFO(CISCO_H225_RedirectIEinfo, PASN_Sequence);
#endif
  public:
    CISCO_H225_RedirectIEinfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);

    PASN_OctetString m_redirectIE;

    PINDEX GetDataLength() const;
    BOOL Decode(PASN_Stream & strm);
    void Encode(PASN_Stream & strm) const;
#ifndef PASN_NOPRINTON
    void PrintOn(ostream & strm) const;
#endif
    Comparison Compare(const PObject & obj) const;
    PObject * Clone() const;
};


//
// ProgIndIEinfo
//

class CISCO_H225_ProgIndIEinfo : public PASN_Sequence
{
#ifndef PASN_LEANANDMEAN
    PCLASSINFO(CISCO_H225_ProgIndIEinfo, PASN_Sequence);
#endif
  public:
    CISCO_H225_ProgIndIEinfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);

    PASN_OctetString m_progIndIE;

    PINDEX GetDataLength() const;
    BOOL Decode(PASN_Stream & strm);
    void Encode(PASN_Stream & strm) const;
#ifndef PASN_NOPRINTON
    void PrintOn(ostream & strm) const;
#endif
    Comparison Compare(const PObject & obj) const;
    PObject * Clone() const;
};


//
// QsigNonStdInfo
//

class CISCO_H225_QsigNonStdInfo : public PASN_Sequence
{
#ifndef PASN_LEANANDMEAN
    PCLASSINFO(CISCO_H225_QsigNonStdInfo, PASN_Sequence);
#endif
  public:
    CISCO_H225_QsigNonStdInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);

    PASN_Integer m_iei;
    PASN_OctetString m_rawMesg;

    PINDEX GetDataLength() const;
    BOOL Decode(PASN_Stream & strm);
    void Encode(PASN_Stream & strm) const;
#ifndef PASN_NOPRINTON
    void PrintOn(ostream & strm) const;
#endif
    Comparison Compare(const PObject & obj) const;
    PObject * Clone() const;
};


//
// CallMgrParam
//

class CISCO_H225_CallMgrParam : public PASN_Sequence
{
#ifndef PASN_LEANANDMEAN
    PCLASSINFO(CISCO_H225_CallMgrParam, PASN_Sequence);
#endif
  public:
    CISCO_H225_CallMgrParam(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);

    PASN_Integer m_interclusterVersion;
    PASN_OctetString m_enterpriseID;

    PINDEX GetDataLength() const;
    BOOL Decode(PASN_Stream & strm);
    void Encode(PASN_Stream & strm) const;
#ifndef PASN_NOPRINTON
    void PrintOn(ostream & strm) const;
#endif
    Comparison Compare(const PObject & obj) const;
    PObject * Clone() const;
};


//
// CallPreserveParam
//

class CISCO_H225_CallPreserveParam : public PASN_Sequence
{
#ifndef PASN_LEANANDMEAN
    PCLASSINFO(CISCO_H225_CallPreserveParam, PASN_Sequence);
#endif
  public:
    CISCO_H225_CallPreserveParam(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);

    PASN_Boolean m_callPreserveIE;

    PINDEX GetDataLength() const;
    BOOL Decode(PASN_Stream & strm);
    void Encode(PASN_Stream & strm) const;
#ifndef PASN_NOPRINTON
    void PrintOn(ostream & strm) const;
#endif
    Comparison Compare(const PObject & obj) const;
    PObject * Clone() const;
};


//
// CallSignallingParam
//

class CISCO_H225_CallSignallingParam : public PASN_Sequence
{
#ifndef PASN_LEANANDMEAN
    PCLASSINFO(CISCO_H225_CallSignallingParam, PASN_Sequence);
#endif
  public:
    CISCO_H225_CallSignallingParam(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);

    enum OptionalFields {
      e_connectedNumber
    };

    PASN_OctetString m_connectedNumber;

    PINDEX GetDataLength() const;
    BOOL Decode(PASN_Stream & strm);
    void Encode(PASN_Stream & strm) const;
#ifndef PASN_NOPRINTON
    void PrintOn(ostream & strm) const;
#endif
    Comparison Compare(const PObject & obj) const;
    PObject * Clone() const;
};


//
// CommonParam
//

class CISCO_H225_CommonParam : public PASN_Sequence
{
#ifndef PASN_LEANANDMEAN
    PCLASSINFO(CISCO_H225_CommonParam, PASN_Sequence);
#endif
  public:
    CISCO_H225_CommonParam(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);

    CISCO_H225_RedirectIEinfo m_redirectIEinfo;

    PINDEX GetDataLength() const;
    BOOL Decode(PASN_Stream & strm);
    void Encode(PASN_Stream & strm) const;
#ifndef PASN_NOPRINTON
    void PrintOn(ostream & strm) const;
#endif
    Comparison Compare(const PObject & obj) const;
    PObject * Clone() const;
};


//
// ProgIndParam
//

class CISCO_H225_ProgIndParam : public PASN_Sequence
{
#ifndef PASN_LEANANDMEAN
    PCLASSINFO(CISCO_H225_ProgIndParam, PASN_Sequence);
#endif
  public:
    CISCO_H225_ProgIndParam(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);

    CISCO_H225_ProgIndIEinfo m_progIndIEinfo;

    PINDEX GetDataLength() const;
    BOOL Decode(PASN_Stream & strm);
    void Encode(PASN_Stream & strm) const;
#ifndef PASN_NOPRINTON
    void PrintOn(ostream & strm) const;
#endif
    Comparison Compare(const PObject & obj) const;
    PObject * Clone() const;
};


//
// ProtoParam
//

class CISCO_H225_ProtoParam : public PASN_Sequence
{
#ifndef PASN_LEANANDMEAN
    PCLASSINFO(CISCO_H225_ProtoParam, PASN_Sequence);
#endif
  public:
    CISCO_H225_ProtoParam(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);

    CISCO_H225_QsigNonStdInfo m_qsigNonStdInfo;

    PINDEX GetDataLength() const;
    BOOL Decode(PASN_Stream & strm);
    void Encode(PASN_Stream & strm) const;
#ifndef PASN_NOPRINTON
    void PrintOn(ostream & strm) const;
#endif
    Comparison Compare(const PObject & obj) const;
    PObject * Clone() const;
};


//
// H323_UU_NonStdInfo
//

class CISCO_H225_H323_UU_NonStdInfo : public PASN_Sequence
{
#ifndef PASN_LEANANDMEAN
    PCLASSINFO(CISCO_H225_H323_UU_NonStdInfo, PASN_Sequence);
#endif
  public:
    CISCO_H225_H323_UU_NonStdInfo(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass);

    enum OptionalFields {
      e_version,
      e_protoParam,
      e_commonParam,
      e_dummy1,
      e_progIndParam,
      e_callMgrParam,
      e_callSignallingParam,
      e_dummy2,
      e_callPreserveParam
    };

    PASN_Integer m_version;
    CISCO_H225_ProtoParam m_protoParam;
    CISCO_H225_CommonParam m_commonParam;
    PASN_OctetString m_dummy1;
    CISCO_H225_ProgIndParam m_progIndParam;
    CISCO_H225_CallMgrParam m_callMgrParam;
    CISCO_H225_CallSignallingParam m_callSignallingParam;
    PASN_OctetString m_dummy2;
    CISCO_H225_CallPreserveParam m_callPreserveParam;

    PINDEX GetDataLength() const;
    BOOL Decode(PASN_Stream & strm);
    void Encode(PASN_Stream & strm) const;
#ifndef PASN_NOPRINTON
    void PrintOn(ostream & strm) const;
#endif
    Comparison Compare(const PObject & obj) const;
    PObject * Clone() const;
};


#endif // __CISCO_H225_H

#endif // if ! H323_DISABLE_CISCO_H225


// End of cisco-h225.h
