<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.9.1">
  <compounddef id="quality__reporting_8h" kind="file" language="C++">
    <compoundname>quality_reporting.h</compoundname>
    <includes refid="linphonecore_8h" local="yes">linphonecore.h</includes>
    <includes local="yes">sal/sal.h</includes>
    <includedby refid="private_8h" local="yes">private.h</includedby>
    <includedby refid="linphonecore_8c" local="yes">linphonecore.c</includedby>
    <incdepgraph>
      <node id="244">
        <label>quality_reporting.h</label>
        <link refid="quality_reporting.h"/>
        <childnode refid="245" relation="include">
        </childnode>
      </node>
      <node id="245">
        <label>sal/sal.h</label>
      </node>
    </incdepgraph>
    <innerclass refid="structreporting__addr" prot="public">reporting_addr</innerclass>
    <innerclass refid="structreporting__content__metrics" prot="public">reporting_content_metrics</innerclass>
    <innerclass refid="structreporting__session__report" prot="public">reporting_session_report</innerclass>
      <sectiondef kind="typedef">
      <memberdef kind="typedef" id="quality__reporting_8h_1a2375db8bb9bb8677dd4bf45d6048d6a7" prot="public" static="no">
        <type>struct <ref refid="structreporting__addr" kindref="compound">reporting_addr</ref></type>
        <definition>typedef struct reporting_addr  reporting_addr_t</definition>
        <argsstring></argsstring>
        <name>reporting_addr_t</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Linphone quality report sub object storing address related information. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/usr/src/slapt-src/network/linphone/linphone-3.9.1/coreapi/quality_reporting.h" line="42" column="1"/>
      </memberdef>
      <memberdef kind="typedef" id="quality__reporting_8h_1af7ae816fc07244178b96e91da2df7621" prot="public" static="no">
        <type>struct <ref refid="structreporting__content__metrics" kindref="compound">reporting_content_metrics</ref></type>
        <definition>typedef struct reporting_content_metrics  reporting_content_metrics_t</definition>
        <argsstring></argsstring>
        <name>reporting_content_metrics_t</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Linphone quality report sub object storing media metrics information as required by RFC6035. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/usr/src/slapt-src/network/linphone/linphone-3.9.1/coreapi/quality_reporting.h" line="107" column="1"/>
      </memberdef>
      <memberdef kind="typedef" id="quality__reporting_8h_1a3d6ffd0ad76c557e384cfaa5a13f17f9" prot="public" static="no">
        <type>struct <ref refid="structreporting__session__report" kindref="compound">reporting_session_report</ref></type>
        <definition>typedef struct reporting_session_report  reporting_session_report_t</definition>
        <argsstring></argsstring>
        <name>reporting_session_report_t</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Linphone quality report main object created by function linphone_reporting_new(). It contains all fields required by RFC6035 </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/usr/src/slapt-src/network/linphone/linphone-3.9.1/coreapi/quality_reporting.h" line="142" column="1"/>
      </memberdef>
      <memberdef kind="typedef" id="quality__reporting_8h_1aeb37644d0b014e43e2d5dcf9256240b2" prot="public" static="no">
        <type>void(*</type>
        <definition>typedef void(* LinphoneQualityReportingReportSendCb) (const LinphoneCall *call, SalStreamType stream_type, const LinphoneContent *content)</definition>
        <argsstring>)(const LinphoneCall *call, SalStreamType stream_type, const LinphoneContent *content)</argsstring>
        <name>LinphoneQualityReportingReportSendCb</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/usr/src/slapt-src/network/linphone/linphone-3.9.1/coreapi/quality_reporting.h" line="145" column="1" bodyfile="/usr/src/slapt-src/network/linphone/linphone-3.9.1/coreapi/quality_reporting.h" bodystart="145" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="func">
      <memberdef kind="function" id="quality__reporting_8h_1a872697caa60553cfdd05aa07b2e2e8c9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="structreporting__session__report" kindref="compound">reporting_session_report_t</ref> *</type>
        <definition>reporting_session_report_t* linphone_reporting_new</definition>
        <argsstring>()</argsstring>
        <name>linphone_reporting_new</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/usr/src/slapt-src/network/linphone/linphone-3.9.1/coreapi/quality_reporting.h" line="147" column="1" bodyfile="/usr/src/slapt-src/network/linphone/linphone-3.9.1/coreapi/quality_reporting.c" bodystart="729" bodyend="759"/>
      </memberdef>
      <memberdef kind="function" id="quality__reporting_8h_1a3be58097f61046867797ba60ee7c951c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_reporting_destroy</definition>
        <argsstring>(reporting_session_report_t *report)</argsstring>
        <name>linphone_reporting_destroy</name>
        <param>
          <type><ref refid="structreporting__session__report" kindref="compound">reporting_session_report_t</ref> *</type>
          <declname>report</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/usr/src/slapt-src/network/linphone/linphone-3.9.1/coreapi/quality_reporting.h" line="148" column="1" bodyfile="/usr/src/slapt-src/network/linphone/linphone-3.9.1/coreapi/quality_reporting.c" bodystart="761" bodyend="787"/>
      </memberdef>
      <memberdef kind="function" id="quality__reporting_8h_1a0e864916f21e2cef3c51e09ae40226f3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_reporting_update_media_info</definition>
        <argsstring>(LinphoneCall *call, int stats_type)</argsstring>
        <name>linphone_reporting_update_media_info</name>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <param>
          <type>int</type>
          <declname>stats_type</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Fill media information about a given call. This function must be called before stopping the media stream. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>call</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> object to consider </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>stats_type</parametername>
