// This C++ header file was generated by the TTCN-3 compiler
// of the TTCN-3 Test Executor version 11.1.0
// The generation of user and time information were disabled by the -D flag.

// Copyright (c) 2000-2025 Ericsson Telecom AB

// Do not edit this file unless you know what you are doing.

#ifndef RTP__Types_HH
#define RTP__Types_HH

#ifdef TITAN_RUNTIME_2
#error Generated code does not match with used runtime.\
 Code was generated without -R option but -DTITAN_RUNTIME_2 was used.
#endif

/* Header file includes */

#include <TTCN3.hh>
#include "General_Types.hh"

#if TTCN3_VERSION != 110100
#error Version mismatch detected.\
 Please check the version of the TTCN-3 compiler and the base library.\
 Run make clean and rebuild the project if the version of the compiler changed recently.
#endif

#ifndef LINUX
#error This file should be compiled on LINUX
#endif

#undef RTP__Types_HH
#endif

namespace RTP__Types {

/* Forward declarations of classes */

typedef PreGenRecordOf::PREGEN__SET__OF__BITSTRING RTP__CSRC__list;
typedef PreGenRecordOf::PREGEN__SET__OF__BITSTRING_template RTP__CSRC__list_template;
class RTP__field__ext__header;
class RTP__field__ext__header_template;
class RTP__header;
class RTP__header_template;
class RTP__packet;
class RTP__packet_template;
class PDU__RTP;
class PDU__RTP_template;
class RTCP__field__sender__info;
class RTCP__field__sender__info_template;
class RTCP__report;
class RTCP__report_template;
class RTCP__report__list;
class RTCP__report__list_template;
class RTCP__IE__SR;
class RTCP__IE__SR_template;
class RTCP__IE__RR;
class RTCP__IE__RR_template;
class RTCP__field__SDES;
class RTCP__field__SDES_template;
class RTCP__field__PRIV;
class RTCP__field__PRIV_template;
class RTCP__SDES__item;
class RTCP__SDES__item_template;
class RTCP__SDES__item__list;
class RTCP__SDES__item__list_template;
class RTCP__SDES__chunk;
class RTCP__SDES__chunk_template;
class RTCP__SDES__chunk__list;
class RTCP__SDES__chunk__list_template;
class RTCP__IE__SDES;
class RTCP__IE__SDES_template;
class RTCP__field__reason;
class RTCP__field__reason_template;
class RTCP__IE__BYE;
class RTCP__IE__BYE_template;
class RTCP__IE__APP;
class RTCP__IE__APP_template;
class RTCP__IE__RTPFB;
class RTCP__IE__RTPFB_template;
class RTCP__RTPFB__union;
class RTCP__RTPFB__union_template;
class RTCP__generic__NAKs;
class RTCP__generic__NAKs_template;
class RTCP__generic__NAK;
class RTCP__generic__NAK_template;
class RTCP__RTPFB__TMMBRs;
class RTCP__RTPFB__TMMBRs_template;
class RTCP__RTPFB__TMMB;
class RTCP__RTPFB__TMMB_template;
class RTCP__RTPFB__TMMBNs;
class RTCP__RTPFB__TMMBNs_template;
class RTCP__PSFB__union;
class RTCP__PSFB__union_template;
class RTCP__PSFB__PLI;
class RTCP__PSFB__PLI_template;
class RTCP__PSFB__SLIs;
class RTCP__PSFB__SLIs_template;
class RTCP__PSFB__SLI;
class RTCP__PSFB__SLI_template;
class RTCP__PSFB__RPSI;
class RTCP__PSFB__RPSI_template;
class RTCP__PSFB__FIRs;
class RTCP__PSFB__FIRs_template;
class RTCP__PSFB__FIR;
class RTCP__PSFB__FIR_template;
class RTCP__PSFB__TSTRs;
class RTCP__PSFB__TSTRs_template;
class RTCP__PSFB__TST;
class RTCP__PSFB__TST_template;
class RTCP__PSFB__TSTNs;
class RTCP__PSFB__TSTNs_template;
class RTCP__PSFB__VBCMs;
class RTCP__PSFB__VBCMs_template;
class RTCP__PSFB__VBCM;
class RTCP__PSFB__VBCM_template;
class RTCP__IE__PSFB;
class RTCP__IE__PSFB_template;
class RTCP__message;
class RTCP__message_template;
class PDU__RTCP;
class PDU__RTCP_template;
class RTP__session__par;
class RTP__session__par_template;
class ASP__RTP__Open__session;
class ASP__RTP__Open__session_template;
class ASP__RTP__Open__session__result;
class ASP__RTP__Open__session__result_template;
class ASP__RTP__Close__session;
class ASP__RTP__Close__session_template;
class RTP__messages__union;
class RTP__messages__union_template;
class ASP__RTP__message;
class ASP__RTP__message_template;
class RTPasp__PT;
class RTPasp__SP__PT;

} /* end of namespace */

#ifndef RTP__Types_HH
#define RTP__Types_HH