</parameternamelist>
<parameterdescription>
<para>the media type (LINPHONE_CALL_STATS_AUDIO or LINPHONE_CALL_STATS_VIDEO) </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/usr/src/slapt-src/network/linphone/linphone-3.9.1/coreapi/quality_reporting.h" line="157" column="1" bodyfile="/usr/src/slapt-src/network/linphone/linphone-3.9.1/coreapi/quality_reporting.c" bodystart="479" bodyend="579"/>
      </memberdef>
      <memberdef kind="function" id="quality__reporting_8h_1af29968eec5228f1137b053bf0ddc9fac" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_reporting_update_ip</definition>
        <argsstring>(LinphoneCall *call)</argsstring>
        <name>linphone_reporting_update_ip</name>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Fill IP information about a given call. This function must be called each time call state is &apos;LinphoneCallStreamsRunning&apos; since IP might be updated (if we found a direct route between caller and callee for example). When call is starting, remote IP/port might be the proxy ones to which callee is registered <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>call</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> object to consider </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/usr/src/slapt-src/network/linphone/linphone-3.9.1/coreapi/quality_reporting.h" line="167" column="1" bodyfile="/usr/src/slapt-src/network/linphone/linphone-3.9.1/coreapi/quality_reporting.c" bodystart="473" bodyend="477"/>
      </memberdef>
      <memberdef kind="function" id="quality__reporting_8h_1a1cdab5c46f93d49a7cb7e6bbba3e2e78" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_reporting_publish_session_report</definition>
        <argsstring>(LinphoneCall *call, bool_t call_term)</argsstring>
        <name>linphone_reporting_publish_session_report</name>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>call_term</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Publish a session report. This function should be called when session terminates, media change (codec change or session fork), session terminates due to no media packets being received. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>call</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> object to consider </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>call_term</parametername>
</parameternamelist>
<parameterdescription>
<para>whether the call has ended or is continuing</para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>error code. 0 for success, positive value otherwise. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/usr/src/slapt-src/network/linphone/linphone-3.9.1/coreapi/quality_reporting.h" line="177" column="1" bodyfile="/usr/src/slapt-src/network/linphone/linphone-3.9.1/coreapi/quality_reporting.c" bodystart="669" bodyend="672"/>
      </memberdef>
      <memberdef kind="function" id="quality__reporting_8h_1a38f64068d4ea7646198609aaaad88b70" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_reporting_publish_interval_report</definition>
        <argsstring>(LinphoneCall *call)</argsstring>
        <name>linphone_reporting_publish_interval_report</name>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Publish an interval report. This function should be used for periodic interval <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>call</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> object to consider </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>error code. 0 for success, positive value otherwise. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/usr/src/slapt-src/network/linphone/linphone-3.9.1/coreapi/quality_reporting.h" line="185" column="1" bodyfile="/usr/src/slapt-src/network/linphone/linphone-3.9.1/coreapi/quality_reporting.c" bodystart="674" bodyend="676"/>
      </memberdef>
      <memberdef kind="function" id="quality__reporting_8h_1afbd47cbf19fa6bf554c8974179dbd4c4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_reporting_on_rtcp_update</definition>
        <argsstring>(LinphoneCall *call, SalStreamType stats_type)</argsstring>
        <name>linphone_reporting_on_rtcp_update</name>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <param>
          <type>SalStreamType</type>
          <declname>stats_type</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Update publish reports with newly sent/received RTCP-XR packets (if available). <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>call</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> object to consider </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>stats_type</parametername>
</parameternamelist>
<parameterdescription>
<para>the media type </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
<para>&lt; received_rtcp field of LinphoneCallStats object has been updated</para><para>&lt; sent_rtcp field of LinphoneCallStats object has been updated</para><para>&lt; received_rtcp field of LinphoneCallStats object has been updated </para>        </inbodydescription>
        <location file="/usr/src/slapt-src/network/linphone/linphone-3.9.1/coreapi/quality_reporting.h" line="193" column="1" bodyfile="/usr/src/slapt-src/network/linphone/linphone-3.9.1/coreapi/quality_reporting.c" bodystart="586" bodyend="648"/>
      </memberdef>
      <memberdef kind="function" id="quality__reporting_8h_1a20315dc8dac0cf69bcde674aabfaffe1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_reporting_call_state_updated</definition>
        <argsstring>(LinphoneCall *call)</argsstring>
        <name>linphone_reporting_call_state_updated</name>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Update publish reports on call state change. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>call</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> object to consider </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/usr/src/slapt-src/network/linphone/linphone-3.9.1/coreapi/quality_reporting.h" line="200" column="1" bodyfile="/usr/src/slapt-src/network/linphone/linphone-3.9.1/coreapi/quality_reporting.c" bodystart="691" bodyend="727"/>
      </memberdef>
      <memberdef kind="function" id="quality__reporting_8h_1a68c76b6f1c5e5f9575be2239a083cec0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_reporting_set_on_report_send</definition>
        <argsstring>(LinphoneCall *call, LinphoneQualityReportingReportSendCb cb)</argsstring>
        <name>linphone_reporting_set_on_report_send</name>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <param>
          <type>LinphoneQualityReportingReportSendCb</type>
          <declname>cb</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Setter of the #LinphoneQualityReportingReportSendCb callback method which is notified each time a report will be submitted to the collector, if quality reporting is enabled <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>call</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> object to consider </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cb</parametername>