namespace RTP__Types {

/* Type definitions */

typedef INTEGER INT14b__BO__LAST;
typedef INTEGER_template INT14b__BO__LAST_template;
typedef ASP__RTP__message ASP__RTP__messageDone;
typedef ASP__RTP__message_template ASP__RTP__messageDone_template;

/* Class definitions */

class RTP__field__ext__header : public Base_Type {
  BITSTRING field_ext__header__id;
  INTEGER field_ext__header__length;
  OPTIONAL< OCTETSTRING > field_ext__header__data;
public:
  RTP__field__ext__header();
  RTP__field__ext__header(const BITSTRING& par_ext__header__id,
    const INTEGER& par_ext__header__length,
    const OPTIONAL< OCTETSTRING >& par_ext__header__data);
  RTP__field__ext__header(const RTP__field__ext__header& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RTP__field__ext__header& operator=(const RTP__field__ext__header& other_value);
  boolean operator==(const RTP__field__ext__header& other_value) const;
  inline boolean operator!=(const RTP__field__ext__header& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline BITSTRING& ext__header__id()
    {return field_ext__header__id;}
  inline const BITSTRING& ext__header__id() const
    {return field_ext__header__id;}
  inline INTEGER& ext__header__length()
    {return field_ext__header__length;}
  inline const INTEGER& ext__header__length() const
    {return field_ext__header__length;}
  inline OPTIONAL< OCTETSTRING >& ext__header__data()
    {return field_ext__header__data;}
  inline const OPTIONAL< OCTETSTRING >& ext__header__data() const
    {return field_ext__header__data;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTP__field__ext__header_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RTP__field__ext__header_template *list_value;
} value_list;
struct {
RTP__field__ext__header_template* precondition;
RTP__field__ext__header_template* implied_template;
} implication_;
dynmatch_struct<RTP__field__ext__header>* dyn_match;
};

void set_specific();
void copy_value(const RTP__field__ext__header& other_value);
void copy_template(const RTP__field__ext__header_template& other_value);

public:
RTP__field__ext__header_template();
RTP__field__ext__header_template(template_sel other_value);
RTP__field__ext__header_template(const RTP__field__ext__header& other_value);
RTP__field__ext__header_template(const OPTIONAL<RTP__field__ext__header>& other_value);
RTP__field__ext__header_template(RTP__field__ext__header_template* p_precondition, RTP__field__ext__header_template* p_implied_template);
RTP__field__ext__header_template(Dynamic_Match_Interface<RTP__field__ext__header>* p_dyn_match);
RTP__field__ext__header_template(const RTP__field__ext__header_template& other_value);
~RTP__field__ext__header_template();
RTP__field__ext__header_template& operator=(template_sel other_value);
RTP__field__ext__header_template& operator=(const RTP__field__ext__header& other_value);
RTP__field__ext__header_template& operator=(const OPTIONAL<RTP__field__ext__header>& other_value);
RTP__field__ext__header_template& operator=(const RTP__field__ext__header_template& other_value);
boolean match(const RTP__field__ext__header& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RTP__field__ext__header valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTP__field__ext__header_template& list_item(unsigned int list_index) const;
BITSTRING_template& ext__header__id();
const BITSTRING_template& ext__header__id() const;
INTEGER_template& ext__header__length();
const INTEGER_template& ext__header__length() const;
OCTETSTRING_template& ext__header__data();
const OCTETSTRING_template& ext__header__data() const;
int size_of() const;
void log() const;
void log_match(const RTP__field__ext__header& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTP__header : public Base_Type {
  INTEGER field_version;
  BITSTRING field_padding__ind;
  BITSTRING field_extension__ind;
  INTEGER field_CSRC__count;
  BITSTRING field_marker__bit;
  INTEGER field_payload__type;
  INTEGER field_sequence__number;
  BITSTRING field_time__stamp;
  BITSTRING field_SSRC__id;
  OPTIONAL< RTP__CSRC__list > field_CSRCs;
  OPTIONAL< RTP__field__ext__header > field_ext__header;
public:
  RTP__header();
  RTP__header(const INTEGER& par_version,
    const BITSTRING& par_padding__ind,
    const BITSTRING& par_extension__ind,
    const INTEGER& par_CSRC__count,
    const BITSTRING& par_marker__bit,
    const INTEGER& par_payload__type,
    const INTEGER& par_sequence__number,
    const BITSTRING& par_time__stamp,
    const BITSTRING& par_SSRC__id,
    const OPTIONAL< RTP__CSRC__list >& par_CSRCs,
    const OPTIONAL< RTP__field__ext__header >& par_ext__header);
  RTP__header(const RTP__header& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RTP__header& operator=(const RTP__header& other_value);
  boolean operator==(const RTP__header& other_value) const;
  inline boolean operator!=(const RTP__header& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& version()
    {return field_version;}
  inline const INTEGER& version() const
    {return field_version;}
  inline BITSTRING& padding__ind()
    {return field_padding__ind;}
  inline const BITSTRING& padding__ind() const
    {return field_padding__ind;}
  inline BITSTRING& extension__ind()
    {return field_extension__ind;}
  inline const BITSTRING& extension__ind() const
    {return field_extension__ind;}
  inline INTEGER& CSRC__count()
    {return field_CSRC__count;}
  inline const INTEGER& CSRC__count() const
    {return field_CSRC__count;}
  inline BITSTRING& marker__bit()
    {return field_marker__bit;}
  inline const BITSTRING& marker__bit() const
    {return field_marker__bit;}
  inline INTEGER& payload__type()
    {return field_payload__type;}
  inline const INTEGER& payload__type() const
    {return field_payload__type;}
  inline INTEGER& sequence__number()
    {return field_sequence__number;}
  inline const INTEGER& sequence__number() const
    {return field_sequence__number;}
  inline BITSTRING& time__stamp()
    {return field_time__stamp;}
  inline const BITSTRING& time__stamp() const
    {return field_time__stamp;}
  inline BITSTRING& SSRC__id()
    {return field_SSRC__id;}
  inline const BITSTRING& SSRC__id() const
    {return field_SSRC__id;}
  inline OPTIONAL< RTP__CSRC__list >& CSRCs()
    {return field_CSRCs;}
  inline const OPTIONAL< RTP__CSRC__list >& CSRCs() const
    {return field_CSRCs;}
  inline OPTIONAL< RTP__field__ext__header >& ext__header()
    {return field_ext__header;}
  inline const OPTIONAL< RTP__field__ext__header >& ext__header() const
    {return field_ext__header;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTP__header_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RTP__header_template *list_value;
} value_list;
struct {
RTP__header_template* precondition;
RTP__header_template* implied_template;
} implication_;
dynmatch_struct<RTP__header>* dyn_match;
};

void set_specific();
void copy_value(const RTP__header& other_value);
void copy_template(const RTP__header_template& other_value);

public:
RTP__header_template();
RTP__header_template(template_sel other_value);
RTP__header_template(const RTP__header& other_value);
RTP__header_template(const OPTIONAL<RTP__header>& other_value);
RTP__header_template(RTP__header_template* p_precondition, RTP__header_template* p_implied_template);
RTP__header_template(Dynamic_Match_Interface<RTP__header>* p_dyn_match);
RTP__header_template(const RTP__header_template& other_value);
~RTP__header_template();
RTP__header_template& operator=(template_sel other_value);
RTP__header_template& operator=(const RTP__header& other_value);
RTP__header_template& operator=(const OPTIONAL<RTP__header>& other_value);
RTP__header_template& operator=(const RTP__header_template& other_value);
boolean match(const RTP__header& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RTP__header valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTP__header_template& list_item(unsigned int list_index) const;
INTEGER_template& version();
const INTEGER_template& version() const;
BITSTRING_template& padding__ind();
const BITSTRING_template& padding__ind() const;
BITSTRING_template& extension__ind();
const BITSTRING_template& extension__ind() const;
INTEGER_template& CSRC__count();
const INTEGER_template& CSRC__count() const;
BITSTRING_template& marker__bit();
const BITSTRING_template& marker__bit() const;
INTEGER_template& payload__type();
const INTEGER_template& payload__type() const;
INTEGER_template& sequence__number();
const INTEGER_template& sequence__number() const;
BITSTRING_template& time__stamp();
const BITSTRING_template& time__stamp() const;
BITSTRING_template& SSRC__id();
const BITSTRING_template& SSRC__id() const;
RTP__CSRC__list_template& CSRCs();
const RTP__CSRC__list_template& CSRCs() const;
RTP__field__ext__header_template& ext__header();
const RTP__field__ext__header_template& ext__header() const;
int size_of() const;
void log() const;
void log_match(const RTP__header& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTP__packet : public Base_Type {
  RTP__header field_header;
  OCTETSTRING field_payload;
public:
  RTP__packet();
  RTP__packet(const RTP__header& par_header,
    const OCTETSTRING& par_payload);
  RTP__packet(const RTP__packet& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RTP__packet& operator=(const RTP__packet& other_value);
  boolean operator==(const RTP__packet& other_value) const;
  inline boolean operator!=(const RTP__packet& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline RTP__header& header()
    {return field_header;}
  inline const RTP__header& header() const
    {return field_header;}
  inline OCTETSTRING& payload()
    {return field_payload;}
  inline const OCTETSTRING& payload() const
    {return field_payload;}
  inline int size_of() const
    {return 2;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTP__packet_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RTP__packet_template *list_value;
} value_list;
struct {
RTP__packet_template* precondition;
RTP__packet_template* implied_template;
} implication_;
dynmatch_struct<RTP__packet>* dyn_match;
};

void set_specific();
void copy_value(const RTP__packet& other_value);
void copy_template(const RTP__packet_template& other_value);

public:
RTP__packet_template();
RTP__packet_template(template_sel other_value);
RTP__packet_template(const RTP__packet& other_value);
RTP__packet_template(const OPTIONAL<RTP__packet>& other_value);
RTP__packet_template(RTP__packet_template* p_precondition, RTP__packet_template* p_implied_template);
RTP__packet_template(Dynamic_Match_Interface<RTP__packet>* p_dyn_match);
RTP__packet_template(const RTP__packet_template& other_value);
~RTP__packet_template();
RTP__packet_template& operator=(template_sel other_value);
RTP__packet_template& operator=(const RTP__packet& other_value);
RTP__packet_template& operator=(const OPTIONAL<RTP__packet>& other_value);
RTP__packet_template& operator=(const RTP__packet_template& other_value);
boolean match(const RTP__packet& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RTP__packet valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTP__packet_template& list_item(unsigned int list_index) const;
RTP__header_template& header();
const RTP__header_template& header() const;
OCTETSTRING_template& payload();
const OCTETSTRING_template& payload() const;
int size_of() const;
void log() const;
void log_match(const RTP__packet& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class PDU__RTP : public Base_Type {
  INTEGER field_version;
  BITSTRING field_padding__ind;
  BITSTRING field_extension__ind;
  INTEGER field_CSRC__count;
  BITSTRING field_marker__bit;
  INTEGER field_payload__type;
  INTEGER field_sequence__number;
  BITSTRING field_time__stamp;
  BITSTRING field_SSRC__id;
  OPTIONAL< RTP__CSRC__list > field_CSRCs;
  OPTIONAL< RTP__field__ext__header > field_ext__header;
  OCTETSTRING field_data;
public:
  PDU__RTP();
  PDU__RTP(const INTEGER& par_version,
    const BITSTRING& par_padding__ind,
    const BITSTRING& par_extension__ind,
    const INTEGER& par_CSRC__count,
    const BITSTRING& par_marker__bit,
    const INTEGER& par_payload__type,
    const INTEGER& par_sequence__number,
    const BITSTRING& par_time__stamp,
    const BITSTRING& par_SSRC__id,
    const OPTIONAL< RTP__CSRC__list >& par_CSRCs,
    const OPTIONAL< RTP__field__ext__header >& par_ext__header,
    const OCTETSTRING& par_data);
  PDU__RTP(const PDU__RTP& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  PDU__RTP& operator=(const PDU__RTP& other_value);
  boolean operator==(const PDU__RTP& other_value) const;
  inline boolean operator!=(const PDU__RTP& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& version()
    {return field_version;}
  inline const INTEGER& version() const
    {return field_version;}
  inline BITSTRING& padding__ind()
    {return field_padding__ind;}
  inline const BITSTRING& padding__ind() const
    {return field_padding__ind;}
  inline BITSTRING& extension__ind()
    {return field_extension__ind;}
  inline const BITSTRING& extension__ind() const
    {return field_extension__ind;}
  inline INTEGER& CSRC__count()
    {return field_CSRC__count;}
  inline const INTEGER& CSRC__count() const
    {return field_CSRC__count;}
  inline BITSTRING& marker__bit()
    {return field_marker__bit;}
  inline const BITSTRING& marker__bit() const
    {return field_marker__bit;}
  inline INTEGER& payload__type()
    {return field_payload__type;}
  inline const INTEGER& payload__type() const
    {return field_payload__type;}
  inline INTEGER& sequence__number()
    {return field_sequence__number;}
  inline const INTEGER& sequence__number() const
    {return field_sequence__number;}
  inline BITSTRING& time__stamp()
    {return field_time__stamp;}
  inline const BITSTRING& time__stamp() const
    {return field_time__stamp;}
  inline BITSTRING& SSRC__id()
    {return field_SSRC__id;}
  inline const BITSTRING& SSRC__id() const
    {return field_SSRC__id;}
  inline OPTIONAL< RTP__CSRC__list >& CSRCs()
    {return field_CSRCs;}
  inline const OPTIONAL< RTP__CSRC__list >& CSRCs() const
    {return field_CSRCs;}
  inline OPTIONAL< RTP__field__ext__header >& ext__header()
    {return field_ext__header;}
  inline const OPTIONAL< RTP__field__ext__header >& ext__header() const
    {return field_ext__header;}
  inline OCTETSTRING& data()
    {return field_data;}
  inline const OCTETSTRING& data() const
    {return field_data;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class PDU__RTP_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
PDU__RTP_template *list_value;
} value_list;
struct {
PDU__RTP_template* precondition;
PDU__RTP_template* implied_template;
} implication_;
dynmatch_struct<PDU__RTP>* dyn_match;
};

void set_specific();
void copy_value(const PDU__RTP& other_value);
void copy_template(const PDU__RTP_template& other_value);

public:
PDU__RTP_template();
PDU__RTP_template(template_sel other_value);
PDU__RTP_template(const PDU__RTP& other_value);
PDU__RTP_template(const OPTIONAL<PDU__RTP>& other_value);
PDU__RTP_template(PDU__RTP_template* p_precondition, PDU__RTP_template* p_implied_template);
PDU__RTP_template(Dynamic_Match_Interface<PDU__RTP>* p_dyn_match);
PDU__RTP_template(const PDU__RTP_template& other_value);
~PDU__RTP_template();
PDU__RTP_template& operator=(template_sel other_value);
PDU__RTP_template& operator=(const PDU__RTP& other_value);
PDU__RTP_template& operator=(const OPTIONAL<PDU__RTP>& other_value);
PDU__RTP_template& operator=(const PDU__RTP_template& other_value);
boolean match(const PDU__RTP& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
PDU__RTP valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__RTP_template& list_item(unsigned int list_index) const;
INTEGER_template& version();
const INTEGER_template& version() const;
BITSTRING_template& padding__ind();
const BITSTRING_template& padding__ind() const;
BITSTRING_template& extension__ind();
const BITSTRING_template& extension__ind() const;
INTEGER_template& CSRC__count();
const INTEGER_template& CSRC__count() const;
BITSTRING_template& marker__bit();
const BITSTRING_template& marker__bit() const;
INTEGER_template& payload__type();
const INTEGER_template& payload__type() const;
INTEGER_template& sequence__number();
const INTEGER_template& sequence__number() const;
BITSTRING_template& time__stamp();
const BITSTRING_template& time__stamp() const;
BITSTRING_template& SSRC__id();
const BITSTRING_template& SSRC__id() const;
RTP__CSRC__list_template& CSRCs();
const RTP__CSRC__list_template& CSRCs() const;
RTP__field__ext__header_template& ext__header();
const RTP__field__ext__header_template& ext__header() const;
OCTETSTRING_template& data();
const OCTETSTRING_template& data() const;
int size_of() const;
void log() const;
void log_match(const PDU__RTP& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTCP__field__sender__info : public Base_Type {
  BITSTRING field_NTP__timestamp__MSW;
  BITSTRING field_NTP__timestamp__LSW;
  BITSTRING field_RTP__timestamp;
  BITSTRING field_senders__packet__count;
  BITSTRING field_senders__octet__count;
public:
  RTCP__field__sender__info();
  RTCP__field__sender__info(const BITSTRING& par_NTP__timestamp__MSW,
    const BITSTRING& par_NTP__timestamp__LSW,
    const BITSTRING& par_RTP__timestamp,
    const BITSTRING& par_senders__packet__count,
    const BITSTRING& par_senders__octet__count);
  RTCP__field__sender__info(const RTCP__field__sender__info& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RTCP__field__sender__info& operator=(const RTCP__field__sender__info& other_value);
  boolean operator==(const RTCP__field__sender__info& other_value) const;
  inline boolean operator!=(const RTCP__field__sender__info& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline BITSTRING& NTP__timestamp__MSW()
    {return field_NTP__timestamp__MSW;}
  inline const BITSTRING& NTP__timestamp__MSW() const
    {return field_NTP__timestamp__MSW;}
  inline BITSTRING& NTP__timestamp__LSW()
    {return field_NTP__timestamp__LSW;}
  inline const BITSTRING& NTP__timestamp__LSW() const
    {return field_NTP__timestamp__LSW;}
  inline BITSTRING& RTP__timestamp()
    {return field_RTP__timestamp;}
  inline const BITSTRING& RTP__timestamp() const
    {return field_RTP__timestamp;}
  inline BITSTRING& senders__packet__count()
    {return field_senders__packet__count;}
  inline const BITSTRING& senders__packet__count() const
    {return field_senders__packet__count;}
  inline BITSTRING& senders__octet__count()
    {return field_senders__octet__count;}
  inline const BITSTRING& senders__octet__count() const
    {return field_senders__octet__count;}
  inline int size_of() const
    {return 5;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__field__sender__info_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RTCP__field__sender__info_template *list_value;
} value_list;
struct {
RTCP__field__sender__info_template* precondition;
RTCP__field__sender__info_template* implied_template;
} implication_;
dynmatch_struct<RTCP__field__sender__info>* dyn_match;
};

void set_specific();
void copy_value(const RTCP__field__sender__info& other_value);
void copy_template(const RTCP__field__sender__info_template& other_value);

public:
RTCP__field__sender__info_template();
RTCP__field__sender__info_template(template_sel other_value);
RTCP__field__sender__info_template(const RTCP__field__sender__info& other_value);
RTCP__field__sender__info_template(const OPTIONAL<RTCP__field__sender__info>& other_value);
RTCP__field__sender__info_template(RTCP__field__sender__info_template* p_precondition, RTCP__field__sender__info_template* p_implied_template);
RTCP__field__sender__info_template(Dynamic_Match_Interface<RTCP__field__sender__info>* p_dyn_match);
RTCP__field__sender__info_template(const RTCP__field__sender__info_template& other_value);
~RTCP__field__sender__info_template();
RTCP__field__sender__info_template& operator=(template_sel other_value);
RTCP__field__sender__info_template& operator=(const RTCP__field__sender__info& other_value);
RTCP__field__sender__info_template& operator=(const OPTIONAL<RTCP__field__sender__info>& other_value);
RTCP__field__sender__info_template& operator=(const RTCP__field__sender__info_template& other_value);
boolean match(const RTCP__field__sender__info& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RTCP__field__sender__info valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__field__sender__info_template& list_item(unsigned int list_index) const;
BITSTRING_template& NTP__timestamp__MSW();
const BITSTRING_template& NTP__timestamp__MSW() const;
BITSTRING_template& NTP__timestamp__LSW();
const BITSTRING_template& NTP__timestamp__LSW() const;
BITSTRING_template& RTP__timestamp();
const BITSTRING_template& RTP__timestamp() const;
BITSTRING_template& senders__packet__count();
const BITSTRING_template& senders__packet__count() const;
BITSTRING_template& senders__octet__count();
const BITSTRING_template& senders__octet__count() const;
int size_of() const;
void log() const;
void log_match(const RTCP__field__sender__info& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTCP__report : public Base_Type {
  BITSTRING field_SSRC__id;
  INTEGER field_farction__lost;
  INTEGER field_number__lost__packet;
  BITSTRING field_highest__seq__num;
  BITSTRING field_jitter;
  BITSTRING field_last__SR__time__stamp;
  BITSTRING field_delay__since__SR;
public:
  RTCP__report();
  RTCP__report(const BITSTRING& par_SSRC__id,
    const INTEGER& par_farction__lost,
    const INTEGER& par_number__lost__packet,
    const BITSTRING& par_highest__seq__num,
    const BITSTRING& par_jitter,
    const BITSTRING& par_last__SR__time__stamp,
    const BITSTRING& par_delay__since__SR);
  RTCP__report(const RTCP__report& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RTCP__report& operator=(const RTCP__report& other_value);
  boolean operator==(const RTCP__report& other_value) const;
  inline boolean operator!=(const RTCP__report& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline BITSTRING& SSRC__id()
    {return field_SSRC__id;}
  inline const BITSTRING& SSRC__id() const
    {return field_SSRC__id;}
  inline INTEGER& farction__lost()
    {return field_farction__lost;}
  inline const INTEGER& farction__lost() const
    {return field_farction__lost;}
  inline INTEGER& number__lost__packet()
    {return field_number__lost__packet;}
  inline const INTEGER& number__lost__packet() const
    {return field_number__lost__packet;}
  inline BITSTRING& highest__seq__num()
    {return field_highest__seq__num;}
  inline const BITSTRING& highest__seq__num() const
    {return field_highest__seq__num;}
  inline BITSTRING& jitter()
    {return field_jitter;}
  inline const BITSTRING& jitter() const
    {return field_jitter;}
  inline BITSTRING& last__SR__time__stamp()
    {return field_last__SR__time__stamp;}
  inline const BITSTRING& last__SR__time__stamp() const
    {return field_last__SR__time__stamp;}
  inline BITSTRING& delay__since__SR()
    {return field_delay__since__SR;}
  inline const BITSTRING& delay__since__SR() const
    {return field_delay__since__SR;}
  inline int size_of() const
    {return 7;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__report_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RTCP__report_template *list_value;
} value_list;
struct {
RTCP__report_template* precondition;
RTCP__report_template* implied_template;
} implication_;
dynmatch_struct<RTCP__report>* dyn_match;
};

void set_specific();
void copy_value(const RTCP__report& other_value);
void copy_template(const RTCP__report_template& other_value);

public:
RTCP__report_template();
RTCP__report_template(template_sel other_value);
RTCP__report_template(const RTCP__report& other_value);
RTCP__report_template(const OPTIONAL<RTCP__report>& other_value);
RTCP__report_template(RTCP__report_template* p_precondition, RTCP__report_template* p_implied_template);
RTCP__report_template(Dynamic_Match_Interface<RTCP__report>* p_dyn_match);
RTCP__report_template(const RTCP__report_template& other_value);
~RTCP__report_template();
RTCP__report_template& operator=(template_sel other_value);
RTCP__report_template& operator=(const RTCP__report& other_value);
RTCP__report_template& operator=(const OPTIONAL<RTCP__report>& other_value);
RTCP__report_template& operator=(const RTCP__report_template& other_value);
boolean match(const RTCP__report& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RTCP__report valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__report_template& list_item(unsigned int list_index) const;
BITSTRING_template& SSRC__id();
const BITSTRING_template& SSRC__id() const;
INTEGER_template& farction__lost();
const INTEGER_template& farction__lost() const;
INTEGER_template& number__lost__packet();
const INTEGER_template& number__lost__packet() const;
BITSTRING_template& highest__seq__num();
const BITSTRING_template& highest__seq__num() const;
BITSTRING_template& jitter();
const BITSTRING_template& jitter() const;
BITSTRING_template& last__SR__time__stamp();
const BITSTRING_template& last__SR__time__stamp() const;
BITSTRING_template& delay__since__SR();
const BITSTRING_template& delay__since__SR() const;
int size_of() const;
void log() const;
void log_match(const RTCP__report& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTCP__report__list : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
RTCP__report **value_elements;
} *val_ptr;

static const RTCP__report UNBOUND_ELEM;
private:
friend boolean operator==(null_type null_value, const RTCP__report__list& other_value);
static boolean compare_function(const Base_Type *left_ptr, int left_index, const Base_Type *right_ptr, int right_index);

public:
  typedef RTCP__report of_type;
RTCP__report__list();
RTCP__report__list(null_type other_value);
RTCP__report__list(const RTCP__report__list& other_value);
~RTCP__report__list();

void clean_up();
RTCP__report__list& operator=(null_type other_value);
RTCP__report__list& operator=(const RTCP__report__list& other_value);

boolean operator==(null_type other_value) const;
boolean operator==(const RTCP__report__list& other_value) const;
inline boolean operator!=(null_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const RTCP__report__list& other_value) const { return !(*this == other_value); }

RTCP__report& operator[](int index_value);
RTCP__report& operator[](const INTEGER& index_value);
const RTCP__report& operator[](int index_value) const;
const RTCP__report& operator[](const INTEGER& index_value) const;

RTCP__report__list operator<<=(int rotate_count) const;
RTCP__report__list operator<<=(const INTEGER& rotate_count) const;
RTCP__report__list operator>>=(int rotate_count) const;
RTCP__report__list operator>>=(const INTEGER& rotate_count) const;

RTCP__report__list operator+(const RTCP__report__list& other_value) const;

RTCP__report__list substr(int index, int returncount) const;

RTCP__report__list replace(int index, int len, const RTCP__report__list& repl) const;

RTCP__report__list replace(int index, int len, const RTCP__report__list_template& repl) const;

void set_size(int new_size);
inline boolean is_bound() const {return val_ptr != NULL; }
inline boolean is_present() const { return is_bound(); }
boolean is_value() const;
int size_of() const;
int n_elem() const { return size_of(); }
int lengthof() const;
void log() const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__report__list_template : public Restricted_Length_Template {
union {
struct {
int n_elements;
RTCP__report_template **value_elements;
} single_value;
struct {
unsigned int n_values;
RTCP__report__list_template *list_value;
} value_list;
struct {
RTCP__report__list_template* precondition;
RTCP__report__list_template* implied_template;
} implication_;
dynmatch_struct<RTCP__report__list>* dyn_match;
struct {
unsigned int n_items;
RTCP__report_template *set_items;
} value_set;
};
void copy_value(const RTCP__report__list& other_value);
void copy_template(const RTCP__report__list_template& other_value);
static boolean match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);
static boolean match_function_set(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);
static void log_function(const Base_Type *value_ptr, const Restricted_Length_Template *template_ptr, int index_value, int index_template, boolean legacy);

public:
RTCP__report__list_template();
RTCP__report__list_template(template_sel other_value);
RTCP__report__list_template(null_type other_value);
RTCP__report__list_template(const RTCP__report__list& other_value);
RTCP__report__list_template(const OPTIONAL<RTCP__report__list>& other_value);
RTCP__report__list_template(RTCP__report__list_template* p_precondition, RTCP__report__list_template* p_implied_template);
RTCP__report__list_template(Dynamic_Match_Interface<RTCP__report__list>* p_dyn_match);
RTCP__report__list_template(const RTCP__report__list_template& other_value);
~RTCP__report__list_template();

void clean_up();
RTCP__report__list_template& operator=(template_sel other_value);
RTCP__report__list_template& operator=(null_type other_value);
RTCP__report__list_template& operator=(const RTCP__report__list& other_value);
RTCP__report__list_template& operator=(const OPTIONAL<RTCP__report__list>& other_value);
RTCP__report__list_template& operator=(const RTCP__report__list_template& other_value);

RTCP__report_template& operator[](int index_value);
RTCP__report_template& operator[](const INTEGER& index_value);
const RTCP__report_template& operator[](int index_value) const;
const RTCP__report_template& operator[](const INTEGER& index_value) const;

void set_size(int new_size);
int n_elem() const;
int size_of(boolean is_size) const;
inline int size_of() const { return size_of(TRUE); }
inline int lengthof() const { return size_of(FALSE); }
boolean match(const RTCP__report__list& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
RTCP__report__list valueof() const;
RTCP__report__list substr(int index, int returncount) const;

RTCP__report__list replace(int index, int len, const RTCP__report__list_template& repl) const;

RTCP__report__list replace(int index, int len, const RTCP__report__list& repl) const;

void set_type(template_sel template_type, unsigned int list_length);
RTCP__report__list_template& list_item(unsigned int list_index);
RTCP__report_template& set_item(unsigned int set_index);
void log() const;
void log_match(const RTCP__report__list& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean get_istemplate_kind(const char* type) const;
};

class RTCP__IE__SR : public Base_Type {
  INTEGER field_version;
  BITSTRING field_padding__ind;
  INTEGER field_RR__count;
  INTEGER field_payload__type;
  INTEGER field_packet__length;
  BITSTRING field_SSRC__id;
  RTCP__field__sender__info field_sender__info;
  OPTIONAL< RTCP__report__list > field_report__list;
  OPTIONAL< OCTETSTRING > field_padding;
public:
  RTCP__IE__SR();
  RTCP__IE__SR(const INTEGER& par_version,
    const BITSTRING& par_padding__ind,
    const INTEGER& par_RR__count,
    const INTEGER& par_payload__type,
    const INTEGER& par_packet__length,
    const BITSTRING& par_SSRC__id,
    const RTCP__field__sender__info& par_sender__info,
    const OPTIONAL< RTCP__report__list >& par_report__list,
    const OPTIONAL< OCTETSTRING >& par_padding);
  RTCP__IE__SR(const RTCP__IE__SR& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RTCP__IE__SR& operator=(const RTCP__IE__SR& other_value);
  boolean operator==(const RTCP__IE__SR& other_value) const;
  inline boolean operator!=(const RTCP__IE__SR& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& version()
    {return field_version;}
  inline const INTEGER& version() const
    {return field_version;}
  inline BITSTRING& padding__ind()
    {return field_padding__ind;}
  inline const BITSTRING& padding__ind() const
    {return field_padding__ind;}
  inline INTEGER& RR__count()
    {return field_RR__count;}
  inline const INTEGER& RR__count() const
    {return field_RR__count;}
  inline INTEGER& payload__type()
    {return field_payload__type;}
  inline const INTEGER& payload__type() const
    {return field_payload__type;}
  inline INTEGER& packet__length()
    {return field_packet__length;}
  inline const INTEGER& packet__length() const
    {return field_packet__length;}
  inline BITSTRING& SSRC__id()
    {return field_SSRC__id;}
  inline const BITSTRING& SSRC__id() const
    {return field_SSRC__id;}
  inline RTCP__field__sender__info& sender__info()
    {return field_sender__info;}
  inline const RTCP__field__sender__info& sender__info() const
    {return field_sender__info;}
  inline OPTIONAL< RTCP__report__list >& report__list()
    {return field_report__list;}
  inline const OPTIONAL< RTCP__report__list >& report__list() const
    {return field_report__list;}
  inline OPTIONAL< OCTETSTRING >& padding()
    {return field_padding;}
  inline const OPTIONAL< OCTETSTRING >& padding() const
    {return field_padding;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__IE__SR_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RTCP__IE__SR_template *list_value;
} value_list;
struct {
RTCP__IE__SR_template* precondition;
RTCP__IE__SR_template* implied_template;
} implication_;
dynmatch_struct<RTCP__IE__SR>* dyn_match;
};

void set_specific();
void copy_value(const RTCP__IE__SR& other_value);
void copy_template(const RTCP__IE__SR_template& other_value);

public:
RTCP__IE__SR_template();
RTCP__IE__SR_template(template_sel other_value);
RTCP__IE__SR_template(const RTCP__IE__SR& other_value);
RTCP__IE__SR_template(const OPTIONAL<RTCP__IE__SR>& other_value);
RTCP__IE__SR_template(RTCP__IE__SR_template* p_precondition, RTCP__IE__SR_template* p_implied_template);
RTCP__IE__SR_template(Dynamic_Match_Interface<RTCP__IE__SR>* p_dyn_match);
RTCP__IE__SR_template(const RTCP__IE__SR_template& other_value);
~RTCP__IE__SR_template();
RTCP__IE__SR_template& operator=(template_sel other_value);
RTCP__IE__SR_template& operator=(const RTCP__IE__SR& other_value);
RTCP__IE__SR_template& operator=(const OPTIONAL<RTCP__IE__SR>& other_value);
RTCP__IE__SR_template& operator=(const RTCP__IE__SR_template& other_value);
boolean match(const RTCP__IE__SR& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RTCP__IE__SR valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__IE__SR_template& list_item(unsigned int list_index) const;
INTEGER_template& version();
const INTEGER_template& version() const;
BITSTRING_template& padding__ind();
const BITSTRING_template& padding__ind() const;
INTEGER_template& RR__count();
const INTEGER_template& RR__count() const;
INTEGER_template& payload__type();
const INTEGER_template& payload__type() const;
INTEGER_template& packet__length();
const INTEGER_template& packet__length() const;
BITSTRING_template& SSRC__id();
const BITSTRING_template& SSRC__id() const;
RTCP__field__sender__info_template& sender__info();
const RTCP__field__sender__info_template& sender__info() const;
RTCP__report__list_template& report__list();
const RTCP__report__list_template& report__list() const;
OCTETSTRING_template& padding();
const OCTETSTRING_template& padding() const;
int size_of() const;
void log() const;
void log_match(const RTCP__IE__SR& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTCP__IE__RR : public Base_Type {
  INTEGER field_version;
  BITSTRING field_padding__ind;
  INTEGER field_RR__count;
  INTEGER field_payload__type;
  INTEGER field_packet__length;
  BITSTRING field_SSRC__id;
  OPTIONAL< RTCP__report__list > field_report__list;
  OPTIONAL< OCTETSTRING > field_padding;
public:
  RTCP__IE__RR();
  RTCP__IE__RR(const INTEGER& par_version,
    const BITSTRING& par_padding__ind,
    const INTEGER& par_RR__count,
    const INTEGER& par_payload__type,
    const INTEGER& par_packet__length,
    const BITSTRING& par_SSRC__id,
    const OPTIONAL< RTCP__report__list >& par_report__list,
    const OPTIONAL< OCTETSTRING >& par_padding);
  RTCP__IE__RR(const RTCP__IE__RR& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RTCP__IE__RR& operator=(const RTCP__IE__RR& other_value);
  boolean operator==(const RTCP__IE__RR& other_value) const;
  inline boolean operator!=(const RTCP__IE__RR& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& version()
    {return field_version;}
  inline const INTEGER& version() const
    {return field_version;}
  inline BITSTRING& padding__ind()
    {return field_padding__ind;}
  inline const BITSTRING& padding__ind() const
    {return field_padding__ind;}
  inline INTEGER& RR__count()
    {return field_RR__count;}
  inline const INTEGER& RR__count() const
    {return field_RR__count;}
  inline INTEGER& payload__type()
    {return field_payload__type;}
  inline const INTEGER& payload__type() const
    {return field_payload__type;}
  inline INTEGER& packet__length()
    {return field_packet__length;}
  inline const INTEGER& packet__length() const
    {return field_packet__length;}
  inline BITSTRING& SSRC__id()
    {return field_SSRC__id;}
  inline const BITSTRING& SSRC__id() const
    {return field_SSRC__id;}
  inline OPTIONAL< RTCP__report__list >& report__list()
    {return field_report__list;}
  inline const OPTIONAL< RTCP__report__list >& report__list() const
    {return field_report__list;}
  inline OPTIONAL< OCTETSTRING >& padding()
    {return field_padding;}
  inline const OPTIONAL< OCTETSTRING >& padding() const
    {return field_padding;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__IE__RR_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RTCP__IE__RR_template *list_value;
} value_list;
struct {
RTCP__IE__RR_template* precondition;
RTCP__IE__RR_template* implied_template;
} implication_;
dynmatch_struct<RTCP__IE__RR>* dyn_match;
};

void set_specific();
void copy_value(const RTCP__IE__RR& other_value);
void copy_template(const RTCP__IE__RR_template& other_value);

public:
RTCP__IE__RR_template();
RTCP__IE__RR_template(template_sel other_value);
RTCP__IE__RR_template(const RTCP__IE__RR& other_value);
RTCP__IE__RR_template(const OPTIONAL<RTCP__IE__RR>& other_value);
RTCP__IE__RR_template(RTCP__IE__RR_template* p_precondition, RTCP__IE__RR_template* p_implied_template);
RTCP__IE__RR_template(Dynamic_Match_Interface<RTCP__IE__RR>* p_dyn_match);
RTCP__IE__RR_template(const RTCP__IE__RR_template& other_value);
~RTCP__IE__RR_template();
RTCP__IE__RR_template& operator=(template_sel other_value);
RTCP__IE__RR_template& operator=(const RTCP__IE__RR& other_value);
RTCP__IE__RR_template& operator=(const OPTIONAL<RTCP__IE__RR>& other_value);
RTCP__IE__RR_template& operator=(const RTCP__IE__RR_template& other_value);
boolean match(const RTCP__IE__RR& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RTCP__IE__RR valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__IE__RR_template& list_item(unsigned int list_index) const;
INTEGER_template& version();
const INTEGER_template& version() const;
BITSTRING_template& padding__ind();
const BITSTRING_template& padding__ind() const;
INTEGER_template& RR__count();
const INTEGER_template& RR__count() const;
INTEGER_template& payload__type();
const INTEGER_template& payload__type() const;
INTEGER_template& packet__length();
const INTEGER_template& packet__length() const;
BITSTRING_template& SSRC__id();
const BITSTRING_template& SSRC__id() const;
RTCP__report__list_template& report__list();
const RTCP__report__list_template& report__list() const;
OCTETSTRING_template& padding();
const OCTETSTRING_template& padding() const;
int size_of() const;
void log() const;
void log_match(const RTCP__IE__RR& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTCP__field__SDES : public Base_Type {
  INTEGER field_id;
  INTEGER field_content__length;
  CHARSTRING field_content;
public:
  RTCP__field__SDES();
  RTCP__field__SDES(const INTEGER& par_id,
    const INTEGER& par_content__length,
    const CHARSTRING& par_content);
  RTCP__field__SDES(const RTCP__field__SDES& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RTCP__field__SDES& operator=(const RTCP__field__SDES& other_value);
  boolean operator==(const RTCP__field__SDES& other_value) const;
  inline boolean operator!=(const RTCP__field__SDES& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& id()
    {return field_id;}
  inline const INTEGER& id() const
    {return field_id;}
  inline INTEGER& content__length()
    {return field_content__length;}
  inline const INTEGER& content__length() const
    {return field_content__length;}
  inline CHARSTRING& content()
    {return field_content;}
  inline const CHARSTRING& content() const
    {return field_content;}
  inline int size_of() const
    {return 3;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__field__SDES_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RTCP__field__SDES_template *list_value;
} value_list;
struct {
RTCP__field__SDES_template* precondition;
RTCP__field__SDES_template* implied_template;
} implication_;
dynmatch_struct<RTCP__field__SDES>* dyn_match;
};

void set_specific();
void copy_value(const RTCP__field__SDES& other_value);
void copy_template(const RTCP__field__SDES_template& other_value);

public:
RTCP__field__SDES_template();
RTCP__field__SDES_template(template_sel other_value);
RTCP__field__SDES_template(const RTCP__field__SDES& other_value);
RTCP__field__SDES_template(const OPTIONAL<RTCP__field__SDES>& other_value);
RTCP__field__SDES_template(RTCP__field__SDES_template* p_precondition, RTCP__field__SDES_template* p_implied_template);
RTCP__field__SDES_template(Dynamic_Match_Interface<RTCP__field__SDES>* p_dyn_match);
RTCP__field__SDES_template(const RTCP__field__SDES_template& other_value);
~RTCP__field__SDES_template();
RTCP__field__SDES_template& operator=(template_sel other_value);
RTCP__field__SDES_template& operator=(const RTCP__field__SDES& other_value);
RTCP__field__SDES_template& operator=(const OPTIONAL<RTCP__field__SDES>& other_value);
RTCP__field__SDES_template& operator=(const RTCP__field__SDES_template& other_value);
boolean match(const RTCP__field__SDES& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RTCP__field__SDES valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__field__SDES_template& list_item(unsigned int list_index) const;
INTEGER_template& id();
const INTEGER_template& id() const;
INTEGER_template& content__length();
const INTEGER_template& content__length() const;
CHARSTRING_template& content();
const CHARSTRING_template& content() const;
int size_of() const;
void log() const;
void log_match(const RTCP__field__SDES& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTCP__field__PRIV : public Base_Type {
  INTEGER field_id;
  INTEGER field_content__length;
  INTEGER field_prefix__length;
  CHARSTRING field_prefix;
  CHARSTRING field_content;
public:
  RTCP__field__PRIV();
  RTCP__field__PRIV(const INTEGER& par_id,
    const INTEGER& par_content__length,
    const INTEGER& par_prefix__length,
    const CHARSTRING& par_prefix,
    const CHARSTRING& par_content);
  RTCP__field__PRIV(const RTCP__field__PRIV& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RTCP__field__PRIV& operator=(const RTCP__field__PRIV& other_value);
  boolean operator==(const RTCP__field__PRIV& other_value) const;
  inline boolean operator!=(const RTCP__field__PRIV& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& id()
    {return field_id;}
  inline const INTEGER& id() const
    {return field_id;}
  inline INTEGER& content__length()
    {return field_content__length;}
  inline const INTEGER& content__length() const
    {return field_content__length;}
  inline INTEGER& prefix__length()
    {return field_prefix__length;}
  inline const INTEGER& prefix__length() const
    {return field_prefix__length;}
  inline CHARSTRING& prefix()
    {return field_prefix;}
  inline const CHARSTRING& prefix() const
    {return field_prefix;}
  inline CHARSTRING& content()
    {return field_content;}
  inline const CHARSTRING& content() const
    {return field_content;}
  inline int size_of() const
    {return 5;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__field__PRIV_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RTCP__field__PRIV_template *list_value;
} value_list;
struct {
RTCP__field__PRIV_template* precondition;
RTCP__field__PRIV_template* implied_template;
} implication_;
dynmatch_struct<RTCP__field__PRIV>* dyn_match;
};

void set_specific();
void copy_value(const RTCP__field__PRIV& other_value);
void copy_template(const RTCP__field__PRIV_template& other_value);

public:
RTCP__field__PRIV_template();
RTCP__field__PRIV_template(template_sel other_value);
RTCP__field__PRIV_template(const RTCP__field__PRIV& other_value);
RTCP__field__PRIV_template(const OPTIONAL<RTCP__field__PRIV>& other_value);
RTCP__field__PRIV_template(RTCP__field__PRIV_template* p_precondition, RTCP__field__PRIV_template* p_implied_template);
RTCP__field__PRIV_template(Dynamic_Match_Interface<RTCP__field__PRIV>* p_dyn_match);
RTCP__field__PRIV_template(const RTCP__field__PRIV_template& other_value);
~RTCP__field__PRIV_template();
RTCP__field__PRIV_template& operator=(template_sel other_value);
RTCP__field__PRIV_template& operator=(const RTCP__field__PRIV& other_value);
RTCP__field__PRIV_template& operator=(const OPTIONAL<RTCP__field__PRIV>& other_value);
RTCP__field__PRIV_template& operator=(const RTCP__field__PRIV_template& other_value);
boolean match(const RTCP__field__PRIV& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RTCP__field__PRIV valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__field__PRIV_template& list_item(unsigned int list_index) const;
INTEGER_template& id();
const INTEGER_template& id() const;
INTEGER_template& content__length();
const INTEGER_template& content__length() const;
INTEGER_template& prefix__length();
const INTEGER_template& prefix__length() const;
CHARSTRING_template& prefix();
const CHARSTRING_template& prefix() const;
CHARSTRING_template& content();
const CHARSTRING_template& content() const;
int size_of() const;
void log() const;
void log_match(const RTCP__field__PRIV& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTCP__SDES__item : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_cname = 1, ALT_name = 2, ALT_email = 3, ALT_phone = 4, ALT_loc = 5, ALT_tool = 6, ALT_note = 7, ALT_priv = 8 };
private:
union_selection_type union_selection;
union {
RTCP__field__SDES *field_cname;
RTCP__field__SDES *field_name;
RTCP__field__SDES *field_email;
RTCP__field__SDES *field_phone;
RTCP__field__SDES *field_loc;
RTCP__field__SDES *field_tool;
RTCP__field__SDES *field_note;
RTCP__field__PRIV *field_priv;
};
void copy_value(const RTCP__SDES__item& other_value);

public:
RTCP__SDES__item();
RTCP__SDES__item(const RTCP__SDES__item& other_value);
~RTCP__SDES__item();
RTCP__SDES__item& operator=(const RTCP__SDES__item& other_value);
boolean operator==(const RTCP__SDES__item& other_value) const;
inline boolean operator!=(const RTCP__SDES__item& other_value) const { return !(*this == other_value); }
RTCP__field__SDES& cname();
const RTCP__field__SDES& cname() const;
RTCP__field__SDES& name();
const RTCP__field__SDES& name() const;
RTCP__field__SDES& email();
const RTCP__field__SDES& email() const;
RTCP__field__SDES& phone();
const RTCP__field__SDES& phone() const;
RTCP__field__SDES& loc();
const RTCP__field__SDES& loc() const;
RTCP__field__SDES& tool();
const RTCP__field__SDES& tool() const;
RTCP__field__SDES& note();
const RTCP__field__SDES& note() const;
RTCP__field__PRIV& priv();
const RTCP__field__PRIV& priv() const;
inline union_selection_type get_selection() const { return union_selection; }
boolean ischosen(union_selection_type checked_selection) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
inline boolean is_present() const { return is_bound(); }
void log() const;
void set_param(Module_Param& param);
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__SDES__item_template : public Base_Template {
union {
struct {
RTCP__SDES__item::union_selection_type union_selection;
union {
RTCP__field__SDES_template *field_cname;
RTCP__field__SDES_template *field_name;
RTCP__field__SDES_template *field_email;
RTCP__field__SDES_template *field_phone;
RTCP__field__SDES_template *field_loc;
RTCP__field__SDES_template *field_tool;
RTCP__field__SDES_template *field_note;
RTCP__field__PRIV_template *field_priv;
};
} single_value;
struct {
unsigned int n_values;
RTCP__SDES__item_template *list_value;
} value_list;
struct {
RTCP__SDES__item_template* precondition;
RTCP__SDES__item_template* implied_template;
} implication_;
dynmatch_struct<RTCP__SDES__item>* dyn_match;
};
void copy_value(const RTCP__SDES__item& other_value);

void copy_template(const RTCP__SDES__item_template& other_value);

public:
RTCP__SDES__item_template();
RTCP__SDES__item_template(template_sel other_value);
RTCP__SDES__item_template(const RTCP__SDES__item& other_value);
RTCP__SDES__item_template(const OPTIONAL<RTCP__SDES__item>& other_value);
RTCP__SDES__item_template(RTCP__SDES__item_template* p_precondition, RTCP__SDES__item_template* p_implied_template);
RTCP__SDES__item_template(Dynamic_Match_Interface<RTCP__SDES__item>* p_dyn_match);
RTCP__SDES__item_template(const RTCP__SDES__item_template& other_value);
~RTCP__SDES__item_template();
void clean_up();
RTCP__SDES__item_template& operator=(template_sel other_value);
RTCP__SDES__item_template& operator=(const RTCP__SDES__item& other_value);
RTCP__SDES__item_template& operator=(const OPTIONAL<RTCP__SDES__item>& other_value);
RTCP__SDES__item_template& operator=(const RTCP__SDES__item_template& other_value);
boolean match(const RTCP__SDES__item& other_value, boolean legacy = FALSE) const;
boolean is_value() const;RTCP__SDES__item valueof() const;
RTCP__SDES__item_template& list_item(unsigned int list_index) const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__field__SDES_template& cname();
const RTCP__field__SDES_template& cname() const;
RTCP__field__SDES_template& name();
const RTCP__field__SDES_template& name() const;
RTCP__field__SDES_template& email();
const RTCP__field__SDES_template& email() const;
RTCP__field__SDES_template& phone();
const RTCP__field__SDES_template& phone() const;
RTCP__field__SDES_template& loc();
const RTCP__field__SDES_template& loc() const;
RTCP__field__SDES_template& tool();
const RTCP__field__SDES_template& tool() const;
RTCP__field__SDES_template& note();
const RTCP__field__SDES_template& note() const;
RTCP__field__PRIV_template& priv();
const RTCP__field__PRIV_template& priv() const;
boolean ischosen(RTCP__SDES__item::union_selection_type checked_selection) const;
void log() const;
void log_match(const RTCP__SDES__item& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
};

class RTCP__SDES__item__list : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
RTCP__SDES__item **value_elements;
} *val_ptr;

static const RTCP__SDES__item UNBOUND_ELEM;
private:
friend boolean operator==(null_type null_value, const RTCP__SDES__item__list& other_value);
static boolean compare_function(const Base_Type *left_ptr, int left_index, const Base_Type *right_ptr, int right_index);

public:
  typedef RTCP__SDES__item of_type;
RTCP__SDES__item__list();
RTCP__SDES__item__list(null_type other_value);
RTCP__SDES__item__list(const RTCP__SDES__item__list& other_value);
~RTCP__SDES__item__list();

void clean_up();
RTCP__SDES__item__list& operator=(null_type other_value);
RTCP__SDES__item__list& operator=(const RTCP__SDES__item__list& other_value);

boolean operator==(null_type other_value) const;
boolean operator==(const RTCP__SDES__item__list& other_value) const;
inline boolean operator!=(null_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const RTCP__SDES__item__list& other_value) const { return !(*this == other_value); }

RTCP__SDES__item& operator[](int index_value);
RTCP__SDES__item& operator[](const INTEGER& index_value);
const RTCP__SDES__item& operator[](int index_value) const;
const RTCP__SDES__item& operator[](const INTEGER& index_value) const;

RTCP__SDES__item__list operator<<=(int rotate_count) const;
RTCP__SDES__item__list operator<<=(const INTEGER& rotate_count) const;
RTCP__SDES__item__list operator>>=(int rotate_count) const;
RTCP__SDES__item__list operator>>=(const INTEGER& rotate_count) const;

RTCP__SDES__item__list operator+(const RTCP__SDES__item__list& other_value) const;

RTCP__SDES__item__list substr(int index, int returncount) const;

RTCP__SDES__item__list replace(int index, int len, const RTCP__SDES__item__list& repl) const;

RTCP__SDES__item__list replace(int index, int len, const RTCP__SDES__item__list_template& repl) const;

void set_size(int new_size);
inline boolean is_bound() const {return val_ptr != NULL; }
inline boolean is_present() const { return is_bound(); }
boolean is_value() const;
int size_of() const;
int n_elem() const { return size_of(); }
int lengthof() const;
void log() const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__SDES__item__list_template : public Restricted_Length_Template {
union {
struct {
int n_elements;
RTCP__SDES__item_template **value_elements;
} single_value;
struct {
unsigned int n_values;
RTCP__SDES__item__list_template *list_value;
} value_list;
struct {
RTCP__SDES__item__list_template* precondition;
RTCP__SDES__item__list_template* implied_template;
} implication_;
dynmatch_struct<RTCP__SDES__item__list>* dyn_match;
struct {
unsigned int n_items;
RTCP__SDES__item_template *set_items;
} value_set;
};
void copy_value(const RTCP__SDES__item__list& other_value);
void copy_template(const RTCP__SDES__item__list_template& other_value);
static boolean match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);
static boolean match_function_set(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);
static void log_function(const Base_Type *value_ptr, const Restricted_Length_Template *template_ptr, int index_value, int index_template, boolean legacy);

public:
RTCP__SDES__item__list_template();
RTCP__SDES__item__list_template(template_sel other_value);
RTCP__SDES__item__list_template(null_type other_value);
RTCP__SDES__item__list_template(const RTCP__SDES__item__list& other_value);
RTCP__SDES__item__list_template(const OPTIONAL<RTCP__SDES__item__list>& other_value);
RTCP__SDES__item__list_template(RTCP__SDES__item__list_template* p_precondition, RTCP__SDES__item__list_template* p_implied_template);
RTCP__SDES__item__list_template(Dynamic_Match_Interface<RTCP__SDES__item__list>* p_dyn_match);
RTCP__SDES__item__list_template(const RTCP__SDES__item__list_template& other_value);
~RTCP__SDES__item__list_template();

void clean_up();
RTCP__SDES__item__list_template& operator=(template_sel other_value);
RTCP__SDES__item__list_template& operator=(null_type other_value);
RTCP__SDES__item__list_template& operator=(const RTCP__SDES__item__list& other_value);
RTCP__SDES__item__list_template& operator=(const OPTIONAL<RTCP__SDES__item__list>& other_value);
RTCP__SDES__item__list_template& operator=(const RTCP__SDES__item__list_template& other_value);

RTCP__SDES__item_template& operator[](int index_value);
RTCP__SDES__item_template& operator[](const INTEGER& index_value);
const RTCP__SDES__item_template& operator[](int index_value) const;
const RTCP__SDES__item_template& operator[](const INTEGER& index_value) const;

void set_size(int new_size);
int n_elem() const;
int size_of(boolean is_size) const;
inline int size_of() const { return size_of(TRUE); }
inline int lengthof() const { return size_of(FALSE); }
boolean match(const RTCP__SDES__item__list& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
RTCP__SDES__item__list valueof() const;
RTCP__SDES__item__list substr(int index, int returncount) const;

RTCP__SDES__item__list replace(int index, int len, const RTCP__SDES__item__list_template& repl) const;

RTCP__SDES__item__list replace(int index, int len, const RTCP__SDES__item__list& repl) const;

void set_type(template_sel template_type, unsigned int list_length);
RTCP__SDES__item__list_template& list_item(unsigned int list_index);
RTCP__SDES__item_template& set_item(unsigned int set_index);
void log() const;
void log_match(const RTCP__SDES__item__list& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean get_istemplate_kind(const char* type) const;
};

class RTCP__SDES__chunk : public Base_Type {
  BITSTRING field_SSRC__CSRC__id;
  OPTIONAL< RTCP__SDES__item__list > field_SDES__items;
  BITSTRING field_end__of__list;
public:
  RTCP__SDES__chunk();
  RTCP__SDES__chunk(const BITSTRING& par_SSRC__CSRC__id,
    const OPTIONAL< RTCP__SDES__item__list >& par_SDES__items,
    const BITSTRING& par_end__of__list);
  RTCP__SDES__chunk(const RTCP__SDES__chunk& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RTCP__SDES__chunk& operator=(const RTCP__SDES__chunk& other_value);
  boolean operator==(const RTCP__SDES__chunk& other_value) const;
  inline boolean operator!=(const RTCP__SDES__chunk& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline BITSTRING& SSRC__CSRC__id()
    {return field_SSRC__CSRC__id;}
  inline const BITSTRING& SSRC__CSRC__id() const
    {return field_SSRC__CSRC__id;}
  inline OPTIONAL< RTCP__SDES__item__list >& SDES__items()
    {return field_SDES__items;}
  inline const OPTIONAL< RTCP__SDES__item__list >& SDES__items() const
    {return field_SDES__items;}
  inline BITSTRING& end__of__list()
    {return field_end__of__list;}
  inline const BITSTRING& end__of__list() const
    {return field_end__of__list;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__SDES__chunk_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RTCP__SDES__chunk_template *list_value;
} value_list;
struct {
RTCP__SDES__chunk_template* precondition;
RTCP__SDES__chunk_template* implied_template;
} implication_;
dynmatch_struct<RTCP__SDES__chunk>* dyn_match;
};

void set_specific();
void copy_value(const RTCP__SDES__chunk& other_value);
void copy_template(const RTCP__SDES__chunk_template& other_value);

public:
RTCP__SDES__chunk_template();
RTCP__SDES__chunk_template(template_sel other_value);
RTCP__SDES__chunk_template(const RTCP__SDES__chunk& other_value);
RTCP__SDES__chunk_template(const OPTIONAL<RTCP__SDES__chunk>& other_value);
RTCP__SDES__chunk_template(RTCP__SDES__chunk_template* p_precondition, RTCP__SDES__chunk_template* p_implied_template);
RTCP__SDES__chunk_template(Dynamic_Match_Interface<RTCP__SDES__chunk>* p_dyn_match);
RTCP__SDES__chunk_template(const RTCP__SDES__chunk_template& other_value);
~RTCP__SDES__chunk_template();
RTCP__SDES__chunk_template& operator=(template_sel other_value);
RTCP__SDES__chunk_template& operator=(const RTCP__SDES__chunk& other_value);
RTCP__SDES__chunk_template& operator=(const OPTIONAL<RTCP__SDES__chunk>& other_value);
RTCP__SDES__chunk_template& operator=(const RTCP__SDES__chunk_template& other_value);
boolean match(const RTCP__SDES__chunk& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RTCP__SDES__chunk valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__SDES__chunk_template& list_item(unsigned int list_index) const;
BITSTRING_template& SSRC__CSRC__id();
const BITSTRING_template& SSRC__CSRC__id() const;
RTCP__SDES__item__list_template& SDES__items();
const RTCP__SDES__item__list_template& SDES__items() const;
BITSTRING_template& end__of__list();
const BITSTRING_template& end__of__list() const;
int size_of() const;
void log() const;
void log_match(const RTCP__SDES__chunk& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTCP__SDES__chunk__list : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
RTCP__SDES__chunk **value_elements;
} *val_ptr;

static const RTCP__SDES__chunk UNBOUND_ELEM;
private:
friend boolean operator==(null_type null_value, const RTCP__SDES__chunk__list& other_value);
static boolean compare_function(const Base_Type *left_ptr, int left_index, const Base_Type *right_ptr, int right_index);

public:
  typedef RTCP__SDES__chunk of_type;
RTCP__SDES__chunk__list();
RTCP__SDES__chunk__list(null_type other_value);
RTCP__SDES__chunk__list(const RTCP__SDES__chunk__list& other_value);
~RTCP__SDES__chunk__list();

void clean_up();
RTCP__SDES__chunk__list& operator=(null_type other_value);
RTCP__SDES__chunk__list& operator=(const RTCP__SDES__chunk__list& other_value);

boolean operator==(null_type other_value) const;
boolean operator==(const RTCP__SDES__chunk__list& other_value) const;
inline boolean operator!=(null_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const RTCP__SDES__chunk__list& other_value) const { return !(*this == other_value); }

RTCP__SDES__chunk& operator[](int index_value);
RTCP__SDES__chunk& operator[](const INTEGER& index_value);
const RTCP__SDES__chunk& operator[](int index_value) const;
const RTCP__SDES__chunk& operator[](const INTEGER& index_value) const;

RTCP__SDES__chunk__list operator<<=(int rotate_count) const;
RTCP__SDES__chunk__list operator<<=(const INTEGER& rotate_count) const;
RTCP__SDES__chunk__list operator>>=(int rotate_count) const;
RTCP__SDES__chunk__list operator>>=(const INTEGER& rotate_count) const;

RTCP__SDES__chunk__list operator+(const RTCP__SDES__chunk__list& other_value) const;

RTCP__SDES__chunk__list substr(int index, int returncount) const;

RTCP__SDES__chunk__list replace(int index, int len, const RTCP__SDES__chunk__list& repl) const;

RTCP__SDES__chunk__list replace(int index, int len, const RTCP__SDES__chunk__list_template& repl) const;

void set_size(int new_size);
inline boolean is_bound() const {return val_ptr != NULL; }
inline boolean is_present() const { return is_bound(); }
boolean is_value() const;
int size_of() const;
int n_elem() const { return size_of(); }
int lengthof() const;
void log() const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__SDES__chunk__list_template : public Restricted_Length_Template {
union {
struct {
int n_elements;
RTCP__SDES__chunk_template **value_elements;
} single_value;
struct {
unsigned int n_values;
RTCP__SDES__chunk__list_template *list_value;
} value_list;
struct {
RTCP__SDES__chunk__list_template* precondition;
RTCP__SDES__chunk__list_template* implied_template;
} implication_;
dynmatch_struct<RTCP__SDES__chunk__list>* dyn_match;
struct {
unsigned int n_items;
RTCP__SDES__chunk_template *set_items;
} value_set;
};
void copy_value(const RTCP__SDES__chunk__list& other_value);
void copy_template(const RTCP__SDES__chunk__list_template& other_value);
static boolean match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);
static boolean match_function_set(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);
static void log_function(const Base_Type *value_ptr, const Restricted_Length_Template *template_ptr, int index_value, int index_template, boolean legacy);

public:
RTCP__SDES__chunk__list_template();
RTCP__SDES__chunk__list_template(template_sel other_value);
RTCP__SDES__chunk__list_template(null_type other_value);
RTCP__SDES__chunk__list_template(const RTCP__SDES__chunk__list& other_value);
RTCP__SDES__chunk__list_template(const OPTIONAL<RTCP__SDES__chunk__list>& other_value);
RTCP__SDES__chunk__list_template(RTCP__SDES__chunk__list_template* p_precondition, RTCP__SDES__chunk__list_template* p_implied_template);
RTCP__SDES__chunk__list_template(Dynamic_Match_Interface<RTCP__SDES__chunk__list>* p_dyn_match);
RTCP__SDES__chunk__list_template(const RTCP__SDES__chunk__list_template& other_value);
~RTCP__SDES__chunk__list_template();

void clean_up();
RTCP__SDES__chunk__list_template& operator=(template_sel other_value);
RTCP__SDES__chunk__list_template& operator=(null_type other_value);
RTCP__SDES__chunk__list_template& operator=(const RTCP__SDES__chunk__list& other_value);
RTCP__SDES__chunk__list_template& operator=(const OPTIONAL<RTCP__SDES__chunk__list>& other_value);
RTCP__SDES__chunk__list_template& operator=(const RTCP__SDES__chunk__list_template& other_value);

RTCP__SDES__chunk_template& operator[](int index_value);
RTCP__SDES__chunk_template& operator[](const INTEGER& index_value);
const RTCP__SDES__chunk_template& operator[](int index_value) const;
const RTCP__SDES__chunk_template& operator[](const INTEGER& index_value) const;

void set_size(int new_size);
int n_elem() const;
int size_of(boolean is_size) const;
inline int size_of() const { return size_of(TRUE); }
inline int lengthof() const { return size_of(FALSE); }
boolean match(const RTCP__SDES__chunk__list& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
RTCP__SDES__chunk__list valueof() const;
RTCP__SDES__chunk__list substr(int index, int returncount) const;

RTCP__SDES__chunk__list replace(int index, int len, const RTCP__SDES__chunk__list_template& repl) const;

RTCP__SDES__chunk__list replace(int index, int len, const RTCP__SDES__chunk__list& repl) const;

void set_type(template_sel template_type, unsigned int list_length);
RTCP__SDES__chunk__list_template& list_item(unsigned int list_index);
RTCP__SDES__chunk_template& set_item(unsigned int set_index);
void log() const;
void log_match(const RTCP__SDES__chunk__list& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean get_istemplate_kind(const char* type) const;
};

class RTCP__IE__SDES : public Base_Type {
  INTEGER field_version;
  BITSTRING field_padding__ind;
  INTEGER field_source__count;
  INTEGER field_payload__type;
  INTEGER field_packet__length;
  OPTIONAL< RTCP__SDES__chunk__list > field_chunks;
  OPTIONAL< OCTETSTRING > field_padding;
public:
  RTCP__IE__SDES();
  RTCP__IE__SDES(const INTEGER& par_version,
    const BITSTRING& par_padding__ind,
    const INTEGER& par_source__count,
    const INTEGER& par_payload__type,
    const INTEGER& par_packet__length,
    const OPTIONAL< RTCP__SDES__chunk__list >& par_chunks,
    const OPTIONAL< OCTETSTRING >& par_padding);
  RTCP__IE__SDES(const RTCP__IE__SDES& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RTCP__IE__SDES& operator=(const RTCP__IE__SDES& other_value);
  boolean operator==(const RTCP__IE__SDES& other_value) const;
  inline boolean operator!=(const RTCP__IE__SDES& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& version()
    {return field_version;}
  inline const INTEGER& version() const
    {return field_version;}
  inline BITSTRING& padding__ind()
    {return field_padding__ind;}
  inline const BITSTRING& padding__ind() const
    {return field_padding__ind;}
  inline INTEGER& source__count()
    {return field_source__count;}
  inline const INTEGER& source__count() const
    {return field_source__count;}
  inline INTEGER& payload__type()
    {return field_payload__type;}
  inline const INTEGER& payload__type() const
    {return field_payload__type;}
  inline INTEGER& packet__length()
    {return field_packet__length;}
  inline const INTEGER& packet__length() const
    {return field_packet__length;}
  inline OPTIONAL< RTCP__SDES__chunk__list >& chunks()
    {return field_chunks;}
  inline const OPTIONAL< RTCP__SDES__chunk__list >& chunks() const
    {return field_chunks;}
  inline OPTIONAL< OCTETSTRING >& padding()
    {return field_padding;}
  inline const OPTIONAL< OCTETSTRING >& padding() const
    {return field_padding;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__IE__SDES_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RTCP__IE__SDES_template *list_value;
} value_list;
struct {
RTCP__IE__SDES_template* precondition;
RTCP__IE__SDES_template* implied_template;
} implication_;
dynmatch_struct<RTCP__IE__SDES>* dyn_match;
};

void set_specific();
void copy_value(const RTCP__IE__SDES& other_value);
void copy_template(const RTCP__IE__SDES_template& other_value);

public:
RTCP__IE__SDES_template();
RTCP__IE__SDES_template(template_sel other_value);
RTCP__IE__SDES_template(const RTCP__IE__SDES& other_value);
RTCP__IE__SDES_template(const OPTIONAL<RTCP__IE__SDES>& other_value);
RTCP__IE__SDES_template(RTCP__IE__SDES_template* p_precondition, RTCP__IE__SDES_template* p_implied_template);
RTCP__IE__SDES_template(Dynamic_Match_Interface<RTCP__IE__SDES>* p_dyn_match);
RTCP__IE__SDES_template(const RTCP__IE__SDES_template& other_value);
~RTCP__IE__SDES_template();
RTCP__IE__SDES_template& operator=(template_sel other_value);
RTCP__IE__SDES_template& operator=(const RTCP__IE__SDES& other_value);
RTCP__IE__SDES_template& operator=(const OPTIONAL<RTCP__IE__SDES>& other_value);
RTCP__IE__SDES_template& operator=(const RTCP__IE__SDES_template& other_value);
boolean match(const RTCP__IE__SDES& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RTCP__IE__SDES valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__IE__SDES_template& list_item(unsigned int list_index) const;
INTEGER_template& version();
const INTEGER_template& version() const;
BITSTRING_template& padding__ind();
const BITSTRING_template& padding__ind() const;
INTEGER_template& source__count();
const INTEGER_template& source__count() const;
INTEGER_template& payload__type();
const INTEGER_template& payload__type() const;
INTEGER_template& packet__length();
const INTEGER_template& packet__length() const;
RTCP__SDES__chunk__list_template& chunks();
const RTCP__SDES__chunk__list_template& chunks() const;
OCTETSTRING_template& padding();
const OCTETSTRING_template& padding() const;
int size_of() const;
void log() const;
void log_match(const RTCP__IE__SDES& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTCP__field__reason : public Base_Type {
  INTEGER field_reason__length;
  CHARSTRING field_reason;
public:
  RTCP__field__reason();
  RTCP__field__reason(const INTEGER& par_reason__length,
    const CHARSTRING& par_reason);
  RTCP__field__reason(const RTCP__field__reason& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RTCP__field__reason& operator=(const RTCP__field__reason& other_value);
  boolean operator==(const RTCP__field__reason& other_value) const;
  inline boolean operator!=(const RTCP__field__reason& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& reason__length()
    {return field_reason__length;}
  inline const INTEGER& reason__length() const
    {return field_reason__length;}
  inline CHARSTRING& reason()
    {return field_reason;}
  inline const CHARSTRING& reason() const
    {return field_reason;}
  inline int size_of() const
    {return 2;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__field__reason_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RTCP__field__reason_template *list_value;
} value_list;
struct {
RTCP__field__reason_template* precondition;
RTCP__field__reason_template* implied_template;
} implication_;
dynmatch_struct<RTCP__field__reason>* dyn_match;
};

void set_specific();
void copy_value(const RTCP__field__reason& other_value);
void copy_template(const RTCP__field__reason_template& other_value);

public:
RTCP__field__reason_template();
RTCP__field__reason_template(template_sel other_value);
RTCP__field__reason_template(const RTCP__field__reason& other_value);
RTCP__field__reason_template(const OPTIONAL<RTCP__field__reason>& other_value);
RTCP__field__reason_template(RTCP__field__reason_template* p_precondition, RTCP__field__reason_template* p_implied_template);
RTCP__field__reason_template(Dynamic_Match_Interface<RTCP__field__reason>* p_dyn_match);
RTCP__field__reason_template(const RTCP__field__reason_template& other_value);
~RTCP__field__reason_template();
RTCP__field__reason_template& operator=(template_sel other_value);
RTCP__field__reason_template& operator=(const RTCP__field__reason& other_value);
RTCP__field__reason_template& operator=(const OPTIONAL<RTCP__field__reason>& other_value);
RTCP__field__reason_template& operator=(const RTCP__field__reason_template& other_value);
boolean match(const RTCP__field__reason& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RTCP__field__reason valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__field__reason_template& list_item(unsigned int list_index) const;
INTEGER_template& reason__length();
const INTEGER_template& reason__length() const;
CHARSTRING_template& reason();
const CHARSTRING_template& reason() const;
int size_of() const;
void log() const;
void log_match(const RTCP__field__reason& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTCP__IE__BYE : public Base_Type {
  INTEGER field_version;
  BITSTRING field_padding__ind;
  INTEGER field_source__count;
  INTEGER field_payload__type;
  INTEGER field_packet__length;
  OPTIONAL< RTP__CSRC__list > field_SSRC__CSRC__ids;
  OPTIONAL< RTCP__field__reason > field_reason;
  OPTIONAL< OCTETSTRING > field_padding;
public:
  RTCP__IE__BYE();
  RTCP__IE__BYE(const INTEGER& par_version,
    const BITSTRING& par_padding__ind,
    const INTEGER& par_source__count,
    const INTEGER& par_payload__type,
    const INTEGER& par_packet__length,
    const OPTIONAL< RTP__CSRC__list >& par_SSRC__CSRC__ids,
    const OPTIONAL< RTCP__field__reason >& par_reason,
    const OPTIONAL< OCTETSTRING >& par_padding);
  RTCP__IE__BYE(const RTCP__IE__BYE& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RTCP__IE__BYE& operator=(const RTCP__IE__BYE& other_value);
  boolean operator==(const RTCP__IE__BYE& other_value) const;
  inline boolean operator!=(const RTCP__IE__BYE& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& version()
    {return field_version;}
  inline const INTEGER& version() const
    {return field_version;}
  inline BITSTRING& padding__ind()
    {return field_padding__ind;}
  inline const BITSTRING& padding__ind() const
    {return field_padding__ind;}
  inline INTEGER& source__count()
    {return field_source__count;}
  inline const INTEGER& source__count() const
    {return field_source__count;}
  inline INTEGER& payload__type()
    {return field_payload__type;}
  inline const INTEGER& payload__type() const
    {return field_payload__type;}
  inline INTEGER& packet__length()
    {return field_packet__length;}
  inline const INTEGER& packet__length() const
    {return field_packet__length;}
  inline OPTIONAL< RTP__CSRC__list >& SSRC__CSRC__ids()
    {return field_SSRC__CSRC__ids;}
  inline const OPTIONAL< RTP__CSRC__list >& SSRC__CSRC__ids() const
    {return field_SSRC__CSRC__ids;}
  inline OPTIONAL< RTCP__field__reason >& reason()
    {return field_reason;}
  inline const OPTIONAL< RTCP__field__reason >& reason() const
    {return field_reason;}
  inline OPTIONAL< OCTETSTRING >& padding()
    {return field_padding;}
  inline const OPTIONAL< OCTETSTRING >& padding() const
    {return field_padding;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__IE__BYE_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RTCP__IE__BYE_template *list_value;
} value_list;
struct {
RTCP__IE__BYE_template* precondition;
RTCP__IE__BYE_template* implied_template;
} implication_;
dynmatch_struct<RTCP__IE__BYE>* dyn_match;
};

void set_specific();
void copy_value(const RTCP__IE__BYE& other_value);
void copy_template(const RTCP__IE__BYE_template& other_value);

public:
RTCP__IE__BYE_template();
RTCP__IE__BYE_template(template_sel other_value);
RTCP__IE__BYE_template(const RTCP__IE__BYE& other_value);
RTCP__IE__BYE_template(const OPTIONAL<RTCP__IE__BYE>& other_value);
RTCP__IE__BYE_template(RTCP__IE__BYE_template* p_precondition, RTCP__IE__BYE_template* p_implied_template);
RTCP__IE__BYE_template(Dynamic_Match_Interface<RTCP__IE__BYE>* p_dyn_match);
RTCP__IE__BYE_template(const RTCP__IE__BYE_template& other_value);
~RTCP__IE__BYE_template();
RTCP__IE__BYE_template& operator=(template_sel other_value);
RTCP__IE__BYE_template& operator=(const RTCP__IE__BYE& other_value);
RTCP__IE__BYE_template& operator=(const OPTIONAL<RTCP__IE__BYE>& other_value);
RTCP__IE__BYE_template& operator=(const RTCP__IE__BYE_template& other_value);
boolean match(const RTCP__IE__BYE& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RTCP__IE__BYE valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__IE__BYE_template& list_item(unsigned int list_index) const;
INTEGER_template& version();
const INTEGER_template& version() const;
BITSTRING_template& padding__ind();
const BITSTRING_template& padding__ind() const;
INTEGER_template& source__count();
const INTEGER_template& source__count() const;
INTEGER_template& payload__type();
const INTEGER_template& payload__type() const;
INTEGER_template& packet__length();
const INTEGER_template& packet__length() const;
RTP__CSRC__list_template& SSRC__CSRC__ids();
const RTP__CSRC__list_template& SSRC__CSRC__ids() const;
RTCP__field__reason_template& reason();
const RTCP__field__reason_template& reason() const;
OCTETSTRING_template& padding();
const OCTETSTRING_template& padding() const;
int size_of() const;
void log() const;
void log_match(const RTCP__IE__BYE& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTCP__IE__APP : public Base_Type {
  INTEGER field_version;
  BITSTRING field_padding__ind;
  INTEGER field_sub__type;
  INTEGER field_payload__type;
  INTEGER field_packet__length;
  BITSTRING field_SSRC__CSRC__id;
  CHARSTRING field_name;
  OPTIONAL< OCTETSTRING > field_appdata;
  OPTIONAL< OCTETSTRING > field_padding;
public:
  RTCP__IE__APP();
  RTCP__IE__APP(const INTEGER& par_version,
    const BITSTRING& par_padding__ind,
    const INTEGER& par_sub__type,
    const INTEGER& par_payload__type,
    const INTEGER& par_packet__length,
    const BITSTRING& par_SSRC__CSRC__id,
    const CHARSTRING& par_name,
    const OPTIONAL< OCTETSTRING >& par_appdata,
    const OPTIONAL< OCTETSTRING >& par_padding);
  RTCP__IE__APP(const RTCP__IE__APP& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RTCP__IE__APP& operator=(const RTCP__IE__APP& other_value);
  boolean operator==(const RTCP__IE__APP& other_value) const;
  inline boolean operator!=(const RTCP__IE__APP& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& version()
    {return field_version;}
  inline const INTEGER& version() const
    {return field_version;}
  inline BITSTRING& padding__ind()
    {return field_padding__ind;}
  inline const BITSTRING& padding__ind() const
    {return field_padding__ind;}
  inline INTEGER& sub__type()
    {return field_sub__type;}
  inline const INTEGER& sub__type() const
    {return field_sub__type;}
  inline INTEGER& payload__type()
    {return field_payload__type;}
  inline const INTEGER& payload__type() const
    {return field_payload__type;}
  inline INTEGER& packet__length()
    {return field_packet__length;}
  inline const INTEGER& packet__length() const
    {return field_packet__length;}
  inline BITSTRING& SSRC__CSRC__id()
    {return field_SSRC__CSRC__id;}
  inline const BITSTRING& SSRC__CSRC__id() const
    {return field_SSRC__CSRC__id;}
  inline CHARSTRING& name()
    {return field_name;}
  inline const CHARSTRING& name() const
    {return field_name;}
  inline OPTIONAL< OCTETSTRING >& appdata()
    {return field_appdata;}
  inline const OPTIONAL< OCTETSTRING >& appdata() const
    {return field_appdata;}
  inline OPTIONAL< OCTETSTRING >& padding()
    {return field_padding;}
  inline const OPTIONAL< OCTETSTRING >& padding() const
    {return field_padding;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__IE__APP_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RTCP__IE__APP_template *list_value;
} value_list;
struct {
RTCP__IE__APP_template* precondition;
RTCP__IE__APP_template* implied_template;
} implication_;
dynmatch_struct<RTCP__IE__APP>* dyn_match;
};

void set_specific();
void copy_value(const RTCP__IE__APP& other_value);
void copy_template(const RTCP__IE__APP_template& other_value);

public:
RTCP__IE__APP_template();
RTCP__IE__APP_template(template_sel other_value);
RTCP__IE__APP_template(const RTCP__IE__APP& other_value);
RTCP__IE__APP_template(const OPTIONAL<RTCP__IE__APP>& other_value);
RTCP__IE__APP_template(RTCP__IE__APP_template* p_precondition, RTCP__IE__APP_template* p_implied_template);
RTCP__IE__APP_template(Dynamic_Match_Interface<RTCP__IE__APP>* p_dyn_match);
RTCP__IE__APP_template(const RTCP__IE__APP_template& other_value);
~RTCP__IE__APP_template();
RTCP__IE__APP_template& operator=(template_sel other_value);
RTCP__IE__APP_template& operator=(const RTCP__IE__APP& other_value);
RTCP__IE__APP_template& operator=(const OPTIONAL<RTCP__IE__APP>& other_value);
RTCP__IE__APP_template& operator=(const RTCP__IE__APP_template& other_value);
boolean match(const RTCP__IE__APP& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RTCP__IE__APP valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__IE__APP_template& list_item(unsigned int list_index) const;
INTEGER_template& version();
const INTEGER_template& version() const;
BITSTRING_template& padding__ind();
const BITSTRING_template& padding__ind() const;
INTEGER_template& sub__type();
const INTEGER_template& sub__type() const;
INTEGER_template& payload__type();
const INTEGER_template& payload__type() const;
INTEGER_template& packet__length();
const INTEGER_template& packet__length() const;
BITSTRING_template& SSRC__CSRC__id();
const BITSTRING_template& SSRC__CSRC__id() const;
CHARSTRING_template& name();
const CHARSTRING_template& name() const;
OCTETSTRING_template& appdata();
const OCTETSTRING_template& appdata() const;
OCTETSTRING_template& padding();
const OCTETSTRING_template& padding() const;
int size_of() const;
void log() const;
void log_match(const RTCP__IE__APP& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTCP__IE__RTPFB : public Base_Type {
  INTEGER field_version;
  BITSTRING field_padding__ind;
  INTEGER field_fmt;
  INTEGER field_payload__type;
  INTEGER field_packet__length;
  BITSTRING field_SSRC__packet__sender;
  BITSTRING field_SSRC__media__sender;
  OPTIONAL< RTCP__RTPFB__union > field_fci;
  OPTIONAL< OCTETSTRING > field_padding;
public:
  RTCP__IE__RTPFB();
  RTCP__IE__RTPFB(const INTEGER& par_version,
    const BITSTRING& par_padding__ind,
    const INTEGER& par_fmt,
    const INTEGER& par_payload__type,
    const INTEGER& par_packet__length,
    const BITSTRING& par_SSRC__packet__sender,
    const BITSTRING& par_SSRC__media__sender,
    const OPTIONAL< RTCP__RTPFB__union >& par_fci,
    const OPTIONAL< OCTETSTRING >& par_padding);
  RTCP__IE__RTPFB(const RTCP__IE__RTPFB& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RTCP__IE__RTPFB& operator=(const RTCP__IE__RTPFB& other_value);
  boolean operator==(const RTCP__IE__RTPFB& other_value) const;
  inline boolean operator!=(const RTCP__IE__RTPFB& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& version()
    {return field_version;}
  inline const INTEGER& version() const
    {return field_version;}
  inline BITSTRING& padding__ind()
    {return field_padding__ind;}
  inline const BITSTRING& padding__ind() const
    {return field_padding__ind;}
  inline INTEGER& fmt()
    {return field_fmt;}
  inline const INTEGER& fmt() const
    {return field_fmt;}
  inline INTEGER& payload__type()
    {return field_payload__type;}
  inline const INTEGER& payload__type() const
    {return field_payload__type;}
  inline INTEGER& packet__length()
    {return field_packet__length;}
  inline const INTEGER& packet__length() const
    {return field_packet__length;}
  inline BITSTRING& SSRC__packet__sender()
    {return field_SSRC__packet__sender;}
  inline const BITSTRING& SSRC__packet__sender() const
    {return field_SSRC__packet__sender;}
  inline BITSTRING& SSRC__media__sender()
    {return field_SSRC__media__sender;}
  inline const BITSTRING& SSRC__media__sender() const
    {return field_SSRC__media__sender;}
  inline OPTIONAL< RTCP__RTPFB__union >& fci()
    {return field_fci;}
  inline const OPTIONAL< RTCP__RTPFB__union >& fci() const
    {return field_fci;}
  inline OPTIONAL< OCTETSTRING >& padding()
    {return field_padding;}
  inline const OPTIONAL< OCTETSTRING >& padding() const
    {return field_padding;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__IE__RTPFB_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RTCP__IE__RTPFB_template *list_value;
} value_list;
struct {
RTCP__IE__RTPFB_template* precondition;
RTCP__IE__RTPFB_template* implied_template;
} implication_;
dynmatch_struct<RTCP__IE__RTPFB>* dyn_match;
};

void set_specific();
void copy_value(const RTCP__IE__RTPFB& other_value);
void copy_template(const RTCP__IE__RTPFB_template& other_value);

public:
RTCP__IE__RTPFB_template();
RTCP__IE__RTPFB_template(template_sel other_value);
RTCP__IE__RTPFB_template(const RTCP__IE__RTPFB& other_value);
RTCP__IE__RTPFB_template(const OPTIONAL<RTCP__IE__RTPFB>& other_value);
RTCP__IE__RTPFB_template(RTCP__IE__RTPFB_template* p_precondition, RTCP__IE__RTPFB_template* p_implied_template);
RTCP__IE__RTPFB_template(Dynamic_Match_Interface<RTCP__IE__RTPFB>* p_dyn_match);
RTCP__IE__RTPFB_template(const RTCP__IE__RTPFB_template& other_value);
~RTCP__IE__RTPFB_template();
RTCP__IE__RTPFB_template& operator=(template_sel other_value);
RTCP__IE__RTPFB_template& operator=(const RTCP__IE__RTPFB& other_value);
RTCP__IE__RTPFB_template& operator=(const OPTIONAL<RTCP__IE__RTPFB>& other_value);
RTCP__IE__RTPFB_template& operator=(const RTCP__IE__RTPFB_template& other_value);
boolean match(const RTCP__IE__RTPFB& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RTCP__IE__RTPFB valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__IE__RTPFB_template& list_item(unsigned int list_index) const;
INTEGER_template& version();
const INTEGER_template& version() const;
BITSTRING_template& padding__ind();
const BITSTRING_template& padding__ind() const;
INTEGER_template& fmt();
const INTEGER_template& fmt() const;
INTEGER_template& payload__type();
const INTEGER_template& payload__type() const;
INTEGER_template& packet__length();
const INTEGER_template& packet__length() const;
BITSTRING_template& SSRC__packet__sender();
const BITSTRING_template& SSRC__packet__sender() const;
BITSTRING_template& SSRC__media__sender();
const BITSTRING_template& SSRC__media__sender() const;
RTCP__RTPFB__union_template& fci();
const RTCP__RTPFB__union_template& fci() const;
OCTETSTRING_template& padding();
const OCTETSTRING_template& padding() const;
int size_of() const;
void log() const;
void log_match(const RTCP__IE__RTPFB& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTCP__RTPFB__union : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_gen__naks = 1, ALT_tmmbr = 2, ALT_tmmbn = 3, ALT_unknown__fci = 4 };
private:
union_selection_type union_selection;
union {
RTCP__generic__NAKs *field_gen__naks;
RTCP__RTPFB__TMMBRs *field_tmmbr;
RTCP__RTPFB__TMMBNs *field_tmmbn;
OCTETSTRING *field_unknown__fci;
};
void copy_value(const RTCP__RTPFB__union& other_value);

public:
RTCP__RTPFB__union();
RTCP__RTPFB__union(const RTCP__RTPFB__union& other_value);
~RTCP__RTPFB__union();
RTCP__RTPFB__union& operator=(const RTCP__RTPFB__union& other_value);
boolean operator==(const RTCP__RTPFB__union& other_value) const;
inline boolean operator!=(const RTCP__RTPFB__union& other_value) const { return !(*this == other_value); }
RTCP__generic__NAKs& gen__naks();
const RTCP__generic__NAKs& gen__naks() const;
RTCP__RTPFB__TMMBRs& tmmbr();
const RTCP__RTPFB__TMMBRs& tmmbr() const;
RTCP__RTPFB__TMMBNs& tmmbn();
const RTCP__RTPFB__TMMBNs& tmmbn() const;
OCTETSTRING& unknown__fci();
const OCTETSTRING& unknown__fci() const;
inline union_selection_type get_selection() const { return union_selection; }
boolean ischosen(union_selection_type checked_selection) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
inline boolean is_present() const { return is_bound(); }
void log() const;
void set_param(Module_Param& param);
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__RTPFB__union_template : public Base_Template {
union {
struct {
RTCP__RTPFB__union::union_selection_type union_selection;
union {
RTCP__generic__NAKs_template *field_gen__naks;
RTCP__RTPFB__TMMBRs_template *field_tmmbr;
RTCP__RTPFB__TMMBNs_template *field_tmmbn;
OCTETSTRING_template *field_unknown__fci;
};
} single_value;
struct {
unsigned int n_values;
RTCP__RTPFB__union_template *list_value;
} value_list;
struct {
RTCP__RTPFB__union_template* precondition;
RTCP__RTPFB__union_template* implied_template;
} implication_;
dynmatch_struct<RTCP__RTPFB__union>* dyn_match;
};
void copy_value(const RTCP__RTPFB__union& other_value);

void copy_template(const RTCP__RTPFB__union_template& other_value);

public:
RTCP__RTPFB__union_template();
RTCP__RTPFB__union_template(template_sel other_value);
RTCP__RTPFB__union_template(const RTCP__RTPFB__union& other_value);
RTCP__RTPFB__union_template(const OPTIONAL<RTCP__RTPFB__union>& other_value);
RTCP__RTPFB__union_template(RTCP__RTPFB__union_template* p_precondition, RTCP__RTPFB__union_template* p_implied_template);
RTCP__RTPFB__union_template(Dynamic_Match_Interface<RTCP__RTPFB__union>* p_dyn_match);
RTCP__RTPFB__union_template(const RTCP__RTPFB__union_template& other_value);
~RTCP__RTPFB__union_template();
void clean_up();
RTCP__RTPFB__union_template& operator=(template_sel other_value);
RTCP__RTPFB__union_template& operator=(const RTCP__RTPFB__union& other_value);
RTCP__RTPFB__union_template& operator=(const OPTIONAL<RTCP__RTPFB__union>& other_value);
RTCP__RTPFB__union_template& operator=(const RTCP__RTPFB__union_template& other_value);
boolean match(const RTCP__RTPFB__union& other_value, boolean legacy = FALSE) const;
boolean is_value() const;RTCP__RTPFB__union valueof() const;
RTCP__RTPFB__union_template& list_item(unsigned int list_index) const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__generic__NAKs_template& gen__naks();
const RTCP__generic__NAKs_template& gen__naks() const;
RTCP__RTPFB__TMMBRs_template& tmmbr();
const RTCP__RTPFB__TMMBRs_template& tmmbr() const;
RTCP__RTPFB__TMMBNs_template& tmmbn();
const RTCP__RTPFB__TMMBNs_template& tmmbn() const;
OCTETSTRING_template& unknown__fci();
const OCTETSTRING_template& unknown__fci() const;
boolean ischosen(RTCP__RTPFB__union::union_selection_type checked_selection) const;
void log() const;
void log_match(const RTCP__RTPFB__union& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
};

class RTCP__generic__NAKs : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
RTCP__generic__NAK **value_elements;
} *val_ptr;

static const RTCP__generic__NAK UNBOUND_ELEM;
private:
friend boolean operator==(null_type null_value, const RTCP__generic__NAKs& other_value);

public:
  typedef RTCP__generic__NAK of_type;
RTCP__generic__NAKs();
RTCP__generic__NAKs(null_type other_value);
RTCP__generic__NAKs(const RTCP__generic__NAKs& other_value);
~RTCP__generic__NAKs();

void clean_up();
RTCP__generic__NAKs& operator=(null_type other_value);
RTCP__generic__NAKs& operator=(const RTCP__generic__NAKs& other_value);

boolean operator==(null_type other_value) const;
boolean operator==(const RTCP__generic__NAKs& other_value) const;
inline boolean operator!=(null_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const RTCP__generic__NAKs& other_value) const { return !(*this == other_value); }

RTCP__generic__NAK& operator[](int index_value);
RTCP__generic__NAK& operator[](const INTEGER& index_value);
const RTCP__generic__NAK& operator[](int index_value) const;
const RTCP__generic__NAK& operator[](const INTEGER& index_value) const;

RTCP__generic__NAKs operator<<=(int rotate_count) const;
RTCP__generic__NAKs operator<<=(const INTEGER& rotate_count) const;
RTCP__generic__NAKs operator>>=(int rotate_count) const;
RTCP__generic__NAKs operator>>=(const INTEGER& rotate_count) const;

RTCP__generic__NAKs operator+(const RTCP__generic__NAKs& other_value) const;

RTCP__generic__NAKs substr(int index, int returncount) const;

RTCP__generic__NAKs replace(int index, int len, const RTCP__generic__NAKs& repl) const;

RTCP__generic__NAKs replace(int index, int len, const RTCP__generic__NAKs_template& repl) const;

void set_size(int new_size);
inline boolean is_bound() const {return val_ptr != NULL; }
inline boolean is_present() const { return is_bound(); }
boolean is_value() const;
int size_of() const;
int n_elem() const { return size_of(); }
int lengthof() const;
void log() const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__generic__NAKs_template : public Base_Record_Of_Template {
union {
struct {
int n_elements;
RTCP__generic__NAK_template **value_elements;
} single_value;
struct {
unsigned int n_values;
RTCP__generic__NAKs_template *list_value;
} value_list;
struct {
RTCP__generic__NAKs_template* precondition;
RTCP__generic__NAKs_template* implied_template;
} implication_;
dynmatch_struct<RTCP__generic__NAKs>* dyn_match;
};
void copy_value(const RTCP__generic__NAKs& other_value);
void copy_template(const RTCP__generic__NAKs_template& other_value);
static boolean match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);

public:
RTCP__generic__NAKs_template();
RTCP__generic__NAKs_template(template_sel other_value);
RTCP__generic__NAKs_template(null_type other_value);
RTCP__generic__NAKs_template(const RTCP__generic__NAKs& other_value);
RTCP__generic__NAKs_template(const OPTIONAL<RTCP__generic__NAKs>& other_value);
RTCP__generic__NAKs_template(RTCP__generic__NAKs_template* p_precondition, RTCP__generic__NAKs_template* p_implied_template);
RTCP__generic__NAKs_template(Dynamic_Match_Interface<RTCP__generic__NAKs>* p_dyn_match);
RTCP__generic__NAKs_template(const RTCP__generic__NAKs_template& other_value);
~RTCP__generic__NAKs_template();

void clean_up();
RTCP__generic__NAKs_template& operator=(template_sel other_value);
RTCP__generic__NAKs_template& operator=(null_type other_value);
RTCP__generic__NAKs_template& operator=(const RTCP__generic__NAKs& other_value);
RTCP__generic__NAKs_template& operator=(const OPTIONAL<RTCP__generic__NAKs>& other_value);
RTCP__generic__NAKs_template& operator=(const RTCP__generic__NAKs_template& other_value);

RTCP__generic__NAK_template& operator[](int index_value);
RTCP__generic__NAK_template& operator[](const INTEGER& index_value);
const RTCP__generic__NAK_template& operator[](int index_value) const;
const RTCP__generic__NAK_template& operator[](const INTEGER& index_value) const;

void set_size(int new_size);
int n_elem() const;
int size_of(boolean is_size) const;
inline int size_of() const { return size_of(TRUE); }
inline int lengthof() const { return size_of(FALSE); }
boolean match(const RTCP__generic__NAKs& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
RTCP__generic__NAKs valueof() const;
RTCP__generic__NAKs substr(int index, int returncount) const;

RTCP__generic__NAKs replace(int index, int len, const RTCP__generic__NAKs_template& repl) const;

RTCP__generic__NAKs replace(int index, int len, const RTCP__generic__NAKs& repl) const;

void set_type(template_sel template_type, unsigned int list_length);
RTCP__generic__NAKs_template& list_item(unsigned int list_index);
void log() const;
void log_match(const RTCP__generic__NAKs& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean get_istemplate_kind(const char* type) const;
};

class RTCP__generic__NAK : public Base_Type {
  INTEGER field_pid;
  BITSTRING field_blb;
public:
  RTCP__generic__NAK();
  RTCP__generic__NAK(const INTEGER& par_pid,
    const BITSTRING& par_blb);
  RTCP__generic__NAK(const RTCP__generic__NAK& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RTCP__generic__NAK& operator=(const RTCP__generic__NAK& other_value);
  boolean operator==(const RTCP__generic__NAK& other_value) const;
  inline boolean operator!=(const RTCP__generic__NAK& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& pid()
    {return field_pid;}
  inline const INTEGER& pid() const
    {return field_pid;}
  inline BITSTRING& blb()
    {return field_blb;}
  inline const BITSTRING& blb() const
    {return field_blb;}
  inline int size_of() const
    {return 2;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__generic__NAK_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RTCP__generic__NAK_template *list_value;
} value_list;
struct {
RTCP__generic__NAK_template* precondition;
RTCP__generic__NAK_template* implied_template;
} implication_;
dynmatch_struct<RTCP__generic__NAK>* dyn_match;
};

void set_specific();
void copy_value(const RTCP__generic__NAK& other_value);
void copy_template(const RTCP__generic__NAK_template& other_value);

public:
RTCP__generic__NAK_template();
RTCP__generic__NAK_template(template_sel other_value);
RTCP__generic__NAK_template(const RTCP__generic__NAK& other_value);
RTCP__generic__NAK_template(const OPTIONAL<RTCP__generic__NAK>& other_value);
RTCP__generic__NAK_template(RTCP__generic__NAK_template* p_precondition, RTCP__generic__NAK_template* p_implied_template);
RTCP__generic__NAK_template(Dynamic_Match_Interface<RTCP__generic__NAK>* p_dyn_match);
RTCP__generic__NAK_template(const RTCP__generic__NAK_template& other_value);
~RTCP__generic__NAK_template();
RTCP__generic__NAK_template& operator=(template_sel other_value);
RTCP__generic__NAK_template& operator=(const RTCP__generic__NAK& other_value);
RTCP__generic__NAK_template& operator=(const OPTIONAL<RTCP__generic__NAK>& other_value);
RTCP__generic__NAK_template& operator=(const RTCP__generic__NAK_template& other_value);
boolean match(const RTCP__generic__NAK& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RTCP__generic__NAK valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__generic__NAK_template& list_item(unsigned int list_index) const;
INTEGER_template& pid();
const INTEGER_template& pid() const;
BITSTRING_template& blb();
const BITSTRING_template& blb() const;
int size_of() const;
void log() const;
void log_match(const RTCP__generic__NAK& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTCP__RTPFB__TMMBRs : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
RTCP__RTPFB__TMMB **value_elements;
} *val_ptr;

static const RTCP__RTPFB__TMMB UNBOUND_ELEM;
private:
friend boolean operator==(null_type null_value, const RTCP__RTPFB__TMMBRs& other_value);

public:
  typedef RTCP__RTPFB__TMMB of_type;
RTCP__RTPFB__TMMBRs();
RTCP__RTPFB__TMMBRs(null_type other_value);
RTCP__RTPFB__TMMBRs(const RTCP__RTPFB__TMMBRs& other_value);
~RTCP__RTPFB__TMMBRs();

void clean_up();
RTCP__RTPFB__TMMBRs& operator=(null_type other_value);
RTCP__RTPFB__TMMBRs& operator=(const RTCP__RTPFB__TMMBRs& other_value);

boolean operator==(null_type other_value) const;
boolean operator==(const RTCP__RTPFB__TMMBRs& other_value) const;
inline boolean operator!=(null_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const RTCP__RTPFB__TMMBRs& other_value) const { return !(*this == other_value); }

RTCP__RTPFB__TMMB& operator[](int index_value);
RTCP__RTPFB__TMMB& operator[](const INTEGER& index_value);
const RTCP__RTPFB__TMMB& operator[](int index_value) const;
const RTCP__RTPFB__TMMB& operator[](const INTEGER& index_value) const;

RTCP__RTPFB__TMMBRs operator<<=(int rotate_count) const;
RTCP__RTPFB__TMMBRs operator<<=(const INTEGER& rotate_count) const;
RTCP__RTPFB__TMMBRs operator>>=(int rotate_count) const;
RTCP__RTPFB__TMMBRs operator>>=(const INTEGER& rotate_count) const;

RTCP__RTPFB__TMMBRs operator+(const RTCP__RTPFB__TMMBRs& other_value) const;

RTCP__RTPFB__TMMBRs substr(int index, int returncount) const;

RTCP__RTPFB__TMMBRs replace(int index, int len, const RTCP__RTPFB__TMMBRs& repl) const;

RTCP__RTPFB__TMMBRs replace(int index, int len, const RTCP__RTPFB__TMMBRs_template& repl) const;

void set_size(int new_size);
inline boolean is_bound() const {return val_ptr != NULL; }
inline boolean is_present() const { return is_bound(); }
boolean is_value() const;
int size_of() const;
int n_elem() const { return size_of(); }
int lengthof() const;
void log() const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__RTPFB__TMMBRs_template : public Base_Record_Of_Template {
union {
struct {
int n_elements;
RTCP__RTPFB__TMMB_template **value_elements;
} single_value;
struct {
unsigned int n_values;
RTCP__RTPFB__TMMBRs_template *list_value;
} value_list;
struct {
RTCP__RTPFB__TMMBRs_template* precondition;
RTCP__RTPFB__TMMBRs_template* implied_template;
} implication_;
dynmatch_struct<RTCP__RTPFB__TMMBRs>* dyn_match;
};
void copy_value(const RTCP__RTPFB__TMMBRs& other_value);
void copy_template(const RTCP__RTPFB__TMMBRs_template& other_value);
static boolean match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);

public:
RTCP__RTPFB__TMMBRs_template();
RTCP__RTPFB__TMMBRs_template(template_sel other_value);
RTCP__RTPFB__TMMBRs_template(null_type other_value);
RTCP__RTPFB__TMMBRs_template(const RTCP__RTPFB__TMMBRs& other_value);
RTCP__RTPFB__TMMBRs_template(const OPTIONAL<RTCP__RTPFB__TMMBRs>& other_value);
RTCP__RTPFB__TMMBRs_template(RTCP__RTPFB__TMMBRs_template* p_precondition, RTCP__RTPFB__TMMBRs_template* p_implied_template);
RTCP__RTPFB__TMMBRs_template(Dynamic_Match_Interface<RTCP__RTPFB__TMMBRs>* p_dyn_match);
RTCP__RTPFB__TMMBRs_template(const RTCP__RTPFB__TMMBRs_template& other_value);
~RTCP__RTPFB__TMMBRs_template();

void clean_up();
RTCP__RTPFB__TMMBRs_template& operator=(template_sel other_value);
RTCP__RTPFB__TMMBRs_template& operator=(null_type other_value);
RTCP__RTPFB__TMMBRs_template& operator=(const RTCP__RTPFB__TMMBRs& other_value);
RTCP__RTPFB__TMMBRs_template& operator=(const OPTIONAL<RTCP__RTPFB__TMMBRs>& other_value);
RTCP__RTPFB__TMMBRs_template& operator=(const RTCP__RTPFB__TMMBRs_template& other_value);

RTCP__RTPFB__TMMB_template& operator[](int index_value);
RTCP__RTPFB__TMMB_template& operator[](const INTEGER& index_value);
const RTCP__RTPFB__TMMB_template& operator[](int index_value) const;
const RTCP__RTPFB__TMMB_template& operator[](const INTEGER& index_value) const;

void set_size(int new_size);
int n_elem() const;
int size_of(boolean is_size) const;
inline int size_of() const { return size_of(TRUE); }
inline int lengthof() const { return size_of(FALSE); }
boolean match(const RTCP__RTPFB__TMMBRs& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
RTCP__RTPFB__TMMBRs valueof() const;
RTCP__RTPFB__TMMBRs substr(int index, int returncount) const;

RTCP__RTPFB__TMMBRs replace(int index, int len, const RTCP__RTPFB__TMMBRs_template& repl) const;

RTCP__RTPFB__TMMBRs replace(int index, int len, const RTCP__RTPFB__TMMBRs& repl) const;

void set_type(template_sel template_type, unsigned int list_length);
RTCP__RTPFB__TMMBRs_template& list_item(unsigned int list_index);
void log() const;
void log_match(const RTCP__RTPFB__TMMBRs& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean get_istemplate_kind(const char* type) const;
};

class RTCP__RTPFB__TMMB : public Base_Type {
  BITSTRING field_SSRC;
  INTEGER field_exp;
  INTEGER field_mantissa;
  INTEGER field_measured__overhead;
public:
  RTCP__RTPFB__TMMB();
  RTCP__RTPFB__TMMB(const BITSTRING& par_SSRC,
    const INTEGER& par_exp,
    const INTEGER& par_mantissa,
    const INTEGER& par_measured__overhead);
  RTCP__RTPFB__TMMB(const RTCP__RTPFB__TMMB& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RTCP__RTPFB__TMMB& operator=(const RTCP__RTPFB__TMMB& other_value);
  boolean operator==(const RTCP__RTPFB__TMMB& other_value) const;
  inline boolean operator!=(const RTCP__RTPFB__TMMB& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline BITSTRING& SSRC()
    {return field_SSRC;}
  inline const BITSTRING& SSRC() const
    {return field_SSRC;}
  inline INTEGER& exp()
    {return field_exp;}
  inline const INTEGER& exp() const
    {return field_exp;}
  inline INTEGER& mantissa()
    {return field_mantissa;}
  inline const INTEGER& mantissa() const
    {return field_mantissa;}
  inline INTEGER& measured__overhead()
    {return field_measured__overhead;}
  inline const INTEGER& measured__overhead() const
    {return field_measured__overhead;}
  inline int size_of() const
    {return 4;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__RTPFB__TMMB_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RTCP__RTPFB__TMMB_template *list_value;
} value_list;
struct {
RTCP__RTPFB__TMMB_template* precondition;
RTCP__RTPFB__TMMB_template* implied_template;
} implication_;
dynmatch_struct<RTCP__RTPFB__TMMB>* dyn_match;
};

void set_specific();
void copy_value(const RTCP__RTPFB__TMMB& other_value);
void copy_template(const RTCP__RTPFB__TMMB_template& other_value);

public:
RTCP__RTPFB__TMMB_template();
RTCP__RTPFB__TMMB_template(template_sel other_value);
RTCP__RTPFB__TMMB_template(const RTCP__RTPFB__TMMB& other_value);
RTCP__RTPFB__TMMB_template(const OPTIONAL<RTCP__RTPFB__TMMB>& other_value);
RTCP__RTPFB__TMMB_template(RTCP__RTPFB__TMMB_template* p_precondition, RTCP__RTPFB__TMMB_template* p_implied_template);
RTCP__RTPFB__TMMB_template(Dynamic_Match_Interface<RTCP__RTPFB__TMMB>* p_dyn_match);
RTCP__RTPFB__TMMB_template(const RTCP__RTPFB__TMMB_template& other_value);
~RTCP__RTPFB__TMMB_template();
RTCP__RTPFB__TMMB_template& operator=(template_sel other_value);
RTCP__RTPFB__TMMB_template& operator=(const RTCP__RTPFB__TMMB& other_value);
RTCP__RTPFB__TMMB_template& operator=(const OPTIONAL<RTCP__RTPFB__TMMB>& other_value);
RTCP__RTPFB__TMMB_template& operator=(const RTCP__RTPFB__TMMB_template& other_value);
boolean match(const RTCP__RTPFB__TMMB& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RTCP__RTPFB__TMMB valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__RTPFB__TMMB_template& list_item(unsigned int list_index) const;
BITSTRING_template& SSRC();
const BITSTRING_template& SSRC() const;
INTEGER_template& exp();
const INTEGER_template& exp() const;
INTEGER_template& mantissa();
const INTEGER_template& mantissa() const;
INTEGER_template& measured__overhead();
const INTEGER_template& measured__overhead() const;
int size_of() const;
void log() const;
void log_match(const RTCP__RTPFB__TMMB& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTCP__RTPFB__TMMBNs : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
RTCP__RTPFB__TMMB **value_elements;
} *val_ptr;

static const RTCP__RTPFB__TMMB UNBOUND_ELEM;
private:
friend boolean operator==(null_type null_value, const RTCP__RTPFB__TMMBNs& other_value);

public:
  typedef RTCP__RTPFB__TMMB of_type;
RTCP__RTPFB__TMMBNs();
RTCP__RTPFB__TMMBNs(null_type other_value);
RTCP__RTPFB__TMMBNs(const RTCP__RTPFB__TMMBNs& other_value);
~RTCP__RTPFB__TMMBNs();

void clean_up();
RTCP__RTPFB__TMMBNs& operator=(null_type other_value);
RTCP__RTPFB__TMMBNs& operator=(const RTCP__RTPFB__TMMBNs& other_value);

boolean operator==(null_type other_value) const;
boolean operator==(const RTCP__RTPFB__TMMBNs& other_value) const;
inline boolean operator!=(null_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const RTCP__RTPFB__TMMBNs& other_value) const { return !(*this == other_value); }

RTCP__RTPFB__TMMB& operator[](int index_value);
RTCP__RTPFB__TMMB& operator[](const INTEGER& index_value);
const RTCP__RTPFB__TMMB& operator[](int index_value) const;
const RTCP__RTPFB__TMMB& operator[](const INTEGER& index_value) const;

RTCP__RTPFB__TMMBNs operator<<=(int rotate_count) const;
RTCP__RTPFB__TMMBNs operator<<=(const INTEGER& rotate_count) const;
RTCP__RTPFB__TMMBNs operator>>=(int rotate_count) const;
RTCP__RTPFB__TMMBNs operator>>=(const INTEGER& rotate_count) const;

RTCP__RTPFB__TMMBNs operator+(const RTCP__RTPFB__TMMBNs& other_value) const;

RTCP__RTPFB__TMMBNs substr(int index, int returncount) const;

RTCP__RTPFB__TMMBNs replace(int index, int len, const RTCP__RTPFB__TMMBNs& repl) const;

RTCP__RTPFB__TMMBNs replace(int index, int len, const RTCP__RTPFB__TMMBNs_template& repl) const;

void set_size(int new_size);
inline boolean is_bound() const {return val_ptr != NULL; }
inline boolean is_present() const { return is_bound(); }
boolean is_value() const;
int size_of() const;
int n_elem() const { return size_of(); }
int lengthof() const;
void log() const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__RTPFB__TMMBNs_template : public Base_Record_Of_Template {
union {
struct {
int n_elements;
RTCP__RTPFB__TMMB_template **value_elements;
} single_value;
struct {
unsigned int n_values;
RTCP__RTPFB__TMMBNs_template *list_value;
} value_list;
struct {
RTCP__RTPFB__TMMBNs_template* precondition;
RTCP__RTPFB__TMMBNs_template* implied_template;
} implication_;
dynmatch_struct<RTCP__RTPFB__TMMBNs>* dyn_match;
};
void copy_value(const RTCP__RTPFB__TMMBNs& other_value);
void copy_template(const RTCP__RTPFB__TMMBNs_template& other_value);
static boolean match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);

public:
RTCP__RTPFB__TMMBNs_template();
RTCP__RTPFB__TMMBNs_template(template_sel other_value);
RTCP__RTPFB__TMMBNs_template(null_type other_value);
RTCP__RTPFB__TMMBNs_template(const RTCP__RTPFB__TMMBNs& other_value);
RTCP__RTPFB__TMMBNs_template(const OPTIONAL<RTCP__RTPFB__TMMBNs>& other_value);
RTCP__RTPFB__TMMBNs_template(RTCP__RTPFB__TMMBNs_template* p_precondition, RTCP__RTPFB__TMMBNs_template* p_implied_template);
RTCP__RTPFB__TMMBNs_template(Dynamic_Match_Interface<RTCP__RTPFB__TMMBNs>* p_dyn_match);
RTCP__RTPFB__TMMBNs_template(const RTCP__RTPFB__TMMBNs_template& other_value);
~RTCP__RTPFB__TMMBNs_template();

void clean_up();
RTCP__RTPFB__TMMBNs_template& operator=(template_sel other_value);
RTCP__RTPFB__TMMBNs_template& operator=(null_type other_value);
RTCP__RTPFB__TMMBNs_template& operator=(const RTCP__RTPFB__TMMBNs& other_value);
RTCP__RTPFB__TMMBNs_template& operator=(const OPTIONAL<RTCP__RTPFB__TMMBNs>& other_value);
RTCP__RTPFB__TMMBNs_template& operator=(const RTCP__RTPFB__TMMBNs_template& other_value);

RTCP__RTPFB__TMMB_template& operator[](int index_value);
RTCP__RTPFB__TMMB_template& operator[](const INTEGER& index_value);
const RTCP__RTPFB__TMMB_template& operator[](int index_value) const;
const RTCP__RTPFB__TMMB_template& operator[](const INTEGER& index_value) const;

void set_size(int new_size);
int n_elem() const;
int size_of(boolean is_size) const;
inline int size_of() const { return size_of(TRUE); }
inline int lengthof() const { return size_of(FALSE); }
boolean match(const RTCP__RTPFB__TMMBNs& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
RTCP__RTPFB__TMMBNs valueof() const;
RTCP__RTPFB__TMMBNs substr(int index, int returncount) const;

RTCP__RTPFB__TMMBNs replace(int index, int len, const RTCP__RTPFB__TMMBNs_template& repl) const;

RTCP__RTPFB__TMMBNs replace(int index, int len, const RTCP__RTPFB__TMMBNs& repl) const;

void set_type(template_sel template_type, unsigned int list_length);
RTCP__RTPFB__TMMBNs_template& list_item(unsigned int list_index);
void log() const;
void log_match(const RTCP__RTPFB__TMMBNs& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean get_istemplate_kind(const char* type) const;
};

class RTCP__PSFB__union : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_pli = 1, ALT_sli = 2, ALT_rpsi = 3, ALT_fir = 4, ALT_tstr = 5, ALT_tstn = 6, ALT_vbcm = 7, ALT_afb = 8, ALT_unknown__fci = 9 };
private:
union_selection_type union_selection;
union {
RTCP__PSFB__PLI *field_pli;
RTCP__PSFB__SLIs *field_sli;
RTCP__PSFB__RPSI *field_rpsi;
RTCP__PSFB__FIRs *field_fir;
RTCP__PSFB__TSTRs *field_tstr;
RTCP__PSFB__TSTNs *field_tstn;
RTCP__PSFB__VBCMs *field_vbcm;
OCTETSTRING *field_afb;
OCTETSTRING *field_unknown__fci;
};
void copy_value(const RTCP__PSFB__union& other_value);

public:
RTCP__PSFB__union();
RTCP__PSFB__union(const RTCP__PSFB__union& other_value);
~RTCP__PSFB__union();
RTCP__PSFB__union& operator=(const RTCP__PSFB__union& other_value);
boolean operator==(const RTCP__PSFB__union& other_value) const;
inline boolean operator!=(const RTCP__PSFB__union& other_value) const { return !(*this == other_value); }
RTCP__PSFB__PLI& pli();
const RTCP__PSFB__PLI& pli() const;
RTCP__PSFB__SLIs& sli();
const RTCP__PSFB__SLIs& sli() const;
RTCP__PSFB__RPSI& rpsi();
const RTCP__PSFB__RPSI& rpsi() const;
RTCP__PSFB__FIRs& fir();
const RTCP__PSFB__FIRs& fir() const;
RTCP__PSFB__TSTRs& tstr();
const RTCP__PSFB__TSTRs& tstr() const;
RTCP__PSFB__TSTNs& tstn();
const RTCP__PSFB__TSTNs& tstn() const;
RTCP__PSFB__VBCMs& vbcm();
const RTCP__PSFB__VBCMs& vbcm() const;
OCTETSTRING& afb();
const OCTETSTRING& afb() const;
OCTETSTRING& unknown__fci();
const OCTETSTRING& unknown__fci() const;
inline union_selection_type get_selection() const { return union_selection; }
boolean ischosen(union_selection_type checked_selection) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
inline boolean is_present() const { return is_bound(); }
void log() const;
void set_param(Module_Param& param);
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__PSFB__union_template : public Base_Template {
union {
struct {
RTCP__PSFB__union::union_selection_type union_selection;
union {
RTCP__PSFB__PLI_template *field_pli;
RTCP__PSFB__SLIs_template *field_sli;
RTCP__PSFB__RPSI_template *field_rpsi;
RTCP__PSFB__FIRs_template *field_fir;
RTCP__PSFB__TSTRs_template *field_tstr;
RTCP__PSFB__TSTNs_template *field_tstn;
RTCP__PSFB__VBCMs_template *field_vbcm;
OCTETSTRING_template *field_afb;
OCTETSTRING_template *field_unknown__fci;
};
} single_value;
struct {
unsigned int n_values;
RTCP__PSFB__union_template *list_value;
} value_list;
struct {
RTCP__PSFB__union_template* precondition;
RTCP__PSFB__union_template* implied_template;
} implication_;
dynmatch_struct<RTCP__PSFB__union>* dyn_match;
};
void copy_value(const RTCP__PSFB__union& other_value);

void copy_template(const RTCP__PSFB__union_template& other_value);

public:
RTCP__PSFB__union_template();
RTCP__PSFB__union_template(template_sel other_value);
RTCP__PSFB__union_template(const RTCP__PSFB__union& other_value);
RTCP__PSFB__union_template(const OPTIONAL<RTCP__PSFB__union>& other_value);
RTCP__PSFB__union_template(RTCP__PSFB__union_template* p_precondition, RTCP__PSFB__union_template* p_implied_template);
RTCP__PSFB__union_template(Dynamic_Match_Interface<RTCP__PSFB__union>* p_dyn_match);
RTCP__PSFB__union_template(const RTCP__PSFB__union_template& other_value);
~RTCP__PSFB__union_template();
void clean_up();
RTCP__PSFB__union_template& operator=(template_sel other_value);
RTCP__PSFB__union_template& operator=(const RTCP__PSFB__union& other_value);
RTCP__PSFB__union_template& operator=(const OPTIONAL<RTCP__PSFB__union>& other_value);
RTCP__PSFB__union_template& operator=(const RTCP__PSFB__union_template& other_value);
boolean match(const RTCP__PSFB__union& other_value, boolean legacy = FALSE) const;
boolean is_value() const;RTCP__PSFB__union valueof() const;
RTCP__PSFB__union_template& list_item(unsigned int list_index) const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__PSFB__PLI_template& pli();
const RTCP__PSFB__PLI_template& pli() const;
RTCP__PSFB__SLIs_template& sli();
const RTCP__PSFB__SLIs_template& sli() const;
RTCP__PSFB__RPSI_template& rpsi();
const RTCP__PSFB__RPSI_template& rpsi() const;
RTCP__PSFB__FIRs_template& fir();
const RTCP__PSFB__FIRs_template& fir() const;
RTCP__PSFB__TSTRs_template& tstr();
const RTCP__PSFB__TSTRs_template& tstr() const;
RTCP__PSFB__TSTNs_template& tstn();
const RTCP__PSFB__TSTNs_template& tstn() const;
RTCP__PSFB__VBCMs_template& vbcm();
const RTCP__PSFB__VBCMs_template& vbcm() const;
OCTETSTRING_template& afb();
const OCTETSTRING_template& afb() const;
OCTETSTRING_template& unknown__fci();
const OCTETSTRING_template& unknown__fci() const;
boolean ischosen(RTCP__PSFB__union::union_selection_type checked_selection) const;
void log() const;
void log_match(const RTCP__PSFB__union& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
};

class RTCP__PSFB__PLI : public Base_Type {
boolean bound_flag;
public:
RTCP__PSFB__PLI();
RTCP__PSFB__PLI(null_type other_value);
RTCP__PSFB__PLI(const RTCP__PSFB__PLI& other_value);
RTCP__PSFB__PLI& operator=(null_type other_value);
RTCP__PSFB__PLI& operator=(const RTCP__PSFB__PLI& other_value);
boolean operator==(null_type other_value) const;
boolean operator==(const RTCP__PSFB__PLI& other_value) const;
inline boolean operator!=(null_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const RTCP__PSFB__PLI& other_value) const { return !(*this == other_value); }
inline boolean is_bound() const { return bound_flag; }
inline boolean is_present() const { return is_bound(); }
inline boolean is_value() const { return bound_flag; }
inline void clean_up() { bound_flag = FALSE; }
inline void must_bound(const char *err_msg) const { if (!bound_flag) TTCN_error("%s", err_msg); }
void log() const;
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__PSFB__PLI_template : public Base_Template {
union {
struct {
unsigned int n_values;
RTCP__PSFB__PLI_template *list_value;
} value_list;
struct {
RTCP__PSFB__PLI_template* precondition;
RTCP__PSFB__PLI_template* implied_template;
} implication_;
dynmatch_struct<RTCP__PSFB__PLI>* dyn_match;
};
void copy_template(const RTCP__PSFB__PLI_template& other_value);

public:
RTCP__PSFB__PLI_template();
RTCP__PSFB__PLI_template(template_sel other_value);
RTCP__PSFB__PLI_template(null_type other_value);
RTCP__PSFB__PLI_template(const RTCP__PSFB__PLI& other_value);
RTCP__PSFB__PLI_template(const OPTIONAL<RTCP__PSFB__PLI>& other_value);
RTCP__PSFB__PLI_template(RTCP__PSFB__PLI_template* p_precondition, RTCP__PSFB__PLI_template* p_implied_template);
RTCP__PSFB__PLI_template(Dynamic_Match_Interface<RTCP__PSFB__PLI>* p_dyn_match);
RTCP__PSFB__PLI_template(const RTCP__PSFB__PLI_template& other_value);
~RTCP__PSFB__PLI_template();
void clean_up();
RTCP__PSFB__PLI_template& operator=(template_sel other_value);
RTCP__PSFB__PLI_template& operator=(null_type other_value);
RTCP__PSFB__PLI_template& operator=(const RTCP__PSFB__PLI& other_value);
RTCP__PSFB__PLI_template& operator=(const OPTIONAL<RTCP__PSFB__PLI>& other_value);
RTCP__PSFB__PLI_template& operator=(const RTCP__PSFB__PLI_template& other_value);
boolean match(null_type other_value, boolean legacy = FALSE) const;
boolean match(const RTCP__PSFB__PLI& other_value, boolean legacy = FALSE) const;
RTCP__PSFB__PLI valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__PSFB__PLI_template& list_item(unsigned int list_index) const;
void log() const;
void log_match(const RTCP__PSFB__PLI& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTCP__PSFB__SLIs : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
RTCP__PSFB__SLI **value_elements;
} *val_ptr;

static const RTCP__PSFB__SLI UNBOUND_ELEM;
private:
friend boolean operator==(null_type null_value, const RTCP__PSFB__SLIs& other_value);

public:
  typedef RTCP__PSFB__SLI of_type;
RTCP__PSFB__SLIs();
RTCP__PSFB__SLIs(null_type other_value);
RTCP__PSFB__SLIs(const RTCP__PSFB__SLIs& other_value);
~RTCP__PSFB__SLIs();

void clean_up();
RTCP__PSFB__SLIs& operator=(null_type other_value);
RTCP__PSFB__SLIs& operator=(const RTCP__PSFB__SLIs& other_value);

boolean operator==(null_type other_value) const;
boolean operator==(const RTCP__PSFB__SLIs& other_value) const;
inline boolean operator!=(null_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const RTCP__PSFB__SLIs& other_value) const { return !(*this == other_value); }

RTCP__PSFB__SLI& operator[](int index_value);
RTCP__PSFB__SLI& operator[](const INTEGER& index_value);
const RTCP__PSFB__SLI& operator[](int index_value) const;
const RTCP__PSFB__SLI& operator[](const INTEGER& index_value) const;

RTCP__PSFB__SLIs operator<<=(int rotate_count) const;
RTCP__PSFB__SLIs operator<<=(const INTEGER& rotate_count) const;
RTCP__PSFB__SLIs operator>>=(int rotate_count) const;
RTCP__PSFB__SLIs operator>>=(const INTEGER& rotate_count) const;

RTCP__PSFB__SLIs operator+(const RTCP__PSFB__SLIs& other_value) const;

RTCP__PSFB__SLIs substr(int index, int returncount) const;

RTCP__PSFB__SLIs replace(int index, int len, const RTCP__PSFB__SLIs& repl) const;

RTCP__PSFB__SLIs replace(int index, int len, const RTCP__PSFB__SLIs_template& repl) const;

void set_size(int new_size);
inline boolean is_bound() const {return val_ptr != NULL; }
inline boolean is_present() const { return is_bound(); }
boolean is_value() const;
int size_of() const;
int n_elem() const { return size_of(); }
int lengthof() const;
void log() const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__PSFB__SLIs_template : public Base_Record_Of_Template {
union {
struct {
int n_elements;
RTCP__PSFB__SLI_template **value_elements;
} single_value;
struct {
unsigned int n_values;
RTCP__PSFB__SLIs_template *list_value;
} value_list;
struct {
RTCP__PSFB__SLIs_template* precondition;
RTCP__PSFB__SLIs_template* implied_template;
} implication_;
dynmatch_struct<RTCP__PSFB__SLIs>* dyn_match;
};
void copy_value(const RTCP__PSFB__SLIs& other_value);
void copy_template(const RTCP__PSFB__SLIs_template& other_value);
static boolean match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);

public:
RTCP__PSFB__SLIs_template();
RTCP__PSFB__SLIs_template(template_sel other_value);
RTCP__PSFB__SLIs_template(null_type other_value);
RTCP__PSFB__SLIs_template(const RTCP__PSFB__SLIs& other_value);
RTCP__PSFB__SLIs_template(const OPTIONAL<RTCP__PSFB__SLIs>& other_value);
RTCP__PSFB__SLIs_template(RTCP__PSFB__SLIs_template* p_precondition, RTCP__PSFB__SLIs_template* p_implied_template);
RTCP__PSFB__SLIs_template(Dynamic_Match_Interface<RTCP__PSFB__SLIs>* p_dyn_match);
RTCP__PSFB__SLIs_template(const RTCP__PSFB__SLIs_template& other_value);
~RTCP__PSFB__SLIs_template();

void clean_up();
RTCP__PSFB__SLIs_template& operator=(template_sel other_value);
RTCP__PSFB__SLIs_template& operator=(null_type other_value);
RTCP__PSFB__SLIs_template& operator=(const RTCP__PSFB__SLIs& other_value);
RTCP__PSFB__SLIs_template& operator=(const OPTIONAL<RTCP__PSFB__SLIs>& other_value);
RTCP__PSFB__SLIs_template& operator=(const RTCP__PSFB__SLIs_template& other_value);

RTCP__PSFB__SLI_template& operator[](int index_value);
RTCP__PSFB__SLI_template& operator[](const INTEGER& index_value);
const RTCP__PSFB__SLI_template& operator[](int index_value) const;
const RTCP__PSFB__SLI_template& operator[](const INTEGER& index_value) const;

void set_size(int new_size);
int n_elem() const;
int size_of(boolean is_size) const;
inline int size_of() const { return size_of(TRUE); }
inline int lengthof() const { return size_of(FALSE); }
boolean match(const RTCP__PSFB__SLIs& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
RTCP__PSFB__SLIs valueof() const;
RTCP__PSFB__SLIs substr(int index, int returncount) const;

RTCP__PSFB__SLIs replace(int index, int len, const RTCP__PSFB__SLIs_template& repl) const;

RTCP__PSFB__SLIs replace(int index, int len, const RTCP__PSFB__SLIs& repl) const;

void set_type(template_sel template_type, unsigned int list_length);
RTCP__PSFB__SLIs_template& list_item(unsigned int list_index);
void log() const;
void log_match(const RTCP__PSFB__SLIs& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean get_istemplate_kind(const char* type) const;
};

class RTCP__PSFB__SLI : public Base_Type {
  INTEGER field_first;
  INTEGER field_number;
  INTEGER field_picture__id;
public:
  RTCP__PSFB__SLI();
  RTCP__PSFB__SLI(const INTEGER& par_first,
    const INTEGER& par_number,
    const INTEGER& par_picture__id);
  RTCP__PSFB__SLI(const RTCP__PSFB__SLI& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RTCP__PSFB__SLI& operator=(const RTCP__PSFB__SLI& other_value);
  boolean operator==(const RTCP__PSFB__SLI& other_value) const;
  inline boolean operator!=(const RTCP__PSFB__SLI& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& first()
    {return field_first;}
  inline const INTEGER& first() const
    {return field_first;}
  inline INTEGER& number()
    {return field_number;}
  inline const INTEGER& number() const
    {return field_number;}
  inline INTEGER& picture__id()
    {return field_picture__id;}
  inline const INTEGER& picture__id() const
    {return field_picture__id;}
  inline int size_of() const
    {return 3;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__PSFB__SLI_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RTCP__PSFB__SLI_template *list_value;
} value_list;
struct {
RTCP__PSFB__SLI_template* precondition;
RTCP__PSFB__SLI_template* implied_template;
} implication_;
dynmatch_struct<RTCP__PSFB__SLI>* dyn_match;
};

void set_specific();
void copy_value(const RTCP__PSFB__SLI& other_value);
void copy_template(const RTCP__PSFB__SLI_template& other_value);

public:
RTCP__PSFB__SLI_template();
RTCP__PSFB__SLI_template(template_sel other_value);
RTCP__PSFB__SLI_template(const RTCP__PSFB__SLI& other_value);
RTCP__PSFB__SLI_template(const OPTIONAL<RTCP__PSFB__SLI>& other_value);
RTCP__PSFB__SLI_template(RTCP__PSFB__SLI_template* p_precondition, RTCP__PSFB__SLI_template* p_implied_template);
RTCP__PSFB__SLI_template(Dynamic_Match_Interface<RTCP__PSFB__SLI>* p_dyn_match);
RTCP__PSFB__SLI_template(const RTCP__PSFB__SLI_template& other_value);
~RTCP__PSFB__SLI_template();
RTCP__PSFB__SLI_template& operator=(template_sel other_value);
RTCP__PSFB__SLI_template& operator=(const RTCP__PSFB__SLI& other_value);
RTCP__PSFB__SLI_template& operator=(const OPTIONAL<RTCP__PSFB__SLI>& other_value);
RTCP__PSFB__SLI_template& operator=(const RTCP__PSFB__SLI_template& other_value);
boolean match(const RTCP__PSFB__SLI& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RTCP__PSFB__SLI valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__PSFB__SLI_template& list_item(unsigned int list_index) const;
INTEGER_template& first();
const INTEGER_template& first() const;
INTEGER_template& number();
const INTEGER_template& number() const;
INTEGER_template& picture__id();
const INTEGER_template& picture__id() const;
int size_of() const;
void log() const;
void log_match(const RTCP__PSFB__SLI& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTCP__PSFB__RPSI : public Base_Type {
  INTEGER field_pb;
  INTEGER field_payload__type;
  OCTETSTRING field_rpsi__string;
public:
  RTCP__PSFB__RPSI();
  RTCP__PSFB__RPSI(const INTEGER& par_pb,
    const INTEGER& par_payload__type,
    const OCTETSTRING& par_rpsi__string);
  RTCP__PSFB__RPSI(const RTCP__PSFB__RPSI& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RTCP__PSFB__RPSI& operator=(const RTCP__PSFB__RPSI& other_value);
  boolean operator==(const RTCP__PSFB__RPSI& other_value) const;
  inline boolean operator!=(const RTCP__PSFB__RPSI& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& pb()
    {return field_pb;}
  inline const INTEGER& pb() const
    {return field_pb;}
  inline INTEGER& payload__type()
    {return field_payload__type;}
  inline const INTEGER& payload__type() const
    {return field_payload__type;}
  inline OCTETSTRING& rpsi__string()
    {return field_rpsi__string;}
  inline const OCTETSTRING& rpsi__string() const
    {return field_rpsi__string;}
  inline int size_of() const
    {return 3;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__PSFB__RPSI_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RTCP__PSFB__RPSI_template *list_value;
} value_list;
struct {
RTCP__PSFB__RPSI_template* precondition;
RTCP__PSFB__RPSI_template* implied_template;
} implication_;
dynmatch_struct<RTCP__PSFB__RPSI>* dyn_match;
};

void set_specific();
void copy_value(const RTCP__PSFB__RPSI& other_value);
void copy_template(const RTCP__PSFB__RPSI_template& other_value);

public:
RTCP__PSFB__RPSI_template();
RTCP__PSFB__RPSI_template(template_sel other_value);
RTCP__PSFB__RPSI_template(const RTCP__PSFB__RPSI& other_value);
RTCP__PSFB__RPSI_template(const OPTIONAL<RTCP__PSFB__RPSI>& other_value);
RTCP__PSFB__RPSI_template(RTCP__PSFB__RPSI_template* p_precondition, RTCP__PSFB__RPSI_template* p_implied_template);
RTCP__PSFB__RPSI_template(Dynamic_Match_Interface<RTCP__PSFB__RPSI>* p_dyn_match);
RTCP__PSFB__RPSI_template(const RTCP__PSFB__RPSI_template& other_value);
~RTCP__PSFB__RPSI_template();
RTCP__PSFB__RPSI_template& operator=(template_sel other_value);
RTCP__PSFB__RPSI_template& operator=(const RTCP__PSFB__RPSI& other_value);
RTCP__PSFB__RPSI_template& operator=(const OPTIONAL<RTCP__PSFB__RPSI>& other_value);
RTCP__PSFB__RPSI_template& operator=(const RTCP__PSFB__RPSI_template& other_value);
boolean match(const RTCP__PSFB__RPSI& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RTCP__PSFB__RPSI valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__PSFB__RPSI_template& list_item(unsigned int list_index) const;
INTEGER_template& pb();
const INTEGER_template& pb() const;
INTEGER_template& payload__type();
const INTEGER_template& payload__type() const;
OCTETSTRING_template& rpsi__string();
const OCTETSTRING_template& rpsi__string() const;
int size_of() const;
void log() const;
void log_match(const RTCP__PSFB__RPSI& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTCP__PSFB__FIRs : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
RTCP__PSFB__FIR **value_elements;
} *val_ptr;

static const RTCP__PSFB__FIR UNBOUND_ELEM;
private:
friend boolean operator==(null_type null_value, const RTCP__PSFB__FIRs& other_value);

public:
  typedef RTCP__PSFB__FIR of_type;
RTCP__PSFB__FIRs();
RTCP__PSFB__FIRs(null_type other_value);
RTCP__PSFB__FIRs(const RTCP__PSFB__FIRs& other_value);
~RTCP__PSFB__FIRs();

void clean_up();
RTCP__PSFB__FIRs& operator=(null_type other_value);
RTCP__PSFB__FIRs& operator=(const RTCP__PSFB__FIRs& other_value);

boolean operator==(null_type other_value) const;
boolean operator==(const RTCP__PSFB__FIRs& other_value) const;
inline boolean operator!=(null_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const RTCP__PSFB__FIRs& other_value) const { return !(*this == other_value); }

RTCP__PSFB__FIR& operator[](int index_value);
RTCP__PSFB__FIR& operator[](const INTEGER& index_value);
const RTCP__PSFB__FIR& operator[](int index_value) const;
const RTCP__PSFB__FIR& operator[](const INTEGER& index_value) const;

RTCP__PSFB__FIRs operator<<=(int rotate_count) const;
RTCP__PSFB__FIRs operator<<=(const INTEGER& rotate_count) const;
RTCP__PSFB__FIRs operator>>=(int rotate_count) const;
RTCP__PSFB__FIRs operator>>=(const INTEGER& rotate_count) const;

RTCP__PSFB__FIRs operator+(const RTCP__PSFB__FIRs& other_value) const;

RTCP__PSFB__FIRs substr(int index, int returncount) const;

RTCP__PSFB__FIRs replace(int index, int len, const RTCP__PSFB__FIRs& repl) const;

RTCP__PSFB__FIRs replace(int index, int len, const RTCP__PSFB__FIRs_template& repl) const;

void set_size(int new_size);
inline boolean is_bound() const {return val_ptr != NULL; }
inline boolean is_present() const { return is_bound(); }
boolean is_value() const;
int size_of() const;
int n_elem() const { return size_of(); }
int lengthof() const;
void log() const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__PSFB__FIRs_template : public Base_Record_Of_Template {
union {
struct {
int n_elements;
RTCP__PSFB__FIR_template **value_elements;
} single_value;
struct {
unsigned int n_values;
RTCP__PSFB__FIRs_template *list_value;
} value_list;
struct {
RTCP__PSFB__FIRs_template* precondition;
RTCP__PSFB__FIRs_template* implied_template;
} implication_;
dynmatch_struct<RTCP__PSFB__FIRs>* dyn_match;
};
void copy_value(const RTCP__PSFB__FIRs& other_value);
void copy_template(const RTCP__PSFB__FIRs_template& other_value);
static boolean match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);

public:
RTCP__PSFB__FIRs_template();
RTCP__PSFB__FIRs_template(template_sel other_value);
RTCP__PSFB__FIRs_template(null_type other_value);
RTCP__PSFB__FIRs_template(const RTCP__PSFB__FIRs& other_value);
RTCP__PSFB__FIRs_template(const OPTIONAL<RTCP__PSFB__FIRs>& other_value);
RTCP__PSFB__FIRs_template(RTCP__PSFB__FIRs_template* p_precondition, RTCP__PSFB__FIRs_template* p_implied_template);
RTCP__PSFB__FIRs_template(Dynamic_Match_Interface<RTCP__PSFB__FIRs>* p_dyn_match);
RTCP__PSFB__FIRs_template(const RTCP__PSFB__FIRs_template& other_value);
~RTCP__PSFB__FIRs_template();

void clean_up();
RTCP__PSFB__FIRs_template& operator=(template_sel other_value);
RTCP__PSFB__FIRs_template& operator=(null_type other_value);
RTCP__PSFB__FIRs_template& operator=(const RTCP__PSFB__FIRs& other_value);
RTCP__PSFB__FIRs_template& operator=(const OPTIONAL<RTCP__PSFB__FIRs>& other_value);
RTCP__PSFB__FIRs_template& operator=(const RTCP__PSFB__FIRs_template& other_value);

RTCP__PSFB__FIR_template& operator[](int index_value);
RTCP__PSFB__FIR_template& operator[](const INTEGER& index_value);
const RTCP__PSFB__FIR_template& operator[](int index_value) const;
const RTCP__PSFB__FIR_template& operator[](const INTEGER& index_value) const;

void set_size(int new_size);
int n_elem() const;
int size_of(boolean is_size) const;
inline int size_of() const { return size_of(TRUE); }
inline int lengthof() const { return size_of(FALSE); }
boolean match(const RTCP__PSFB__FIRs& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
RTCP__PSFB__FIRs valueof() const;
RTCP__PSFB__FIRs substr(int index, int returncount) const;

RTCP__PSFB__FIRs replace(int index, int len, const RTCP__PSFB__FIRs_template& repl) const;

RTCP__PSFB__FIRs replace(int index, int len, const RTCP__PSFB__FIRs& repl) const;

void set_type(template_sel template_type, unsigned int list_length);
RTCP__PSFB__FIRs_template& list_item(unsigned int list_index);
void log() const;
void log_match(const RTCP__PSFB__FIRs& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean get_istemplate_kind(const char* type) const;
};

class RTCP__PSFB__FIR : public Base_Type {
  BITSTRING field_SSRC;
  INTEGER field_seq__no;
  OCTETSTRING field_reserved;
public:
  RTCP__PSFB__FIR();
  RTCP__PSFB__FIR(const BITSTRING& par_SSRC,
    const INTEGER& par_seq__no,
    const OCTETSTRING& par_reserved);
  RTCP__PSFB__FIR(const RTCP__PSFB__FIR& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RTCP__PSFB__FIR& operator=(const RTCP__PSFB__FIR& other_value);
  boolean operator==(const RTCP__PSFB__FIR& other_value) const;
  inline boolean operator!=(const RTCP__PSFB__FIR& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline BITSTRING& SSRC()
    {return field_SSRC;}
  inline const BITSTRING& SSRC() const
    {return field_SSRC;}
  inline INTEGER& seq__no()
    {return field_seq__no;}
  inline const INTEGER& seq__no() const
    {return field_seq__no;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline int size_of() const
    {return 3;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__PSFB__FIR_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RTCP__PSFB__FIR_template *list_value;
} value_list;
struct {
RTCP__PSFB__FIR_template* precondition;
RTCP__PSFB__FIR_template* implied_template;
} implication_;
dynmatch_struct<RTCP__PSFB__FIR>* dyn_match;
};

void set_specific();
void copy_value(const RTCP__PSFB__FIR& other_value);
void copy_template(const RTCP__PSFB__FIR_template& other_value);

public:
RTCP__PSFB__FIR_template();
RTCP__PSFB__FIR_template(template_sel other_value);
RTCP__PSFB__FIR_template(const RTCP__PSFB__FIR& other_value);
RTCP__PSFB__FIR_template(const OPTIONAL<RTCP__PSFB__FIR>& other_value);
RTCP__PSFB__FIR_template(RTCP__PSFB__FIR_template* p_precondition, RTCP__PSFB__FIR_template* p_implied_template);
RTCP__PSFB__FIR_template(Dynamic_Match_Interface<RTCP__PSFB__FIR>* p_dyn_match);
RTCP__PSFB__FIR_template(const RTCP__PSFB__FIR_template& other_value);
~RTCP__PSFB__FIR_template();
RTCP__PSFB__FIR_template& operator=(template_sel other_value);
RTCP__PSFB__FIR_template& operator=(const RTCP__PSFB__FIR& other_value);
RTCP__PSFB__FIR_template& operator=(const OPTIONAL<RTCP__PSFB__FIR>& other_value);
RTCP__PSFB__FIR_template& operator=(const RTCP__PSFB__FIR_template& other_value);
boolean match(const RTCP__PSFB__FIR& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RTCP__PSFB__FIR valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__PSFB__FIR_template& list_item(unsigned int list_index) const;
BITSTRING_template& SSRC();
const BITSTRING_template& SSRC() const;
INTEGER_template& seq__no();
const INTEGER_template& seq__no() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
int size_of() const;
void log() const;
void log_match(const RTCP__PSFB__FIR& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTCP__PSFB__TSTRs : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
RTCP__PSFB__TST **value_elements;
} *val_ptr;

static const RTCP__PSFB__TST UNBOUND_ELEM;
private:
friend boolean operator==(null_type null_value, const RTCP__PSFB__TSTRs& other_value);

public:
  typedef RTCP__PSFB__TST of_type;
RTCP__PSFB__TSTRs();
RTCP__PSFB__TSTRs(null_type other_value);
RTCP__PSFB__TSTRs(const RTCP__PSFB__TSTRs& other_value);
~RTCP__PSFB__TSTRs();

void clean_up();
RTCP__PSFB__TSTRs& operator=(null_type other_value);
RTCP__PSFB__TSTRs& operator=(const RTCP__PSFB__TSTRs& other_value);

boolean operator==(null_type other_value) const;
boolean operator==(const RTCP__PSFB__TSTRs& other_value) const;
inline boolean operator!=(null_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const RTCP__PSFB__TSTRs& other_value) const { return !(*this == other_value); }

RTCP__PSFB__TST& operator[](int index_value);
RTCP__PSFB__TST& operator[](const INTEGER& index_value);
const RTCP__PSFB__TST& operator[](int index_value) const;
const RTCP__PSFB__TST& operator[](const INTEGER& index_value) const;

RTCP__PSFB__TSTRs operator<<=(int rotate_count) const;
RTCP__PSFB__TSTRs operator<<=(const INTEGER& rotate_count) const;
RTCP__PSFB__TSTRs operator>>=(int rotate_count) const;
RTCP__PSFB__TSTRs operator>>=(const INTEGER& rotate_count) const;

RTCP__PSFB__TSTRs operator+(const RTCP__PSFB__TSTRs& other_value) const;

RTCP__PSFB__TSTRs substr(int index, int returncount) const;

RTCP__PSFB__TSTRs replace(int index, int len, const RTCP__PSFB__TSTRs& repl) const;

RTCP__PSFB__TSTRs replace(int index, int len, const RTCP__PSFB__TSTRs_template& repl) const;

void set_size(int new_size);
inline boolean is_bound() const {return val_ptr != NULL; }
inline boolean is_present() const { return is_bound(); }
boolean is_value() const;
int size_of() const;
int n_elem() const { return size_of(); }
int lengthof() const;
void log() const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__PSFB__TSTRs_template : public Base_Record_Of_Template {
union {
struct {
int n_elements;
RTCP__PSFB__TST_template **value_elements;
} single_value;
struct {
unsigned int n_values;
RTCP__PSFB__TSTRs_template *list_value;
} value_list;
struct {
RTCP__PSFB__TSTRs_template* precondition;
RTCP__PSFB__TSTRs_template* implied_template;
} implication_;
dynmatch_struct<RTCP__PSFB__TSTRs>* dyn_match;
};
void copy_value(const RTCP__PSFB__TSTRs& other_value);
void copy_template(const RTCP__PSFB__TSTRs_template& other_value);
static boolean match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);

public:
RTCP__PSFB__TSTRs_template();
RTCP__PSFB__TSTRs_template(template_sel other_value);
RTCP__PSFB__TSTRs_template(null_type other_value);
RTCP__PSFB__TSTRs_template(const RTCP__PSFB__TSTRs& other_value);
RTCP__PSFB__TSTRs_template(const OPTIONAL<RTCP__PSFB__TSTRs>& other_value);
RTCP__PSFB__TSTRs_template(RTCP__PSFB__TSTRs_template* p_precondition, RTCP__PSFB__TSTRs_template* p_implied_template);
RTCP__PSFB__TSTRs_template(Dynamic_Match_Interface<RTCP__PSFB__TSTRs>* p_dyn_match);
RTCP__PSFB__TSTRs_template(const RTCP__PSFB__TSTRs_template& other_value);
~RTCP__PSFB__TSTRs_template();

void clean_up();
RTCP__PSFB__TSTRs_template& operator=(template_sel other_value);
RTCP__PSFB__TSTRs_template& operator=(null_type other_value);
RTCP__PSFB__TSTRs_template& operator=(const RTCP__PSFB__TSTRs& other_value);
RTCP__PSFB__TSTRs_template& operator=(const OPTIONAL<RTCP__PSFB__TSTRs>& other_value);
RTCP__PSFB__TSTRs_template& operator=(const RTCP__PSFB__TSTRs_template& other_value);

RTCP__PSFB__TST_template& operator[](int index_value);
RTCP__PSFB__TST_template& operator[](const INTEGER& index_value);
const RTCP__PSFB__TST_template& operator[](int index_value) const;
const RTCP__PSFB__TST_template& operator[](const INTEGER& index_value) const;

void set_size(int new_size);
int n_elem() const;
int size_of(boolean is_size) const;
inline int size_of() const { return size_of(TRUE); }
inline int lengthof() const { return size_of(FALSE); }
boolean match(const RTCP__PSFB__TSTRs& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
RTCP__PSFB__TSTRs valueof() const;
RTCP__PSFB__TSTRs substr(int index, int returncount) const;

RTCP__PSFB__TSTRs replace(int index, int len, const RTCP__PSFB__TSTRs_template& repl) const;

RTCP__PSFB__TSTRs replace(int index, int len, const RTCP__PSFB__TSTRs& repl) const;

void set_type(template_sel template_type, unsigned int list_length);
RTCP__PSFB__TSTRs_template& list_item(unsigned int list_index);
void log() const;
void log_match(const RTCP__PSFB__TSTRs& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean get_istemplate_kind(const char* type) const;
};

class RTCP__PSFB__TST : public Base_Type {
  BITSTRING field_SSRC;
  INTEGER field_seq__no;
  OCTETSTRING field_reserved;
  INTEGER field_index;
public:
  RTCP__PSFB__TST();
  RTCP__PSFB__TST(const BITSTRING& par_SSRC,
    const INTEGER& par_seq__no,
    const OCTETSTRING& par_reserved,
    const INTEGER& par_index);
  RTCP__PSFB__TST(const RTCP__PSFB__TST& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RTCP__PSFB__TST& operator=(const RTCP__PSFB__TST& other_value);
  boolean operator==(const RTCP__PSFB__TST& other_value) const;
  inline boolean operator!=(const RTCP__PSFB__TST& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline BITSTRING& SSRC()
    {return field_SSRC;}
  inline const BITSTRING& SSRC() const
    {return field_SSRC;}
  inline INTEGER& seq__no()
    {return field_seq__no;}
  inline const INTEGER& seq__no() const
    {return field_seq__no;}
  inline OCTETSTRING& reserved()
    {return field_reserved;}
  inline const OCTETSTRING& reserved() const
    {return field_reserved;}
  inline INTEGER& index()
    {return field_index;}
  inline const INTEGER& index() const
    {return field_index;}
  inline int size_of() const
    {return 4;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__PSFB__TST_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RTCP__PSFB__TST_template *list_value;
} value_list;
struct {
RTCP__PSFB__TST_template* precondition;
RTCP__PSFB__TST_template* implied_template;
} implication_;
dynmatch_struct<RTCP__PSFB__TST>* dyn_match;
};

void set_specific();
void copy_value(const RTCP__PSFB__TST& other_value);
void copy_template(const RTCP__PSFB__TST_template& other_value);

public:
RTCP__PSFB__TST_template();
RTCP__PSFB__TST_template(template_sel other_value);
RTCP__PSFB__TST_template(const RTCP__PSFB__TST& other_value);
RTCP__PSFB__TST_template(const OPTIONAL<RTCP__PSFB__TST>& other_value);
RTCP__PSFB__TST_template(RTCP__PSFB__TST_template* p_precondition, RTCP__PSFB__TST_template* p_implied_template);
RTCP__PSFB__TST_template(Dynamic_Match_Interface<RTCP__PSFB__TST>* p_dyn_match);
RTCP__PSFB__TST_template(const RTCP__PSFB__TST_template& other_value);
~RTCP__PSFB__TST_template();
RTCP__PSFB__TST_template& operator=(template_sel other_value);
RTCP__PSFB__TST_template& operator=(const RTCP__PSFB__TST& other_value);
RTCP__PSFB__TST_template& operator=(const OPTIONAL<RTCP__PSFB__TST>& other_value);
RTCP__PSFB__TST_template& operator=(const RTCP__PSFB__TST_template& other_value);
boolean match(const RTCP__PSFB__TST& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RTCP__PSFB__TST valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__PSFB__TST_template& list_item(unsigned int list_index) const;
BITSTRING_template& SSRC();
const BITSTRING_template& SSRC() const;
INTEGER_template& seq__no();
const INTEGER_template& seq__no() const;
OCTETSTRING_template& reserved();
const OCTETSTRING_template& reserved() const;
INTEGER_template& index();
const INTEGER_template& index() const;
int size_of() const;
void log() const;
void log_match(const RTCP__PSFB__TST& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTCP__PSFB__TSTNs : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
RTCP__PSFB__TST **value_elements;
} *val_ptr;

static const RTCP__PSFB__TST UNBOUND_ELEM;
private:
friend boolean operator==(null_type null_value, const RTCP__PSFB__TSTNs& other_value);

public:
  typedef RTCP__PSFB__TST of_type;
RTCP__PSFB__TSTNs();
RTCP__PSFB__TSTNs(null_type other_value);
RTCP__PSFB__TSTNs(const RTCP__PSFB__TSTNs& other_value);
~RTCP__PSFB__TSTNs();

void clean_up();
RTCP__PSFB__TSTNs& operator=(null_type other_value);
RTCP__PSFB__TSTNs& operator=(const RTCP__PSFB__TSTNs& other_value);

boolean operator==(null_type other_value) const;
boolean operator==(const RTCP__PSFB__TSTNs& other_value) const;
inline boolean operator!=(null_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const RTCP__PSFB__TSTNs& other_value) const { return !(*this == other_value); }

RTCP__PSFB__TST& operator[](int index_value);
RTCP__PSFB__TST& operator[](const INTEGER& index_value);
const RTCP__PSFB__TST& operator[](int index_value) const;
const RTCP__PSFB__TST& operator[](const INTEGER& index_value) const;

RTCP__PSFB__TSTNs operator<<=(int rotate_count) const;
RTCP__PSFB__TSTNs operator<<=(const INTEGER& rotate_count) const;
RTCP__PSFB__TSTNs operator>>=(int rotate_count) const;
RTCP__PSFB__TSTNs operator>>=(const INTEGER& rotate_count) const;

RTCP__PSFB__TSTNs operator+(const RTCP__PSFB__TSTNs& other_value) const;

RTCP__PSFB__TSTNs substr(int index, int returncount) const;

RTCP__PSFB__TSTNs replace(int index, int len, const RTCP__PSFB__TSTNs& repl) const;

RTCP__PSFB__TSTNs replace(int index, int len, const RTCP__PSFB__TSTNs_template& repl) const;

void set_size(int new_size);
inline boolean is_bound() const {return val_ptr != NULL; }
inline boolean is_present() const { return is_bound(); }
boolean is_value() const;
int size_of() const;
int n_elem() const { return size_of(); }
int lengthof() const;
void log() const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__PSFB__TSTNs_template : public Base_Record_Of_Template {
union {
struct {
int n_elements;
RTCP__PSFB__TST_template **value_elements;
} single_value;
struct {
unsigned int n_values;
RTCP__PSFB__TSTNs_template *list_value;
} value_list;
struct {
RTCP__PSFB__TSTNs_template* precondition;
RTCP__PSFB__TSTNs_template* implied_template;
} implication_;
dynmatch_struct<RTCP__PSFB__TSTNs>* dyn_match;
};
void copy_value(const RTCP__PSFB__TSTNs& other_value);
void copy_template(const RTCP__PSFB__TSTNs_template& other_value);
static boolean match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);

public:
RTCP__PSFB__TSTNs_template();
RTCP__PSFB__TSTNs_template(template_sel other_value);
RTCP__PSFB__TSTNs_template(null_type other_value);
RTCP__PSFB__TSTNs_template(const RTCP__PSFB__TSTNs& other_value);
RTCP__PSFB__TSTNs_template(const OPTIONAL<RTCP__PSFB__TSTNs>& other_value);
RTCP__PSFB__TSTNs_template(RTCP__PSFB__TSTNs_template* p_precondition, RTCP__PSFB__TSTNs_template* p_implied_template);
RTCP__PSFB__TSTNs_template(Dynamic_Match_Interface<RTCP__PSFB__TSTNs>* p_dyn_match);
RTCP__PSFB__TSTNs_template(const RTCP__PSFB__TSTNs_template& other_value);
~RTCP__PSFB__TSTNs_template();

void clean_up();
RTCP__PSFB__TSTNs_template& operator=(template_sel other_value);
RTCP__PSFB__TSTNs_template& operator=(null_type other_value);
RTCP__PSFB__TSTNs_template& operator=(const RTCP__PSFB__TSTNs& other_value);
RTCP__PSFB__TSTNs_template& operator=(const OPTIONAL<RTCP__PSFB__TSTNs>& other_value);
RTCP__PSFB__TSTNs_template& operator=(const RTCP__PSFB__TSTNs_template& other_value);

RTCP__PSFB__TST_template& operator[](int index_value);
RTCP__PSFB__TST_template& operator[](const INTEGER& index_value);
const RTCP__PSFB__TST_template& operator[](int index_value) const;
const RTCP__PSFB__TST_template& operator[](const INTEGER& index_value) const;

void set_size(int new_size);
int n_elem() const;
int size_of(boolean is_size) const;
inline int size_of() const { return size_of(TRUE); }
inline int lengthof() const { return size_of(FALSE); }
boolean match(const RTCP__PSFB__TSTNs& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
RTCP__PSFB__TSTNs valueof() const;
RTCP__PSFB__TSTNs substr(int index, int returncount) const;

RTCP__PSFB__TSTNs replace(int index, int len, const RTCP__PSFB__TSTNs_template& repl) const;

RTCP__PSFB__TSTNs replace(int index, int len, const RTCP__PSFB__TSTNs& repl) const;

void set_type(template_sel template_type, unsigned int list_length);
RTCP__PSFB__TSTNs_template& list_item(unsigned int list_index);
void log() const;
void log_match(const RTCP__PSFB__TSTNs& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean get_istemplate_kind(const char* type) const;
};

class RTCP__PSFB__VBCMs : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
RTCP__PSFB__VBCM **value_elements;
} *val_ptr;

static const RTCP__PSFB__VBCM UNBOUND_ELEM;
private:
friend boolean operator==(null_type null_value, const RTCP__PSFB__VBCMs& other_value);

public:
  typedef RTCP__PSFB__VBCM of_type;
RTCP__PSFB__VBCMs();
RTCP__PSFB__VBCMs(null_type other_value);
RTCP__PSFB__VBCMs(const RTCP__PSFB__VBCMs& other_value);
~RTCP__PSFB__VBCMs();

void clean_up();
RTCP__PSFB__VBCMs& operator=(null_type other_value);
RTCP__PSFB__VBCMs& operator=(const RTCP__PSFB__VBCMs& other_value);

boolean operator==(null_type other_value) const;
boolean operator==(const RTCP__PSFB__VBCMs& other_value) const;
inline boolean operator!=(null_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const RTCP__PSFB__VBCMs& other_value) const { return !(*this == other_value); }

RTCP__PSFB__VBCM& operator[](int index_value);
RTCP__PSFB__VBCM& operator[](const INTEGER& index_value);
const RTCP__PSFB__VBCM& operator[](int index_value) const;
const RTCP__PSFB__VBCM& operator[](const INTEGER& index_value) const;

RTCP__PSFB__VBCMs operator<<=(int rotate_count) const;
RTCP__PSFB__VBCMs operator<<=(const INTEGER& rotate_count) const;
RTCP__PSFB__VBCMs operator>>=(int rotate_count) const;
RTCP__PSFB__VBCMs operator>>=(const INTEGER& rotate_count) const;

RTCP__PSFB__VBCMs operator+(const RTCP__PSFB__VBCMs& other_value) const;

RTCP__PSFB__VBCMs substr(int index, int returncount) const;

RTCP__PSFB__VBCMs replace(int index, int len, const RTCP__PSFB__VBCMs& repl) const;

RTCP__PSFB__VBCMs replace(int index, int len, const RTCP__PSFB__VBCMs_template& repl) const;

void set_size(int new_size);
inline boolean is_bound() const {return val_ptr != NULL; }
inline boolean is_present() const { return is_bound(); }
boolean is_value() const;
int size_of() const;
int n_elem() const { return size_of(); }
int lengthof() const;
void log() const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__PSFB__VBCMs_template : public Base_Record_Of_Template {
union {
struct {
int n_elements;
RTCP__PSFB__VBCM_template **value_elements;
} single_value;
struct {
unsigned int n_values;
RTCP__PSFB__VBCMs_template *list_value;
} value_list;
struct {
RTCP__PSFB__VBCMs_template* precondition;
RTCP__PSFB__VBCMs_template* implied_template;
} implication_;
dynmatch_struct<RTCP__PSFB__VBCMs>* dyn_match;
};
void copy_value(const RTCP__PSFB__VBCMs& other_value);
void copy_template(const RTCP__PSFB__VBCMs_template& other_value);
static boolean match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);

public:
RTCP__PSFB__VBCMs_template();
RTCP__PSFB__VBCMs_template(template_sel other_value);
RTCP__PSFB__VBCMs_template(null_type other_value);
RTCP__PSFB__VBCMs_template(const RTCP__PSFB__VBCMs& other_value);
RTCP__PSFB__VBCMs_template(const OPTIONAL<RTCP__PSFB__VBCMs>& other_value);
RTCP__PSFB__VBCMs_template(RTCP__PSFB__VBCMs_template* p_precondition, RTCP__PSFB__VBCMs_template* p_implied_template);
RTCP__PSFB__VBCMs_template(Dynamic_Match_Interface<RTCP__PSFB__VBCMs>* p_dyn_match);
RTCP__PSFB__VBCMs_template(const RTCP__PSFB__VBCMs_template& other_value);
~RTCP__PSFB__VBCMs_template();

void clean_up();
RTCP__PSFB__VBCMs_template& operator=(template_sel other_value);
RTCP__PSFB__VBCMs_template& operator=(null_type other_value);
RTCP__PSFB__VBCMs_template& operator=(const RTCP__PSFB__VBCMs& other_value);
RTCP__PSFB__VBCMs_template& operator=(const OPTIONAL<RTCP__PSFB__VBCMs>& other_value);
RTCP__PSFB__VBCMs_template& operator=(const RTCP__PSFB__VBCMs_template& other_value);

RTCP__PSFB__VBCM_template& operator[](int index_value);
RTCP__PSFB__VBCM_template& operator[](const INTEGER& index_value);
const RTCP__PSFB__VBCM_template& operator[](int index_value) const;
const RTCP__PSFB__VBCM_template& operator[](const INTEGER& index_value) const;

void set_size(int new_size);
int n_elem() const;
int size_of(boolean is_size) const;
inline int size_of() const { return size_of(TRUE); }
inline int lengthof() const { return size_of(FALSE); }
boolean match(const RTCP__PSFB__VBCMs& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
RTCP__PSFB__VBCMs valueof() const;
RTCP__PSFB__VBCMs substr(int index, int returncount) const;

RTCP__PSFB__VBCMs replace(int index, int len, const RTCP__PSFB__VBCMs_template& repl) const;

RTCP__PSFB__VBCMs replace(int index, int len, const RTCP__PSFB__VBCMs& repl) const;

void set_type(template_sel template_type, unsigned int list_length);
RTCP__PSFB__VBCMs_template& list_item(unsigned int list_index);
void log() const;
void log_match(const RTCP__PSFB__VBCMs& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean get_istemplate_kind(const char* type) const;
};

class RTCP__PSFB__VBCM : public Base_Type {
  BITSTRING field_SSRC;
  INTEGER field_seq__no;
  BITSTRING field_marker__bit;
  INTEGER field_payload__type;
  INTEGER field_vbcm__length;
  OCTETSTRING field_vbcm;
public:
  RTCP__PSFB__VBCM();
  RTCP__PSFB__VBCM(const BITSTRING& par_SSRC,
    const INTEGER& par_seq__no,
    const BITSTRING& par_marker__bit,
    const INTEGER& par_payload__type,
    const INTEGER& par_vbcm__length,
    const OCTETSTRING& par_vbcm);
  RTCP__PSFB__VBCM(const RTCP__PSFB__VBCM& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RTCP__PSFB__VBCM& operator=(const RTCP__PSFB__VBCM& other_value);
  boolean operator==(const RTCP__PSFB__VBCM& other_value) const;
  inline boolean operator!=(const RTCP__PSFB__VBCM& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline BITSTRING& SSRC()
    {return field_SSRC;}
  inline const BITSTRING& SSRC() const
    {return field_SSRC;}
  inline INTEGER& seq__no()
    {return field_seq__no;}
  inline const INTEGER& seq__no() const
    {return field_seq__no;}
  inline BITSTRING& marker__bit()
    {return field_marker__bit;}
  inline const BITSTRING& marker__bit() const
    {return field_marker__bit;}
  inline INTEGER& payload__type()
    {return field_payload__type;}
  inline const INTEGER& payload__type() const
    {return field_payload__type;}
  inline INTEGER& vbcm__length()
    {return field_vbcm__length;}
  inline const INTEGER& vbcm__length() const
    {return field_vbcm__length;}
  inline OCTETSTRING& vbcm()
    {return field_vbcm;}
  inline const OCTETSTRING& vbcm() const
    {return field_vbcm;}
  inline int size_of() const
    {return 6;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__PSFB__VBCM_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RTCP__PSFB__VBCM_template *list_value;
} value_list;
struct {
RTCP__PSFB__VBCM_template* precondition;
RTCP__PSFB__VBCM_template* implied_template;
} implication_;
dynmatch_struct<RTCP__PSFB__VBCM>* dyn_match;
};

void set_specific();
void copy_value(const RTCP__PSFB__VBCM& other_value);
void copy_template(const RTCP__PSFB__VBCM_template& other_value);

public:
RTCP__PSFB__VBCM_template();
RTCP__PSFB__VBCM_template(template_sel other_value);
RTCP__PSFB__VBCM_template(const RTCP__PSFB__VBCM& other_value);
RTCP__PSFB__VBCM_template(const OPTIONAL<RTCP__PSFB__VBCM>& other_value);
RTCP__PSFB__VBCM_template(RTCP__PSFB__VBCM_template* p_precondition, RTCP__PSFB__VBCM_template* p_implied_template);
RTCP__PSFB__VBCM_template(Dynamic_Match_Interface<RTCP__PSFB__VBCM>* p_dyn_match);
RTCP__PSFB__VBCM_template(const RTCP__PSFB__VBCM_template& other_value);
~RTCP__PSFB__VBCM_template();
RTCP__PSFB__VBCM_template& operator=(template_sel other_value);
RTCP__PSFB__VBCM_template& operator=(const RTCP__PSFB__VBCM& other_value);
RTCP__PSFB__VBCM_template& operator=(const OPTIONAL<RTCP__PSFB__VBCM>& other_value);
RTCP__PSFB__VBCM_template& operator=(const RTCP__PSFB__VBCM_template& other_value);
boolean match(const RTCP__PSFB__VBCM& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RTCP__PSFB__VBCM valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__PSFB__VBCM_template& list_item(unsigned int list_index) const;
BITSTRING_template& SSRC();
const BITSTRING_template& SSRC() const;
INTEGER_template& seq__no();
const INTEGER_template& seq__no() const;
BITSTRING_template& marker__bit();
const BITSTRING_template& marker__bit() const;
INTEGER_template& payload__type();
const INTEGER_template& payload__type() const;
INTEGER_template& vbcm__length();
const INTEGER_template& vbcm__length() const;
OCTETSTRING_template& vbcm();
const OCTETSTRING_template& vbcm() const;
int size_of() const;
void log() const;
void log_match(const RTCP__PSFB__VBCM& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTCP__IE__PSFB : public Base_Type {
  INTEGER field_version;
  BITSTRING field_padding__ind;
  INTEGER field_fmt;
  INTEGER field_payload__type;
  INTEGER field_packet__length;
  BITSTRING field_SSRC__packet__sender;
  BITSTRING field_SSRC__media__sender;
  RTCP__PSFB__union field_fci;
  OPTIONAL< OCTETSTRING > field_padding;
public:
  RTCP__IE__PSFB();
  RTCP__IE__PSFB(const INTEGER& par_version,
    const BITSTRING& par_padding__ind,
    const INTEGER& par_fmt,
    const INTEGER& par_payload__type,
    const INTEGER& par_packet__length,
    const BITSTRING& par_SSRC__packet__sender,
    const BITSTRING& par_SSRC__media__sender,
    const RTCP__PSFB__union& par_fci,
    const OPTIONAL< OCTETSTRING >& par_padding);
  RTCP__IE__PSFB(const RTCP__IE__PSFB& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RTCP__IE__PSFB& operator=(const RTCP__IE__PSFB& other_value);
  boolean operator==(const RTCP__IE__PSFB& other_value) const;
  inline boolean operator!=(const RTCP__IE__PSFB& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline INTEGER& version()
    {return field_version;}
  inline const INTEGER& version() const
    {return field_version;}
  inline BITSTRING& padding__ind()
    {return field_padding__ind;}
  inline const BITSTRING& padding__ind() const
    {return field_padding__ind;}
  inline INTEGER& fmt()
    {return field_fmt;}
  inline const INTEGER& fmt() const
    {return field_fmt;}
  inline INTEGER& payload__type()
    {return field_payload__type;}
  inline const INTEGER& payload__type() const
    {return field_payload__type;}
  inline INTEGER& packet__length()
    {return field_packet__length;}
  inline const INTEGER& packet__length() const
    {return field_packet__length;}
  inline BITSTRING& SSRC__packet__sender()
    {return field_SSRC__packet__sender;}
  inline const BITSTRING& SSRC__packet__sender() const
    {return field_SSRC__packet__sender;}
  inline BITSTRING& SSRC__media__sender()
    {return field_SSRC__media__sender;}
  inline const BITSTRING& SSRC__media__sender() const
    {return field_SSRC__media__sender;}
  inline RTCP__PSFB__union& fci()
    {return field_fci;}
  inline const RTCP__PSFB__union& fci() const
    {return field_fci;}
  inline OPTIONAL< OCTETSTRING >& padding()
    {return field_padding;}
  inline const OPTIONAL< OCTETSTRING >& padding() const
    {return field_padding;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__IE__PSFB_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RTCP__IE__PSFB_template *list_value;
} value_list;
struct {
RTCP__IE__PSFB_template* precondition;
RTCP__IE__PSFB_template* implied_template;
} implication_;
dynmatch_struct<RTCP__IE__PSFB>* dyn_match;
};

void set_specific();
void copy_value(const RTCP__IE__PSFB& other_value);
void copy_template(const RTCP__IE__PSFB_template& other_value);

public:
RTCP__IE__PSFB_template();
RTCP__IE__PSFB_template(template_sel other_value);
RTCP__IE__PSFB_template(const RTCP__IE__PSFB& other_value);
RTCP__IE__PSFB_template(const OPTIONAL<RTCP__IE__PSFB>& other_value);
RTCP__IE__PSFB_template(RTCP__IE__PSFB_template* p_precondition, RTCP__IE__PSFB_template* p_implied_template);
RTCP__IE__PSFB_template(Dynamic_Match_Interface<RTCP__IE__PSFB>* p_dyn_match);
RTCP__IE__PSFB_template(const RTCP__IE__PSFB_template& other_value);
~RTCP__IE__PSFB_template();
RTCP__IE__PSFB_template& operator=(template_sel other_value);
RTCP__IE__PSFB_template& operator=(const RTCP__IE__PSFB& other_value);
RTCP__IE__PSFB_template& operator=(const OPTIONAL<RTCP__IE__PSFB>& other_value);
RTCP__IE__PSFB_template& operator=(const RTCP__IE__PSFB_template& other_value);
boolean match(const RTCP__IE__PSFB& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RTCP__IE__PSFB valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__IE__PSFB_template& list_item(unsigned int list_index) const;
INTEGER_template& version();
const INTEGER_template& version() const;
BITSTRING_template& padding__ind();
const BITSTRING_template& padding__ind() const;
INTEGER_template& fmt();
const INTEGER_template& fmt() const;
INTEGER_template& payload__type();
const INTEGER_template& payload__type() const;
INTEGER_template& packet__length();
const INTEGER_template& packet__length() const;
BITSTRING_template& SSRC__packet__sender();
const BITSTRING_template& SSRC__packet__sender() const;
BITSTRING_template& SSRC__media__sender();
const BITSTRING_template& SSRC__media__sender() const;
RTCP__PSFB__union_template& fci();
const RTCP__PSFB__union_template& fci() const;
OCTETSTRING_template& padding();
const OCTETSTRING_template& padding() const;
int size_of() const;
void log() const;
void log_match(const RTCP__IE__PSFB& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTCP__message : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_sr = 1, ALT_rr = 2, ALT_sdes = 3, ALT_bye = 4, ALT_app = 5, ALT_rtpfb = 6, ALT_psfb = 7 };
private:
union_selection_type union_selection;
union {
RTCP__IE__SR *field_sr;
RTCP__IE__RR *field_rr;
RTCP__IE__SDES *field_sdes;
RTCP__IE__BYE *field_bye;
RTCP__IE__APP *field_app;
RTCP__IE__RTPFB *field_rtpfb;
RTCP__IE__PSFB *field_psfb;
};
void copy_value(const RTCP__message& other_value);

public:
RTCP__message();
RTCP__message(const RTCP__message& other_value);
~RTCP__message();
RTCP__message& operator=(const RTCP__message& other_value);
boolean operator==(const RTCP__message& other_value) const;
inline boolean operator!=(const RTCP__message& other_value) const { return !(*this == other_value); }
RTCP__IE__SR& sr();
const RTCP__IE__SR& sr() const;
RTCP__IE__RR& rr();
const RTCP__IE__RR& rr() const;
RTCP__IE__SDES& sdes();
const RTCP__IE__SDES& sdes() const;
RTCP__IE__BYE& bye();
const RTCP__IE__BYE& bye() const;
RTCP__IE__APP& app();
const RTCP__IE__APP& app() const;
RTCP__IE__RTPFB& rtpfb();
const RTCP__IE__RTPFB& rtpfb() const;
RTCP__IE__PSFB& psfb();
const RTCP__IE__PSFB& psfb() const;
inline union_selection_type get_selection() const { return union_selection; }
boolean ischosen(union_selection_type checked_selection) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
inline boolean is_present() const { return is_bound(); }
void log() const;
void set_param(Module_Param& param);
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTCP__message_template : public Base_Template {
union {
struct {
RTCP__message::union_selection_type union_selection;
union {
RTCP__IE__SR_template *field_sr;
RTCP__IE__RR_template *field_rr;
RTCP__IE__SDES_template *field_sdes;
RTCP__IE__BYE_template *field_bye;
RTCP__IE__APP_template *field_app;
RTCP__IE__RTPFB_template *field_rtpfb;
RTCP__IE__PSFB_template *field_psfb;
};
} single_value;
struct {
unsigned int n_values;
RTCP__message_template *list_value;
} value_list;
struct {
RTCP__message_template* precondition;
RTCP__message_template* implied_template;
} implication_;
dynmatch_struct<RTCP__message>* dyn_match;
};
void copy_value(const RTCP__message& other_value);

void copy_template(const RTCP__message_template& other_value);

public:
RTCP__message_template();
RTCP__message_template(template_sel other_value);
RTCP__message_template(const RTCP__message& other_value);
RTCP__message_template(const OPTIONAL<RTCP__message>& other_value);
RTCP__message_template(RTCP__message_template* p_precondition, RTCP__message_template* p_implied_template);
RTCP__message_template(Dynamic_Match_Interface<RTCP__message>* p_dyn_match);
RTCP__message_template(const RTCP__message_template& other_value);
~RTCP__message_template();
void clean_up();
RTCP__message_template& operator=(template_sel other_value);
RTCP__message_template& operator=(const RTCP__message& other_value);
RTCP__message_template& operator=(const OPTIONAL<RTCP__message>& other_value);
RTCP__message_template& operator=(const RTCP__message_template& other_value);
boolean match(const RTCP__message& other_value, boolean legacy = FALSE) const;
boolean is_value() const;RTCP__message valueof() const;
RTCP__message_template& list_item(unsigned int list_index) const;
void set_type(template_sel template_type, unsigned int list_length);
RTCP__IE__SR_template& sr();
const RTCP__IE__SR_template& sr() const;
RTCP__IE__RR_template& rr();
const RTCP__IE__RR_template& rr() const;
RTCP__IE__SDES_template& sdes();
const RTCP__IE__SDES_template& sdes() const;
RTCP__IE__BYE_template& bye();
const RTCP__IE__BYE_template& bye() const;
RTCP__IE__APP_template& app();
const RTCP__IE__APP_template& app() const;
RTCP__IE__RTPFB_template& rtpfb();
const RTCP__IE__RTPFB_template& rtpfb() const;
RTCP__IE__PSFB_template& psfb();
const RTCP__IE__PSFB_template& psfb() const;
boolean ischosen(RTCP__message::union_selection_type checked_selection) const;
void log() const;
void log_match(const RTCP__message& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
};

class PDU__RTCP : public Base_Type {
struct recordof_setof_struct {
int ref_count;
int n_elements;
RTCP__message **value_elements;
} *val_ptr;

static const RTCP__message UNBOUND_ELEM;
private:
friend boolean operator==(null_type null_value, const PDU__RTCP& other_value);

public:
  typedef RTCP__message of_type;
PDU__RTCP();
PDU__RTCP(null_type other_value);
PDU__RTCP(const PDU__RTCP& other_value);
~PDU__RTCP();

void clean_up();
PDU__RTCP& operator=(null_type other_value);
PDU__RTCP& operator=(const PDU__RTCP& other_value);

boolean operator==(null_type other_value) const;
boolean operator==(const PDU__RTCP& other_value) const;
inline boolean operator!=(null_type other_value) const { return !(*this == other_value); }
inline boolean operator!=(const PDU__RTCP& other_value) const { return !(*this == other_value); }

RTCP__message& operator[](int index_value);
RTCP__message& operator[](const INTEGER& index_value);
const RTCP__message& operator[](int index_value) const;
const RTCP__message& operator[](const INTEGER& index_value) const;

PDU__RTCP operator<<=(int rotate_count) const;
PDU__RTCP operator<<=(const INTEGER& rotate_count) const;
PDU__RTCP operator>>=(int rotate_count) const;
PDU__RTCP operator>>=(const INTEGER& rotate_count) const;

PDU__RTCP operator+(const PDU__RTCP& other_value) const;

PDU__RTCP substr(int index, int returncount) const;

PDU__RTCP replace(int index, int len, const PDU__RTCP& repl) const;

PDU__RTCP replace(int index, int len, const PDU__RTCP_template& repl) const;

void set_size(int new_size);
inline boolean is_bound() const {return val_ptr != NULL; }
inline boolean is_present() const { return is_bound(); }
boolean is_value() const;
int size_of() const;
int n_elem() const { return size_of(); }
int lengthof() const;
void log() const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class PDU__RTCP_template : public Base_Record_Of_Template {
union {
struct {
int n_elements;
RTCP__message_template **value_elements;
} single_value;
struct {
unsigned int n_values;
PDU__RTCP_template *list_value;
} value_list;
struct {
PDU__RTCP_template* precondition;
PDU__RTCP_template* implied_template;
} implication_;
dynmatch_struct<PDU__RTCP>* dyn_match;
};
void copy_value(const PDU__RTCP& other_value);
void copy_template(const PDU__RTCP_template& other_value);
static boolean match_function_specific(const Base_Type *value_ptr, int value_index, const Restricted_Length_Template *template_ptr, int template_index, boolean legacy);

public:
PDU__RTCP_template();
PDU__RTCP_template(template_sel other_value);
PDU__RTCP_template(null_type other_value);
PDU__RTCP_template(const PDU__RTCP& other_value);
PDU__RTCP_template(const OPTIONAL<PDU__RTCP>& other_value);
PDU__RTCP_template(PDU__RTCP_template* p_precondition, PDU__RTCP_template* p_implied_template);
PDU__RTCP_template(Dynamic_Match_Interface<PDU__RTCP>* p_dyn_match);
PDU__RTCP_template(const PDU__RTCP_template& other_value);
~PDU__RTCP_template();

void clean_up();
PDU__RTCP_template& operator=(template_sel other_value);
PDU__RTCP_template& operator=(null_type other_value);
PDU__RTCP_template& operator=(const PDU__RTCP& other_value);
PDU__RTCP_template& operator=(const OPTIONAL<PDU__RTCP>& other_value);
PDU__RTCP_template& operator=(const PDU__RTCP_template& other_value);

RTCP__message_template& operator[](int index_value);
RTCP__message_template& operator[](const INTEGER& index_value);
const RTCP__message_template& operator[](int index_value) const;
const RTCP__message_template& operator[](const INTEGER& index_value) const;

void set_size(int new_size);
int n_elem() const;
int size_of(boolean is_size) const;
inline int size_of() const { return size_of(TRUE); }
inline int lengthof() const { return size_of(FALSE); }
boolean match(const PDU__RTCP& other_value, boolean legacy = FALSE) const;
inline boolean is_bound() const 
  {return template_selection != UNINITIALIZED_TEMPLATE; }
boolean is_value() const;
PDU__RTCP valueof() const;
PDU__RTCP substr(int index, int returncount) const;

PDU__RTCP replace(int index, int len, const PDU__RTCP_template& repl) const;

PDU__RTCP replace(int index, int len, const PDU__RTCP& repl) const;

void set_type(template_sel template_type, unsigned int list_length);
PDU__RTCP_template& list_item(unsigned int list_index);
void log() const;
void log_match(const PDU__RTCP& match_value, boolean legacy = FALSE) const;
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
  void set_implicit_omit();
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean get_istemplate_kind(const char* type) const;
};

class RTP__session__par : public Base_Type {
  OPTIONAL< INTEGER > field_id;
  OPTIONAL< CHARSTRING > field_local__address;
  OPTIONAL< INTEGER > field_local__port;
  OPTIONAL< CHARSTRING > field_dest__address;
  OPTIONAL< INTEGER > field_dest__port;
public:
  RTP__session__par();
  RTP__session__par(const OPTIONAL< INTEGER >& par_id,
    const OPTIONAL< CHARSTRING >& par_local__address,
    const OPTIONAL< INTEGER >& par_local__port,
    const OPTIONAL< CHARSTRING >& par_dest__address,
    const OPTIONAL< INTEGER >& par_dest__port);
  RTP__session__par(const RTP__session__par& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  RTP__session__par& operator=(const RTP__session__par& other_value);
  boolean operator==(const RTP__session__par& other_value) const;
  inline boolean operator!=(const RTP__session__par& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline OPTIONAL< INTEGER >& id()
    {return field_id;}
  inline const OPTIONAL< INTEGER >& id() const
    {return field_id;}
  inline OPTIONAL< CHARSTRING >& local__address()
    {return field_local__address;}
  inline const OPTIONAL< CHARSTRING >& local__address() const
    {return field_local__address;}
  inline OPTIONAL< INTEGER >& local__port()
    {return field_local__port;}
  inline const OPTIONAL< INTEGER >& local__port() const
    {return field_local__port;}
  inline OPTIONAL< CHARSTRING >& dest__address()
    {return field_dest__address;}
  inline const OPTIONAL< CHARSTRING >& dest__address() const
    {return field_dest__address;}
  inline OPTIONAL< INTEGER >& dest__port()
    {return field_dest__port;}
  inline const OPTIONAL< INTEGER >& dest__port() const
    {return field_dest__port;}
  int size_of() const;
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTP__session__par_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
RTP__session__par_template *list_value;
} value_list;
struct {
RTP__session__par_template* precondition;
RTP__session__par_template* implied_template;
} implication_;
dynmatch_struct<RTP__session__par>* dyn_match;
};

void set_specific();
void copy_value(const RTP__session__par& other_value);
void copy_template(const RTP__session__par_template& other_value);

public:
RTP__session__par_template();
RTP__session__par_template(template_sel other_value);
RTP__session__par_template(const RTP__session__par& other_value);
RTP__session__par_template(const OPTIONAL<RTP__session__par>& other_value);
RTP__session__par_template(RTP__session__par_template* p_precondition, RTP__session__par_template* p_implied_template);
RTP__session__par_template(Dynamic_Match_Interface<RTP__session__par>* p_dyn_match);
RTP__session__par_template(const RTP__session__par_template& other_value);
~RTP__session__par_template();
RTP__session__par_template& operator=(template_sel other_value);
RTP__session__par_template& operator=(const RTP__session__par& other_value);
RTP__session__par_template& operator=(const OPTIONAL<RTP__session__par>& other_value);
RTP__session__par_template& operator=(const RTP__session__par_template& other_value);
boolean match(const RTP__session__par& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
RTP__session__par valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
RTP__session__par_template& list_item(unsigned int list_index) const;
INTEGER_template& id();
const INTEGER_template& id() const;
CHARSTRING_template& local__address();
const CHARSTRING_template& local__address() const;
INTEGER_template& local__port();
const INTEGER_template& local__port() const;
CHARSTRING_template& dest__address();
const CHARSTRING_template& dest__address() const;
INTEGER_template& dest__port();
const INTEGER_template& dest__port() const;
int size_of() const;
void log() const;
void log_match(const RTP__session__par& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class ASP__RTP__Open__session : public Base_Type {
  RTP__session__par field_session__id;
public:
  ASP__RTP__Open__session();
  ASP__RTP__Open__session(const RTP__session__par& par_session__id);
  ASP__RTP__Open__session(const ASP__RTP__Open__session& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ASP__RTP__Open__session& operator=(const ASP__RTP__Open__session& other_value);
  boolean operator==(const ASP__RTP__Open__session& other_value) const;
  inline boolean operator!=(const ASP__RTP__Open__session& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline RTP__session__par& session__id()
    {return field_session__id;}
  inline const RTP__session__par& session__id() const
    {return field_session__id;}
  inline int size_of() const
    {return 1;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class ASP__RTP__Open__session_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ASP__RTP__Open__session_template *list_value;
} value_list;
struct {
ASP__RTP__Open__session_template* precondition;
ASP__RTP__Open__session_template* implied_template;
} implication_;
dynmatch_struct<ASP__RTP__Open__session>* dyn_match;
};

void set_specific();
void copy_value(const ASP__RTP__Open__session& other_value);
void copy_template(const ASP__RTP__Open__session_template& other_value);

public:
ASP__RTP__Open__session_template();
ASP__RTP__Open__session_template(template_sel other_value);
ASP__RTP__Open__session_template(const ASP__RTP__Open__session& other_value);
ASP__RTP__Open__session_template(const OPTIONAL<ASP__RTP__Open__session>& other_value);
ASP__RTP__Open__session_template(ASP__RTP__Open__session_template* p_precondition, ASP__RTP__Open__session_template* p_implied_template);
ASP__RTP__Open__session_template(Dynamic_Match_Interface<ASP__RTP__Open__session>* p_dyn_match);
ASP__RTP__Open__session_template(const ASP__RTP__Open__session_template& other_value);
~ASP__RTP__Open__session_template();
ASP__RTP__Open__session_template& operator=(template_sel other_value);
ASP__RTP__Open__session_template& operator=(const ASP__RTP__Open__session& other_value);
ASP__RTP__Open__session_template& operator=(const OPTIONAL<ASP__RTP__Open__session>& other_value);
ASP__RTP__Open__session_template& operator=(const ASP__RTP__Open__session_template& other_value);
boolean match(const ASP__RTP__Open__session& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ASP__RTP__Open__session valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ASP__RTP__Open__session_template& list_item(unsigned int list_index) const;
RTP__session__par_template& session__id();
const RTP__session__par_template& session__id() const;
int size_of() const;
void log() const;
void log_match(const ASP__RTP__Open__session& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class ASP__RTP__Open__session__result : public Base_Type {
  RTP__session__par field_session__id;
public:
  ASP__RTP__Open__session__result();
  ASP__RTP__Open__session__result(const RTP__session__par& par_session__id);
  ASP__RTP__Open__session__result(const ASP__RTP__Open__session__result& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ASP__RTP__Open__session__result& operator=(const ASP__RTP__Open__session__result& other_value);
  boolean operator==(const ASP__RTP__Open__session__result& other_value) const;
  inline boolean operator!=(const ASP__RTP__Open__session__result& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline RTP__session__par& session__id()
    {return field_session__id;}
  inline const RTP__session__par& session__id() const
    {return field_session__id;}
  inline int size_of() const
    {return 1;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class ASP__RTP__Open__session__result_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ASP__RTP__Open__session__result_template *list_value;
} value_list;
struct {
ASP__RTP__Open__session__result_template* precondition;
ASP__RTP__Open__session__result_template* implied_template;
} implication_;
dynmatch_struct<ASP__RTP__Open__session__result>* dyn_match;
};

void set_specific();
void copy_value(const ASP__RTP__Open__session__result& other_value);
void copy_template(const ASP__RTP__Open__session__result_template& other_value);

public:
ASP__RTP__Open__session__result_template();
ASP__RTP__Open__session__result_template(template_sel other_value);
ASP__RTP__Open__session__result_template(const ASP__RTP__Open__session__result& other_value);
ASP__RTP__Open__session__result_template(const OPTIONAL<ASP__RTP__Open__session__result>& other_value);
ASP__RTP__Open__session__result_template(ASP__RTP__Open__session__result_template* p_precondition, ASP__RTP__Open__session__result_template* p_implied_template);
ASP__RTP__Open__session__result_template(Dynamic_Match_Interface<ASP__RTP__Open__session__result>* p_dyn_match);
ASP__RTP__Open__session__result_template(const ASP__RTP__Open__session__result_template& other_value);
~ASP__RTP__Open__session__result_template();
ASP__RTP__Open__session__result_template& operator=(template_sel other_value);
ASP__RTP__Open__session__result_template& operator=(const ASP__RTP__Open__session__result& other_value);
ASP__RTP__Open__session__result_template& operator=(const OPTIONAL<ASP__RTP__Open__session__result>& other_value);
ASP__RTP__Open__session__result_template& operator=(const ASP__RTP__Open__session__result_template& other_value);
boolean match(const ASP__RTP__Open__session__result& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ASP__RTP__Open__session__result valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ASP__RTP__Open__session__result_template& list_item(unsigned int list_index) const;
RTP__session__par_template& session__id();
const RTP__session__par_template& session__id() const;
int size_of() const;
void log() const;
void log_match(const ASP__RTP__Open__session__result& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class ASP__RTP__Close__session : public Base_Type {
  RTP__session__par field_session__id;
public:
  ASP__RTP__Close__session();
  ASP__RTP__Close__session(const RTP__session__par& par_session__id);
  ASP__RTP__Close__session(const ASP__RTP__Close__session& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ASP__RTP__Close__session& operator=(const ASP__RTP__Close__session& other_value);
  boolean operator==(const ASP__RTP__Close__session& other_value) const;
  inline boolean operator!=(const ASP__RTP__Close__session& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline RTP__session__par& session__id()
    {return field_session__id;}
  inline const RTP__session__par& session__id() const
    {return field_session__id;}
  inline int size_of() const
    {return 1;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class ASP__RTP__Close__session_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ASP__RTP__Close__session_template *list_value;
} value_list;
struct {
ASP__RTP__Close__session_template* precondition;
ASP__RTP__Close__session_template* implied_template;
} implication_;
dynmatch_struct<ASP__RTP__Close__session>* dyn_match;
};

void set_specific();
void copy_value(const ASP__RTP__Close__session& other_value);
void copy_template(const ASP__RTP__Close__session_template& other_value);

public:
ASP__RTP__Close__session_template();
ASP__RTP__Close__session_template(template_sel other_value);
ASP__RTP__Close__session_template(const ASP__RTP__Close__session& other_value);
ASP__RTP__Close__session_template(const OPTIONAL<ASP__RTP__Close__session>& other_value);
ASP__RTP__Close__session_template(ASP__RTP__Close__session_template* p_precondition, ASP__RTP__Close__session_template* p_implied_template);
ASP__RTP__Close__session_template(Dynamic_Match_Interface<ASP__RTP__Close__session>* p_dyn_match);
ASP__RTP__Close__session_template(const ASP__RTP__Close__session_template& other_value);
~ASP__RTP__Close__session_template();
ASP__RTP__Close__session_template& operator=(template_sel other_value);
ASP__RTP__Close__session_template& operator=(const ASP__RTP__Close__session& other_value);
ASP__RTP__Close__session_template& operator=(const OPTIONAL<ASP__RTP__Close__session>& other_value);
ASP__RTP__Close__session_template& operator=(const ASP__RTP__Close__session_template& other_value);
boolean match(const ASP__RTP__Close__session& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ASP__RTP__Close__session valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ASP__RTP__Close__session_template& list_item(unsigned int list_index) const;
RTP__session__par_template& session__id();
const RTP__session__par_template& session__id() const;
int size_of() const;
void log() const;
void log_match(const ASP__RTP__Close__session& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTP__messages__union : public Base_Type {
public:
enum union_selection_type { UNBOUND_VALUE = 0, ALT_rtcp = 1, ALT_rtp = 2, ALT_unknown__pdu = 3 };
private:
union_selection_type union_selection;
union {
PDU__RTCP *field_rtcp;
PDU__RTP *field_rtp;
OCTETSTRING *field_unknown__pdu;
};
void copy_value(const RTP__messages__union& other_value);

public:
RTP__messages__union();
RTP__messages__union(const RTP__messages__union& other_value);
~RTP__messages__union();
RTP__messages__union& operator=(const RTP__messages__union& other_value);
boolean operator==(const RTP__messages__union& other_value) const;
inline boolean operator!=(const RTP__messages__union& other_value) const { return !(*this == other_value); }
PDU__RTCP& rtcp();
const PDU__RTCP& rtcp() const;
PDU__RTP& rtp();
const PDU__RTP& rtp() const;
OCTETSTRING& unknown__pdu();
const OCTETSTRING& unknown__pdu() const;
inline union_selection_type get_selection() const { return union_selection; }
boolean ischosen(union_selection_type checked_selection) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
inline boolean is_present() const { return is_bound(); }
void log() const;
void set_param(Module_Param& param);
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class RTP__messages__union_template : public Base_Template {
union {
struct {
RTP__messages__union::union_selection_type union_selection;
union {
PDU__RTCP_template *field_rtcp;
PDU__RTP_template *field_rtp;
OCTETSTRING_template *field_unknown__pdu;
};
} single_value;
struct {
unsigned int n_values;
RTP__messages__union_template *list_value;
} value_list;
struct {
RTP__messages__union_template* precondition;
RTP__messages__union_template* implied_template;
} implication_;
dynmatch_struct<RTP__messages__union>* dyn_match;
};
void copy_value(const RTP__messages__union& other_value);

void copy_template(const RTP__messages__union_template& other_value);

public:
RTP__messages__union_template();
RTP__messages__union_template(template_sel other_value);
RTP__messages__union_template(const RTP__messages__union& other_value);
RTP__messages__union_template(const OPTIONAL<RTP__messages__union>& other_value);
RTP__messages__union_template(RTP__messages__union_template* p_precondition, RTP__messages__union_template* p_implied_template);
RTP__messages__union_template(Dynamic_Match_Interface<RTP__messages__union>* p_dyn_match);
RTP__messages__union_template(const RTP__messages__union_template& other_value);
~RTP__messages__union_template();
void clean_up();
RTP__messages__union_template& operator=(template_sel other_value);
RTP__messages__union_template& operator=(const RTP__messages__union& other_value);
RTP__messages__union_template& operator=(const OPTIONAL<RTP__messages__union>& other_value);
RTP__messages__union_template& operator=(const RTP__messages__union_template& other_value);
boolean match(const RTP__messages__union& other_value, boolean legacy = FALSE) const;
boolean is_value() const;RTP__messages__union valueof() const;
RTP__messages__union_template& list_item(unsigned int list_index) const;
void set_type(template_sel template_type, unsigned int list_length);
PDU__RTCP_template& rtcp();
const PDU__RTCP_template& rtcp() const;
PDU__RTP_template& rtp();
const PDU__RTP_template& rtp() const;
OCTETSTRING_template& unknown__pdu();
const OCTETSTRING_template& unknown__pdu() const;
boolean ischosen(RTP__messages__union::union_selection_type checked_selection) const;
void log() const;
void log_match(const RTP__messages__union& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
};

class ASP__RTP__message : public Base_Type {
  RTP__session__par field_session__id;
  RTP__messages__union field_data;
public:
  ASP__RTP__message();
  ASP__RTP__message(const RTP__session__par& par_session__id,
    const RTP__messages__union& par_data);
  ASP__RTP__message(const ASP__RTP__message& other_value);
  inline boolean is_component() { return FALSE; }
  void clean_up();
const TTCN_Typedescriptor_t* get_descriptor() const;
  ASP__RTP__message& operator=(const ASP__RTP__message& other_value);
  boolean operator==(const ASP__RTP__message& other_value) const;
  inline boolean operator!=(const ASP__RTP__message& other_value) const
    { return !(*this == other_value); }

  boolean is_bound() const;

inline boolean is_present() const { return is_bound(); }
  boolean is_value() const;

  inline RTP__session__par& session__id()
    {return field_session__id;}
  inline const RTP__session__par& session__id() const
    {return field_session__id;}
  inline RTP__messages__union& data()
    {return field_data;}
  inline const RTP__messages__union& data() const
    {return field_data;}
  inline int size_of() const
    {return 2;}
  void log() const;
  void set_implicit_omit();
  void set_param(Module_Param& param);
  void encode_text(Text_Buf& text_buf) const;
  void decode_text(Text_Buf& text_buf);
void encode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...) const;
void decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, ...);
int RAW_encode(const TTCN_Typedescriptor_t&, RAW_enc_tree&) const;
int RAW_decode(const TTCN_Typedescriptor_t&, TTCN_Buffer&, int, raw_order_t, boolean no_err=FALSE,int sel_field=-1, boolean first_call=TRUE, const RAW_Force_Omit* force_omit = NULL);
};

class ASP__RTP__message_template : public Base_Template {
struct single_value_struct;
union {
single_value_struct *single_value;
struct {
unsigned int n_values;
ASP__RTP__message_template *list_value;
} value_list;
struct {
ASP__RTP__message_template* precondition;
ASP__RTP__message_template* implied_template;
} implication_;
dynmatch_struct<ASP__RTP__message>* dyn_match;
};

void set_specific();
void copy_value(const ASP__RTP__message& other_value);
void copy_template(const ASP__RTP__message_template& other_value);

public:
ASP__RTP__message_template();
ASP__RTP__message_template(template_sel other_value);
ASP__RTP__message_template(const ASP__RTP__message& other_value);
ASP__RTP__message_template(const OPTIONAL<ASP__RTP__message>& other_value);
ASP__RTP__message_template(ASP__RTP__message_template* p_precondition, ASP__RTP__message_template* p_implied_template);
ASP__RTP__message_template(Dynamic_Match_Interface<ASP__RTP__message>* p_dyn_match);
ASP__RTP__message_template(const ASP__RTP__message_template& other_value);
~ASP__RTP__message_template();
ASP__RTP__message_template& operator=(template_sel other_value);
ASP__RTP__message_template& operator=(const ASP__RTP__message& other_value);
ASP__RTP__message_template& operator=(const OPTIONAL<ASP__RTP__message>& other_value);
ASP__RTP__message_template& operator=(const ASP__RTP__message_template& other_value);
boolean match(const ASP__RTP__message& other_value, boolean legacy = FALSE) const;
boolean is_bound() const;
boolean is_value() const;
void clean_up();
ASP__RTP__message valueof() const;
void set_type(template_sel template_type, unsigned int list_length);
ASP__RTP__message_template& list_item(unsigned int list_index) const;
RTP__session__par_template& session__id();
const RTP__session__par_template& session__id() const;
RTP__messages__union_template& data();
const RTP__messages__union_template& data() const;
int size_of() const;
void log() const;
void log_match(const ASP__RTP__message& match_value, boolean legacy = FALSE) const;
  void set_implicit_omit();
void encode_text(Text_Buf& text_buf) const;
void decode_text(Text_Buf& text_buf);
void set_param(Module_Param& param);
void check_restriction(template_res t_res, const char* t_name=NULL, boolean legacy = FALSE) const;
boolean is_present(boolean legacy = FALSE) const;
boolean match_omit(boolean legacy = FALSE) const;
};

class RTPasp__PT : public PORT {
enum msg_selection { MESSAGE_0, MESSAGE_1 };
struct msg_queue_item : public msg_queue_item_base {
msg_selection item_selection;
union {
ASP__RTP__Open__session__result *message_0;
ASP__RTP__message *message_1;
};
component sender_component;
};

void remove_msg_queue_head();
protected:
void clear_queue();
public:
RTPasp__PT(const char *par_port_name = NULL);
~RTPasp__PT();
void send(const ASP__RTP__Open__session& send_par, const COMPONENT& destination_component, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__Open__session& send_par, size_t nof_components, const COMPONENT* destination_components, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__Open__session& send_par, boolean broadcast = FALSE, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__Open__session_template& send_par, const COMPONENT& destination_component, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__Open__session_template& send_par, size_t nof_components, const COMPONENT* destination_components, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__Open__session_template& send_par, boolean broadcast = FALSE, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__Close__session& send_par, const COMPONENT& destination_component, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__Close__session& send_par, size_t nof_components, const COMPONENT* destination_components, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__Close__session& send_par, boolean broadcast = FALSE, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__Close__session_template& send_par, const COMPONENT& destination_component, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__Close__session_template& send_par, size_t nof_components, const COMPONENT* destination_components, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__Close__session_template& send_par, boolean broadcast = FALSE, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__message& send_par, const COMPONENT& destination_component, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__message& send_par, size_t nof_components, const COMPONENT* destination_components, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__message& send_par, boolean broadcast = FALSE, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__message_template& send_par, const COMPONENT& destination_component, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__message_template& send_par, size_t nof_components, const COMPONENT* destination_components, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__message_template& send_par, boolean broadcast = FALSE, FLOAT* timestamp_redirect = NULL);
public:
alt_status receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status check_receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status trigger(const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status receive(const ASP__RTP__Open__session__result_template& value_template, ASP__RTP__Open__session__result *value_redirect, const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status check_receive(const ASP__RTP__Open__session__result_template& value_template, ASP__RTP__Open__session__result *value_redirect, const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status trigger(const ASP__RTP__Open__session__result_template& value_template, ASP__RTP__Open__session__result *value_redirect, const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status receive(const ASP__RTP__message_template& value_template, ASP__RTP__message *value_redirect, const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status check_receive(const ASP__RTP__message_template& value_template, ASP__RTP__message *value_redirect, const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status trigger(const ASP__RTP__message_template& value_template, ASP__RTP__message *value_redirect, const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
private:
void incoming_message(const ASP__RTP__Open__session__result& incoming_par, component sender_component);
void incoming_message(const ASP__RTP__message& incoming_par, component sender_component);
protected:
boolean process_message(const char *message_type, Text_Buf& incoming_buf, component sender_component, OCTETSTRING& slider);
};

class RTPasp__SP__PT : public PORT {
enum msg_selection { MESSAGE_0, MESSAGE_1, MESSAGE_2 };
struct msg_queue_item : public msg_queue_item_base {
msg_selection item_selection;
union {
ASP__RTP__Open__session *message_0;
ASP__RTP__Close__session *message_1;
ASP__RTP__message *message_2;
};
component sender_component;
};

void remove_msg_queue_head();
protected:
void clear_queue();
public:
RTPasp__SP__PT(const char *par_port_name = NULL);
~RTPasp__SP__PT();
void send(const ASP__RTP__Open__session__result& send_par, const COMPONENT& destination_component, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__Open__session__result& send_par, size_t nof_components, const COMPONENT* destination_components, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__Open__session__result& send_par, boolean broadcast = FALSE, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__Open__session__result_template& send_par, const COMPONENT& destination_component, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__Open__session__result_template& send_par, size_t nof_components, const COMPONENT* destination_components, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__Open__session__result_template& send_par, boolean broadcast = FALSE, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__message& send_par, const COMPONENT& destination_component, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__message& send_par, size_t nof_components, const COMPONENT* destination_components, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__message& send_par, boolean broadcast = FALSE, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__message_template& send_par, const COMPONENT& destination_component, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__message_template& send_par, size_t nof_components, const COMPONENT* destination_components, FLOAT* timestamp_redirect = NULL);
void send(const ASP__RTP__message_template& send_par, boolean broadcast = FALSE, FLOAT* timestamp_redirect = NULL);
public:
alt_status receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status check_receive(const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status trigger(const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status receive(const ASP__RTP__Open__session_template& value_template, ASP__RTP__Open__session *value_redirect, const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status check_receive(const ASP__RTP__Open__session_template& value_template, ASP__RTP__Open__session *value_redirect, const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status trigger(const ASP__RTP__Open__session_template& value_template, ASP__RTP__Open__session *value_redirect, const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status receive(const ASP__RTP__Close__session_template& value_template, ASP__RTP__Close__session *value_redirect, const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status check_receive(const ASP__RTP__Close__session_template& value_template, ASP__RTP__Close__session *value_redirect, const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status trigger(const ASP__RTP__Close__session_template& value_template, ASP__RTP__Close__session *value_redirect, const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status receive(const ASP__RTP__message_template& value_template, ASP__RTP__message *value_redirect, const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status check_receive(const ASP__RTP__message_template& value_template, ASP__RTP__message *value_redirect, const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
alt_status trigger(const ASP__RTP__message_template& value_template, ASP__RTP__message *value_redirect, const COMPONENT_template& sender_template, COMPONENT *sender_ptr, FLOAT* timestamp_redirect, Index_Redirect*);
private:
void incoming_message(const ASP__RTP__Open__session& incoming_par, component sender_component);
void incoming_message(const ASP__RTP__Close__session& incoming_par, component sender_component);
void incoming_message(const ASP__RTP__message& incoming_par, component sender_component);
protected:
boolean process_message(const char *message_type, Text_Buf& incoming_buf, component sender_component, OCTETSTRING& slider);
};


/* Function prototypes */

extern OCTETSTRING f__RTP__enc(const RTP__messages__union& pdu);
extern RTP__messages__union f__RTP__dec(const OCTETSTRING& data);
extern OCTETSTRING f__RTP__packet__enc(const RTP__packet& pdu);
extern RTP__packet f__RTP__packet__dec(const OCTETSTRING& data);
extern OCTETSTRING f__RTCP__PDU__enc(const PDU__RTCP& pdu);
extern PDU__RTCP f__RTCP__PDU__dec(const OCTETSTRING& data);
extern void RTP__CSRC__list_encoder(const RTP__CSRC__list& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__CSRC__list_decoder(OCTETSTRING& input_stream, RTP__CSRC__list& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__field__ext__header_ext__header__length_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__field__ext__header_ext__header__length_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__field__ext__header_ext__header__data_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__field__ext__header_ext__header__data_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__field__ext__header_encoder(const RTP__field__ext__header& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__field__ext__header_decoder(OCTETSTRING& input_stream, RTP__field__ext__header& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__header_version_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__header_version_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__header_padding__ind_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__header_padding__ind_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__header_extension__ind_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__header_extension__ind_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__header_CSRC__count_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__header_CSRC__count_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__header_marker__bit_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__header_marker__bit_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__header_payload__type_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__header_payload__type_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__header_sequence__number_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__header_sequence__number_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__header_time__stamp_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__header_time__stamp_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__header_SSRC__id_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__header_SSRC__id_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__header_CSRCs_encoder(const RTP__CSRC__list& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__header_CSRCs_decoder(OCTETSTRING& input_stream, RTP__CSRC__list& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__header_ext__header_encoder(const RTP__field__ext__header& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__header_ext__header_decoder(OCTETSTRING& input_stream, RTP__field__ext__header& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__header_encoder(const RTP__header& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__header_decoder(OCTETSTRING& input_stream, RTP__header& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__packet_payload_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__packet_payload_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__packet_encoder(const RTP__packet& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__packet_decoder(OCTETSTRING& input_stream, RTP__packet& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__RTP_version_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__RTP_version_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__RTP_padding__ind_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__RTP_padding__ind_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__RTP_extension__ind_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__RTP_extension__ind_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__RTP_CSRC__count_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__RTP_CSRC__count_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__RTP_marker__bit_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__RTP_marker__bit_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__RTP_payload__type_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__RTP_payload__type_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__RTP_sequence__number_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__RTP_sequence__number_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__RTP_time__stamp_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__RTP_time__stamp_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__RTP_SSRC__id_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__RTP_SSRC__id_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__RTP_data_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__RTP_data_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__RTP_CSRCs_encoder(const RTP__CSRC__list& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__RTP_CSRCs_decoder(OCTETSTRING& input_stream, RTP__CSRC__list& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__RTP_ext__header_encoder(const RTP__field__ext__header& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__RTP_ext__header_decoder(OCTETSTRING& input_stream, RTP__field__ext__header& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void PDU__RTP_encoder(const PDU__RTP& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__RTP_decoder(OCTETSTRING& input_stream, PDU__RTP& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__field__sender__info_encoder(const RTCP__field__sender__info& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__field__sender__info_decoder(OCTETSTRING& input_stream, RTCP__field__sender__info& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__report_encoder(const RTCP__report& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__report_decoder(OCTETSTRING& input_stream, RTCP__report& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const RTCP__report__list& other_value);
inline boolean operator!=(null_type null_value, const RTCP__report__list& other_value) { return !(null_value == other_value); }
extern void RTCP__report__list_encoder(const RTCP__report__list& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__report__list_decoder(OCTETSTRING& input_stream, RTCP__report__list& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__SR_version_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__SR_version_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__SR_padding__ind_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__SR_padding__ind_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__SR_RR__count_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__SR_RR__count_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__SR_payload__type_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__SR_payload__type_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__SR_packet__length_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__SR_packet__length_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__SR_SSRC__id_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__SR_SSRC__id_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__SR_sender__info_encoder(const RTCP__field__sender__info& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__SR_sender__info_decoder(OCTETSTRING& input_stream, RTCP__field__sender__info& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__SR_report__list_encoder(const RTCP__report__list& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__SR_report__list_decoder(OCTETSTRING& input_stream, RTCP__report__list& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__SR_padding_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__SR_padding_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__SR_encoder(const RTCP__IE__SR& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__SR_decoder(OCTETSTRING& input_stream, RTCP__IE__SR& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__RR_version_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__RR_version_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__RR_padding__ind_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__RR_padding__ind_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__RR_RR__count_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__RR_RR__count_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__RR_payload__type_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__RR_payload__type_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__RR_packet__length_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__RR_packet__length_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__RR_SSRC__id_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__RR_SSRC__id_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__RR_report__list_encoder(const RTCP__report__list& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__RR_report__list_decoder(OCTETSTRING& input_stream, RTCP__report__list& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__RR_padding_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__RR_padding_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__RR_encoder(const RTCP__IE__RR& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__RR_decoder(OCTETSTRING& input_stream, RTCP__IE__RR& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__field__SDES_content__length_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__field__SDES_content__length_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__field__SDES_content_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__field__SDES_content_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__field__SDES_encoder(const RTCP__field__SDES& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__field__SDES_decoder(OCTETSTRING& input_stream, RTCP__field__SDES& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__field__PRIV_content__length_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__field__PRIV_content__length_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__field__PRIV_prefix__length_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__field__PRIV_prefix__length_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__field__PRIV_prefix_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__field__PRIV_prefix_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__field__PRIV_content_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__field__PRIV_content_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__field__PRIV_encoder(const RTCP__field__PRIV& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__field__PRIV_decoder(OCTETSTRING& input_stream, RTCP__field__PRIV& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__SDES__item_encoder(const RTCP__SDES__item& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__SDES__item_decoder(OCTETSTRING& input_stream, RTCP__SDES__item& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const RTCP__SDES__item__list& other_value);
inline boolean operator!=(null_type null_value, const RTCP__SDES__item__list& other_value) { return !(null_value == other_value); }
extern void RTCP__SDES__item__list_encoder(const RTCP__SDES__item__list& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__SDES__item__list_decoder(OCTETSTRING& input_stream, RTCP__SDES__item__list& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__SDES__chunk_encoder(const RTCP__SDES__chunk& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__SDES__chunk_decoder(OCTETSTRING& input_stream, RTCP__SDES__chunk& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const RTCP__SDES__chunk__list& other_value);
inline boolean operator!=(null_type null_value, const RTCP__SDES__chunk__list& other_value) { return !(null_value == other_value); }
extern void RTCP__SDES__chunk__list_encoder(const RTCP__SDES__chunk__list& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__SDES__chunk__list_decoder(OCTETSTRING& input_stream, RTCP__SDES__chunk__list& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__SDES_version_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__SDES_version_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__SDES_padding__ind_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__SDES_padding__ind_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__SDES_source__count_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__SDES_source__count_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__SDES_payload__type_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__SDES_payload__type_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__SDES_packet__length_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__SDES_packet__length_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__SDES_chunks_encoder(const RTCP__SDES__chunk__list& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__SDES_chunks_decoder(OCTETSTRING& input_stream, RTCP__SDES__chunk__list& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__SDES_padding_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__SDES_padding_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__SDES_encoder(const RTCP__IE__SDES& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__SDES_decoder(OCTETSTRING& input_stream, RTCP__IE__SDES& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__field__reason_reason__length_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__field__reason_reason__length_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__field__reason_reason_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__field__reason_reason_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__field__reason_encoder(const RTCP__field__reason& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__field__reason_decoder(OCTETSTRING& input_stream, RTCP__field__reason& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__BYE_version_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__BYE_version_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__BYE_padding__ind_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__BYE_padding__ind_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__BYE_source__count_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__BYE_source__count_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__BYE_payload__type_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__BYE_payload__type_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__BYE_packet__length_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__BYE_packet__length_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__BYE_SSRC__CSRC__ids_encoder(const RTP__CSRC__list& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__BYE_SSRC__CSRC__ids_decoder(OCTETSTRING& input_stream, RTP__CSRC__list& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__BYE_reason_encoder(const RTCP__field__reason& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__BYE_reason_decoder(OCTETSTRING& input_stream, RTCP__field__reason& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__BYE_padding_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__BYE_padding_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__BYE_encoder(const RTCP__IE__BYE& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__BYE_decoder(OCTETSTRING& input_stream, RTCP__IE__BYE& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__APP_version_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__APP_version_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__APP_padding__ind_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__APP_padding__ind_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__APP_sub__type_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__APP_sub__type_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__APP_payload__type_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__APP_payload__type_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__APP_packet__length_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__APP_packet__length_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__APP_SSRC__CSRC__id_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__APP_SSRC__CSRC__id_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__APP_name_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__APP_name_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__APP_appdata_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__APP_appdata_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__APP_padding_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__APP_padding_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__APP_encoder(const RTCP__IE__APP& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__APP_decoder(OCTETSTRING& input_stream, RTCP__IE__APP& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__RTPFB_version_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__RTPFB_version_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__RTPFB_padding__ind_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__RTPFB_padding__ind_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__RTPFB_fmt_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__RTPFB_fmt_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__RTPFB_payload__type_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__RTPFB_payload__type_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__RTPFB_packet__length_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__RTPFB_packet__length_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__RTPFB_SSRC__packet__sender_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__RTPFB_SSRC__packet__sender_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__RTPFB_SSRC__media__sender_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__RTPFB_SSRC__media__sender_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const RTCP__generic__NAKs& other_value);
inline boolean operator!=(null_type null_value, const RTCP__generic__NAKs& other_value) { return !(null_value == other_value); }
extern void RTCP__generic__NAK_encoder(const RTCP__generic__NAK& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__generic__NAK_decoder(OCTETSTRING& input_stream, RTCP__generic__NAK& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__generic__NAKs_encoder(const RTCP__generic__NAKs& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__generic__NAKs_decoder(OCTETSTRING& input_stream, RTCP__generic__NAKs& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const RTCP__RTPFB__TMMBRs& other_value);
inline boolean operator!=(null_type null_value, const RTCP__RTPFB__TMMBRs& other_value) { return !(null_value == other_value); }
extern void RTCP__RTPFB__TMMB_SSRC_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__RTPFB__TMMB_SSRC_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__RTPFB__TMMB_exp_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__RTPFB__TMMB_exp_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__RTPFB__TMMB_mantissa_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__RTPFB__TMMB_mantissa_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__RTPFB__TMMB_measured__overhead_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__RTPFB__TMMB_measured__overhead_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__RTPFB__TMMB_encoder(const RTCP__RTPFB__TMMB& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__RTPFB__TMMB_decoder(OCTETSTRING& input_stream, RTCP__RTPFB__TMMB& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__RTPFB__TMMBRs_encoder(const RTCP__RTPFB__TMMBRs& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__RTPFB__TMMBRs_decoder(OCTETSTRING& input_stream, RTCP__RTPFB__TMMBRs& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const RTCP__RTPFB__TMMBNs& other_value);
inline boolean operator!=(null_type null_value, const RTCP__RTPFB__TMMBNs& other_value) { return !(null_value == other_value); }
extern void RTCP__RTPFB__TMMBNs_encoder(const RTCP__RTPFB__TMMBNs& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__RTPFB__TMMBNs_decoder(OCTETSTRING& input_stream, RTCP__RTPFB__TMMBNs& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__RTPFB__union_unknown__fci_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__RTPFB__union_unknown__fci_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__RTPFB__union_encoder(const RTCP__RTPFB__union& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__RTPFB__union_decoder(OCTETSTRING& input_stream, RTCP__RTPFB__union& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__RTPFB_fci_encoder(const RTCP__RTPFB__union& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__RTPFB_fci_decoder(OCTETSTRING& input_stream, RTCP__RTPFB__union& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__RTPFB_padding_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__RTPFB_padding_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__RTPFB_encoder(const RTCP__IE__RTPFB& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__RTPFB_decoder(OCTETSTRING& input_stream, RTCP__IE__RTPFB& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void INT14b__BO__LAST_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER INT14b__BO__LAST_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__PSFB_version_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__PSFB_version_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__PSFB_padding__ind_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__PSFB_padding__ind_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__PSFB_fmt_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__PSFB_fmt_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__PSFB_payload__type_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__PSFB_payload__type_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__PSFB_packet__length_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__PSFB_packet__length_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__PSFB_SSRC__packet__sender_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__PSFB_SSRC__packet__sender_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__PSFB_SSRC__media__sender_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__PSFB_SSRC__media__sender_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const RTCP__PSFB__PLI& other_value);
inline boolean operator!=(null_type null_value, const RTCP__PSFB__PLI& other_value) { return !(null_value == other_value); }
extern void RTCP__PSFB__PLI_encoder(const RTCP__PSFB__PLI& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__PLI_decoder(OCTETSTRING& input_stream, RTCP__PSFB__PLI& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const RTCP__PSFB__SLIs& other_value);
inline boolean operator!=(null_type null_value, const RTCP__PSFB__SLIs& other_value) { return !(null_value == other_value); }
extern void RTCP__PSFB__SLI_first_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__SLI_first_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__PSFB__SLI_number_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__SLI_number_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__PSFB__SLI_picture__id_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__SLI_picture__id_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__PSFB__SLI_encoder(const RTCP__PSFB__SLI& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__SLI_decoder(OCTETSTRING& input_stream, RTCP__PSFB__SLI& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__PSFB__SLIs_encoder(const RTCP__PSFB__SLIs& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__SLIs_decoder(OCTETSTRING& input_stream, RTCP__PSFB__SLIs& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__PSFB__RPSI_rpsi__string_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__RPSI_rpsi__string_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__PSFB__RPSI_encoder(const RTCP__PSFB__RPSI& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__RPSI_decoder(OCTETSTRING& input_stream, RTCP__PSFB__RPSI& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const RTCP__PSFB__FIRs& other_value);
inline boolean operator!=(null_type null_value, const RTCP__PSFB__FIRs& other_value) { return !(null_value == other_value); }
extern void RTCP__PSFB__FIR_encoder(const RTCP__PSFB__FIR& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__FIR_decoder(OCTETSTRING& input_stream, RTCP__PSFB__FIR& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__PSFB__FIRs_encoder(const RTCP__PSFB__FIRs& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__FIRs_decoder(OCTETSTRING& input_stream, RTCP__PSFB__FIRs& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const RTCP__PSFB__TSTRs& other_value);
inline boolean operator!=(null_type null_value, const RTCP__PSFB__TSTRs& other_value) { return !(null_value == other_value); }
extern void RTCP__PSFB__TST_seq__no_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__TST_seq__no_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__PSFB__TST_index_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__TST_index_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__PSFB__TST_encoder(const RTCP__PSFB__TST& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__TST_decoder(OCTETSTRING& input_stream, RTCP__PSFB__TST& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__PSFB__TSTRs_encoder(const RTCP__PSFB__TSTRs& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__TSTRs_decoder(OCTETSTRING& input_stream, RTCP__PSFB__TSTRs& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const RTCP__PSFB__TSTNs& other_value);
inline boolean operator!=(null_type null_value, const RTCP__PSFB__TSTNs& other_value) { return !(null_value == other_value); }
extern void RTCP__PSFB__TSTNs_encoder(const RTCP__PSFB__TSTNs& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__TSTNs_decoder(OCTETSTRING& input_stream, RTCP__PSFB__TSTNs& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const RTCP__PSFB__VBCMs& other_value);
inline boolean operator!=(null_type null_value, const RTCP__PSFB__VBCMs& other_value) { return !(null_value == other_value); }
extern void RTCP__PSFB__VBCM_SSRC_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__VBCM_SSRC_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__PSFB__VBCM_seq__no_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__VBCM_seq__no_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__PSFB__VBCM_marker__bit_encoder(const BITSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__VBCM_marker__bit_decoder(OCTETSTRING& input_stream, BITSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__PSFB__VBCM_payload__type_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__VBCM_payload__type_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__PSFB__VBCM_vbcm__length_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__VBCM_vbcm__length_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__PSFB__VBCM_vbcm_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__VBCM_vbcm_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__PSFB__VBCM_encoder(const RTCP__PSFB__VBCM& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__VBCM_decoder(OCTETSTRING& input_stream, RTCP__PSFB__VBCM& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__PSFB__VBCMs_encoder(const RTCP__PSFB__VBCMs& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__VBCMs_decoder(OCTETSTRING& input_stream, RTCP__PSFB__VBCMs& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__PSFB__union_afb_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__union_afb_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__PSFB__union_unknown__fci_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__union_unknown__fci_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__PSFB__union_encoder(const RTCP__PSFB__union& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__PSFB__union_decoder(OCTETSTRING& input_stream, RTCP__PSFB__union& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__PSFB_fci_encoder(const RTCP__PSFB__union& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__PSFB_fci_decoder(OCTETSTRING& input_stream, RTCP__PSFB__union& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__PSFB_padding_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__PSFB_padding_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__IE__PSFB_encoder(const RTCP__IE__PSFB& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__IE__PSFB_decoder(OCTETSTRING& input_stream, RTCP__IE__PSFB& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTCP__message_encoder(const RTCP__message& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTCP__message_decoder(OCTETSTRING& input_stream, RTCP__message& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern boolean operator==(null_type null_value, const PDU__RTCP& other_value);
inline boolean operator!=(null_type null_value, const PDU__RTCP& other_value) { return !(null_value == other_value); }
extern void PDU__RTCP_encoder(const PDU__RTCP& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER PDU__RTCP_decoder(OCTETSTRING& input_stream, PDU__RTCP& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__session__par_id_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__session__par_id_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__session__par_local__address_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__session__par_local__address_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__session__par_local__port_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__session__par_local__port_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__session__par_dest__address_encoder(const CHARSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__session__par_dest__address_decoder(OCTETSTRING& input_stream, CHARSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__session__par_dest__port_encoder(const INTEGER& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__session__par_dest__port_decoder(OCTETSTRING& input_stream, INTEGER& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__session__par_encoder(const RTP__session__par& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__session__par_decoder(OCTETSTRING& input_stream, RTP__session__par& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ASP__RTP__Open__session_encoder(const ASP__RTP__Open__session& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ASP__RTP__Open__session_decoder(OCTETSTRING& input_stream, ASP__RTP__Open__session& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ASP__RTP__Open__session__result_encoder(const ASP__RTP__Open__session__result& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ASP__RTP__Open__session__result_decoder(OCTETSTRING& input_stream, ASP__RTP__Open__session__result& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ASP__RTP__Close__session_encoder(const ASP__RTP__Close__session& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ASP__RTP__Close__session_decoder(OCTETSTRING& input_stream, ASP__RTP__Close__session& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__messages__union_unknown__pdu_encoder(const OCTETSTRING& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__messages__union_unknown__pdu_decoder(OCTETSTRING& input_stream, OCTETSTRING& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void RTP__messages__union_encoder(const RTP__messages__union& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER RTP__messages__union_decoder(OCTETSTRING& input_stream, RTP__messages__union& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern void ASP__RTP__message_encoder(const ASP__RTP__message& input_value, OCTETSTRING& output_stream, const UNIVERSAL_CHARSTRING& coding_name);
extern INTEGER ASP__RTP__message_decoder(OCTETSTRING& input_stream, ASP__RTP__message& output_value, const UNIVERSAL_CHARSTRING& coding_name);
extern alt_status done(const COMPONENT& component_reference, const ASP__RTP__message_template& value_template, ASP__RTP__message *value_redirect, Index_Redirect*);
extern void pre_init_module();
extern void post_init_module();

/* Global variable declarations */

extern const TTCN_RAWdescriptor_t RTP__CSRC__list_raw_;
extern const TTCN_Typedescriptor_t RTP__CSRC__list_descr_;
extern const XERdescriptor_t RTP__CSRC__list_0_xer_;
extern const TTCN_OERdescriptor_t RTP__CSRC__list_0_oer_;
extern const TTCN_Typedescriptor_t RTP__CSRC__list_0_descr_;
extern UNIVERSAL_CHARSTRING RTP__CSRC__list_0_default_coding;
extern UNIVERSAL_CHARSTRING RTP__CSRC__list_default_coding;
extern const XERdescriptor_t RTP__field__ext__header_ext__header__id_xer_;
extern const TTCN_OERdescriptor_t RTP__field__ext__header_ext__header__id_oer_;
extern const TTCN_Typedescriptor_t RTP__field__ext__header_ext__header__id_descr_;
extern UNIVERSAL_CHARSTRING RTP__field__ext__header_ext__header__id_default_coding;
extern const TTCN_RAWdescriptor_t RTP__field__ext__header_ext__header__length_raw_;
extern const XERdescriptor_t RTP__field__ext__header_ext__header__length_xer_;
extern const TTCN_OERdescriptor_t RTP__field__ext__header_ext__header__length_oer_;
extern const TTCN_Typedescriptor_t RTP__field__ext__header_ext__header__length_descr_;
extern UNIVERSAL_CHARSTRING RTP__field__ext__header_ext__header__length_default_coding;
extern const TTCN_RAWdescriptor_t RTP__field__ext__header_raw_;
extern const TTCN_Typedescriptor_t RTP__field__ext__header_descr_;
extern const XERdescriptor_t RTP__field__ext__header_ext__header__data_xer_;
extern const TTCN_OERdescriptor_t RTP__field__ext__header_ext__header__data_oer_;
extern const TTCN_Typedescriptor_t RTP__field__ext__header_ext__header__data_descr_;
extern UNIVERSAL_CHARSTRING RTP__field__ext__header_ext__header__data_default_coding;
extern UNIVERSAL_CHARSTRING RTP__field__ext__header_default_coding;
extern const TTCN_RAWdescriptor_t RTP__header_version_raw_;
extern const XERdescriptor_t RTP__header_version_xer_;
extern const TTCN_OERdescriptor_t RTP__header_version_oer_;
extern const TTCN_Typedescriptor_t RTP__header_version_descr_;
extern UNIVERSAL_CHARSTRING RTP__header_version_default_coding;
extern const TTCN_RAWdescriptor_t RTP__header_padding__ind_raw_;
extern const XERdescriptor_t RTP__header_padding__ind_xer_;
extern const TTCN_OERdescriptor_t RTP__header_padding__ind_oer_;
extern const TTCN_Typedescriptor_t RTP__header_padding__ind_descr_;
extern UNIVERSAL_CHARSTRING RTP__header_padding__ind_default_coding;
extern const TTCN_RAWdescriptor_t RTP__header_extension__ind_raw_;
extern const XERdescriptor_t RTP__header_extension__ind_xer_;
extern const TTCN_OERdescriptor_t RTP__header_extension__ind_oer_;
extern const TTCN_Typedescriptor_t RTP__header_extension__ind_descr_;
extern UNIVERSAL_CHARSTRING RTP__header_extension__ind_default_coding;
extern const TTCN_RAWdescriptor_t RTP__header_CSRC__count_raw_;
extern const XERdescriptor_t RTP__header_CSRC__count_xer_;
extern const TTCN_OERdescriptor_t RTP__header_CSRC__count_oer_;
extern const TTCN_Typedescriptor_t RTP__header_CSRC__count_descr_;
extern UNIVERSAL_CHARSTRING RTP__header_CSRC__count_default_coding;
extern const TTCN_RAWdescriptor_t RTP__header_marker__bit_raw_;
extern const XERdescriptor_t RTP__header_marker__bit_xer_;
extern const TTCN_OERdescriptor_t RTP__header_marker__bit_oer_;
extern const TTCN_Typedescriptor_t RTP__header_marker__bit_descr_;
extern UNIVERSAL_CHARSTRING RTP__header_marker__bit_default_coding;
extern const TTCN_RAWdescriptor_t RTP__header_payload__type_raw_;
extern const XERdescriptor_t RTP__header_payload__type_xer_;
extern const TTCN_OERdescriptor_t RTP__header_payload__type_oer_;
extern const TTCN_Typedescriptor_t RTP__header_payload__type_descr_;
extern UNIVERSAL_CHARSTRING RTP__header_payload__type_default_coding;
extern const TTCN_RAWdescriptor_t RTP__header_sequence__number_raw_;
extern const XERdescriptor_t RTP__header_sequence__number_xer_;
extern const TTCN_OERdescriptor_t RTP__header_sequence__number_oer_;
extern const TTCN_Typedescriptor_t RTP__header_sequence__number_descr_;
extern UNIVERSAL_CHARSTRING RTP__header_sequence__number_default_coding;
extern const TTCN_RAWdescriptor_t RTP__header_time__stamp_raw_;
extern const XERdescriptor_t RTP__header_time__stamp_xer_;
extern const TTCN_OERdescriptor_t RTP__header_time__stamp_oer_;
extern const TTCN_Typedescriptor_t RTP__header_time__stamp_descr_;
extern UNIVERSAL_CHARSTRING RTP__header_time__stamp_default_coding;
extern const TTCN_RAWdescriptor_t RTP__header_SSRC__id_raw_;
extern const XERdescriptor_t RTP__header_SSRC__id_xer_;
extern const TTCN_OERdescriptor_t RTP__header_SSRC__id_oer_;
extern const TTCN_Typedescriptor_t RTP__header_SSRC__id_descr_;
extern UNIVERSAL_CHARSTRING RTP__header_SSRC__id_default_coding;
extern const TTCN_RAWdescriptor_t RTP__header_raw_;
extern const TTCN_Typedescriptor_t RTP__header_descr_;
extern const TTCN_RAWdescriptor_t RTP__header_CSRCs_raw_;
extern const TTCN_Typedescriptor_t RTP__header_CSRCs_descr_;
extern UNIVERSAL_CHARSTRING RTP__header_CSRCs_default_coding;
extern const TTCN_RAWdescriptor_t RTP__header_ext__header_raw_;
extern const TTCN_Typedescriptor_t RTP__header_ext__header_descr_;
extern UNIVERSAL_CHARSTRING RTP__header_ext__header_default_coding;
extern UNIVERSAL_CHARSTRING RTP__header_default_coding;
extern UNIVERSAL_CHARSTRING RTP__packet_header_default_coding;
extern const XERdescriptor_t RTP__packet_payload_xer_;
extern const TTCN_OERdescriptor_t RTP__packet_payload_oer_;
extern const TTCN_Typedescriptor_t RTP__packet_payload_descr_;
extern UNIVERSAL_CHARSTRING RTP__packet_payload_default_coding;
extern const TTCN_RAWdescriptor_t RTP__packet_raw_;
extern const TTCN_Typedescriptor_t RTP__packet_descr_;
extern UNIVERSAL_CHARSTRING RTP__packet_default_coding;
extern const TTCN_RAWdescriptor_t PDU__RTP_version_raw_;
extern const XERdescriptor_t PDU__RTP_version_xer_;
extern const TTCN_OERdescriptor_t PDU__RTP_version_oer_;
extern const TTCN_Typedescriptor_t PDU__RTP_version_descr_;
extern UNIVERSAL_CHARSTRING PDU__RTP_version_default_coding;
extern const TTCN_RAWdescriptor_t PDU__RTP_padding__ind_raw_;
extern const XERdescriptor_t PDU__RTP_padding__ind_xer_;
extern const TTCN_OERdescriptor_t PDU__RTP_padding__ind_oer_;
extern const TTCN_Typedescriptor_t PDU__RTP_padding__ind_descr_;
extern UNIVERSAL_CHARSTRING PDU__RTP_padding__ind_default_coding;
extern const TTCN_RAWdescriptor_t PDU__RTP_extension__ind_raw_;
extern const XERdescriptor_t PDU__RTP_extension__ind_xer_;
extern const TTCN_OERdescriptor_t PDU__RTP_extension__ind_oer_;
extern const TTCN_Typedescriptor_t PDU__RTP_extension__ind_descr_;
extern UNIVERSAL_CHARSTRING PDU__RTP_extension__ind_default_coding;
extern const TTCN_RAWdescriptor_t PDU__RTP_CSRC__count_raw_;
extern const XERdescriptor_t PDU__RTP_CSRC__count_xer_;
extern const TTCN_OERdescriptor_t PDU__RTP_CSRC__count_oer_;
extern const TTCN_Typedescriptor_t PDU__RTP_CSRC__count_descr_;
extern UNIVERSAL_CHARSTRING PDU__RTP_CSRC__count_default_coding;
extern const TTCN_RAWdescriptor_t PDU__RTP_marker__bit_raw_;
extern const XERdescriptor_t PDU__RTP_marker__bit_xer_;
extern const TTCN_OERdescriptor_t PDU__RTP_marker__bit_oer_;
extern const TTCN_Typedescriptor_t PDU__RTP_marker__bit_descr_;
extern UNIVERSAL_CHARSTRING PDU__RTP_marker__bit_default_coding;
extern const TTCN_RAWdescriptor_t PDU__RTP_payload__type_raw_;
extern const XERdescriptor_t PDU__RTP_payload__type_xer_;
extern const TTCN_OERdescriptor_t PDU__RTP_payload__type_oer_;
extern const TTCN_Typedescriptor_t PDU__RTP_payload__type_descr_;
extern UNIVERSAL_CHARSTRING PDU__RTP_payload__type_default_coding;
extern const TTCN_RAWdescriptor_t PDU__RTP_sequence__number_raw_;
extern const XERdescriptor_t PDU__RTP_sequence__number_xer_;
extern const TTCN_OERdescriptor_t PDU__RTP_sequence__number_oer_;
extern const TTCN_Typedescriptor_t PDU__RTP_sequence__number_descr_;
extern UNIVERSAL_CHARSTRING PDU__RTP_sequence__number_default_coding;
extern const TTCN_RAWdescriptor_t PDU__RTP_time__stamp_raw_;
extern const XERdescriptor_t PDU__RTP_time__stamp_xer_;
extern const TTCN_OERdescriptor_t PDU__RTP_time__stamp_oer_;
extern const TTCN_Typedescriptor_t PDU__RTP_time__stamp_descr_;
extern UNIVERSAL_CHARSTRING PDU__RTP_time__stamp_default_coding;
extern const TTCN_RAWdescriptor_t PDU__RTP_SSRC__id_raw_;
extern const XERdescriptor_t PDU__RTP_SSRC__id_xer_;
extern const TTCN_OERdescriptor_t PDU__RTP_SSRC__id_oer_;
extern const TTCN_Typedescriptor_t PDU__RTP_SSRC__id_descr_;
extern UNIVERSAL_CHARSTRING PDU__RTP_SSRC__id_default_coding;
extern const TTCN_RAWdescriptor_t PDU__RTP_data_raw_;
extern const XERdescriptor_t PDU__RTP_data_xer_;
extern const TTCN_OERdescriptor_t PDU__RTP_data_oer_;
extern const TTCN_Typedescriptor_t PDU__RTP_data_descr_;
extern UNIVERSAL_CHARSTRING PDU__RTP_data_default_coding;
extern const TTCN_RAWdescriptor_t PDU__RTP_raw_;
extern const TTCN_Typedescriptor_t PDU__RTP_descr_;
extern const TTCN_RAWdescriptor_t PDU__RTP_CSRCs_raw_;
extern const TTCN_Typedescriptor_t PDU__RTP_CSRCs_descr_;
extern UNIVERSAL_CHARSTRING PDU__RTP_CSRCs_default_coding;
extern const TTCN_RAWdescriptor_t PDU__RTP_ext__header_raw_;
extern const TTCN_Typedescriptor_t PDU__RTP_ext__header_descr_;
extern UNIVERSAL_CHARSTRING PDU__RTP_ext__header_default_coding;
extern UNIVERSAL_CHARSTRING PDU__RTP_default_coding;
extern const XERdescriptor_t RTCP__field__sender__info_NTP__timestamp__MSW_xer_;
extern const TTCN_OERdescriptor_t RTCP__field__sender__info_NTP__timestamp__MSW_oer_;
extern const TTCN_Typedescriptor_t RTCP__field__sender__info_NTP__timestamp__MSW_descr_;
extern UNIVERSAL_CHARSTRING RTCP__field__sender__info_NTP__timestamp__MSW_default_coding;
extern const XERdescriptor_t RTCP__field__sender__info_NTP__timestamp__LSW_xer_;
extern const TTCN_OERdescriptor_t RTCP__field__sender__info_NTP__timestamp__LSW_oer_;
extern const TTCN_Typedescriptor_t RTCP__field__sender__info_NTP__timestamp__LSW_descr_;
extern UNIVERSAL_CHARSTRING RTCP__field__sender__info_NTP__timestamp__LSW_default_coding;
extern const XERdescriptor_t RTCP__field__sender__info_RTP__timestamp_xer_;
extern const TTCN_OERdescriptor_t RTCP__field__sender__info_RTP__timestamp_oer_;
extern const TTCN_Typedescriptor_t RTCP__field__sender__info_RTP__timestamp_descr_;
extern UNIVERSAL_CHARSTRING RTCP__field__sender__info_RTP__timestamp_default_coding;
extern const XERdescriptor_t RTCP__field__sender__info_senders__packet__count_xer_;
extern const TTCN_OERdescriptor_t RTCP__field__sender__info_senders__packet__count_oer_;
extern const TTCN_Typedescriptor_t RTCP__field__sender__info_senders__packet__count_descr_;
extern UNIVERSAL_CHARSTRING RTCP__field__sender__info_senders__packet__count_default_coding;
extern const XERdescriptor_t RTCP__field__sender__info_senders__octet__count_xer_;
extern const TTCN_OERdescriptor_t RTCP__field__sender__info_senders__octet__count_oer_;
extern const TTCN_Typedescriptor_t RTCP__field__sender__info_senders__octet__count_descr_;
extern UNIVERSAL_CHARSTRING RTCP__field__sender__info_senders__octet__count_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__field__sender__info_raw_;
extern const TTCN_Typedescriptor_t RTCP__field__sender__info_descr_;
extern UNIVERSAL_CHARSTRING RTCP__field__sender__info_default_coding;
extern const XERdescriptor_t RTCP__report_SSRC__id_xer_;
extern const TTCN_OERdescriptor_t RTCP__report_SSRC__id_oer_;
extern const TTCN_Typedescriptor_t RTCP__report_SSRC__id_descr_;
extern UNIVERSAL_CHARSTRING RTCP__report_SSRC__id_default_coding;
extern const XERdescriptor_t RTCP__report_farction__lost_xer_;
extern const TTCN_OERdescriptor_t RTCP__report_farction__lost_oer_;
extern const TTCN_Typedescriptor_t RTCP__report_farction__lost_descr_;
extern UNIVERSAL_CHARSTRING RTCP__report_farction__lost_default_coding;
extern const XERdescriptor_t RTCP__report_number__lost__packet_xer_;
extern const TTCN_OERdescriptor_t RTCP__report_number__lost__packet_oer_;
extern const TTCN_Typedescriptor_t RTCP__report_number__lost__packet_descr_;
extern UNIVERSAL_CHARSTRING RTCP__report_number__lost__packet_default_coding;
extern const XERdescriptor_t RTCP__report_highest__seq__num_xer_;
extern const TTCN_OERdescriptor_t RTCP__report_highest__seq__num_oer_;
extern const TTCN_Typedescriptor_t RTCP__report_highest__seq__num_descr_;
extern UNIVERSAL_CHARSTRING RTCP__report_highest__seq__num_default_coding;
extern const XERdescriptor_t RTCP__report_jitter_xer_;
extern const TTCN_OERdescriptor_t RTCP__report_jitter_oer_;
extern const TTCN_Typedescriptor_t RTCP__report_jitter_descr_;
extern UNIVERSAL_CHARSTRING RTCP__report_jitter_default_coding;
extern const XERdescriptor_t RTCP__report_last__SR__time__stamp_xer_;
extern const TTCN_OERdescriptor_t RTCP__report_last__SR__time__stamp_oer_;
extern const TTCN_Typedescriptor_t RTCP__report_last__SR__time__stamp_descr_;
extern UNIVERSAL_CHARSTRING RTCP__report_last__SR__time__stamp_default_coding;
extern const XERdescriptor_t RTCP__report_delay__since__SR_xer_;
extern const TTCN_OERdescriptor_t RTCP__report_delay__since__SR_oer_;
extern const TTCN_Typedescriptor_t RTCP__report_delay__since__SR_descr_;
extern UNIVERSAL_CHARSTRING RTCP__report_delay__since__SR_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__report_raw_;
extern const TTCN_Typedescriptor_t RTCP__report_descr_;
extern UNIVERSAL_CHARSTRING RTCP__report_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__report__list_raw_;
extern const TTCN_Typedescriptor_t RTCP__report__list_descr_;
extern UNIVERSAL_CHARSTRING RTCP__report__list_0_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__report__list_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__SR_version_raw_;
extern const XERdescriptor_t RTCP__IE__SR_version_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__SR_version_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__SR_version_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__SR_version_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__SR_padding__ind_raw_;
extern const XERdescriptor_t RTCP__IE__SR_padding__ind_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__SR_padding__ind_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__SR_padding__ind_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__SR_padding__ind_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__SR_RR__count_raw_;
extern const XERdescriptor_t RTCP__IE__SR_RR__count_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__SR_RR__count_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__SR_RR__count_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__SR_RR__count_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__SR_payload__type_raw_;
extern const XERdescriptor_t RTCP__IE__SR_payload__type_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__SR_payload__type_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__SR_payload__type_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__SR_payload__type_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__SR_packet__length_raw_;
extern const XERdescriptor_t RTCP__IE__SR_packet__length_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__SR_packet__length_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__SR_packet__length_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__SR_packet__length_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__SR_SSRC__id_raw_;
extern const XERdescriptor_t RTCP__IE__SR_SSRC__id_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__SR_SSRC__id_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__SR_SSRC__id_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__SR_SSRC__id_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__SR_sender__info_raw_;
extern const TTCN_Typedescriptor_t RTCP__IE__SR_sender__info_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__SR_sender__info_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__SR_raw_;
extern const TTCN_Typedescriptor_t RTCP__IE__SR_descr_;
extern const TTCN_RAWdescriptor_t RTCP__IE__SR_report__list_raw_;
extern const TTCN_Typedescriptor_t RTCP__IE__SR_report__list_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__SR_report__list_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__SR_padding_raw_;
extern const XERdescriptor_t RTCP__IE__SR_padding_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__SR_padding_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__SR_padding_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__SR_padding_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__IE__SR_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__RR_version_raw_;
extern const XERdescriptor_t RTCP__IE__RR_version_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__RR_version_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__RR_version_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__RR_version_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__RR_padding__ind_raw_;
extern const XERdescriptor_t RTCP__IE__RR_padding__ind_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__RR_padding__ind_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__RR_padding__ind_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__RR_padding__ind_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__RR_RR__count_raw_;
extern const XERdescriptor_t RTCP__IE__RR_RR__count_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__RR_RR__count_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__RR_RR__count_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__RR_RR__count_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__RR_payload__type_raw_;
extern const XERdescriptor_t RTCP__IE__RR_payload__type_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__RR_payload__type_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__RR_payload__type_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__RR_payload__type_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__RR_packet__length_raw_;
extern const XERdescriptor_t RTCP__IE__RR_packet__length_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__RR_packet__length_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__RR_packet__length_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__RR_packet__length_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__RR_SSRC__id_raw_;
extern const XERdescriptor_t RTCP__IE__RR_SSRC__id_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__RR_SSRC__id_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__RR_SSRC__id_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__RR_SSRC__id_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__RR_raw_;
extern const TTCN_Typedescriptor_t RTCP__IE__RR_descr_;
extern const TTCN_RAWdescriptor_t RTCP__IE__RR_report__list_raw_;
extern const TTCN_Typedescriptor_t RTCP__IE__RR_report__list_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__RR_report__list_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__RR_padding_raw_;
extern const XERdescriptor_t RTCP__IE__RR_padding_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__RR_padding_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__RR_padding_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__RR_padding_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__IE__RR_default_coding;
extern const XERdescriptor_t RTCP__field__SDES_id_xer_;
extern const TTCN_OERdescriptor_t RTCP__field__SDES_id_oer_;
extern const TTCN_Typedescriptor_t RTCP__field__SDES_id_descr_;
extern UNIVERSAL_CHARSTRING RTCP__field__SDES_id_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__field__SDES_content__length_raw_;
extern const XERdescriptor_t RTCP__field__SDES_content__length_xer_;
extern const TTCN_OERdescriptor_t RTCP__field__SDES_content__length_oer_;
extern const TTCN_Typedescriptor_t RTCP__field__SDES_content__length_descr_;
extern UNIVERSAL_CHARSTRING RTCP__field__SDES_content__length_default_coding;
extern const XERdescriptor_t RTCP__field__SDES_content_xer_;
extern const TTCN_Typedescriptor_t RTCP__field__SDES_content_descr_;
extern UNIVERSAL_CHARSTRING RTCP__field__SDES_content_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__field__SDES_raw_;
extern const TTCN_Typedescriptor_t RTCP__field__SDES_descr_;
extern UNIVERSAL_CHARSTRING RTCP__field__SDES_default_coding;
extern const XERdescriptor_t RTCP__field__PRIV_id_xer_;
extern const TTCN_OERdescriptor_t RTCP__field__PRIV_id_oer_;
extern const TTCN_Typedescriptor_t RTCP__field__PRIV_id_descr_;
extern UNIVERSAL_CHARSTRING RTCP__field__PRIV_id_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__field__PRIV_content__length_raw_;
extern const XERdescriptor_t RTCP__field__PRIV_content__length_xer_;
extern const TTCN_OERdescriptor_t RTCP__field__PRIV_content__length_oer_;
extern const TTCN_Typedescriptor_t RTCP__field__PRIV_content__length_descr_;
extern UNIVERSAL_CHARSTRING RTCP__field__PRIV_content__length_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__field__PRIV_prefix__length_raw_;
extern const XERdescriptor_t RTCP__field__PRIV_prefix__length_xer_;
extern const TTCN_OERdescriptor_t RTCP__field__PRIV_prefix__length_oer_;
extern const TTCN_Typedescriptor_t RTCP__field__PRIV_prefix__length_descr_;
extern UNIVERSAL_CHARSTRING RTCP__field__PRIV_prefix__length_default_coding;
extern const XERdescriptor_t RTCP__field__PRIV_prefix_xer_;
extern const TTCN_Typedescriptor_t RTCP__field__PRIV_prefix_descr_;
extern UNIVERSAL_CHARSTRING RTCP__field__PRIV_prefix_default_coding;
extern const XERdescriptor_t RTCP__field__PRIV_content_xer_;
extern const TTCN_Typedescriptor_t RTCP__field__PRIV_content_descr_;
extern UNIVERSAL_CHARSTRING RTCP__field__PRIV_content_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__field__PRIV_raw_;
extern const TTCN_Typedescriptor_t RTCP__field__PRIV_descr_;
extern UNIVERSAL_CHARSTRING RTCP__field__PRIV_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__SDES__item_raw_;
extern const TTCN_Typedescriptor_t RTCP__SDES__item_descr_;
extern UNIVERSAL_CHARSTRING RTCP__SDES__item_cname_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__SDES__item_name_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__SDES__item_email_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__SDES__item_phone_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__SDES__item_loc_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__SDES__item_tool_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__SDES__item_note_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__SDES__item_priv_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__SDES__item_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__SDES__item__list_raw_;
extern const TTCN_Typedescriptor_t RTCP__SDES__item__list_descr_;
extern UNIVERSAL_CHARSTRING RTCP__SDES__item__list_0_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__SDES__item__list_default_coding;
extern const XERdescriptor_t RTCP__SDES__chunk_SSRC__CSRC__id_xer_;
extern const TTCN_OERdescriptor_t RTCP__SDES__chunk_SSRC__CSRC__id_oer_;
extern const TTCN_Typedescriptor_t RTCP__SDES__chunk_SSRC__CSRC__id_descr_;
extern UNIVERSAL_CHARSTRING RTCP__SDES__chunk_SSRC__CSRC__id_default_coding;
extern const XERdescriptor_t RTCP__SDES__chunk_end__of__list_xer_;
extern const TTCN_OERdescriptor_t RTCP__SDES__chunk_end__of__list_oer_;
extern const TTCN_Typedescriptor_t RTCP__SDES__chunk_end__of__list_descr_;
extern UNIVERSAL_CHARSTRING RTCP__SDES__chunk_end__of__list_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__SDES__chunk_raw_;
extern const TTCN_Typedescriptor_t RTCP__SDES__chunk_descr_;
extern UNIVERSAL_CHARSTRING RTCP__SDES__chunk_SDES__items_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__SDES__chunk_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__SDES__chunk__list_raw_;
extern const TTCN_Typedescriptor_t RTCP__SDES__chunk__list_descr_;
extern UNIVERSAL_CHARSTRING RTCP__SDES__chunk__list_0_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__SDES__chunk__list_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__SDES_version_raw_;
extern const XERdescriptor_t RTCP__IE__SDES_version_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__SDES_version_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__SDES_version_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__SDES_version_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__SDES_padding__ind_raw_;
extern const XERdescriptor_t RTCP__IE__SDES_padding__ind_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__SDES_padding__ind_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__SDES_padding__ind_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__SDES_padding__ind_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__SDES_source__count_raw_;
extern const XERdescriptor_t RTCP__IE__SDES_source__count_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__SDES_source__count_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__SDES_source__count_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__SDES_source__count_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__SDES_payload__type_raw_;
extern const XERdescriptor_t RTCP__IE__SDES_payload__type_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__SDES_payload__type_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__SDES_payload__type_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__SDES_payload__type_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__SDES_packet__length_raw_;
extern const XERdescriptor_t RTCP__IE__SDES_packet__length_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__SDES_packet__length_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__SDES_packet__length_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__SDES_packet__length_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__SDES_raw_;
extern const TTCN_Typedescriptor_t RTCP__IE__SDES_descr_;
extern const TTCN_RAWdescriptor_t RTCP__IE__SDES_chunks_raw_;
extern const TTCN_Typedescriptor_t RTCP__IE__SDES_chunks_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__SDES_chunks_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__SDES_padding_raw_;
extern const XERdescriptor_t RTCP__IE__SDES_padding_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__SDES_padding_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__SDES_padding_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__SDES_padding_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__IE__SDES_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__field__reason_reason__length_raw_;
extern const XERdescriptor_t RTCP__field__reason_reason__length_xer_;
extern const TTCN_OERdescriptor_t RTCP__field__reason_reason__length_oer_;
extern const TTCN_Typedescriptor_t RTCP__field__reason_reason__length_descr_;
extern UNIVERSAL_CHARSTRING RTCP__field__reason_reason__length_default_coding;
extern const XERdescriptor_t RTCP__field__reason_reason_xer_;
extern const TTCN_Typedescriptor_t RTCP__field__reason_reason_descr_;
extern UNIVERSAL_CHARSTRING RTCP__field__reason_reason_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__field__reason_raw_;
extern const TTCN_Typedescriptor_t RTCP__field__reason_descr_;
extern UNIVERSAL_CHARSTRING RTCP__field__reason_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__BYE_version_raw_;
extern const XERdescriptor_t RTCP__IE__BYE_version_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__BYE_version_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__BYE_version_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__BYE_version_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__BYE_padding__ind_raw_;
extern const XERdescriptor_t RTCP__IE__BYE_padding__ind_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__BYE_padding__ind_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__BYE_padding__ind_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__BYE_padding__ind_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__BYE_source__count_raw_;
extern const XERdescriptor_t RTCP__IE__BYE_source__count_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__BYE_source__count_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__BYE_source__count_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__BYE_source__count_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__BYE_payload__type_raw_;
extern const XERdescriptor_t RTCP__IE__BYE_payload__type_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__BYE_payload__type_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__BYE_payload__type_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__BYE_payload__type_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__BYE_packet__length_raw_;
extern const XERdescriptor_t RTCP__IE__BYE_packet__length_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__BYE_packet__length_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__BYE_packet__length_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__BYE_packet__length_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__BYE_raw_;
extern const TTCN_Typedescriptor_t RTCP__IE__BYE_descr_;
extern const TTCN_RAWdescriptor_t RTCP__IE__BYE_SSRC__CSRC__ids_raw_;
extern const TTCN_Typedescriptor_t RTCP__IE__BYE_SSRC__CSRC__ids_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__BYE_SSRC__CSRC__ids_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__BYE_reason_raw_;
extern const TTCN_Typedescriptor_t RTCP__IE__BYE_reason_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__BYE_reason_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__BYE_padding_raw_;
extern const XERdescriptor_t RTCP__IE__BYE_padding_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__BYE_padding_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__BYE_padding_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__BYE_padding_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__IE__BYE_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__APP_version_raw_;
extern const XERdescriptor_t RTCP__IE__APP_version_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__APP_version_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__APP_version_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__APP_version_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__APP_padding__ind_raw_;
extern const XERdescriptor_t RTCP__IE__APP_padding__ind_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__APP_padding__ind_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__APP_padding__ind_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__APP_padding__ind_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__APP_sub__type_raw_;
extern const XERdescriptor_t RTCP__IE__APP_sub__type_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__APP_sub__type_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__APP_sub__type_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__APP_sub__type_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__APP_payload__type_raw_;
extern const XERdescriptor_t RTCP__IE__APP_payload__type_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__APP_payload__type_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__APP_payload__type_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__APP_payload__type_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__APP_packet__length_raw_;
extern const XERdescriptor_t RTCP__IE__APP_packet__length_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__APP_packet__length_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__APP_packet__length_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__APP_packet__length_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__APP_SSRC__CSRC__id_raw_;
extern const XERdescriptor_t RTCP__IE__APP_SSRC__CSRC__id_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__APP_SSRC__CSRC__id_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__APP_SSRC__CSRC__id_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__APP_SSRC__CSRC__id_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__APP_name_raw_;
extern const XERdescriptor_t RTCP__IE__APP_name_xer_;
extern const TTCN_Typedescriptor_t RTCP__IE__APP_name_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__APP_name_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__APP_raw_;
extern const TTCN_Typedescriptor_t RTCP__IE__APP_descr_;
extern const TTCN_RAWdescriptor_t RTCP__IE__APP_appdata_raw_;
extern const XERdescriptor_t RTCP__IE__APP_appdata_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__APP_appdata_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__APP_appdata_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__APP_appdata_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__APP_padding_raw_;
extern const XERdescriptor_t RTCP__IE__APP_padding_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__APP_padding_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__APP_padding_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__APP_padding_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__IE__APP_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__RTPFB_version_raw_;
extern const XERdescriptor_t RTCP__IE__RTPFB_version_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__RTPFB_version_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__RTPFB_version_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__RTPFB_version_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__RTPFB_padding__ind_raw_;
extern const XERdescriptor_t RTCP__IE__RTPFB_padding__ind_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__RTPFB_padding__ind_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__RTPFB_padding__ind_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__RTPFB_padding__ind_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__RTPFB_fmt_raw_;
extern const XERdescriptor_t RTCP__IE__RTPFB_fmt_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__RTPFB_fmt_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__RTPFB_fmt_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__RTPFB_fmt_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__RTPFB_payload__type_raw_;
extern const XERdescriptor_t RTCP__IE__RTPFB_payload__type_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__RTPFB_payload__type_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__RTPFB_payload__type_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__RTPFB_payload__type_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__RTPFB_packet__length_raw_;
extern const XERdescriptor_t RTCP__IE__RTPFB_packet__length_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__RTPFB_packet__length_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__RTPFB_packet__length_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__RTPFB_packet__length_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__RTPFB_SSRC__packet__sender_raw_;
extern const XERdescriptor_t RTCP__IE__RTPFB_SSRC__packet__sender_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__RTPFB_SSRC__packet__sender_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__RTPFB_SSRC__packet__sender_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__RTPFB_SSRC__packet__sender_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__RTPFB_SSRC__media__sender_raw_;
extern const XERdescriptor_t RTCP__IE__RTPFB_SSRC__media__sender_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__RTPFB_SSRC__media__sender_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__RTPFB_SSRC__media__sender_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__RTPFB_SSRC__media__sender_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__RTPFB_raw_;
extern const TTCN_Typedescriptor_t RTCP__IE__RTPFB_descr_;
extern const TTCN_RAWdescriptor_t RTCP__RTPFB__union_raw_;
extern const TTCN_Typedescriptor_t RTCP__RTPFB__union_descr_;
extern const TTCN_RAWdescriptor_t RTCP__generic__NAKs_raw_;
extern const TTCN_Typedescriptor_t RTCP__generic__NAKs_descr_;
extern const XERdescriptor_t RTCP__generic__NAK_pid_xer_;
extern const TTCN_OERdescriptor_t RTCP__generic__NAK_pid_oer_;
extern const TTCN_Typedescriptor_t RTCP__generic__NAK_pid_descr_;
extern UNIVERSAL_CHARSTRING RTCP__generic__NAK_pid_default_coding;
extern const XERdescriptor_t RTCP__generic__NAK_blb_xer_;
extern const TTCN_OERdescriptor_t RTCP__generic__NAK_blb_oer_;
extern const TTCN_Typedescriptor_t RTCP__generic__NAK_blb_descr_;
extern UNIVERSAL_CHARSTRING RTCP__generic__NAK_blb_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__generic__NAK_raw_;
extern const TTCN_Typedescriptor_t RTCP__generic__NAK_descr_;
extern UNIVERSAL_CHARSTRING RTCP__generic__NAK_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__generic__NAKs_0_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__generic__NAKs_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__RTPFB__union_gen__naks_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__RTPFB__TMMBRs_raw_;
extern const TTCN_Typedescriptor_t RTCP__RTPFB__TMMBRs_descr_;
extern const TTCN_RAWdescriptor_t RTCP__RTPFB__TMMB_SSRC_raw_;
extern const XERdescriptor_t RTCP__RTPFB__TMMB_SSRC_xer_;
extern const TTCN_OERdescriptor_t RTCP__RTPFB__TMMB_SSRC_oer_;
extern const TTCN_Typedescriptor_t RTCP__RTPFB__TMMB_SSRC_descr_;
extern UNIVERSAL_CHARSTRING RTCP__RTPFB__TMMB_SSRC_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__RTPFB__TMMB_exp_raw_;
extern const XERdescriptor_t RTCP__RTPFB__TMMB_exp_xer_;
extern const TTCN_OERdescriptor_t RTCP__RTPFB__TMMB_exp_oer_;
extern const TTCN_Typedescriptor_t RTCP__RTPFB__TMMB_exp_descr_;
extern UNIVERSAL_CHARSTRING RTCP__RTPFB__TMMB_exp_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__RTPFB__TMMB_mantissa_raw_;
extern const XERdescriptor_t RTCP__RTPFB__TMMB_mantissa_xer_;
extern const TTCN_Typedescriptor_t RTCP__RTPFB__TMMB_mantissa_descr_;
extern UNIVERSAL_CHARSTRING RTCP__RTPFB__TMMB_mantissa_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__RTPFB__TMMB_measured__overhead_raw_;
extern const XERdescriptor_t RTCP__RTPFB__TMMB_measured__overhead_xer_;
extern const TTCN_Typedescriptor_t RTCP__RTPFB__TMMB_measured__overhead_descr_;
extern UNIVERSAL_CHARSTRING RTCP__RTPFB__TMMB_measured__overhead_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__RTPFB__TMMB_raw_;
extern const TTCN_Typedescriptor_t RTCP__RTPFB__TMMB_descr_;
extern UNIVERSAL_CHARSTRING RTCP__RTPFB__TMMB_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__RTPFB__TMMBRs_0_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__RTPFB__TMMBRs_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__RTPFB__union_tmmbr_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__RTPFB__TMMBNs_raw_;
extern const TTCN_Typedescriptor_t RTCP__RTPFB__TMMBNs_descr_;
extern UNIVERSAL_CHARSTRING RTCP__RTPFB__TMMBNs_0_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__RTPFB__TMMBNs_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__RTPFB__union_tmmbn_default_coding;
extern const XERdescriptor_t RTCP__RTPFB__union_unknown__fci_xer_;
extern const TTCN_OERdescriptor_t RTCP__RTPFB__union_unknown__fci_oer_;
extern const TTCN_Typedescriptor_t RTCP__RTPFB__union_unknown__fci_descr_;
extern UNIVERSAL_CHARSTRING RTCP__RTPFB__union_unknown__fci_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__RTPFB__union_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__RTPFB_fci_raw_;
extern const TTCN_Typedescriptor_t RTCP__IE__RTPFB_fci_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__RTPFB_fci_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__RTPFB_padding_raw_;
extern const XERdescriptor_t RTCP__IE__RTPFB_padding_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__RTPFB_padding_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__RTPFB_padding_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__RTPFB_padding_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__IE__RTPFB_default_coding;
extern const TTCN_RAWdescriptor_t INT14b__BO__LAST_raw_;
extern const XERdescriptor_t INT14b__BO__LAST_xer_;
extern const TTCN_Typedescriptor_t INT14b__BO__LAST_descr_;
extern UNIVERSAL_CHARSTRING INT14b__BO__LAST_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__PSFB_version_raw_;
extern const XERdescriptor_t RTCP__IE__PSFB_version_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__PSFB_version_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__PSFB_version_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__PSFB_version_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__PSFB_padding__ind_raw_;
extern const XERdescriptor_t RTCP__IE__PSFB_padding__ind_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__PSFB_padding__ind_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__PSFB_padding__ind_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__PSFB_padding__ind_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__PSFB_fmt_raw_;
extern const XERdescriptor_t RTCP__IE__PSFB_fmt_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__PSFB_fmt_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__PSFB_fmt_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__PSFB_fmt_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__PSFB_payload__type_raw_;
extern const XERdescriptor_t RTCP__IE__PSFB_payload__type_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__PSFB_payload__type_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__PSFB_payload__type_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__PSFB_payload__type_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__PSFB_packet__length_raw_;
extern const XERdescriptor_t RTCP__IE__PSFB_packet__length_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__PSFB_packet__length_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__PSFB_packet__length_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__PSFB_packet__length_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__PSFB_SSRC__packet__sender_raw_;
extern const XERdescriptor_t RTCP__IE__PSFB_SSRC__packet__sender_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__PSFB_SSRC__packet__sender_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__PSFB_SSRC__packet__sender_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__PSFB_SSRC__packet__sender_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__PSFB_SSRC__media__sender_raw_;
extern const XERdescriptor_t RTCP__IE__PSFB_SSRC__media__sender_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__PSFB_SSRC__media__sender_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__PSFB_SSRC__media__sender_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__PSFB_SSRC__media__sender_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__PSFB__union_raw_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__union_descr_;
extern const TTCN_RAWdescriptor_t RTCP__PSFB__PLI_raw_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__PLI_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__PLI_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__union_pli_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__PSFB__SLIs_raw_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__SLIs_descr_;
extern const TTCN_RAWdescriptor_t RTCP__PSFB__SLI_first_raw_;
extern const XERdescriptor_t RTCP__PSFB__SLI_first_xer_;
extern const TTCN_OERdescriptor_t RTCP__PSFB__SLI_first_oer_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__SLI_first_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__SLI_first_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__PSFB__SLI_number_raw_;
extern const XERdescriptor_t RTCP__PSFB__SLI_number_xer_;
extern const TTCN_OERdescriptor_t RTCP__PSFB__SLI_number_oer_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__SLI_number_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__SLI_number_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__PSFB__SLI_picture__id_raw_;
extern const XERdescriptor_t RTCP__PSFB__SLI_picture__id_xer_;
extern const TTCN_OERdescriptor_t RTCP__PSFB__SLI_picture__id_oer_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__SLI_picture__id_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__SLI_picture__id_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__PSFB__SLI_raw_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__SLI_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__SLI_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__SLIs_0_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__SLIs_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__union_sli_default_coding;
extern const XERdescriptor_t RTCP__PSFB__RPSI_pb_xer_;
extern const TTCN_OERdescriptor_t RTCP__PSFB__RPSI_pb_oer_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__RPSI_pb_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__RPSI_pb_default_coding;
extern const XERdescriptor_t RTCP__PSFB__RPSI_payload__type_xer_;
extern const TTCN_OERdescriptor_t RTCP__PSFB__RPSI_payload__type_oer_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__RPSI_payload__type_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__RPSI_payload__type_default_coding;
extern const XERdescriptor_t RTCP__PSFB__RPSI_rpsi__string_xer_;
extern const TTCN_OERdescriptor_t RTCP__PSFB__RPSI_rpsi__string_oer_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__RPSI_rpsi__string_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__RPSI_rpsi__string_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__PSFB__RPSI_raw_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__RPSI_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__RPSI_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__union_rpsi_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__PSFB__FIRs_raw_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__FIRs_descr_;
extern const XERdescriptor_t RTCP__PSFB__FIR_SSRC_xer_;
extern const TTCN_OERdescriptor_t RTCP__PSFB__FIR_SSRC_oer_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__FIR_SSRC_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__FIR_SSRC_default_coding;
extern const XERdescriptor_t RTCP__PSFB__FIR_seq__no_xer_;
extern const TTCN_OERdescriptor_t RTCP__PSFB__FIR_seq__no_oer_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__FIR_seq__no_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__FIR_seq__no_default_coding;
extern const XERdescriptor_t RTCP__PSFB__FIR_reserved_xer_;
extern const TTCN_OERdescriptor_t RTCP__PSFB__FIR_reserved_oer_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__FIR_reserved_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__FIR_reserved_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__PSFB__FIR_raw_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__FIR_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__FIR_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__FIRs_0_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__FIRs_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__union_fir_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__PSFB__TSTRs_raw_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__TSTRs_descr_;
extern const XERdescriptor_t RTCP__PSFB__TST_SSRC_xer_;
extern const TTCN_OERdescriptor_t RTCP__PSFB__TST_SSRC_oer_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__TST_SSRC_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__TST_SSRC_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__PSFB__TST_seq__no_raw_;
extern const XERdescriptor_t RTCP__PSFB__TST_seq__no_xer_;
extern const TTCN_OERdescriptor_t RTCP__PSFB__TST_seq__no_oer_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__TST_seq__no_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__TST_seq__no_default_coding;
extern const XERdescriptor_t RTCP__PSFB__TST_reserved_xer_;
extern const TTCN_OERdescriptor_t RTCP__PSFB__TST_reserved_oer_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__TST_reserved_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__TST_reserved_default_coding;
extern const XERdescriptor_t RTCP__PSFB__TST_index_xer_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__TST_index_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__TST_index_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__PSFB__TST_raw_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__TST_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__TST_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__TSTRs_0_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__TSTRs_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__union_tstr_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__PSFB__TSTNs_raw_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__TSTNs_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__TSTNs_0_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__TSTNs_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__union_tstn_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__PSFB__VBCMs_raw_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__VBCMs_descr_;
extern const TTCN_RAWdescriptor_t RTCP__PSFB__VBCM_SSRC_raw_;
extern const XERdescriptor_t RTCP__PSFB__VBCM_SSRC_xer_;
extern const TTCN_OERdescriptor_t RTCP__PSFB__VBCM_SSRC_oer_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__VBCM_SSRC_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__VBCM_SSRC_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__PSFB__VBCM_seq__no_raw_;
extern const XERdescriptor_t RTCP__PSFB__VBCM_seq__no_xer_;
extern const TTCN_OERdescriptor_t RTCP__PSFB__VBCM_seq__no_oer_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__VBCM_seq__no_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__VBCM_seq__no_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__PSFB__VBCM_marker__bit_raw_;
extern const XERdescriptor_t RTCP__PSFB__VBCM_marker__bit_xer_;
extern const TTCN_OERdescriptor_t RTCP__PSFB__VBCM_marker__bit_oer_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__VBCM_marker__bit_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__VBCM_marker__bit_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__PSFB__VBCM_payload__type_raw_;
extern const XERdescriptor_t RTCP__PSFB__VBCM_payload__type_xer_;
extern const TTCN_OERdescriptor_t RTCP__PSFB__VBCM_payload__type_oer_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__VBCM_payload__type_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__VBCM_payload__type_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__PSFB__VBCM_vbcm__length_raw_;
extern const XERdescriptor_t RTCP__PSFB__VBCM_vbcm__length_xer_;
extern const TTCN_OERdescriptor_t RTCP__PSFB__VBCM_vbcm__length_oer_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__VBCM_vbcm__length_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__VBCM_vbcm__length_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__PSFB__VBCM_vbcm_raw_;
extern const XERdescriptor_t RTCP__PSFB__VBCM_vbcm_xer_;
extern const TTCN_OERdescriptor_t RTCP__PSFB__VBCM_vbcm_oer_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__VBCM_vbcm_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__VBCM_vbcm_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__PSFB__VBCM_raw_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__VBCM_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__VBCM_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__VBCMs_0_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__VBCMs_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__union_vbcm_default_coding;
extern const XERdescriptor_t RTCP__PSFB__union_afb_xer_;
extern const TTCN_OERdescriptor_t RTCP__PSFB__union_afb_oer_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__union_afb_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__union_afb_default_coding;
extern const XERdescriptor_t RTCP__PSFB__union_unknown__fci_xer_;
extern const TTCN_OERdescriptor_t RTCP__PSFB__union_unknown__fci_oer_;
extern const TTCN_Typedescriptor_t RTCP__PSFB__union_unknown__fci_descr_;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__union_unknown__fci_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__PSFB__union_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__PSFB_fci_raw_;
extern const TTCN_Typedescriptor_t RTCP__IE__PSFB_fci_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__PSFB_fci_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__IE__PSFB_raw_;
extern const TTCN_Typedescriptor_t RTCP__IE__PSFB_descr_;
extern const TTCN_RAWdescriptor_t RTCP__IE__PSFB_padding_raw_;
extern const XERdescriptor_t RTCP__IE__PSFB_padding_xer_;
extern const TTCN_OERdescriptor_t RTCP__IE__PSFB_padding_oer_;
extern const TTCN_Typedescriptor_t RTCP__IE__PSFB_padding_descr_;
extern UNIVERSAL_CHARSTRING RTCP__IE__PSFB_padding_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__IE__PSFB_default_coding;
extern const TTCN_RAWdescriptor_t RTCP__message_raw_;
extern const TTCN_Typedescriptor_t RTCP__message_descr_;
extern UNIVERSAL_CHARSTRING RTCP__message_sr_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__message_rr_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__message_sdes_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__message_bye_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__message_app_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__message_rtpfb_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__message_psfb_default_coding;
extern UNIVERSAL_CHARSTRING RTCP__message_default_coding;
extern const TTCN_RAWdescriptor_t PDU__RTCP_raw_;
extern const TTCN_Typedescriptor_t PDU__RTCP_descr_;
extern UNIVERSAL_CHARSTRING PDU__RTCP_0_default_coding;
extern UNIVERSAL_CHARSTRING PDU__RTCP_default_coding;
extern const TTCN_RAWdescriptor_t RTP__session__par_raw_;
extern const TTCN_Typedescriptor_t RTP__session__par_descr_;
extern const XERdescriptor_t RTP__session__par_id_xer_;
extern const TTCN_Typedescriptor_t RTP__session__par_id_descr_;
extern UNIVERSAL_CHARSTRING RTP__session__par_id_default_coding;
extern const XERdescriptor_t RTP__session__par_local__address_xer_;
extern const TTCN_Typedescriptor_t RTP__session__par_local__address_descr_;
extern UNIVERSAL_CHARSTRING RTP__session__par_local__address_default_coding;
extern const XERdescriptor_t RTP__session__par_local__port_xer_;
extern const TTCN_Typedescriptor_t RTP__session__par_local__port_descr_;
extern UNIVERSAL_CHARSTRING RTP__session__par_local__port_default_coding;
extern const XERdescriptor_t RTP__session__par_dest__address_xer_;
extern const TTCN_Typedescriptor_t RTP__session__par_dest__address_descr_;
extern UNIVERSAL_CHARSTRING RTP__session__par_dest__address_default_coding;
extern const XERdescriptor_t RTP__session__par_dest__port_xer_;
extern const TTCN_Typedescriptor_t RTP__session__par_dest__port_descr_;
extern UNIVERSAL_CHARSTRING RTP__session__par_dest__port_default_coding;
extern UNIVERSAL_CHARSTRING RTP__session__par_default_coding;
extern UNIVERSAL_CHARSTRING ASP__RTP__Open__session_session__id_default_coding;
extern const TTCN_RAWdescriptor_t ASP__RTP__Open__session_raw_;
extern const TTCN_Typedescriptor_t ASP__RTP__Open__session_descr_;
extern UNIVERSAL_CHARSTRING ASP__RTP__Open__session_default_coding;
extern UNIVERSAL_CHARSTRING ASP__RTP__Open__session__result_session__id_default_coding;
extern const TTCN_RAWdescriptor_t ASP__RTP__Open__session__result_raw_;
extern const TTCN_Typedescriptor_t ASP__RTP__Open__session__result_descr_;
extern UNIVERSAL_CHARSTRING ASP__RTP__Open__session__result_default_coding;
extern UNIVERSAL_CHARSTRING ASP__RTP__Close__session_session__id_default_coding;
extern const TTCN_RAWdescriptor_t ASP__RTP__Close__session_raw_;
extern const TTCN_Typedescriptor_t ASP__RTP__Close__session_descr_;
extern UNIVERSAL_CHARSTRING ASP__RTP__Close__session_default_coding;
extern const TTCN_RAWdescriptor_t RTP__messages__union_raw_;
extern const TTCN_Typedescriptor_t RTP__messages__union_descr_;
extern UNIVERSAL_CHARSTRING RTP__messages__union_rtcp_default_coding;
extern UNIVERSAL_CHARSTRING RTP__messages__union_rtp_default_coding;
extern const XERdescriptor_t RTP__messages__union_unknown__pdu_xer_;
extern const TTCN_OERdescriptor_t RTP__messages__union_unknown__pdu_oer_;
extern const TTCN_Typedescriptor_t RTP__messages__union_unknown__pdu_descr_;
extern UNIVERSAL_CHARSTRING RTP__messages__union_unknown__pdu_default_coding;
extern UNIVERSAL_CHARSTRING RTP__messages__union_default_coding;
extern UNIVERSAL_CHARSTRING ASP__RTP__message_session__id_default_coding;
extern UNIVERSAL_CHARSTRING ASP__RTP__message_data_default_coding;
extern const TTCN_RAWdescriptor_t ASP__RTP__message_raw_;
extern const TTCN_Typedescriptor_t ASP__RTP__message_descr_;
extern UNIVERSAL_CHARSTRING ASP__RTP__message_default_coding;
extern const TTCN_Typedescriptor_t& ASP__RTP__messageDone_descr_;
extern UNIVERSAL_CHARSTRING ASP__RTP__messageDone_default_coding;
extern const BITSTRING bs_0;
extern const unsigned char module_checksum[];
extern TTCN_Module module_object;
extern const RuntimeVersionChecker ver_checker;

} /* end of namespace */

#endif