</parameternamelist>
<parameterdescription>
<para>#LinphoneQualityReportingReportSendCb callback function to notify </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/usr/src/slapt-src/network/linphone/linphone-3.9.1/coreapi/quality_reporting.h" line="210" column="1" bodyfile="/usr/src/slapt-src/network/linphone/linphone-3.9.1/coreapi/quality_reporting.c" bodystart="790" bodyend="792"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <programlisting>
<codeline lineno="1"><highlight class="comment">/*</highlight></codeline>
<codeline lineno="2"><highlight class="comment">linphone</highlight></codeline>
<codeline lineno="3"><highlight class="comment">Copyright<sp/>(C)<sp/>2014<sp/>-<sp/>Belledonne<sp/>Communications,<sp/>Grenoble,<sp/>France</highlight></codeline>
<codeline lineno="4"><highlight class="comment"></highlight></codeline>
<codeline lineno="5"><highlight class="comment">This<sp/>program<sp/>is<sp/>free<sp/>software;<sp/>you<sp/>can<sp/>redistribute<sp/>it<sp/>and/or</highlight></codeline>
<codeline lineno="6"><highlight class="comment">modify<sp/>it<sp/>under<sp/>the<sp/>terms<sp/>of<sp/>the<sp/>GNU<sp/>General<sp/>Public<sp/>License</highlight></codeline>
<codeline lineno="7"><highlight class="comment">as<sp/>published<sp/>by<sp/>the<sp/>Free<sp/>Software<sp/>Foundation;<sp/>either<sp/>version<sp/>2</highlight></codeline>
<codeline lineno="8"><highlight class="comment">of<sp/>the<sp/>License,<sp/>or<sp/>(at<sp/>your<sp/>option)<sp/>any<sp/>later<sp/>version.</highlight></codeline>
<codeline lineno="9"><highlight class="comment"></highlight></codeline>
<codeline lineno="10"><highlight class="comment">This<sp/>program<sp/>is<sp/>distributed<sp/>in<sp/>the<sp/>hope<sp/>that<sp/>it<sp/>will<sp/>be<sp/>useful,</highlight></codeline>
<codeline lineno="11"><highlight class="comment">but<sp/>WITHOUT<sp/>ANY<sp/>WARRANTY;<sp/>without<sp/>even<sp/>the<sp/>implied<sp/>warranty<sp/>of</highlight></codeline>
<codeline lineno="12"><highlight class="comment">MERCHANTABILITY<sp/>or<sp/>FITNESS<sp/>FOR<sp/>A<sp/>PARTICULAR<sp/>PURPOSE.<sp/><sp/>See<sp/>the</highlight></codeline>
<codeline lineno="13"><highlight class="comment">GNU<sp/>General<sp/>Public<sp/>License<sp/>for<sp/>more<sp/>details.</highlight></codeline>
<codeline lineno="14"><highlight class="comment"></highlight></codeline>
<codeline lineno="15"><highlight class="comment">You<sp/>should<sp/>have<sp/>received<sp/>a<sp/>copy<sp/>of<sp/>the<sp/>GNU<sp/>General<sp/>Public<sp/>License</highlight></codeline>
<codeline lineno="16"><highlight class="comment">along<sp/>with<sp/>this<sp/>program;<sp/>if<sp/>not,<sp/>write<sp/>to<sp/>the<sp/>Free<sp/>Software</highlight></codeline>
<codeline lineno="17"><highlight class="comment">Foundation,<sp/>Inc.,<sp/>59<sp/>Temple<sp/>Place<sp/>-<sp/>Suite<sp/>330,<sp/>Boston,<sp/>MA<sp/><sp/>02111-1307,<sp/>USA.</highlight></codeline>
<codeline lineno="18"><highlight class="comment">*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="19"><highlight class="normal"></highlight></codeline>
<codeline lineno="20"><highlight class="normal"></highlight><highlight class="preprocessor">#ifndef<sp/>quality_reporting_h</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="21"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>quality_reporting_h</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="22"><highlight class="normal"></highlight></codeline>
<codeline lineno="23"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;linphonecore.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="24"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;sal/sal.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="25"><highlight class="normal"></highlight></codeline>
<codeline lineno="26"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>__cplusplus</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="27"><highlight class="normal"></highlight><highlight class="keyword">extern</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;C&quot;</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="28"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="29"><highlight class="normal"></highlight></codeline>
<codeline lineno="30"><highlight class="normal"></highlight></codeline>
<codeline lineno="34" refid="structreporting__addr" refkind="compound"><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structreporting__addr" kindref="compound">reporting_addr</ref><sp/>{</highlight></codeline>
<codeline lineno="35"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/>id;</highlight></codeline>
<codeline lineno="36"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/>ip;</highlight></codeline>
<codeline lineno="37"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>port;</highlight></codeline>
<codeline lineno="38"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>uint32_t<sp/>ssrc;</highlight></codeline>
<codeline lineno="39"><highlight class="normal"></highlight></codeline>
<codeline lineno="40"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/>group;</highlight></codeline>
<codeline lineno="41"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/>mac;<sp/></highlight><highlight class="comment">//<sp/>optional</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="42"><highlight class="normal">}<sp/><ref refid="structreporting__addr" kindref="compound">reporting_addr_t</ref>;</highlight></codeline>
<codeline lineno="43"><highlight class="normal"></highlight></codeline>
<codeline lineno="48" refid="structreporting__content__metrics" refkind="compound"><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structreporting__content__metrics" kindref="compound">reporting_content_metrics</ref><sp/>{</highlight></codeline>
<codeline lineno="49"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>timestamps<sp/>-<sp/>mandatory</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="50"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="51"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>time_t<sp/>start;</highlight></codeline>
<codeline lineno="52"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>time_t<sp/>stop;</highlight></codeline>
<codeline lineno="53"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/>timestamps;</highlight></codeline>
<codeline lineno="54"><highlight class="normal"></highlight></codeline>
<codeline lineno="55"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>session<sp/>description<sp/>-<sp/>optional</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="56"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="57"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>payload_type;</highlight></codeline>
<codeline lineno="58"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/>payload_desc;</highlight></codeline>
<codeline lineno="59"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>sample_rate;</highlight></codeline>
<codeline lineno="60"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>frame_duration;</highlight></codeline>
<codeline lineno="61"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/>fmtp;</highlight></codeline>
<codeline lineno="62"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>packet_loss_concealment;</highlight></codeline>
<codeline lineno="63"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/>session_description;</highlight></codeline>
<codeline lineno="64"><highlight class="normal"></highlight></codeline>
<codeline lineno="65"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>jitter<sp/>buffet<sp/>-<sp/>optional</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="66"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="67"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>adaptive;</highlight></codeline>
<codeline lineno="68"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>nominal;</highlight></codeline>
<codeline lineno="69"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>max;</highlight></codeline>
<codeline lineno="70"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>abs_max;</highlight></codeline>
<codeline lineno="71"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/>jitter_buffer;</highlight></codeline>
<codeline lineno="72"><highlight class="normal"></highlight></codeline>
<codeline lineno="73"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>packet<sp/>loss<sp/>-<sp/>optional</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="74"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="75"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>network_packet_loss_rate;</highlight></codeline>
<codeline lineno="76"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>jitter_buffer_discard_rate;</highlight></codeline>
<codeline lineno="77"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/>packet_loss;</highlight></codeline>
<codeline lineno="78"><highlight class="normal"></highlight></codeline>
<codeline lineno="79"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>delay<sp/>-<sp/>optional</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="80"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="81"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>round_trip_delay;</highlight></codeline>
<codeline lineno="82"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>end_system_delay;</highlight></codeline>
<codeline lineno="83"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>symm_one_way_delay;</highlight></codeline>
<codeline lineno="84"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>interarrival_jitter;</highlight></codeline>
<codeline lineno="85"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>mean_abs_jitter;</highlight></codeline>
<codeline lineno="86"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/>delay;</highlight></codeline>
<codeline lineno="87"><highlight class="normal"></highlight></codeline>
<codeline lineno="88"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>signal<sp/>-<sp/>optional</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="89"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="90"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>level;</highlight></codeline>
<codeline lineno="91"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>noise_level;</highlight></codeline>
<codeline lineno="92"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/>signal;</highlight></codeline>
<codeline lineno="93"><highlight class="normal"></highlight></codeline>
<codeline lineno="94"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>quality<sp/>estimates<sp/>-<sp/>optional</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="95"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="96"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>moslq;</highlight></codeline>
<codeline lineno="97"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>moscq;</highlight></codeline>
<codeline lineno="98"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/>quality_estimates;</highlight></codeline>
<codeline lineno="99"><highlight class="normal"></highlight></codeline>
<codeline lineno="100"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>custom<sp/>extension</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="101"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/>user_agent;</highlight></codeline>
<codeline lineno="102"><highlight class="normal"></highlight></codeline>
<codeline lineno="103"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>for<sp/>internal<sp/>processing</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="104"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>uint8_t<sp/>rtcp_xr_count;<sp/></highlight><highlight class="comment">//<sp/>number<sp/>of<sp/>RTCP<sp/>XR<sp/>packets<sp/>received<sp/>since<sp/>last<sp/>report,<sp/>used<sp/>to<sp/>compute<sp/>average<sp/>of<sp/>instantaneous<sp/>parameters<sp/>as<sp/>stated<sp/>in<sp/>the<sp/>RFC<sp/>6035<sp/>(4.5)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="105"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>uint8_t<sp/>rtcp_sr_count;<sp/></highlight><highlight class="comment">//<sp/>number<sp/>of<sp/>RTCP<sp/>SR<sp/>packets<sp/>received<sp/>since<sp/>last<sp/>report,<sp/>used<sp/>to<sp/>compute<sp/>RTT<sp/>average<sp/>values<sp/>in<sp/>case<sp/>RTCP<sp/>XR<sp/>voip<sp/>metrics<sp/>is<sp/>not<sp/>enabled</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="106"><highlight class="normal"></highlight></codeline>
<codeline lineno="107"><highlight class="normal">}<sp/><ref refid="structreporting__content__metrics" kindref="compound">reporting_content_metrics_t</ref>;</highlight></codeline>
<codeline lineno="108"><highlight class="normal"></highlight></codeline>
<codeline lineno="109"><highlight class="normal"></highlight></codeline>
<codeline lineno="114" refid="structreporting__session__report" refkind="compound"><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structreporting__session__report" kindref="compound">reporting_session_report</ref><sp/>{</highlight></codeline>
<codeline lineno="115"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="116"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/>call_id;</highlight></codeline>
<codeline lineno="117"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/>orig_id;</highlight></codeline>
<codeline lineno="118"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structreporting__addr" kindref="compound">reporting_addr_t</ref><sp/>local_addr;</highlight></codeline>
<codeline lineno="119"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structreporting__addr" kindref="compound">reporting_addr_t</ref><sp/>remote_addr;</highlight></codeline>
<codeline lineno="120"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/>info;</highlight></codeline>
<codeline lineno="121"><highlight class="normal"></highlight></codeline>
<codeline lineno="122"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structreporting__content__metrics" kindref="compound">reporting_content_metrics_t</ref><sp/>local_metrics;</highlight></codeline>
<codeline lineno="123"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structreporting__content__metrics" kindref="compound">reporting_content_metrics_t</ref><sp/>remote_metrics;<sp/></highlight><highlight class="comment">//<sp/>optional</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="124"><highlight class="normal"></highlight></codeline>
<codeline lineno="125"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/>dialog_id;<sp/></highlight><highlight class="comment">//<sp/>optional</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="126"><highlight class="normal"></highlight></codeline>
<codeline lineno="127"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Quality<sp/>of<sp/>Service<sp/>analyzer<sp/>-<sp/>custom<sp/>extension</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="128"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>This<sp/>should<sp/>allow<sp/>us<sp/>to<sp/>analysis<sp/>bad<sp/>network<sp/>conditions<sp/>and<sp/>quality<sp/>adaptation</highlight></codeline>
<codeline lineno="129"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>on<sp/>server<sp/>side*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="130"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="131"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/>name;<sp/></highlight><highlight class="comment">/*type<sp/>of<sp/>the<sp/>QoS<sp/>analyzer<sp/>used*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="132"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>timestamp;<sp/></highlight><highlight class="comment">/*time<sp/>of<sp/>each<sp/>decision<sp/>in<sp/>seconds*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="133"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>input_leg;<sp/></highlight><highlight class="comment">/*input<sp/>parameters&apos;<sp/>name*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="134"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>input;<sp/></highlight><highlight class="comment">/*set<sp/>of<sp/>inputs<sp/>for<sp/>each<sp/>semicolon<sp/>separated<sp/>decision*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="135"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>output_leg;<sp/></highlight><highlight class="comment">/*output<sp/>parameters&apos;<sp/>name*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="136"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>output;<sp/></highlight><highlight class="comment">/*set<sp/>of<sp/>outputs<sp/>for<sp/>each<sp/>semicolon<sp/>separated<sp/>decision*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="137"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/>qos_analyzer;</highlight></codeline>
<codeline lineno="138"><highlight class="normal"></highlight></codeline>
<codeline lineno="139"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>for<sp/>internal<sp/>processing</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="140"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>time_t<sp/>last_report_date;</highlight></codeline>
<codeline lineno="141"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call;</highlight></codeline>
<codeline lineno="142"><highlight class="normal">}<sp/><ref refid="structreporting__session__report" kindref="compound">reporting_session_report_t</ref>;</highlight></codeline>
<codeline lineno="143"><highlight class="normal"></highlight></codeline>
<codeline lineno="144"><highlight class="normal"></highlight></codeline>
<codeline lineno="145"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/>void<sp/>(*LinphoneQualityReportingReportSendCb)(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call,<sp/>SalStreamType<sp/>stream_type,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__misc_1gaec435ed53168e70535e64b69a906304b" kindref="member">LinphoneContent</ref><sp/>*content);</highlight></codeline>
<codeline lineno="146"><highlight class="normal"></highlight></codeline>
<codeline lineno="147"><highlight class="normal"><ref refid="structreporting__session__report" kindref="compound">reporting_session_report_t</ref><sp/>*<sp/>linphone_reporting_new();</highlight></codeline>
<codeline lineno="148"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_reporting_destroy(<ref refid="structreporting__session__report" kindref="compound">reporting_session_report_t</ref><sp/>*<sp/>report);</highlight></codeline>
<codeline lineno="149"><highlight class="normal"></highlight></codeline>
<codeline lineno="157"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_reporting_update_media_info(<ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*<sp/>call,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>stats_type);</highlight></codeline>
<codeline lineno="158"><highlight class="normal"></highlight></codeline>
<codeline lineno="167"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_reporting_update_ip(<ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*<sp/>call);</highlight></codeline>
<codeline lineno="168"><highlight class="normal"></highlight></codeline>
<codeline lineno="177"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>linphone_reporting_publish_session_report(<ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref>*<sp/>call,<sp/>bool_t<sp/>call_term);</highlight></codeline>
<codeline lineno="178"><highlight class="normal"></highlight></codeline>
<codeline lineno="185"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>linphone_reporting_publish_interval_report(<ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref>*<sp/>call);</highlight></codeline>
<codeline lineno="186"><highlight class="normal"></highlight></codeline>
<codeline lineno="193"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_reporting_on_rtcp_update(<ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call,<sp/>SalStreamType<sp/>stats_type);</highlight></codeline>
<codeline lineno="194"><highlight class="normal"></highlight></codeline>
<codeline lineno="200"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_reporting_call_state_updated(<ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call);</highlight></codeline>
<codeline lineno="201"><highlight class="normal"></highlight></codeline>
<codeline lineno="210"><highlight class="normal">LINPHONE_PUBLIC<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_reporting_set_on_report_send(<ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call,<sp/>LinphoneQualityReportingReportSendCb<sp/>cb);</highlight></codeline>
<codeline lineno="211"><highlight class="normal"></highlight></codeline>
<codeline lineno="212"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>__cplusplus</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="213"><highlight class="normal">}</highlight></codeline>
<codeline lineno="214"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="215"><highlight class="normal"></highlight></codeline>
<codeline lineno="216"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
    </programlisting>
    <location file="/usr/src/slapt-src/network/linphone/linphone-3.9.1/coreapi/quality_reporting.h"/>
  </compounddef>
</doxygen>
