<?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.8">
  <compounddef id="linphonecore_8c" kind="file">
    <compoundname>linphonecore.c</compoundname>
    <includes refid="linphonecore_8h" local="yes">linphonecore.h</includes>
    <includes refid="sipsetup_8h" local="yes">sipsetup.h</includes>
    <includes refid="lpconfig_8h" local="yes">lpconfig.h</includes>
    <includes refid="private_8h" local="yes">private.h</includes>
    <includes refid="quality__reporting_8h" local="yes">quality_reporting.h</includes>
    <includes refid="lime_8h" local="yes">lime.h</includes>
    <includes local="no">math.h</includes>
    <includes local="no">sys/types.h</includes>
    <includes local="no">sys/stat.h</includes>
    <includes local="no">ortp/telephonyevents.h</includes>
    <includes local="no">mediastreamer2/zrtp.h</includes>
    <includes local="no">mediastreamer2/dtls_srtp.h</includes>
    <includes local="yes">mediastreamer2/mediastream.h</includes>
    <includes local="yes">mediastreamer2/mseventqueue.h</includes>
    <includes local="yes">mediastreamer2/msvolume.h</includes>
    <includes local="yes">mediastreamer2/msequalizer.h</includes>
    <includes local="yes">mediastreamer2/dtmfgen.h</includes>
    <includes refid="enum_8h" local="yes">enum.h</includes>
    <includes refid="contact__providers__priv_8h" local="yes">contact_providers_priv.h</includes>
    <incdepgraph>
      <node id="120">
        <label>sys/stat.h</label>
      </node>
      <node id="122">
        <label>mediastreamer2/zrtp.h</label>
      </node>
      <node id="125">
        <label>mediastreamer2/mseventqueue.h</label>
      </node>
      <node id="123">
        <label>mediastreamer2/dtls_srtp.h</label>
      </node>
      <node id="119">
        <label>sys/types.h</label>
      </node>
      <node id="127">
        <label>mediastreamer2/msequalizer.h</label>
      </node>
      <node id="126">
        <label>mediastreamer2/msvolume.h</label>
      </node>
      <node id="118">
        <label>math.h</label>
      </node>
      <node id="124">
        <label>mediastreamer2/mediastream.h</label>
      </node>
      <node id="117">
        <label>linphonecore.c</label>
        <link refid="linphonecore.c"/>
        <childnode refid="118" relation="include">
        </childnode>
        <childnode refid="119" relation="include">
        </childnode>
        <childnode refid="120" relation="include">
        </childnode>
        <childnode refid="121" relation="include">
        </childnode>
        <childnode refid="122" relation="include">
        </childnode>
        <childnode refid="123" relation="include">
        </childnode>
        <childnode refid="124" relation="include">
        </childnode>
        <childnode refid="125" relation="include">
        </childnode>
        <childnode refid="126" relation="include">
        </childnode>
        <childnode refid="127" relation="include">
        </childnode>
        <childnode refid="128" relation="include">
        </childnode>
      </node>
      <node id="128">
        <label>mediastreamer2/dtmfgen.h</label>
      </node>
      <node id="121">
        <label>ortp/telephonyevents.h</label>
      </node>
    </incdepgraph>
    <innerclass refid="structHook" prot="public">Hook</innerclass>
      <sectiondef kind="define">
      <memberdef kind="define" id="linphonecore_8c_1a64f597d04e2ddd51b757c57640d0de2e" prot="public" static="no">
        <name>LIBLINPHONE_GIT_VERSION</name>
        <initializer>&quot;unknown&quot;</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="53" column="9" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="53" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="linphonecore_8c_1a674b6229f1b8f024594f5574113caf06" prot="public" static="no">
        <name>COMPRESSED_LOG_COLLECTION_EXTENSION</name>
        <initializer>&quot;txt&quot;</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="72" column="10" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="72" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="linphonecore_8c_1a58404b2afc860d8acf0fb7e018d5395c" prot="public" static="no">
        <name>LOG_COLLECTION_DEFAULT_PATH</name>
        <initializer>&quot;.&quot;</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="74" column="10" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="74" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="linphonecore_8c_1adcd0199208ab19d67634d90451b3ac1f" prot="public" static="no">
        <name>LOG_COLLECTION_DEFAULT_PREFIX</name>
        <initializer>&quot;linphone&quot;</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="75" column="9" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="75" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="linphonecore_8c_1a73e22cc9bb7578cf55485d962496d266" prot="public" static="no">
        <name>LOG_COLLECTION_DEFAULT_MAX_FILE_SIZE</name>
        <initializer>(10 * 1024 * 1024)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="76" column="9" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="76" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="linphonecore_8c_1a1ad37182585220f1875867364cbb794a" prot="public" static="no">
        <name>ROOT_CA_FILE</name>
        <initializer>PACKAGE_DATA_DIR &quot;/linphone/rootca.pem&quot;</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="81" column="9" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="81" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="linphonecore_8c_1ae0d4ba8cb612b9cd0a1b3c74e3695aaa" prot="public" static="no">
        <name>SOUNDS_PREFIX</name>
        <initializer>&quot;Assets/Sounds/&quot;</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="111" column="10" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="111" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="linphonecore_8c_1a1f7e619e7e341443ddd150126a589e26" prot="public" static="no">
        <name>LOCAL_RING</name>
        <initializer>SOUNDS_PREFIX &quot;rings/oldphone.wav&quot;</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="114" column="9" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="114" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="linphonecore_8c_1a90f46a621a1178cb6be9f3f143ff02b3" prot="public" static="no">
        <name>REMOTE_RING</name>
        <initializer>SOUNDS_PREFIX &quot;ringback.wav&quot;</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="116" column="9" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="116" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="linphonecore_8c_1a7c4c1521f7ec87682c9d13d593252018" prot="public" static="no">
        <name>HOLD_MUSIC</name>
        <initializer>SOUNDS_PREFIX &quot;rings/toy-mono.wav&quot;</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="117" column="9" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="117" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="linphonecore_8c_1a75b9529d50840c752342ea02badc1773" prot="public" static="no">
        <name>COMPRESS_FILE_PTR</name>
        <initializer>FILE*</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="502" column="10" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="502" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="linphonecore_8c_1af2ae7e1f90b929f259e543f568dcd948" prot="public" static="no">
        <name>COMPRESS_OPEN</name>
        <initializer>fopen</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="503" column="9" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="503" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="linphonecore_8c_1a8792c50f360b50eb613b1e64a5264d9f" prot="public" static="no">
        <name>COMPRESS_CLOSE</name>
        <initializer>fclose</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="504" column="9" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="504" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="enum">
      <memberdef kind="enum" id="linphonecore_8c_1a968106eb006fb30e8cab6c7d39cac899" prot="public" static="no">
        <name>LinphoneAudioResourceType</name>
        <enumvalue id="linphonecore_8c_1a968106eb006fb30e8cab6c7d39cac899a817477913f06f6fa345a850ecb1511ab" prot="public">
          <name>LinphoneToneGenerator</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="linphonecore_8c_1a968106eb006fb30e8cab6c7d39cac899afff09db079b65bc10806d8659fa30ba6" prot="public">
          <name>LinphoneLocalPlayer</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5862" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5862" bodyend="5865"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="typedef">
      <memberdef kind="typedef" id="linphonecore_8c_1a740fbd3216848e9e201f0c99e9b8a287" prot="public" static="no">
        <type>struct Hook</type>
        <definition>typedef struct Hook Hook</definition>
        <argsstring></argsstring>
        <name>Hook</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6773" column="1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="var">
      <memberdef kind="variable" id="linphonecore_8c_1ae64577a47f7d0e87fe225e47e19bb9a3" prot="public" static="yes" mutable="no">
        <type>const char *</type>
        <definition>const char* liblinphone_version</definition>
        <argsstring></argsstring>
        <name>liblinphone_version</name>
        <initializer>=

	 &quot;unknown&quot;</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="83" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="83" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="linphonecore_8c_1a5f319de94fb7e47b9b1be2ab633d4f9a" prot="public" static="yes" mutable="no">
        <type>OrtpLogFunc</type>
        <definition>OrtpLogFunc liblinphone_log_func</definition>
        <argsstring></argsstring>
        <name>liblinphone_log_func</name>
        <initializer>= NULL</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="90" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="90" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="linphonecore_8c_1a56b16f9a3eba85c2f825ed75ae1082d5" prot="public" static="yes" mutable="no">
        <type>LinphoneLogCollectionState</type>
        <definition>LinphoneLogCollectionState liblinphone_log_collection_state</definition>
        <argsstring></argsstring>
        <name>liblinphone_log_collection_state</name>
        <initializer>= LinphoneLogCollectionDisabled</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="91" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="91" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="linphonecore_8c_1a625ad708ebceee2897ee8a93c858b22c" prot="public" static="yes" mutable="no">
        <type>char *</type>
        <definition>char* liblinphone_log_collection_path</definition>
        <argsstring></argsstring>
        <name>liblinphone_log_collection_path</name>
        <initializer>= NULL</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="92" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="92" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="linphonecore_8c_1a55844aee7a9235b0d3a28b863c560591" prot="public" static="yes" mutable="no">
        <type>char *</type>
        <definition>char* liblinphone_log_collection_prefix</definition>
        <argsstring></argsstring>
        <name>liblinphone_log_collection_prefix</name>
        <initializer>= NULL</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="93" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="93" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="linphonecore_8c_1a6f93a513d3fd1d34f370042f73eec25a" prot="public" static="yes" mutable="no">
        <type>int</type>
        <definition>int liblinphone_log_collection_max_file_size</definition>
        <argsstring></argsstring>
        <name>liblinphone_log_collection_max_file_size</name>
        <initializer>=  (10 * 1024 * 1024)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="94" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="94" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="linphonecore_8c_1af92ba309801472aa953f5299a6f26452" prot="public" static="yes" mutable="no">
        <type>ortp_mutex_t</type>
        <definition>ortp_mutex_t liblinphone_log_collection_mutex</definition>
        <argsstring></argsstring>
        <name>liblinphone_log_collection_mutex</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="95" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="95" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="linphonecore_8c_1a3729007ea7d373ca8800602b1e363c28" prot="public" static="yes" mutable="no">
        <type>bool_t</type>
        <definition>bool_t liblinphone_serialize_logs</definition>
        <argsstring></argsstring>
        <name>liblinphone_serialize_logs</name>
        <initializer>= FALSE</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="96" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="96" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="linphonecore_8c_1a4d9aced57d6f8e54af37a2a212458b40" prot="public" static="no" mutable="no">
        <type>SalCallbacks</type>
        <definition>SalCallbacks linphone_sal_callbacks</definition>
        <argsstring></argsstring>
        <name>linphone_sal_callbacks</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="120" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/callbacks.c" bodystart="1353" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="linphonecore_8c_1ac921bccaa1b2ee01dbdab076dc1f49eb" prot="public" static="yes" mutable="no">
        <type>int</type>
        <definition>int linphone_core_serialization_ref</definition>
        <argsstring></argsstring>
        <name>linphone_core_serialization_ref</name>
        <initializer>= 0</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1554" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1554" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="linphonecore_8c_1a6c40ddf4ab30f7948143b6f5e4268fe5" prot="public" static="yes" mutable="no">
        <type>char</type>
        <definition>char _ua_name[64]</definition>
        <argsstring>[64]</argsstring>
        <name>_ua_name</name>
        <initializer>=&quot;Linphone&quot;</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2195" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2195" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="linphonecore_8c_1a0dcb3580722d3a8bafcd3afa388ce21d" prot="public" static="yes" mutable="no">
        <type>char</type>
        <definition>char _ua_version[64]</definition>
        <argsstring>[64]</argsstring>
        <name>_ua_version</name>
        <initializer>= LINPHONE_VERSION</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2196" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2196" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="linphonecore_8c_1ab0df7e16bf31978a4b8e8a678e95d680" prot="public" static="yes" mutable="no">
        <type>MSVideoSizeDef</type>
        <definition>MSVideoSizeDef supported_resolutions[]</definition>
        <argsstring>[]</argsstring>
        <name>supported_resolutions</name>
        <initializer>={

	{	{ MS_VIDEO_SIZE_1080P_W, MS_VIDEO_SIZE_1080P_H }	,	&quot;1080p&quot;	},


	{	{ MS_VIDEO_SIZE_UXGA_W, MS_VIDEO_SIZE_UXGA_H }	,	&quot;uxga&quot;	},
	{	{ MS_VIDEO_SIZE_SXGA_MINUS_W, MS_VIDEO_SIZE_SXGA_MINUS_H }	,	&quot;sxga-&quot;	},

	{	{ MS_VIDEO_SIZE_720P_W, MS_VIDEO_SIZE_720P_H }	,	&quot;720p&quot;	},

	{	{ MS_VIDEO_SIZE_XGA_W, MS_VIDEO_SIZE_XGA_H }	,	&quot;xga&quot;	},


	{	{ MS_VIDEO_SIZE_SVGA_W, MS_VIDEO_SIZE_SVGA_H }	,	&quot;svga&quot;	},
	{	{ MS_VIDEO_SIZE_4CIF_W, MS_VIDEO_SIZE_4CIF_H }	,	&quot;4cif&quot;	},


	{	{ MS_VIDEO_SIZE_VGA_W, MS_VIDEO_SIZE_VGA_H }	,	&quot;vga&quot;	},



	{	{ MS_VIDEO_SIZE_CIF_W, MS_VIDEO_SIZE_CIF_H }	,	&quot;cif&quot;	},

	{	{ MS_VIDEO_SIZE_QVGA_W, MS_VIDEO_SIZE_QVGA_H }	,	&quot;qvga&quot;	},

	{	{ MS_VIDEO_SIZE_QCIF_W, MS_VIDEO_SIZE_QCIF_H }	,	&quot;qcif&quot;	},
	{	{ 0,0 }			,	NULL	}
}</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5570" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5570" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="func">
      <memberdef kind="function" id="linphonecore_8c_1a4cb9750c562c590648f35f9dd43f1cc8" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void set_network_reachable</definition>
        <argsstring>(LinphoneCore *lc, bool_t isReachable, time_t curtime)</argsstring>
        <name>set_network_reachable</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>isReachable</declname>
        </param>
        <param>
          <type>time_t</type>
          <declname>curtime</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="97" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6405" bodyend="6444"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a88a427f659883620861a2a8dd97225a7" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void linphone_core_run_hooks</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_run_hooks</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="98" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6790" bodyend="6792"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1aa48f8e0679780301698da68162018473" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void linphone_core_free_hooks</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_free_hooks</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="99" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6794" bodyend="6798"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a0da4538162850fe80c379c08bfce7426" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char * linphone_core_get_nat_address_resolved</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_nat_address_resolved</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="105" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4967" bodyend="4991"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a37c4c7fdbe1952794c528e6da2244d13" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void toggle_video_preview</definition>
        <argsstring>(LinphoneCore *lc, bool_t val)</argsstring>
        <name>toggle_video_preview</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>val</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="106" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5100" bodyend="5122"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1af17e0632a0f147847315825dc3c10fbe" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void lc_callback_obj_init</definition>
        <argsstring>(LCCallbackObj *obj, LinphoneCoreCbFunc func, void *ud)</argsstring>
        <name>lc_callback_obj_init</name>
        <param>
          <type>LCCallbackObj *</type>
          <declname>obj</declname>
        </param>
        <param>
          <type><ref refid="group__initializing_1ga2e55e712a2453d67eb7848e30eb7dcb4" kindref="member">LinphoneCoreCbFunc</ref></type>
          <declname>func</declname>
        </param>
        <param>
          <type>void *</type>
          <declname>ud</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="122" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="122" bodyend="126"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a46ae15f46dc6c57a98f14999e3b8da16" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int lc_callback_obj_invoke</definition>
        <argsstring>(LCCallbackObj *obj, LinphoneCore *lc)</argsstring>
        <name>lc_callback_obj_invoke</name>
        <param>
          <type>LCCallbackObj *</type>
          <declname>obj</declname>
        </param>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="128" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="128" bodyend="131"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a8c51975a948ab2d4326deb68710d3dc6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_call_asked_to_autoanswer</definition>
        <argsstring>(LinphoneCall *call)</argsstring>
        <name>linphone_call_asked_to_autoanswer</name>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns TRUE if the LinphoneCall asked to autoanswer </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="138" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="138" bodyend="144"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a7f20301c8ab39ba5df59282fa62f0ec7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_current_call_duration</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_current_call_duration</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="146" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="146" bodyend="150"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga7880d44bd0f4dfb68d05bcd7f1f1ee23" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const <ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref> *</type>
        <definition>const LinphoneAddress* linphone_core_get_current_call_remote_address</definition>
        <argsstring>(struct _LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_current_call_remote_address</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the remote address of the current call. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para>LinphoneCore object. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The remote address of the current call or NULL if there is no current call. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="152" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="152" bodyend="156"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1af92f3ea2e277dc7e11afad011b7d0b15" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void linphone_core_log_collection_handler</definition>
        <argsstring>(OrtpLogLevel level, const char *fmt, va_list args)</argsstring>
        <name>linphone_core_log_collection_handler</name>
        <param>
          <type>OrtpLogLevel</type>
          <declname>level</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>fmt</declname>
        </param>
        <param>
          <type>va_list</type>
          <declname>args</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="158" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="186" bodyend="263"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1ga1916e55f85eb1e3db57629d67a0de0cd" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_log_handler</definition>
        <argsstring>(OrtpLogFunc logfunc)</argsstring>
        <name>linphone_core_set_log_handler</name>
        <param>
          <type>OrtpLogFunc</type>
          <declname>logfunc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Define a log handler.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>logfunc</parametername>
</parameternamelist>
<parameterdescription>
<para>The function pointer of the log handler. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="160" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="160" bodyend="166"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1ga9de0532e1e1370f0375173bd1a3c8cc8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_log_file</definition>
        <argsstring>(FILE *file)</argsstring>
        <name>linphone_core_set_log_file</name>
        <param>
          <type>FILE *</type>
          <declname>file</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Define a log file.</para><para>If the file pointer passed as an argument is NULL, stdout is used instead.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>file</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the FILE structure of the file to write to. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="168" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="168" bodyend="171"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a685b79d92af0184dbeac46df14bf4705" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_log_level</definition>
        <argsstring>(OrtpLogLevel loglevel)</argsstring>
        <name>linphone_core_set_log_level</name>
        <param>
          <type>OrtpLogLevel</type>
          <declname>loglevel</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para><xrefsect id="deprecated_1_deprecated000046"><xreftitle>Deprecated</xreftitle><xrefdescription><para>Use <ref refid="group__misc_1ga27f65c839ea65fb3b45507072e865d5f" kindref="member">linphone_core_set_log_level_mask</ref> instead, which is exactly the same function.. </para></xrefdescription></xrefsect></para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="173" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="173" bodyend="175"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1ga27f65c839ea65fb3b45507072e865d5f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_log_level_mask</definition>
        <argsstring>(OrtpLogLevel loglevel)</argsstring>
        <name>linphone_core_set_log_level_mask</name>
        <param>
          <type>OrtpLogLevel</type>
          <declname>loglevel</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Define the log level.</para><para>The loglevel parameter is a bitmask parameter. Therefore to enable only warning and error messages, use ORTP_WARNING | ORTP_ERROR. To disable logs, simply set loglevel to 0.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>loglevel</parametername>
</parameternamelist>
<parameterdescription>
<para>A bitmask of the log levels to set. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="177" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="177" bodyend="184"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1ga425439d9ef1a550a2070ea1cf7ff2651" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_log_collection_path</definition>
        <argsstring>(void)</argsstring>
        <name>linphone_core_get_log_collection_path</name>
        <param>
          <type>void</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the path where the log files will be written for log collection.</para><para><simplesect kind="return"><para>The path where the log files will be written. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="265" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="265" bodyend="270"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1gae7fd5692a16c46200d3e055b032c037e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_log_collection_path</definition>
        <argsstring>(const char *path)</argsstring>
        <name>linphone_core_set_log_collection_path</name>
        <param>
          <type>const char *</type>
          <declname>path</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the path where the log files will be written for log collection.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">path</parametername>
</parameternamelist>
<parameterdescription>
<para>The path where the log files will be written. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="272" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="272" bodyend="280"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1ga668c1a0f293b1cbbbed619ae738a77ae" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_log_collection_prefix</definition>
        <argsstring>(void)</argsstring>
        <name>linphone_core_get_log_collection_prefix</name>
        <param>
          <type>void</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the prefix of the filenames that will be used for log collection.</para><para><simplesect kind="return"><para>The prefix of the filenames used for log collection. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="282" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="282" bodyend="287"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1gabb62e04407261305113359d62c68f567" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_log_collection_prefix</definition>
        <argsstring>(const char *prefix)</argsstring>
        <name>linphone_core_set_log_collection_prefix</name>
        <param>
          <type>const char *</type>
          <declname>prefix</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the prefix of the filenames that will be used for log collection.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">prefix</parametername>
</parameternamelist>
<parameterdescription>
<para>The prefix to use for the filenames for log collection. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="289" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="289" bodyend="297"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1gadf0925aff0edf73d9b7c8094809dfa2a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_log_collection_max_file_size</definition>
        <argsstring>(void)</argsstring>
        <name>linphone_core_get_log_collection_max_file_size</name>
        <param>
          <type>void</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the max file size in bytes of the files used for log collection.</para><para><simplesect kind="return"><para>The max file size in bytes of the files used for log collection. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="299" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="299" bodyend="301"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1gaa6649a68a8d6b7c0e029242b41c8f4c0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_log_collection_max_file_size</definition>
        <argsstring>(int size)</argsstring>
        <name>linphone_core_set_log_collection_max_file_size</name>
        <param>
          <type>int</type>
          <declname>size</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the max file size in bytes of the files used for log collection. Warning: this function should only not be used to change size dynamically but instead only before calling <simplesect kind="see"><para><ref refid="group__misc_1ga12291e2558149ecd1c4d3eb9417278ae" kindref="member">linphone_core_enable_log_collection</ref>. If you increase max size on runtime, logs chronological order COULD be broken.</para></simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">size</parametername>
</parameternamelist>
<parameterdescription>
<para>The max file size in bytes of the files used for log collection. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="303" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="303" bodyend="305"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a13fa6755b23af96f63ee3970274271c1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_log_collection_upload_server_url</definition>
        <argsstring>(LinphoneCore *core)</argsstring>
        <name>linphone_core_get_log_collection_upload_server_url</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>core</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="307" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="307" bodyend="309"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1ga85532b165703078db1847cb49c222681" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_log_collection_upload_server_url</definition>
        <argsstring>(LinphoneCore *core, const char *server_url)</argsstring>
        <name>linphone_core_set_log_collection_upload_server_url</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>core</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>server_url</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the url of the server where to upload the collected log files.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">core</parametername>
</parameternamelist>
<parameterdescription>
<para>LinphoneCore object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">server_url</parametername>
</parameternamelist>
<parameterdescription>
<para>The url of the server where to upload the collected log files. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="311" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="311" bodyend="313"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1ga94b98d58cc47f138bade99749f4db6f2" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>LinphoneLogCollectionState</type>
        <definition>LinphoneLogCollectionState linphone_core_log_collection_enabled</definition>
        <argsstring>(void)</argsstring>
        <name>linphone_core_log_collection_enabled</name>
        <param>
          <type>void</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Tells whether the linphone core log collection is enabled.</para><para><simplesect kind="return"><para>The state of the linphone core log collection. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="315" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="315" bodyend="317"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1ga12291e2558149ecd1c4d3eb9417278ae" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_enable_log_collection</definition>
        <argsstring>(LinphoneLogCollectionState state)</argsstring>
        <name>linphone_core_enable_log_collection</name>
        <param>
          <type>LinphoneLogCollectionState</type>
          <declname>state</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Enable the linphone core log collection to upload logs on a server.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">state</parametername>
</parameternamelist>
<parameterdescription>
<para>LinphoneLogCollectionState value telling whether to enable log collection or not. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="319" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="319" bodyend="339"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1aa9c2ae577bd06f371f4875925c1a3b60" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void clean_log_collection_upload_context</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>clean_log_collection_upload_context</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="341" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="341" bodyend="352"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a1bc74b87d46c014b20dda922c103b1a1" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void process_io_error_upload_log_collection</definition>
        <argsstring>(void *data, const belle_sip_io_error_event_t *event)</argsstring>
        <name>process_io_error_upload_log_collection</name>
        <param>
          <type>void *</type>
          <declname>data</declname>
        </param>
        <param>
          <type>const belle_sip_io_error_event_t *</type>
          <declname>event</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="354" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="354" bodyend="359"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1aaacfad0e804089748ee56584c30e613e" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void process_auth_requested_upload_log_collection</definition>
        <argsstring>(void *data, belle_sip_auth_event_t *event)</argsstring>
        <name>process_auth_requested_upload_log_collection</name>
        <param>
          <type>void *</type>
          <declname>data</declname>
        </param>
        <param>
          <type>belle_sip_auth_event_t *</type>
          <declname>event</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="361" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="361" bodyend="366"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a08322eda55079af343158f25e44577ce" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>static int log_collection_upload_on_send_body</definition>
        <argsstring>(belle_sip_user_body_handler_t *bh, belle_sip_message_t *msg, void *data, size_t offset, uint8_t *buffer, size_t *size)</argsstring>
        <name>log_collection_upload_on_send_body</name>
        <param>
          <type>belle_sip_user_body_handler_t *</type>
          <declname>bh</declname>
        </param>
        <param>
          <type>belle_sip_message_t *</type>
          <declname>msg</declname>
        </param>
        <param>
          <type>void *</type>
          <declname>data</declname>
        </param>
        <param>
          <type>size_t</type>
          <declname>offset</declname>
        </param>
        <param>
          <type>uint8_t *</type>
          <declname>buffer</declname>
        </param>
        <param>
          <type>size_t *</type>
          <declname>size</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Callback called when posting a log collection file to server (following rcs5.1 recommendation)</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">bh</parametername>
</parameternamelist>
<parameterdescription>
<para>The body handler </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">msg</parametername>
</parameternamelist>
<parameterdescription>
<para>The belle sip message </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">data</parametername>
</parameternamelist>
<parameterdescription>
<para>The user data associated with the handler, contains the LinphoneCore object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">offset</parametername>
</parameternamelist>
<parameterdescription>
<para>The current position in the input buffer </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">buffer</parametername>
</parameternamelist>
<parameterdescription>
<para>The ouput buffer where to copy the data to be uploaded </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">size</parametername>
</parameternamelist>
<parameterdescription>
<para>The size in byte of the data requested, as output it will contain the effective copied size </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="379" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="379" bodyend="400"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1ac81148717e5e18e7cb4764a6929c7dec" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void log_collection_upload_on_progress</definition>
        <argsstring>(belle_sip_body_handler_t *bh, belle_sip_message_t *msg, void *data, size_t offset, size_t total)</argsstring>
        <name>log_collection_upload_on_progress</name>
        <param>
          <type>belle_sip_body_handler_t *</type>
          <declname>bh</declname>
        </param>
        <param>
          <type>belle_sip_message_t *</type>
          <declname>msg</declname>
        </param>
        <param>
          <type>void *</type>
          <declname>data</declname>
        </param>
        <param>
          <type>size_t</type>
          <declname>offset</declname>
        </param>
        <param>
          <type>size_t</type>
          <declname>total</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Callback called during upload of a log collection to server. It is just forwarding the call and some parameters to the vtable defined callback. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="406" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="406" bodyend="409"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a8765a7a18d196b9020d49aaa9ad40d71" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void process_response_from_post_file_log_collection</definition>
        <argsstring>(void *data, const belle_http_response_event_t *event)</argsstring>
        <name>process_response_from_post_file_log_collection</name>
        <param>
          <type>void *</type>
          <declname>data</declname>
        </param>
        <param>
          <type>const belle_http_response_event_t *</type>
          <declname>event</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Callback function called when we have a response from server during the upload of the log collection to the server (rcs5.1 recommandation) Note: The first post is empty and the server shall reply a 204 (No content) message, this will trigger a new post request to the server to upload the file. The server response to this second post is processed by this same function</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">data</parametername>
</parameternamelist>
<parameterdescription>
<para>The user-defined pointer associated with the request, it contains the LinphoneCore object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">event</parametername>
</parameternamelist>
<parameterdescription>
<para>The response from server </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="419" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="419" bodyend="495"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a7cad641796907f1cf4116042237a424f" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>static int compress_file</definition>
        <argsstring>(FILE *input_file, FILE *output_file)</argsstring>
        <name>compress_file</name>
        <param>
          <type>FILE *</type>
          <declname>input_file</declname>
        </param>
        <param>
          <type>FILE *</type>
          <declname>output_file</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>If zlib is not available the two log files are simply concatenated. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="510" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="510" bodyend="524"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a71af303765c42bd0a955582d12f3b72e" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>static int prepare_log_collection_file_to_upload</definition>
        <argsstring>(const char *filename)</argsstring>
        <name>prepare_log_collection_file_to_upload</name>
        <param>
          <type>const char *</type>
          <declname>filename</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="526" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="526" bodyend="563"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a6955e3171592ec75bccadfc02e4efee4" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>size_t</type>
        <definition>static size_t get_size_of_file_to_upload</definition>
        <argsstring>(const char *filename)</argsstring>
        <name>get_size_of_file_to_upload</name>
        <param>
          <type>const char *</type>
          <declname>filename</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="565" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="565" bodyend="574"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1gaf231000ce23d6ceed62d106612b6ea29" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_upload_log_collection</definition>
        <argsstring>(LinphoneCore *core)</argsstring>
        <name>linphone_core_upload_log_collection</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>core</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Upload the log collection to the configured server url.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">core</parametername>
</parameternamelist>
<parameterdescription>
<para>LinphoneCore object </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="576" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="576" bodyend="609"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1ga6c97529aa0f876751a41ee392231e84c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>char *</type>
        <definition>char* linphone_core_compress_log_collection</definition>
        <argsstring>()</argsstring>
        <name>linphone_core_compress_log_collection</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Compress the log collection in a single file.</para><para><simplesect kind="return"><para>The path of the compressed log collection file (to be freed calling ms_free()). </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="611" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="611" bodyend="626"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1ga3621bfad1bde6c3fc8382869fea05135" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_reset_log_collection</definition>
        <argsstring>()</argsstring>
        <name>linphone_core_reset_log_collection</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Reset the log collection by removing the log files. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="628" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="628" bodyend="643"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1gad70dc5268366c829238b458547fe5277" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_enable_logs</definition>
        <argsstring>(FILE *file)</argsstring>
        <name>linphone_core_enable_logs</name>
        <param>
          <type>FILE *</type>
          <declname>file</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Enable logs in supplied FILE*.</para><para><xrefsect id="deprecated_1_deprecated000027"><xreftitle>Deprecated</xreftitle><xrefdescription><para>Use <ref refid="group__misc_1ga9de0532e1e1370f0375173bd1a3c8cc8" kindref="member">linphone_core_set_log_file</ref> and #linphone_core_set_log_level instead.</para></xrefdescription></xrefsect></para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>file</parametername>
</parameternamelist>
<parameterdescription>
<para>a C FILE* where to fprintf logs. If null stdout is used. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="654" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="654" bodyend="659"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1gad7314fd936348037a14ba56cd2e9093e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_enable_logs_with_cb</definition>
        <argsstring>(OrtpLogFunc logfunc)</argsstring>
        <name>linphone_core_enable_logs_with_cb</name>
        <param>
          <type>OrtpLogFunc</type>
          <declname>logfunc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Enable logs through the user&apos;s supplied log callback.</para><para><xrefsect id="deprecated_1_deprecated000028"><xreftitle>Deprecated</xreftitle><xrefdescription><para>Use <ref refid="group__misc_1ga1916e55f85eb1e3db57629d67a0de0cd" kindref="member">linphone_core_set_log_handler</ref> and #linphone_core_set_log_level instead.</para></xrefdescription></xrefsect></para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>logfunc</parametername>
</parameternamelist>
<parameterdescription>
<para>The address of a OrtpLogFunc callback whose protoype is typedef void (*OrtpLogFunc)(OrtpLogLevel lev, const char *fmt, va_list args); </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="671" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="671" bodyend="675"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1ga2d59af8c097f636ee80dccec5cc87e30" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_disable_logs</definition>
        <argsstring>(void)</argsstring>
        <name>linphone_core_disable_logs</name>
        <param>
          <type>void</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Entirely disable logging.</para><para><xrefsect id="deprecated_1_deprecated000029"><xreftitle>Deprecated</xreftitle><xrefdescription><para>Use #linphone_core_set_log_level instead. </para></xrefdescription></xrefsect></para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="683" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="683" bodyend="686"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1gaa24a21d623e53f822966384f1906c9e6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_serialize_logs</definition>
        <argsstring>(void)</argsstring>
        <name>linphone_core_serialize_logs</name>
        <param>
          <type>void</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Enable logs serialization (output logs from either the thread that creates the linphone core or the thread that calls <ref refid="group__initializing_1ga7bdac8ac386483fc4e0876e4c5d13755" kindref="member">linphone_core_iterate()</ref>). Must be called before creating the linphone core. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="688" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="688" bodyend="690"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a73dbf98fda713133819b584e9058cef6" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void net_config_read</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>net_config_read</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="693" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="693" bodyend="722"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1add22b9369946bd3f493c385a941ac200" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void build_sound_devices_table</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>build_sound_devices_table</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="724" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="724" bodyend="739"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a7642c554a1b01bd594af48597d49cf3a" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void sound_config_read</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>sound_config_read</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="741" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="741" bodyend="842"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a4e60ce5a60895f7707d7db304fe2da8b" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void certificates_config_read</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>certificates_config_read</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="844" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="844" bodyend="855"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1ab055b110007aa6276e491b598d7b4673" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void sip_config_read</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>sip_config_read</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="857" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="857" bodyend="969"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a3adfd594bca463f71b44f8c047c5cbc7" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void rtp_config_read</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>rtp_config_read</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="971" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="971" bodyend="1034"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a4585bf91ed2b20531d6bc2d824902e31" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>PayloadType *</type>
        <definition>static PayloadType* find_payload</definition>
        <argsstring>(const MSList *default_list, const char *mime_type, int clock_rate, int channels, const char *recv_fmtp)</argsstring>
        <name>find_payload</name>
        <param>
          <type>const MSList *</type>
          <declname>default_list</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>mime_type</declname>
        </param>
        <param>
          <type>int</type>
          <declname>clock_rate</declname>
        </param>
        <param>
          <type>int</type>
          <declname>channels</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>recv_fmtp</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1036" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1036" bodyend="1062"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1ae3150f371ae6dc069cbdf2d39ad62591" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>PayloadType *</type>
        <definition>static PayloadType* find_payload_type_from_list</definition>
        <argsstring>(const char *type, int rate, int channels, const MSList *from)</argsstring>
        <name>find_payload_type_from_list</name>
        <param>
          <type>const char *</type>
          <declname>type</declname>
        </param>
        <param>
          <type>int</type>
          <declname>rate</declname>
        </param>
        <param>
          <type>int</type>
          <declname>channels</declname>
        </param>
        <param>
          <type>const MSList *</type>
          <declname>from</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1064" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1064" bodyend="1075"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a392f5962b23d5d48cab8ed71d6a5c859" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>static bool_t get_codec</definition>
        <argsstring>(LinphoneCore *lc, SalStreamType type, int index, PayloadType **ret)</argsstring>
        <name>get_codec</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>SalStreamType</type>
          <declname>type</declname>
        </param>
        <param>
          <type>int</type>
          <declname>index</declname>
        </param>
        <param>
          <type>PayloadType **</type>
          <declname>ret</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1077" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1077" bodyend="1117"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1acc25b67c1aa2bf7bf4b3518b44392cf0" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>MSList *</type>
        <definition>static MSList* add_missing_codecs</definition>
        <argsstring>(const MSList *default_list, MSList *l)</argsstring>
        <name>add_missing_codecs</name>
        <param>
          <type>const MSList *</type>
          <declname>default_list</declname>
        </param>
        <param>
          <type>MSList *</type>
          <declname>l</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1122" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1122" bodyend="1144"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a9db338f7c5f9e81d3070ac578b9b1d64" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>MSList *</type>
        <definition>static MSList* codec_append_if_new</definition>
        <argsstring>(MSList *l, PayloadType *pt)</argsstring>
        <name>codec_append_if_new</name>
        <param>
          <type>MSList *</type>
          <declname>l</declname>
        </param>
        <param>
          <type>PayloadType *</type>
          <declname>pt</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1146" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1146" bodyend="1155"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1ab96e388a4c43579b85de2dcd39f03090" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void codecs_config_read</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>codecs_config_read</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1157" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1157" bodyend="1187"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1af55494b344e8d0bb020b67ded90850a9" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void build_video_devices_table</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>build_video_devices_table</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1189" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1189" bodyend="1205"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a319bf0f323580cffbdad02d392bce107" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void video_config_read</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>video_config_read</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1207" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1207" bodyend="1248"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a08fb93c8927fe6c9c966554ce4c2c4b7" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void ui_config_read</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>ui_config_read</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1250" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1250" bodyend="1258"/>
      </memberdef>
      <memberdef kind="function" id="group__tunnel_1ga6c411bd114b1e45806dbbb7c02912b35" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_tunnel_available</definition>
        <argsstring>(void)</argsstring>
        <name>linphone_core_tunnel_available</name>
        <param>
          <type>void</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>True if tunnel support was compiled. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1273" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1273" bodyend="1279"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga669232e3f2bc8b06757499c14007afb0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_enable_adaptive_rate_control</definition>
        <argsstring>(LinphoneCore *lc, bool_t enabled)</argsstring>
        <name>linphone_core_enable_adaptive_rate_control</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>enabled</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Enable adaptive rate control.</para><para>Adaptive rate control consists in using RTCP feedback provided information to dynamically control the output bitrate of the audio and video encoders, so that we can adapt to the network conditions and available bandwidth. Control of the audio encoder is done in case of audio-only call, and control of the video encoder is done for audio &amp; video calls. Adaptive rate control feature is enabled by default. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1291" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1291" bodyend="1293"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga7aa556ec95ec30680e2c80c68f2ac22e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_adaptive_rate_control_enabled</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_adaptive_rate_control_enabled</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns whether adaptive rate control is enabled.</para><para>See <ref refid="group__media__parameters_1ga669232e3f2bc8b06757499c14007afb0" kindref="member">linphone_core_enable_adaptive_rate_control()</ref>. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1302" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1302" bodyend="1304"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gadf65dd4cb1da0eeb572ce203fedbb94b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_adaptive_rate_algorithm</definition>
        <argsstring>(LinphoneCore *lc, const char *algorithm)</argsstring>
        <name>linphone_core_set_adaptive_rate_algorithm</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>algorithm</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets adaptive rate algorithm. It will be used for each new calls starting from now. Calls already started will not be updated. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1313" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1313" bodyend="1315"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga91cd638302166dd018e8f51a66811b22" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_adaptive_rate_algorithm</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_adaptive_rate_algorithm</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns which adaptive rate algorithm is currently configured for future calls.</para><para>See <ref refid="group__media__parameters_1gadf65dd4cb1da0eeb572ce203fedbb94b" kindref="member">linphone_core_set_adaptive_rate_algorithm()</ref>. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1324" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1324" bodyend="1326"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a824fcb984f73bc3fe01ca6f9d6b0f6d5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_rtcp_enabled</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_rtcp_enabled</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1328" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1328" bodyend="1330"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga1e0c01a25f78d14c6813213adf795e54" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_download_bandwidth</definition>
        <argsstring>(LinphoneCore *lc, int bw)</argsstring>
        <name>linphone_core_set_download_bandwidth</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>bw</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets maximum available download bandwidth This is IP bandwidth, in kbit/s. This information is used signaled to other parties during calls (within SDP messages) so that the remote end can have sufficient knowledge to properly configure its audio &amp; video codec output bitrate to not overflow available bandwidth.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCore object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>bw</parametername>
</parameternamelist>
<parameterdescription>
<para>the bandwidth in kbits/s, 0 for infinite </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1345" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1345" bodyend="1349"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gabaf184578641451f95ea7b4baa2b1b77" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_upload_bandwidth</definition>
        <argsstring>(LinphoneCore *lc, int bw)</argsstring>
        <name>linphone_core_set_upload_bandwidth</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>bw</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets maximum available upload bandwidth This is IP bandwidth, in kbit/s. This information is used by liblinphone together with remote side available bandwidth signaled in SDP messages to properly configure audio &amp; video codec&apos;s output bitrate.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCore object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>bw</parametername>
</parameternamelist>
<parameterdescription>
<para>the bandwidth in kbits/s, 0 for infinite </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1362" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1362" bodyend="1366"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga6536b11c3abe16d978910e97944ffe35" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_sip_transport_timeout</definition>
        <argsstring>(LinphoneCore *lc, int timeout_ms)</argsstring>
        <name>linphone_core_set_sip_transport_timeout</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>timeout_ms</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the SIP transport timeout. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">timeout_ms</parametername>
</parameternamelist>
<parameterdescription>
<para>The SIP transport timeout in milliseconds. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1368" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1368" bodyend="1372"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gacc3dd7a2bc2c1af20bccf46dad65471f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_sip_transport_timeout</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_sip_transport_timeout</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the SIP transport timeout. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The SIP transport timeout in milliseconds. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1374" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1374" bodyend="1376"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga0099114e143cc3a1faa756c5a2e3fcef" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_enable_dns_srv</definition>
        <argsstring>(LinphoneCore *lc, bool_t enable)</argsstring>
        <name>linphone_core_enable_dns_srv</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>enable</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Enable or disable DNS SRV resolution. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">enable</parametername>
</parameternamelist>
<parameterdescription>
<para>TRUE to enable DNS SRV resolution, FALSE to disable it. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1378" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1378" bodyend="1382"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga588c58c067c72cb0b3711d3461fd5871" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_dns_srv_enabled</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_dns_srv_enabled</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Tells whether DNS SRV resolution is enabled. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>TRUE if DNS SRV resolution is enabled, FALSE if disabled. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1384" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1384" bodyend="1386"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga111cddb72d1f515862d10c51e441904b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_download_bandwidth</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_download_bandwidth</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Retrieve the maximum available download bandwidth. This value was set by <ref refid="group__media__parameters_1ga1e0c01a25f78d14c6813213adf795e54" kindref="member">linphone_core_set_download_bandwidth()</ref>. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1393" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1393" bodyend="1395"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga4fe4a5b0770d9517ba9184434df4006d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_upload_bandwidth</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_upload_bandwidth</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Retrieve the maximum available upload bandwidth. This value was set by <ref refid="group__media__parameters_1gabaf184578641451f95ea7b4baa2b1b77" kindref="member">linphone_core_set_upload_bandwidth()</ref>. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1402" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1402" bodyend="1404"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga7576261b832196c997c3cd2891784248" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_download_ptime</definition>
        <argsstring>(LinphoneCore *lc, int ptime)</argsstring>
        <name>linphone_core_set_download_ptime</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>ptime</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set audio packetization time linphone expects to receive from peer. A value of zero means that ptime is not specified. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1410" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1410" bodyend="1412"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga21168e2a82d80c67b6808ba7d11d8c4f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_download_ptime</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_download_ptime</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get audio packetization time linphone expects to receive from peer. A value of zero means that ptime is not specified. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1419" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1419" bodyend="1421"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gab1c4eef42818fba7ab3873ce32cfdf09" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_upload_ptime</definition>
        <argsstring>(LinphoneCore *lc, int ptime)</argsstring>
        <name>linphone_core_set_upload_ptime</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>ptime</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set audio packetization time linphone will send (in absence of requirement from peer) A value of 0 stands for the current codec default packetization time. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1429" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1429" bodyend="1431"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga394a1c972ab8c731c8c986ce741537f7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_upload_ptime</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_upload_ptime</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set audio packetization time linphone will send (in absence of requirement from peer) A value of 0 stands for the current codec default packetization time. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1440" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1440" bodyend="1442"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1ga553b61ad32d7455ce69102025d383f90" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_version</definition>
        <argsstring>(void)</argsstring>
        <name>linphone_core_get_version</name>
        <param>
          <type>void</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns liblinphone&apos;s version as a string. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1452" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1452" bodyend="1454"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a30be125d76d3ae57b822e9f5fe65e390" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void linphone_core_register_payload_type</definition>
        <argsstring>(LinphoneCore *lc, const PayloadType *const_pt, const char *recv_fmtp, bool_t enabled)</argsstring>
        <name>linphone_core_register_payload_type</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const PayloadType *</type>
          <declname>const_pt</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>recv_fmtp</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>enabled</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1456" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1456" bodyend="1472"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a8e8f36f770b16262052ed92c1fc24a4f" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void linphone_core_register_static_payloads</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_register_static_payloads</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1474" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1474" bodyend="1490"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a19a49e456d6c9b6c73b4bebc5f91ccf9" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void linphone_core_free_payload_types</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_free_payload_types</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1492" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1492" bodyend="1495"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a1d2923ad129f14ea6b7fca748f5bdfa3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_state</definition>
        <argsstring>(LinphoneCore *lc, LinphoneGlobalState gstate, const char *message)</argsstring>
        <name>linphone_core_set_state</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__initializing_1gae852b5b31d6d5e673de9d2c9b63aca7e" kindref="member">LinphoneGlobalState</ref></type>
          <declname>gstate</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>message</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1497" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1497" bodyend="1500"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1ae933abe8921cb4fc8c0976f029a5af3e" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void misc_config_read</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>misc_config_read</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1502" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1502" bodyend="1518"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a36c392ad5f37067b18c20ba9ca3d1925" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void linphone_core_start</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_start</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1520" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1520" bodyend="1541"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a82cbd55e563fe3258b97044de8c1c588" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_configuring_terminated</definition>
        <argsstring>(LinphoneCore *lc, LinphoneConfiguringState state, const char *message)</argsstring>
        <name>linphone_configuring_terminated</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__initializing_1ga6b495fb476419ea7dbd62b1b2fa89bdf" kindref="member">LinphoneConfiguringState</ref></type>
          <declname>state</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>message</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1543" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1543" bodyend="1552"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a9368a726796bb1bf575149b836334303" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void linphone_core_activate_log_serialization_if_needed</definition>
        <argsstring>(void)</argsstring>
        <name>linphone_core_activate_log_serialization_if_needed</name>
        <param>
          <type>void</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1556" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1556" bodyend="1562"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a8008a26db2397414263dc86d218000b0" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void linphone_core_deactivate_log_serialization_if_needed</definition>
        <argsstring>(void)</argsstring>
        <name>linphone_core_deactivate_log_serialization_if_needed</name>
        <param>
          <type>void</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1564" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1564" bodyend="1570"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1aca6b021e5cb428851964d4b5f76088dc" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void linphone_core_register_default_codecs</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_register_default_codecs</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1572" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1572" bodyend="1635"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a7a5c8f54ea8d494a173dd2a535a01593" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void linphone_core_init</definition>
        <argsstring>(LinphoneCore *lc, const LinphoneCoreVTable *vtable, LpConfig *config, void *userdata)</argsstring>
        <name>linphone_core_init</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const <ref refid="group__initializing_1ga1ca71386f318e4044967ddf32ac7aacb" kindref="member">LinphoneCoreVTable</ref> *</type>
          <declname>vtable</declname>
        </param>
        <param>
          <type><ref refid="group__misc_1ga047b6550aab7dd244268e695fab98fd6" kindref="member">LpConfig</ref> *</type>
          <declname>config</declname>
        </param>
        <param>
          <type>void *</type>
          <declname>userdata</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1637" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1637" bodyend="1683"/>
      </memberdef>
      <memberdef kind="function" id="group__initializing_1gac93ed982ae84a5a282a703c8433ca42f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
        <definition>LinphoneCore* linphone_core_new</definition>
        <argsstring>(const LinphoneCoreVTable *vtable, const char *config_path, const char *factory_config_path, void *userdata)</argsstring>
        <name>linphone_core_new</name>
        <param>
          <type>const <ref refid="group__initializing_1ga1ca71386f318e4044967ddf32ac7aacb" kindref="member">LinphoneCoreVTable</ref> *</type>
          <declname>vtable</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>config_path</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>factory_config_path</declname>
        </param>
        <param>
          <type>void *</type>
          <declname>userdata</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Instanciates a LinphoneCore object.</para><para>The LinphoneCore object is the primary handle for doing all phone actions. It should be unique within your application. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>vtable</parametername>
</parameternamelist>
<parameterdescription>
<para>a LinphoneCoreVTable structure holding your application callbacks </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>config_path</parametername>
</parameternamelist>
<parameterdescription>
<para>a path to a config file. If it does not exists it will be created. The config file is used to store all settings, call logs, friends, proxies... so that all these settings become persistent over the life of the LinphoneCore object. It is allowed to set a NULL config file. In that case LinphoneCore will not store any settings. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>factory_config_path</parametername>
</parameternamelist>
<parameterdescription>
<para>a path to a read-only config file that can be used to to store hard-coded preference such as proxy settings or internal preferences. The settings in this factory file always override the one in the normal config file. It is OPTIONAL, use NULL if unneeded. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>userdata</parametername>
</parameternamelist>
<parameterdescription>
<para>an opaque user pointer that can be retrieved at any time (for example in callbacks) using <ref refid="group__initializing_1gadd8c0eeb93eadb513d94549898c339d1" kindref="member">linphone_core_get_user_data()</ref>. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="see"><para><ref refid="group__initializing_1ga053bea294a7b33e4523a93be260724fa" kindref="member">linphone_core_new_with_config</ref> </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1704" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1704" bodyend="1712"/>
      </memberdef>
      <memberdef kind="function" id="group__initializing_1ga053bea294a7b33e4523a93be260724fa" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
        <definition>LinphoneCore* linphone_core_new_with_config</definition>
        <argsstring>(const LinphoneCoreVTable *vtable, struct _LpConfig *config, void *userdata)</argsstring>
        <name>linphone_core_new_with_config</name>
        <param>
          <type>const <ref refid="group__initializing_1ga1ca71386f318e4044967ddf32ac7aacb" kindref="member">LinphoneCoreVTable</ref> *</type>
          <declname>vtable</declname>
        </param>
        <param>
          <type><ref refid="group__misc_1ga047b6550aab7dd244268e695fab98fd6" kindref="member">LpConfig</ref> *</type>
          <declname>config</declname>
        </param>
        <param>
          <type>void *</type>
          <declname>userdata</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Instantiates a LinphoneCore object with a given LpConfig.</para><para>The LinphoneCore object is the primary handle for doing all phone actions. It should be unique within your application. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>vtable</parametername>
</parameternamelist>
<parameterdescription>
<para>a LinphoneCoreVTable structure holding your application callbacks </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>config</parametername>
</parameternamelist>
<parameterdescription>
<para>a pointer to an LpConfig object holding the configuration of the LinphoneCore to be instantiated. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>userdata</parametername>
</parameternamelist>
<parameterdescription>
<para>an opaque user pointer that can be retrieved at any time (for example in callbacks) using <ref refid="group__initializing_1gadd8c0eeb93eadb513d94549898c339d1" kindref="member">linphone_core_get_user_data()</ref>. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="see"><para><ref refid="group__initializing_1gac93ed982ae84a5a282a703c8433ca42f" kindref="member">linphone_core_new</ref> </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1714" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1714" bodyend="1719"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga8b649e401c9155420eba0712923cc201" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const MSList *</type>
        <definition>const MSList* linphone_core_get_audio_codecs</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_audio_codecs</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the list of available audio codecs. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore object </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>A list of PayloadType objects. <mslist>PayloadType</mslist> </para></simplesect>
This list is unmodifiable. The -&gt;data field of the MSList points a PayloadType structure holding the codec information. It is possible to make copy of the list with ms_list_copy() in order to modify it (such as the order of codecs). </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1732" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1732" bodyend="1735"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga1b2b896da17654f8033e6f8a390a0589" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const MSList *</type>
        <definition>const MSList* linphone_core_get_video_codecs</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_video_codecs</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the list of available video codecs. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore object </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>A list of PayloadType objects. <mslist>PayloadType</mslist> </para></simplesect>
This list is unmodifiable. The -&gt;data field of the MSList points a PayloadType structure holding the codec information. It is possible to make copy of the list with ms_list_copy() in order to modify it (such as the order of codecs). </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1748" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1748" bodyend="1751"/>
      </memberdef>
      <memberdef kind="function" id="group__proxies_1ga8ff876ddd266a66e315fe0576537fb77" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_set_primary_contact</definition>
        <argsstring>(LinphoneCore *lc, const char *contact)</argsstring>
        <name>linphone_core_set_primary_contact</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>contact</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the local &quot;from&quot; identity.</para><para>This data is used in absence of any proxy configuration or when no default proxy configuration is set. See LinphoneProxyConfig </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1760" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1760" bodyend="1785"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a480e18a94ba6724ad62c7c8b72637bcd" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void update_primary_contact</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>update_primary_contact</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1788" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1788" bodyend="1812"/>
      </memberdef>
      <memberdef kind="function" id="group__proxies_1ga147c072e33bdf5d44a3b95b28b4b27a1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_primary_contact</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_primary_contact</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the default identity when no proxy configuration is used. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1819" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1819" bodyend="1831"/>
      </memberdef>
      <memberdef kind="function" id="group__proxies_1gace31b80363e608291ec7df0ccb0b4cf7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_guess_hostname</definition>
        <argsstring>(LinphoneCore *lc, bool_t val)</argsstring>
        <name>linphone_core_set_guess_hostname</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>val</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Tells LinphoneCore to guess local hostname automatically in primary contact. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1838" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1838" bodyend="1840"/>
      </memberdef>
      <memberdef kind="function" id="group__proxies_1ga1db010bcc9027f1e2aead2e2ddc51eef" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_get_guess_hostname</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_guess_hostname</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns TRUE if hostname part of primary contact is guessed automatically. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1847" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1847" bodyend="1849"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1ade95d85c1db0497bed36562427c3cb86" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_enable_lime</definition>
        <argsstring>(LinphoneCore *lc, bool_t val)</argsstring>
        <name>linphone_core_enable_lime</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>val</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Tells to LinphoneCore to use Linphone Instant Messaging encryption </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1855" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1855" bodyend="1859"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a54a8cc4f600fe19994b75ff7809a30d7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_lime_enabled</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_lime_enabled</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1861" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1861" bodyend="1863"/>
      </memberdef>
      <memberdef kind="function" id="group__proxies_1gae1788b49053b46190f7b305d8d21d6af" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref> *</type>
        <definition>LinphoneAddress* linphone_core_get_primary_contact_parsed</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_primary_contact_parsed</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Same as <ref refid="group__proxies_1ga147c072e33bdf5d44a3b95b28b4b27a1" kindref="member">linphone_core_get_primary_contact()</ref> but the result is a LinphoneAddress object instead of const char* </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1871" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1871" bodyend="1873"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga1334576573101667d9cec851bf0f83df" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_set_audio_codecs</definition>
        <argsstring>(LinphoneCore *lc, MSList *codecs)</argsstring>
        <name>linphone_core_set_audio_codecs</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>MSList *</type>
          <declname>codecs</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the list of audio codecs. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">codecs</parametername>
</parameternamelist>
<parameterdescription>
<para>A list of PayloadType objects. <mslist>PayloadType</mslist>  </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0</para></simplesect>
The list is taken by the LinphoneCore thus the application should not free it. This list is made of struct PayloadType describing the codec parameters. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1885" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1885" bodyend="1891"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga3b066f817fd4c980198416b8b7a1fbdf" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_set_video_codecs</definition>
        <argsstring>(LinphoneCore *lc, MSList *codecs)</argsstring>
        <name>linphone_core_set_video_codecs</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>MSList *</type>
          <declname>codecs</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the list of video codecs. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">codecs</parametername>
</parameternamelist>
<parameterdescription>
<para>A list of PayloadType objects. <mslist>PayloadType</mslist>  </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0</para></simplesect>
The list is taken by the LinphoneCore thus the application should not free it. This list is made of struct PayloadType describing the codec parameters. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1903" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1903" bodyend="1908"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a39b4824ff7486e5a83cbafab36e97842" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_enable_generic_confort_noise</definition>
        <argsstring>(LinphoneCore *lc, bool_t enabled)</argsstring>
        <name>linphone_core_enable_generic_confort_noise</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>enabled</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Enable RFC3389 generic confort noise algorithm (CN payload type). It is disabled by default, because this algorithm is only relevant for legacy codecs (PCMU, PCMA, G722). <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCore </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>enabled</parametername>
</parameternamelist>
<parameterdescription>
<para>TRUE if enabled, FALSE otherwise. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1916" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1916" bodyend="1918"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a39d00b4d236c3554dfacb4aba6b26a77" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_generic_confort_noise_enabled</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_generic_confort_noise_enabled</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns enablement of RFC3389 generic confort noise algorithm. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCore </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>TRUE or FALSE. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1925" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1925" bodyend="1927"/>
      </memberdef>
      <memberdef kind="function" id="group__buddy__list_1gab5522f2665b5da0b750b32880eca24d4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const MSList *</type>
        <definition>const MSList* linphone_core_get_friend_list</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_friend_list</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get Buddy list of LinphoneFriend <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>A list of <ref refid="group__buddy__list_1ga2f0508bab6d8ded431ce8b1a679a1522" kindref="member">LinphoneFriend</ref> objects. <mslist>LinphoneFriend</mslist>  </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1929" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1929" bodyend="1932"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gaf54c428ef4f44158be0204ba60031627" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_enable_audio_adaptive_jittcomp</definition>
        <argsstring>(LinphoneCore *lc, bool_t val)</argsstring>
        <name>linphone_core_enable_audio_adaptive_jittcomp</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>enable</declname>
          <defname>val</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Enable or disable the audio adaptive jitter compensation. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">enable</parametername>
</parameternamelist>
<parameterdescription>
<para>TRUE to enable the audio adaptive jitter compensation, FALSE to disable it. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1934" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1934" bodyend="1937"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gae3a5b465477037cbafe1d92510be375f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_audio_adaptive_jittcomp_enabled</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_audio_adaptive_jittcomp_enabled</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Tells whether the audio adaptive jitter compensation is enabled. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>TRUE if the audio adaptive jitter compensation is enabled, FALSE otherwise. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1939" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1939" bodyend="1942"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga64acd21473b504e3cd1a91a913253119" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_audio_jittcomp</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_audio_jittcomp</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the nominal audio jitter buffer size in milliseconds. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1949" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1949" bodyend="1952"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga1043aa47bf45a635dbc5bf2ceea77cfa" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_enable_video_adaptive_jittcomp</definition>
        <argsstring>(LinphoneCore *lc, bool_t val)</argsstring>
        <name>linphone_core_enable_video_adaptive_jittcomp</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>enable</declname>
          <defname>val</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Enable or disable the video adaptive jitter compensation. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">enable</parametername>
</parameternamelist>
<parameterdescription>
<para>TRUE to enable the video adaptive jitter compensation, FALSE to disable it. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1954" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1954" bodyend="1957"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga9f5b13c8540ee8f7f040187947f5889e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_video_adaptive_jittcomp_enabled</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_video_adaptive_jittcomp_enabled</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Tells whether the video adaptive jitter compensation is enabled. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>TRUE if the video adaptive jitter compensation is enabled, FALSE otherwise. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1959" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1959" bodyend="1962"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga324acd967de53ceee413a00f8f6aa82f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_video_jittcomp</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_video_jittcomp</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the nominal video jitter buffer size in milliseconds. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1969" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1969" bodyend="1972"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga6edfbe884d0767c1ee82ce57da659c7b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_audio_port</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_audio_port</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the UDP port used for audio streaming. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1979" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1979" bodyend="1982"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga1c90a61621a177ef26319ffbee2e3b6b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_get_audio_port_range</definition>
        <argsstring>(const LinphoneCore *lc, int *min_port, int *max_port)</argsstring>
        <name>linphone_core_get_audio_port_range</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int *</type>
          <declname>min_port</declname>
        </param>
        <param>
          <type>int *</type>
          <declname>max_port</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the audio port range from which is randomly chosen the UDP port used for audio streaming. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="1989" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="1989" bodyend="1993"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga3ec39e1205197d41e9862008f24f521c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_video_port</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_video_port</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the UDP port used for video streaming. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2000" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2000" bodyend="2002"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga6d802f4c671e6a4c3b39798246c23aa1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_get_video_port_range</definition>
        <argsstring>(const LinphoneCore *lc, int *min_port, int *max_port)</argsstring>
        <name>linphone_core_get_video_port_range</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int *</type>
          <declname>min_port</declname>
        </param>
        <param>
          <type>int *</type>
          <declname>max_port</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the video port range from which is randomly chosen the UDP port used for video streaming. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2009" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2009" bodyend="2013"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga2c7381905af4236ff0e128e7c9a56d32" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_nortp_timeout</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_nortp_timeout</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the value in seconds of the no-rtp timeout.</para><para>When no RTP or RTCP packets have been received for a while LinphoneCore will consider the call is broken (remote end crashed or disconnected from the network), and thus will terminate the call. The no-rtp timeout is the duration above which the call is considered broken. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2025" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2025" bodyend="2027"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a466424187632aa3c6bcb96f8acec635a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_get_rtp_no_xmit_on_audio_mute</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_rtp_no_xmit_on_audio_mute</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2029" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2029" bodyend="2031"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a3568f71d9f2d04bb0db3fbada80cbf03" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void apply_jitter_value</definition>
        <argsstring>(LinphoneCore *lc, int value, MSFormatType stype)</argsstring>
        <name>apply_jitter_value</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>value</declname>
        </param>
        <param>
          <type>MSFormatType</type>
          <declname>stype</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2033" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2033" bodyend="2054"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gad19ea0dbf3ef765ce726ed87498e6573" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_audio_jittcomp</definition>
        <argsstring>(LinphoneCore *lc, int value)</argsstring>
        <name>linphone_core_set_audio_jittcomp</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>value</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the nominal audio jitter buffer size in milliseconds. The value takes effect immediately for all running and pending calls, if any. A value of 0 disables the jitter buffer. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2063" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2063" bodyend="2067"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga15e58159a4475b9c625e971375f77596" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_video_jittcomp</definition>
        <argsstring>(LinphoneCore *lc, int value)</argsstring>
        <name>linphone_core_set_video_jittcomp</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>value</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the nominal video jitter buffer size in milliseconds. The value takes effect immediately for all running and pending calls, if any. A value of 0 disables the jitter buffer. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2076" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2076" bodyend="2080"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a69a7926c1016579ac8a84ee971da2b3d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_rtp_no_xmit_on_audio_mute</definition>
        <argsstring>(LinphoneCore *lc, bool_t rtp_no_xmit_on_audio_mute)</argsstring>
        <name>linphone_core_set_rtp_no_xmit_on_audio_mute</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>rtp_no_xmit_on_audio_mute</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2082" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2082" bodyend="2084"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga886e1f383c93ef3c031622bf612cdcd4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_audio_port</definition>
        <argsstring>(LinphoneCore *lc, int port)</argsstring>
        <name>linphone_core_set_audio_port</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>port</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the UDP port used for audio streaming. A value if -1 will request the system to allocate the local port randomly. This is recommended in order to avoid firewall warnings. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2093" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2093" bodyend="2096"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gaa5b56dcf8c1cbd1b7bbbe05279da9409" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_audio_port_range</definition>
        <argsstring>(LinphoneCore *lc, int min_port, int max_port)</argsstring>
        <name>linphone_core_set_audio_port_range</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>min_port</declname>
        </param>
        <param>
          <type>int</type>
          <declname>max_port</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the UDP port range from which to randomly select the port used for audio streaming. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2102" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2102" bodyend="2106"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga7c3341cec359dfffb671f68653fd151e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_video_port</definition>
        <argsstring>(LinphoneCore *lc, int port)</argsstring>
        <name>linphone_core_set_video_port</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>port</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the UDP port used for video streaming. A value if -1 will request the system to allocate the local port randomly. This is recommended in order to avoid firewall warnings. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2115" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2115" bodyend="2117"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga505752de4885794d848d94f4143df7a7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_video_port_range</definition>
        <argsstring>(LinphoneCore *lc, int min_port, int max_port)</argsstring>
        <name>linphone_core_set_video_port_range</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>min_port</declname>
        </param>
        <param>
          <type>int</type>
          <declname>max_port</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the UDP port range from which to randomly select the port used for video streaming. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2123" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2123" bodyend="2127"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga4d7cd6c4ddaaeee654d228a21a0b3097" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_nortp_timeout</definition>
        <argsstring>(LinphoneCore *lc, int nortp_timeout)</argsstring>
        <name>linphone_core_set_nortp_timeout</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>nortp_timeout</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the no-rtp timeout value in seconds.</para><para>See <ref refid="group__media__parameters_1ga2c7381905af4236ff0e128e7c9a56d32" kindref="member">linphone_core_get_nortp_timeout()</ref> for details. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2135" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2135" bodyend="2137"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga8f12d74bb017fea6b268d0732924f25d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_get_use_info_for_dtmf</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_use_info_for_dtmf</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Indicates whether SIP INFO is used for sending digits. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2144" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2144" bodyend="2147"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga4deb3152d6b1c73bb5ae130b04126bc6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_use_info_for_dtmf</definition>
        <argsstring>(LinphoneCore *lc, bool_t use_info)</argsstring>
        <name>linphone_core_set_use_info_for_dtmf</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>use_info</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets whether SIP INFO is to be used for sending digits. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2154" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2154" bodyend="2159"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gaa107c110a140a5f4cc82053147db772d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_get_use_rfc2833_for_dtmf</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_use_rfc2833_for_dtmf</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Indicates whether RFC2833 is used for sending digits. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2166" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2166" bodyend="2169"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga60a532c71bb575c90f1c2f572289373a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_use_rfc2833_for_dtmf</definition>
        <argsstring>(LinphoneCore *lc, bool_t use_rfc2833)</argsstring>
        <name>linphone_core_set_use_rfc2833_for_dtmf</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>use_rfc2833</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets whether RFC2833 is to be used for sending digits. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2176" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2176" bodyend="2181"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga8d1bfaa5da13e6c1ef60f30498e8dddd" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_sip_port</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_sip_port</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the UDP port used by SIP.</para><para><xrefsect id="deprecated_1_deprecated000030"><xreftitle>Deprecated</xreftitle><xrefdescription><para>use <ref refid="group__network__parameters_1gaf13b4063c40e63acd25a5cc52f486842" kindref="member">linphone_core_get_sip_transports()</ref> instead.</para></xrefdescription></xrefsect></para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2189" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2189" bodyend="2193"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1gae5adf09d448504db1338b9cb8505adc5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_user_agent</definition>
        <argsstring>(LinphoneCore *lc, const char *name, const char *ver)</argsstring>
        <name>linphone_core_set_user_agent</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>name</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>ver</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the user agent string used in SIP messages. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2203" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2203" bodyend="2210"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a91b7bed8bd234fbc3236be4cebc45ea7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_user_agent</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_user_agent</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2211" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2211" bodyend="2213"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a9460002b9fd78cf591b155f04c1e4849" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_user_agent_name</definition>
        <argsstring>(void)</argsstring>
        <name>linphone_core_get_user_agent_name</name>
        <param>
          <type>void</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para><xrefsect id="deprecated_1_deprecated000047"><xreftitle>Deprecated</xreftitle><xrefdescription><para>Use #linphone_core_get_user_agent instead. </para></xrefdescription></xrefsect></para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2215" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2215" bodyend="2217"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1ad0d06ce214f989457572c8aec05165b5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_user_agent_version</definition>
        <argsstring>(void)</argsstring>
        <name>linphone_core_get_user_agent_version</name>
        <param>
          <type>void</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para><xrefsect id="deprecated_1_deprecated000048"><xreftitle>Deprecated</xreftitle><xrefdescription><para>Use #linphone_core_get_user_agent instead. </para></xrefdescription></xrefsect></para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2219" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2219" bodyend="2221"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1ab8ec2470c98c8eafb652afa9ab936494" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void transport_error</definition>
        <argsstring>(LinphoneCore *lc, const char *transport, int port)</argsstring>
        <name>transport_error</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>transport</declname>
        </param>
        <param>
          <type>int</type>
          <declname>port</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2223" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2223" bodyend="2228"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a87d39e1ec886c19fe1fa760bf2298cc7" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>static bool_t transports_unchanged</definition>
        <argsstring>(const LCSipTransports *tr1, const LCSipTransports *tr2)</argsstring>
        <name>transports_unchanged</name>
        <param>
          <type>const <ref refid="group__initializing_1gae3417c9be557f9263ffe4f03eec21df0" kindref="member">LCSipTransports</ref> *</type>
          <declname>tr1</declname>
        </param>
        <param>
          <type>const <ref refid="group__initializing_1gae3417c9be557f9263ffe4f03eec21df0" kindref="member">LCSipTransports</ref> *</type>
          <declname>tr2</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2230" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2230" bodyend="2236"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a0c0c24a8b1280ae97f97b65181fd935c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int _linphone_core_apply_transports</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>_linphone_core_apply_transports</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2238" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2238" bodyend="2276"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1acb491db27a8089ab12121010f89a72cd" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_sip_transport_supported</definition>
        <argsstring>(const LinphoneCore *lc, LinphoneTransportType tp)</argsstring>
        <name>linphone_core_sip_transport_supported</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__linphone__address_1ga3835b7b8ed546312096456602ac0ce1d" kindref="member">LinphoneTransportType</ref></type>
          <declname>tp</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns TRUE if given transport type is supported by the library, FALSE otherwise. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2281" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2281" bodyend="2283"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1gab5d3dc270fff43b8b782b6435214fecb" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_set_sip_transports</definition>
        <argsstring>(LinphoneCore *lc, const LCSipTransports *tr_config)</argsstring>
        <name>linphone_core_set_sip_transports</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const <ref refid="group__initializing_1gae3417c9be557f9263ffe4f03eec21df0" kindref="member">LCSipTransports</ref> *</type>
          <declname>tr_config</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the ports to be used for each of transport (UDP or TCP)</para><para>A zero value port for a given transport means the transport is not used. A value of LC_SIP_TRANSPORT_RANDOM (-1) means the port is to be choosen randomly by the system. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2293" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2293" bodyend="2325"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1gaf13b4063c40e63acd25a5cc52f486842" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_sip_transports</definition>
        <argsstring>(LinphoneCore *lc, LCSipTransports *tr)</argsstring>
        <name>linphone_core_get_sip_transports</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__initializing_1gae3417c9be557f9263ffe4f03eec21df0" kindref="member">LCSipTransports</ref> *</type>
          <declname>tr</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Retrieves the port configuration used for each transport (udp, tcp, tls). A zero value port for a given transport means the transport is not used. A value of LC_SIP_TRANSPORT_RANDOM (-1) means the port is to be choosen randomly by the system. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2333" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2333" bodyend="2336"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga94d3f602f02195ee750bdbac6c1ad49e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_get_sip_transports_used</definition>
        <argsstring>(LinphoneCore *lc, LCSipTransports *tr)</argsstring>
        <name>linphone_core_get_sip_transports_used</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__initializing_1gae3417c9be557f9263ffe4f03eec21df0" kindref="member">LCSipTransports</ref> *</type>
          <declname>tr</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Retrieves the real port number assigned for each sip transport (udp, tcp, tls). A zero value means that the transport is not activated. If LC_SIP_TRANSPORT_RANDOM was passed to <ref refid="group__network__parameters_1gab5d3dc270fff43b8b782b6435214fecb" kindref="member">linphone_core_set_sip_transports()</ref>, the random port choosed by the system is returned.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCore </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>tr</parametername>
</parameternamelist>
<parameterdescription>
<para>a LCSipTransports structure. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2346" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2346" bodyend="2350"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1gac6891ac20bdf7f8556cd6a107c19db65" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_sip_port</definition>
        <argsstring>(LinphoneCore *lc, int port)</argsstring>
        <name>linphone_core_set_sip_port</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>port</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the UDP port to be used by SIP.</para><para><xrefsect id="deprecated_1_deprecated000031"><xreftitle>Deprecated</xreftitle><xrefdescription><para>use <ref refid="group__network__parameters_1gab5d3dc270fff43b8b782b6435214fecb" kindref="member">linphone_core_set_sip_transports()</ref> instead.</para></xrefdescription></xrefsect></para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2357" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2357" bodyend="2363"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga91804b8cf92f310c0d4cc8a4259ba917" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_ipv6_enabled</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_ipv6_enabled</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns TRUE if IPv6 is enabled.</para><para>See <ref refid="group__network__parameters_1gab6f8e740064dad20c530770ea51982d4" kindref="member">linphone_core_enable_ipv6()</ref> for more details on how IPv6 is supported in liblinphone. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2371" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2371" bodyend="2373"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1gab6f8e740064dad20c530770ea51982d4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_enable_ipv6</definition>
        <argsstring>(LinphoneCore *lc, bool_t val)</argsstring>
        <name>linphone_core_enable_ipv6</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>val</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Turns IPv6 support on or off.</para><para><simplesect kind="note"><para>IPv6 support is exclusive with IPv4 in liblinphone: when IPv6 is turned on, IPv4 calls won&apos;t be possible anymore. By default IPv6 support is off. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2384" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2384" bodyend="2397"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1ac7268523bebfb422c330d28fcbadc938" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void monitor_network_state</definition>
        <argsstring>(LinphoneCore *lc, time_t curtime)</argsstring>
        <name>monitor_network_state</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>time_t</type>
          <declname>curtime</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2400" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2400" bodyend="2428"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a34722700411f99009e9c606bc037daa1" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void proxy_update</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>proxy_update</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2430" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2430" bodyend="2443"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a5771a27d52531e8ebe6a0659acdc8a78" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void assign_buddy_info</definition>
        <argsstring>(LinphoneCore *lc, BuddyInfo *info)</argsstring>
        <name>assign_buddy_info</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>BuddyInfo *</type>
          <declname>info</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2445" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2445" bodyend="2454"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1afe5829ffdf850548466d08a84f405ad0" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void analyze_buddy_lookup_results</definition>
        <argsstring>(LinphoneCore *lc, LinphoneProxyConfig *cfg)</argsstring>
        <name>analyze_buddy_lookup_results</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref> *</type>
          <declname>cfg</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2456" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2456" bodyend="2476"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1aceef640c9461e11984c04e57116666e6" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void linphone_core_grab_buddy_infos</definition>
        <argsstring>(LinphoneCore *lc, LinphoneProxyConfig *cfg)</argsstring>
        <name>linphone_core_grab_buddy_infos</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref> *</type>
          <declname>cfg</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2478" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2478" bodyend="2498"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a98fbdd9c6dc089fcdf1679bccfc951c9" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void linphone_core_do_plugin_tasks</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_do_plugin_tasks</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2500" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2500" bodyend="2513"/>
      </memberdef>
      <memberdef kind="function" id="group__initializing_1ga7bdac8ac386483fc4e0876e4c5d13755" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_iterate</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_iterate</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Main loop function. It is crucial that your application call it periodically.</para><para><ref refid="group__initializing_1ga7bdac8ac386483fc4e0876e4c5d13755" kindref="member">linphone_core_iterate()</ref> performs various backgrounds tasks:<itemizedlist>
<listitem><para>receiving of SIP messages</para></listitem><listitem><para>handles timers and timeout</para></listitem><listitem><para>performs registration to proxies</para></listitem><listitem><para>authentication retries The application MUST call this function periodically, in its main loop. Be careful that this function must be called from the same thread as other liblinphone methods. If it is not the case make sure all liblinphone calls are serialized with a mutex. </para></listitem></itemizedlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2529" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2529" bodyend="2684"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1ad04fe5196f11be57f1077e3bc76504f6" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref> *</type>
        <definition>static LinphoneAddress* _linphone_core_destroy_addr_if_not_sip</definition>
        <argsstring>(LinphoneAddress *addr)</argsstring>
        <name>_linphone_core_destroy_addr_if_not_sip</name>
        <param>
          <type><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref> *</type>
          <declname>addr</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2686" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2686" bodyend="2693"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga1de3060cfba4df416da17259173fdefe" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref> *</type>
        <definition>LinphoneAddress* linphone_core_interpret_url</definition>
        <argsstring>(LinphoneCore *lc, const char *url)</argsstring>
        <name>linphone_core_interpret_url</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>url</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Interpret a call destination as supplied by the user, and returns a fully qualified LinphoneAddress.</para><para>A sip address should look like DisplayName &lt;sip:username@domain:port&gt; . Basically this function performs the following tasks<itemizedlist>
<listitem><para>if a phone number is entered, prepend country prefix of the default proxy configuration, eventually escape the &apos;+&apos; by 00.</para></listitem><listitem><para>if no domain part is supplied, append the domain name of the default proxy</para></listitem><listitem><para>if no sip: is present, prepend it</para></listitem></itemizedlist>
</para><para>The result is a syntaxically correct SIP address. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2711" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2711" bodyend="2767"/>
      </memberdef>
      <memberdef kind="function" id="group__proxies_1ga33972bf5275874d28cf0eb59f1d34d18" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char * linphone_core_get_identity</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_identity</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the default identity SIP address.</para><para>This is an helper function:</para><para>If no default proxy is set, this will return the primary contact ( see <ref refid="group__proxies_1ga147c072e33bdf5d44a3b95b28b4b27a1" kindref="member">linphone_core_get_primary_contact()</ref> ). If a default proxy is set it returns the registered identity on the proxy. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2779" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2779" bodyend="2787"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1abe7a752d458227762a7290a82b66cedf" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_route</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_route</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2789" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2789" bodyend="2797"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1af61c72d2dc9facf7ed6a792d49acd196" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
        <definition>LinphoneCall* linphone_core_start_refered_call</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call, const LinphoneCallParams *params)</argsstring>
        <name>linphone_core_start_refered_call</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <param>
          <type>const <ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref> *</type>
          <declname>params</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Start a new call as a consequence of a transfer request received from a call. This function is for advanced usage: the execution of transfers is automatically managed by the LinphoneCore. However if an application wants to have control over the call parameters for the new call, it should call this function immediately during the LinphoneCallRefered notification. <simplesect kind="see"><para><ref refid="struct__LinphoneCoreVTable_1a771c633cfce7bae2cc0160fbd377bf28" kindref="member">LinphoneCoreVTable::call_state_changed</ref> </para></simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCore </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>call</parametername>
</parameternamelist>
<parameterdescription>
<para>a call that has just been notified about LinphoneCallRefered state event. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>params</parametername>
</parameternamelist>
<parameterdescription>
<para>the call parameters to be applied to the new call. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a LinphoneCall corresponding to the new call that is attempted to the transfer destination. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2809" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2809" bodyend="2832"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a238495ce5a9029c3679aab3e13ec1f30" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_notify_refer_state</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *referer, LinphoneCall *newcall)</argsstring>
        <name>linphone_core_notify_refer_state</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>referer</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>newcall</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2834" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2834" bodyend="2838"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a31b820040ed2b88656aac498e7c1927e" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>MSList *</type>
        <definition>static MSList* make_routes_for_proxy</definition>
        <argsstring>(LinphoneProxyConfig *proxy, const LinphoneAddress *dest)</argsstring>
        <name>make_routes_for_proxy</name>
        <param>
          <type><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref> *</type>
          <declname>proxy</declname>
        </param>
        <param>
          <type>const <ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref> *</type>
          <declname>dest</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2859" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2859" bodyend="2878"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a6778d818fcff26d4852086cd31ca6d04" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref> *</type>
        <definition>LinphoneProxyConfig* linphone_core_lookup_known_proxy</definition>
        <argsstring>(LinphoneCore *lc, const LinphoneAddress *uri)</argsstring>
        <name>linphone_core_lookup_known_proxy</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const <ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref> *</type>
          <declname>uri</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2880" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2880" bodyend="2923"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a2957f15a21a0f7d37fab2428db6c2c73" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_find_best_identity</definition>
        <argsstring>(LinphoneCore *lc, const LinphoneAddress *to)</argsstring>
        <name>linphone_core_find_best_identity</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const <ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref> *</type>
          <declname>to</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2925" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2925" bodyend="2931"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a17efa8a3ad49044652c9ffaa07211fd7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_proceed_with_invite_if_ready</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call, LinphoneProxyConfig *dest_proxy)</argsstring>
        <name>linphone_core_proceed_with_invite_if_ready</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <param>
          <type><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref> *</type>
          <declname>dest_proxy</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2934" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2934" bodyend="2963"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1adff84ef90ec2d1b1155611ac5a9020ae" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_restart_invite</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call)</argsstring>
        <name>linphone_core_restart_invite</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2965" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2965" bodyend="2972"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a24b8290c062e6baade212274a595e76b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_start_invite</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call, const LinphoneAddress *destination)</argsstring>
        <name>linphone_core_start_invite</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <param>
          <type>const <ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref> *</type>
          <declname>destination</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="2974" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="2974" bodyend="3023"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1gaaea662739cc3825eaa80d8ac264a883c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
        <definition>LinphoneCall* linphone_core_invite</definition>
        <argsstring>(LinphoneCore *lc, const char *url)</argsstring>
        <name>linphone_core_invite</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>url</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Initiates an outgoing call</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCore object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>url</parametername>
</parameternamelist>
<parameterdescription>
<para>the destination of the call (sip address, or phone number).</para></parameterdescription>
</parameteritem>
</parameterlist>
The application doesn&apos;t own a reference to the returned LinphoneCall object. Use <ref refid="group__call__control_1ga67f07db984bd9534117257723142d794" kindref="member">linphone_call_ref()</ref> to safely keep the LinphoneCall pointer valid within your application.</para><para><simplesect kind="return"><para>a LinphoneCall object or NULL in case of failure </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3037" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3037" bodyend="3044"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga48931b432fb6dbe6355985604d6b5de5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
        <definition>LinphoneCall* linphone_core_invite_with_params</definition>
        <argsstring>(LinphoneCore *lc, const char *url, const LinphoneCallParams *p)</argsstring>
        <name>linphone_core_invite_with_params</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>url</declname>
        </param>
        <param>
          <type>const <ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref> *</type>
          <declname>p</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Initiates an outgoing call according to supplied call parameters</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCore object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>url</parametername>
</parameternamelist>
<parameterdescription>
<para>the destination of the call (sip address, or phone number). </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>p</parametername>
</parameternamelist>
<parameterdescription>
<para>call parameters</para></parameterdescription>
</parameteritem>
</parameterlist>
The application doesn&apos;t own a reference to the returned LinphoneCall object. Use <ref refid="group__call__control_1ga67f07db984bd9534117257723142d794" kindref="member">linphone_call_ref()</ref> to safely keep the LinphoneCall pointer valid within your application.</para><para><simplesect kind="return"><para>a LinphoneCall object or NULL in case of failure </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3060" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3060" bodyend="3069"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1gaac6720bef666db932ae77e07c2201b4c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
        <definition>LinphoneCall* linphone_core_invite_address</definition>
        <argsstring>(LinphoneCore *lc, const LinphoneAddress *addr)</argsstring>
        <name>linphone_core_invite_address</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const <ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref> *</type>
          <declname>addr</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Initiates an outgoing call given a destination LinphoneAddress</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCore object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>addr</parametername>
</parameternamelist>
<parameterdescription>
<para>the destination of the call (sip address).</para></parameterdescription>
</parameteritem>
</parameterlist>
The LinphoneAddress can be constructed directly using <ref refid="group__linphone__address_1ga301c9884c0bc8b1050fe790d424e0b49" kindref="member">linphone_address_new()</ref>, or created by <ref refid="group__call__control_1ga1de3060cfba4df416da17259173fdefe" kindref="member">linphone_core_interpret_url()</ref>. The application doesn&apos;t own a reference to the returned LinphoneCall object. Use <ref refid="group__call__control_1ga67f07db984bd9534117257723142d794" kindref="member">linphone_call_ref()</ref> to safely keep the LinphoneCall pointer valid within your application.</para><para><simplesect kind="return"><para>a LinphoneCall object or NULL in case of failure </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3085" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3085" bodyend="3092"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a58502fef01f483c7c505d85f1b09476c" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void linphone_transfer_routes_to_op</definition>
        <argsstring>(MSList *routes, SalOp *op)</argsstring>
        <name>linphone_transfer_routes_to_op</name>
        <param>
          <type>MSList *</type>
          <declname>routes</declname>
        </param>
        <param>
          <type>SalOp *</type>
          <declname>op</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3094" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3094" bodyend="3102"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a5ad35a172d4da18ce5a2122da9138e9c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_configure_op</definition>
        <argsstring>(LinphoneCore *lc, SalOp *op, const LinphoneAddress *dest, SalCustomHeader *headers, bool_t with_contact)</argsstring>
        <name>linphone_configure_op</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>SalOp *</type>
          <declname>op</declname>
        </param>
        <param>
          <type>const <ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref> *</type>
          <declname>dest</declname>
        </param>
        <param>
          <type>SalCustomHeader *</type>
          <declname>headers</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>with_contact</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3104" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3104" bodyend="3135"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1gaf73435cd4252df9cf33af90cae68d813" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
        <definition>LinphoneCall* linphone_core_invite_address_with_params</definition>
        <argsstring>(LinphoneCore *lc, const LinphoneAddress *addr, const LinphoneCallParams *params)</argsstring>
        <name>linphone_core_invite_address_with_params</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const <ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref> *</type>
          <declname>addr</declname>
        </param>
        <param>
          <type>const <ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref> *</type>
          <declname>params</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Initiates an outgoing call given a destination LinphoneAddress</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCore object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>addr</parametername>
</parameternamelist>
<parameterdescription>
<para>the destination of the call (sip address). </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>params</parametername>
</parameternamelist>
<parameterdescription>
<para>call parameters</para></parameterdescription>
</parameteritem>
</parameterlist>
The LinphoneAddress can be constructed directly using <ref refid="group__linphone__address_1ga301c9884c0bc8b1050fe790d424e0b49" kindref="member">linphone_address_new()</ref>, or created by <ref refid="group__call__control_1ga1de3060cfba4df416da17259173fdefe" kindref="member">linphone_core_interpret_url()</ref>. The application doesn&apos;t own a reference to the returned LinphoneCall object. Use <ref refid="group__call__control_1ga67f07db984bd9534117257723142d794" kindref="member">linphone_call_ref()</ref> to safely keep the LinphoneCall pointer valid within your application.</para><para><simplesect kind="return"><para>a LinphoneCall object or NULL in case of failure </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3152" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3152" bodyend="3239"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga12be1e8ad7e6c8e8c3811d060aadd914" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_transfer_call</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call, const char *url)</argsstring>
        <name>linphone_core_transfer_call</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>url</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Performs a simple call transfer to the specified destination.</para><para>The remote endpoint is expected to issue a new call to the specified destination. The current call remains active and thus can be later paused or terminated.</para><para>It is possible to follow the progress of the transfer provided that transferee sends notification about it. In this case, the transfer_state_changed callback of the <ref refid="group__initializing_1ga1ca71386f318e4044967ddf32ac7aacb" kindref="member">LinphoneCoreVTable</ref> is invoked to notify of the state of the new call at the other party. The notified states are <ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaae99727dfb0a8e30ef04ff96ce3bf7e36" kindref="member">LinphoneCallOutgoingInit</ref> , <ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa4f6c8b38f68a9bdfdd6d59cc904f924c" kindref="member">LinphoneCallOutgoingProgress</ref>, <ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa229cfe72a8dfee15bdae9f2125b43c67" kindref="member">LinphoneCallOutgoingRinging</ref> and <ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa1a32cc3919ca3658eed7deebadbe13b9" kindref="member">LinphoneCallConnected</ref>. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3252" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3252" bodyend="3272"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga704f9a08e7b820d02c3e27358e77067e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_transfer_call_to_another</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call, LinphoneCall *dest)</argsstring>
        <name>linphone_core_transfer_call_to_another</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>dest</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Transfer a call to destination of another running call. This is used for &quot;attended transfer&quot; scenarios. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>linphone core object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>call</parametername>
</parameternamelist>
<parameterdescription>
<para>a running call you want to transfer </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>dest</parametername>
</parameternamelist>
<parameterdescription>
<para>a running call whose remote person will receive the transfer</para></parameterdescription>
</parameteritem>
</parameterlist>
The transfered call is supposed to be in paused state, so that it is able to accept the transfer immediately. The destination call is a call previously established to introduce the transfered person. This method will send a transfer request to the transfered person. The phone of the transfered is then expected to automatically call to the destination of the transfer. The receiver of the transfer will then automatically close the call with us (the &apos;dest&apos; call).</para><para>It is possible to follow the progress of the transfer provided that transferee sends notification about it. In this case, the transfer_state_changed callback of the <ref refid="group__initializing_1ga1ca71386f318e4044967ddf32ac7aacb" kindref="member">LinphoneCoreVTable</ref> is invoked to notify of the state of the new call at the other party. The notified states are <ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaae99727dfb0a8e30ef04ff96ce3bf7e36" kindref="member">LinphoneCallOutgoingInit</ref> , <ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa4f6c8b38f68a9bdfdd6d59cc904f924c" kindref="member">LinphoneCallOutgoingProgress</ref>, <ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa229cfe72a8dfee15bdae9f2125b43c67" kindref="member">LinphoneCallOutgoingRinging</ref> and <ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa1a32cc3919ca3658eed7deebadbe13b9" kindref="member">LinphoneCallConnected</ref>. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3292" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3292" bodyend="3296"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga6449fc2ec8cdeea7a31e9416195c1615" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_is_incoming_invite_pending</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_is_incoming_invite_pending</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Tells whether there is an incoming invite pending.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para>LinphoneCore object </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>A boolean telling whether an incoming invite is pending or not. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3298" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3298" bodyend="3307"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a9b6f7a5bc432b96d5fa8ef34255a953a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_incompatible_security</definition>
        <argsstring>(LinphoneCore *lc, SalMediaDescription *md)</argsstring>
        <name>linphone_core_incompatible_security</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>SalMediaDescription *</type>
          <declname>md</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3309" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3309" bodyend="3311"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a6cd07c421a9a609f299bc29e1b8b9fcf" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_notify_incoming_call</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call)</argsstring>
        <name>linphone_core_notify_incoming_call</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3313" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3313" bodyend="3375"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga7bfff862f259329c4fd0dfb5a58f6c2c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_accept_early_media_with_params</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call, const LinphoneCallParams *params)</argsstring>
        <name>linphone_core_accept_early_media_with_params</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <param>
          <type>const <ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref> *</type>
          <declname>params</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>When receiving an incoming, accept to start a media session as early-media. This means the call is not accepted but audio &amp; video streams can be established if the remote party supports early media. However, unlike after call acceptance, mic and camera input are not sent during early-media, though received audio &amp; video are played normally. The call can then later be fully accepted using <ref refid="group__call__control_1ga2813d4ece8097cef65d9e737305d7ca9" kindref="member">linphone_core_accept_call()</ref> or <ref refid="group__call__control_1ga69f6be726904c3711c9b3f8bd5ec1e27" kindref="member">linphone_core_accept_call_with_params()</ref>. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the linphonecore </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>call</parametername>
</parameternamelist>
<parameterdescription>
<para>the call </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>params</parametername>
</parameternamelist>
<parameterdescription>
<para>the call params, can be NULL. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 if successful, -1 otherwise. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3389" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3389" bodyend="3415"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga635421a4063284ddc54ce5b16a32fbcc" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_accept_early_media</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call)</argsstring>
        <name>linphone_core_accept_early_media</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Accept an early media session for an incoming call. This is identical as calling <ref refid="group__call__control_1ga7bfff862f259329c4fd0dfb5a58f6c2c" kindref="member">linphone_core_accept_early_media_with_params()</ref> with NULL call parameters. <simplesect kind="see"><para><ref refid="group__call__control_1ga7bfff862f259329c4fd0dfb5a58f6c2c" kindref="member">linphone_core_accept_early_media_with_params()</ref> </para></simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the core </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>call</parametername>
</parameternamelist>
<parameterdescription>
<para>the incoming call </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 if successful, -1 otherwise. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3426" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3426" bodyend="3428"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1abd40f8ed610c0727f343b8b408919bab" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_start_update_call</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call)</argsstring>
        <name>linphone_core_start_update_call</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3430" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3430" bodyend="3465"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga1a7819d96573bb8dbcbf2a128145457e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_update_call</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call, const LinphoneCallParams *params)</argsstring>
        <name>linphone_core_update_call</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <param>
          <type>const <ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref> *</type>
          <declname>params</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Updates a running call according to supplied call parameters or parameters changed in the LinphoneCore.</para><para>In this version this is limited to the following use cases:<itemizedlist>
<listitem><para>setting up/down the video stream according to the video parameter of the LinphoneCallParams (see <ref refid="group__call__control_1ga195ed008fbb19ded55070bb149e72ec5" kindref="member">linphone_call_params_enable_video()</ref> ).</para></listitem><listitem><para>changing the size of the transmitted video after calling <ref refid="group__media__parameters_1ga5580a04c427649fa2667e394cd383bbe" kindref="member">linphone_core_set_preferred_video_size()</ref></para></listitem></itemizedlist>
</para><para>In case no changes are requested through the LinphoneCallParams argument, then this argument can be omitted and set to NULL. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the core </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>call</parametername>
</parameternamelist>
<parameterdescription>
<para>the call to be updated </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>params</parametername>
</parameternamelist>
<parameterdescription>
<para>the new call parameters to use. (may be NULL) </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 if successful, -1 otherwise. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3481" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3481" bodyend="3555"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1gab772a532c839e0eaa12c44a4fa72df3e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_defer_call_update</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call)</argsstring>
        <name>linphone_core_defer_call_update</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>When receiving a <ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaad51ee049c7dee729776ef5bc76ddb2c2" kindref="member">LinphoneCallUpdatedByRemote</ref> state notification, prevent LinphoneCore from performing an automatic answer.</para><para>When receiving a <ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaad51ee049c7dee729776ef5bc76ddb2c2" kindref="member">LinphoneCallUpdatedByRemote</ref> state notification (ie an incoming reINVITE), the default behaviour of LinphoneCore is to automatically answer the reINIVTE with call parameters unchanged. However when for example when the remote party updated the call to propose a video stream, it can be useful to prompt the user before answering. This can be achieved by calling <ref refid="group__call__control_1gab772a532c839e0eaa12c44a4fa72df3e" kindref="member">linphone_core_defer_call_update()</ref> during the call state notifiacation, to deactivate the automatic answer that would just confirm the audio but reject the video. Then, when the user responds to dialog prompt, it becomes possible to call <ref refid="group__call__control_1ga9332169b9b56a9e26bce59d935cfdaa9" kindref="member">linphone_core_accept_call_update()</ref> to answer the reINVITE, with eventually video enabled in the LinphoneCallParams argument.</para><para><simplesect kind="return"><para>0 if successful, -1 if the <ref refid="group__call__control_1gab772a532c839e0eaa12c44a4fa72df3e" kindref="member">linphone_core_defer_call_update()</ref> was done outside a <ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaad51ee049c7dee729776ef5bc76ddb2c2" kindref="member">LinphoneCallUpdatedByRemote</ref> notification, which is illegal. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3571" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3571" bodyend="3578"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1ac39233f0c6e5b771a56459f75e1ead68" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_start_accept_call_update</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call, LinphoneCallState next_state, const char *state_info)</argsstring>
        <name>linphone_core_start_accept_call_update</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1ga37dad1a4f935d9cc26ec1f9d2b23691a" kindref="member">LinphoneCallState</ref></type>
          <declname>next_state</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>state_info</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3580" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3580" bodyend="3600"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga9332169b9b56a9e26bce59d935cfdaa9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_accept_call_update</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call, const LinphoneCallParams *params)</argsstring>
        <name>linphone_core_accept_call_update</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <param>
          <type>const <ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref> *</type>
          <declname>params</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Accept call modifications initiated by other end.</para><para>This call may be performed in response to a <ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaad51ee049c7dee729776ef5bc76ddb2c2" kindref="member">LinphoneCallUpdatedByRemote</ref> state notification. When such notification arrives, the application can decide to call linphone_core_defer_update_call() so that it can have the time to prompt the user. <ref refid="group__call__control_1ga65b4ca2f01d684019f6ae5621eb430f6" kindref="member">linphone_call_get_remote_params()</ref> can be used to get information about the call parameters requested by the other party, such as whether a video stream is requested.</para><para>When the user accepts or refuse the change, <ref refid="group__call__control_1ga9332169b9b56a9e26bce59d935cfdaa9" kindref="member">linphone_core_accept_call_update()</ref> can be done to answer to the other party. If params is NULL, then the same call parameters established before the update request will continue to be used (no change). If params is not NULL, then the update will be accepted according to the parameters passed. Typical example is when a user accepts to start video, then params should indicate that video stream should be used (see <ref refid="group__call__control_1ga195ed008fbb19ded55070bb149e72ec5" kindref="member">linphone_call_params_enable_video()</ref>). <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the linphone core object. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>call</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCall object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>params</parametername>
</parameternamelist>
<parameterdescription>
<para>a LinphoneCallParams object describing the call parameters to accept. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 if successful, -1 otherwise (actually when this function call is performed outside ot <ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaad51ee049c7dee729776ef5bc76ddb2c2" kindref="member">LinphoneCallUpdatedByRemote</ref> state). </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3621" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3621" bodyend="3628"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1ac9ec1d0010be34a89b501383c3d36fc8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int _linphone_core_accept_call_update</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call, const LinphoneCallParams *params, LinphoneCallState next_state, const char *state_info)</argsstring>
        <name>_linphone_core_accept_call_update</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <param>
          <type>const <ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref> *</type>
          <declname>params</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1ga37dad1a4f935d9cc26ec1f9d2b23691a" kindref="member">LinphoneCallState</ref></type>
          <declname>next_state</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>state_info</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3630" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3630" bodyend="3682"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga2813d4ece8097cef65d9e737305d7ca9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_accept_call</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call)</argsstring>
        <name>linphone_core_accept_call</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Accept an incoming call.</para><para>Basically the application is notified of incoming calls within the call_state_changed callback of the <ref refid="group__initializing_1ga1ca71386f318e4044967ddf32ac7aacb" kindref="member">LinphoneCoreVTable</ref> structure, where it will receive a LinphoneCallIncoming event with the associated LinphoneCall object. The application can later accept the call using this method. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCore object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>call</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCall object representing the call to be answered. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3696" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3696" bodyend="3698"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga69f6be726904c3711c9b3f8bd5ec1e27" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_accept_call_with_params</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call, const LinphoneCallParams *params)</argsstring>
        <name>linphone_core_accept_call_with_params</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <param>
          <type>const <ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref> *</type>
          <declname>params</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Accept an incoming call, with parameters.</para><para>Basically the application is notified of incoming calls within the call_state_changed callback of the <ref refid="group__initializing_1ga1ca71386f318e4044967ddf32ac7aacb" kindref="member">LinphoneCoreVTable</ref> structure, where it will receive a LinphoneCallIncoming event with the associated LinphoneCall object. The application can later accept the call using this method. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCore object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>call</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCall object representing the call to be answered. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>params</parametername>
</parameternamelist>
<parameterdescription>
<para>the specific parameters for this call, for example whether video is accepted or not. Use NULL to use default parameters. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3714" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3714" bodyend="3807"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a25e8f9504352fff5a21083443643afc9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_abort_call</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call, const char *error)</argsstring>
        <name>linphone_core_abort_call</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>error</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3809" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3809" bodyend="3823"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a1df202262df52cb4c7d63a155d6ed677" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void terminate_call</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call)</argsstring>
        <name>terminate_call</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3825" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3825" bodyend="3841"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga88d9961a926f1d3ffab581f77ba7ecf4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_redirect_call</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call, const char *redirect_uri)</argsstring>
        <name>linphone_core_redirect_call</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>redirect_uri</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Redirect the specified call to the given redirect URI. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">call</parametername>
</parameternamelist>
<parameterdescription>
<para>The <ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> to redirect. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">redirect_uri</parametername>
</parameternamelist>
<parameterdescription>
<para>The URI to redirect the call to. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 if successful, -1 on error. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3843" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3843" bodyend="3853"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga2dcc69dfc22e15d3cdadf8e688eedbfe" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_terminate_call</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *the_call)</argsstring>
        <name>linphone_core_terminate_call</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>the_call</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Terminates a call.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCore </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>the_call</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCall object representing the call to be terminated. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3863" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3863" bodyend="3899"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga6f8720adb675e42607a24df0e32a19bf" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_decline_call</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call, LinphoneReason reason)</argsstring>
        <name>linphone_core_decline_call</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <param>
          <type><ref refid="group__misc_1gabe82a1a1ffc3d6b4e0b51a03028513b7" kindref="member">LinphoneReason</ref></type>
          <declname>reason</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Decline a pending incoming call, with a reason.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the linphone core </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>call</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCall, must be in the IncomingReceived state. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>reason</parametername>
</parameternamelist>
<parameterdescription>
<para>the reason for rejecting the call: LinphoneReasonDeclined or LinphoneReasonBusy </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3910" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3910" bodyend="3919"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga0a72056123e0562108f19a6dcf352d55" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_terminate_all_calls</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_terminate_all_calls</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Terminates all the calls.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3927" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3927" bodyend="3935"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1gaf1f76b5a5d62e8bef5e1ad60e4f7b042" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const MSList *</type>
        <definition>const MSList* linphone_core_get_calls</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_calls</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the current list of calls. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore object </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>A list of <ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> objects. <mslist>LinphoneCall</mslist> </para></simplesect>
Note that this list is read-only and might be changed by the core after a function call to <ref refid="group__initializing_1ga7bdac8ac386483fc4e0876e4c5d13755" kindref="member">linphone_core_iterate()</ref>. Similarly the LinphoneCall objects inside it might be destroyed without prior notice. To hold references to LinphoneCall object into your program, you must use <ref refid="group__call__control_1ga67f07db984bd9534117257723142d794" kindref="member">linphone_call_ref()</ref>. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3948" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3948" bodyend="3951"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga5e616f59100b1ad675920b7374ea44c2" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_in_call</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_in_call</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns TRUE if there is a call running. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3958" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3958" bodyend="3960"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
        <definition>LinphoneCall* linphone_core_get_current_call</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_current_call</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns The _LinphoneCall struct of the current call if one is in call </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3967" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3967" bodyend="3969"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga8cdae37a26ba7633067ea03bc43bd887" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_pause_call</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call)</argsstring>
        <name>linphone_core_pause_call</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Pauses the call. If a music file has been setup using <ref refid="group__media__parameters_1ga14a0bf3c9d8ad451574c41ae71eb03cc" kindref="member">linphone_core_set_play_file()</ref>, this file will be played to the remote user. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3977" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3977" bodyend="3981"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1ac500a72dc6eda24efc863a55d4983ecf" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int _linphone_core_pause_call</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call)</argsstring>
        <name>_linphone_core_pause_call</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="3984" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="3984" bodyend="4019"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga8c7f9df404538f0953b2a332c0cf28c1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_pause_all_calls</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_pause_all_calls</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Pause all currently running calls. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4025" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4025" bodyend="4035"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a8c4f4ee95bcb17976298a508d08dfec5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_preempt_sound_resources</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_preempt_sound_resources</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4037" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4037" bodyend="4053"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga3d5a472faf30bd767d39be0e043c683f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_resume_call</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call)</argsstring>
        <name>linphone_core_resume_call</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Resumes the call. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4060" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4060" bodyend="4111"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1aede9dc0e60d57ebe3758c4656f17fce9" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>static int remote_address_compare</definition>
        <argsstring>(LinphoneCall *call, const LinphoneAddress *raddr)</argsstring>
        <name>remote_address_compare</name>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <param>
          <type>const <ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref> *</type>
          <declname>raddr</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4113" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4113" bodyend="4116"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga67f453ecc9a5373ff3c94a5c502cf7a5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
        <definition>LinphoneCall* linphone_core_get_call_by_remote_address</definition>
        <argsstring>(LinphoneCore *lc, const char *remote_address)</argsstring>
        <name>linphone_core_get_call_by_remote_address</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>remote_address</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the call with the remote_address specified <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para></para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>remote_address</parametername>
</parameternamelist>
<parameterdescription>
<para></para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the LinphoneCall of the call if found </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4126" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4126" bodyend="4132"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a4406c0d437c263075f55a0eaf80535ef" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_send_publish</definition>
        <argsstring>(LinphoneCore *lc, LinphonePresenceModel *presence)</argsstring>
        <name>linphone_core_send_publish</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__buddy__list_1gad98268f00fb29b50b22b3c3da566e366" kindref="member">LinphonePresenceModel</ref> *</type>
          <declname>presence</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4134" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4134" bodyend="4143"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga3b0c027024f929ab7545cd645a438699" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_inc_timeout</definition>
        <argsstring>(LinphoneCore *lc, int seconds)</argsstring>
        <name>linphone_core_set_inc_timeout</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>seconds</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the incoming call timeout in seconds.</para><para>If an incoming call isn&apos;t answered for this timeout period, it is automatically declined. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4152" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4152" bodyend="4157"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1gab9bf2ca040dd1c9ff988eec29f54a6b6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_inc_timeout</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_inc_timeout</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the incoming call timeout</para><para>See <ref refid="group__call__control_1ga3b0c027024f929ab7545cd645a438699" kindref="member">linphone_core_set_inc_timeout()</ref> for details. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4165" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4165" bodyend="4167"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga3c63ada88c8bee272d5bf74e40459505" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_in_call_timeout</definition>
        <argsstring>(LinphoneCore *lc, int seconds)</argsstring>
        <name>linphone_core_set_in_call_timeout</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>seconds</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the in call timeout in seconds.</para><para>After this timeout period, the call is automatically hangup. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4175" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4175" bodyend="4180"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1gadc478a0432de96b84664385ce42687c2" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_in_call_timeout</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_in_call_timeout</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the in call timeout</para><para>See <ref refid="group__call__control_1ga3c63ada88c8bee272d5bf74e40459505" kindref="member">linphone_core_set_in_call_timeout()</ref> for details. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4188" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4188" bodyend="4190"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga0389d871a1ea96ec41cdad9abf3f6124" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_delayed_timeout</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_delayed_timeout</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the delayed timeout</para><para>See <ref refid="group__call__control_1ga5073ea0cc3dba514f72120f4a4d0c6e8" kindref="member">linphone_core_set_delayed_timeout()</ref> for details. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4198" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4198" bodyend="4200"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga5073ea0cc3dba514f72120f4a4d0c6e8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_delayed_timeout</definition>
        <argsstring>(LinphoneCore *lc, int seconds)</argsstring>
        <name>linphone_core_set_delayed_timeout</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>seconds</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the in delayed timeout in seconds.</para><para>After this timeout period, a delayed call (internal call initialisation or resolution) is resumed. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4208" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4208" bodyend="4210"/>
      </memberdef>
      <memberdef kind="function" id="group__buddy__list_1gadae69527e9b36e0f29bd80c30275874f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_presence_info</definition>
        <argsstring>(LinphoneCore *lc, int minutes_away, const char *contact, LinphoneOnlineStatus os)</argsstring>
        <name>linphone_core_set_presence_info</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>minutes_away</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>alternative_contact</declname>
          <defname>contact</defname>
        </param>
        <param>
          <type><ref refid="group__buddy__list_1ga77d9418f55c2ad8f8c6627548b388d0d" kindref="member">LinphoneOnlineStatus</ref></type>
          <declname>os</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set my presence status <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">minutes_away</parametername>
</parameternamelist>
<parameterdescription>
<para>how long in away </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">alternative_contact</parametername>
</parameternamelist>
<parameterdescription>
<para>sip uri used to redirect call in state <ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34a2f5788314f1f2afd183fa114a2f4bd90" kindref="member">LinphoneStatusMoved</ref> </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">os</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__buddy__list_1ga77d9418f55c2ad8f8c6627548b388d0d" kindref="member">LinphoneOnlineStatus</ref> </para></parameterdescription>
</parameteritem>
</parameterlist>
<xrefsect id="deprecated_1_deprecated000072"><xreftitle>Deprecated</xreftitle><xrefdescription><para>Use <ref refid="group__buddy__list_1ga8b8f1c93a0c9a7d355b1899969058fb3" kindref="member">linphone_core_set_presence_model()</ref> instead </para></xrefdescription></xrefsect></para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4212" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4212" bodyend="4266"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a02d66db20281a2fae8a66928d485911c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_send_presence</definition>
        <argsstring>(LinphoneCore *lc, LinphonePresenceModel *presence)</argsstring>
        <name>linphone_core_send_presence</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__buddy__list_1gad98268f00fb29b50b22b3c3da566e366" kindref="member">LinphonePresenceModel</ref> *</type>
          <declname>presence</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4268" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4268" bodyend="4271"/>
      </memberdef>
      <memberdef kind="function" id="group__buddy__list_1ga8b8f1c93a0c9a7d355b1899969058fb3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_presence_model</definition>
        <argsstring>(LinphoneCore *lc, LinphonePresenceModel *presence)</argsstring>
        <name>linphone_core_set_presence_model</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__buddy__list_1gad98268f00fb29b50b22b3c3da566e366" kindref="member">LinphonePresenceModel</ref> *</type>
          <declname>presence</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set my presence model <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">presence</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__buddy__list_1gad98268f00fb29b50b22b3c3da566e366" kindref="member">LinphonePresenceModel</ref> </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4273" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4273" bodyend="4280"/>
      </memberdef>
      <memberdef kind="function" id="group__buddy__list_1ga172bd47cb5e3b6132d1ea9bf8c6b733a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__buddy__list_1ga77d9418f55c2ad8f8c6627548b388d0d" kindref="member">LinphoneOnlineStatus</ref></type>
        <definition>LinphoneOnlineStatus linphone_core_get_presence_info</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_presence_info</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get my presence status <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para><ref refid="group__buddy__list_1ga77d9418f55c2ad8f8c6627548b388d0d" kindref="member">LinphoneOnlineStatus</ref> </para></simplesect>
<xrefsect id="deprecated_1_deprecated000073"><xreftitle>Deprecated</xreftitle><xrefdescription><para>Use <ref refid="group__buddy__list_1gad1199d38de2092dc58ff7d9a9a184e25" kindref="member">linphone_core_get_presence_model()</ref> instead </para></xrefdescription></xrefsect></para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4282" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4282" bodyend="4330"/>
      </memberdef>
      <memberdef kind="function" id="group__buddy__list_1gad1199d38de2092dc58ff7d9a9a184e25" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__buddy__list_1gad98268f00fb29b50b22b3c3da566e366" kindref="member">LinphonePresenceModel</ref> *</type>
        <definition>LinphonePresenceModel* linphone_core_get_presence_model</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_presence_model</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get my presence model <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>A <ref refid="group__buddy__list_1gad98268f00fb29b50b22b3c3da566e366" kindref="member">LinphonePresenceModel</ref> object, or NULL if no presence model has been set. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4332" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4332" bodyend="4334"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga9b23ecb53d8d7ad0062f71e482332044" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_play_level</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_play_level</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get playback sound level in 0-100 scale. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4341" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4341" bodyend="4344"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gad218c5a201019d83765b3197d438602b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_ring_level</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_ring_level</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get ring sound level in 0-100 scale </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4351" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4351" bodyend="4354"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gafcf526c7bcac1131fb067096458e56d6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_rec_level</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_rec_level</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get sound capture level in 0-100 scale </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4361" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4361" bodyend="4363"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga7ba1da91a653f016d6e6a22e88c320f8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_ring_level</definition>
        <argsstring>(LinphoneCore *lc, int level)</argsstring>
        <name>linphone_core_set_ring_level</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>level</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set sound ring level in 0-100 scale </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4370" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4370" bodyend="4375"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga6fbd88f2248b5a6ca2e972589c2cb7ed" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_mic_gain_db</definition>
        <argsstring>(LinphoneCore *lc, float gaindb)</argsstring>
        <name>linphone_core_set_mic_gain_db</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>float</type>
          <declname>gaindb</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Allow to control microphone level: gain in db </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4382" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4382" bodyend="4398"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga54b69b1189e053372b449d1332e1a149" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>float</type>
        <definition>float linphone_core_get_mic_gain_db</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_mic_gain_db</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get microphone gain in db. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4405" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4405" bodyend="4407"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga5916fdd8f32d8d1d49702af408eaced5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_playback_gain_db</definition>
        <argsstring>(LinphoneCore *lc, float gaindb)</argsstring>
        <name>linphone_core_set_playback_gain_db</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>float</type>
          <declname>gaindb</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Allow to control play level before entering sound card: gain in db </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4414" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4414" bodyend="4429"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gae97e6b2a9434d42fde64130da338cdbc" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>float</type>
        <definition>float linphone_core_get_playback_gain_db</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_playback_gain_db</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get playback gain in db before entering sound card. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4436" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4436" bodyend="4438"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga9339af7687042d2d8d9db3e834d35c02" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_play_level</definition>
        <argsstring>(LinphoneCore *lc, int level)</argsstring>
        <name>linphone_core_set_play_level</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>level</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set sound playback level in 0-100 scale </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4445" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4445" bodyend="4450"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga4e527c0e3d8f9dd118c1cd4d1af4081f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_rec_level</definition>
        <argsstring>(LinphoneCore *lc, int level)</argsstring>
        <name>linphone_core_set_rec_level</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>level</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set sound capture level in 0-100 scale </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4457" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4457" bodyend="4463"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1ad38f1595ea3deda0431b1cd13c5c6465" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>MSSndCard *</type>
        <definition>static MSSndCard* get_card_from_string_id</definition>
        <argsstring>(const char *devid, unsigned int cap)</argsstring>
        <name>get_card_from_string_id</name>
        <param>
          <type>const char *</type>
          <declname>devid</declname>
        </param>
        <param>
          <type>unsigned int</type>
          <declname>cap</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4465" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4465" bodyend="4493"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gaab43dddfbdaa177f6b07cf11eb6959a4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_sound_device_can_capture</definition>
        <argsstring>(LinphoneCore *lc, const char *devid)</argsstring>
        <name>linphone_core_sound_device_can_capture</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>devid</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns true if the specified sound device can capture sound.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>devid</parametername>
</parameternamelist>
<parameterdescription>
<para>the device name as returned by <ref refid="group__media__parameters_1ga4cc376b1a17c1b8c26c25289d6177603" kindref="member">linphone_core_get_sound_devices()</ref> </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4502" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4502" bodyend="4507"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga5b3674e6684eeb691e2eef8ff82e27f4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_sound_device_can_playback</definition>
        <argsstring>(LinphoneCore *lc, const char *devid)</argsstring>
        <name>linphone_core_sound_device_can_playback</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>devid</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns true if the specified sound device can play sound.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>devid</parametername>
</parameternamelist>
<parameterdescription>
<para>the device name as returned by <ref refid="group__media__parameters_1ga4cc376b1a17c1b8c26c25289d6177603" kindref="member">linphone_core_get_sound_devices()</ref> </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4516" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4516" bodyend="4521"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gaf39872ecc72222f20f21f43b1d801c7d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_set_ringer_device</definition>
        <argsstring>(LinphoneCore *lc, const char *devid)</argsstring>
        <name>linphone_core_set_ringer_device</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>devid</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the sound device used for ringing.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>devid</parametername>
</parameternamelist>
<parameterdescription>
<para>the device name as returned by <ref refid="group__media__parameters_1ga4cc376b1a17c1b8c26c25289d6177603" kindref="member">linphone_core_get_sound_devices()</ref> </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4530" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4530" bodyend="4536"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga918921988d674e6709dbbf40c76fde2c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_set_playback_device</definition>
        <argsstring>(LinphoneCore *lc, const char *devid)</argsstring>
        <name>linphone_core_set_playback_device</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>devid</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the sound device used for playback.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>devid</parametername>
</parameternamelist>
<parameterdescription>
<para>the device name as returned by <ref refid="group__media__parameters_1ga4cc376b1a17c1b8c26c25289d6177603" kindref="member">linphone_core_get_sound_devices()</ref> </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4545" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4545" bodyend="4551"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gabca57ab3569c2e4bc7811336be6ea989" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_set_capture_device</definition>
        <argsstring>(LinphoneCore *lc, const char *devid)</argsstring>
        <name>linphone_core_set_capture_device</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>devid</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the sound device used for capture.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>devid</parametername>
</parameternamelist>
<parameterdescription>
<para>the device name as returned by <ref refid="group__media__parameters_1ga4cc376b1a17c1b8c26c25289d6177603" kindref="member">linphone_core_get_sound_devices()</ref> </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4560" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4560" bodyend="4566"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga4ebe2c101018cb13bf50ab7d31835c6d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_ringer_device</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_ringer_device</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the name of the currently assigned sound device for ringing.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore object </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4574" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4574" bodyend="4578"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga3c995a9314c0f720d867c388e5f2677f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_playback_device</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_playback_device</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the name of the currently assigned sound device for playback.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore object </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4586" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4586" bodyend="4589"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gae7a5781ea8f646492f8d56f516ead722" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_capture_device</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_capture_device</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the name of the currently assigned sound device for capture.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore object </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4597" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4597" bodyend="4600"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga4cc376b1a17c1b8c26c25289d6177603" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char **</type>
        <definition>const char** linphone_core_get_sound_devices</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_sound_devices</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns an unmodifiable array of available sound devices.</para><para>The array is NULL terminated.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore object </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4610" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4610" bodyend="4612"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga9c0247f180842d0408fc6be1fe4f7962" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char **</type>
        <definition>const char** linphone_core_get_video_devices</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_video_devices</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns an unmodifiable array of available video capture devices.</para><para>The array is NULL terminated. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4620" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4620" bodyend="4622"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga4b0688ed23818d754577ac91a26a6f2a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_reload_sound_devices</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_reload_sound_devices</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Update detection of sound devices.</para><para>Use this function when the application is notified of USB plug events, so that list of available hardwares for sound playback and capture is updated. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4624" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4624" bodyend="4634"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga53b70dd37176f781675bb73ab357d48d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_reload_video_devices</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_reload_video_devices</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Update detection of camera devices.</para><para>Use this function when the application is notified of USB plug events, so that list of available hardwares for video capture is updated. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4636" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4636" bodyend="4642"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1ac7d9f9a1da6285c148aa90b3a6f9efc6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>char</type>
        <definition>char linphone_core_get_sound_source</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_sound_source</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4644" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4644" bodyend="4647"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1ad07ae5e452c6513c7823cc8ba37d492c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_sound_source</definition>
        <argsstring>(LinphoneCore *lc, char source)</argsstring>
        <name>linphone_core_set_sound_source</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>char</type>
          <declname>source</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4649" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4649" bodyend="4663"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gae0efd204ad22aa99abdb9983bd592d20" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_ring</definition>
        <argsstring>(LinphoneCore *lc, const char *path)</argsstring>
        <name>linphone_core_set_ring</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>path</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the path to a wav file used for ringing.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>path</parametername>
</parameternamelist>
<parameterdescription>
<para>The file must be a wav 16bit linear. Local ring is disabled if null </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore object </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4674" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4674" bodyend="4683"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gaa9e5c6b8d6887ffe4013e369e4611f10" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_ring</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_ring</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the path to the wav file used for ringing.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore object </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4691" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4691" bodyend="4693"/>
      </memberdef>
      <memberdef kind="function" id="group__initializing_1ga24c7276e70ba9a1cccd1c55c1e15499b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_root_ca</definition>
        <argsstring>(LinphoneCore *lc, const char *path)</argsstring>
        <name>linphone_core_set_root_ca</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>path</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the path to a file or folder containing trusted root CAs (PEM format)</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>path</parametername>
</parameternamelist>
<parameterdescription>
<para></para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore object </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4703" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4703" bodyend="4709"/>
      </memberdef>
      <memberdef kind="function" id="group__initializing_1gab098e474122584618df055f4095ed580" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_root_ca</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_root_ca</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Gets the path to a file or folder containing the trusted root CAs (PEM format)</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore object </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4718" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4718" bodyend="4720"/>
      </memberdef>
      <memberdef kind="function" id="group__initializing_1gad8f3f77aebbad9b6fca0f50449dcad93" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_verify_server_certificates</definition>
        <argsstring>(LinphoneCore *lc, bool_t yesno)</argsstring>
        <name>linphone_core_verify_server_certificates</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>yesno</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Specify whether the tls server certificate must be verified when connecting to a SIP/TLS server. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4727" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4727" bodyend="4733"/>
      </memberdef>
      <memberdef kind="function" id="group__initializing_1ga5ed6e5580ecbd560a4cf390e975e674c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_verify_server_cn</definition>
        <argsstring>(LinphoneCore *lc, bool_t yesno)</argsstring>
        <name>linphone_core_verify_server_cn</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>yesno</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Specify whether the tls server certificate common name must be verified when connecting to a SIP/TLS server. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4739" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4739" bodyend="4745"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a0101a0d8548664635e626b3750ac73a7" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void notify_end_of_ring</definition>
        <argsstring>(void *ud, MSFilter *f, unsigned int event, void *arg)</argsstring>
        <name>notify_end_of_ring</name>
        <param>
          <type>void *</type>
          <declname>ud</declname>
        </param>
        <param>
          <type>MSFilter *</type>
          <declname>f</declname>
        </param>
        <param>
          <type>unsigned int</type>
          <declname>event</declname>
        </param>
        <param>
          <type>void *</type>
          <declname>arg</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4747" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4747" bodyend="4752"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a2d3b15bd4593fc9ec0b3268fa771f45f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_preview_ring</definition>
        <argsstring>(LinphoneCore *lc, const char *ring, LinphoneCoreCbFunc func, void *userdata)</argsstring>
        <name>linphone_core_preview_ring</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>ring</declname>
        </param>
        <param>
          <type><ref refid="group__initializing_1ga2e55e712a2453d67eb7848e30eb7dcb4" kindref="member">LinphoneCoreCbFunc</ref></type>
          <declname>func</declname>
        </param>
        <param>
          <type>void *</type>
          <declname>userdata</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4754" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4754" bodyend="4767"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga1c5376ecf26684886c276183d88b03d0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_ringback</definition>
        <argsstring>(LinphoneCore *lc, const char *path)</argsstring>
        <name>linphone_core_set_ringback</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>path</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the path to a wav file used for ringing back.</para><para>Ringback means the ring that is heard when it&apos;s ringing at the remote party. The file must be a wav 16bit linear. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4777" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4777" bodyend="4782"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga9d6ec5bae6d32d9de8243b51e4f73916" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_ringback</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_ringback</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the path to the wav file used for ringing back. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4789" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4789" bodyend="4791"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga27d78a3086c520a59c742056027d0faa" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_enable_echo_cancellation</definition>
        <argsstring>(LinphoneCore *lc, bool_t val)</argsstring>
        <name>linphone_core_enable_echo_cancellation</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>val</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Enables or disable echo cancellation. Value is saved and used for subsequent calls. This actually controls software echo cancellation. If hardware echo cancellation is available, it will be always used and activated for calls, regardless of the value passed to this function. When hardware echo cancellation is available, the software one is of course not activated. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4801" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4801" bodyend="4805"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gaa7e19725835efff9598aaadf23d4df71" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_echo_cancellation_enabled</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_echo_cancellation_enabled</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns TRUE if echo cancellation is enabled. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4813" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4813" bodyend="4815"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga8f583bf2a9edc220547914bdca7b85ec" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_enable_echo_limiter</definition>
        <argsstring>(LinphoneCore *lc, bool_t val)</argsstring>
        <name>linphone_core_enable_echo_limiter</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>val</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Enables or disable echo limiter. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">val</parametername>
</parameternamelist>
<parameterdescription>
<para>TRUE to enable echo limiter, FALSE to disable it. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4817" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4817" bodyend="4819"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga5375503097c7085b9654b62fb7deb5f8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_echo_limiter_enabled</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_echo_limiter_enabled</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Tells whether echo limiter is enabled. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>TRUE if the echo limiter is enabled, FALSE otherwise. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4821" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4821" bodyend="4823"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1aab29597ba278c4d15fcb51b5d629b9a8" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void linphone_core_mute_audio_stream</definition>
        <argsstring>(LinphoneCore *lc, AudioStream *st, bool_t val)</argsstring>
        <name>linphone_core_mute_audio_stream</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>AudioStream *</type>
          <declname>st</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>val</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4825" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4825" bodyend="4835"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1ac0f2f453771ca2d0da6cd07ea25afc9e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_mute_mic</definition>
        <argsstring>(LinphoneCore *lc, bool_t val)</argsstring>
        <name>linphone_core_mute_mic</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>muted</declname>
          <defname>val</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para><xrefsect id="deprecated_1_deprecated000053"><xreftitle>Deprecated</xreftitle><xrefdescription><para>Use <ref refid="group__media__parameters_1gaed7ac1fce9723f324a1bc903ff76d1fe" kindref="member">linphone_core_enable_mic</ref> instead. </para></xrefdescription></xrefsect></para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4837" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4837" bodyend="4852"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a63c9cc779bdcc9ca8887dd42569b58c2" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_is_mic_muted</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_is_mic_muted</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get mic state. <xrefsect id="deprecated_1_deprecated000054"><xreftitle>Deprecated</xreftitle><xrefdescription><para>Use <ref refid="group__media__parameters_1gab75504c9171c47e3f31b2ada41bde085" kindref="member">linphone_core_mic_enabled</ref> instead </para></xrefdescription></xrefsect></para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4854" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4854" bodyend="4863"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gaed7ac1fce9723f324a1bc903ff76d1fe" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_enable_mic</definition>
        <argsstring>(LinphoneCore *lc, bool_t enable)</argsstring>
        <name>linphone_core_enable_mic</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>enable</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Enable or disable the microphone. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">enable</parametername>
</parameternamelist>
<parameterdescription>
<para>TRUE to enable the microphone, FALSE to disable it. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4865" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4865" bodyend="4867"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gab75504c9171c47e3f31b2ada41bde085" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_mic_enabled</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_mic_enabled</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Tells whether the microphone is enabled. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>TRUE if the microphone is enabled, FALSE if disabled. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4869" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4869" bodyend="4871"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a94e66ca81c392004be0849c9eaf0e1bf" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_is_rtp_muted</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_is_rtp_muted</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4876" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4876" bodyend="4886"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1aa95e4847b0ec77812426af57775bc3f9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_enable_agc</definition>
        <argsstring>(LinphoneCore *lc, bool_t val)</argsstring>
        <name>linphone_core_enable_agc</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>val</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4888" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4888" bodyend="4890"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a88bdd3c39c718214c5cf78b4feb0fb3a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_agc_enabled</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_agc_enabled</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4892" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4892" bodyend="4894"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga20634cdfa45353c4b888eec615bc9d9e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_send_dtmf</definition>
        <argsstring>(LinphoneCore *lc, char dtmf)</argsstring>
        <name>linphone_core_send_dtmf</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>char</type>
          <declname>dtmf</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Send the specified dtmf.</para><para><xrefsect id="deprecated_1_deprecated000051"><xreftitle>Deprecated</xreftitle><xrefdescription><para>Use #linphone_call_send_dtmf instead. This function only works during calls. The dtmf is automatically played to the user. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>dtmf</parametername>
</parameternamelist>
<parameterdescription>
<para>The dtmf name specified as a char, such as &apos;0&apos;, &apos;#&apos; etc...</para></parameterdescription>
</parameteritem>
</parameterlist>
</para></xrefdescription></xrefsect></para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4896" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4896" bodyend="4900"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga8cef9cabe4bb39b0ec92c92430c628d4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_stun_server</definition>
        <argsstring>(LinphoneCore *lc, const char *server)</argsstring>
        <name>linphone_core_set_stun_server</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>server</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the STUN server address to use when the firewall policy is set to STUN. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">server</parametername>
</parameternamelist>
<parameterdescription>
<para>The STUN server address to use. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4902" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4902" bodyend="4921"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga2def221f110da2a63bb0bdf957664829" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_stun_server</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_stun_server</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the STUN server address being used. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The STUN server address being used. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4923" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4923" bodyend="4925"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga6a782ab44345b65137bdc0086a5d1f32" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_upnp_available</definition>
        <argsstring>()</argsstring>
        <name>linphone_core_upnp_available</name>
        <param>
          <type>void</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Return the availability of uPnP.</para><para><simplesect kind="return"><para>true if uPnP is available otherwise return false. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4928" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4928" bodyend="4934"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1gae377ba325e3223ab486c9c985f9e9dd0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__initializing_1ga2c19554a0988f7600aec5c3a7588d61a" kindref="member">LinphoneUpnpState</ref></type>
        <definition>LinphoneUpnpState linphone_core_get_upnp_state</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_upnp_state</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Return the internal state of uPnP.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>an LinphoneUpnpState. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4936" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4936" bodyend="4942"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga9ae3c4c5ab0133edf1a40474339db3eb" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_upnp_external_ipaddress</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_upnp_external_ipaddress</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Return the external ip address of router. In some cases the uPnP can have an external ip address but not a usable uPnP (state different of Ok).</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a null terminated string containing the external ip address. If the the external ip address is not available return null. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4944" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4944" bodyend="4950"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1gadadb01ea2af8410e85fe2dde04be30a8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_nat_address</definition>
        <argsstring>(LinphoneCore *lc, const char *addr)</argsstring>
        <name>linphone_core_set_nat_address</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>addr</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the public IP address of NAT when using the firewall policy is set to use NAT. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">addr</parametername>
</parameternamelist>
<parameterdescription>
<para>The public IP address of NAT to use. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4953" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4953" bodyend="4961"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga2b9903c9e28728b1a2dd389a761ecdb9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_nat_address</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_nat_address</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the public IP address of NAT being used. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The public IP address of NAT being used. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4963" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4963" bodyend="4965"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga73cc66cfaf24bfb1f150208e2e54076b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_firewall_policy</definition>
        <argsstring>(LinphoneCore *lc, LinphoneFirewallPolicy pol)</argsstring>
        <name>linphone_core_set_firewall_policy</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__network__parameters_1ga833aa818e8216f35ef12f86767806129" kindref="member">LinphoneFirewallPolicy</ref></type>
          <declname>pol</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the policy to use to pass through firewalls. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">pol</parametername>
</parameternamelist>
<parameterdescription>
<para>The <ref refid="group__network__parameters_1ga833aa818e8216f35ef12f86767806129" kindref="member">LinphoneFirewallPolicy</ref> to use. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="4993" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="4993" bodyend="5048"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga9de28ff0fd0f8ff65ef82eba9592276c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__network__parameters_1ga833aa818e8216f35ef12f86767806129" kindref="member">LinphoneFirewallPolicy</ref></type>
        <definition>LinphoneFirewallPolicy linphone_core_get_firewall_policy</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_firewall_policy</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the policy that is used to pass through firewalls. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The <ref refid="group__network__parameters_1ga833aa818e8216f35ef12f86767806129" kindref="member">LinphoneFirewallPolicy</ref> that is being used. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5049" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5049" bodyend="5064"/>
      </memberdef>
      <memberdef kind="function" id="group__call__logs_1gac40929365adb3c774c4f00b7ba449af1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const MSList *</type>
        <definition>const MSList* linphone_core_get_call_logs</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_call_logs</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the list of call logs (past calls). <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para>LinphoneCore object </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>A list of <ref refid="group__call__logs_1gab700f6646681d1f4614a049892bc764a" kindref="member">LinphoneCallLog</ref> objects. <mslist>LinphoneCallLog</mslist>  </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5072" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5072" bodyend="5074"/>
      </memberdef>
      <memberdef kind="function" id="group__call__logs_1ga76fb517665122b63136ccc673d431b34" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_clear_call_logs</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_clear_call_logs</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Erase the call log. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para>LinphoneCore object </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5076" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5076" bodyend="5081"/>
      </memberdef>
      <memberdef kind="function" id="group__call__logs_1gae0b13195a295a5d3e0a53fe11cfec644" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_missed_calls_count</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_missed_calls_count</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the number of missed calls. Once checked, this counter can be reset with <ref refid="group__call__logs_1ga8b01457c0ba5b24ae92bd167a79313fd" kindref="member">linphone_core_reset_missed_calls_count()</ref>. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The number of missed calls. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5083" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5083" bodyend="5085"/>
      </memberdef>
      <memberdef kind="function" id="group__call__logs_1ga8b01457c0ba5b24ae92bd167a79313fd" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_reset_missed_calls_count</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_reset_missed_calls_count</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Reset the counter of missed calls. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5087" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5087" bodyend="5089"/>
      </memberdef>
      <memberdef kind="function" id="group__call__logs_1gadce35b7ded361556ea4e9831f594680a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_remove_call_log</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCallLog *cl)</argsstring>
        <name>linphone_core_remove_call_log</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__logs_1gab700f6646681d1f4614a049892bc764a" kindref="member">LinphoneCallLog</ref> *</type>
          <declname>call_log</declname>
          <defname>cl</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Remove a specific call log from call history list. This function destroys the call log object. It must not be accessed anymore by the application after calling this function. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">call_log</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__call__logs_1gab700f6646681d1f4614a049892bc764a" kindref="member">LinphoneCallLog</ref> object to remove. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5091" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5091" bodyend="5095"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a71c2d21f4ed19bdb4b226bbcd00fcb42" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_video_supported</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_video_supported</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5124" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5124" bodyend="5130"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga74f00cfd76e39c3a229095251a16b3ed" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_enable_video</definition>
        <argsstring>(LinphoneCore *lc, bool_t vcap_enabled, bool_t display_enabled)</argsstring>
        <name>linphone_core_enable_video</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>vcap_enabled</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>display_enabled</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Enables video globally.</para><para>This function does not have any effect during calls. It just indicates LinphoneCore to initiate future calls with video or not. The two boolean parameters indicate in which direction video is enabled. Setting both to false disables video entirely.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>vcap_enabled</parametername>
</parameternamelist>
<parameterdescription>
<para>indicates whether video capture is enabled </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>display_enabled</parametername>
</parameternamelist>
<parameterdescription>
<para>indicates whether video display should be shown</para></parameterdescription>
</parameteritem>
</parameterlist>
<xrefsect id="deprecated_1_deprecated000055"><xreftitle>Deprecated</xreftitle><xrefdescription><para>Use <ref refid="group__media__parameters_1ga2f8c1cc011a51389126c2497e3fc1429" kindref="member">linphone_core_enable_video_capture</ref> and <ref refid="group__media__parameters_1gad06dacec453bbe2bf360b10d69461a8a" kindref="member">linphone_core_enable_video_display</ref> instead. </para></xrefdescription></xrefsect></para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5132" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5132" bodyend="5135"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gac1113e7a9207bf1525f2d57f352391a7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_video_enabled</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_video_enabled</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns TRUE if video is enabled, FALSE otherwise.</para><para><xrefsect id="deprecated_1_deprecated000056"><xreftitle>Deprecated</xreftitle><xrefdescription><para>Use <ref refid="group__media__parameters_1ga10432d66d91d15019053561c3b027b8a" kindref="member">linphone_core_video_capture_enabled</ref> and <ref refid="group__media__parameters_1ga284752749dd855b99646e979d652b0fa" kindref="member">linphone_core_video_display_enabled</ref> instead. </para></xrefdescription></xrefsect></para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5137" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5137" bodyend="5139"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a6817279f545b0e9d959e1510eb28eda9" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void reapply_network_bandwidth_settings</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>reapply_network_bandwidth_settings</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5141" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5141" bodyend="5144"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga2f8c1cc011a51389126c2497e3fc1429" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_enable_video_capture</definition>
        <argsstring>(LinphoneCore *lc, bool_t enable)</argsstring>
        <name>linphone_core_enable_video_capture</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>enable</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Enable or disable video capture.</para><para>This function does not have any effect during calls. It just indicates the <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> to initiate future calls with video capture or not. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">enable</parametername>
</parameternamelist>
<parameterdescription>
<para>TRUE to enable video capture, FALSE to disable it. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5146" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5146" bodyend="5158"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gad06dacec453bbe2bf360b10d69461a8a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_enable_video_display</definition>
        <argsstring>(LinphoneCore *lc, bool_t enable)</argsstring>
        <name>linphone_core_enable_video_display</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>enable</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Enable or disable video display.</para><para>This function does not have any effect during calls. It just indicates the <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> to initiate future calls with video display or not. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">enable</parametername>
</parameternamelist>
<parameterdescription>
<para>TRUE to enable video display, FALSE to disable it. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5160" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5160" bodyend="5172"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gaafde2c5330bc0738756589cb007ff496" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_enable_video_source_reuse</definition>
        <argsstring>(LinphoneCore *lc, bool_t enable)</argsstring>
        <name>linphone_core_enable_video_source_reuse</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>enable</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Enable or disable video source reuse when switching from preview to actual video call.</para><para>This source reuse is useful when you always display the preview, even before calls are initiated. By keeping the video source for the transition to a real video call, you will smooth out the source close/reopen cycle.</para><para>This function does not have any effect durfing calls. It just indicates the <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> to initiate future calls with video source reuse or not. Also, at the end of a video call, the source will be closed whatsoever for now. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">enable</parametername>
</parameternamelist>
<parameterdescription>
<para>TRUE to enable video source reuse. FALSE to disable it for subsequent calls. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5174" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5174" bodyend="5184"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga10432d66d91d15019053561c3b027b8a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_video_capture_enabled</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_video_capture_enabled</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Tells whether video capture is enabled. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>TRUE if video capture is enabled, FALSE if disabled. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5186" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5186" bodyend="5188"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga284752749dd855b99646e979d652b0fa" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_video_display_enabled</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_video_display_enabled</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Tells whether video display is enabled. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>TRUE if video display is enabled, FALSE if disabled. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5190" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5190" bodyend="5192"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga454ecb3bde380230da042be98bdc45c9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_video_policy</definition>
        <argsstring>(LinphoneCore *lc, const LinphoneVideoPolicy *policy)</argsstring>
        <name>linphone_core_set_video_policy</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const <ref refid="group__media__parameters_1ga83cad3d734c773e03ab7e555303d57d8" kindref="member">LinphoneVideoPolicy</ref> *</type>
          <declname>policy</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the default policy for video. This policy defines whether:<itemizedlist>
<listitem><para>video shall be initiated by default for outgoing calls</para></listitem><listitem><para>video shall be accepter by default for incoming calls </para></listitem></itemizedlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5201" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5201" bodyend="5207"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gac669b450d881be538f3f9ec753d4d1a8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const <ref refid="group__media__parameters_1ga83cad3d734c773e03ab7e555303d57d8" kindref="member">LinphoneVideoPolicy</ref> *</type>
        <definition>const LinphoneVideoPolicy* linphone_core_get_video_policy</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_video_policy</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the default policy for video. See <ref refid="group__media__parameters_1ga454ecb3bde380230da042be98bdc45c9" kindref="member">linphone_core_set_video_policy()</ref> for more details. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5214" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5214" bodyend="5216"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gabe5de40453011a6c612342224e583e19" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_enable_video_preview</definition>
        <argsstring>(LinphoneCore *lc, bool_t val)</argsstring>
        <name>linphone_core_enable_video_preview</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>val</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Controls video preview enablement.</para><para>Video preview refers to the action of displaying the local webcam image to the user while not in call. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5225" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5225" bodyend="5229"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga5921ee6c7c1619da0969b6e33d39be6f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_video_preview_enabled</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_video_preview_enabled</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns TRUE if video previewing is enabled. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5235" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5235" bodyend="5237"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga51442e84c5636f18e3765de9e1399f69" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_enable_self_view</definition>
        <argsstring>(LinphoneCore *lc, bool_t val)</argsstring>
        <name>linphone_core_enable_self_view</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>val</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Enables or disable self view during calls.</para><para>Self-view refers to having local webcam image inserted in corner of the video window during calls. This function works at any time, including during calls. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5247" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5247" bodyend="5261"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga2e26cb816d40b5420969fadaa1ce1f9c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_self_view_enabled</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_self_view_enabled</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns TRUE if self-view is enabled, FALSE otherwise.</para><para>Refer to <ref refid="group__media__parameters_1ga51442e84c5636f18e3765de9e1399f69" kindref="member">linphone_core_enable_self_view()</ref> for details. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5270" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5270" bodyend="5272"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga8d3a88ab89a24dc32cb6034992920665" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_set_video_device</definition>
        <argsstring>(LinphoneCore *lc, const char *id)</argsstring>
        <name>linphone_core_set_video_device</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>id</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the active video device.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>id</parametername>
</parameternamelist>
<parameterdescription>
<para>the name of the video device as returned by <ref refid="group__media__parameters_1ga9c0247f180842d0408fc6be1fe4f7962" kindref="member">linphone_core_get_video_devices()</ref> </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5281" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5281" bodyend="5303"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga605f7169d5e2ef55047c993dc6d35897" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_video_device</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_video_device</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the name of the currently active video device.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore object </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5311" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5311" bodyend="5314"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga98c4c833a90a5a4b2bf868acfbf8f3ba" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_set_static_picture</definition>
        <argsstring>(LinphoneCore *lc, const char *path)</argsstring>
        <name>linphone_core_set_static_picture</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>path</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the path to the image file to stream when &quot;Static picture&quot; is set as the video device. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">path</parametername>
</parameternamelist>
<parameterdescription>
<para>The path to the image file to use. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5332" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5332" bodyend="5351"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga1d28127ff726079901821595b3bcd4b3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_static_picture</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_static_picture</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the path to the image file streamed when &quot;Static picture&quot; is set as the video device. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The path to the image file streamed when &quot;Static picture&quot; is set as the video device. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5353" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5353" bodyend="5361"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga9f653006d7a5eb9306ac6b3f908449c7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_set_static_picture_fps</definition>
        <argsstring>(LinphoneCore *lc, float fps)</argsstring>
        <name>linphone_core_set_static_picture_fps</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>float</type>
          <declname>fps</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the frame rate for static picture. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">fps</parametername>
</parameternamelist>
<parameterdescription>
<para>The new frame rate to use for static picture. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5363" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5363" bodyend="5381"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gaf23efabee7f8907dd175715d3ae307a5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>float</type>
        <definition>float linphone_core_get_static_picture_fps</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_static_picture_fps</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the frame rate for static picture <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The frame rate used for static picture. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5383" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5383" bodyend="5403"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga91aed51e248d68371198ee4071828702" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>unsigned long</type>
        <definition>unsigned long linphone_core_get_native_video_window_id</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_native_video_window_id</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the native window handle of the video window, casted as an unsigned long. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5410" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5410" bodyend="5423"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a490f7eab886d8afec11480bdcf4b48bf" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void unset_video_window_id</definition>
        <argsstring>(LinphoneCore *lc, bool_t preview, unsigned long id)</argsstring>
        <name>unset_video_window_id</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>preview</declname>
        </param>
        <param>
          <type>unsigned long</type>
          <declname>id</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5426" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5426" bodyend="5447"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga90d0abb20b5c4a93836c861e540f975c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_native_video_window_id</definition>
        <argsstring>(LinphoneCore *lc, unsigned long id)</argsstring>
        <name>linphone_core_set_native_video_window_id</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>unsigned long</type>
          <declname>id</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the native video window id where the video is to be displayed. For MacOS, Linux, Windows: if not set or zero the core will create its own window, unless the special id -1 is given. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5454" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5454" bodyend="5467"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga223b4120018db602b1a1e17ac6faf4dd" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>unsigned long</type>
        <definition>unsigned long linphone_core_get_native_preview_window_id</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_native_preview_window_id</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the native window handle of the video preview window, casted as an unsigned long. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5474" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5474" bodyend="5489"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga61c95bf5b044388e0b1084a9424b6d59" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_native_preview_window_id</definition>
        <argsstring>(LinphoneCore *lc, unsigned long id)</argsstring>
        <name>linphone_core_set_native_preview_window_id</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>unsigned long</type>
          <declname>id</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the native window id where the preview video (local camera) is to be displayed. This has to be used in conjonction with <ref refid="group__media__parameters_1gabf7a16fc2964209e47b14b17cb3361e3" kindref="member">linphone_core_use_preview_window()</ref>. MacOS, Linux, Windows: if not set or zero the core will create its own window, unless the special id -1 is given. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5497" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5497" bodyend="5512"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1aa8085e0cc0c1d7c96f687c4f5dde6ace" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_show_video</definition>
        <argsstring>(LinphoneCore *lc, bool_t show)</argsstring>
        <name>linphone_core_show_video</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>show</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Can be used to disable video showing to free XV port </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5517" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5517" bodyend="5525"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gabf7a16fc2964209e47b14b17cb3361e3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_use_preview_window</definition>
        <argsstring>(LinphoneCore *lc, bool_t yesno)</argsstring>
        <name>linphone_core_use_preview_window</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>yesno</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Tells the core to use a separate window for local camera preview video, instead of inserting local view within the remote video window. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">yesno</parametername>
</parameternamelist>
<parameterdescription>
<para>TRUE to use a separate window, FALSE to insert the preview in the remote video window. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5527" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5527" bodyend="5529"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gae39b1bea4370f32c28fa446f97540d4f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_device_rotation</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_device_rotation</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>returns current device orientation </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5534" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5534" bodyend="5536"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga309fdb0f39432b125ff1f36347cea362" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_device_rotation</definition>
        <argsstring>(LinphoneCore *lc, int rotation)</argsstring>
        <name>linphone_core_set_device_rotation</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>rotation</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Tells the core the device current orientation. This can be used by capture filters on mobile devices to select between portrait/landscape mode and to produce properly oriented images. The exact meaning of the value in rotation if left to each device specific implementations. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>object. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>rotation</parametername>
</parameternamelist>
<parameterdescription>
<para>. IOS supported values are 0 for UIInterfaceOrientationPortrait and 270 for UIInterfaceOrientationLandscapeRight. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5547" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5547" bodyend="5558"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a461980108bf78876615f53e7fef5cf9f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_camera_sensor_rotation</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_camera_sensor_rotation</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the camera sensor rotation.</para><para>This is needed on some mobile platforms to get the number of degrees the camera sensor is rotated relative to the screen.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The linphone core related to the operation </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The camera sensor rotation in degrees (0 to 360) or -1 if it could not be retrieved </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5560" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5560" bodyend="5568"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gaf2d375366aba6be7f6e201fe544d4657" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const MSVideoSizeDef *</type>
        <definition>const MSVideoSizeDef* linphone_core_get_supported_video_sizes</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_supported_video_sizes</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the zero terminated table of supported video resolutions. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5604" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5604" bodyend="5606"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a00d47e2d082d50aa06d425d47a673c74" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>MSVideoSize</type>
        <definition>static MSVideoSize video_size_get_by_name</definition>
        <argsstring>(const char *name)</argsstring>
        <name>video_size_get_by_name</name>
        <param>
          <type>const char *</type>
          <declname>name</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5608" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5608" bodyend="5623"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a171b2e51a6b2298b4a9a58e72c0bc2bc" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>static const char* video_size_get_name</definition>
        <argsstring>(MSVideoSize vsize)</argsstring>
        <name>video_size_get_name</name>
        <param>
          <type>MSVideoSize</type>
          <declname>vsize</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5626" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5626" bodyend="5639"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a1071af19a3ff8473b2ff243c2b1a0dd9" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>static bool_t video_size_supported</definition>
        <argsstring>(MSVideoSize vsize)</argsstring>
        <name>video_size_supported</name>
        <param>
          <type>MSVideoSize</type>
          <declname>vsize</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5641" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5641" bodyend="5645"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a40a5f2597b9dbd0b878a764a60243a62" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void update_preview_size</definition>
        <argsstring>(LinphoneCore *lc, MSVideoSize oldvsize, MSVideoSize vsize)</argsstring>
        <name>update_preview_size</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>MSVideoSize</type>
          <declname>oldvsize</declname>
        </param>
        <param>
          <type>MSVideoSize</type>
          <declname>vsize</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5647" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5647" bodyend="5652"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga5580a04c427649fa2667e394cd383bbe" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_preferred_video_size</definition>
        <argsstring>(LinphoneCore *lc, MSVideoSize vsize)</argsstring>
        <name>linphone_core_set_preferred_video_size</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>MSVideoSize</type>
          <declname>vsize</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the preferred video size.</para><para>This applies only to the stream that is captured and sent to the remote party, since we accept all standard video size on the receive path. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5661" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5661" bodyend="5674"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga9f4904c146485ade44e8c99067561dfe" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_preview_video_size</definition>
        <argsstring>(LinphoneCore *lc, MSVideoSize vsize)</argsstring>
        <name>linphone_core_set_preview_video_size</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>MSVideoSize</type>
          <declname>vsize</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the video size for the captured (preview) video. This method is for advanced usage where a video capture must be set independently of the size of the stream actually sent through the call. This allows for example to have the preview window with HD resolution even if due to bandwidth constraint the sent video size is small. Using this feature increases the CPU consumption, since a rescaling will be done internally.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the linphone core </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>vsize</parametername>
</parameternamelist>
<parameterdescription>
<para>the video resolution choosed for capuring and previewing. It can be (0,0) to not request any specific preview size and let the core optimize the processing. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5685" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5685" bodyend="5702"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga09148c0abf717d6c0160d5a384078524" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>MSVideoSize</type>
        <definition>MSVideoSize linphone_core_get_preview_video_size</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_preview_video_size</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns video size for the captured video if it was previously set by <ref refid="group__media__parameters_1ga9f4904c146485ade44e8c99067561dfe" kindref="member">linphone_core_set_preview_video_size()</ref>, otherwise returns a 0,0 size. <simplesect kind="see"><para><ref refid="group__media__parameters_1ga9f4904c146485ade44e8c99067561dfe" kindref="member">linphone_core_set_preview_video_size()</ref></para></simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the core </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a MSVideoSize </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5711" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5711" bodyend="5713"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gab3f011f893c443aef477929b54d41f6f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>MSVideoSize</type>
        <definition>MSVideoSize linphone_core_get_current_preview_video_size</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_current_preview_video_size</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the effective video size for the captured video as provided by the camera. When preview is disabled or not yet started, this function returns a zeroed video size. <simplesect kind="see"><para><ref refid="group__media__parameters_1ga9f4904c146485ade44e8c99067561dfe" kindref="member">linphone_core_set_preview_video_size()</ref></para></simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the core </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a MSVideoSize </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5723" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5723" bodyend="5733"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga37096d61a08c3804f95a16b5dba3aa08" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_preview_video_size_by_name</definition>
        <argsstring>(LinphoneCore *lc, const char *name)</argsstring>
        <name>linphone_core_set_preview_video_size_by_name</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>name</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the preview video size by its name. See <ref refid="group__media__parameters_1ga9f4904c146485ade44e8c99067561dfe" kindref="member">linphone_core_set_preview_video_size()</ref> for more information about this feature.</para><para>Video resolution names are: qcif, svga, cif, vga, 4cif, svga ... </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5741" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5741" bodyend="5744"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga35e73bf4c1fb1c1c7f7933579b5d4aa2" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_preferred_video_size_by_name</definition>
        <argsstring>(LinphoneCore *lc, const char *name)</argsstring>
        <name>linphone_core_set_preferred_video_size_by_name</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>name</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the preferred video size by its name.</para><para>This is identical to <ref refid="group__media__parameters_1ga5580a04c427649fa2667e394cd383bbe" kindref="member">linphone_core_set_preferred_video_size()</ref> except that it takes the name of the video resolution as input. Video resolution names are: qcif, svga, cif, vga, 4cif, svga ... </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5754" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5754" bodyend="5759"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gaf951d377684d8f8b3a96aa6704e71e5a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>MSVideoSize</type>
        <definition>MSVideoSize linphone_core_get_preferred_video_size</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_preferred_video_size</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the current preferred video size for sending. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5766" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5766" bodyend="5768"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a8dfc5379e54d5d1204b9f882caf6d432" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>char *</type>
        <definition>char* linphone_core_get_preferred_video_size_name</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_preferred_video_size_name</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the name of the current preferred video size for sending. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>A string containing the name of the current preferred video size (to be freed with ms_free()). </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5770" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5770" bodyend="5772"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gaa30f84a04be31f3fa969575ac363d62b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_preferred_framerate</definition>
        <argsstring>(LinphoneCore *lc, float fps)</argsstring>
        <name>linphone_core_set_preferred_framerate</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>float</type>
          <declname>fps</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the preferred frame rate for video. Based on the available bandwidth constraints and network conditions, the video encoder remains free to lower the framerate. There is no warranty that the preferred frame rate be the actual framerate. used during a call. Default value is 0, which means &quot;use encoder&apos;s default fps value&quot;.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCore </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>fps</parametername>
</parameternamelist>
<parameterdescription>
<para>the target frame rate in number of frames per seconds. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5783" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5783" bodyend="5787"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gaacfa8816136022b2de1358a8e642aa2b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>float</type>
        <definition>float linphone_core_get_preferred_framerate</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_preferred_framerate</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the preferred video framerate, previously set by <ref refid="group__media__parameters_1gaa30f84a04be31f3fa969575ac363d62b" kindref="member">linphone_core_set_preferred_framerate()</ref>.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the linphone core </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>frame rate in number of frames per seconds. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5794" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5794" bodyend="5796"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga9364a5eb34365663969e69663b7cba6a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_use_files</definition>
        <argsstring>(LinphoneCore *lc, bool_t yesno)</argsstring>
        <name>linphone_core_set_use_files</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>yesno</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Ask the core to stream audio from and to files, instead of using the soundcard.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para>LinphoneCore object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">yesno</parametername>
</parameternamelist>
<parameterdescription>
<para>A boolean value asking to stream audio from and to files or not. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5805" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5805" bodyend="5807"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga1e23f0de652112da75f164170560bcf6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_play_file</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_play_file</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the wav file that is played when putting somebody on hold, or when files are used instead of soundcards (see <ref refid="group__media__parameters_1ga9364a5eb34365663969e69663b7cba6a" kindref="member">linphone_core_set_use_files()</ref>).</para><para>The file is a 16 bit linear wav file.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para>LinphoneCore object </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The path to the file that is played when putting somebody on hold. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5809" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5809" bodyend="5811"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga14a0bf3c9d8ad451574c41ae71eb03cc" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_play_file</definition>
        <argsstring>(LinphoneCore *lc, const char *file)</argsstring>
        <name>linphone_core_set_play_file</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>file</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets a wav file to be played when putting somebody on hold, or when files are used instead of soundcards (see <ref refid="group__media__parameters_1ga9364a5eb34365663969e69663b7cba6a" kindref="member">linphone_core_set_use_files()</ref>).</para><para>The file must be a 16 bit linear wav file.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para>LinphoneCore object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">file</parametername>
</parameternamelist>
<parameterdescription>
<para>The path to the file to be played when putting somebody on hold. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5822" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5822" bodyend="5833"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga242395ed859e1244346d04d53f00489c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_record_file</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_record_file</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the wav file where incoming stream is recorded, when files are used instead of soundcards (see <ref refid="group__media__parameters_1ga9364a5eb34365663969e69663b7cba6a" kindref="member">linphone_core_set_use_files()</ref>).</para><para>This feature is different from call recording (<ref refid="group__call__control_1ga10fff1a05dc9c63249ba59dc7240d803" kindref="member">linphone_call_params_set_record_file()</ref>) The file is a 16 bit linear wav file.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para>LinphoneCore object </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The path to the file where incoming stream is recorded. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5835" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5835" bodyend="5837"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga71cc3732682f5d425352b59960c582b1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_record_file</definition>
        <argsstring>(LinphoneCore *lc, const char *file)</argsstring>
        <name>linphone_core_set_record_file</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>file</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets a wav file where incoming stream is to be recorded, when files are used instead of soundcards (see <ref refid="group__media__parameters_1ga9364a5eb34365663969e69663b7cba6a" kindref="member">linphone_core_set_use_files()</ref>).</para><para>This feature is different from call recording (<ref refid="group__call__control_1ga10fff1a05dc9c63249ba59dc7240d803" kindref="member">linphone_call_params_set_record_file()</ref>) The file will be a 16 bit linear wav file.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para>LinphoneCore object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">file</parametername>
</parameternamelist>
<parameterdescription>
<para>The path to the file where incoming stream is to be recorded. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5849" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5849" bodyend="5860"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1af7cdcd31581f6ce147a0355699b9734d" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>MSFilter *</type>
        <definition>static MSFilter* get_audio_resource</definition>
        <argsstring>(LinphoneCore *lc, LinphoneAudioResourceType rtype)</argsstring>
        <name>get_audio_resource</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>LinphoneAudioResourceType</type>
          <declname>rtype</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5867" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5867" bodyend="5898"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a617f12527c04325485b94f40d397633b" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>MSFilter *</type>
        <definition>static MSFilter* get_dtmf_gen</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>get_dtmf_gen</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5900" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5900" bodyend="5902"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga11b05c55741a236cb8d07b8a197ebcca" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_play_dtmf</definition>
        <argsstring>(LinphoneCore *lc, char dtmf, int duration_ms)</argsstring>
        <name>linphone_core_play_dtmf</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>char</type>
          <declname>dtmf</declname>
        </param>
        <param>
          <type>int</type>
          <declname>duration_ms</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Plays a dtmf sound to the local user. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>dtmf</parametername>
</parameternamelist>
<parameterdescription>
<para>DTMF to play [&apos;0&apos;..&apos;16&apos;] | &apos;#&apos; | &apos;#&apos; </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>duration_ms</parametername>
</parameternamelist>
<parameterdescription>
<para>duration in ms, -1 means play until next further call to <ref refid="group__media__parameters_1ga5d9cfc960f9779c98866250a665f3d6d" kindref="member">linphone_core_stop_dtmf()</ref> </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5911" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5911" bodyend="5921"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1ga7e53ab3252294690ae91cd3b0bd53583" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_play_local</definition>
        <argsstring>(LinphoneCore *lc, const char *audiofile)</argsstring>
        <name>linphone_core_play_local</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>audiofile</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Plays an audio file to the local user. This function works at any time, during calls, or when no calls are running. It doesn&apos;t request the underlying audio system to support multiple playback streams. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the linphone core </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>audiofile</parametername>
</parameternamelist>
<parameterdescription>
<para>path to audio file in wav PCM 16 bit format. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5931" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5931" bodyend="5941"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a66804d3e03d8bc138168c062ebd75df5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_play_named_tone</definition>
        <argsstring>(LinphoneCore *lc, LinphoneToneID toneid)</argsstring>
        <name>linphone_core_play_named_tone</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>LinphoneToneID</type>
          <declname>toneid</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5943" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5943" bodyend="5986"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a329aab81b5969f129bddf3be07687005" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_play_call_error_tone</definition>
        <argsstring>(LinphoneCore *lc, LinphoneReason reason)</argsstring>
        <name>linphone_core_play_call_error_tone</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__misc_1gabe82a1a1ffc3d6b4e0b51a03028513b7" kindref="member">LinphoneReason</ref></type>
          <declname>reason</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="5988" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="5988" bodyend="5999"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga5d9cfc960f9779c98866250a665f3d6d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_stop_dtmf</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_stop_dtmf</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Stops playing a dtmf started by <ref refid="group__media__parameters_1ga11b05c55741a236cb8d07b8a197ebcca" kindref="member">linphone_core_play_dtmf()</ref>. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6006" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6006" bodyend="6010"/>
      </memberdef>
      <memberdef kind="function" id="group__initializing_1gadd8c0eeb93eadb513d94549898c339d1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void *</type>
        <definition>void* linphone_core_get_user_data</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_user_data</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Retrieves the user pointer that was given to <ref refid="group__initializing_1gac93ed982ae84a5a282a703c8433ca42f" kindref="member">linphone_core_new()</ref> </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6019" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6019" bodyend="6021"/>
      </memberdef>
      <memberdef kind="function" id="group__initializing_1ga7e031f13be31db0584a213a3ce785e25" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_user_data</definition>
        <argsstring>(LinphoneCore *lc, void *userdata)</argsstring>
        <name>linphone_core_set_user_data</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>void *</type>
          <declname>userdata</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Associate a user pointer to the linphone core. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6029" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6029" bodyend="6031"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1ae2520990d3f9de45ad87c0eda07a3541" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_mtu</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_mtu</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6033" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6033" bodyend="6035"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga2b1662e5e8227bdc6ee7831d1b51f94e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_mtu</definition>
        <argsstring>(LinphoneCore *lc, int mtu)</argsstring>
        <name>linphone_core_set_mtu</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>mtu</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the maximum transmission unit size in bytes. This information is useful for sending RTP packets. Default value is 1500. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6044" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6044" bodyend="6054"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a1c96da63430d4d63ec35147f632332a7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_waiting_callback</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCoreWaitingCallback cb, void *user_context)</argsstring>
        <name>linphone_core_set_waiting_callback</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>LinphoneCoreWaitingCallback</type>
          <declname>cb</declname>
        </param>
        <param>
          <type>void *</type>
          <declname>user_context</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6056" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6056" bodyend="6059"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1ac5cd9d3cfd7bde9fba6f80d527356c40" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_start_waiting</definition>
        <argsstring>(LinphoneCore *lc, const char *purpose)</argsstring>
        <name>linphone_core_start_waiting</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>purpose</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6061" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6061" bodyend="6065"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1ac2b34c76c39ec5bba13a1cefe671c51e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_update_progress</definition>
        <argsstring>(LinphoneCore *lc, const char *purpose, float progress)</argsstring>
        <name>linphone_core_update_progress</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>purpose</declname>
        </param>
        <param>
          <type>float</type>
          <declname>progress</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6067" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6067" bodyend="6073"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1ae09a478843959be78fa8aa6af13074e8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_stop_waiting</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_stop_waiting</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6075" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6075" bodyend="6079"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a4deb588a839d05ada6522c0164717436" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_rtp_transport_factories</definition>
        <argsstring>(LinphoneCore *lc, LinphoneRtpTransportFactories *factories)</argsstring>
        <name>linphone_core_set_rtp_transport_factories</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>LinphoneRtpTransportFactories *</type>
          <declname>factories</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6081" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6081" bodyend="6083"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a0753bfec6957ff9508ccd1c2bca281db" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_current_call_stats</definition>
        <argsstring>(LinphoneCore *lc, rtp_stats_t *local, rtp_stats_t *remote)</argsstring>
        <name>linphone_core_get_current_call_stats</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>rtp_stats_t *</type>
          <declname>local</declname>
        </param>
        <param>
          <type>rtp_stats_t *</type>
          <declname>remote</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Retrieve RTP statistics regarding current call. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCore </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>local</parametername>
</parameternamelist>
<parameterdescription>
<para>RTP statistics computed locally. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>remote</parametername>
</parameternamelist>
<parameterdescription>
<para>RTP statistics computed by far end (obtained via RTCP feedback).</para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="note"><para>Remote RTP statistics is not implemented yet.</para></simplesect>
<simplesect kind="return"><para>0 or -1 if no call is running. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6096" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6096" bodyend="6106"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a16f75e96705ed1ffa901ba3bb47b75b4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void net_config_uninit</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>net_config_uninit</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6108" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6108" bodyend="6127"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a43b1bd843365917b561adecabac99fcb" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void sip_config_uninit</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>sip_config_uninit</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6130" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6130" bodyend="6201"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1ad3388fc54e5fb1725b2cd59cabbca7c5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void rtp_config_uninit</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>rtp_config_uninit</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6203" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6203" bodyend="6224"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a69ddce4933b9c862684f149d91b0fc92" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void sound_config_uninit</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>sound_config_uninit</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6226" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6226" bodyend="6238"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a3b2a66c939693d0c0a4217e0e5021911" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void video_config_uninit</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>video_config_uninit</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6240" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6240" bodyend="6247"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a545cee464b608d8b0c05e80ebf0a6897" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void _linphone_core_codec_config_write</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>_linphone_core_codec_config_write</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6249" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6249" bodyend="6282"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a547da1c783588ef9515460c46db843c2" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void codecs_config_uninit</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>codecs_config_uninit</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6284" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6284" bodyend="6289"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a6e82bf1b7460ce5c33a48e5af9f107ee" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void ui_config_uninit</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>ui_config_uninit</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6291" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6291" bodyend="6304"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1ga0634038b0304863380c65d6743448cab" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__misc_1ga047b6550aab7dd244268e695fab98fd6" kindref="member">LpConfig</ref> *</type>
        <definition>LpConfig* linphone_core_get_config</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_config</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the LpConfig object used to manage the storage (config) file.</para><para>The application can use the LpConfig object to insert its own private sections and pairs of key=value in the configuration file. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6314" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6314" bodyend="6316"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1ga24c527aea3d90b8b083d954d15f2b0b4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__misc_1ga047b6550aab7dd244268e695fab98fd6" kindref="member">LpConfig</ref> *</type>
        <definition>LpConfig* linphone_core_create_lp_config</definition>
        <argsstring>(LinphoneCore *lc, const char *filename)</argsstring>
        <name>linphone_core_create_lp_config</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>filename</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Create a LpConfig object from a user config file. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">filename</parametername>
</parameternamelist>
<parameterdescription>
<para>The filename of the config file to read to fill the instantiated LpConfig </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6318" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6318" bodyend="6320"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a33bb6ed2de1126b53042410d2777fbe2" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void linphone_core_uninit</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_uninit</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6322" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6322" bodyend="6403"/>
      </memberdef>
      <memberdef kind="function" id="group__proxies_1ga130795ea67730f7b01f7b51fe6bdb44f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_refresh_registers</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_refresh_registers</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>force registration refresh to be initiated upon next iterate </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6446" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6446" bodyend="6459"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a317fce696ca458743effd97c3db19b7b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void __linphone_core_invalidate_registers</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>__linphone_core_invalidate_registers</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6461" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6461" bodyend="6470"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga50986600d8f528e083a2c8e6269734e3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_network_reachable</definition>
        <argsstring>(LinphoneCore *lc, bool_t isReachable)</argsstring>
        <name>linphone_core_set_network_reachable</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>value</declname>
          <defname>isReachable</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>This method is called by the application to notify the linphone core library when network is reachable. Calling this method with true trigger linphone to initiate a registration process for all proxies. Calling this method disables the automatic network detection mode. It means you must call this method after each network state changes. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6472" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6472" bodyend="6479"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1gadd2b16bfd430b156067312b90a54a2f3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_is_network_reachable</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_is_network_reachable</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>return network state either as positioned by the application or by linphone itself. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6481" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6481" bodyend="6483"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1aeaa97b92b438aa0b504f64ebace15ea0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>ortp_socket_t</type>
        <definition>ortp_socket_t linphone_core_get_sip_socket</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_sip_socket</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Give access to the UDP sip socket. Can be useful to configure this socket as persistent I.E kCFStreamNetworkServiceType set to kCFStreamNetworkServiceTypeVoIP) <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>socket file descriptor </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6484" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6484" bodyend="6486"/>
      </memberdef>
      <memberdef kind="function" id="group__initializing_1ga5e3f2f87c8d8262caa1fa90bbd504008" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_destroy</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_destroy</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Destroys a LinphoneCore </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6492" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6492" bodyend="6495"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1gafbe6f21493edec8598ae2ddda5bd552d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_calls_nb</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_calls_nb</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the number of Call </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6501" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6501" bodyend="6503"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga617649e37b3b4b2d8323746da33c10e0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_can_we_add_call</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_can_we_add_call</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Check if we do not have exceed the number of simultaneous call </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6510" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6510" bodyend="6516"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1abf8f07df2f73689cc0591e38464ab354" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void notify_soundcard_usage</definition>
        <argsstring>(LinphoneCore *lc, bool_t used)</argsstring>
        <name>notify_soundcard_usage</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>used</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6518" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6518" bodyend="6523"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1aed8997f0f6da96666473f595fa48463e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_soundcard_hint_check</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_soundcard_hint_check</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6525" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6525" bodyend="6545"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a76e4b04d52792a75883e14a52f1100f5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_add_call</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call)</argsstring>
        <name>linphone_core_add_call</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6547" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6547" bodyend="6555"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1aa15f6ded8c2dfa2cbd074e79ee43f85b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_del_call</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call)</argsstring>
        <name>linphone_core_del_call</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6557" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6557" bodyend="6575"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga890b2f3ccfa2b4b593ab01f5e292afea" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_remote_ringback_tone</definition>
        <argsstring>(LinphoneCore *lc, const char *file)</argsstring>
        <name>linphone_core_set_remote_ringback_tone</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>ring</declname>
          <defname>file</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Specify a ring back tone to be played to far end during incoming calls. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ring</parametername>
</parameternamelist>
<parameterdescription>
<para>The path to the ring back tone to be played. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6577" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6577" bodyend="6584"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gaa1fa9a4a525a33c010bed547bebcf492" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_remote_ringback_tone</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_remote_ringback_tone</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the ring back tone played to far end during incoming calls. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6586" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6586" bodyend="6588"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga799f695033112a4c10525abd3c0607b6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_ring_during_incoming_early_media</definition>
        <argsstring>(LinphoneCore *lc, bool_t enable)</argsstring>
        <name>linphone_core_set_ring_during_incoming_early_media</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>enable</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Enable or disable the ring play during an incoming early media call. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">enable</parametername>
</parameternamelist>
<parameterdescription>
<para>A boolean value telling whether to enable ringing during an incoming early media call. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6590" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6590" bodyend="6592"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a15f45c5f2634b53c683d41fed62290db" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_get_ring_during_incoming_early_media</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_ring_during_incoming_early_media</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Tells whether the ring play is enabled during an incoming early media call. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6594" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6594" bodyend="6596"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga64a36f5889c7eca3238a9710d644c890" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__media__parameters_1gae02100a16ec58d90edc04725bd58f747" kindref="member">LinphonePayloadType</ref> *</type>
        <definition>LinphonePayloadType* linphone_core_find_payload_type</definition>
        <argsstring>(LinphoneCore *lc, const char *type, int rate, int channels)</argsstring>
        <name>linphone_core_find_payload_type</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>type</declname>
        </param>
        <param>
          <type>int</type>
          <declname>rate</declname>
        </param>
        <param>
          <type>int</type>
          <declname>channels</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get payload type from mime type and clock rate</para><para>This function searches in audio and video codecs for the given payload type name and clockrate. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>type</parametername>
</parameternamelist>
<parameterdescription>
<para>payload mime type (I.E SPEEX, PCMU, VP8) </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>rate</parametername>
</parameternamelist>
<parameterdescription>
<para>can be <ref refid="group__media__parameters_1ga2306371063fd39f746ee4db99596e8c3" kindref="member">LINPHONE_FIND_PAYLOAD_IGNORE_RATE</ref> </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>channels</parametername>
</parameternamelist>
<parameterdescription>
<para>number of channels, can be <ref refid="group__media__parameters_1ga5ae9e6b3f73ab7889082772130fc8467" kindref="member">LINPHONE_FIND_PAYLOAD_IGNORE_CHANNELS</ref> </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>Returns NULL if not found. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6598" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6598" bodyend="6610"/>
      </memberdef>
      <memberdef kind="function" id="group__initializing_1gaf4f24de18ae43d1a8f2812652b4aa656" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_global_state_to_string</definition>
        <argsstring>(LinphoneGlobalState gs)</argsstring>
        <name>linphone_global_state_to_string</name>
        <param>
          <type><ref refid="group__initializing_1gae852b5b31d6d5e673de9d2c9b63aca7e" kindref="member">LinphoneGlobalState</ref></type>
          <declname>gs</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6612" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6612" bodyend="6630"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1aeb2a9e4f8e38c6f29921ea8240e0d07d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__initializing_1gae852b5b31d6d5e673de9d2c9b63aca7e" kindref="member">LinphoneGlobalState</ref></type>
        <definition>LinphoneGlobalState linphone_core_get_global_state</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_global_state</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6632" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6632" bodyend="6634"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gaf733e15bc6e3356f645f66b179c38d05" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref> *</type>
        <definition>LinphoneCallParams* linphone_core_create_default_call_parameters</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_create_default_call_parameters</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get default call parameters reflecting current linphone core configuration <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>LinphoneCore object </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>LinphoneCallParams </para></simplesect>
<xrefsect id="deprecated_1_deprecated000050"><xreftitle>Deprecated</xreftitle><xrefdescription><para>use <ref refid="group__call__control_1ga438f864cacbed06b139e56a2160396c3" kindref="member">linphone_core_create_call_params()</ref> </para></xrefdescription></xrefsect></para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6636" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6636" bodyend="6640"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga438f864cacbed06b139e56a2160396c3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref> *</type>
        <definition>LinphoneCallParams* linphone_core_create_call_params</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCall *call)</argsstring>
        <name>linphone_core_create_call_params</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
          <declname>call</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Create a LinphoneCallParams suitable for <ref refid="group__call__control_1ga48931b432fb6dbe6355985604d6b5de5" kindref="member">linphone_core_invite_with_params()</ref>, <ref refid="group__call__control_1ga69f6be726904c3711c9b3f8bd5ec1e27" kindref="member">linphone_core_accept_call_with_params()</ref>, <ref refid="group__call__control_1ga7bfff862f259329c4fd0dfb5a58f6c2c" kindref="member">linphone_core_accept_early_media_with_params()</ref>, <ref refid="group__call__control_1ga9332169b9b56a9e26bce59d935cfdaa9" kindref="member">linphone_core_accept_call_update()</ref>. The parameters are initialized according to the current LinphoneCore configuration and the current state of the LinphoneCall. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCore </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>call</parametername>
</parameternamelist>
<parameterdescription>
<para>the call for which the parameters are to be build, or NULL in the case where the parameters are to be used for a new outgoing call. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a new LinphoneCallParams </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6651" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6651" bodyend="6654"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1ga55b055097d13c171e08ead648869cdc1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_reason_to_string</definition>
        <argsstring>(LinphoneReason err)</argsstring>
        <name>linphone_reason_to_string</name>
        <param>
          <type><ref refid="group__misc_1gabe82a1a1ffc3d6b4e0b51a03028513b7" kindref="member">LinphoneReason</ref></type>
          <declname>err</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Converts a LinphoneReason enum to a string. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6656" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6656" bodyend="6702"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a5a614eb6c37a3d1ff0ea1c3d958c6984" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_error_to_string</definition>
        <argsstring>(LinphoneReason err)</argsstring>
        <name>linphone_error_to_string</name>
        <param>
          <type><ref refid="group__misc_1gabe82a1a1ffc3d6b4e0b51a03028513b7" kindref="member">LinphoneReason</ref></type>
          <declname>err</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6704" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6704" bodyend="6706"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga29ecb77c4dbd33b4827e39e9aed846ec" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_enable_keep_alive</definition>
        <argsstring>(LinphoneCore *lc, bool_t enable)</argsstring>
        <name>linphone_core_enable_keep_alive</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>enable</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Enables signaling keep alive </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6710" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6710" bodyend="6722"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1gac02dfe51519ae8a5550f0b1b4233c460" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_keep_alive_enabled</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_keep_alive_enabled</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Is signaling keep alive enabled </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6726" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6726" bodyend="6728"/>
      </memberdef>
      <memberdef kind="function" id="group__IOS_1gaef3c840b3c9f576c642b49cf306c7461" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_start_dtmf_stream</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_start_dtmf_stream</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Special function to warm up dtmf feeback stream. <ref refid="group__IOS_1gad0ecef2fb7a77c3363aa94edeadaf65b" kindref="member">linphone_core_stop_dtmf_stream</ref> must() be called before entering FG mode </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6730" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6730" bodyend="6733"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga9b2e2d8862d6d80fa873755276ebb91b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_stop_ringing</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_stop_ringing</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Whenever the liblinphone is playing a ring to advertise an incoming call or ringback of an outgoing call, this function stops the ringing. Typical use is to stop ringing when the user requests to ignore the call.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore object </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6743" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6743" bodyend="6755"/>
      </memberdef>
      <memberdef kind="function" id="group__IOS_1gad0ecef2fb7a77c3363aa94edeadaf65b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_stop_dtmf_stream</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_stop_dtmf_stream</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Special function to stop dtmf feed back function. Must be called before entering BG mode </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6757" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6757" bodyend="6761"/>
      </memberdef>
      <memberdef kind="function" id="group__initializing_1gafac237af98e82869b76b3954fc7f2f7c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_max_calls</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_max_calls</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the maximum number of simultaneous calls Linphone core can manage at a time. All new call above this limit are declined with a busy answer</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>core </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>max number of simultaneous calls </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6763" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6763" bodyend="6765"/>
      </memberdef>
      <memberdef kind="function" id="group__initializing_1ga3abcbe218c3b69a115a2aac02112d5f8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_max_calls</definition>
        <argsstring>(LinphoneCore *lc, int max)</argsstring>
        <name>linphone_core_set_max_calls</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>max</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the maximum number of simultaneous calls Linphone core can manage at a time. All new call above this limit are declined with a busy answer</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>core </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>max</parametername>
</parameternamelist>
<parameterdescription>
<para>number of simultaneous calls </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6766" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6766" bodyend="6768"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1abcc67298bd6c4ff03ae9bf131da2a20f" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>Hook *</type>
        <definition>static Hook* hook_new</definition>
        <argsstring>(LinphoneCoreIterateHook hook, void *hook_data)</argsstring>
        <name>hook_new</name>
        <param>
          <type>LinphoneCoreIterateHook</type>
          <declname>hook</declname>
        </param>
        <param>
          <type>void *</type>
          <declname>hook_data</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6775" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6775" bodyend="6780"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a2db7d3a8d59f800cb1bebc14322bc5f6" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>static void hook_invoke</definition>
        <argsstring>(Hook *h)</argsstring>
        <name>hook_invoke</name>
        <param>
          <type>Hook *</type>
          <declname>h</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6782" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6782" bodyend="6784"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a5254d4f8787f797a7fcb198482f36383" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_add_iterate_hook</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCoreIterateHook hook, void *hook_data)</argsstring>
        <name>linphone_core_add_iterate_hook</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>LinphoneCoreIterateHook</type>
          <declname>hook</declname>
        </param>
        <param>
          <type>void *</type>
          <declname>hook_data</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6786" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6786" bodyend="6788"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1af556aeee4ebf8d684231aefebd346f3c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_remove_iterate_hook</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCoreIterateHook hook, void *hook_data)</argsstring>
        <name>linphone_core_remove_iterate_hook</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>LinphoneCoreIterateHook</type>
          <declname>hook</declname>
        </param>
        <param>
          <type>void *</type>
          <declname>hook_data</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6800" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6800" bodyend="6811"/>
      </memberdef>
      <memberdef kind="function" id="group__initializing_1ga6e8a69ad140f937a262746abc39baa6a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_zrtp_secrets_file</definition>
        <argsstring>(LinphoneCore *lc, const char *file)</argsstring>
        <name>linphone_core_set_zrtp_secrets_file</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>file</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the path to the file storing the zrtp secrets cache. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">file</parametername>
</parameternamelist>
<parameterdescription>
<para>The path to the file to use to store the zrtp secrets cache. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6813" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6813" bodyend="6818"/>
      </memberdef>
      <memberdef kind="function" id="group__initializing_1gacf963bdd8dcb50cdd0486e3b483b100c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_zrtp_secrets_file</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_zrtp_secrets_file</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the path to the file storing the zrtp secrets cache. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The path to the file storing the zrtp secrets cache. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6820" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6820" bodyend="6822"/>
      </memberdef>
      <memberdef kind="function" id="group__initializing_1ga72cd7a1aebee54b1a7bdae283003451d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_user_certificates_path</definition>
        <argsstring>(LinphoneCore *lc, const char *path)</argsstring>
        <name>linphone_core_set_user_certificates_path</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>path</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the path to the directory storing the user&apos;s x509 certificates (used by dtls) <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">path</parametername>
</parameternamelist>
<parameterdescription>
<para>The path to the directory to use to store the user&apos;s certificates. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6824" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6824" bodyend="6830"/>
      </memberdef>
      <memberdef kind="function" id="group__initializing_1ga4dc5ce188f71ecb2fd3d47d070f4f0fd" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_user_certificates_path</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_user_certificates_path</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the path to the directory storing the user&apos;s certificates. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The path to the directory storing the user&apos;s certificates. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6832" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6832" bodyend="6834"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1ga9c9cfd9d2efa544e3b3644789abcbc55" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref> *</type>
        <definition>LinphoneCall* linphone_core_find_call_from_uri</definition>
        <argsstring>(const LinphoneCore *lc, const char *uri)</argsstring>
        <name>linphone_core_find_call_from_uri</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>uri</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Search from the list of current calls if a remote address match uri</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para></para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>uri</parametername>
</parameternamelist>
<parameterdescription>
<para>which should match call remote uri </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>LinphoneCall or NULL is no match is found </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6836" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6836" bodyend="6857"/>
      </memberdef>
      <memberdef kind="function" id="group__call__control_1gaddcb4be3bee7cc9e89330541a176b106" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_sound_resources_locked</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_sound_resources_locked</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Check if a call will need the sound resources.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>The LinphoneCore </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6866" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6866" bodyend="6886"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1aed4a8b415ebc70ecc97f1b90f18aeed8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_srtp_enabled</definition>
        <argsstring>(LinphoneCore *lc, bool_t enabled)</argsstring>
        <name>linphone_core_set_srtp_enabled</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>enabled</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6888" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6888" bodyend="6890"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gaafcbe94c69085b5a9931391548a26080" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_media_encryption_to_string</definition>
        <argsstring>(LinphoneMediaEncryption menc)</argsstring>
        <name>linphone_media_encryption_to_string</name>
        <param>
          <type><ref refid="group__media__parameters_1ga61f5a2961ec43a0bd91eb1a664a6f111" kindref="member">LinphoneMediaEncryption</ref></type>
          <declname>menc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Convert enum member to string. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6892" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6892" bodyend="6905"/>
      </memberdef>
      <memberdef kind="function" id="group__initializing_1gadbf17fa38a640ad2fd3d89b41965adf6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_media_encryption_supported</definition>
        <argsstring>(const LinphoneCore *lc, LinphoneMediaEncryption menc)</argsstring>
        <name>linphone_core_media_encryption_supported</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__media__parameters_1ga61f5a2961ec43a0bd91eb1a664a6f111" kindref="member">LinphoneMediaEncryption</ref></type>
          <declname>menc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Check if a media encryption type is supported <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>core </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>menc</parametername>
</parameternamelist>
<parameterdescription>
<para>LinphoneMediaEncryption </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>whether a media encryption scheme is supported by the LinphoneCore engine </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6908" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6908" bodyend="6920"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gab578077cfa2b6e16f12b6249189ebe42" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_set_media_encryption</definition>
        <argsstring>(LinphoneCore *lc, LinphoneMediaEncryption menc)</argsstring>
        <name>linphone_core_set_media_encryption</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__media__parameters_1ga61f5a2961ec43a0bd91eb1a664a6f111" kindref="member">LinphoneMediaEncryption</ref></type>
          <declname>menc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Choose the media encryption policy to be used for RTP packets. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">menc</parametername>
</parameternamelist>
<parameterdescription>
<para>The media encryption policy to be used. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 if successful, any other value otherwise. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6922" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6922" bodyend="6947"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga3550fc4b1096105b054af72c992e6237" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__media__parameters_1ga61f5a2961ec43a0bd91eb1a664a6f111" kindref="member">LinphoneMediaEncryption</ref></type>
        <definition>LinphoneMediaEncryption linphone_core_get_media_encryption</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_media_encryption</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the media encryption policy being used for RTP packets. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The media encryption policy being used. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6949" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6949" bodyend="6962"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga47ac30cbcc93c9b7a0bcb28d6e9bc1a7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_is_media_encryption_mandatory</definition>
        <argsstring>(LinphoneCore *lc)</argsstring>
        <name>linphone_core_is_media_encryption_mandatory</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get behaviour when encryption parameters negociation fails on outgoing call. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>TRUE means the call will fail; FALSE means an INVITE will be resent with encryption disabled. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6964" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6964" bodyend="6966"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gacc61f8ae42408ebc3ba91931ec2f539a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_media_encryption_mandatory</definition>
        <argsstring>(LinphoneCore *lc, bool_t m)</argsstring>
        <name>linphone_core_set_media_encryption_mandatory</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>m</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Define behaviour when encryption parameters negociation fails on outgoing call. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">lc</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> object. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">m</parametername>
</parameternamelist>
<parameterdescription>
<para>If set to TRUE call will fail; if set to FALSE will resend an INVITE with encryption disabled. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6968" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6968" bodyend="6970"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1aaa58dd0c66fe1eb42768bf17ca1c6dce" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_init_default_params</definition>
        <argsstring>(LinphoneCore *lc, LinphoneCallParams *params)</argsstring>
        <name>linphone_core_init_default_params</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref> *</type>
          <declname>params</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Init call params using LinphoneCore&apos;s current configuration </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6972" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6972" bodyend="6981"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1a313adab60ae9e0a48762a1766dfc66a3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_device_identifier</definition>
        <argsstring>(LinphoneCore *lc, const char *device_id)</argsstring>
        <name>linphone_core_set_device_identifier</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>device_id</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6983" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6983" bodyend="6986"/>
      </memberdef>
      <memberdef kind="function" id="linphonecore_8c_1ae726dff919be45ce1db251b245bc3901" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_device_identifier</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_device_identifier</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6987" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6987" bodyend="6989"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga2fc776d1bee22da2d15a91f02925d913" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_sip_dscp</definition>
        <argsstring>(LinphoneCore *lc, int dscp)</argsstring>
        <name>linphone_core_set_sip_dscp</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>dscp</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the DSCP field for SIP signaling channel.</para><para><itemizedlist>
<listitem><para>The DSCP defines the quality of service in IP packets. </para></listitem></itemizedlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="6998" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="6998" bodyend="7004"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga88edb42a58b294758dabca74d5e9590b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_sip_dscp</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_sip_dscp</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the DSCP field for SIP signaling channel.</para><para><itemizedlist>
<listitem><para>The DSCP defines the quality of service in IP packets. </para></listitem></itemizedlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7013" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7013" bodyend="7015"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga7a9935736b1002aaa4b0df9881ecb1c0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_audio_dscp</definition>
        <argsstring>(LinphoneCore *lc, int dscp)</argsstring>
        <name>linphone_core_set_audio_dscp</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>dscp</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the DSCP field for outgoing audio streams.</para><para>The DSCP defines the quality of service in IP packets. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7024" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7024" bodyend="7027"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga7daf9a795169bbff137eb7a5d28c2331" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_audio_dscp</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_audio_dscp</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the DSCP field for outgoing audio streams.</para><para>The DSCP defines the quality of service in IP packets. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7036" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7036" bodyend="7038"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1gaf15ecd18b9d65b071ab7dc200fc6669c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_video_dscp</definition>
        <argsstring>(LinphoneCore *lc, int dscp)</argsstring>
        <name>linphone_core_set_video_dscp</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>dscp</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the DSCP field for outgoing video streams.</para><para>The DSCP defines the quality of service in IP packets. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7047" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7047" bodyend="7051"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga5c54680dff98e57b779ac15153202011" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_video_dscp</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_video_dscp</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the DSCP field for outgoing video streams.</para><para>The DSCP defines the quality of service in IP packets. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7060" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7060" bodyend="7062"/>
      </memberdef>
      <memberdef kind="function" id="group__initializing_1ga971a0a881b5c9990522ca12e7d2d785b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_chat_database_path</definition>
        <argsstring>(LinphoneCore *lc, const char *path)</argsstring>
        <name>linphone_core_set_chat_database_path</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>path</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Sets the database filename where chat messages will be stored. If the file does not exist, it will be created.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the linphone core </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>path</parametername>
</parameternamelist>
<parameterdescription>
<para>filesystem path </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7072" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7072" bodyend="7081"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga04abb1a18b2012221b5b20b08c9ebded" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_enable_sdp_200_ack</definition>
        <argsstring>(LinphoneCore *lc, bool_t enable)</argsstring>
        <name>linphone_core_enable_sdp_200_ack</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>enable</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Control when media offer is sent in SIP INVITE. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the linphone core </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>enable</parametername>
</parameternamelist>
<parameterdescription>
<para>true if INVITE has to be sent whitout SDP. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7082" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7082" bodyend="7084"/>
      </memberdef>
      <memberdef kind="function" id="group__network__parameters_1ga986be672332d0ff3faba157519ff6177" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_sdp_200_ack_enabled</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_sdp_200_ack_enabled</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Media offer control param for SIP INVITE. <simplesect kind="return"><para>true if INVITE has to be sent whitout SDP. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7085" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7085" bodyend="7087"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1gaecfcda3e6cb307251f9de27433e80c3b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_file_transfer_server</definition>
        <argsstring>(LinphoneCore *core, const char *server_url)</argsstring>
        <name>linphone_core_set_file_transfer_server</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>core</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>server_url</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Globaly set an http file transfer server to be used for content type application/vnd.gsma.rcs-ft-http+xml. This value can also be set for a dedicated account using <ref refid="group__proxies_1ga80967171aab9c0564676d5faec831ebd" kindref="member">linphone_proxy_config_set_file_transfer_server</ref> <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">core</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> to be modified </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">server_url</parametername>
</parameternamelist>
<parameterdescription>
<para>URL of the file server like <ulink url="https://file.linphone.org/upload.php">https://file.linphone.org/upload.php</ulink> </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7089" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7089" bodyend="7091"/>
      </memberdef>
      <memberdef kind="function" id="group__misc_1ga6f991f17d8798a487e4dbe5dd105a730" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_file_transfer_server</definition>
        <argsstring>(LinphoneCore *core)</argsstring>
        <name>linphone_core_get_file_transfer_server</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>core</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the globaly set http file transfer server to be used for content type application/vnd.gsma.rcs-ft-http+xml. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">core</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> from which to get the server_url </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>URL of the file server like <ulink url="https://file.linphone.org/upload.php">https://file.linphone.org/upload.php</ulink> </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7093" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7093" bodyend="7095"/>
      </memberdef>
      <memberdef kind="function" id="group__initializing_1ga0d98323d20507ed1a519e1682766526a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_add_supported_tag</definition>
        <argsstring>(LinphoneCore *lc, const char *tag)</argsstring>
        <name>linphone_core_add_supported_tag</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>tag</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>This function controls signaling features supported by the core. They are typically included in a SIP Supported header. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCore </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>tag</parametername>
</parameternamelist>
<parameterdescription>
<para>the feature tag name </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7104" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7104" bodyend="7107"/>
      </memberdef>
      <memberdef kind="function" id="group__initializing_1ga7be0bf69e445ee292d2d2581e15fddaf" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_remove_supported_tag</definition>
        <argsstring>(LinphoneCore *lc, const char *tag)</argsstring>
        <name>linphone_core_remove_supported_tag</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>tag</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Remove a supported tag. <simplesect kind="see"><para><ref refid="group__initializing_1ga0d98323d20507ed1a519e1682766526a" kindref="member">linphone_core_add_supported_tag()</ref> </para></simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCore </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>tag</parametername>
</parameternamelist>
<parameterdescription>
<para>the tag to remove </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7115" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7115" bodyend="7118"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gaf3bfb77e57b3fec6ead836047fe74726" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_avpf_mode</definition>
        <argsstring>(LinphoneCore *lc, LinphoneAVPFMode mode)</argsstring>
        <name>linphone_core_set_avpf_mode</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type><ref refid="group__media__parameters_1gae3f5b086ee43662c6ab6ec5c3df3682c" kindref="member">LinphoneAVPFMode</ref></type>
          <declname>mode</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Enable RTCP feedback (also known as RTP/AVPF profile). Setting LinphoneAVPFDefault is equivalent to LinphoneAVPFDisabled. This setting can be overriden per LinphoneProxyConfig with <ref refid="group__proxies_1ga3bbd52c26bdbc7df7fb84f804101a6d8" kindref="member">linphone_proxy_config_set_avpf_mode()</ref>. The value set here is used for calls placed or received out of any proxy configured, or if the proxy config is configured with LinphoneAVPFDefault. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCore </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>mode</parametername>
</parameternamelist>
<parameterdescription>
<para>the mode. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7129" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7129" bodyend="7133"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gaf8914933abe759036cb7147118ce34f9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__media__parameters_1gae3f5b086ee43662c6ab6ec5c3df3682c" kindref="member">LinphoneAVPFMode</ref></type>
        <definition>LinphoneAVPFMode linphone_core_get_avpf_mode</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_avpf_mode</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Return AVPF enablement. See <ref refid="group__media__parameters_1gaf3bfb77e57b3fec6ead836047fe74726" kindref="member">linphone_core_set_avpf_mode()</ref> . <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the core </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the avpf enablement mode. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7141" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7141" bodyend="7143"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gafb3ac52a7e92847e4280a32a363e5281" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_avpf_rr_interval</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_avpf_rr_interval</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Return the avpf report interval in seconds. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the LinphoneCore </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>the avpf report interval in seconds. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7151" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7151" bodyend="7153"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gad5f072c934e226183248b1232cf0d8ae" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_set_avpf_rr_interval</definition>
        <argsstring>(LinphoneCore *lc, int interval)</argsstring>
        <name>linphone_core_set_avpf_rr_interval</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>interval</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set the avpf report interval in seconds. This value can be overriden by the proxy config using <ref refid="group__proxies_1ga676e7545e2a09ab61c86a700d78b7082" kindref="member">linphone_proxy_config_set_avpf_rr_interval()</ref>. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>lc</parametername>
</parameternamelist>
<parameterdescription>
<para>the core </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>interval</parametername>
</parameternamelist>
<parameterdescription>
<para>interval in seconds. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7162" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7162" bodyend="7164"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gada076a216edd083e1d68869096bb301c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_payload_type_get_type</definition>
        <argsstring>(const LinphonePayloadType *pt)</argsstring>
        <name>linphone_payload_type_get_type</name>
        <param>
          <type>const <ref refid="group__media__parameters_1gae02100a16ec58d90edc04725bd58f747" kindref="member">LinphonePayloadType</ref> *</type>
          <declname>pt</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the type of payload. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">pt</parametername>
</parameternamelist>
<parameterdescription>
<para>LinphonePayloadType object </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The type of payload. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7166" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7166" bodyend="7168"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga7c78eec9bed2b13f2a1523548c73dfa8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_payload_type_get_normal_bitrate</definition>
        <argsstring>(const LinphonePayloadType *pt)</argsstring>
        <name>linphone_payload_type_get_normal_bitrate</name>
        <param>
          <type>const <ref refid="group__media__parameters_1gae02100a16ec58d90edc04725bd58f747" kindref="member">LinphonePayloadType</ref> *</type>
          <declname>pt</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the normal bitrate in bits/s. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">pt</parametername>
</parameternamelist>
<parameterdescription>
<para>LinphonePayloadType object </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The normal bitrate in bits/s. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7170" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7170" bodyend="7172"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gac1590573bd98b1aecd6f2692e718420e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_payload_type_get_mime_type</definition>
        <argsstring>(const LinphonePayloadType *pt)</argsstring>
        <name>linphone_payload_type_get_mime_type</name>
        <param>
          <type>const <ref refid="group__media__parameters_1gae02100a16ec58d90edc04725bd58f747" kindref="member">LinphonePayloadType</ref> *</type>
          <declname>pt</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the mime type. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">pt</parametername>
</parameternamelist>
<parameterdescription>
<para>LinphonePayloadType object </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The mime type. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7174" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7174" bodyend="7176"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga084ed389f82edb6b06d23edf213bfe71" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_payload_type_get_channels</definition>
        <argsstring>(const LinphonePayloadType *pt)</argsstring>
        <name>linphone_payload_type_get_channels</name>
        <param>
          <type>const <ref refid="group__media__parameters_1gae02100a16ec58d90edc04725bd58f747" kindref="member">LinphonePayloadType</ref> *</type>
          <declname>pt</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Get the number of channels. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">pt</parametername>
</parameternamelist>
<parameterdescription>
<para>LinphonePayloadType object </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The number of channels. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7178" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7178" bodyend="7180"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gab1c6ccccc6385621ab06d5ad09bfc4d6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_set_audio_multicast_addr</definition>
        <argsstring>(LinphoneCore *lc, const char *ip)</argsstring>
        <name>linphone_core_set_audio_multicast_addr</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>core</declname>
          <defname>lc</defname>
        </param>
        <param>
          <type>const char *</type>
          <declname>ip</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Use to set multicast address to be used for audio stream. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>core</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ip</parametername>
</parameternamelist>
<parameterdescription>
<para>an ipv4/6 multicast address </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 in case of success </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7182" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7182" bodyend="7192"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga8991eb34f04d0132f869123412dccac5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_set_video_multicast_addr</definition>
        <argsstring>(LinphoneCore *lc, const char *ip)</argsstring>
        <name>linphone_core_set_video_multicast_addr</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>const char *</type>
          <declname>ip</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Use to set multicast address to be used for video stream. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>core</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ip</parametername>
</parameternamelist>
<parameterdescription>
<para>an ipv4/6 multicast address </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 in case of success </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7194" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7194" bodyend="7204"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga0595f6b89f01f462e8a9c4537a27c320" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_audio_multicast_addr</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_audio_multicast_addr</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>core</declname>
          <defname>lc</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Use to get multicast address to be used for audio stream. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>core</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>an ipv4/6 multicast address or default value </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7206" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7206" bodyend="7208"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gaf3edab80f222a53c636cb3da27182712" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const char *</type>
        <definition>const char* linphone_core_get_video_multicast_addr</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_video_multicast_addr</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>core</declname>
          <defname>lc</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Use to get multicast address to be used for video stream. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>core</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>an ipv4/6 multicast address, or default value </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7210" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7210" bodyend="7212"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga3e034657e14ff4bbcab91cb2fda1fad7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_set_audio_multicast_ttl</definition>
        <argsstring>(LinphoneCore *lc, int ttl)</argsstring>
        <name>linphone_core_set_audio_multicast_ttl</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>core</declname>
          <defname>lc</defname>
        </param>
        <param>
          <type>int</type>
          <declname>ttl</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Use to set multicast ttl to be used for audio stream. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>core</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ttl</parametername>
</parameternamelist>
<parameterdescription>
<para>value or -1 if not used. [0..255] default value is 1 </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 in case of success </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7214" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7214" bodyend="7222"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga9343cb5c7b76da13b8824dd96be3bc4b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_set_video_multicast_ttl</definition>
        <argsstring>(LinphoneCore *lc, int ttl)</argsstring>
        <name>linphone_core_set_video_multicast_ttl</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>lc</declname>
        </param>
        <param>
          <type>int</type>
          <declname>ttl</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Use to set multicast ttl to be used for video stream. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>core</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ttl</parametername>
</parameternamelist>
<parameterdescription>
<para>value or -1 if not used. [0..255] default value is 1 </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>0 in case of success </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7224" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7224" bodyend="7232"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gaa331b622a5290cc709979110f983da68" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_audio_multicast_ttl</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_audio_multicast_ttl</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>core</declname>
          <defname>lc</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Use to get multicast ttl to be used for audio stream. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>core</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a time to leave value </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7234" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7234" bodyend="7236"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gad10b03962bf26864cd4c30d475dd07a7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>int</type>
        <definition>int linphone_core_get_video_multicast_ttl</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_get_video_multicast_ttl</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>core</declname>
          <defname>lc</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Use to get multicast ttl to be used for video stream. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>core</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>a time to leave value </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7239" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7239" bodyend="7241"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga6d4f13f9667c595bee9d2d0e4177ec7d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_enable_audio_multicast</definition>
        <argsstring>(LinphoneCore *lc, bool_t yesno)</argsstring>
        <name>linphone_core_enable_audio_multicast</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>core</declname>
          <defname>lc</defname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>yesno</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Use to enable multicast rtp for audio stream.<itemizedlist>
<listitem><para>If enabled, outgoing calls put a multicast address from <ref refid="group__media__parameters_1gaf3edab80f222a53c636cb3da27182712" kindref="member">linphone_core_get_video_multicast_addr</ref> into audio cline. In case of outgoing call audio stream is sent to this multicast address. <linebreak/>
 For incoming calls behavior is unchanged. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>core</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>yesno</parametername>
</parameternamelist>
<parameterdescription>
<para>if yes, subsequent calls will propose multicast ip set by <ref refid="group__media__parameters_1gab1c6ccccc6385621ab06d5ad09bfc4d6" kindref="member">linphone_core_set_audio_multicast_addr</ref> </para></parameterdescription>
</parameteritem>
</parameterlist>
</para></listitem></itemizedlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7243" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7243" bodyend="7245"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gabbbfc7e40e5e4a7b3d7074fc691b31aa" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_audio_multicast_enabled</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_audio_multicast_enabled</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>core</declname>
          <defname>lc</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Use to get multicast state of audio stream. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>core</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>true if subsequent calls will propose multicast ip set by <ref refid="group__media__parameters_1gab1c6ccccc6385621ab06d5ad09bfc4d6" kindref="member">linphone_core_set_audio_multicast_addr</ref> </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7247" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7247" bodyend="7249"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1gab1fdd4ac8c4ba4e09b665d3959a1b850" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void linphone_core_enable_video_multicast</definition>
        <argsstring>(LinphoneCore *lc, bool_t yesno)</argsstring>
        <name>linphone_core_enable_video_multicast</name>
        <param>
          <type><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>core</declname>
          <defname>lc</defname>
        </param>
        <param>
          <type>bool_t</type>
          <declname>yesno</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Use to enable multicast rtp for video stream. If enabled, outgoing calls put a multicast address from <ref refid="group__media__parameters_1gaf3edab80f222a53c636cb3da27182712" kindref="member">linphone_core_get_video_multicast_addr</ref> into video cline. In case of outgoing call video stream is sent to this multicast address. <linebreak/>
 For incoming calls behavior is unchanged. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>core</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>yesno</parametername>
</parameternamelist>
<parameterdescription>
<para>if yes, subsequent outgoing calls will propose multicast ip set by <ref refid="group__media__parameters_1ga8991eb34f04d0132f869123412dccac5" kindref="member">linphone_core_set_video_multicast_addr</ref> </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7251" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7251" bodyend="7253"/>
      </memberdef>
      <memberdef kind="function" id="group__media__parameters_1ga74975713fb197d0f780e370d0840c4ae" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>bool_t</type>
        <definition>bool_t linphone_core_video_multicast_enabled</definition>
        <argsstring>(const LinphoneCore *lc)</argsstring>
        <name>linphone_core_video_multicast_enabled</name>
        <param>
          <type>const <ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> *</type>
          <declname>core</declname>
          <defname>lc</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Use to get multicast state of video stream. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>core</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref> </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>true if subsequent calls will propose multicast ip set by <ref refid="group__media__parameters_1ga8991eb34f04d0132f869123412dccac5" kindref="member">linphone_core_set_video_multicast_addr</ref> </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" line="7255" column="1" bodyfile="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c" bodystart="7255" bodyend="7257"/>
      </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/>2000<sp/><sp/>Simon<sp/>MORLAT<sp/>(simon.morlat@linphone.org)</highlight></codeline>
<codeline lineno="4"><highlight class="comment">Copyright<sp/>(C)<sp/>2010<sp/><sp/>Belledonne<sp/>Communications<sp/>SARL</highlight></codeline>
<codeline lineno="5"><highlight class="comment"></highlight></codeline>
<codeline lineno="6"><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="7"><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="8"><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="9"><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="10"><highlight class="comment"></highlight></codeline>
<codeline lineno="11"><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="12"><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="13"><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="14"><highlight class="comment">GNU<sp/>General<sp/>Public<sp/>License<sp/>for<sp/>more<sp/>details.</highlight></codeline>
<codeline lineno="15"><highlight class="comment"></highlight></codeline>
<codeline lineno="16"><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="17"><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="18"><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="19"><highlight class="comment">*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="20"><highlight class="normal"></highlight></codeline>
<codeline lineno="21"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;linphonecore.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="22"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;sipsetup.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="23"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;lpconfig.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="24"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;private.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="25"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;quality_reporting.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="26"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;lime.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="27"><highlight class="normal"></highlight></codeline>
<codeline lineno="28"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;math.h&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="29"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;sys/types.h&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="30"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;sys/stat.h&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="31"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;ortp/telephonyevents.h&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="32"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;mediastreamer2/zrtp.h&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="33"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;mediastreamer2/dtls_srtp.h&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="34"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;mediastreamer2/mediastream.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="35"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;mediastreamer2/mseventqueue.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="36"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;mediastreamer2/msvolume.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="37"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;mediastreamer2/msequalizer.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="38"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;mediastreamer2/dtmfgen.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="39"><highlight class="normal"></highlight></codeline>
<codeline lineno="40"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>INET6</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="41"><highlight class="normal"></highlight><highlight class="preprocessor">#ifndef<sp/>WIN32</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="42"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;netdb.h&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="43"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="44"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="45"><highlight class="normal"></highlight></codeline>
<codeline lineno="46"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>HAVE_CONFIG_H</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="47"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;config.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="48"><highlight class="normal"></highlight><highlight class="preprocessor">#ifndef<sp/>ANDROID<sp/></highlight><highlight class="comment">/*on<sp/>Android<sp/>LIBLINPHONE<sp/>version<sp/>is<sp/>passed<sp/>from<sp/>root<sp/>Makefile*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="49"><highlight class="normal"></highlight><highlight class="preprocessor"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>#include<sp/>&quot;liblinphone_gitversion.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="50"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="51"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="52"><highlight class="normal"></highlight><highlight class="preprocessor">#ifndef<sp/>LIBLINPHONE_GIT_VERSION</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="53"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>LIBLINPHONE_GIT_VERSION<sp/>&quot;unknown&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="54"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="55"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="56"><highlight class="normal"></highlight></codeline>
<codeline lineno="57"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>__APPLE__</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="58"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;TargetConditionals.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="59"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="60"><highlight class="normal"></highlight></codeline>
<codeline lineno="61"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>HAVE_ZLIB</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="62"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>COMPRESSED_LOG_COLLECTION_EXTENSION<sp/>&quot;gz&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="63"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>WIN32</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="64"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;fcntl.h&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="65"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;io.h&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="66"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>SET_BINARY_MODE(file)<sp/>setmode(fileno(file),<sp/>O_BINARY)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="67"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="68"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>SET_BINARY_MODE(file)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="69"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="70"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;zlib.h&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="71"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="72"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>COMPRESSED_LOG_COLLECTION_EXTENSION<sp/>&quot;txt&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="73"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="74"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>LOG_COLLECTION_DEFAULT_PATH<sp/>&quot;.&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="75"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>LOG_COLLECTION_DEFAULT_PREFIX<sp/>&quot;linphone&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="76"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>LOG_COLLECTION_DEFAULT_MAX_FILE_SIZE<sp/>(10<sp/>*<sp/>1024<sp/>*<sp/>1024)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="77"><highlight class="normal"></highlight></codeline>
<codeline lineno="78"><highlight class="normal"></highlight></codeline>
<codeline lineno="79"><highlight class="normal"></highlight><highlight class="comment">/*#define<sp/>UNSTANDART_GSM_11K<sp/>1*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="80"><highlight class="normal"></highlight></codeline>
<codeline lineno="81"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>ROOT_CA_FILE<sp/>PACKAGE_DATA_DIR<sp/>&quot;/linphone/rootca.pem&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="82"><highlight class="normal"></highlight></codeline>
<codeline lineno="83"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*liblinphone_version=</highlight></codeline>
<codeline lineno="84"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>LIBLINPHONE_GIT_VERSION</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="85"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>LIBLINPHONE_GIT_VERSION</highlight></codeline>
<codeline lineno="86"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="87"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>LIBLINPHONE_VERSION</highlight></codeline>
<codeline lineno="88"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="89"><highlight class="normal">;</highlight></codeline>
<codeline lineno="90"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>OrtpLogFunc<sp/>liblinphone_log_func<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="91"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>LinphoneLogCollectionState<sp/>liblinphone_log_collection_state<sp/>=<sp/>LinphoneLogCollectionDisabled;</highlight></codeline>
<codeline lineno="92"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/>liblinphone_log_collection_path<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="93"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/>liblinphone_log_collection_prefix<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="94"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>liblinphone_log_collection_max_file_size<sp/>=<sp/>LOG_COLLECTION_DEFAULT_MAX_FILE_SIZE;</highlight></codeline>
<codeline lineno="95"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>ortp_mutex_t<sp/>liblinphone_log_collection_mutex;</highlight></codeline>
<codeline lineno="96"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>bool_t<sp/>liblinphone_serialize_logs<sp/>=<sp/>FALSE;</highlight></codeline>
<codeline lineno="97"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>set_network_reachable(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*<sp/>lc,bool_t<sp/>isReachable,<sp/>time_t<sp/>curtime);</highlight></codeline>
<codeline lineno="98"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_run_hooks(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc);</highlight></codeline>
<codeline lineno="99"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_free_hooks(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc);</highlight></codeline>
<codeline lineno="100"><highlight class="normal"></highlight></codeline>
<codeline lineno="101"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;enum.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="102"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;contact_providers_priv.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="103"><highlight class="normal"></highlight></codeline>
<codeline lineno="104"><highlight class="normal"></highlight></codeline>
<codeline lineno="105"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*linphone_core_get_nat_address_resolved(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc);</highlight></codeline>
<codeline lineno="106"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>toggle_video_preview(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>val);</highlight></codeline>
<codeline lineno="107"><highlight class="normal"></highlight></codeline>
<codeline lineno="108"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="109"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>SOUNDS_PREFIX</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="110"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="111"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>SOUNDS_PREFIX<sp/>&quot;Assets/Sounds/&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="112"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="113"><highlight class="normal"></highlight><highlight class="comment">/*<sp/>relative<sp/>path<sp/>where<sp/>is<sp/>stored<sp/>local<sp/>ring*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="114"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>LOCAL_RING<sp/>SOUNDS_PREFIX<sp/>&quot;rings/oldphone.wav&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="115"><highlight class="normal"></highlight><highlight class="comment">/*<sp/>same<sp/>for<sp/>remote<sp/>ring<sp/>(ringback)*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="116"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>REMOTE_RING<sp/>SOUNDS_PREFIX<sp/>&quot;ringback.wav&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="117"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>HOLD_MUSIC<sp/>SOUNDS_PREFIX<sp/>&quot;rings/toy-mono.wav&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="118"><highlight class="normal"></highlight></codeline>
<codeline lineno="119"><highlight class="normal"></highlight></codeline>
<codeline lineno="120"><highlight class="normal"></highlight><highlight class="keyword">extern</highlight><highlight class="normal"><sp/>SalCallbacks<sp/>linphone_sal_callbacks;</highlight></codeline>
<codeline lineno="121"><highlight class="normal"></highlight></codeline>
<codeline lineno="122"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>lc_callback_obj_init(LCCallbackObj<sp/>*obj,<ref refid="group__initializing_1ga2e55e712a2453d67eb7848e30eb7dcb4" kindref="member">LinphoneCoreCbFunc</ref><sp/>func,</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*<sp/>ud)</highlight></codeline>
<codeline lineno="123"><highlight class="normal">{</highlight></codeline>
<codeline lineno="124"><highlight class="normal"><sp/><sp/>obj-&gt;_func=func;</highlight></codeline>
<codeline lineno="125"><highlight class="normal"><sp/><sp/>obj-&gt;_user_data=ud;</highlight></codeline>
<codeline lineno="126"><highlight class="normal">}</highlight></codeline>
<codeline lineno="127"><highlight class="normal"></highlight></codeline>
<codeline lineno="128"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>lc_callback_obj_invoke(LCCallbackObj<sp/>*obj,<sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="129"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(obj-&gt;_func!=NULL)<sp/>obj-&gt;_func(lc,obj-&gt;_user_data);</highlight></codeline>
<codeline lineno="130"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="131"><highlight class="normal">}</highlight></codeline>
<codeline lineno="132"><highlight class="normal"></highlight></codeline>
<codeline lineno="133"><highlight class="normal"></highlight></codeline>
<codeline lineno="138"><highlight class="normal">bool_t<sp/>linphone_call_asked_to_autoanswer(<ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call){</highlight></codeline>
<codeline lineno="139"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//return<sp/>TRUE<sp/>if<sp/>the<sp/>unique(for<sp/>the<sp/>moment)<sp/>incoming<sp/>call<sp/>asked<sp/>to<sp/>be<sp/>autoanswered</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="140"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(call)</highlight></codeline>
<codeline lineno="141"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>sal_call_autoanswer_asked(call-&gt;op);</highlight></codeline>
<codeline lineno="142"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="143"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>FALSE;</highlight></codeline>
<codeline lineno="144"><highlight class="normal">}</highlight></codeline>
<codeline lineno="145"><highlight class="normal"></highlight></codeline>
<codeline lineno="146"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>linphone_core_get_current_call_duration(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="147"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call=<ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref>((<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*)lc);</highlight></codeline>
<codeline lineno="148"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call)<sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ga0ad1da7a56b11f5e0b2fe6f91d3d6bb5" kindref="member">linphone_call_get_duration</ref>(call);</highlight></codeline>
<codeline lineno="149"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="150"><highlight class="normal">}</highlight></codeline>
<codeline lineno="151"><highlight class="normal"></highlight></codeline>
<codeline lineno="152"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref><sp/>*<ref refid="group__call__control_1ga7880d44bd0f4dfb68d05bcd7f1f1ee23" kindref="member">linphone_core_get_current_call_remote_address</ref>(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/>_LinphoneCore<sp/>*lc){</highlight></codeline>
<codeline lineno="153"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call=<ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref>(lc);</highlight></codeline>
<codeline lineno="154"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call==NULL)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="155"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ga7c43232df9cd89feb0c68b68c34e6ace" kindref="member">linphone_call_get_remote_address</ref>(call);</highlight></codeline>
<codeline lineno="156"><highlight class="normal">}</highlight></codeline>
<codeline lineno="157"><highlight class="normal"></highlight></codeline>
<codeline lineno="158"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_log_collection_handler(OrtpLogLevel<sp/>level,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*fmt,<sp/>va_list<sp/>args);</highlight></codeline>
<codeline lineno="159"><highlight class="normal"></highlight></codeline>
<codeline lineno="160"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga1916e55f85eb1e3db57629d67a0de0cd" kindref="member">linphone_core_set_log_handler</ref>(OrtpLogFunc<sp/>logfunc)<sp/>{</highlight></codeline>
<codeline lineno="161"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ortp_logv_out<sp/>==<sp/>linphone_core_log_collection_handler)<sp/>{</highlight></codeline>
<codeline lineno="162"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;There<sp/>is<sp/>already<sp/>a<sp/>log<sp/>collection<sp/>handler,<sp/>keep<sp/>it&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="163"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_func<sp/>=<sp/>logfunc;</highlight></codeline>
<codeline lineno="164"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="165"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_set_log_handler(logfunc);</highlight></codeline>
<codeline lineno="166"><highlight class="normal">}</highlight></codeline>
<codeline lineno="167"><highlight class="normal"></highlight></codeline>
<codeline lineno="168"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga9de0532e1e1370f0375173bd1a3c8cc8" kindref="member">linphone_core_set_log_file</ref>(FILE<sp/>*file)<sp/>{</highlight></codeline>
<codeline lineno="169"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(file<sp/>==<sp/>NULL)<sp/>file<sp/>=<sp/>stdout;</highlight></codeline>
<codeline lineno="170"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_set_log_file(file);</highlight></codeline>
<codeline lineno="171"><highlight class="normal">}</highlight></codeline>
<codeline lineno="172"><highlight class="normal"></highlight></codeline>
<codeline lineno="173"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_set_log_level(OrtpLogLevel<sp/>loglevel)<sp/>{</highlight></codeline>
<codeline lineno="174"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga27f65c839ea65fb3b45507072e865d5f" kindref="member">linphone_core_set_log_level_mask</ref>(loglevel);</highlight></codeline>
<codeline lineno="175"><highlight class="normal">}</highlight></codeline>
<codeline lineno="176"><highlight class="normal"></highlight></codeline>
<codeline lineno="177"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga27f65c839ea65fb3b45507072e865d5f" kindref="member">linphone_core_set_log_level_mask</ref>(OrtpLogLevel<sp/>loglevel)<sp/>{</highlight></codeline>
<codeline lineno="178"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_set_log_level_mask(loglevel);</highlight></codeline>
<codeline lineno="179"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(loglevel<sp/>==<sp/>0)<sp/>{</highlight></codeline>
<codeline lineno="180"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_disable_logs();</highlight></codeline>
<codeline lineno="181"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="182"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_enable_logs();</highlight></codeline>
<codeline lineno="183"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="184"><highlight class="normal">}</highlight></codeline>
<codeline lineno="185"><highlight class="normal"></highlight></codeline>
<codeline lineno="186"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_log_collection_handler(OrtpLogLevel<sp/>level,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*fmt,<sp/>va_list<sp/>args)<sp/>{</highlight></codeline>
<codeline lineno="187"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*lname=</highlight><highlight class="stringliteral">&quot;undef&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="188"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*msg;</highlight></codeline>
<codeline lineno="189"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*log_filename1;</highlight></codeline>
<codeline lineno="190"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*log_filename2;</highlight></codeline>
<codeline lineno="191"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>FILE<sp/>*log_file;</highlight></codeline>
<codeline lineno="192"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">timeval<sp/>tp;</highlight></codeline>
<codeline lineno="193"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">tm<sp/>*lt;</highlight></codeline>
<codeline lineno="194"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>time_t<sp/>tt;</highlight></codeline>
<codeline lineno="195"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">stat<sp/>statbuf;</highlight></codeline>
<codeline lineno="196"><highlight class="normal"></highlight></codeline>
<codeline lineno="197"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(liblinphone_log_func<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="198"><highlight class="normal"></highlight><highlight class="preprocessor">#ifndef<sp/>WIN32</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="199"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>va_list<sp/>args_copy;</highlight></codeline>
<codeline lineno="200"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>va_copy(args_copy,<sp/>args);</highlight></codeline>
<codeline lineno="201"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_func(level,<sp/>fmt,<sp/>args_copy);</highlight></codeline>
<codeline lineno="202"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>va_end(args_copy);</highlight></codeline>
<codeline lineno="203"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="204"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>This<sp/>works<sp/>on<sp/>32<sp/>bits,<sp/>luckily.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="205"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>TODO:<sp/>va_copy<sp/>is<sp/>available<sp/>in<sp/>Visual<sp/>Studio<sp/>2013.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="206"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_func(level,<sp/>fmt,<sp/>args);</highlight></codeline>
<codeline lineno="207"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="208"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="209"><highlight class="normal"></highlight></codeline>
<codeline lineno="210"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_gettimeofday(&amp;tp,<sp/>NULL);</highlight></codeline>
<codeline lineno="211"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tt<sp/>=<sp/>(time_t)tp.tv_sec;</highlight></codeline>
<codeline lineno="212"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lt<sp/>=<sp/>localtime((</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>time_t*)&amp;tt);</highlight></codeline>
<codeline lineno="213"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">switch</highlight><highlight class="normal">(level){</highlight></codeline>
<codeline lineno="214"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>ORTP_DEBUG:</highlight></codeline>
<codeline lineno="215"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lname<sp/>=<sp/></highlight><highlight class="stringliteral">&quot;DEBUG&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="216"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="217"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>ORTP_MESSAGE:</highlight></codeline>
<codeline lineno="218"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lname<sp/>=<sp/></highlight><highlight class="stringliteral">&quot;MESSAGE&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="219"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="220"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>ORTP_WARNING:</highlight></codeline>
<codeline lineno="221"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lname<sp/>=<sp/></highlight><highlight class="stringliteral">&quot;WARNING&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="222"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="223"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>ORTP_ERROR:</highlight></codeline>
<codeline lineno="224"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lname<sp/>=<sp/></highlight><highlight class="stringliteral">&quot;ERROR&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="225"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="226"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>ORTP_FATAL:</highlight></codeline>
<codeline lineno="227"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lname<sp/>=<sp/></highlight><highlight class="stringliteral">&quot;FATAL&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="228"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="229"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">default</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="230"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_fatal(</highlight><highlight class="stringliteral">&quot;Bad<sp/>level<sp/>!&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="231"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="232"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>msg<sp/>=<sp/>ortp_strdup_vprintf(fmt,<sp/>args);</highlight></codeline>
<codeline lineno="233"><highlight class="normal"></highlight></codeline>
<codeline lineno="234"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>log_filename1<sp/>=<sp/>ortp_strdup_printf(</highlight><highlight class="stringliteral">&quot;%s/%s1.log&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="235"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_path<sp/>?<sp/>liblinphone_log_collection_path<sp/>:<sp/>LOG_COLLECTION_DEFAULT_PATH,</highlight></codeline>
<codeline lineno="236"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_prefix<sp/>?<sp/>liblinphone_log_collection_prefix<sp/>:<sp/>LOG_COLLECTION_DEFAULT_PREFIX);</highlight></codeline>
<codeline lineno="237"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>log_filename2<sp/>=<sp/>ortp_strdup_printf(</highlight><highlight class="stringliteral">&quot;%s/%s2.log&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="238"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_path<sp/>?<sp/>liblinphone_log_collection_path<sp/>:<sp/>LOG_COLLECTION_DEFAULT_PATH,</highlight></codeline>
<codeline lineno="239"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_prefix<sp/>?<sp/>liblinphone_log_collection_prefix<sp/>:<sp/>LOG_COLLECTION_DEFAULT_PREFIX);</highlight></codeline>
<codeline lineno="240"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_mutex_lock(&amp;liblinphone_log_collection_mutex);</highlight></codeline>
<codeline lineno="241"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>log_file<sp/>=<sp/>fopen(log_filename1,<sp/></highlight><highlight class="stringliteral">&quot;a&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="242"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>fstat(fileno(log_file),<sp/>&amp;statbuf);</highlight></codeline>
<codeline lineno="243"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(statbuf.st_size<sp/>&gt;<sp/>liblinphone_log_collection_max_file_size)<sp/>{</highlight></codeline>
<codeline lineno="244"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>fclose(log_file);</highlight></codeline>
<codeline lineno="245"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>log_file<sp/>=<sp/>fopen(log_filename2,<sp/></highlight><highlight class="stringliteral">&quot;a&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="246"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>fstat(fileno(log_file),<sp/>&amp;statbuf);</highlight></codeline>
<codeline lineno="247"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(statbuf.st_size<sp/>&gt;<sp/>liblinphone_log_collection_max_file_size)<sp/>{</highlight></codeline>
<codeline lineno="248"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>fclose(log_file);</highlight></codeline>
<codeline lineno="249"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>unlink(log_filename1);</highlight></codeline>
<codeline lineno="250"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>rename(log_filename2,<sp/>log_filename1);</highlight></codeline>
<codeline lineno="251"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>log_file<sp/>=<sp/>fopen(log_filename2,<sp/></highlight><highlight class="stringliteral">&quot;a&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="252"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="253"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="254"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>fprintf(log_file,</highlight><highlight class="stringliteral">&quot;%i-%.2i-%.2i<sp/>%.2i:%.2i:%.2i:%.3i<sp/>%s<sp/>%s\n&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="255"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>1900<sp/>+<sp/>lt-&gt;tm_year,<sp/>lt-&gt;tm_mon<sp/>+<sp/>1,<sp/>lt-&gt;tm_mday,<sp/>lt-&gt;tm_hour,<sp/>lt-&gt;tm_min,<sp/>lt-&gt;tm_sec,<sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">)(tp.tv_usec<sp/>/<sp/>1000),<sp/>lname,<sp/>msg);</highlight></codeline>
<codeline lineno="256"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>fflush(log_file);</highlight></codeline>
<codeline lineno="257"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>fclose(log_file);</highlight></codeline>
<codeline lineno="258"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_mutex_unlock(&amp;liblinphone_log_collection_mutex);</highlight></codeline>
<codeline lineno="259"><highlight class="normal"></highlight></codeline>
<codeline lineno="260"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_free(log_filename1);</highlight></codeline>
<codeline lineno="261"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_free(log_filename2);</highlight></codeline>
<codeline lineno="262"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_free(msg);</highlight></codeline>
<codeline lineno="263"><highlight class="normal">}</highlight></codeline>
<codeline lineno="264"><highlight class="normal"></highlight></codeline>
<codeline lineno="265"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/><ref refid="group__misc_1ga425439d9ef1a550a2070ea1cf7ff2651" kindref="member">linphone_core_get_log_collection_path</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="266"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(liblinphone_log_collection_path<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="267"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>liblinphone_log_collection_path;</highlight></codeline>
<codeline lineno="268"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="269"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>LOG_COLLECTION_DEFAULT_PATH;</highlight></codeline>
<codeline lineno="270"><highlight class="normal">}</highlight></codeline>
<codeline lineno="271"><highlight class="normal"></highlight></codeline>
<codeline lineno="272"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__misc_1gae7fd5692a16c46200d3e055b032c037e" kindref="member">linphone_core_set_log_collection_path</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*path)<sp/>{</highlight></codeline>
<codeline lineno="273"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(liblinphone_log_collection_path<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="274"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(liblinphone_log_collection_path);</highlight></codeline>
<codeline lineno="275"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_path<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="276"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="277"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(path<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="278"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_path<sp/>=<sp/>ms_strdup(path);</highlight></codeline>
<codeline lineno="279"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="280"><highlight class="normal">}</highlight></codeline>
<codeline lineno="281"><highlight class="normal"></highlight></codeline>
<codeline lineno="282"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/><ref refid="group__misc_1ga668c1a0f293b1cbbbed619ae738a77ae" kindref="member">linphone_core_get_log_collection_prefix</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="283"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(liblinphone_log_collection_prefix<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="284"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>liblinphone_log_collection_prefix;</highlight></codeline>
<codeline lineno="285"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="286"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>LOG_COLLECTION_DEFAULT_PREFIX;</highlight></codeline>
<codeline lineno="287"><highlight class="normal">}</highlight></codeline>
<codeline lineno="288"><highlight class="normal"></highlight></codeline>
<codeline lineno="289"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__misc_1gabb62e04407261305113359d62c68f567" kindref="member">linphone_core_set_log_collection_prefix</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*prefix)<sp/>{</highlight></codeline>
<codeline lineno="290"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(liblinphone_log_collection_prefix<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="291"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(liblinphone_log_collection_prefix);</highlight></codeline>
<codeline lineno="292"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_prefix<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="293"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="294"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(prefix<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="295"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_prefix<sp/>=<sp/>ms_strdup(prefix);</highlight></codeline>
<codeline lineno="296"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="297"><highlight class="normal">}</highlight></codeline>
<codeline lineno="298"><highlight class="normal"></highlight></codeline>
<codeline lineno="299"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__misc_1gadf0925aff0edf73d9b7c8094809dfa2a" kindref="member">linphone_core_get_log_collection_max_file_size</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="300"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>liblinphone_log_collection_max_file_size;</highlight></codeline>
<codeline lineno="301"><highlight class="normal">}</highlight></codeline>
<codeline lineno="302"><highlight class="normal"></highlight></codeline>
<codeline lineno="303"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__misc_1gaa6649a68a8d6b7c0e029242b41c8f4c0" kindref="member">linphone_core_set_log_collection_max_file_size</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>size)<sp/>{</highlight></codeline>
<codeline lineno="304"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_max_file_size<sp/>=<sp/>size;</highlight></codeline>
<codeline lineno="305"><highlight class="normal">}</highlight></codeline>
<codeline lineno="306"><highlight class="normal"></highlight></codeline>
<codeline lineno="307"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*linphone_core_get_log_collection_upload_server_url(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*core)<sp/>{</highlight></codeline>
<codeline lineno="308"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(core-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;misc&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;log_collection_upload_server_url&quot;</highlight><highlight class="normal">,<sp/>NULL);</highlight></codeline>
<codeline lineno="309"><highlight class="normal">}</highlight></codeline>
<codeline lineno="310"><highlight class="normal"></highlight></codeline>
<codeline lineno="311"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga85532b165703078db1847cb49c222681" kindref="member">linphone_core_set_log_collection_upload_server_url</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*core,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*server_url)<sp/>{</highlight></codeline>
<codeline lineno="312"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(core-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;misc&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;log_collection_upload_server_url&quot;</highlight><highlight class="normal">,<sp/>server_url);</highlight></codeline>
<codeline lineno="313"><highlight class="normal">}</highlight></codeline>
<codeline lineno="314"><highlight class="normal"></highlight></codeline>
<codeline lineno="315"><highlight class="normal">LinphoneLogCollectionState<sp/><ref refid="group__misc_1ga94b98d58cc47f138bade99749f4db6f2" kindref="member">linphone_core_log_collection_enabled</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="316"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>liblinphone_log_collection_state;</highlight></codeline>
<codeline lineno="317"><highlight class="normal">}</highlight></codeline>
<codeline lineno="318"><highlight class="normal"></highlight></codeline>
<codeline lineno="319"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga12291e2558149ecd1c4d3eb9417278ae" kindref="member">linphone_core_enable_log_collection</ref>(LinphoneLogCollectionState<sp/>state)<sp/>{</highlight></codeline>
<codeline lineno="320"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(liblinphone_log_collection_state<sp/>==<sp/>state)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="321"><highlight class="normal"></highlight></codeline>
<codeline lineno="322"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>at<sp/>first<sp/>call<sp/>of<sp/>this<sp/>function,<sp/>set<sp/>liblinphone_log_func<sp/>to<sp/>the<sp/>current</highlight></codeline>
<codeline lineno="323"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*<sp/>ortp<sp/>log<sp/>function<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="324"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(<sp/>liblinphone_log_func<sp/>==<sp/>NULL<sp/>){</highlight></codeline>
<codeline lineno="325"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_func<sp/>=<sp/>ortp_logv_out;</highlight></codeline>
<codeline lineno="326"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="327"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_state<sp/>=<sp/>state;</highlight></codeline>
<codeline lineno="328"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(state<sp/>!=<sp/>LinphoneLogCollectionDisabled)<sp/>{</highlight></codeline>
<codeline lineno="329"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_mutex_init(&amp;liblinphone_log_collection_mutex,<sp/>NULL);</highlight></codeline>
<codeline lineno="330"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(state<sp/>==<sp/>LinphoneLogCollectionEnabledWithoutPreviousLogHandler)<sp/>{</highlight></codeline>
<codeline lineno="331"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_func<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="332"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="333"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_func<sp/>=<sp/>ortp_logv_out;</highlight></codeline>
<codeline lineno="334"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="335"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_set_log_handler(linphone_core_log_collection_handler);</highlight></codeline>
<codeline lineno="336"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="337"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_set_log_handler(liblinphone_log_func);</highlight></codeline>
<codeline lineno="338"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="339"><highlight class="normal">}</highlight></codeline>
<codeline lineno="340"><highlight class="normal"></highlight></codeline>
<codeline lineno="341"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>clean_log_collection_upload_context(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="342"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*filename<sp/>=<sp/>ms_strdup_printf(</highlight><highlight class="stringliteral">&quot;%s/%s_log.%s&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="343"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_path<sp/>?<sp/>liblinphone_log_collection_path<sp/>:<sp/>LOG_COLLECTION_DEFAULT_PATH,</highlight></codeline>
<codeline lineno="344"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_prefix<sp/>?<sp/>liblinphone_log_collection_prefix<sp/>:<sp/>LOG_COLLECTION_DEFAULT_PREFIX,</highlight></codeline>
<codeline lineno="345"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>COMPRESSED_LOG_COLLECTION_EXTENSION);</highlight></codeline>
<codeline lineno="346"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>unlink(filename);</highlight></codeline>
<codeline lineno="347"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(filename);</highlight></codeline>
<codeline lineno="348"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc<sp/>&amp;&amp;<sp/>lc-&gt;log_collection_upload_information)<sp/>{</highlight></codeline>
<codeline lineno="349"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;log_collection_upload_information);</highlight></codeline>
<codeline lineno="350"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;log_collection_upload_information=NULL;</highlight></codeline>
<codeline lineno="351"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="352"><highlight class="normal">}</highlight></codeline>
<codeline lineno="353"><highlight class="normal"></highlight></codeline>
<codeline lineno="354"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>process_io_error_upload_log_collection(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*data,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>belle_sip_io_error_event_t<sp/>*event)<sp/>{</highlight></codeline>
<codeline lineno="355"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*core<sp/>=<sp/>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*)data;</highlight></codeline>
<codeline lineno="356"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_error(</highlight><highlight class="stringliteral">&quot;I/O<sp/>Error<sp/>during<sp/>log<sp/>collection<sp/>upload<sp/>to<sp/>%s&quot;</highlight><highlight class="normal">,<sp/>linphone_core_get_log_collection_upload_server_url(core));</highlight></codeline>
<codeline lineno="357"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_log_collection_upload_state_changed(core,<sp/><ref refid="group__initializing_1gga2751b72ac59839e8407cd861c6697989aabf105fd08045bf72101d30e6b25ce4f" kindref="member">LinphoneCoreLogCollectionUploadStateNotDelivered</ref>,<sp/></highlight><highlight class="stringliteral">&quot;I/O<sp/>Error&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="358"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>clean_log_collection_upload_context(core);</highlight></codeline>
<codeline lineno="359"><highlight class="normal">}</highlight></codeline>
<codeline lineno="360"><highlight class="normal"></highlight></codeline>
<codeline lineno="361"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>process_auth_requested_upload_log_collection(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*data,<sp/>belle_sip_auth_event_t<sp/>*event)<sp/>{</highlight></codeline>
<codeline lineno="362"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*core<sp/>=<sp/>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*)data;</highlight></codeline>
<codeline lineno="363"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_error(</highlight><highlight class="stringliteral">&quot;Error<sp/>during<sp/>log<sp/>collection<sp/>upload:<sp/>auth<sp/>requested<sp/>to<sp/>connect<sp/>%s&quot;</highlight><highlight class="normal">,<sp/>linphone_core_get_log_collection_upload_server_url(core));</highlight></codeline>
<codeline lineno="364"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_log_collection_upload_state_changed(core,<sp/><ref refid="group__initializing_1gga2751b72ac59839e8407cd861c6697989aabf105fd08045bf72101d30e6b25ce4f" kindref="member">LinphoneCoreLogCollectionUploadStateNotDelivered</ref>,<sp/></highlight><highlight class="stringliteral">&quot;Auth<sp/>requested&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="365"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>clean_log_collection_upload_context(core);</highlight></codeline>
<codeline lineno="366"><highlight class="normal">}</highlight></codeline>
<codeline lineno="367"><highlight class="normal"></highlight></codeline>
<codeline lineno="379"><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>log_collection_upload_on_send_body(belle_sip_user_body_handler_t<sp/>*bh,<sp/>belle_sip_message_t<sp/>*msg,<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*data,<sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>offset,<sp/>uint8_t<sp/>*buffer,<sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>*size)<sp/>{</highlight></codeline>
<codeline lineno="380"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*core<sp/>=<sp/>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*)data;</highlight></codeline>
<codeline lineno="381"><highlight class="normal"></highlight></codeline>
<codeline lineno="382"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>If<sp/>we&apos;ve<sp/>not<sp/>reach<sp/>the<sp/>end<sp/>of<sp/>file<sp/>yet,<sp/>fill<sp/>the<sp/>buffer<sp/>with<sp/>more<sp/>data<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="383"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(offset<sp/>&lt;<sp/><ref refid="group__misc_1gae8a4c8a64c5932b64abeef6de29cf6da" kindref="member">linphone_content_get_size</ref>(core-&gt;log_collection_upload_information))<sp/>{</highlight></codeline>
<codeline lineno="384"><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/>*log_filename<sp/>=<sp/>ms_strdup_printf(</highlight><highlight class="stringliteral">&quot;%s/%s_log.%s&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="385"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_path<sp/>?<sp/>liblinphone_log_collection_path<sp/>:<sp/>LOG_COLLECTION_DEFAULT_PATH,</highlight></codeline>
<codeline lineno="386"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_prefix<sp/>?<sp/>liblinphone_log_collection_prefix<sp/>:<sp/>LOG_COLLECTION_DEFAULT_PREFIX,</highlight></codeline>
<codeline lineno="387"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>COMPRESSED_LOG_COLLECTION_EXTENSION);</highlight></codeline>
<codeline lineno="388"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>HAVE_ZLIB</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="389"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>FILE<sp/>*log_file<sp/>=<sp/>fopen(log_filename,<sp/></highlight><highlight class="stringliteral">&quot;rb&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="390"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="391"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>FILE<sp/>*log_file<sp/>=<sp/>fopen(log_filename,<sp/></highlight><highlight class="stringliteral">&quot;r&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="392"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="393"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>fseek(log_file,<sp/>offset,<sp/>SEEK_SET);</highlight></codeline>
<codeline lineno="394"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*size<sp/>=<sp/>fread(buffer,<sp/>1,<sp/>*size,<sp/>log_file);</highlight></codeline>
<codeline lineno="395"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>fclose(log_file);</highlight></codeline>
<codeline lineno="396"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(log_filename);</highlight></codeline>
<codeline lineno="397"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="398"><highlight class="normal"></highlight></codeline>
<codeline lineno="399"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>BELLE_SIP_CONTINUE;</highlight></codeline>
<codeline lineno="400"><highlight class="normal">}</highlight></codeline>
<codeline lineno="401"><highlight class="normal"></highlight></codeline>
<codeline lineno="406"><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>log_collection_upload_on_progress(belle_sip_body_handler_t<sp/>*bh,<sp/>belle_sip_message_t<sp/>*msg,<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*data,<sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>offset,<sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>total)<sp/>{</highlight></codeline>
<codeline lineno="407"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*core<sp/>=<sp/>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*)data;</highlight></codeline>
<codeline lineno="408"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_log_collection_upload_progress_indication(core,<sp/>offset,<sp/>total);</highlight></codeline>
<codeline lineno="409"><highlight class="normal">}</highlight></codeline>
<codeline lineno="410"><highlight class="normal"></highlight></codeline>
<codeline lineno="419"><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>process_response_from_post_file_log_collection(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*data,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>belle_http_response_event_t<sp/>*event)<sp/>{</highlight></codeline>
<codeline lineno="420"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*core<sp/>=<sp/>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*)data;</highlight></codeline>
<codeline lineno="421"><highlight class="normal"></highlight></codeline>
<codeline lineno="422"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Check<sp/>the<sp/>answer<sp/>code<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="423"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(event-&gt;response)<sp/>{</highlight></codeline>
<codeline lineno="424"><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/>code<sp/>=<sp/>belle_http_response_get_status_code(event-&gt;response);</highlight></codeline>
<codeline lineno="425"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(code<sp/>==<sp/>204)<sp/>{<sp/></highlight><highlight class="comment">/*<sp/>This<sp/>is<sp/>the<sp/>reply<sp/>to<sp/>the<sp/>first<sp/>post<sp/>to<sp/>the<sp/>server<sp/>-<sp/>an<sp/>empty<sp/>file<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="426"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Start<sp/>uploading<sp/>the<sp/>file<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="427"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_http_request_listener_callbacks_t<sp/>cbs<sp/>=<sp/>{<sp/>0<sp/>};</highlight></codeline>
<codeline lineno="428"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_http_request_listener_t<sp/>*l;</highlight></codeline>
<codeline lineno="429"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_generic_uri_t<sp/>*uri;</highlight></codeline>
<codeline lineno="430"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_http_request_t<sp/>*req;</highlight></codeline>
<codeline lineno="431"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_sip_multipart_body_handler_t<sp/>*bh;</highlight></codeline>
<codeline lineno="432"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><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/>ua;</highlight></codeline>
<codeline lineno="433"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><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/>*first_part_header;</highlight></codeline>
<codeline lineno="434"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_sip_user_body_handler_t<sp/>*first_part_bh;</highlight></codeline>
<codeline lineno="435"><highlight class="normal"></highlight></codeline>
<codeline lineno="436"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_log_collection_upload_state_changed(core,<sp/><ref refid="group__initializing_1gga2751b72ac59839e8407cd861c6697989abc7062e8feeaadc6217e7dd237a722aa" kindref="member">LinphoneCoreLogCollectionUploadStateInProgress</ref>,<sp/>NULL);</highlight></codeline>
<codeline lineno="437"><highlight class="normal"></highlight></codeline>
<codeline lineno="438"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Temporary<sp/>storage<sp/>for<sp/>the<sp/>Content-disposition<sp/>header<sp/>value<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="439"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>first_part_header<sp/>=<sp/>belle_sip_strdup_printf(</highlight><highlight class="stringliteral">&quot;form-data;<sp/>name=\&quot;File\&quot;;<sp/>filename=\&quot;%s\&quot;&quot;</highlight><highlight class="normal">,<sp/><ref refid="group__misc_1ga8b2df80a1495b2454db68b277f640712" kindref="member">linphone_content_get_name</ref>(core-&gt;log_collection_upload_information));</highlight></codeline>
<codeline lineno="440"><highlight class="normal"></highlight></codeline>
<codeline lineno="441"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Create<sp/>a<sp/>user<sp/>body<sp/>handler<sp/>to<sp/>take<sp/>care<sp/>of<sp/>the<sp/>file<sp/>and<sp/>add<sp/>the<sp/>content<sp/>disposition<sp/>and<sp/>content-type<sp/>headers<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="442"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>first_part_bh<sp/>=<sp/>belle_sip_user_body_handler_new(<ref refid="group__misc_1gae8a4c8a64c5932b64abeef6de29cf6da" kindref="member">linphone_content_get_size</ref>(core-&gt;log_collection_upload_information),<sp/>NULL,<sp/>NULL,<sp/>log_collection_upload_on_send_body,<sp/>core);</highlight></codeline>
<codeline lineno="443"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_sip_body_handler_add_header((belle_sip_body_handler_t<sp/>*)first_part_bh,<sp/>belle_sip_header_create(</highlight><highlight class="stringliteral">&quot;Content-disposition&quot;</highlight><highlight class="normal">,<sp/>first_part_header));</highlight></codeline>
<codeline lineno="444"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_sip_free(first_part_header);</highlight></codeline>
<codeline lineno="445"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_sip_body_handler_add_header((belle_sip_body_handler_t<sp/>*)first_part_bh,</highlight></codeline>
<codeline lineno="446"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(belle_sip_header_t<sp/>*)belle_sip_header_content_type_create(<ref refid="group__misc_1ga379f8e7745a2de3e455ce0118bf9ef17" kindref="member">linphone_content_get_type</ref>(core-&gt;log_collection_upload_information),<sp/><ref refid="group__misc_1ga1db8ed3a33ec65006f7f66f299ff7c90" kindref="member">linphone_content_get_subtype</ref>(core-&gt;log_collection_upload_information)));</highlight></codeline>
<codeline lineno="447"><highlight class="normal"></highlight></codeline>
<codeline lineno="448"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Insert<sp/>it<sp/>in<sp/>a<sp/>multipart<sp/>body<sp/>handler<sp/>which<sp/>will<sp/>manage<sp/>the<sp/>boundaries<sp/>of<sp/>multipart<sp/>message<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="449"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>bh<sp/>=<sp/>belle_sip_multipart_body_handler_new(log_collection_upload_on_progress,<sp/>core,<sp/>(belle_sip_body_handler_t<sp/>*)first_part_bh);</highlight></codeline>
<codeline lineno="450"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ua<sp/>=<sp/>ms_strdup_printf(</highlight><highlight class="stringliteral">&quot;%s/%s&quot;</highlight><highlight class="normal">,<sp/>linphone_core_get_user_agent_name(),<sp/>linphone_core_get_user_agent_version());</highlight></codeline>
<codeline lineno="451"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>uri<sp/>=<sp/>belle_generic_uri_parse(linphone_core_get_log_collection_upload_server_url(core));</highlight></codeline>
<codeline lineno="452"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>req<sp/>=<sp/>belle_http_request_create(</highlight><highlight class="stringliteral">&quot;POST&quot;</highlight><highlight class="normal">,<sp/>uri,<sp/>belle_sip_header_create(</highlight><highlight class="stringliteral">&quot;User-Agent&quot;</highlight><highlight class="normal">,<sp/>ua),<sp/>NULL);</highlight></codeline>
<codeline lineno="453"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(ua);</highlight></codeline>
<codeline lineno="454"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_sip_message_set_body_handler(BELLE_SIP_MESSAGE(req),<sp/>BELLE_SIP_BODY_HANDLER(bh));</highlight></codeline>
<codeline lineno="455"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>cbs.process_response<sp/>=<sp/>process_response_from_post_file_log_collection;</highlight></codeline>
<codeline lineno="456"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>cbs.process_io_error<sp/>=<sp/>process_io_error_upload_log_collection;</highlight></codeline>
<codeline lineno="457"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>cbs.process_auth_requested<sp/>=<sp/>process_auth_requested_upload_log_collection;</highlight></codeline>
<codeline lineno="458"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>l<sp/>=<sp/>belle_http_request_listener_create_from_callbacks(&amp;cbs,<sp/>core);</highlight></codeline>
<codeline lineno="459"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_http_provider_send_request(core-&gt;http_provider,<sp/>req,<sp/>l);</highlight></codeline>
<codeline lineno="460"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="461"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(code<sp/>==<sp/>200)<sp/>{<sp/></highlight><highlight class="comment">/*<sp/>The<sp/>file<sp/>has<sp/>been<sp/>uploaded<sp/>correctly,<sp/>get<sp/>the<sp/>server<sp/>reply<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="462"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>xmlDocPtr<sp/>xmlMessageBody;</highlight></codeline>
<codeline lineno="463"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>xmlNodePtr<sp/>cur;</highlight></codeline>
<codeline lineno="464"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>xmlChar<sp/>*file_url<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="465"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*body<sp/>=<sp/>belle_sip_message_get_body((belle_sip_message_t<sp/>*)event-&gt;response);</highlight></codeline>
<codeline lineno="466"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>xmlMessageBody<sp/>=<sp/>xmlParseDoc((</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>xmlChar<sp/>*)body);</highlight></codeline>
<codeline lineno="467"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>cur<sp/>=<sp/>xmlDocGetRootElement(xmlMessageBody);</highlight></codeline>
<codeline lineno="468"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(cur<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="469"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>cur<sp/>=<sp/>cur-&gt;xmlChildrenNode;</highlight></codeline>
<codeline lineno="470"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(cur<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="471"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!xmlStrcmp(cur-&gt;name,<sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>xmlChar<sp/>*)</highlight><highlight class="stringliteral">&quot;file-info&quot;</highlight><highlight class="normal">))<sp/>{<sp/></highlight><highlight class="comment">/*<sp/>we<sp/>found<sp/>a<sp/>file<sp/>info<sp/>node,<sp/>check<sp/>it<sp/>has<sp/>a<sp/>type=&quot;file&quot;<sp/>attribute<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="472"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>xmlChar<sp/>*typeAttribute<sp/>=<sp/>xmlGetProp(cur,<sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>xmlChar<sp/>*)</highlight><highlight class="stringliteral">&quot;type&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="473"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!xmlStrcmp(typeAttribute,<sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>xmlChar<sp/>*)</highlight><highlight class="stringliteral">&quot;file&quot;</highlight><highlight class="normal">))<sp/>{<sp/></highlight><highlight class="comment">/*<sp/>this<sp/>is<sp/>the<sp/>node<sp/>we<sp/>are<sp/>looking<sp/>for<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="474"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>cur<sp/>=<sp/>cur-&gt;xmlChildrenNode;<sp/></highlight><highlight class="comment">/*<sp/>now<sp/>loop<sp/>on<sp/>the<sp/>content<sp/>of<sp/>the<sp/>file-info<sp/>node<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="475"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(cur<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="476"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!xmlStrcmp(cur-&gt;name,<sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>xmlChar<sp/>*)</highlight><highlight class="stringliteral">&quot;data&quot;</highlight><highlight class="normal">))<sp/>{</highlight></codeline>
<codeline lineno="477"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>file_url<sp/>=<sp/><sp/><sp/><sp/><sp/><sp/>xmlGetProp(cur,<sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>xmlChar<sp/>*)</highlight><highlight class="stringliteral">&quot;url&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="478"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="479"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>cur=cur-&gt;next;</highlight></codeline>
<codeline lineno="480"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="481"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>xmlFree(typeAttribute);</highlight></codeline>
<codeline lineno="482"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="483"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="484"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>xmlFree(typeAttribute);</highlight></codeline>
<codeline lineno="485"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="486"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>cur<sp/>=<sp/>cur-&gt;next;</highlight></codeline>
<codeline lineno="487"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="488"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="489"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(file_url<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="490"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_log_collection_upload_state_changed(core,<sp/><ref refid="group__initializing_1gga2751b72ac59839e8407cd861c6697989a58e3dd089a47a90fab84c84c56e5b0a4" kindref="member">LinphoneCoreLogCollectionUploadStateDelivered</ref>,<sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*)file_url);</highlight></codeline>
<codeline lineno="491"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="492"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>clean_log_collection_upload_context(core);</highlight></codeline>
<codeline lineno="493"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="494"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="495"><highlight class="normal">}</highlight></codeline>
<codeline lineno="496"><highlight class="normal"></highlight></codeline>
<codeline lineno="497"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>HAVE_ZLIB</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="498"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>COMPRESS_FILE_PTR<sp/>gzFile</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="499"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>COMPRESS_OPEN<sp/>gzopen</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="500"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>COMPRESS_CLOSE<sp/>gzclose</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="501"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="502"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>COMPRESS_FILE_PTR<sp/>FILE*</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="503"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>COMPRESS_OPEN<sp/>fopen</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="504"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>COMPRESS_CLOSE<sp/>fclose</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="505"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="506"><highlight class="normal"></highlight></codeline>
<codeline lineno="510"><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>compress_file(FILE<sp/>*input_file,<sp/>COMPRESS_FILE_PTR<sp/>output_file)<sp/>{</highlight></codeline>
<codeline lineno="511"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>buffer[131072];<sp/></highlight><highlight class="comment">/*<sp/>128kB<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="512"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>bytes;</highlight></codeline>
<codeline lineno="513"><highlight class="normal"></highlight></codeline>
<codeline lineno="514"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>((bytes<sp/>=<sp/>fread(buffer,<sp/>1,<sp/></highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(buffer),<sp/>input_file))<sp/>&gt;<sp/>0)<sp/>{</highlight></codeline>
<codeline lineno="515"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(bytes<sp/>&lt;<sp/>0)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>bytes;</highlight></codeline>
<codeline lineno="516"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>HAVE_ZLIB</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="517"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>bytes<sp/>=<sp/>gzwrite(output_file,<sp/>buffer,<sp/>bytes);</highlight></codeline>
<codeline lineno="518"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="519"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>bytes<sp/>=<sp/>fwrite(buffer,<sp/>1,<sp/>bytes,<sp/>output_file);</highlight></codeline>
<codeline lineno="520"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="521"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(bytes<sp/>&lt;<sp/>0)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>bytes;</highlight></codeline>
<codeline lineno="522"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="523"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="524"><highlight class="normal">}</highlight></codeline>
<codeline lineno="525"><highlight class="normal"></highlight></codeline>
<codeline lineno="526"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>prepare_log_collection_file_to_upload(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*filename)<sp/>{</highlight></codeline>
<codeline lineno="527"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*input_filename<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="528"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*output_filename<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="529"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>FILE<sp/>*input_file<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="530"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>COMPRESS_FILE_PTR<sp/>output_file<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="531"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>ret<sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="532"><highlight class="normal"></highlight></codeline>
<codeline lineno="533"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_mutex_lock(&amp;liblinphone_log_collection_mutex);</highlight></codeline>
<codeline lineno="534"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>output_filename<sp/>=<sp/>ms_strdup_printf(</highlight><highlight class="stringliteral">&quot;%s/%s&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="535"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_path<sp/>?<sp/>liblinphone_log_collection_path<sp/>:<sp/>LOG_COLLECTION_DEFAULT_PATH,<sp/>filename);</highlight></codeline>
<codeline lineno="536"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>output_file<sp/>=<sp/>COMPRESS_OPEN(output_filename,<sp/></highlight><highlight class="stringliteral">&quot;w&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="537"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(output_file<sp/>==<sp/>NULL)<sp/></highlight><highlight class="keywordflow">goto</highlight><highlight class="normal"><sp/>error;</highlight></codeline>
<codeline lineno="538"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>input_filename<sp/>=<sp/>ms_strdup_printf(</highlight><highlight class="stringliteral">&quot;%s/%s1.log&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="539"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_path<sp/>?<sp/>liblinphone_log_collection_path<sp/>:<sp/>LOG_COLLECTION_DEFAULT_PATH,</highlight></codeline>
<codeline lineno="540"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_prefix<sp/>?<sp/>liblinphone_log_collection_prefix<sp/>:<sp/>LOG_COLLECTION_DEFAULT_PREFIX);</highlight></codeline>
<codeline lineno="541"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>input_file<sp/>=<sp/>fopen(input_filename,<sp/></highlight><highlight class="stringliteral">&quot;r&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="542"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(input_file<sp/>==<sp/>NULL)<sp/></highlight><highlight class="keywordflow">goto</highlight><highlight class="normal"><sp/>error;</highlight></codeline>
<codeline lineno="543"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ret<sp/>=<sp/>compress_file(input_file,<sp/>output_file);</highlight></codeline>
<codeline lineno="544"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ret<sp/>&lt;<sp/>0)<sp/></highlight><highlight class="keywordflow">goto</highlight><highlight class="normal"><sp/>error;</highlight></codeline>
<codeline lineno="545"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>fclose(input_file);</highlight></codeline>
<codeline lineno="546"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(input_filename);</highlight></codeline>
<codeline lineno="547"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>input_filename<sp/>=<sp/>ms_strdup_printf(</highlight><highlight class="stringliteral">&quot;%s/%s2.log&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="548"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_path<sp/>?<sp/>liblinphone_log_collection_path<sp/>:<sp/>LOG_COLLECTION_DEFAULT_PATH,</highlight></codeline>
<codeline lineno="549"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_prefix<sp/>?<sp/>liblinphone_log_collection_prefix<sp/>:<sp/>LOG_COLLECTION_DEFAULT_PREFIX);</highlight></codeline>
<codeline lineno="550"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>input_file<sp/>=<sp/>fopen(input_filename,<sp/></highlight><highlight class="stringliteral">&quot;r&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="551"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(input_file<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="552"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ret<sp/>=<sp/>compress_file(input_file,<sp/>output_file);</highlight></codeline>
<codeline lineno="553"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ret<sp/>&lt;<sp/>0)<sp/></highlight><highlight class="keywordflow">goto</highlight><highlight class="normal"><sp/>error;</highlight></codeline>
<codeline lineno="554"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="555"><highlight class="normal"></highlight></codeline>
<codeline lineno="556"><highlight class="normal">error:</highlight></codeline>
<codeline lineno="557"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(input_file<sp/>!=<sp/>NULL)<sp/>fclose(input_file);</highlight></codeline>
<codeline lineno="558"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(output_file<sp/>!=<sp/>NULL)<sp/>COMPRESS_CLOSE(output_file);</highlight></codeline>
<codeline lineno="559"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(input_filename<sp/>!=<sp/>NULL)<sp/>ms_free(input_filename);</highlight></codeline>
<codeline lineno="560"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(output_filename<sp/>!=<sp/>NULL)<sp/>ms_free(output_filename);</highlight></codeline>
<codeline lineno="561"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_mutex_unlock(&amp;liblinphone_log_collection_mutex);</highlight></codeline>
<codeline lineno="562"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>ret;</highlight></codeline>
<codeline lineno="563"><highlight class="normal">}</highlight></codeline>
<codeline lineno="564"><highlight class="normal"></highlight></codeline>
<codeline lineno="565"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>get_size_of_file_to_upload(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*filename)<sp/>{</highlight></codeline>
<codeline lineno="566"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">stat<sp/>statbuf;</highlight></codeline>
<codeline lineno="567"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*output_filename<sp/>=<sp/>ms_strdup_printf(</highlight><highlight class="stringliteral">&quot;%s/%s&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="568"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_path<sp/>?<sp/>liblinphone_log_collection_path<sp/>:<sp/>LOG_COLLECTION_DEFAULT_PATH,<sp/>filename);</highlight></codeline>
<codeline lineno="569"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>FILE<sp/>*output_file<sp/>=<sp/>fopen(output_filename,<sp/></highlight><highlight class="stringliteral">&quot;rb&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="570"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>fstat(fileno(output_file),<sp/>&amp;statbuf);</highlight></codeline>
<codeline lineno="571"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>fclose(output_file);</highlight></codeline>
<codeline lineno="572"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(output_filename);</highlight></codeline>
<codeline lineno="573"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>statbuf.st_size;</highlight></codeline>
<codeline lineno="574"><highlight class="normal">}</highlight></codeline>
<codeline lineno="575"><highlight class="normal"></highlight></codeline>
<codeline lineno="576"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__misc_1gaf231000ce23d6ceed62d106612b6ea29" kindref="member">linphone_core_upload_log_collection</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*core)<sp/>{</highlight></codeline>
<codeline lineno="577"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((core-&gt;log_collection_upload_information<sp/>==<sp/>NULL)<sp/>&amp;&amp;<sp/>(linphone_core_get_log_collection_upload_server_url(core)<sp/>!=<sp/>NULL)<sp/>&amp;&amp;<sp/>(liblinphone_log_collection_state<sp/>!=<sp/>LinphoneLogCollectionDisabled))<sp/>{</highlight></codeline>
<codeline lineno="578"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>open<sp/>a<sp/>transaction<sp/>with<sp/>the<sp/>server<sp/>and<sp/>send<sp/>an<sp/>empty<sp/>request(RCS5.1<sp/>section<sp/>3.5.4.8.3.1)<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="579"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_http_request_listener_callbacks_t<sp/>cbs<sp/>=<sp/>{<sp/>0<sp/>};</highlight></codeline>
<codeline lineno="580"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_http_request_listener_t<sp/>*l;</highlight></codeline>
<codeline lineno="581"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_generic_uri_t<sp/>*uri;</highlight></codeline>
<codeline lineno="582"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_http_request_t<sp/>*req;</highlight></codeline>
<codeline lineno="583"><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/>*name;</highlight></codeline>
<codeline lineno="584"><highlight class="normal"></highlight></codeline>
<codeline lineno="585"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>core-&gt;log_collection_upload_information<sp/>=<sp/>(<ref refid="group__misc_1gaec435ed53168e70535e64b69a906304b" kindref="member">LinphoneContent</ref><sp/>*)malloc(</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(<ref refid="group__misc_1gaec435ed53168e70535e64b69a906304b" kindref="member">LinphoneContent</ref>));</highlight></codeline>
<codeline lineno="586"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>memset(core-&gt;log_collection_upload_information,<sp/>0,<sp/></highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(<ref refid="group__misc_1gaec435ed53168e70535e64b69a906304b" kindref="member">LinphoneContent</ref>));</highlight></codeline>
<codeline lineno="587"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>HAVE_ZLIB</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="588"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga66566afd0dfed5aa6ffeef8d01107115" kindref="member">linphone_content_set_type</ref>(core-&gt;log_collection_upload_information,<sp/></highlight><highlight class="stringliteral">&quot;application&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="589"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gad108bbca12fa637acc4337bfdee84988" kindref="member">linphone_content_set_subtype</ref>(core-&gt;log_collection_upload_information,<sp/></highlight><highlight class="stringliteral">&quot;gzip&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="590"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="591"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga66566afd0dfed5aa6ffeef8d01107115" kindref="member">linphone_content_set_type</ref>(core-&gt;log_collection_upload_information,<sp/></highlight><highlight class="stringliteral">&quot;text&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="592"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gad108bbca12fa637acc4337bfdee84988" kindref="member">linphone_content_set_subtype</ref>(core-&gt;log_collection_upload_information,</highlight><highlight class="stringliteral">&quot;plain&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="593"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="594"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>name<sp/>=<sp/>ms_strdup_printf(</highlight><highlight class="stringliteral">&quot;%s_log.%s&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="595"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_prefix<sp/>?<sp/>liblinphone_log_collection_prefix<sp/>:<sp/>LOG_COLLECTION_DEFAULT_PREFIX,</highlight></codeline>
<codeline lineno="596"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>COMPRESSED_LOG_COLLECTION_EXTENSION);</highlight></codeline>
<codeline lineno="597"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga777cd7daff08a6f9d9dbfe212c6a7e63" kindref="member">linphone_content_set_name</ref>(core-&gt;log_collection_upload_information,<sp/>name);</highlight></codeline>
<codeline lineno="598"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(prepare_log_collection_file_to_upload(name)<sp/>&lt;<sp/>0)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="599"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga6ffe22ea0b09379882e7d41c27641817" kindref="member">linphone_content_set_size</ref>(core-&gt;log_collection_upload_information,<sp/>get_size_of_file_to_upload(name));</highlight></codeline>
<codeline lineno="600"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>uri<sp/>=<sp/>belle_generic_uri_parse(linphone_core_get_log_collection_upload_server_url(core));</highlight></codeline>
<codeline lineno="601"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>req<sp/>=<sp/>belle_http_request_create(</highlight><highlight class="stringliteral">&quot;POST&quot;</highlight><highlight class="normal">,<sp/>uri,<sp/>NULL,<sp/>NULL,<sp/>NULL);</highlight></codeline>
<codeline lineno="602"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>cbs.process_response<sp/>=<sp/>process_response_from_post_file_log_collection;</highlight></codeline>
<codeline lineno="603"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>cbs.process_io_error<sp/>=<sp/>process_io_error_upload_log_collection;</highlight></codeline>
<codeline lineno="604"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>cbs.process_auth_requested<sp/>=<sp/>process_auth_requested_upload_log_collection;</highlight></codeline>
<codeline lineno="605"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>l<sp/>=<sp/>belle_http_request_listener_create_from_callbacks(&amp;cbs,<sp/>core);</highlight></codeline>
<codeline lineno="606"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_http_provider_send_request(core-&gt;http_provider,<sp/>req,<sp/>l);</highlight></codeline>
<codeline lineno="607"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(name);</highlight></codeline>
<codeline lineno="608"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="609"><highlight class="normal">}</highlight></codeline>
<codeline lineno="610"><highlight class="normal"></highlight></codeline>
<codeline lineno="611"><highlight class="normal"></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/><ref refid="group__misc_1ga6c97529aa0f876751a41ee392231e84c" kindref="member">linphone_core_compress_log_collection</ref>()<sp/>{</highlight></codeline>
<codeline lineno="612"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*filename<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="613"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(liblinphone_log_collection_state<sp/>==<sp/>LinphoneLogCollectionDisabled)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="614"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>filename<sp/>=<sp/>ms_strdup_printf(</highlight><highlight class="stringliteral">&quot;%s_log.%s&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="615"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_prefix<sp/>?<sp/>liblinphone_log_collection_prefix<sp/>:<sp/>LOG_COLLECTION_DEFAULT_PREFIX,</highlight></codeline>
<codeline lineno="616"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>COMPRESSED_LOG_COLLECTION_EXTENSION);</highlight></codeline>
<codeline lineno="617"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(prepare_log_collection_file_to_upload(filename)<sp/>&lt;<sp/>0)<sp/>{</highlight></codeline>
<codeline lineno="618"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(filename);</highlight></codeline>
<codeline lineno="619"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="620"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="621"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(filename);</highlight></codeline>
<codeline lineno="622"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>ms_strdup_printf(</highlight><highlight class="stringliteral">&quot;%s/%s_log.%s&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="623"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_path<sp/>?<sp/>liblinphone_log_collection_path<sp/>:<sp/>LOG_COLLECTION_DEFAULT_PATH,</highlight></codeline>
<codeline lineno="624"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_prefix<sp/>?<sp/>liblinphone_log_collection_prefix<sp/>:<sp/>LOG_COLLECTION_DEFAULT_PREFIX,</highlight></codeline>
<codeline lineno="625"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>COMPRESSED_LOG_COLLECTION_EXTENSION);</highlight></codeline>
<codeline lineno="626"><highlight class="normal">}</highlight></codeline>
<codeline lineno="627"><highlight class="normal"></highlight></codeline>
<codeline lineno="628"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga3621bfad1bde6c3fc8382869fea05135" kindref="member">linphone_core_reset_log_collection</ref>()<sp/>{</highlight></codeline>
<codeline lineno="629"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*filename;</highlight></codeline>
<codeline lineno="630"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_mutex_lock(&amp;liblinphone_log_collection_mutex);</highlight></codeline>
<codeline lineno="631"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>clean_log_collection_upload_context(NULL);</highlight></codeline>
<codeline lineno="632"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>filename<sp/>=<sp/>ms_strdup_printf(</highlight><highlight class="stringliteral">&quot;%s/%s1.log&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="633"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_path<sp/>?<sp/>liblinphone_log_collection_path<sp/>:<sp/>LOG_COLLECTION_DEFAULT_PATH,</highlight></codeline>
<codeline lineno="634"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_prefix<sp/>?<sp/>liblinphone_log_collection_prefix<sp/>:<sp/>LOG_COLLECTION_DEFAULT_PREFIX);</highlight></codeline>
<codeline lineno="635"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>unlink(filename);</highlight></codeline>
<codeline lineno="636"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(filename);</highlight></codeline>
<codeline lineno="637"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>filename<sp/>=<sp/>ms_strdup_printf(</highlight><highlight class="stringliteral">&quot;%s/%s2.log&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="638"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_path<sp/>?<sp/>liblinphone_log_collection_path<sp/>:<sp/>LOG_COLLECTION_DEFAULT_PATH,</highlight></codeline>
<codeline lineno="639"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_log_collection_prefix<sp/>?<sp/>liblinphone_log_collection_prefix<sp/>:<sp/>LOG_COLLECTION_DEFAULT_PREFIX);</highlight></codeline>
<codeline lineno="640"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>unlink(filename);</highlight></codeline>
<codeline lineno="641"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(filename);</highlight></codeline>
<codeline lineno="642"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_mutex_unlock(&amp;liblinphone_log_collection_mutex);</highlight></codeline>
<codeline lineno="643"><highlight class="normal">}</highlight></codeline>
<codeline lineno="644"><highlight class="normal"></highlight></codeline>
<codeline lineno="654"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__misc_1gad70dc5268366c829238b458547fe5277" kindref="member">linphone_core_enable_logs</ref>(FILE<sp/>*file){</highlight></codeline>
<codeline lineno="655"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(file==NULL)<sp/>file=stdout;</highlight></codeline>
<codeline lineno="656"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_set_log_file(file);</highlight></codeline>
<codeline lineno="657"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_set_log_level_mask(ORTP_MESSAGE|ORTP_WARNING|ORTP_ERROR|ORTP_FATAL);</highlight></codeline>
<codeline lineno="658"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_enable_logs();</highlight></codeline>
<codeline lineno="659"><highlight class="normal">}</highlight></codeline>
<codeline lineno="660"><highlight class="normal"></highlight></codeline>
<codeline lineno="671"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__misc_1gad7314fd936348037a14ba56cd2e9093e" kindref="member">linphone_core_enable_logs_with_cb</ref>(OrtpLogFunc<sp/>logfunc){</highlight></codeline>
<codeline lineno="672"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_set_log_level_mask(ORTP_MESSAGE|ORTP_WARNING|ORTP_ERROR|ORTP_FATAL);</highlight></codeline>
<codeline lineno="673"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga1916e55f85eb1e3db57629d67a0de0cd" kindref="member">linphone_core_set_log_handler</ref>(logfunc);</highlight></codeline>
<codeline lineno="674"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_enable_logs();</highlight></codeline>
<codeline lineno="675"><highlight class="normal">}</highlight></codeline>
<codeline lineno="676"><highlight class="normal"></highlight></codeline>
<codeline lineno="683"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga2d59af8c097f636ee80dccec5cc87e30" kindref="member">linphone_core_disable_logs</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">){</highlight></codeline>
<codeline lineno="684"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_set_log_level_mask(ORTP_ERROR|ORTP_FATAL);</highlight></codeline>
<codeline lineno="685"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_disable_logs();</highlight></codeline>
<codeline lineno="686"><highlight class="normal">}</highlight></codeline>
<codeline lineno="687"><highlight class="normal"></highlight></codeline>
<codeline lineno="688"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__misc_1gaa24a21d623e53f822966384f1906c9e6" kindref="member">linphone_core_serialize_logs</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="689"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>liblinphone_serialize_logs<sp/>=<sp/>TRUE;</highlight></codeline>
<codeline lineno="690"><highlight class="normal">}</highlight></codeline>
<codeline lineno="691"><highlight class="normal"></highlight></codeline>
<codeline lineno="692"><highlight class="normal"></highlight></codeline>
<codeline lineno="693"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>net_config_read<sp/>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="694"><highlight class="normal">{</highlight></codeline>
<codeline lineno="695"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>tmp;</highlight></codeline>
<codeline lineno="696"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*tmpstr;</highlight></codeline>
<codeline lineno="697"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga047b6550aab7dd244268e695fab98fd6" kindref="member">LpConfig</ref><sp/>*config=lc-&gt;config;</highlight></codeline>
<codeline lineno="698"><highlight class="normal"></highlight></codeline>
<codeline lineno="699"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;net_conf.nat_address_ip<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="700"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmp=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(config,</highlight><highlight class="stringliteral">&quot;net&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;download_bw&quot;</highlight><highlight class="normal">,0);</highlight></codeline>
<codeline lineno="701"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga1e0c01a25f78d14c6813213adf795e54" kindref="member">linphone_core_set_download_bandwidth</ref>(lc,tmp);</highlight></codeline>
<codeline lineno="702"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmp=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(config,</highlight><highlight class="stringliteral">&quot;net&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;upload_bw&quot;</highlight><highlight class="normal">,0);</highlight></codeline>
<codeline lineno="703"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1gabaf184578641451f95ea7b4baa2b1b77" kindref="member">linphone_core_set_upload_bandwidth</ref>(lc,tmp);</highlight></codeline>
<codeline lineno="704"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__network__parameters_1ga8cef9cabe4bb39b0ec92c92430c628d4" kindref="member">linphone_core_set_stun_server</ref>(lc,<ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(config,</highlight><highlight class="stringliteral">&quot;net&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;stun_server&quot;</highlight><highlight class="normal">,NULL));</highlight></codeline>
<codeline lineno="705"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmpstr=<ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;net&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;nat_address&quot;</highlight><highlight class="normal">,NULL);</highlight></codeline>
<codeline lineno="706"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(tmpstr!=NULL<sp/>&amp;&amp;<sp/>(strlen(tmpstr)&lt;1))<sp/>tmpstr=NULL;</highlight></codeline>
<codeline lineno="707"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__network__parameters_1gadadb01ea2af8410e85fe2dde04be30a8" kindref="member">linphone_core_set_nat_address</ref>(lc,tmpstr);</highlight></codeline>
<codeline lineno="708"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmp=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;net&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;nat_sdp_only&quot;</highlight><highlight class="normal">,0);</highlight></codeline>
<codeline lineno="709"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;net_conf.nat_sdp_only=tmp;</highlight></codeline>
<codeline lineno="710"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmp=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;net&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;mtu&quot;</highlight><highlight class="normal">,1300);</highlight></codeline>
<codeline lineno="711"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga2b1662e5e8227bdc6ee7831d1b51f94e" kindref="member">linphone_core_set_mtu</ref>(lc,tmp);</highlight></codeline>
<codeline lineno="712"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmp=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;net&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;download_ptime&quot;</highlight><highlight class="normal">,-1);</highlight></codeline>
<codeline lineno="713"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(tmp<sp/>!=-1<sp/>&amp;&amp;<sp/><ref refid="group__media__parameters_1ga21168e2a82d80c67b6808ba7d11d8c4f" kindref="member">linphone_core_get_download_ptime</ref>(lc)<sp/>!=0)<sp/>{</highlight></codeline>
<codeline lineno="714"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*legacy<sp/>parameter*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="715"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga7576261b832196c997c3cd2891784248" kindref="member">linphone_core_set_download_ptime</ref>(lc,tmp);</highlight></codeline>
<codeline lineno="716"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="717"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmp<sp/>=<sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;net&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;dns_srv_enabled&quot;</highlight><highlight class="normal">,<sp/>1);</highlight></codeline>
<codeline lineno="718"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga0099114e143cc3a1faa756c5a2e3fcef" kindref="member">linphone_core_enable_dns_srv</ref>(lc,<sp/>tmp);</highlight></codeline>
<codeline lineno="719"><highlight class="normal"></highlight></codeline>
<codeline lineno="720"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>This<sp/>is<sp/>to<sp/>filter<sp/>out<sp/>unsupported<sp/>firewall<sp/>policies<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="721"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__network__parameters_1ga73cc66cfaf24bfb1f150208e2e54076b" kindref="member">linphone_core_set_firewall_policy</ref>(lc,<sp/><ref refid="group__network__parameters_1ga9de28ff0fd0f8ff65ef82eba9592276c" kindref="member">linphone_core_get_firewall_policy</ref>(lc));</highlight></codeline>
<codeline lineno="722"><highlight class="normal">}</highlight></codeline>
<codeline lineno="723"><highlight class="normal"></highlight></codeline>
<codeline lineno="724"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>build_sound_devices_table(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="725"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>**devices;</highlight></codeline>
<codeline lineno="726"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>**old;</highlight></codeline>
<codeline lineno="727"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>ndev;</highlight></codeline>
<codeline lineno="728"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i;</highlight></codeline>
<codeline lineno="729"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSList<sp/>*elem=ms_snd_card_manager_get_list(ms_snd_card_manager_get());</highlight></codeline>
<codeline lineno="730"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ndev=ms_list_size(elem);</highlight></codeline>
<codeline lineno="731"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>devices=ms_malloc((ndev+1)*</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*));</highlight></codeline>
<codeline lineno="732"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(i=0;elem!=NULL;elem=elem-&gt;next,i++){</highlight></codeline>
<codeline lineno="733"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>devices[i]=ms_snd_card_get_string_id((MSSndCard<sp/>*)elem-&gt;data);</highlight></codeline>
<codeline lineno="734"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="735"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>devices[ndev]=NULL;</highlight></codeline>
<codeline lineno="736"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>old=lc-&gt;sound_conf.cards;</highlight></codeline>
<codeline lineno="737"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sound_conf.cards=devices;</highlight></codeline>
<codeline lineno="738"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(old!=NULL)<sp/>ms_free(old);</highlight></codeline>
<codeline lineno="739"><highlight class="normal">}</highlight></codeline>
<codeline lineno="740"><highlight class="normal"></highlight></codeline>
<codeline lineno="741"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>sound_config_read(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="742"><highlight class="normal">{</highlight></codeline>
<codeline lineno="743"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>tmp;</highlight></codeline>
<codeline lineno="744"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*tmpbuf;</highlight></codeline>
<codeline lineno="745"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*devid;</highlight></codeline>
<codeline lineno="746"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>__linux</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="747"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*alsadev<sp/>let<sp/>the<sp/>user<sp/>use<sp/>custom<sp/>alsa<sp/>device<sp/>within<sp/>linphone*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="748"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>devid=<ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;alsadev&quot;</highlight><highlight class="normal">,NULL);</highlight></codeline>
<codeline lineno="749"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(devid){</highlight></codeline>
<codeline lineno="750"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSSndCard*<sp/>card;</highlight></codeline>
<codeline lineno="751"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>delim=</highlight><highlight class="stringliteral">&quot;,&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="752"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>l=strlen(devid);</highlight></codeline>
<codeline lineno="753"><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/>d=malloc(l+1);</highlight></codeline>
<codeline lineno="754"><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/>i;</highlight></codeline>
<codeline lineno="755"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>memcpy(d,devid,l+1);</highlight></codeline>
<codeline lineno="756"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(l=0,i=strpbrk(d+l,delim);i;i=strpbrk(d+l,delim)){</highlight></codeline>
<codeline lineno="757"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><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/>s=*i;</highlight></codeline>
<codeline lineno="758"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*i=</highlight><highlight class="charliteral">&apos;\0&apos;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="759"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>card=ms_alsa_card_new_custom(d+l,d+l);</highlight></codeline>
<codeline lineno="760"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_snd_card_manager_add_card(ms_snd_card_manager_get(),card);</highlight></codeline>
<codeline lineno="761"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*i=s;</highlight></codeline>
<codeline lineno="762"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>l=i-d+1;</highlight></codeline>
<codeline lineno="763"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="764"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(d[l]!=</highlight><highlight class="charliteral">&apos;\0&apos;</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="765"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>card=ms_alsa_card_new_custom(d+l,d+l);</highlight></codeline>
<codeline lineno="766"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_snd_card_manager_add_card(ms_snd_card_manager_get(),card);</highlight></codeline>
<codeline lineno="767"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="768"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>free(d);</highlight></codeline>
<codeline lineno="769"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="770"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmp=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;alsa_forced_rate&quot;</highlight><highlight class="normal">,-1);</highlight></codeline>
<codeline lineno="771"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(tmp&gt;0)<sp/>ms_alsa_card_set_forced_sample_rate(tmp);</highlight></codeline>
<codeline lineno="772"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="773"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>retrieve<sp/>all<sp/>sound<sp/>devices<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="774"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>build_sound_devices_table(lc);</highlight></codeline>
<codeline lineno="775"><highlight class="normal"></highlight></codeline>
<codeline lineno="776"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>devid=<ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;playback_dev_id&quot;</highlight><highlight class="normal">,NULL);</highlight></codeline>
<codeline lineno="777"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga918921988d674e6709dbbf40c76fde2c" kindref="member">linphone_core_set_playback_device</ref>(lc,devid);</highlight></codeline>
<codeline lineno="778"><highlight class="normal"></highlight></codeline>
<codeline lineno="779"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>devid=<ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;ringer_dev_id&quot;</highlight><highlight class="normal">,NULL);</highlight></codeline>
<codeline lineno="780"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1gaf39872ecc72222f20f21f43b1d801c7d" kindref="member">linphone_core_set_ringer_device</ref>(lc,devid);</highlight></codeline>
<codeline lineno="781"><highlight class="normal"></highlight></codeline>
<codeline lineno="782"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>devid=<ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;capture_dev_id&quot;</highlight><highlight class="normal">,NULL);</highlight></codeline>
<codeline lineno="783"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1gabca57ab3569c2e4bc7811336be6ea989" kindref="member">linphone_core_set_capture_device</ref>(lc,devid);</highlight></codeline>
<codeline lineno="784"><highlight class="normal"></highlight></codeline>
<codeline lineno="785"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="786"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmp=lp_config_get_int(lc-&gt;config,&quot;sound&quot;,&quot;play_lev&quot;,80);</highlight></codeline>
<codeline lineno="787"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_set_play_level(lc,tmp);</highlight></codeline>
<codeline lineno="788"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmp=lp_config_get_int(lc-&gt;config,&quot;sound&quot;,&quot;ring_lev&quot;,80);</highlight></codeline>
<codeline lineno="789"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_set_ring_level(lc,tmp);</highlight></codeline>
<codeline lineno="790"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmp=lp_config_get_int(lc-&gt;config,&quot;sound&quot;,&quot;rec_lev&quot;,80);</highlight></codeline>
<codeline lineno="791"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_set_rec_level(lc,tmp);</highlight></codeline>
<codeline lineno="792"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmpbuf=lp_config_get_string(lc-&gt;config,&quot;sound&quot;,&quot;source&quot;,&quot;m&quot;);</highlight></codeline>
<codeline lineno="793"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_set_sound_source(lc,tmpbuf[0]);</highlight></codeline>
<codeline lineno="794"><highlight class="comment">*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="795"><highlight class="normal"></highlight></codeline>
<codeline lineno="796"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmpbuf=PACKAGE_SOUND_DIR<sp/></highlight><highlight class="stringliteral">&quot;/&quot;</highlight><highlight class="normal"><sp/>LOCAL_RING;</highlight></codeline>
<codeline lineno="797"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmpbuf=<ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;local_ring&quot;</highlight><highlight class="normal">,tmpbuf);</highlight></codeline>
<codeline lineno="798"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ortp_file_exist(tmpbuf)==-1)<sp/>{</highlight></codeline>
<codeline lineno="799"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;%s<sp/>does<sp/>not<sp/>exist&quot;</highlight><highlight class="normal">,tmpbuf);</highlight></codeline>
<codeline lineno="800"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmpbuf=PACKAGE_SOUND_DIR<sp/></highlight><highlight class="stringliteral">&quot;/&quot;</highlight><highlight class="normal"><sp/>LOCAL_RING;</highlight></codeline>
<codeline lineno="801"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="802"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(strstr(tmpbuf,</highlight><highlight class="stringliteral">&quot;.wav&quot;</highlight><highlight class="normal">)==NULL){</highlight></codeline>
<codeline lineno="803"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>it<sp/>currently<sp/>uses<sp/>old<sp/>sound<sp/>files,<sp/>so<sp/>replace<sp/>them<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="804"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmpbuf=PACKAGE_SOUND_DIR<sp/></highlight><highlight class="stringliteral">&quot;/&quot;</highlight><highlight class="normal"><sp/>LOCAL_RING;</highlight></codeline>
<codeline lineno="805"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="806"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1gae0efd204ad22aa99abdb9983bd592d20" kindref="member">linphone_core_set_ring</ref>(lc,tmpbuf);</highlight></codeline>
<codeline lineno="807"><highlight class="normal"></highlight></codeline>
<codeline lineno="808"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmpbuf=PACKAGE_SOUND_DIR<sp/></highlight><highlight class="stringliteral">&quot;/&quot;</highlight><highlight class="normal"><sp/>REMOTE_RING;</highlight></codeline>
<codeline lineno="809"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmpbuf=<ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;remote_ring&quot;</highlight><highlight class="normal">,tmpbuf);</highlight></codeline>
<codeline lineno="810"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ortp_file_exist(tmpbuf)==-1){</highlight></codeline>
<codeline lineno="811"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmpbuf=PACKAGE_SOUND_DIR<sp/></highlight><highlight class="stringliteral">&quot;/&quot;</highlight><highlight class="normal"><sp/>REMOTE_RING;</highlight></codeline>
<codeline lineno="812"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="813"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(strstr(tmpbuf,</highlight><highlight class="stringliteral">&quot;.wav&quot;</highlight><highlight class="normal">)==NULL){</highlight></codeline>
<codeline lineno="814"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>it<sp/>currently<sp/>uses<sp/>old<sp/>sound<sp/>files,<sp/>so<sp/>replace<sp/>them<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="815"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmpbuf=PACKAGE_SOUND_DIR<sp/></highlight><highlight class="stringliteral">&quot;/&quot;</highlight><highlight class="normal"><sp/>REMOTE_RING;</highlight></codeline>
<codeline lineno="816"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="817"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga1c5376ecf26684886c276183d88b03d0" kindref="member">linphone_core_set_ringback</ref>(lc,tmpbuf);</highlight></codeline>
<codeline lineno="818"><highlight class="normal"></highlight></codeline>
<codeline lineno="819"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga14a0bf3c9d8ad451574c41ae71eb03cc" kindref="member">linphone_core_set_play_file</ref>(lc,<ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;hold_music&quot;</highlight><highlight class="normal">,PACKAGE_SOUND_DIR<sp/></highlight><highlight class="stringliteral">&quot;/&quot;</highlight><highlight class="normal"><sp/>HOLD_MUSIC));</highlight></codeline>
<codeline lineno="820"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sound_conf.latency=0;</highlight></codeline>
<codeline lineno="821"><highlight class="normal"></highlight><highlight class="preprocessor">#ifndef<sp/>__ios</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="822"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmp=TRUE;</highlight></codeline>
<codeline lineno="823"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="824"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmp=FALSE;<sp/></highlight><highlight class="comment">/*<sp/>on<sp/>iOS<sp/>we<sp/>have<sp/>builtin<sp/>echo<sp/>cancellation.*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="825"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="826"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmp=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;echocancellation&quot;</highlight><highlight class="normal">,tmp);</highlight></codeline>
<codeline lineno="827"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga27d78a3086c520a59c742056027d0faa" kindref="member">linphone_core_enable_echo_cancellation</ref>(lc,tmp);</highlight></codeline>
<codeline lineno="828"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga8f583bf2a9edc220547914bdca7b85ec" kindref="member">linphone_core_enable_echo_limiter</ref>(lc,</highlight></codeline>
<codeline lineno="829"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;echolimiter&quot;</highlight><highlight class="normal">,0));</highlight></codeline>
<codeline lineno="830"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_enable_agc(lc,</highlight></codeline>
<codeline lineno="831"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;agc&quot;</highlight><highlight class="normal">,0));</highlight></codeline>
<codeline lineno="832"><highlight class="normal"></highlight></codeline>
<codeline lineno="833"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga5916fdd8f32d8d1d49702af408eaced5" kindref="member">linphone_core_set_playback_gain_db</ref><sp/>(lc,<ref refid="group__misc_1gad548422b00d41c9726062869d04cd6e4" kindref="member">lp_config_get_float</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;playback_gain_db&quot;</highlight><highlight class="normal">,0));</highlight></codeline>
<codeline lineno="834"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga6fbd88f2248b5a6ca2e972589c2cb7ed" kindref="member">linphone_core_set_mic_gain_db</ref><sp/>(lc,<ref refid="group__misc_1gad548422b00d41c9726062869d04cd6e4" kindref="member">lp_config_get_float</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;mic_gain_db&quot;</highlight><highlight class="normal">,0));</highlight></codeline>
<codeline lineno="835"><highlight class="normal"></highlight></codeline>
<codeline lineno="836"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga890b2f3ccfa2b4b593ab01f5e292afea" kindref="member">linphone_core_set_remote_ringback_tone</ref><sp/>(lc,<ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;ringback_tone&quot;</highlight><highlight class="normal">,NULL));</highlight></codeline>
<codeline lineno="837"><highlight class="normal"></highlight></codeline>
<codeline lineno="838"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*just<sp/>parse<sp/>requested<sp/>stream<sp/>feature<sp/>once<sp/>at<sp/>start<sp/>to<sp/>print<sp/>out<sp/>eventual<sp/>errors*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="839"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_get_audio_features(lc);</highlight></codeline>
<codeline lineno="840"><highlight class="normal"></highlight></codeline>
<codeline lineno="841"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>_linphone_core_set_tone(lc,<ref refid="group__misc_1ggaf7346e9b3a064155f3d5d3811d684fb2a8ef78446b3e27f4acd2f69356f7836fa" kindref="member">LinphoneReasonBusy</ref>,LinphoneToneBusy,NULL);</highlight></codeline>
<codeline lineno="842"><highlight class="normal">}</highlight></codeline>
<codeline lineno="843"><highlight class="normal"></highlight></codeline>
<codeline lineno="844"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>certificates_config_read(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="845"><highlight class="normal">{</highlight></codeline>
<codeline lineno="846"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*rootca;</highlight></codeline>
<codeline lineno="847"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>__linux</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="848"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>rootca=<ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;root_ca&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;/etc/ssl/certs&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="849"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="850"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>rootca=<ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;root_ca&quot;</highlight><highlight class="normal">,<sp/>ROOT_CA_FILE);</highlight></codeline>
<codeline lineno="851"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="852"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__initializing_1ga24c7276e70ba9a1cccd1c55c1e15499b" kindref="member">linphone_core_set_root_ca</ref>(lc,rootca);</highlight></codeline>
<codeline lineno="853"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__initializing_1gad8f3f77aebbad9b6fca0f50449dcad93" kindref="member">linphone_core_verify_server_certificates</ref>(lc,<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;verify_server_certs&quot;</highlight><highlight class="normal">,TRUE));</highlight></codeline>
<codeline lineno="854"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__initializing_1ga5ed6e5580ecbd560a4cf390e975e674c" kindref="member">linphone_core_verify_server_cn</ref>(lc,<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;verify_server_cn&quot;</highlight><highlight class="normal">,TRUE));</highlight></codeline>
<codeline lineno="855"><highlight class="normal">}</highlight></codeline>
<codeline lineno="856"><highlight class="normal"></highlight></codeline>
<codeline lineno="857"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>sip_config_read(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="858"><highlight class="normal">{</highlight></codeline>
<codeline lineno="859"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*contact;</highlight></codeline>
<codeline lineno="860"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*tmpstr;</highlight></codeline>
<codeline lineno="861"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct__LCSipTransports" kindref="compound">LCSipTransports</ref><sp/>tr;</highlight></codeline>
<codeline lineno="862"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i,tmp;</highlight></codeline>
<codeline lineno="863"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>ipv6;</highlight></codeline>
<codeline lineno="864"><highlight class="normal"></highlight></codeline>
<codeline lineno="865"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;use_session_timers&quot;</highlight><highlight class="normal">,0)==1){</highlight></codeline>
<codeline lineno="866"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_use_session_timers(lc-&gt;sal,200);</highlight></codeline>
<codeline lineno="867"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="868"><highlight class="normal"></highlight></codeline>
<codeline lineno="869"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_use_no_initial_route(lc-&gt;sal,<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;use_no_initial_route&quot;</highlight><highlight class="normal">,0));</highlight></codeline>
<codeline lineno="870"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_use_rport(lc-&gt;sal,<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;use_rport&quot;</highlight><highlight class="normal">,1));</highlight></codeline>
<codeline lineno="871"><highlight class="normal"></highlight></codeline>
<codeline lineno="872"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ipv6=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;use_ipv6&quot;</highlight><highlight class="normal">,-1);</highlight></codeline>
<codeline lineno="873"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ipv6==-1){</highlight></codeline>
<codeline lineno="874"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ipv6=0;</highlight></codeline>
<codeline lineno="875"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="876"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__network__parameters_1gab6f8e740064dad20c530770ea51982d4" kindref="member">linphone_core_enable_ipv6</ref>(lc,ipv6);</highlight></codeline>
<codeline lineno="877"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>memset(&amp;tr,0,</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(tr));</highlight></codeline>
<codeline lineno="878"><highlight class="normal"></highlight></codeline>
<codeline lineno="879"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tr.<ref refid="struct__LCSipTransports_1a07ac7c1bcadb37cd529891388c89a7fb" kindref="member">udp_port</ref>=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;sip_port&quot;</highlight><highlight class="normal">,5060);</highlight></codeline>
<codeline lineno="880"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tr.<ref refid="struct__LCSipTransports_1aed73e2a8a17c55f8511fb6d3eaa65d7b" kindref="member">tcp_port</ref>=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;sip_tcp_port&quot;</highlight><highlight class="normal">,5060);</highlight></codeline>
<codeline lineno="881"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*we<sp/>are<sp/>not<sp/>listening<sp/>inbound<sp/>connection<sp/>for<sp/>tls,<sp/>port<sp/>has<sp/>no<sp/>meaning*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="882"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tr.<ref refid="struct__LCSipTransports_1ae23a827fac01111c0e8a3ece822ede93" kindref="member">tls_port</ref>=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;sip_tls_port&quot;</highlight><highlight class="normal">,<ref refid="group__initializing_1gadc507b9a498d5ce572fd219e385ad1f4" kindref="member">LC_SIP_TRANSPORT_RANDOM</ref>);</highlight></codeline>
<codeline lineno="883"><highlight class="normal"></highlight></codeline>
<codeline lineno="884"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>certificates_config_read(lc);</highlight></codeline>
<codeline lineno="885"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*setting<sp/>the<sp/>dscp<sp/>must<sp/>be<sp/>done<sp/>before<sp/>starting<sp/>the<sp/>transports,<sp/>otherwise<sp/>it<sp/>is<sp/>not<sp/>taken<sp/>into<sp/>effect*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="886"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_set_dscp(lc-&gt;sal,<ref refid="group__network__parameters_1ga88edb42a58b294758dabca74d5e9590b" kindref="member">linphone_core_get_sip_dscp</ref>(lc));</highlight></codeline>
<codeline lineno="887"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*start<sp/>listening<sp/>on<sp/>ports*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="888"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__network__parameters_1gab5d3dc270fff43b8b782b6435214fecb" kindref="member">linphone_core_set_sip_transports</ref>(lc,&amp;tr);</highlight></codeline>
<codeline lineno="889"><highlight class="normal"></highlight></codeline>
<codeline lineno="890"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmpstr=<ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;contact&quot;</highlight><highlight class="normal">,NULL);</highlight></codeline>
<codeline lineno="891"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(tmpstr==NULL<sp/>||<sp/><ref refid="group__proxies_1ga8ff876ddd266a66e315fe0576537fb77" kindref="member">linphone_core_set_primary_contact</ref>(lc,tmpstr)==-1)<sp/>{</highlight></codeline>
<codeline lineno="892"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*hostname=NULL;</highlight></codeline>
<codeline lineno="893"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*username=NULL;</highlight></codeline>
<codeline lineno="894"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>HAVE_GETENV</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="895"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>hostname=getenv(</highlight><highlight class="stringliteral">&quot;HOST&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="896"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>username=getenv(</highlight><highlight class="stringliteral">&quot;USER&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="897"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(hostname==NULL)<sp/>hostname=getenv(</highlight><highlight class="stringliteral">&quot;HOSTNAME&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="898"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*HAVE_GETENV*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="899"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(hostname==NULL)</highlight></codeline>
<codeline lineno="900"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>hostname=</highlight><highlight class="stringliteral">&quot;unknown-host&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="901"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(username==NULL){</highlight></codeline>
<codeline lineno="902"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>username=</highlight><highlight class="stringliteral">&quot;toto&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="903"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="904"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>contact=ortp_strdup_printf(</highlight><highlight class="stringliteral">&quot;sip:%s@%s&quot;</highlight><highlight class="normal">,username,hostname);</highlight></codeline>
<codeline lineno="905"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga8ff876ddd266a66e315fe0576537fb77" kindref="member">linphone_core_set_primary_contact</ref>(lc,contact);</highlight></codeline>
<codeline lineno="906"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(contact);</highlight></codeline>
<codeline lineno="907"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="908"><highlight class="normal"></highlight></codeline>
<codeline lineno="909"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmp=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;guess_hostname&quot;</highlight><highlight class="normal">,1);</highlight></codeline>
<codeline lineno="910"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1gace31b80363e608291ec7df0ccb0b4cf7" kindref="member">linphone_core_set_guess_hostname</ref>(lc,tmp);</highlight></codeline>
<codeline lineno="911"><highlight class="normal"></highlight></codeline>
<codeline lineno="912"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmp=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;lime&quot;</highlight><highlight class="normal">,FALSE);</highlight></codeline>
<codeline lineno="913"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_enable_lime(lc,tmp);</highlight></codeline>
<codeline lineno="914"><highlight class="normal"></highlight></codeline>
<codeline lineno="915"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmp=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;inc_timeout&quot;</highlight><highlight class="normal">,30);</highlight></codeline>
<codeline lineno="916"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1ga3b0c027024f929ab7545cd645a438699" kindref="member">linphone_core_set_inc_timeout</ref>(lc,tmp);</highlight></codeline>
<codeline lineno="917"><highlight class="normal"></highlight></codeline>
<codeline lineno="918"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmp=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;in_call_timeout&quot;</highlight><highlight class="normal">,0);</highlight></codeline>
<codeline lineno="919"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1ga3c63ada88c8bee272d5bf74e40459505" kindref="member">linphone_core_set_in_call_timeout</ref>(lc,tmp);</highlight></codeline>
<codeline lineno="920"><highlight class="normal"></highlight></codeline>
<codeline lineno="921"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmp=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;delayed_timeout&quot;</highlight><highlight class="normal">,4);</highlight></codeline>
<codeline lineno="922"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1ga5073ea0cc3dba514f72120f4a4d0c6e8" kindref="member">linphone_core_set_delayed_timeout</ref>(lc,tmp);</highlight></codeline>
<codeline lineno="923"><highlight class="normal"></highlight></codeline>
<codeline lineno="924"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>get<sp/>proxies<sp/>config<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="925"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(i=0;;<sp/>i++){</highlight></codeline>
<codeline lineno="926"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref><sp/>*cfg=linphone_proxy_config_new_from_config_file(lc,i);</highlight></codeline>
<codeline lineno="927"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(cfg!=NULL){</highlight></codeline>
<codeline lineno="928"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1gaccdcbca377b771625aeea9c251b597c7" kindref="member">linphone_core_add_proxy_config</ref>(lc,cfg);</highlight></codeline>
<codeline lineno="929"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga813af731d0baf61dd6b25590344b62a2" kindref="member">linphone_proxy_config_unref</ref>(cfg);</highlight></codeline>
<codeline lineno="930"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="931"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="932"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="933"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="934"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>get<sp/>the<sp/>default<sp/>proxy<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="935"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmp=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;default_proxy&quot;</highlight><highlight class="normal">,-1);</highlight></codeline>
<codeline lineno="936"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_set_default_proxy_index(lc,tmp);</highlight></codeline>
<codeline lineno="937"><highlight class="normal"></highlight></codeline>
<codeline lineno="938"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>read<sp/>authentication<sp/>information<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="939"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(i=0;;<sp/>i++){</highlight></codeline>
<codeline lineno="940"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>LinphoneAuthInfo<sp/>*ai=linphone_auth_info_new_from_config_file(lc-&gt;config,i);</highlight></codeline>
<codeline lineno="941"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ai!=NULL){</highlight></codeline>
<codeline lineno="942"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__authentication_1ga62ac5bb34f0342f7edc733c42473b7aa" kindref="member">linphone_core_add_auth_info</ref>(lc,ai);</highlight></codeline>
<codeline lineno="943"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__authentication_1ga814df254ea5005e5bb04d4247688e09f" kindref="member">linphone_auth_info_destroy</ref>(ai);</highlight></codeline>
<codeline lineno="944"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="945"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="946"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="947"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="948"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*this<sp/>is<sp/>to<sp/>filter<sp/>out<sp/>unsupported<sp/>encryption<sp/>schemes*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="949"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1gab578077cfa2b6e16f12b6249189ebe42" kindref="member">linphone_core_set_media_encryption</ref>(lc,<ref refid="group__media__parameters_1ga3550fc4b1096105b054af72c992e6237" kindref="member">linphone_core_get_media_encryption</ref>(lc));</highlight></codeline>
<codeline lineno="950"><highlight class="normal"></highlight></codeline>
<codeline lineno="951"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*for<sp/>tuning<sp/>or<sp/>test*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="952"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sip_conf.sdp_200_ack=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;sdp_200_ack&quot;</highlight><highlight class="normal">,0);</highlight></codeline>
<codeline lineno="953"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sip_conf.register_only_when_network_is_up=</highlight></codeline>
<codeline lineno="954"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;register_only_when_network_is_up&quot;</highlight><highlight class="normal">,1);</highlight></codeline>
<codeline lineno="955"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sip_conf.register_only_when_upnp_is_ok=</highlight></codeline>
<codeline lineno="956"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;register_only_when_upnp_is_ok&quot;</highlight><highlight class="normal">,1);</highlight></codeline>
<codeline lineno="957"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sip_conf.ping_with_options=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;ping_with_options&quot;</highlight><highlight class="normal">,0);</highlight></codeline>
<codeline lineno="958"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sip_conf.auto_net_state_mon=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;auto_net_state_mon&quot;</highlight><highlight class="normal">,1);</highlight></codeline>
<codeline lineno="959"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sip_conf.keepalive_period=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;keepalive_period&quot;</highlight><highlight class="normal">,10000);</highlight></codeline>
<codeline lineno="960"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sip_conf.tcp_tls_keepalive=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;tcp_tls_keepalive&quot;</highlight><highlight class="normal">,0);</highlight></codeline>
<codeline lineno="961"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__network__parameters_1ga29ecb77c4dbd33b4827e39e9aed846ec" kindref="member">linphone_core_enable_keep_alive</ref>(lc,<sp/>(lc-&gt;sip_conf.keepalive_period<sp/>&gt;<sp/>0));</highlight></codeline>
<codeline lineno="962"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_use_one_matching_codec_policy(lc-&gt;sal,<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;only_one_codec&quot;</highlight><highlight class="normal">,0));</highlight></codeline>
<codeline lineno="963"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_use_dates(lc-&gt;sal,<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;put_date&quot;</highlight><highlight class="normal">,0));</highlight></codeline>
<codeline lineno="964"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_enable_sip_update_method(lc-&gt;sal,<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;sip_update&quot;</highlight><highlight class="normal">,1));</highlight></codeline>
<codeline lineno="965"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sip_conf.vfu_with_info=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;vfu_with_info&quot;</highlight><highlight class="normal">,1);</highlight></codeline>
<codeline lineno="966"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga6536b11c3abe16d978910e97944ffe35" kindref="member">linphone_core_set_sip_transport_timeout</ref>(lc,<sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;transport_timeout&quot;</highlight><highlight class="normal">,<sp/>63000));</highlight></codeline>
<codeline lineno="967"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_set_supported_tags(lc-&gt;sal,<ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;supported&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;replaces,<sp/>outbound&quot;</highlight><highlight class="normal">));</highlight></codeline>
<codeline lineno="968"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sip_conf.save_auth_info<sp/>=<sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;save_auth_info&quot;</highlight><highlight class="normal">,<sp/>1);</highlight></codeline>
<codeline lineno="969"><highlight class="normal">}</highlight></codeline>
<codeline lineno="970"><highlight class="normal"></highlight></codeline>
<codeline lineno="971"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>rtp_config_read(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="972"><highlight class="normal">{</highlight></codeline>
<codeline lineno="973"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>min_port,<sp/>max_port;</highlight></codeline>
<codeline lineno="974"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>jitt_comp;</highlight></codeline>
<codeline lineno="975"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>nortp_timeout;</highlight></codeline>
<codeline lineno="976"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>bool_t<sp/>rtp_no_xmit_on_audio_mute;</highlight></codeline>
<codeline lineno="977"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>bool_t<sp/>adaptive_jitt_comp_enabled;</highlight></codeline>
<codeline lineno="978"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>tmp;</highlight></codeline>
<codeline lineno="979"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>tmp_int;</highlight></codeline>
<codeline lineno="980"><highlight class="normal"></highlight></codeline>
<codeline lineno="981"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="group__misc_1gacce3e95a4b8327d6a8a5f162cbccb5fe" kindref="member">lp_config_get_range</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;audio_rtp_port&quot;</highlight><highlight class="normal">,<sp/>&amp;min_port,<sp/>&amp;max_port,<sp/>7078,<sp/>7078)<sp/>==<sp/>TRUE)<sp/>{</highlight></codeline>
<codeline lineno="982"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(min_port<sp/>&lt;=<sp/>0)<sp/>min_port<sp/>=<sp/>1;</highlight></codeline>
<codeline lineno="983"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(max_port<sp/>&gt;<sp/>65535)<sp/>max_port<sp/>=<sp/>65535;</highlight></codeline>
<codeline lineno="984"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1gaa5b56dcf8c1cbd1b7bbbe05279da9409" kindref="member">linphone_core_set_audio_port_range</ref>(lc,<sp/>min_port,<sp/>max_port);</highlight></codeline>
<codeline lineno="985"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="986"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>min_port<sp/>=<sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;audio_rtp_port&quot;</highlight><highlight class="normal">,<sp/>7078);</highlight></codeline>
<codeline lineno="987"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__network__parameters_1ga886e1f383c93ef3c031622bf612cdcd4" kindref="member">linphone_core_set_audio_port</ref>(lc,<sp/>min_port);</highlight></codeline>
<codeline lineno="988"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="989"><highlight class="normal"></highlight></codeline>
<codeline lineno="990"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="group__misc_1gacce3e95a4b8327d6a8a5f162cbccb5fe" kindref="member">lp_config_get_range</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;video_rtp_port&quot;</highlight><highlight class="normal">,<sp/>&amp;min_port,<sp/>&amp;max_port,<sp/>9078,<sp/>9078)<sp/>==<sp/>TRUE)<sp/>{</highlight></codeline>
<codeline lineno="991"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(min_port<sp/>&lt;=<sp/>0)<sp/>min_port<sp/>=<sp/>1;</highlight></codeline>
<codeline lineno="992"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(max_port<sp/>&gt;<sp/>65535)<sp/>max_port<sp/>=<sp/>65535;</highlight></codeline>
<codeline lineno="993"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga505752de4885794d848d94f4143df7a7" kindref="member">linphone_core_set_video_port_range</ref>(lc,<sp/>min_port,<sp/>max_port);</highlight></codeline>
<codeline lineno="994"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="995"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>min_port<sp/>=<sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;video_rtp_port&quot;</highlight><highlight class="normal">,<sp/>9078);</highlight></codeline>
<codeline lineno="996"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__network__parameters_1ga7c3341cec359dfffb671f68653fd151e" kindref="member">linphone_core_set_video_port</ref>(lc,<sp/>min_port);</highlight></codeline>
<codeline lineno="997"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="998"><highlight class="normal"></highlight></codeline>
<codeline lineno="999"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>jitt_comp=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;audio_jitt_comp&quot;</highlight><highlight class="normal">,60);</highlight></codeline>
<codeline lineno="1000"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1gad19ea0dbf3ef765ce726ed87498e6573" kindref="member">linphone_core_set_audio_jittcomp</ref>(lc,jitt_comp);</highlight></codeline>
<codeline lineno="1001"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>jitt_comp=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;video_jitt_comp&quot;</highlight><highlight class="normal">,60);</highlight></codeline>
<codeline lineno="1002"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(jitt_comp==0)<sp/>jitt_comp=60;</highlight></codeline>
<codeline lineno="1003"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga15e58159a4475b9c625e971375f77596" kindref="member">linphone_core_set_video_jittcomp</ref>(lc,jitt_comp);</highlight></codeline>
<codeline lineno="1004"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>nortp_timeout=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;nortp_timeout&quot;</highlight><highlight class="normal">,30);</highlight></codeline>
<codeline lineno="1005"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga4d7cd6c4ddaaeee654d228a21a0b3097" kindref="member">linphone_core_set_nortp_timeout</ref>(lc,nortp_timeout);</highlight></codeline>
<codeline lineno="1006"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>rtp_no_xmit_on_audio_mute=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;rtp_no_xmit_on_audio_mute&quot;</highlight><highlight class="normal">,FALSE);</highlight></codeline>
<codeline lineno="1007"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_set_rtp_no_xmit_on_audio_mute(lc,rtp_no_xmit_on_audio_mute);</highlight></codeline>
<codeline lineno="1008"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>adaptive_jitt_comp_enabled<sp/>=<sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;audio_adaptive_jitt_comp_enabled&quot;</highlight><highlight class="normal">,<sp/>TRUE);</highlight></codeline>
<codeline lineno="1009"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1gaf54c428ef4f44158be0204ba60031627" kindref="member">linphone_core_enable_audio_adaptive_jittcomp</ref>(lc,<sp/>adaptive_jitt_comp_enabled);</highlight></codeline>
<codeline lineno="1010"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>adaptive_jitt_comp_enabled<sp/>=<sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;video_adaptive_jitt_comp_enabled&quot;</highlight><highlight class="normal">,<sp/>TRUE);</highlight></codeline>
<codeline lineno="1011"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga1043aa47bf45a635dbc5bf2ceea77cfa" kindref="member">linphone_core_enable_video_adaptive_jittcomp</ref>(lc,<sp/>adaptive_jitt_comp_enabled);</highlight></codeline>
<codeline lineno="1012"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;rtp_conf.disable_upnp<sp/>=<sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;disable_upnp&quot;</highlight><highlight class="normal">,<sp/>FALSE);</highlight></codeline>
<codeline lineno="1013"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1gaf3bfb77e57b3fec6ead836047fe74726" kindref="member">linphone_core_set_avpf_mode</ref>(lc,<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;avpf&quot;</highlight><highlight class="normal">,0));</highlight></codeline>
<codeline lineno="1014"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((tmp=<ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;audio_multicast_addr&quot;</highlight><highlight class="normal">,NULL)))</highlight></codeline>
<codeline lineno="1015"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1gab1c6ccccc6385621ab06d5ad09bfc4d6" kindref="member">linphone_core_set_audio_multicast_addr</ref>(lc,tmp);</highlight></codeline>
<codeline lineno="1016"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1017"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;rtp_conf.audio_multicast_addr=ms_strdup(</highlight><highlight class="stringliteral">&quot;224.1.2.3&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="1018"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((tmp_int=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;audio_multicast_enabled&quot;</highlight><highlight class="normal">,-1))<sp/>&gt;-1)</highlight></codeline>
<codeline lineno="1019"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga6d4f13f9667c595bee9d2d0e4177ec7d" kindref="member">linphone_core_enable_audio_multicast</ref>(lc,tmp_int);</highlight></codeline>
<codeline lineno="1020"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((tmp_int=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;audio_multicast_ttl&quot;</highlight><highlight class="normal">,-1))&gt;0)</highlight></codeline>
<codeline lineno="1021"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga3e034657e14ff4bbcab91cb2fda1fad7" kindref="member">linphone_core_set_audio_multicast_ttl</ref>(lc,tmp_int);</highlight></codeline>
<codeline lineno="1022"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1023"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;rtp_conf.audio_multicast_ttl=1;</highlight><highlight class="comment">/*local<sp/>network*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1024"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((tmp=<ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;video_multicast_addr&quot;</highlight><highlight class="normal">,NULL)))</highlight></codeline>
<codeline lineno="1025"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga8991eb34f04d0132f869123412dccac5" kindref="member">linphone_core_set_video_multicast_addr</ref>(lc,tmp);</highlight></codeline>
<codeline lineno="1026"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1027"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;rtp_conf.video_multicast_addr=ms_strdup(</highlight><highlight class="stringliteral">&quot;224.1.2.3&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="1028"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((tmp_int=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;video_multicast_ttl&quot;</highlight><highlight class="normal">,-1))&gt;-1)</highlight></codeline>
<codeline lineno="1029"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga9343cb5c7b76da13b8824dd96be3bc4b" kindref="member">linphone_core_set_video_multicast_ttl</ref>(lc,tmp_int);</highlight></codeline>
<codeline lineno="1030"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1031"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;rtp_conf.video_multicast_ttl=1;</highlight><highlight class="comment">/*local<sp/>network*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1032"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((tmp_int=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;video_multicast_enabled&quot;</highlight><highlight class="normal">,-1))<sp/>&gt;0)</highlight></codeline>
<codeline lineno="1033"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1gab1fdd4ac8c4ba4e09b665d3959a1b850" kindref="member">linphone_core_enable_video_multicast</ref>(lc,tmp_int);</highlight></codeline>
<codeline lineno="1034"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1035"><highlight class="normal"></highlight></codeline>
<codeline lineno="1036"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>PayloadType<sp/>*<sp/>find_payload(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSList<sp/>*default_list,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*mime_type,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>clock_rate,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>channels,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*recv_fmtp){</highlight></codeline>
<codeline lineno="1037"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>PayloadType<sp/>*candidate=NULL;</highlight></codeline>
<codeline lineno="1038"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>PayloadType<sp/>*it;</highlight></codeline>
<codeline lineno="1039"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSList<sp/>*elem;</highlight></codeline>
<codeline lineno="1040"><highlight class="normal"></highlight></codeline>
<codeline lineno="1041"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(elem=default_list;elem!=NULL;elem=elem-&gt;next){</highlight></codeline>
<codeline lineno="1042"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>it=(PayloadType*)elem-&gt;data;</highlight></codeline>
<codeline lineno="1043"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>if<sp/>(it!=NULL<sp/>&amp;&amp;<sp/>strcasecmp(mime_type,it-&gt;mime_type)==0</highlight></codeline>
<codeline lineno="1044"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>&amp;&amp;<sp/>(clock_rate==it-&gt;clock_rate<sp/>||<sp/>clock_rate&lt;=0)</highlight></codeline>
<codeline lineno="1045"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>&amp;&amp;<sp/>(channels==it-&gt;channels<sp/>||<sp/>channels&lt;=0)<sp/>){</highlight></codeline>
<codeline lineno="1046"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<sp/>(recv_fmtp<sp/>&amp;&amp;<sp/>it-&gt;recv_fmtp<sp/>&amp;&amp;<sp/>strstr(recv_fmtp,it-&gt;recv_fmtp)!=NULL)<sp/>||</highlight></codeline>
<codeline lineno="1047"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(recv_fmtp==NULL<sp/>&amp;&amp;<sp/>it-&gt;recv_fmtp==NULL)<sp/>){</highlight></codeline>
<codeline lineno="1048"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*exact<sp/>match*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1049"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(recv_fmtp)<sp/>payload_type_set_recv_fmtp(it,recv_fmtp);</highlight></codeline>
<codeline lineno="1050"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>it;</highlight></codeline>
<codeline lineno="1051"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="1052"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(candidate){</highlight></codeline>
<codeline lineno="1053"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(it-&gt;recv_fmtp==NULL)<sp/>candidate=it;</highlight></codeline>
<codeline lineno="1054"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>candidate=it;</highlight></codeline>
<codeline lineno="1055"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1056"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1057"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1058"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(candidate<sp/>&amp;&amp;<sp/>recv_fmtp){</highlight></codeline>
<codeline lineno="1059"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>payload_type_set_recv_fmtp(candidate,recv_fmtp);</highlight></codeline>
<codeline lineno="1060"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1061"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>candidate;</highlight></codeline>
<codeline lineno="1062"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1063"><highlight class="normal"></highlight></codeline>
<codeline lineno="1064"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>PayloadType*<sp/>find_payload_type_from_list(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>type,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>rate,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>channels,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSList*<sp/>from)<sp/>{</highlight></codeline>
<codeline lineno="1065"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSList<sp/>*elem;</highlight></codeline>
<codeline lineno="1066"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(elem=from;elem!=NULL;elem=elem-&gt;next){</highlight></codeline>
<codeline lineno="1067"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>PayloadType<sp/>*pt=(PayloadType*)elem-&gt;data;</highlight></codeline>
<codeline lineno="1068"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>if<sp/>((strcasecmp(type,<sp/>payload_type_get_mime(pt))<sp/>==<sp/>0)</highlight></codeline>
<codeline lineno="1069"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>&amp;&amp;<sp/>(rate<sp/>==<sp/><ref refid="group__media__parameters_1ga2306371063fd39f746ee4db99596e8c3" kindref="member">LINPHONE_FIND_PAYLOAD_IGNORE_RATE</ref><sp/>||<sp/>rate==pt-&gt;clock_rate)</highlight></codeline>
<codeline lineno="1070"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>&amp;&amp;<sp/>(channels<sp/>==<sp/><ref refid="group__media__parameters_1ga5ae9e6b3f73ab7889082772130fc8467" kindref="member">LINPHONE_FIND_PAYLOAD_IGNORE_CHANNELS</ref><sp/>||<sp/>channels==pt-&gt;channels))<sp/>{</highlight></codeline>
<codeline lineno="1071"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>pt;</highlight></codeline>
<codeline lineno="1072"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1073"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1074"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="1075"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1076"><highlight class="normal"></highlight></codeline>
<codeline lineno="1077"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>bool_t<sp/>get_codec(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>SalStreamType<sp/>type,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>index,<sp/>PayloadType<sp/>**ret){</highlight></codeline>
<codeline lineno="1078"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>codeckey[50];</highlight></codeline>
<codeline lineno="1079"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*mime,*fmtp;</highlight></codeline>
<codeline lineno="1080"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>rate,channels,enabled;</highlight></codeline>
<codeline lineno="1081"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>PayloadType<sp/>*pt;</highlight></codeline>
<codeline lineno="1082"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga047b6550aab7dd244268e695fab98fd6" kindref="member">LpConfig</ref><sp/>*config=lc-&gt;config;</highlight></codeline>
<codeline lineno="1083"><highlight class="normal"></highlight></codeline>
<codeline lineno="1084"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*ret=NULL;</highlight></codeline>
<codeline lineno="1085"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>snprintf(codeckey,50,</highlight><highlight class="stringliteral">&quot;%s_codec_%i&quot;</highlight><highlight class="normal">,type==SalAudio<sp/>?<sp/></highlight><highlight class="stringliteral">&quot;audio&quot;</highlight><highlight class="normal"><sp/>:<sp/></highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,<sp/>index);</highlight></codeline>
<codeline lineno="1086"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>mime=<ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(config,codeckey,</highlight><highlight class="stringliteral">&quot;mime&quot;</highlight><highlight class="normal">,NULL);</highlight></codeline>
<codeline lineno="1087"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(mime==NULL<sp/>||<sp/>strlen(mime)==0<sp/>)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>FALSE;</highlight></codeline>
<codeline lineno="1088"><highlight class="normal"></highlight></codeline>
<codeline lineno="1089"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>rate=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(config,codeckey,</highlight><highlight class="stringliteral">&quot;rate&quot;</highlight><highlight class="normal">,8000);</highlight></codeline>
<codeline lineno="1090"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>fmtp=<ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(config,codeckey,</highlight><highlight class="stringliteral">&quot;recv_fmtp&quot;</highlight><highlight class="normal">,NULL);</highlight></codeline>
<codeline lineno="1091"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>channels=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(config,codeckey,</highlight><highlight class="stringliteral">&quot;channels&quot;</highlight><highlight class="normal">,0);</highlight></codeline>
<codeline lineno="1092"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>enabled=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(config,codeckey,</highlight><highlight class="stringliteral">&quot;enabled&quot;</highlight><highlight class="normal">,1);</highlight></codeline>
<codeline lineno="1093"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!ms_filter_codec_supported(mime)){</highlight></codeline>
<codeline lineno="1094"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;Codec<sp/>%s/%i<sp/>read<sp/>from<sp/>conf<sp/>is<sp/>not<sp/>supported<sp/>by<sp/>mediastreamer2,<sp/>ignored.&quot;</highlight><highlight class="normal">,mime,rate);</highlight></codeline>
<codeline lineno="1095"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>TRUE;</highlight></codeline>
<codeline lineno="1096"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1097"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>pt=find_payload(type==SalAudio<sp/>?<sp/>lc-&gt;default_audio_codecs<sp/>:<sp/>lc-&gt;default_video_codecs,mime,rate,channels,fmtp);</highlight></codeline>
<codeline lineno="1098"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!pt){</highlight></codeline>
<codeline lineno="1099"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList<sp/>**default_list=(type==SalAudio)<sp/>?<sp/>&amp;lc-&gt;default_audio_codecs<sp/>:<sp/><sp/>&amp;lc-&gt;default_video_codecs;</highlight></codeline>
<codeline lineno="1100"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>if<sp/>(type==SalAudio)</highlight></codeline>
<codeline lineno="1101"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;Codec<sp/>%s/%i/%i<sp/>read<sp/>from<sp/>conf<sp/>is<sp/>not<sp/>in<sp/>the<sp/>default<sp/>list.&quot;</highlight><highlight class="normal">,mime,rate,channels);</highlight></codeline>
<codeline lineno="1102"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight></codeline>
<codeline lineno="1103"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;Codec<sp/>%s/%i<sp/>read<sp/>from<sp/>conf<sp/>is<sp/>not<sp/>in<sp/>the<sp/>default<sp/>list.&quot;</highlight><highlight class="normal">,mime,rate);</highlight></codeline>
<codeline lineno="1104"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>pt=payload_type_new();</highlight></codeline>
<codeline lineno="1105"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>pt-&gt;type=(type==SalAudio)<sp/>?<sp/>PAYLOAD_AUDIO_PACKETIZED<sp/>:<sp/><sp/>PAYLOAD_VIDEO;</highlight></codeline>
<codeline lineno="1106"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>pt-&gt;mime_type=ortp_strdup(mime);</highlight></codeline>
<codeline lineno="1107"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>pt-&gt;clock_rate=rate;</highlight></codeline>
<codeline lineno="1108"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>pt-&gt;channels=channels;</highlight></codeline>
<codeline lineno="1109"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>payload_type_set_number(pt,-1);<sp/></highlight><highlight class="comment">/*dynamic<sp/>assignment*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1110"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>payload_type_set_recv_fmtp(pt,fmtp);</highlight></codeline>
<codeline lineno="1111"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*default_list=ms_list_append(*default_list,<sp/>pt);</highlight></codeline>
<codeline lineno="1112"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1113"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(enabled<sp/>)<sp/>pt-&gt;flags|=PAYLOAD_TYPE_ENABLED;</highlight></codeline>
<codeline lineno="1114"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>pt-&gt;flags&amp;=~PAYLOAD_TYPE_ENABLED;</highlight></codeline>
<codeline lineno="1115"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*ret=pt;</highlight></codeline>
<codeline lineno="1116"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>TRUE;</highlight></codeline>
<codeline lineno="1117"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1118"><highlight class="normal"></highlight></codeline>
<codeline lineno="1119"><highlight class="normal"></highlight><highlight class="comment">/*this<sp/>function<sp/>merges<sp/>the<sp/>payload<sp/>types<sp/>from<sp/>the<sp/>codec<sp/>default<sp/>list<sp/>with<sp/>the<sp/>list<sp/>read<sp/>from<sp/>configuration<sp/>file.</highlight></codeline>
<codeline lineno="1120"><highlight class="comment"><sp/>*<sp/>If<sp/>a<sp/>new<sp/>codec<sp/>becomes<sp/>supported<sp/>in<sp/>Liblinphone<sp/>or<sp/>if<sp/>the<sp/>list<sp/>from<sp/>configuration<sp/>file<sp/>is<sp/>empty<sp/>or<sp/>incomplete,<sp/>all<sp/>the<sp/>supported<sp/>codecs<sp/>are<sp/>added</highlight></codeline>
<codeline lineno="1121"><highlight class="comment"><sp/>*<sp/>automatically.<sp/>This<sp/>&apos;l&apos;<sp/>list<sp/>is<sp/>entirely<sp/>destroyed<sp/>and<sp/>rewritten.*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1122"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>MSList<sp/>*add_missing_codecs(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSList<sp/>*default_list,<sp/>MSList<sp/>*l){</highlight></codeline>
<codeline lineno="1123"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSList<sp/>*elem;</highlight></codeline>
<codeline lineno="1124"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList<sp/>*newlist;</highlight></codeline>
<codeline lineno="1125"><highlight class="normal"></highlight></codeline>
<codeline lineno="1126"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(elem=default_list;<sp/>elem!=NULL;<sp/>elem=elem-&gt;next){</highlight></codeline>
<codeline lineno="1127"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList<sp/>*elem2=ms_list_find(l,elem-&gt;data);</highlight></codeline>
<codeline lineno="1128"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!elem2){</highlight></codeline>
<codeline lineno="1129"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>PayloadType<sp/>*pt=(PayloadType*)elem-&gt;data;</highlight></codeline>
<codeline lineno="1130"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*this<sp/>codec<sp/>from<sp/>default<sp/>list<sp/>should<sp/>be<sp/>inserted<sp/>in<sp/>the<sp/>list*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1131"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>if<sp/>(!elem-&gt;prev){</highlight></codeline>
<codeline lineno="1132"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>l=ms_list_prepend(l,pt);</highlight></codeline>
<codeline lineno="1133"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="1134"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSList<sp/>*after=ms_list_find(l,elem-&gt;prev-&gt;data);</highlight></codeline>
<codeline lineno="1135"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>l=ms_list_insert(l,<sp/>after-&gt;next,<sp/>pt);</highlight></codeline>
<codeline lineno="1136"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1137"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;Supported<sp/>codec<sp/>%s/%i<sp/>fmtp=%s<sp/>automatically<sp/>added<sp/>to<sp/>codec<sp/>list.&quot;</highlight><highlight class="normal">,<sp/>pt-&gt;mime_type,</highlight></codeline>
<codeline lineno="1138"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>pt-&gt;clock_rate,<sp/>pt-&gt;recv_fmtp<sp/>?<sp/>pt-&gt;recv_fmtp<sp/>:<sp/></highlight><highlight class="stringliteral">&quot;&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="1139"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1140"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1141"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>newlist=ms_list_copy_with_data(l,(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*(*)(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*))payload_type_clone);</highlight></codeline>
<codeline lineno="1142"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_list_free(l);</highlight></codeline>
<codeline lineno="1143"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>newlist;</highlight></codeline>
<codeline lineno="1144"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1145"><highlight class="normal"></highlight></codeline>
<codeline lineno="1146"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>MSList<sp/>*codec_append_if_new(MSList<sp/>*l,<sp/>PayloadType<sp/>*pt){</highlight></codeline>
<codeline lineno="1147"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList<sp/>*elem;</highlight></codeline>
<codeline lineno="1148"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(elem=l;elem!=NULL;elem=elem-&gt;next){</highlight></codeline>
<codeline lineno="1149"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>PayloadType<sp/>*ept=(PayloadType*)elem-&gt;data;</highlight></codeline>
<codeline lineno="1150"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>if<sp/>(pt==ept)</highlight></codeline>
<codeline lineno="1151"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>l;</highlight></codeline>
<codeline lineno="1152"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1153"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>l=ms_list_append(l,pt);</highlight></codeline>
<codeline lineno="1154"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>l;</highlight></codeline>
<codeline lineno="1155"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1156"><highlight class="normal"></highlight></codeline>
<codeline lineno="1157"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>codecs_config_read(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="1158"><highlight class="normal">{</highlight></codeline>
<codeline lineno="1159"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i;</highlight></codeline>
<codeline lineno="1160"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>PayloadType<sp/>*pt;</highlight></codeline>
<codeline lineno="1161"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList<sp/>*audio_codecs=NULL;</highlight></codeline>
<codeline lineno="1162"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList<sp/>*video_codecs=NULL;</highlight></codeline>
<codeline lineno="1163"><highlight class="normal"></highlight></codeline>
<codeline lineno="1164"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;codecs_conf.dyn_pt=96;</highlight></codeline>
<codeline lineno="1165"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;codecs_conf.telephone_event_pt=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;misc&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;telephone_event_pt&quot;</highlight><highlight class="normal">,101);</highlight></codeline>
<codeline lineno="1166"><highlight class="normal"></highlight></codeline>
<codeline lineno="1167"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(i=0;get_codec(lc,SalAudio,i,&amp;pt);i++){</highlight></codeline>
<codeline lineno="1168"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(pt){</highlight></codeline>
<codeline lineno="1169"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>audio_codecs=codec_append_if_new(audio_codecs,<sp/>pt);</highlight></codeline>
<codeline lineno="1170"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1171"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1172"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(<sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;misc&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;add_missing_audio_codecs&quot;</highlight><highlight class="normal">,<sp/>1)<sp/>==<sp/>1<sp/>){</highlight></codeline>
<codeline lineno="1173"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>audio_codecs=add_missing_codecs(lc-&gt;default_audio_codecs,audio_codecs);</highlight></codeline>
<codeline lineno="1174"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1175"><highlight class="normal"></highlight></codeline>
<codeline lineno="1176"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(i=0;get_codec(lc,SalVideo,i,&amp;pt);i++){</highlight></codeline>
<codeline lineno="1177"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(pt){</highlight></codeline>
<codeline lineno="1178"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>video_codecs=codec_append_if_new(video_codecs,<sp/>pt);</highlight></codeline>
<codeline lineno="1179"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1180"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1181"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(<sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;misc&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;add_missing_video_codecs&quot;</highlight><highlight class="normal">,<sp/>1)<sp/>==<sp/>1<sp/>){</highlight></codeline>
<codeline lineno="1182"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>video_codecs=add_missing_codecs(lc-&gt;default_video_codecs,video_codecs);</highlight></codeline>
<codeline lineno="1183"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1184"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga1334576573101667d9cec851bf0f83df" kindref="member">linphone_core_set_audio_codecs</ref>(lc,audio_codecs);</highlight></codeline>
<codeline lineno="1185"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga3b066f817fd4c980198416b8b7a1fbdf" kindref="member">linphone_core_set_video_codecs</ref>(lc,video_codecs);</highlight></codeline>
<codeline lineno="1186"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_update_allocated_audio_bandwidth(lc);</highlight></codeline>
<codeline lineno="1187"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1188"><highlight class="normal"></highlight></codeline>
<codeline lineno="1189"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>build_video_devices_table(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="1190"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSList<sp/>*elem;</highlight></codeline>
<codeline lineno="1191"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i;</highlight></codeline>
<codeline lineno="1192"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>ndev;</highlight></codeline>
<codeline lineno="1193"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>**devices;</highlight></codeline>
<codeline lineno="1194"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;video_conf.cams)</highlight></codeline>
<codeline lineno="1195"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;video_conf.cams);</highlight></codeline>
<codeline lineno="1196"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>retrieve<sp/>all<sp/>video<sp/>devices<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1197"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>elem=ms_web_cam_manager_get_list(ms_web_cam_manager_get());</highlight></codeline>
<codeline lineno="1198"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ndev=ms_list_size(elem);</highlight></codeline>
<codeline lineno="1199"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>devices=ms_malloc((ndev+1)*</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*));</highlight></codeline>
<codeline lineno="1200"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(i=0;elem!=NULL;elem=elem-&gt;next,i++){</highlight></codeline>
<codeline lineno="1201"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>devices[i]=ms_web_cam_get_string_id((MSWebCam<sp/>*)elem-&gt;data);</highlight></codeline>
<codeline lineno="1202"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1203"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>devices[ndev]=NULL;</highlight></codeline>
<codeline lineno="1204"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;video_conf.cams=devices;</highlight></codeline>
<codeline lineno="1205"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1206"><highlight class="normal"></highlight></codeline>
<codeline lineno="1207"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>video_config_read(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="1208"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1209"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>capture,<sp/>display,<sp/>self_view,<sp/>reuse_source;</highlight></codeline>
<codeline lineno="1210"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>automatic_video=1;</highlight></codeline>
<codeline lineno="1211"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1212"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*str;</highlight></codeline>
<codeline lineno="1213"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1214"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct__LinphoneVideoPolicy" kindref="compound">LinphoneVideoPolicy</ref><sp/>vpol;</highlight></codeline>
<codeline lineno="1215"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>memset(&amp;vpol,<sp/>0,<sp/></highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(<ref refid="struct__LinphoneVideoPolicy" kindref="compound">LinphoneVideoPolicy</ref>));</highlight></codeline>
<codeline lineno="1216"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1217"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>build_video_devices_table(lc);</highlight></codeline>
<codeline lineno="1218"><highlight class="normal"></highlight></codeline>
<codeline lineno="1219"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>str=<ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;device&quot;</highlight><highlight class="normal">,NULL);</highlight></codeline>
<codeline lineno="1220"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(str<sp/>&amp;&amp;<sp/>str[0]==0)<sp/>str=NULL;</highlight></codeline>
<codeline lineno="1221"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga8d3a88ab89a24dc32cb6034992920665" kindref="member">linphone_core_set_video_device</ref>(lc,str);</highlight></codeline>
<codeline lineno="1222"><highlight class="normal"></highlight></codeline>
<codeline lineno="1223"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga35e73bf4c1fb1c1c7f7933579b5d4aa2" kindref="member">linphone_core_set_preferred_video_size_by_name</ref>(lc,</highlight></codeline>
<codeline lineno="1224"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;size&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;cif&quot;</highlight><highlight class="normal">));</highlight></codeline>
<codeline lineno="1225"><highlight class="normal"></highlight></codeline>
<codeline lineno="1226"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga37096d61a08c3804f95a16b5dba3aa08" kindref="member">linphone_core_set_preview_video_size_by_name</ref>(lc,</highlight></codeline>
<codeline lineno="1227"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;preview_size&quot;</highlight><highlight class="normal">,NULL));</highlight></codeline>
<codeline lineno="1228"><highlight class="normal"></highlight></codeline>
<codeline lineno="1229"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1gaa30f84a04be31f3fa969575ac363d62b" kindref="member">linphone_core_set_preferred_framerate</ref>(lc,<ref refid="group__misc_1gad548422b00d41c9726062869d04cd6e4" kindref="member">lp_config_get_float</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;framerate&quot;</highlight><highlight class="normal">,0));</highlight></codeline>
<codeline lineno="1230"><highlight class="normal"></highlight></codeline>
<codeline lineno="1231"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1232"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>defined(ANDROID)<sp/>||<sp/>defined(__ios)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1233"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>automatic_video=0;</highlight></codeline>
<codeline lineno="1234"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1235"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>capture=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;capture&quot;</highlight><highlight class="normal">,1);</highlight></codeline>
<codeline lineno="1236"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>display=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;display&quot;</highlight><highlight class="normal">,1);</highlight></codeline>
<codeline lineno="1237"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>self_view=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;self_view&quot;</highlight><highlight class="normal">,1);</highlight></codeline>
<codeline lineno="1238"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>reuse_source=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;reuse_source&quot;</highlight><highlight class="normal">,0);</highlight></codeline>
<codeline lineno="1239"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vpol.<ref refid="struct__LinphoneVideoPolicy_1af2844cb3185be244283d0dd310a0d7c9" kindref="member">automatically_initiate</ref>=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;automatically_initiate&quot;</highlight><highlight class="normal">,automatic_video);</highlight></codeline>
<codeline lineno="1240"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vpol.<ref refid="struct__LinphoneVideoPolicy_1ae94ea7330374ad7aebbddde76b13f0e4" kindref="member">automatically_accept</ref>=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;automatically_accept&quot;</highlight><highlight class="normal">,automatic_video);</highlight></codeline>
<codeline lineno="1241"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga2f8c1cc011a51389126c2497e3fc1429" kindref="member">linphone_core_enable_video_capture</ref>(lc,<sp/>capture);</highlight></codeline>
<codeline lineno="1242"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1gad06dacec453bbe2bf360b10d69461a8a" kindref="member">linphone_core_enable_video_display</ref>(lc,<sp/>display);</highlight></codeline>
<codeline lineno="1243"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1gabe5de40453011a6c612342224e583e19" kindref="member">linphone_core_enable_video_preview</ref>(lc,<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;show_local&quot;</highlight><highlight class="normal">,0));</highlight></codeline>
<codeline lineno="1244"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga51442e84c5636f18e3765de9e1399f69" kindref="member">linphone_core_enable_self_view</ref>(lc,self_view);</highlight></codeline>
<codeline lineno="1245"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1gaafde2c5330bc0738756589cb007ff496" kindref="member">linphone_core_enable_video_source_reuse</ref>(lc,<sp/>reuse_source);</highlight></codeline>
<codeline lineno="1246"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga454ecb3bde380230da042be98bdc45c9" kindref="member">linphone_core_set_video_policy</ref>(lc,&amp;vpol);</highlight></codeline>
<codeline lineno="1247"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1248"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1249"><highlight class="normal"></highlight></codeline>
<codeline lineno="1250"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>ui_config_read(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="1251"><highlight class="normal">{</highlight></codeline>
<codeline lineno="1252"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__buddy__list_1ga2f0508bab6d8ded431ce8b1a679a1522" kindref="member">LinphoneFriend</ref><sp/>*lf;</highlight></codeline>
<codeline lineno="1253"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i;</highlight></codeline>
<codeline lineno="1254"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(i=0;(lf=linphone_friend_new_from_config_file(lc,i))!=NULL;i++){</highlight></codeline>
<codeline lineno="1255"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__buddy__list_1ga3a8e9184320402082bf35226ae8d25b8" kindref="member">linphone_core_add_friend</ref>(lc,lf);</highlight></codeline>
<codeline lineno="1256"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1257"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call_logs_read_from_config_file(lc);</highlight></codeline>
<codeline lineno="1258"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1259"><highlight class="normal"></highlight></codeline>
<codeline lineno="1260"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="1261"><highlight class="comment">static<sp/>void<sp/>autoreplier_config_init(LinphoneCore<sp/>*lc)</highlight></codeline>
<codeline lineno="1262"><highlight class="comment">{</highlight></codeline>
<codeline lineno="1263"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>autoreplier_config_t<sp/>*config=&amp;lc-&gt;autoreplier_conf;</highlight></codeline>
<codeline lineno="1264"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>config-&gt;enabled=lp_config_get_int(lc-&gt;config,&quot;autoreplier&quot;,&quot;enabled&quot;,0);</highlight></codeline>
<codeline lineno="1265"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>config-&gt;after_seconds=lp_config_get_int(lc-&gt;config,&quot;autoreplier&quot;,&quot;after_seconds&quot;,6);</highlight></codeline>
<codeline lineno="1266"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>config-&gt;max_users=lp_config_get_int(lc-&gt;config,&quot;autoreplier&quot;,&quot;max_users&quot;,1);</highlight></codeline>
<codeline lineno="1267"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>config-&gt;max_rec_time=lp_config_get_int(lc-&gt;config,&quot;autoreplier&quot;,&quot;max_rec_time&quot;,60);</highlight></codeline>
<codeline lineno="1268"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>config-&gt;max_rec_msg=lp_config_get_int(lc-&gt;config,&quot;autoreplier&quot;,&quot;max_rec_msg&quot;,10);</highlight></codeline>
<codeline lineno="1269"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>config-&gt;message=lp_config_get_string(lc-&gt;config,&quot;autoreplier&quot;,&quot;message&quot;,NULL);</highlight></codeline>
<codeline lineno="1270"><highlight class="comment">}</highlight></codeline>
<codeline lineno="1271"><highlight class="comment">*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1272"><highlight class="normal"></highlight></codeline>
<codeline lineno="1273"><highlight class="normal">bool_t<sp/><ref refid="group__tunnel_1ga6c411bd114b1e45806dbbb7c02912b35" kindref="member">linphone_core_tunnel_available</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">){</highlight></codeline>
<codeline lineno="1274"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>TUNNEL_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1275"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>TRUE;</highlight></codeline>
<codeline lineno="1276"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1277"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>FALSE;</highlight></codeline>
<codeline lineno="1278"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1279"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1280"><highlight class="normal"></highlight></codeline>
<codeline lineno="1291"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga669232e3f2bc8b06757499c14007afb0" kindref="member">linphone_core_enable_adaptive_rate_control</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>enabled){</highlight></codeline>
<codeline lineno="1292"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;net&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;adaptive_rate_control&quot;</highlight><highlight class="normal">,(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">)enabled);</highlight></codeline>
<codeline lineno="1293"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1294"><highlight class="normal"></highlight></codeline>
<codeline lineno="1302"><highlight class="normal">bool_t<sp/><ref refid="group__media__parameters_1ga7aa556ec95ec30680e2c80c68f2ac22e" kindref="member">linphone_core_adaptive_rate_control_enabled</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="1303"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;net&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;adaptive_rate_control&quot;</highlight><highlight class="normal">,TRUE);</highlight></codeline>
<codeline lineno="1304"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1305"><highlight class="normal"></highlight></codeline>
<codeline lineno="1313"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gadf65dd4cb1da0eeb572ce203fedbb94b" kindref="member">linphone_core_set_adaptive_rate_algorithm</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>algorithm){</highlight></codeline>
<codeline lineno="1314"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;net&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;adaptive_rate_algorithm&quot;</highlight><highlight class="normal">,algorithm);</highlight></codeline>
<codeline lineno="1315"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1316"><highlight class="normal"></highlight></codeline>
<codeline lineno="1324"><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/><ref refid="group__media__parameters_1ga91cd638302166dd018e8f51a66811b22" kindref="member">linphone_core_get_adaptive_rate_algorithm</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="1325"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;net&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;adaptive_rate_algorithm&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;Simple&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="1326"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1327"><highlight class="normal"></highlight></codeline>
<codeline lineno="1328"><highlight class="normal">bool_t<sp/>linphone_core_rtcp_enabled(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="1329"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;rtcp_enabled&quot;</highlight><highlight class="normal">,TRUE);</highlight></codeline>
<codeline lineno="1330"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1331"><highlight class="normal"></highlight></codeline>
<codeline lineno="1345"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga1e0c01a25f78d14c6813213adf795e54" kindref="member">linphone_core_set_download_bandwidth</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>bw){</highlight></codeline>
<codeline lineno="1346"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;net_conf.download_bw=bw;</highlight></codeline>
<codeline lineno="1347"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_update_allocated_audio_bandwidth(lc);</highlight></codeline>
<codeline lineno="1348"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc))<sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;net&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;download_bw&quot;</highlight><highlight class="normal">,bw);</highlight></codeline>
<codeline lineno="1349"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1350"><highlight class="normal"></highlight></codeline>
<codeline lineno="1362"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gabaf184578641451f95ea7b4baa2b1b77" kindref="member">linphone_core_set_upload_bandwidth</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>bw){</highlight></codeline>
<codeline lineno="1363"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;net_conf.upload_bw=bw;</highlight></codeline>
<codeline lineno="1364"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_update_allocated_audio_bandwidth(lc);</highlight></codeline>
<codeline lineno="1365"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc))<sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;net&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;upload_bw&quot;</highlight><highlight class="normal">,bw);</highlight></codeline>
<codeline lineno="1366"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1367"><highlight class="normal"></highlight></codeline>
<codeline lineno="1368"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga6536b11c3abe16d978910e97944ffe35" kindref="member">linphone_core_set_sip_transport_timeout</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>timeout_ms)<sp/>{</highlight></codeline>
<codeline lineno="1369"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_set_transport_timeout(lc-&gt;sal,<sp/>timeout_ms);</highlight></codeline>
<codeline lineno="1370"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc))</highlight></codeline>
<codeline lineno="1371"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;transport_timeout&quot;</highlight><highlight class="normal">,<sp/>timeout_ms);</highlight></codeline>
<codeline lineno="1372"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1373"><highlight class="normal"></highlight></codeline>
<codeline lineno="1374"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gacc3dd7a2bc2c1af20bccf46dad65471f" kindref="member">linphone_core_get_sip_transport_timeout</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="1375"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>sal_get_transport_timeout(lc-&gt;sal);</highlight></codeline>
<codeline lineno="1376"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1377"><highlight class="normal"></highlight></codeline>
<codeline lineno="1378"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga0099114e143cc3a1faa756c5a2e3fcef" kindref="member">linphone_core_enable_dns_srv</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>enable)<sp/>{</highlight></codeline>
<codeline lineno="1379"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_enable_dns_srv(lc-&gt;sal,<sp/>enable);</highlight></codeline>
<codeline lineno="1380"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc))</highlight></codeline>
<codeline lineno="1381"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;net&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;dns_srv_enabled&quot;</highlight><highlight class="normal">,<sp/>enable<sp/>?<sp/>1<sp/>:<sp/>0);</highlight></codeline>
<codeline lineno="1382"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1383"><highlight class="normal"></highlight></codeline>
<codeline lineno="1384"><highlight class="normal">bool_t<sp/><ref refid="group__media__parameters_1ga588c58c067c72cb0b3711d3461fd5871" kindref="member">linphone_core_dns_srv_enabled</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="1385"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>sal_dns_srv_enabled(lc-&gt;sal);</highlight></codeline>
<codeline lineno="1386"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1387"><highlight class="normal"></highlight></codeline>
<codeline lineno="1393"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga111cddb72d1f515862d10c51e441904b" kindref="member">linphone_core_get_download_bandwidth</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="1394"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;net_conf.download_bw;</highlight></codeline>
<codeline lineno="1395"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1396"><highlight class="normal"></highlight></codeline>
<codeline lineno="1402"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga4fe4a5b0770d9517ba9184434df4006d" kindref="member">linphone_core_get_upload_bandwidth</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="1403"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;net_conf.upload_bw;</highlight></codeline>
<codeline lineno="1404"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1410"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga7576261b832196c997c3cd2891784248" kindref="member">linphone_core_set_download_ptime</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>ptime)<sp/>{</highlight></codeline>
<codeline lineno="1411"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;download_ptime&quot;</highlight><highlight class="normal">,ptime);</highlight></codeline>
<codeline lineno="1412"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1413"><highlight class="normal"></highlight></codeline>
<codeline lineno="1419"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga21168e2a82d80c67b6808ba7d11d8c4f" kindref="member">linphone_core_get_download_ptime</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="1420"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;download_ptime&quot;</highlight><highlight class="normal">,0);</highlight></codeline>
<codeline lineno="1421"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1422"><highlight class="normal"></highlight></codeline>
<codeline lineno="1429"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gab1c4eef42818fba7ab3873ce32cfdf09" kindref="member">linphone_core_set_upload_ptime</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>ptime){</highlight></codeline>
<codeline lineno="1430"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;upload_ptime&quot;</highlight><highlight class="normal">,ptime);</highlight></codeline>
<codeline lineno="1431"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1432"><highlight class="normal"></highlight></codeline>
<codeline lineno="1440"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga394a1c972ab8c731c8c986ce741537f7" kindref="member">linphone_core_get_upload_ptime</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="1441"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;upload_ptime&quot;</highlight><highlight class="normal">,0);</highlight></codeline>
<codeline lineno="1442"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1443"><highlight class="normal"></highlight></codeline>
<codeline lineno="1444"><highlight class="normal"></highlight></codeline>
<codeline lineno="1445"><highlight class="normal"></highlight></codeline>
<codeline lineno="1452"><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/><ref refid="group__misc_1ga553b61ad32d7455ce69102025d383f90" kindref="member">linphone_core_get_version</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">){</highlight></codeline>
<codeline lineno="1453"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>liblinphone_version;</highlight></codeline>
<codeline lineno="1454"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1455"><highlight class="normal"></highlight></codeline>
<codeline lineno="1456"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_register_payload_type(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>PayloadType<sp/>*const_pt,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*recv_fmtp,<sp/>bool_t<sp/>enabled){</highlight></codeline>
<codeline lineno="1457"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList<sp/>**codec_list=const_pt-&gt;type==PAYLOAD_VIDEO<sp/>?<sp/>&amp;lc-&gt;default_video_codecs<sp/>:<sp/>&amp;lc-&gt;default_audio_codecs;</highlight></codeline>
<codeline lineno="1458"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ms_filter_codec_supported(const_pt-&gt;mime_type)){</highlight></codeline>
<codeline lineno="1459"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>PayloadType<sp/>*pt=payload_type_clone(const_pt);</highlight></codeline>
<codeline lineno="1460"><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/>number=-1;</highlight></codeline>
<codeline lineno="1461"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>payload_type_set_enable(pt,enabled);</highlight></codeline>
<codeline lineno="1462"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(recv_fmtp!=NULL)<sp/>payload_type_set_recv_fmtp(pt,recv_fmtp);</highlight></codeline>
<codeline lineno="1463"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*Set<sp/>a<sp/>number<sp/>to<sp/>the<sp/>payload<sp/>type<sp/>from<sp/>the<sp/>statically<sp/>defined<sp/>(RFC3551)<sp/>profile,<sp/>if<sp/>not<sp/>static,<sp/>-1<sp/>is<sp/>returned</highlight></codeline>
<codeline lineno="1464"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>and<sp/>the<sp/>payload<sp/>type<sp/>number<sp/>will<sp/>be<sp/>determined<sp/>dynamically<sp/>later,<sp/>at<sp/>call<sp/>time.*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1465"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>payload_type_set_number(pt,</highlight></codeline>
<codeline lineno="1466"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(number=rtp_profile_find_payload_number(&amp;av_profile,<sp/>pt-&gt;mime_type,<sp/>pt-&gt;clock_rate,<sp/>pt-&gt;channels))</highlight></codeline>
<codeline lineno="1467"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>);</highlight></codeline>
<codeline lineno="1468"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;Codec<sp/>%s/%i<sp/>fmtp=[%s]<sp/>number=%i,<sp/>enabled=%i)<sp/>added<sp/>to<sp/>default<sp/>capabilities.&quot;</highlight><highlight class="normal">,<sp/>pt-&gt;mime_type,<sp/>pt-&gt;clock_rate,</highlight></codeline>
<codeline lineno="1469"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>pt-&gt;recv_fmtp<sp/>?<sp/>pt-&gt;recv_fmtp<sp/>:<sp/></highlight><highlight class="stringliteral">&quot;&quot;</highlight><highlight class="normal">,<sp/>number,<sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">)payload_type_enabled(pt));</highlight></codeline>
<codeline lineno="1470"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*codec_list=ms_list_append(*codec_list,pt);</highlight></codeline>
<codeline lineno="1471"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1472"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1473"><highlight class="normal"></highlight></codeline>
<codeline lineno="1474"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_register_static_payloads(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="1475"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>RtpProfile<sp/>*prof=&amp;av_profile;</highlight></codeline>
<codeline lineno="1476"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i;</highlight></codeline>
<codeline lineno="1477"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(i=0;i&lt;RTP_PROFILE_MAX_PAYLOADS;++i){</highlight></codeline>
<codeline lineno="1478"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>PayloadType<sp/>*pt=rtp_profile_get_payload(prof,i);</highlight></codeline>
<codeline lineno="1479"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(pt){</highlight></codeline>
<codeline lineno="1480"><highlight class="normal"></highlight><highlight class="preprocessor">#ifndef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1481"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(pt-&gt;type==PAYLOAD_VIDEO)<sp/></highlight><highlight class="keywordflow">continue</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="1482"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1483"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(find_payload_type_from_list(</highlight></codeline>
<codeline lineno="1484"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>pt-&gt;mime_type,<sp/>pt-&gt;clock_rate,<sp/>pt-&gt;type!=PAYLOAD_VIDEO<sp/>?<sp/>pt-&gt;channels<sp/>:<sp/><ref refid="group__media__parameters_1ga5ae9e6b3f73ab7889082772130fc8467" kindref="member">LINPHONE_FIND_PAYLOAD_IGNORE_CHANNELS</ref>,</highlight></codeline>
<codeline lineno="1485"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>pt-&gt;type==PAYLOAD_VIDEO<sp/>?<sp/>lc-&gt;default_video_codecs<sp/>:<sp/>lc-&gt;default_audio_codecs)==NULL){</highlight></codeline>
<codeline lineno="1486"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,pt,NULL,FALSE);</highlight></codeline>
<codeline lineno="1487"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1488"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1489"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1490"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1491"><highlight class="normal"></highlight></codeline>
<codeline lineno="1492"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_free_payload_types(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="1493"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_list_free_with_data(lc-&gt;default_audio_codecs,<sp/>(void<sp/>(*)(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*))payload_type_destroy);</highlight></codeline>
<codeline lineno="1494"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_list_free_with_data(lc-&gt;default_video_codecs,<sp/>(void<sp/>(*)(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*))payload_type_destroy);</highlight></codeline>
<codeline lineno="1495"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1496"><highlight class="normal"></highlight></codeline>
<codeline lineno="1497"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_set_state(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__initializing_1gae852b5b31d6d5e673de9d2c9b63aca7e" kindref="member">LinphoneGlobalState</ref><sp/>gstate,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*message){</highlight></codeline>
<codeline lineno="1498"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;state=gstate;</highlight></codeline>
<codeline lineno="1499"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_global_state_changed(lc,gstate,message);</highlight></codeline>
<codeline lineno="1500"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1501"><highlight class="normal"></highlight></codeline>
<codeline lineno="1502"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>misc_config_read(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="1503"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga047b6550aab7dd244268e695fab98fd6" kindref="member">LpConfig</ref><sp/>*config=lc-&gt;config;</highlight></codeline>
<codeline lineno="1504"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*uuid;</highlight></codeline>
<codeline lineno="1505"><highlight class="normal"></highlight></codeline>
<codeline lineno="1506"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;max_call_logs=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(config,</highlight><highlight class="stringliteral">&quot;misc&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;history_max_size&quot;</highlight><highlight class="normal">,30);</highlight></codeline>
<codeline lineno="1507"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;max_calls=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(config,</highlight><highlight class="stringliteral">&quot;misc&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;max_calls&quot;</highlight><highlight class="normal">,NB_MAX_CALLS);</highlight></codeline>
<codeline lineno="1508"><highlight class="normal"></highlight></codeline>
<codeline lineno="1509"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>uuid=<ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(config,</highlight><highlight class="stringliteral">&quot;misc&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;uuid&quot;</highlight><highlight class="normal">,NULL);</highlight></codeline>
<codeline lineno="1510"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!uuid){</highlight></codeline>
<codeline lineno="1511"><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/>tmp[64];</highlight></codeline>
<codeline lineno="1512"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_create_uuid(lc-&gt;sal,tmp,</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(tmp));</highlight></codeline>
<codeline lineno="1513"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(config,</highlight><highlight class="stringliteral">&quot;misc&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;uuid&quot;</highlight><highlight class="normal">,tmp);</highlight></codeline>
<codeline lineno="1514"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(strcmp(uuid,</highlight><highlight class="stringliteral">&quot;0&quot;</highlight><highlight class="normal">)!=0)<sp/></highlight><highlight class="comment">/*to<sp/>allow<sp/>to<sp/>disable<sp/>sip.instance*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1515"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_set_uuid(lc-&gt;sal,<sp/>uuid);</highlight></codeline>
<codeline lineno="1516"><highlight class="normal"></highlight></codeline>
<codeline lineno="1517"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;user_certificates_path=ms_strdup(<ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(config,</highlight><highlight class="stringliteral">&quot;misc&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;user_certificates_path&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;.&quot;</highlight><highlight class="normal">));</highlight></codeline>
<codeline lineno="1518"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1519"><highlight class="normal"></highlight></codeline>
<codeline lineno="1520"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_start(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*<sp/>lc)<sp/>{</highlight></codeline>
<codeline lineno="1521"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sip_setup_register_all();</highlight></codeline>
<codeline lineno="1522"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sound_config_read(lc);</highlight></codeline>
<codeline lineno="1523"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>net_config_read(lc);</highlight></codeline>
<codeline lineno="1524"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>rtp_config_read(lc);</highlight></codeline>
<codeline lineno="1525"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>codecs_config_read(lc);</highlight></codeline>
<codeline lineno="1526"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sip_config_read(lc);</highlight></codeline>
<codeline lineno="1527"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>video_config_read(lc);</highlight></codeline>
<codeline lineno="1528"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//autoreplier_config_init(&amp;lc-&gt;autoreplier_conf);</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1529"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;presence_model=<ref refid="group__buddy__list_1ga1d18d53dc6742c071b9a33d76761112b" kindref="member">linphone_presence_model_new_with_activity</ref>(<ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641aca005609d9063ce6807e4532e363d9801f" kindref="member">LinphonePresenceActivityOnline</ref>,<sp/>NULL);</highlight></codeline>
<codeline lineno="1530"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>misc_config_read(lc);</highlight></codeline>
<codeline lineno="1531"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ui_config_read(lc);</highlight></codeline>
<codeline lineno="1532"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>TUNNEL_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1533"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;tunnel)<sp/>{</highlight></codeline>
<codeline lineno="1534"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_tunnel_configure(lc-&gt;tunnel);</highlight></codeline>
<codeline lineno="1535"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1536"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1537"><highlight class="normal"></highlight></codeline>
<codeline lineno="1538"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_display_status(lc,_(</highlight><highlight class="stringliteral">&quot;Ready&quot;</highlight><highlight class="normal">));</highlight></codeline>
<codeline lineno="1539"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;auto_net_state_mon=lc-&gt;sip_conf.auto_net_state_mon;</highlight></codeline>
<codeline lineno="1540"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_set_state(lc,LinphoneGlobalOn,</highlight><highlight class="stringliteral">&quot;Ready&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="1541"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1542"><highlight class="normal"></highlight></codeline>
<codeline lineno="1543"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_configuring_terminated(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__initializing_1ga6b495fb476419ea7dbd62b1b2fa89bdf" kindref="member">LinphoneConfiguringState</ref><sp/>state,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*message)<sp/>{</highlight></codeline>
<codeline lineno="1544"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_configuring_status(lc,<sp/>state,<sp/>message);</highlight></codeline>
<codeline lineno="1545"><highlight class="normal"></highlight></codeline>
<codeline lineno="1546"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(state<sp/>==<sp/>LinphoneConfiguringSuccessful)<sp/>{</highlight></codeline>
<codeline lineno="1547"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_is_provisioning_transient(lc)<sp/>==<sp/>TRUE)</highlight></codeline>
<codeline lineno="1548"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__initializing_1ga22afd021674ff152bc286eefdc9be0cd" kindref="member">linphone_core_set_provisioning_uri</ref>(lc,<sp/>NULL);</highlight></codeline>
<codeline lineno="1549"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1550"><highlight class="normal"></highlight></codeline>
<codeline lineno="1551"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_start(lc);</highlight></codeline>
<codeline lineno="1552"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1553"><highlight class="normal"></highlight></codeline>
<codeline lineno="1554"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>linphone_core_serialization_ref<sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="1555"><highlight class="normal"></highlight></codeline>
<codeline lineno="1556"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_activate_log_serialization_if_needed(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="1557"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(liblinphone_serialize_logs<sp/>==<sp/>TRUE)<sp/>{</highlight></codeline>
<codeline lineno="1558"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_serialization_ref++;</highlight></codeline>
<codeline lineno="1559"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_serialization_ref<sp/>==<sp/>1)</highlight></codeline>
<codeline lineno="1560"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_set_log_thread_id(ortp_thread_self());</highlight></codeline>
<codeline lineno="1561"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1562"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1563"><highlight class="normal"></highlight></codeline>
<codeline lineno="1564"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_deactivate_log_serialization_if_needed(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="1565"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(liblinphone_serialize_logs<sp/>==<sp/>TRUE)<sp/>{</highlight></codeline>
<codeline lineno="1566"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>--linphone_core_serialization_ref;</highlight></codeline>
<codeline lineno="1567"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_serialization_ref<sp/>==<sp/>0)</highlight></codeline>
<codeline lineno="1568"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_set_log_thread_id(0);</highlight></codeline>
<codeline lineno="1569"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1570"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1571"><highlight class="normal"></highlight></codeline>
<codeline lineno="1572"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_register_default_codecs(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="1573"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*aac_fmtp162248,<sp/>*aac_fmtp3244;</highlight></codeline>
<codeline lineno="1574"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>bool_t<sp/>opus_enabled=TRUE;</highlight></codeline>
<codeline lineno="1575"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*default<sp/>enabled<sp/>audio<sp/>codecs,<sp/>in<sp/>order<sp/>of<sp/>preference*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1576"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>defined(__arm__)<sp/>||<sp/>defined(_M_ARM)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1577"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*hack<sp/>for<sp/>opus,<sp/>that<sp/>needs<sp/>to<sp/>be<sp/>disabed<sp/>by<sp/>default<sp/>on<sp/>ARM<sp/>single<sp/>processor,<sp/>otherwise<sp/>there<sp/>is<sp/>no<sp/>cpu<sp/>left<sp/>for<sp/>video<sp/>processing*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1578"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ms_get_cpu_count()==1)<sp/>opus_enabled=FALSE;</highlight></codeline>
<codeline lineno="1579"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1580"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_opus,</highlight><highlight class="stringliteral">&quot;useinbandfec=1;<sp/>stereo=0;<sp/>sprop-stereo=0&quot;</highlight><highlight class="normal">,opus_enabled);</highlight></codeline>
<codeline lineno="1581"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_silk_wb,NULL,TRUE);</highlight></codeline>
<codeline lineno="1582"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_speex_wb,</highlight><highlight class="stringliteral">&quot;vbr=on&quot;</highlight><highlight class="normal">,TRUE);</highlight></codeline>
<codeline lineno="1583"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_speex_nb,</highlight><highlight class="stringliteral">&quot;vbr=on&quot;</highlight><highlight class="normal">,TRUE);</highlight></codeline>
<codeline lineno="1584"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_pcmu8000,NULL,TRUE);</highlight></codeline>
<codeline lineno="1585"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_pcma8000,NULL,TRUE);</highlight></codeline>
<codeline lineno="1586"><highlight class="normal"></highlight></codeline>
<codeline lineno="1587"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*other<sp/>audio<sp/>codecs,<sp/>not<sp/>enabled<sp/>by<sp/>default,<sp/>in<sp/>order<sp/>of<sp/>preference*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1588"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_gsm,NULL,FALSE);</highlight></codeline>
<codeline lineno="1589"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_g722,NULL,FALSE);</highlight></codeline>
<codeline lineno="1590"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_ilbc,</highlight><highlight class="stringliteral">&quot;mode=30&quot;</highlight><highlight class="normal">,FALSE);</highlight></codeline>
<codeline lineno="1591"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_amr,</highlight><highlight class="stringliteral">&quot;octet-align=1&quot;</highlight><highlight class="normal">,FALSE);</highlight></codeline>
<codeline lineno="1592"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_amrwb,</highlight><highlight class="stringliteral">&quot;octet-align=1&quot;</highlight><highlight class="normal">,FALSE);</highlight></codeline>
<codeline lineno="1593"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_g729,</highlight><highlight class="stringliteral">&quot;annexb=no&quot;</highlight><highlight class="normal">,FALSE);</highlight></codeline>
<codeline lineno="1594"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>For<sp/>AAC,<sp/>we<sp/>use<sp/>a<sp/>config<sp/>value<sp/>to<sp/>determine<sp/>if<sp/>we<sp/>ought<sp/>to<sp/>support<sp/>SBR.<sp/>Since<sp/>it<sp/>is<sp/>not<sp/>offically<sp/>supported</highlight></codeline>
<codeline lineno="1595"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*<sp/>for<sp/>the<sp/>mpeg4-generic<sp/>mime<sp/>type,<sp/>setting<sp/>this<sp/>flag<sp/>to<sp/>1<sp/>will<sp/>break<sp/>compatibility<sp/>with<sp/>other<sp/>clients.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1596"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(<sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;misc&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;aac_use_sbr&quot;</highlight><highlight class="normal">,<sp/>FALSE)<sp/>)<sp/>{</highlight></codeline>
<codeline lineno="1597"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;Using<sp/>SBR<sp/>for<sp/>AAC&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="1598"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>aac_fmtp162248<sp/>=<sp/></highlight><highlight class="stringliteral">&quot;config=F8EE2000;<sp/>constantDuration=512;<sp/>indexDeltaLength=3;<sp/>indexLength=3;<sp/>mode=AAC-hbr;<sp/>profile-level-id=76;<sp/>sizeLength=13;<sp/>streamType=5;<sp/>SBR-enabled=1&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="1599"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>aac_fmtp3244<sp/><sp/><sp/>=<sp/></highlight><highlight class="stringliteral">&quot;config=F8E82000;<sp/>constantDuration=512;<sp/>indexDeltaLength=3;<sp/>indexLength=3;<sp/>mode=AAC-hbr;<sp/>profile-level-id=76;<sp/>sizeLength=13;<sp/>streamType=5;<sp/>SBR-enabled=1&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="1600"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="1601"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>aac_fmtp162248<sp/>=<sp/></highlight><highlight class="stringliteral">&quot;config=F8EE2000;<sp/>constantDuration=512;<sp/>indexDeltaLength=3;<sp/>indexLength=3;<sp/>mode=AAC-hbr;<sp/>profile-level-id=76;<sp/>sizeLength=13;<sp/>streamType=5&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="1602"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>aac_fmtp3244<sp/><sp/><sp/>=<sp/></highlight><highlight class="stringliteral">&quot;config=F8E82000;<sp/>constantDuration=512;<sp/>indexDeltaLength=3;<sp/>indexLength=3;<sp/>mode=AAC-hbr;<sp/>profile-level-id=76;<sp/>sizeLength=13;<sp/>streamType=5&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="1603"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1604"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_aaceld_16k,aac_fmtp162248,FALSE);</highlight></codeline>
<codeline lineno="1605"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_aaceld_22k,aac_fmtp162248,FALSE);</highlight></codeline>
<codeline lineno="1606"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_aaceld_32k,aac_fmtp3244,FALSE);</highlight></codeline>
<codeline lineno="1607"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_aaceld_44k,aac_fmtp3244,FALSE);</highlight></codeline>
<codeline lineno="1608"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_aaceld_48k,aac_fmtp162248,FALSE);</highlight></codeline>
<codeline lineno="1609"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_isac,NULL,FALSE);</highlight></codeline>
<codeline lineno="1610"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_speex_uwb,</highlight><highlight class="stringliteral">&quot;vbr=on&quot;</highlight><highlight class="normal">,FALSE);</highlight></codeline>
<codeline lineno="1611"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_silk_nb,NULL,FALSE);</highlight></codeline>
<codeline lineno="1612"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_silk_mb,NULL,FALSE);</highlight></codeline>
<codeline lineno="1613"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_silk_swb,NULL,FALSE);</highlight></codeline>
<codeline lineno="1614"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_g726_16,NULL,FALSE);</highlight></codeline>
<codeline lineno="1615"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_g726_24,NULL,FALSE);</highlight></codeline>
<codeline lineno="1616"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_g726_32,NULL,FALSE);</highlight></codeline>
<codeline lineno="1617"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_g726_40,NULL,FALSE);</highlight></codeline>
<codeline lineno="1618"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_aal2_g726_16,NULL,FALSE);</highlight></codeline>
<codeline lineno="1619"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_aal2_g726_24,NULL,FALSE);</highlight></codeline>
<codeline lineno="1620"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_aal2_g726_32,NULL,FALSE);</highlight></codeline>
<codeline lineno="1621"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_aal2_g726_40,NULL,FALSE);</highlight></codeline>
<codeline lineno="1622"><highlight class="normal"></highlight></codeline>
<codeline lineno="1623"><highlight class="normal"></highlight></codeline>
<codeline lineno="1624"><highlight class="normal"></highlight></codeline>
<codeline lineno="1625"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1626"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*default<sp/>enabled<sp/>video<sp/>codecs,<sp/>in<sp/>order<sp/>of<sp/>preference*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1627"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_vp8,NULL,TRUE);</highlight></codeline>
<codeline lineno="1628"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_h264,</highlight><highlight class="stringliteral">&quot;profile-level-id=42801F&quot;</highlight><highlight class="normal">,TRUE);</highlight></codeline>
<codeline lineno="1629"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_mp4v,</highlight><highlight class="stringliteral">&quot;profile-level-id=3&quot;</highlight><highlight class="normal">,TRUE);</highlight></codeline>
<codeline lineno="1630"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_h263_1998,</highlight><highlight class="stringliteral">&quot;CIF=1;QCIF=1&quot;</highlight><highlight class="normal">,FALSE);</highlight></codeline>
<codeline lineno="1631"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_payload_type(lc,&amp;payload_type_h263,NULL,FALSE);</highlight></codeline>
<codeline lineno="1632"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1633"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*register<sp/>all<sp/>static<sp/>payload<sp/>types<sp/>declared<sp/>in<sp/>av_profile<sp/>of<sp/>oRTP,<sp/>if<sp/>not<sp/>already<sp/>declared<sp/>above*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1634"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_static_payloads(lc);</highlight></codeline>
<codeline lineno="1635"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1636"><highlight class="normal"></highlight></codeline>
<codeline lineno="1637"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_init(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*<sp/>lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="struct__LinphoneCoreVTable" kindref="compound">LinphoneCoreVTable</ref><sp/>*vtable,<sp/><ref refid="group__misc_1ga047b6550aab7dd244268e695fab98fd6" kindref="member">LpConfig</ref><sp/>*config,<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*<sp/>userdata){</highlight></codeline>
<codeline lineno="1638"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*remote_provisioning_uri<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="1639"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct__LinphoneCoreVTable" kindref="compound">LinphoneCoreVTable</ref>*<sp/>local_vtable=<sp/><ref refid="group__initializing_1gaeff3263420818d547a79b42ec6673fec" kindref="member">linphone_core_v_table_new</ref>();</highlight></codeline>
<codeline lineno="1640"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;Initializing<sp/>LinphoneCore<sp/>%s&quot;</highlight><highlight class="normal">,<sp/><ref refid="group__misc_1ga553b61ad32d7455ce69102025d383f90" kindref="member">linphone_core_get_version</ref>());</highlight></codeline>
<codeline lineno="1641"><highlight class="normal"></highlight></codeline>
<codeline lineno="1642"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;config=<ref refid="group__misc_1ga1b9cef775c85250a7420bdb121fa11a4" kindref="member">lp_config_ref</ref>(config);</highlight></codeline>
<codeline lineno="1643"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;data=userdata;</highlight></codeline>
<codeline lineno="1644"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;ringstream_autorelease=TRUE;</highlight></codeline>
<codeline lineno="1645"><highlight class="normal"></highlight></codeline>
<codeline lineno="1646"><highlight class="normal"></highlight></codeline>
<codeline lineno="1647"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>memcpy(local_vtable,vtable,</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(<ref refid="struct__LinphoneCoreVTable" kindref="compound">LinphoneCoreVTable</ref>));</highlight></codeline>
<codeline lineno="1648"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>_linphone_core_add_listener(lc,<sp/>local_vtable,<sp/>TRUE);</highlight></codeline>
<codeline lineno="1649"><highlight class="normal"></highlight></codeline>
<codeline lineno="1650"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_set_state(lc,LinphoneGlobalStartup,</highlight><highlight class="stringliteral">&quot;Starting<sp/>up&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="1651"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_init();</highlight></codeline>
<codeline lineno="1652"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_activate_log_serialization_if_needed();</highlight></codeline>
<codeline lineno="1653"><highlight class="normal"></highlight></codeline>
<codeline lineno="1654"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_init();</highlight></codeline>
<codeline lineno="1655"><highlight class="normal"></highlight></codeline>
<codeline lineno="1656"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_register_default_codecs(lc);</highlight></codeline>
<codeline lineno="1657"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Get<sp/>the<sp/>mediastreamer2<sp/>event<sp/>queue<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1658"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>This<sp/>allows<sp/>to<sp/>run<sp/>event&apos;s<sp/>callback<sp/>in<sp/>linphone_core_iterate()<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1659"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;msevq=ms_factory_get_event_queue(ms_factory_get_fallback());</highlight></codeline>
<codeline lineno="1660"><highlight class="normal"></highlight></codeline>
<codeline lineno="1661"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sal=sal_init();</highlight></codeline>
<codeline lineno="1662"><highlight class="normal"></highlight></codeline>
<codeline lineno="1663"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_set_user_pointer(lc-&gt;sal,lc);</highlight></codeline>
<codeline lineno="1664"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_set_callbacks(lc-&gt;sal,&amp;linphone_sal_callbacks);</highlight></codeline>
<codeline lineno="1665"><highlight class="normal"></highlight></codeline>
<codeline lineno="1666"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>TUNNEL_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1667"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;tunnel=linphone_core_tunnel_new(lc);</highlight></codeline>
<codeline lineno="1668"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1669"><highlight class="normal"></highlight></codeline>
<codeline lineno="1670"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;network_last_check<sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="1671"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;network_last_status<sp/>=<sp/>FALSE;</highlight></codeline>
<codeline lineno="1672"><highlight class="normal"></highlight></codeline>
<codeline lineno="1673"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;http_provider<sp/>=<sp/>belle_sip_stack_create_http_provider(sal_get_belle_sip_stack(lc-&gt;sal),<sp/></highlight><highlight class="stringliteral">&quot;0.0.0.0&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="1674"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;http_verify_policy<sp/>=<sp/>belle_tls_verify_policy_new();</highlight></codeline>
<codeline lineno="1675"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_http_provider_set_tls_verify_policy(lc-&gt;http_provider,lc-&gt;http_verify_policy);</highlight></codeline>
<codeline lineno="1676"><highlight class="normal"></highlight></codeline>
<codeline lineno="1677"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>certificates_config_read(lc);</highlight></codeline>
<codeline lineno="1678"><highlight class="normal"></highlight></codeline>
<codeline lineno="1679"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>remote_provisioning_uri<sp/>=<sp/><ref refid="group__initializing_1gafd1d893fa58a15873ab7848cf09c5df6" kindref="member">linphone_core_get_provisioning_uri</ref>(lc);</highlight></codeline>
<codeline lineno="1680"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(remote_provisioning_uri<sp/>==<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="1681"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_configuring_terminated(lc,<sp/>LinphoneConfiguringSkipped,<sp/>NULL);</highlight></codeline>
<codeline lineno="1682"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="comment">//<sp/>else<sp/>linphone_core_start<sp/>will<sp/>be<sp/>called<sp/>after<sp/>the<sp/>remote<sp/>provisioning<sp/>(see<sp/>linphone_core_iterate)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1683"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1684"><highlight class="normal"></highlight></codeline>
<codeline lineno="1704"><highlight class="normal"><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*<ref refid="group__initializing_1gac93ed982ae84a5a282a703c8433ca42f" kindref="member">linphone_core_new</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="struct__LinphoneCoreVTable" kindref="compound">LinphoneCoreVTable</ref><sp/>*vtable,</highlight></codeline>
<codeline lineno="1705"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*config_path,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*factory_config_path,<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*<sp/>userdata)</highlight></codeline>
<codeline lineno="1706"><highlight class="normal">{</highlight></codeline>
<codeline lineno="1707"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc;</highlight></codeline>
<codeline lineno="1708"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga047b6550aab7dd244268e695fab98fd6" kindref="member">LpConfig</ref><sp/>*config<sp/>=<sp/><ref refid="group__misc_1gaeca035860d7412231792c1aa91f75d27" kindref="member">lp_config_new_with_factory</ref>(config_path,<sp/>factory_config_path);</highlight></codeline>
<codeline lineno="1709"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc=<ref refid="group__initializing_1ga053bea294a7b33e4523a93be260724fa" kindref="member">linphone_core_new_with_config</ref>(vtable,<sp/>config,<sp/>userdata);</highlight></codeline>
<codeline lineno="1710"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gaace020f7929c787f235c9f99f2871205" kindref="member">lp_config_unref</ref>(config);</highlight></codeline>
<codeline lineno="1711"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc;</highlight></codeline>
<codeline lineno="1712"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1713"><highlight class="normal"></highlight></codeline>
<codeline lineno="1714"><highlight class="normal"><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*<ref refid="group__initializing_1ga053bea294a7b33e4523a93be260724fa" kindref="member">linphone_core_new_with_config</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="struct__LinphoneCoreVTable" kindref="compound">LinphoneCoreVTable</ref><sp/>*vtable,<sp/></highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/>_LpConfig<sp/>*config,<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*userdata)</highlight></codeline>
<codeline lineno="1715"><highlight class="normal">{</highlight></codeline>
<codeline lineno="1716"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*core<sp/>=<sp/>ms_new0(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>,<sp/>1);</highlight></codeline>
<codeline lineno="1717"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_init(core,<sp/>vtable,<sp/>config,<sp/>userdata);</highlight></codeline>
<codeline lineno="1718"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>core;</highlight></codeline>
<codeline lineno="1719"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1720"><highlight class="normal"></highlight></codeline>
<codeline lineno="1732"><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSList<sp/>*<ref refid="group__media__parameters_1ga8b649e401c9155420eba0712923cc201" kindref="member">linphone_core_get_audio_codecs</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="1733"><highlight class="normal">{</highlight></codeline>
<codeline lineno="1734"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;codecs_conf.audio_codecs;</highlight></codeline>
<codeline lineno="1735"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1736"><highlight class="normal"></highlight></codeline>
<codeline lineno="1748"><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSList<sp/>*<ref refid="group__media__parameters_1ga1b2b896da17654f8033e6f8a390a0589" kindref="member">linphone_core_get_video_codecs</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="1749"><highlight class="normal">{</highlight></codeline>
<codeline lineno="1750"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;codecs_conf.video_codecs;</highlight></codeline>
<codeline lineno="1751"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1752"><highlight class="normal"></highlight></codeline>
<codeline lineno="1760"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__proxies_1ga8ff876ddd266a66e315fe0576537fb77" kindref="member">linphone_core_set_primary_contact</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*contact)</highlight></codeline>
<codeline lineno="1761"><highlight class="normal">{</highlight></codeline>
<codeline lineno="1762"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref><sp/>*ctt;</highlight></codeline>
<codeline lineno="1763"><highlight class="normal"></highlight></codeline>
<codeline lineno="1764"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(<sp/>lc-&gt;sip_conf.contact<sp/>!=<sp/>NULL<sp/>&amp;&amp;<sp/>strcmp(lc-&gt;sip_conf.contact,<sp/>contact)<sp/>==<sp/>0){</highlight></codeline>
<codeline lineno="1765"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>changing<sp/>for<sp/>the<sp/>same<sp/>contact:<sp/>no<sp/>need<sp/>to<sp/>do<sp/>anything<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1766"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="1767"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1768"><highlight class="normal"></highlight></codeline>
<codeline lineno="1769"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((ctt=<ref refid="group__linphone__address_1ga301c9884c0bc8b1050fe790d424e0b49" kindref="member">linphone_address_new</ref>(contact))==0)<sp/>{</highlight></codeline>
<codeline lineno="1770"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_error(</highlight><highlight class="stringliteral">&quot;Bad<sp/>contact<sp/>url:<sp/>%s&quot;</highlight><highlight class="normal">,contact);</highlight></codeline>
<codeline lineno="1771"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="1772"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1773"><highlight class="normal"></highlight></codeline>
<codeline lineno="1774"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sip_conf.contact!=NULL)<sp/>ms_free(lc-&gt;sip_conf.contact);</highlight></codeline>
<codeline lineno="1775"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sip_conf.contact=ms_strdup(contact);</highlight></codeline>
<codeline lineno="1776"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;contact&quot;</highlight><highlight class="normal">,<sp/>lc-&gt;sip_conf.contact);</highlight></codeline>
<codeline lineno="1777"><highlight class="normal"></highlight></codeline>
<codeline lineno="1778"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>clean<sp/>the<sp/>guessed<sp/>contact,<sp/>we<sp/>have<sp/>to<sp/>regenerate<sp/>it<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1779"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sip_conf.guessed_contact!=NULL){</highlight></codeline>
<codeline lineno="1780"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;sip_conf.guessed_contact);</highlight></codeline>
<codeline lineno="1781"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sip_conf.guessed_contact=NULL;</highlight></codeline>
<codeline lineno="1782"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1783"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__linphone__address_1ga5777f2976c71a48cf2b3f03c61818f13" kindref="member">linphone_address_destroy</ref>(ctt);</highlight></codeline>
<codeline lineno="1784"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="1785"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1786"><highlight class="normal"></highlight></codeline>
<codeline lineno="1787"><highlight class="normal"></highlight></codeline>
<codeline lineno="1788"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>update_primary_contact(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="1789"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*guessed=NULL;</highlight></codeline>
<codeline lineno="1790"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>tmp[LINPHONE_IPADDR_SIZE];</highlight></codeline>
<codeline lineno="1791"><highlight class="normal"></highlight></codeline>
<codeline lineno="1792"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref><sp/>*url;</highlight></codeline>
<codeline lineno="1793"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sip_conf.guessed_contact!=NULL){</highlight></codeline>
<codeline lineno="1794"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;sip_conf.guessed_contact);</highlight></codeline>
<codeline lineno="1795"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sip_conf.guessed_contact=NULL;</highlight></codeline>
<codeline lineno="1796"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1797"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>url=<ref refid="group__linphone__address_1ga301c9884c0bc8b1050fe790d424e0b49" kindref="member">linphone_address_new</ref>(lc-&gt;sip_conf.contact);</highlight></codeline>
<codeline lineno="1798"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!url){</highlight></codeline>
<codeline lineno="1799"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_error(</highlight><highlight class="stringliteral">&quot;Could<sp/>not<sp/>parse<sp/>identity<sp/>contact<sp/>!&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="1800"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>url=<ref refid="group__linphone__address_1ga301c9884c0bc8b1050fe790d424e0b49" kindref="member">linphone_address_new</ref>(</highlight><highlight class="stringliteral">&quot;sip:unknown@unkwownhost&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="1801"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1802"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_get_local_ip(lc,<sp/>AF_UNSPEC,<sp/>NULL,<sp/>tmp);</highlight></codeline>
<codeline lineno="1803"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(strcmp(tmp,</highlight><highlight class="stringliteral">&quot;127.0.0.1&quot;</highlight><highlight class="normal">)==0<sp/>||<sp/>strcmp(tmp,</highlight><highlight class="stringliteral">&quot;::1&quot;</highlight><highlight class="normal">)==0<sp/>){</highlight></codeline>
<codeline lineno="1804"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;Local<sp/>loopback<sp/>network<sp/>only<sp/>!&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="1805"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sip_conf.loopback_only=TRUE;</highlight></codeline>
<codeline lineno="1806"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>lc-&gt;sip_conf.loopback_only=FALSE;</highlight></codeline>
<codeline lineno="1807"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__linphone__address_1ga947819a2bbf6aedcd8e5903469cffec5" kindref="member">linphone_address_set_domain</ref>(url,tmp);</highlight></codeline>
<codeline lineno="1808"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__linphone__address_1gae0b7f4871736c9182db6665fea2a3bf2" kindref="member">linphone_address_set_port</ref>(url,<ref refid="group__network__parameters_1ga8d1bfaa5da13e6c1ef60f30498e8dddd" kindref="member">linphone_core_get_sip_port</ref>(lc));</highlight></codeline>
<codeline lineno="1809"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>guessed=<ref refid="group__linphone__address_1ga24c1a16f49f8b72f2bab65cc5d8a51af" kindref="member">linphone_address_as_string</ref>(url);</highlight></codeline>
<codeline lineno="1810"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sip_conf.guessed_contact=guessed;</highlight></codeline>
<codeline lineno="1811"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__linphone__address_1ga5777f2976c71a48cf2b3f03c61818f13" kindref="member">linphone_address_destroy</ref>(url);</highlight></codeline>
<codeline lineno="1812"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1813"><highlight class="normal"></highlight></codeline>
<codeline lineno="1819"><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<ref refid="group__proxies_1ga147c072e33bdf5d44a3b95b28b4b27a1" kindref="member">linphone_core_get_primary_contact</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="1820"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*identity;</highlight></codeline>
<codeline lineno="1821"><highlight class="normal"></highlight></codeline>
<codeline lineno="1822"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sip_conf.guess_hostname){</highlight></codeline>
<codeline lineno="1823"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sip_conf.guessed_contact==NULL<sp/>||<sp/>lc-&gt;sip_conf.loopback_only){</highlight></codeline>
<codeline lineno="1824"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>update_primary_contact(lc);</highlight></codeline>
<codeline lineno="1825"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1826"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>identity=lc-&gt;sip_conf.guessed_contact;</highlight></codeline>
<codeline lineno="1827"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="1828"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>identity=lc-&gt;sip_conf.contact;</highlight></codeline>
<codeline lineno="1829"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1830"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>identity;</highlight></codeline>
<codeline lineno="1831"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1832"><highlight class="normal"></highlight></codeline>
<codeline lineno="1838"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__proxies_1gace31b80363e608291ec7df0ccb0b4cf7" kindref="member">linphone_core_set_guess_hostname</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>val){</highlight></codeline>
<codeline lineno="1839"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sip_conf.guess_hostname=val;</highlight></codeline>
<codeline lineno="1840"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1841"><highlight class="normal"></highlight></codeline>
<codeline lineno="1847"><highlight class="normal">bool_t<sp/><ref refid="group__proxies_1ga1db010bcc9027f1e2aead2e2ddc51eef" kindref="member">linphone_core_get_guess_hostname</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="1848"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;sip_conf.guess_hostname;</highlight></codeline>
<codeline lineno="1849"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1850"><highlight class="normal"></highlight></codeline>
<codeline lineno="1855"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_enable_lime(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>val){</highlight></codeline>
<codeline lineno="1856"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc)){</highlight></codeline>
<codeline lineno="1857"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;lime&quot;</highlight><highlight class="normal">,val);</highlight></codeline>
<codeline lineno="1858"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1859"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1860"><highlight class="normal"></highlight></codeline>
<codeline lineno="1861"><highlight class="normal">bool_t<sp/>linphone_core_lime_enabled(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="1862"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;lime&quot;</highlight><highlight class="normal">,<sp/>FALSE)<sp/>&amp;&amp;<sp/>lime_is_available());</highlight></codeline>
<codeline lineno="1863"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1864"><highlight class="normal"></highlight></codeline>
<codeline lineno="1871"><highlight class="normal"><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref><sp/>*<ref refid="group__proxies_1gae1788b49053b46190f7b305d8d21d6af" kindref="member">linphone_core_get_primary_contact_parsed</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="1872"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__linphone__address_1ga301c9884c0bc8b1050fe790d424e0b49" kindref="member">linphone_address_new</ref>(<ref refid="group__proxies_1ga147c072e33bdf5d44a3b95b28b4b27a1" kindref="member">linphone_core_get_primary_contact</ref>(lc));</highlight></codeline>
<codeline lineno="1873"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1874"><highlight class="normal"></highlight></codeline>
<codeline lineno="1885"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga1334576573101667d9cec851bf0f83df" kindref="member">linphone_core_set_audio_codecs</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>MSList<sp/>*codecs){</highlight></codeline>
<codeline lineno="1886"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;codecs_conf.audio_codecs!=NULL)<sp/>ms_list_free(lc-&gt;codecs_conf.audio_codecs);</highlight></codeline>
<codeline lineno="1887"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;codecs_conf.audio_codecs=codecs;</highlight></codeline>
<codeline lineno="1888"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>_linphone_core_codec_config_write(lc);</highlight></codeline>
<codeline lineno="1889"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_update_allocated_audio_bandwidth(lc);</highlight></codeline>
<codeline lineno="1890"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="1891"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1892"><highlight class="normal"></highlight></codeline>
<codeline lineno="1903"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga3b066f817fd4c980198416b8b7a1fbdf" kindref="member">linphone_core_set_video_codecs</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>MSList<sp/>*codecs){</highlight></codeline>
<codeline lineno="1904"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;codecs_conf.video_codecs!=NULL)<sp/>ms_list_free(lc-&gt;codecs_conf.video_codecs);</highlight></codeline>
<codeline lineno="1905"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;codecs_conf.video_codecs=codecs;</highlight></codeline>
<codeline lineno="1906"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>_linphone_core_codec_config_write(lc);</highlight></codeline>
<codeline lineno="1907"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="1908"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1909"><highlight class="normal"></highlight></codeline>
<codeline lineno="1916"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_enable_generic_confort_noise(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>enabled){</highlight></codeline>
<codeline lineno="1917"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;misc&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;use_cn&quot;</highlight><highlight class="normal">,<sp/>enabled);</highlight></codeline>
<codeline lineno="1918"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1919"><highlight class="normal"></highlight></codeline>
<codeline lineno="1925"><highlight class="normal">bool_t<sp/>linphone_core_generic_confort_noise_enabled(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="1926"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;misc&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;use_cn&quot;</highlight><highlight class="normal">,<sp/>FALSE);</highlight></codeline>
<codeline lineno="1927"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1928"><highlight class="normal"></highlight></codeline>
<codeline lineno="1929"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSList<sp/>*<sp/><ref refid="group__buddy__list_1gab5522f2665b5da0b750b32880eca24d4" kindref="member">linphone_core_get_friend_list</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="1930"><highlight class="normal">{</highlight></codeline>
<codeline lineno="1931"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;friends;</highlight></codeline>
<codeline lineno="1932"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1933"><highlight class="normal"></highlight></codeline>
<codeline lineno="1934"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gaf54c428ef4f44158be0204ba60031627" kindref="member">linphone_core_enable_audio_adaptive_jittcomp</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*<sp/>lc,<sp/>bool_t<sp/>val)</highlight></codeline>
<codeline lineno="1935"><highlight class="normal">{</highlight></codeline>
<codeline lineno="1936"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;rtp_conf.audio_adaptive_jitt_comp_enabled<sp/>=<sp/>val;</highlight></codeline>
<codeline lineno="1937"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1938"><highlight class="normal"></highlight></codeline>
<codeline lineno="1939"><highlight class="normal">bool_t<sp/><ref refid="group__media__parameters_1gae3a5b465477037cbafe1d92510be375f" kindref="member">linphone_core_audio_adaptive_jittcomp_enabled</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*<sp/>lc)</highlight></codeline>
<codeline lineno="1940"><highlight class="normal">{</highlight></codeline>
<codeline lineno="1941"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;rtp_conf.audio_adaptive_jitt_comp_enabled;</highlight></codeline>
<codeline lineno="1942"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1943"><highlight class="normal"></highlight></codeline>
<codeline lineno="1949"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga64acd21473b504e3cd1a91a913253119" kindref="member">linphone_core_get_audio_jittcomp</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="1950"><highlight class="normal">{</highlight></codeline>
<codeline lineno="1951"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;rtp_conf.audio_jitt_comp;</highlight></codeline>
<codeline lineno="1952"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1953"><highlight class="normal"></highlight></codeline>
<codeline lineno="1954"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga1043aa47bf45a635dbc5bf2ceea77cfa" kindref="member">linphone_core_enable_video_adaptive_jittcomp</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*<sp/>lc,<sp/>bool_t<sp/>val)</highlight></codeline>
<codeline lineno="1955"><highlight class="normal">{</highlight></codeline>
<codeline lineno="1956"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;rtp_conf.video_adaptive_jitt_comp_enabled<sp/>=<sp/>val;</highlight></codeline>
<codeline lineno="1957"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1958"><highlight class="normal"></highlight></codeline>
<codeline lineno="1959"><highlight class="normal">bool_t<sp/><ref refid="group__media__parameters_1ga9f5b13c8540ee8f7f040187947f5889e" kindref="member">linphone_core_video_adaptive_jittcomp_enabled</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*<sp/>lc)</highlight></codeline>
<codeline lineno="1960"><highlight class="normal">{</highlight></codeline>
<codeline lineno="1961"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;rtp_conf.video_adaptive_jitt_comp_enabled;</highlight></codeline>
<codeline lineno="1962"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1963"><highlight class="normal"></highlight></codeline>
<codeline lineno="1969"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga324acd967de53ceee413a00f8f6aa82f" kindref="member">linphone_core_get_video_jittcomp</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="1970"><highlight class="normal">{</highlight></codeline>
<codeline lineno="1971"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;rtp_conf.video_jitt_comp;</highlight></codeline>
<codeline lineno="1972"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1973"><highlight class="normal"></highlight></codeline>
<codeline lineno="1979"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ga6edfbe884d0767c1ee82ce57da659c7b" kindref="member">linphone_core_get_audio_port</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="1980"><highlight class="normal">{</highlight></codeline>
<codeline lineno="1981"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;rtp_conf.audio_rtp_min_port;</highlight></codeline>
<codeline lineno="1982"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1983"><highlight class="normal"></highlight></codeline>
<codeline lineno="1989"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ga1c90a61621a177ef26319ffbee2e3b6b" kindref="member">linphone_core_get_audio_port_range</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>*min_port,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>*max_port)</highlight></codeline>
<codeline lineno="1990"><highlight class="normal">{</highlight></codeline>
<codeline lineno="1991"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*min_port<sp/>=<sp/>lc-&gt;rtp_conf.audio_rtp_min_port;</highlight></codeline>
<codeline lineno="1992"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*max_port<sp/>=<sp/>lc-&gt;rtp_conf.audio_rtp_max_port;</highlight></codeline>
<codeline lineno="1993"><highlight class="normal">}</highlight></codeline>
<codeline lineno="1994"><highlight class="normal"></highlight></codeline>
<codeline lineno="2000"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ga3ec39e1205197d41e9862008f24f521c" kindref="member">linphone_core_get_video_port</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="2001"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;rtp_conf.video_rtp_min_port;</highlight></codeline>
<codeline lineno="2002"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2003"><highlight class="normal"></highlight></codeline>
<codeline lineno="2009"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ga6d802f4c671e6a4c3b39798246c23aa1" kindref="member">linphone_core_get_video_port_range</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>*min_port,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>*max_port)</highlight></codeline>
<codeline lineno="2010"><highlight class="normal">{</highlight></codeline>
<codeline lineno="2011"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*min_port<sp/>=<sp/>lc-&gt;rtp_conf.video_rtp_min_port;</highlight></codeline>
<codeline lineno="2012"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*max_port<sp/>=<sp/>lc-&gt;rtp_conf.video_rtp_max_port;</highlight></codeline>
<codeline lineno="2013"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2014"><highlight class="normal"></highlight></codeline>
<codeline lineno="2015"><highlight class="normal"></highlight></codeline>
<codeline lineno="2025"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga2c7381905af4236ff0e128e7c9a56d32" kindref="member">linphone_core_get_nortp_timeout</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="2026"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;rtp_conf.nortp_timeout;</highlight></codeline>
<codeline lineno="2027"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2028"><highlight class="normal"></highlight></codeline>
<codeline lineno="2029"><highlight class="normal">bool_t<sp/>linphone_core_get_rtp_no_xmit_on_audio_mute(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="2030"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;rtp_conf.rtp_no_xmit_on_audio_mute;</highlight></codeline>
<codeline lineno="2031"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2032"><highlight class="normal"></highlight></codeline>
<codeline lineno="2033"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>apply_jitter_value(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>value,<sp/>MSFormatType<sp/>stype){</highlight></codeline>
<codeline lineno="2034"><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="2035"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList<sp/>*it;</highlight></codeline>
<codeline lineno="2036"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(it=lc-&gt;calls;it!=NULL;it=it-&gt;next){</highlight></codeline>
<codeline lineno="2037"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MediaStream<sp/>*ms;</highlight></codeline>
<codeline lineno="2038"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call=(<ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref>*)it-&gt;data;</highlight></codeline>
<codeline lineno="2039"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms<sp/>=<sp/>stype==MSAudio<sp/>?<sp/>(MediaStream*)call-&gt;audiostream<sp/>:<sp/>(MediaStream*)call-&gt;videostream;</highlight></codeline>
<codeline lineno="2040"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>if<sp/>(ms){</highlight></codeline>
<codeline lineno="2041"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>RtpSession<sp/>*s=ms-&gt;sessions.rtp_session;</highlight></codeline>
<codeline lineno="2042"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(s){</highlight></codeline>
<codeline lineno="2043"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(value&gt;0){</highlight></codeline>
<codeline lineno="2044"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;Jitter<sp/>buffer<sp/>size<sp/>set<sp/>to<sp/>[%i]<sp/>ms<sp/>on<sp/>call<sp/>[%p]&quot;</highlight><highlight class="normal">,value,call);</highlight></codeline>
<codeline lineno="2045"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>rtp_session_set_jitter_compensation(s,value);</highlight></codeline>
<codeline lineno="2046"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>rtp_session_enable_jitter_buffer(s,TRUE);</highlight></codeline>
<codeline lineno="2047"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(value==0){</highlight></codeline>
<codeline lineno="2048"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;Jitter<sp/>buffer<sp/>is<sp/>disabled<sp/>per<sp/>application<sp/>request<sp/>on<sp/>call<sp/>[%p]&quot;</highlight><highlight class="normal">,call);</highlight></codeline>
<codeline lineno="2049"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>rtp_session_enable_jitter_buffer(s,FALSE);</highlight></codeline>
<codeline lineno="2050"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2051"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2052"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2053"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2054"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2055"><highlight class="normal"></highlight></codeline>
<codeline lineno="2063"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gad19ea0dbf3ef765ce726ed87498e6573" kindref="member">linphone_core_set_audio_jittcomp</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>value)</highlight></codeline>
<codeline lineno="2064"><highlight class="normal">{</highlight></codeline>
<codeline lineno="2065"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;rtp_conf.audio_jitt_comp=value;</highlight></codeline>
<codeline lineno="2066"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>apply_jitter_value(lc,<sp/>value,<sp/>MSAudio);</highlight></codeline>
<codeline lineno="2067"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2068"><highlight class="normal"></highlight></codeline>
<codeline lineno="2076"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga15e58159a4475b9c625e971375f77596" kindref="member">linphone_core_set_video_jittcomp</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>value)</highlight></codeline>
<codeline lineno="2077"><highlight class="normal">{</highlight></codeline>
<codeline lineno="2078"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;rtp_conf.video_jitt_comp=value;</highlight></codeline>
<codeline lineno="2079"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>apply_jitter_value(lc,<sp/>value,<sp/>MSVideo);</highlight></codeline>
<codeline lineno="2080"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2081"><highlight class="normal"></highlight></codeline>
<codeline lineno="2082"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_set_rtp_no_xmit_on_audio_mute(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,bool_t<sp/>rtp_no_xmit_on_audio_mute){</highlight></codeline>
<codeline lineno="2083"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;rtp_conf.rtp_no_xmit_on_audio_mute=rtp_no_xmit_on_audio_mute;</highlight></codeline>
<codeline lineno="2084"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2085"><highlight class="normal"></highlight></codeline>
<codeline lineno="2093"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ga886e1f383c93ef3c031622bf612cdcd4" kindref="member">linphone_core_set_audio_port</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>port)</highlight></codeline>
<codeline lineno="2094"><highlight class="normal">{</highlight></codeline>
<codeline lineno="2095"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;rtp_conf.audio_rtp_min_port=lc-&gt;rtp_conf.audio_rtp_max_port=port;</highlight></codeline>
<codeline lineno="2096"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2097"><highlight class="normal"></highlight></codeline>
<codeline lineno="2102"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gaa5b56dcf8c1cbd1b7bbbe05279da9409" kindref="member">linphone_core_set_audio_port_range</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>min_port,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>max_port)</highlight></codeline>
<codeline lineno="2103"><highlight class="normal">{</highlight></codeline>
<codeline lineno="2104"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;rtp_conf.audio_rtp_min_port=min_port;</highlight></codeline>
<codeline lineno="2105"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;rtp_conf.audio_rtp_max_port=max_port;</highlight></codeline>
<codeline lineno="2106"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2107"><highlight class="normal"></highlight></codeline>
<codeline lineno="2115"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ga7c3341cec359dfffb671f68653fd151e" kindref="member">linphone_core_set_video_port</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>port){</highlight></codeline>
<codeline lineno="2116"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;rtp_conf.video_rtp_min_port=lc-&gt;rtp_conf.video_rtp_max_port=port;</highlight></codeline>
<codeline lineno="2117"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2118"><highlight class="normal"></highlight></codeline>
<codeline lineno="2123"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga505752de4885794d848d94f4143df7a7" kindref="member">linphone_core_set_video_port_range</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>min_port,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>max_port)</highlight></codeline>
<codeline lineno="2124"><highlight class="normal">{</highlight></codeline>
<codeline lineno="2125"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;rtp_conf.video_rtp_min_port=min_port;</highlight></codeline>
<codeline lineno="2126"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;rtp_conf.video_rtp_max_port=max_port;</highlight></codeline>
<codeline lineno="2127"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2128"><highlight class="normal"></highlight></codeline>
<codeline lineno="2135"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga4d7cd6c4ddaaeee654d228a21a0b3097" kindref="member">linphone_core_set_nortp_timeout</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>nortp_timeout){</highlight></codeline>
<codeline lineno="2136"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;rtp_conf.nortp_timeout=nortp_timeout;</highlight></codeline>
<codeline lineno="2137"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2138"><highlight class="normal"></highlight></codeline>
<codeline lineno="2144"><highlight class="normal">bool_t<sp/><ref refid="group__media__parameters_1ga8f12d74bb017fea6b268d0732924f25d" kindref="member">linphone_core_get_use_info_for_dtmf</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="2145"><highlight class="normal">{</highlight></codeline>
<codeline lineno="2146"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;use_info&quot;</highlight><highlight class="normal">,<sp/>0);</highlight></codeline>
<codeline lineno="2147"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2148"><highlight class="normal"></highlight></codeline>
<codeline lineno="2154"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga4deb3152d6b1c73bb5ae130b04126bc6" kindref="member">linphone_core_set_use_info_for_dtmf</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,bool_t<sp/>use_info)</highlight></codeline>
<codeline lineno="2155"><highlight class="normal">{</highlight></codeline>
<codeline lineno="2156"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc))<sp/>{</highlight></codeline>
<codeline lineno="2157"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;use_info&quot;</highlight><highlight class="normal">,<sp/>use_info);</highlight></codeline>
<codeline lineno="2158"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2159"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2160"><highlight class="normal"></highlight></codeline>
<codeline lineno="2166"><highlight class="normal">bool_t<sp/><ref refid="group__media__parameters_1gaa107c110a140a5f4cc82053147db772d" kindref="member">linphone_core_get_use_rfc2833_for_dtmf</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="2167"><highlight class="normal">{</highlight></codeline>
<codeline lineno="2168"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;use_rfc2833&quot;</highlight><highlight class="normal">,<sp/>1);</highlight></codeline>
<codeline lineno="2169"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2170"><highlight class="normal"></highlight></codeline>
<codeline lineno="2176"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga60a532c71bb575c90f1c2f572289373a" kindref="member">linphone_core_set_use_rfc2833_for_dtmf</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,bool_t<sp/>use_rfc2833)</highlight></codeline>
<codeline lineno="2177"><highlight class="normal">{</highlight></codeline>
<codeline lineno="2178"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc))<sp/>{</highlight></codeline>
<codeline lineno="2179"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;use_rfc2833&quot;</highlight><highlight class="normal">,<sp/>use_rfc2833);</highlight></codeline>
<codeline lineno="2180"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2181"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2182"><highlight class="normal"></highlight></codeline>
<codeline lineno="2189"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ga8d1bfaa5da13e6c1ef60f30498e8dddd" kindref="member">linphone_core_get_sip_port</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="2190"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct__LCSipTransports" kindref="compound">LCSipTransports</ref><sp/>tr;</highlight></codeline>
<codeline lineno="2191"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__network__parameters_1ga94d3f602f02195ee750bdbac6c1ad49e" kindref="member">linphone_core_get_sip_transports_used</ref>(lc,&amp;tr);</highlight></codeline>
<codeline lineno="2192"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>tr.<ref refid="struct__LCSipTransports_1a07ac7c1bcadb37cd529891388c89a7fb" kindref="member">udp_port</ref>&gt;0<sp/>?<sp/>tr.<ref refid="struct__LCSipTransports_1a07ac7c1bcadb37cd529891388c89a7fb" kindref="member">udp_port</ref><sp/>:<sp/>(tr.<ref refid="struct__LCSipTransports_1aed73e2a8a17c55f8511fb6d3eaa65d7b" kindref="member">tcp_port</ref><sp/>&gt;<sp/>0<sp/>?<sp/>tr.<ref refid="struct__LCSipTransports_1aed73e2a8a17c55f8511fb6d3eaa65d7b" kindref="member">tcp_port</ref><sp/>:<sp/>tr.<ref refid="struct__LCSipTransports_1ae23a827fac01111c0e8a3ece822ede93" kindref="member">tls_port</ref>);</highlight></codeline>
<codeline lineno="2193"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2194"><highlight class="normal"></highlight></codeline>
<codeline lineno="2195"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>_ua_name[64]=</highlight><highlight class="stringliteral">&quot;Linphone&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="2196"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>_ua_version[64]=LIBLINPHONE_VERSION;</highlight></codeline>
<codeline lineno="2197"><highlight class="normal"></highlight></codeline>
<codeline lineno="2203"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__misc_1gae5adf09d448504db1338b9cb8505adc5" kindref="member">linphone_core_set_user_agent</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*name,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*ver){</highlight></codeline>
<codeline lineno="2204"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>ua_string[256];</highlight></codeline>
<codeline lineno="2205"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>snprintf(ua_string,<sp/></highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(ua_string)<sp/>-<sp/>1,<sp/></highlight><highlight class="stringliteral">&quot;%s/%s&quot;</highlight><highlight class="normal">,<sp/>name?name:</highlight><highlight class="stringliteral">&quot;&quot;</highlight><highlight class="normal">,<sp/>ver?ver:</highlight><highlight class="stringliteral">&quot;&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="2206"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sal)<sp/>{</highlight></codeline>
<codeline lineno="2207"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_set_user_agent(lc-&gt;sal,<sp/>ua_string);</highlight></codeline>
<codeline lineno="2208"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_append_stack_string_to_user_agent(lc-&gt;sal);</highlight></codeline>
<codeline lineno="2209"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2210"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2211"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*linphone_core_get_user_agent(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="2212"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>sal_get_user_agent(lc-&gt;sal);</highlight></codeline>
<codeline lineno="2213"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2214"><highlight class="normal"></highlight></codeline>
<codeline lineno="2215"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*linphone_core_get_user_agent_name(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">){</highlight></codeline>
<codeline lineno="2216"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>_ua_name;</highlight></codeline>
<codeline lineno="2217"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2218"><highlight class="normal"></highlight></codeline>
<codeline lineno="2219"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*linphone_core_get_user_agent_version(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">){</highlight></codeline>
<codeline lineno="2220"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>_ua_version;</highlight></codeline>
<codeline lineno="2221"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2222"><highlight class="normal"></highlight></codeline>
<codeline lineno="2223"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>transport_error(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>transport,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>port){</highlight></codeline>
<codeline lineno="2224"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*msg=ortp_strdup_printf(</highlight><highlight class="stringliteral">&quot;Could<sp/>not<sp/>start<sp/>%s<sp/>transport<sp/>on<sp/>port<sp/>%i,<sp/>maybe<sp/>this<sp/>port<sp/>is<sp/>already<sp/>used.&quot;</highlight><highlight class="normal">,transport,port);</highlight></codeline>
<codeline lineno="2225"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;%s&quot;</highlight><highlight class="normal">,msg);</highlight></codeline>
<codeline lineno="2226"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_display_warning(lc,msg);</highlight></codeline>
<codeline lineno="2227"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(msg);</highlight></codeline>
<codeline lineno="2228"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2229"><highlight class="normal"></highlight></codeline>
<codeline lineno="2230"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>bool_t<sp/>transports_unchanged(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="struct__LCSipTransports" kindref="compound">LCSipTransports</ref><sp/>*<sp/>tr1,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="struct__LCSipTransports" kindref="compound">LCSipTransports</ref><sp/>*<sp/>tr2){</highlight></codeline>
<codeline lineno="2231"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2232"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tr2-&gt;<ref refid="struct__LCSipTransports_1a07ac7c1bcadb37cd529891388c89a7fb" kindref="member">udp_port</ref>==tr1-&gt;<ref refid="struct__LCSipTransports_1a07ac7c1bcadb37cd529891388c89a7fb" kindref="member">udp_port</ref><sp/>&amp;&amp;</highlight></codeline>
<codeline lineno="2233"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tr2-&gt;<ref refid="struct__LCSipTransports_1aed73e2a8a17c55f8511fb6d3eaa65d7b" kindref="member">tcp_port</ref>==tr1-&gt;<ref refid="struct__LCSipTransports_1aed73e2a8a17c55f8511fb6d3eaa65d7b" kindref="member">tcp_port</ref><sp/>&amp;&amp;</highlight></codeline>
<codeline lineno="2234"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tr2-&gt;<ref refid="struct__LCSipTransports_1a8078250b0016c66864319153c21705ff" kindref="member">dtls_port</ref>==tr1-&gt;<ref refid="struct__LCSipTransports_1a8078250b0016c66864319153c21705ff" kindref="member">dtls_port</ref><sp/>&amp;&amp;</highlight></codeline>
<codeline lineno="2235"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tr2-&gt;<ref refid="struct__LCSipTransports_1ae23a827fac01111c0e8a3ece822ede93" kindref="member">tls_port</ref>==tr1-&gt;<ref refid="struct__LCSipTransports_1ae23a827fac01111c0e8a3ece822ede93" kindref="member">tls_port</ref>;</highlight></codeline>
<codeline lineno="2236"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2237"><highlight class="normal"></highlight></codeline>
<codeline lineno="2238"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>_linphone_core_apply_transports(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="2239"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>Sal<sp/>*sal=lc-&gt;sal;</highlight></codeline>
<codeline lineno="2240"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*anyaddr;</highlight></codeline>
<codeline lineno="2241"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct__LCSipTransports" kindref="compound">LCSipTransports</ref><sp/>*tr=&amp;lc-&gt;sip_conf.transports;</highlight></codeline>
<codeline lineno="2242"><highlight class="normal"></highlight></codeline>
<codeline lineno="2243"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*first<sp/>of<sp/>all<sp/>invalidate<sp/>all<sp/>current<sp/>registrations<sp/>so<sp/>that<sp/>we<sp/>can<sp/>register<sp/>again<sp/>with<sp/>new<sp/>transports*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2244"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>__linphone_core_invalidate_registers(lc);</highlight></codeline>
<codeline lineno="2245"><highlight class="normal"></highlight></codeline>
<codeline lineno="2246"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sip_conf.ipv6_enabled)</highlight></codeline>
<codeline lineno="2247"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>anyaddr=</highlight><highlight class="stringliteral">&quot;::0&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="2248"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2249"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>anyaddr=</highlight><highlight class="stringliteral">&quot;0.0.0.0&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="2250"><highlight class="normal"></highlight></codeline>
<codeline lineno="2251"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_unlisten_ports(sal);</highlight></codeline>
<codeline lineno="2252"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;tunnel<sp/>&amp;&amp;<sp/><ref refid="group__tunnel_1ga92b4df41ad2c71ce4e59de5acd37674b" kindref="member">linphone_tunnel_sip_enabled</ref>(lc-&gt;tunnel)<sp/>&amp;&amp;<sp/><ref refid="group__tunnel_1gaf5236ffc93b2a983fcb888c0f4614d85" kindref="member">linphone_tunnel_get_activated</ref>(lc-&gt;tunnel)){</highlight></codeline>
<codeline lineno="2253"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sal_listen_port(sal,anyaddr,tr-&gt;<ref refid="struct__LCSipTransports_1a07ac7c1bcadb37cd529891388c89a7fb" kindref="member">udp_port</ref>,SalTransportUDP,TRUE)!=0){</highlight></codeline>
<codeline lineno="2254"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>transport_error(lc,</highlight><highlight class="stringliteral">&quot;udp+tunnel&quot;</highlight><highlight class="normal">,tr-&gt;<ref refid="struct__LCSipTransports_1a07ac7c1bcadb37cd529891388c89a7fb" kindref="member">udp_port</ref>);</highlight></codeline>
<codeline lineno="2255"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2256"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="2257"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(tr-&gt;<ref refid="struct__LCSipTransports_1a07ac7c1bcadb37cd529891388c89a7fb" kindref="member">udp_port</ref>!=0){</highlight></codeline>
<codeline lineno="2258"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sal_listen_port(sal,anyaddr,tr-&gt;<ref refid="struct__LCSipTransports_1a07ac7c1bcadb37cd529891388c89a7fb" kindref="member">udp_port</ref>,SalTransportUDP,FALSE)!=0){</highlight></codeline>
<codeline lineno="2259"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>transport_error(lc,</highlight><highlight class="stringliteral">&quot;udp&quot;</highlight><highlight class="normal">,tr-&gt;<ref refid="struct__LCSipTransports_1a07ac7c1bcadb37cd529891388c89a7fb" kindref="member">udp_port</ref>);</highlight></codeline>
<codeline lineno="2260"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2261"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2262"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(tr-&gt;<ref refid="struct__LCSipTransports_1aed73e2a8a17c55f8511fb6d3eaa65d7b" kindref="member">tcp_port</ref>!=0){</highlight></codeline>
<codeline lineno="2263"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sal_listen_port<sp/>(sal,anyaddr,tr-&gt;<ref refid="struct__LCSipTransports_1aed73e2a8a17c55f8511fb6d3eaa65d7b" kindref="member">tcp_port</ref>,SalTransportTCP,FALSE)!=0){</highlight></codeline>
<codeline lineno="2264"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>transport_error(lc,</highlight><highlight class="stringliteral">&quot;tcp&quot;</highlight><highlight class="normal">,tr-&gt;<ref refid="struct__LCSipTransports_1aed73e2a8a17c55f8511fb6d3eaa65d7b" kindref="member">tcp_port</ref>);</highlight></codeline>
<codeline lineno="2265"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2266"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2267"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_sip_transport_supported(lc,LinphoneTransportTls)){</highlight></codeline>
<codeline lineno="2268"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(tr-&gt;<ref refid="struct__LCSipTransports_1ae23a827fac01111c0e8a3ece822ede93" kindref="member">tls_port</ref>!=0){</highlight></codeline>
<codeline lineno="2269"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sal_listen_port<sp/>(sal,anyaddr,tr-&gt;<ref refid="struct__LCSipTransports_1ae23a827fac01111c0e8a3ece822ede93" kindref="member">tls_port</ref>,SalTransportTLS,FALSE)!=0){</highlight></codeline>
<codeline lineno="2270"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>transport_error(lc,</highlight><highlight class="stringliteral">&quot;tls&quot;</highlight><highlight class="normal">,tr-&gt;<ref refid="struct__LCSipTransports_1ae23a827fac01111c0e8a3ece822ede93" kindref="member">tls_port</ref>);</highlight></codeline>
<codeline lineno="2271"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2272"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2273"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2274"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2275"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="2276"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2277"><highlight class="normal"></highlight></codeline>
<codeline lineno="2281"><highlight class="normal">bool_t<sp/>linphone_core_sip_transport_supported(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__linphone__address_1ga3835b7b8ed546312096456602ac0ce1d" kindref="member">LinphoneTransportType</ref><sp/>tp){</highlight></codeline>
<codeline lineno="2282"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>sal_transport_available(lc-&gt;sal,(SalTransport)tp);</highlight></codeline>
<codeline lineno="2283"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2284"><highlight class="normal"></highlight></codeline>
<codeline lineno="2293"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1gab5d3dc270fff43b8b782b6435214fecb" kindref="member">linphone_core_set_sip_transports</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="struct__LCSipTransports" kindref="compound">LCSipTransports</ref><sp/>*<sp/>tr_config<sp/></highlight><highlight class="comment">/*config<sp/>to<sp/>be<sp/>saved*/</highlight><highlight class="normal">){</highlight></codeline>
<codeline lineno="2294"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct__LCSipTransports" kindref="compound">LCSipTransports</ref><sp/>tr=*tr_config;</highlight></codeline>
<codeline lineno="2295"><highlight class="normal"></highlight></codeline>
<codeline lineno="2296"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;sip_random_port&quot;</highlight><highlight class="normal">,0)==1)<sp/>{</highlight></codeline>
<codeline lineno="2297"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*legacy<sp/>random<sp/>mode*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2298"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(tr.<ref refid="struct__LCSipTransports_1a07ac7c1bcadb37cd529891388c89a7fb" kindref="member">udp_port</ref>&gt;0){</highlight></codeline>
<codeline lineno="2299"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tr.<ref refid="struct__LCSipTransports_1a07ac7c1bcadb37cd529891388c89a7fb" kindref="member">udp_port</ref>=<ref refid="group__initializing_1gadc507b9a498d5ce572fd219e385ad1f4" kindref="member">LC_SIP_TRANSPORT_RANDOM</ref>;</highlight></codeline>
<codeline lineno="2300"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2301"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(tr.<ref refid="struct__LCSipTransports_1aed73e2a8a17c55f8511fb6d3eaa65d7b" kindref="member">tcp_port</ref>&gt;0){</highlight></codeline>
<codeline lineno="2302"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tr.<ref refid="struct__LCSipTransports_1aed73e2a8a17c55f8511fb6d3eaa65d7b" kindref="member">tcp_port</ref>=<ref refid="group__initializing_1gadc507b9a498d5ce572fd219e385ad1f4" kindref="member">LC_SIP_TRANSPORT_RANDOM</ref>;</highlight></codeline>
<codeline lineno="2303"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2304"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(tr.<ref refid="struct__LCSipTransports_1ae23a827fac01111c0e8a3ece822ede93" kindref="member">tls_port</ref>&gt;0){</highlight></codeline>
<codeline lineno="2305"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tr.<ref refid="struct__LCSipTransports_1ae23a827fac01111c0e8a3ece822ede93" kindref="member">tls_port</ref>=<ref refid="group__initializing_1gadc507b9a498d5ce572fd219e385ad1f4" kindref="member">LC_SIP_TRANSPORT_RANDOM</ref>;</highlight></codeline>
<codeline lineno="2306"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2307"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2308"><highlight class="normal"></highlight></codeline>
<codeline lineno="2309"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(tr.<ref refid="struct__LCSipTransports_1a07ac7c1bcadb37cd529891388c89a7fb" kindref="member">udp_port</ref>==0<sp/>&amp;&amp;<sp/>tr.<ref refid="struct__LCSipTransports_1aed73e2a8a17c55f8511fb6d3eaa65d7b" kindref="member">tcp_port</ref>==0<sp/>&amp;&amp;<sp/>tr.<ref refid="struct__LCSipTransports_1ae23a827fac01111c0e8a3ece822ede93" kindref="member">tls_port</ref>==0){</highlight></codeline>
<codeline lineno="2310"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tr.<ref refid="struct__LCSipTransports_1a07ac7c1bcadb37cd529891388c89a7fb" kindref="member">udp_port</ref>=5060;</highlight></codeline>
<codeline lineno="2311"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2312"><highlight class="normal"></highlight></codeline>
<codeline lineno="2313"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(transports_unchanged(&amp;tr,&amp;lc-&gt;sip_conf.transports))</highlight></codeline>
<codeline lineno="2314"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="2315"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>memcpy(&amp;lc-&gt;sip_conf.transports,&amp;tr,</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(tr));</highlight></codeline>
<codeline lineno="2316"><highlight class="normal"></highlight></codeline>
<codeline lineno="2317"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc)){</highlight></codeline>
<codeline lineno="2318"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;sip_port&quot;</highlight><highlight class="normal">,tr_config-&gt;<ref refid="struct__LCSipTransports_1a07ac7c1bcadb37cd529891388c89a7fb" kindref="member">udp_port</ref>);</highlight></codeline>
<codeline lineno="2319"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;sip_tcp_port&quot;</highlight><highlight class="normal">,tr_config-&gt;<ref refid="struct__LCSipTransports_1aed73e2a8a17c55f8511fb6d3eaa65d7b" kindref="member">tcp_port</ref>);</highlight></codeline>
<codeline lineno="2320"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;sip_tls_port&quot;</highlight><highlight class="normal">,tr_config-&gt;<ref refid="struct__LCSipTransports_1ae23a827fac01111c0e8a3ece822ede93" kindref="member">tls_port</ref>);</highlight></codeline>
<codeline lineno="2321"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2322"><highlight class="normal"></highlight></codeline>
<codeline lineno="2323"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sal==NULL)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="2324"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>_linphone_core_apply_transports(lc);</highlight></codeline>
<codeline lineno="2325"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2326"><highlight class="normal"></highlight></codeline>
<codeline lineno="2333"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1gaf13b4063c40e63acd25a5cc52f486842" kindref="member">linphone_core_get_sip_transports</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="struct__LCSipTransports" kindref="compound">LCSipTransports</ref><sp/>*tr){</highlight></codeline>
<codeline lineno="2334"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>memcpy(tr,&amp;lc-&gt;sip_conf.transports,</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(*tr));</highlight></codeline>
<codeline lineno="2335"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="2336"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2337"><highlight class="normal"></highlight></codeline>
<codeline lineno="2346"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ga94d3f602f02195ee750bdbac6c1ad49e" kindref="member">linphone_core_get_sip_transports_used</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="struct__LCSipTransports" kindref="compound">LCSipTransports</ref><sp/>*tr){</highlight></codeline>
<codeline lineno="2347"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tr-&gt;<ref refid="struct__LCSipTransports_1a07ac7c1bcadb37cd529891388c89a7fb" kindref="member">udp_port</ref>=sal_get_listening_port(lc-&gt;sal,SalTransportUDP);</highlight></codeline>
<codeline lineno="2348"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tr-&gt;<ref refid="struct__LCSipTransports_1aed73e2a8a17c55f8511fb6d3eaa65d7b" kindref="member">tcp_port</ref>=sal_get_listening_port(lc-&gt;sal,SalTransportTCP);</highlight></codeline>
<codeline lineno="2349"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tr-&gt;<ref refid="struct__LCSipTransports_1ae23a827fac01111c0e8a3ece822ede93" kindref="member">tls_port</ref>=sal_get_listening_port(lc-&gt;sal,SalTransportTLS);</highlight></codeline>
<codeline lineno="2350"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2357"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1gac6891ac20bdf7f8556cd6a107c19db65" kindref="member">linphone_core_set_sip_port</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>port)</highlight></codeline>
<codeline lineno="2358"><highlight class="normal">{</highlight></codeline>
<codeline lineno="2359"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct__LCSipTransports" kindref="compound">LCSipTransports</ref><sp/>tr;</highlight></codeline>
<codeline lineno="2360"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>memset(&amp;tr,0,</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(tr));</highlight></codeline>
<codeline lineno="2361"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tr.<ref refid="struct__LCSipTransports_1a07ac7c1bcadb37cd529891388c89a7fb" kindref="member">udp_port</ref>=port;</highlight></codeline>
<codeline lineno="2362"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__network__parameters_1gab5d3dc270fff43b8b782b6435214fecb" kindref="member">linphone_core_set_sip_transports</ref><sp/>(lc,&amp;tr);</highlight></codeline>
<codeline lineno="2363"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2364"><highlight class="normal"></highlight></codeline>
<codeline lineno="2371"><highlight class="normal">bool_t<sp/><ref refid="group__network__parameters_1ga91804b8cf92f310c0d4cc8a4259ba917" kindref="member">linphone_core_ipv6_enabled</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="2372"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;sip_conf.ipv6_enabled;</highlight></codeline>
<codeline lineno="2373"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2374"><highlight class="normal"></highlight></codeline>
<codeline lineno="2384"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1gab6f8e740064dad20c530770ea51982d4" kindref="member">linphone_core_enable_ipv6</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>val){</highlight></codeline>
<codeline lineno="2385"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sip_conf.ipv6_enabled!=val){</highlight></codeline>
<codeline lineno="2386"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sip_conf.ipv6_enabled=val;</highlight></codeline>
<codeline lineno="2387"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sal){</highlight></codeline>
<codeline lineno="2388"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>we<sp/>need<sp/>to<sp/>update<sp/>the<sp/>sip<sp/>stack<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2389"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>_linphone_core_apply_transports(lc);</highlight></codeline>
<codeline lineno="2390"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2391"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*update<sp/>the<sp/>localip<sp/>immediately<sp/>for<sp/>the<sp/>network<sp/>monitor<sp/>to<sp/>avoid<sp/>to<sp/>&quot;discover&quot;<sp/>later<sp/>that<sp/>we<sp/>switched<sp/>to<sp/>ipv6*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2392"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_get_local_ip(lc,AF_UNSPEC,NULL,lc-&gt;localip);</highlight></codeline>
<codeline lineno="2393"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc)){</highlight></codeline>
<codeline lineno="2394"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;use_ipv6&quot;</highlight><highlight class="normal">,(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">)val);</highlight></codeline>
<codeline lineno="2395"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2396"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2397"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2398"><highlight class="normal"></highlight></codeline>
<codeline lineno="2399"><highlight class="normal"></highlight></codeline>
<codeline lineno="2400"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>monitor_network_state(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>time_t<sp/>curtime){</highlight></codeline>
<codeline lineno="2401"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>bool_t<sp/>new_status=lc-&gt;network_last_status;</highlight></codeline>
<codeline lineno="2402"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>newip[LINPHONE_IPADDR_SIZE];</highlight></codeline>
<codeline lineno="2403"><highlight class="normal"></highlight></codeline>
<codeline lineno="2404"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>only<sp/>do<sp/>the<sp/>network<sp/>up<sp/>checking<sp/>every<sp/>five<sp/>seconds<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2405"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;network_last_check==0<sp/>||<sp/>(curtime-lc-&gt;network_last_check)&gt;=5){</highlight></codeline>
<codeline lineno="2406"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_get_local_ip(lc,AF_UNSPEC,NULL,newip);</highlight></codeline>
<codeline lineno="2407"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(strcmp(newip,</highlight><highlight class="stringliteral">&quot;::1&quot;</highlight><highlight class="normal">)!=0<sp/>&amp;&amp;<sp/>strcmp(newip,</highlight><highlight class="stringliteral">&quot;127.0.0.1&quot;</highlight><highlight class="normal">)!=0){</highlight></codeline>
<codeline lineno="2408"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>new_status=TRUE;</highlight></codeline>
<codeline lineno="2409"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>new_status=FALSE;<sp/></highlight><highlight class="comment">/*no<sp/>network*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2410"><highlight class="normal"></highlight></codeline>
<codeline lineno="2411"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(new_status==lc-&gt;network_last_status<sp/>&amp;&amp;<sp/>new_status==TRUE<sp/>&amp;&amp;<sp/>strcmp(newip,lc-&gt;localip)!=0){</highlight></codeline>
<codeline lineno="2412"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*IP<sp/>address<sp/>change<sp/>detected*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2413"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;IP<sp/>address<sp/>change<sp/>detected.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="2414"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>set_network_reachable(lc,FALSE,curtime);</highlight></codeline>
<codeline lineno="2415"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;network_last_status=FALSE;</highlight></codeline>
<codeline lineno="2416"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2417"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>strncpy(lc-&gt;localip,newip,</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(lc-&gt;localip));</highlight></codeline>
<codeline lineno="2418"><highlight class="normal"></highlight></codeline>
<codeline lineno="2419"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(new_status!=lc-&gt;network_last_status)<sp/>{</highlight></codeline>
<codeline lineno="2420"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(new_status){</highlight></codeline>
<codeline lineno="2421"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;New<sp/>local<sp/>ip<sp/>address<sp/>is<sp/>%s&quot;</highlight><highlight class="normal">,lc-&gt;localip);</highlight></codeline>
<codeline lineno="2422"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2423"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>set_network_reachable(lc,new_status,<sp/>curtime);</highlight></codeline>
<codeline lineno="2424"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;network_last_status=new_status;</highlight></codeline>
<codeline lineno="2425"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2426"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;network_last_check=curtime;</highlight></codeline>
<codeline lineno="2427"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2428"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2429"><highlight class="normal"></highlight></codeline>
<codeline lineno="2430"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>proxy_update(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="2431"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList<sp/>*elem,*next;</highlight></codeline>
<codeline lineno="2432"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_list_for_each(lc-&gt;sip_conf.proxies,(void<sp/>(*)(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*))&amp;linphone_proxy_config_update);</highlight></codeline>
<codeline lineno="2433"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(elem=lc-&gt;sip_conf.deleted_proxies;elem!=NULL;elem=next){</highlight></codeline>
<codeline lineno="2434"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref>*<sp/>cfg<sp/>=<sp/>(<ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref>*)elem-&gt;data;</highlight></codeline>
<codeline lineno="2435"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>next=elem-&gt;next;</highlight></codeline>
<codeline lineno="2436"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>if<sp/>(ms_time(NULL)<sp/>-<sp/>cfg-&gt;deletion_date<sp/>&gt;<sp/>32)<sp/>{</highlight></codeline>
<codeline lineno="2437"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sip_conf.deleted_proxies<sp/>=ms_list_remove_link(lc-&gt;sip_conf.deleted_proxies,elem);</highlight></codeline>
<codeline lineno="2438"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;Proxy<sp/>config<sp/>for<sp/>[%s]<sp/>is<sp/>definitely<sp/>removed<sp/>from<sp/>core.&quot;</highlight><highlight class="normal">,linphone_proxy_config_get_addr(cfg));</highlight></codeline>
<codeline lineno="2439"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>_linphone_proxy_config_release_ops(cfg);</highlight></codeline>
<codeline lineno="2440"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga813af731d0baf61dd6b25590344b62a2" kindref="member">linphone_proxy_config_unref</ref>(cfg);</highlight></codeline>
<codeline lineno="2441"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2442"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2443"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2444"><highlight class="normal"></highlight></codeline>
<codeline lineno="2445"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>assign_buddy_info(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>BuddyInfo<sp/>*info){</highlight></codeline>
<codeline lineno="2446"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__buddy__list_1ga2f0508bab6d8ded431ce8b1a679a1522" kindref="member">LinphoneFriend</ref><sp/>*lf=<ref refid="group__buddy__list_1ga94aa60069c0ae04890ed3ee018c53f14" kindref="member">linphone_core_get_friend_by_address</ref>(lc,info-&gt;sip_uri);</highlight></codeline>
<codeline lineno="2447"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lf!=NULL){</highlight></codeline>
<codeline lineno="2448"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lf-&gt;info=info;</highlight></codeline>
<codeline lineno="2449"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;%s<sp/>has<sp/>a<sp/>BuddyInfo<sp/>assigned<sp/>with<sp/>image<sp/>%p&quot;</highlight><highlight class="normal">,info-&gt;sip_uri,<sp/>info-&gt;image_data);</highlight></codeline>
<codeline lineno="2450"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_buddy_info_updated(lc,lf);</highlight></codeline>
<codeline lineno="2451"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="2452"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;Could<sp/>not<sp/>any<sp/>friend<sp/>with<sp/>uri<sp/>%s&quot;</highlight><highlight class="normal">,info-&gt;sip_uri);</highlight></codeline>
<codeline lineno="2453"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2454"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2455"><highlight class="normal"></highlight></codeline>
<codeline lineno="2456"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>analyze_buddy_lookup_results(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref><sp/>*cfg){</highlight></codeline>
<codeline lineno="2457"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList<sp/>*elem;</highlight></codeline>
<codeline lineno="2458"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>SipSetupContext<sp/>*ctx=linphone_proxy_config_get_sip_setup_context(cfg);</highlight></codeline>
<codeline lineno="2459"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(elem=lc-&gt;bl_reqs;elem!=NULL;elem=ms_list_next(elem)){</highlight></codeline>
<codeline lineno="2460"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>BuddyLookupRequest<sp/>*req=(BuddyLookupRequest<sp/>*)elem-&gt;data;</highlight></codeline>
<codeline lineno="2461"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>if<sp/>(req-&gt;status==BuddyLookupDone<sp/>||<sp/>req-&gt;status==BuddyLookupFailure){</highlight></codeline>
<codeline lineno="2462"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(req-&gt;results!=NULL){</highlight></codeline>
<codeline lineno="2463"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>BuddyInfo<sp/>*i=(BuddyInfo*)req-&gt;results-&gt;data;</highlight></codeline>
<codeline lineno="2464"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_list_free(req-&gt;results);</highlight></codeline>
<codeline lineno="2465"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>req-&gt;results=NULL;</highlight></codeline>
<codeline lineno="2466"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>assign_buddy_info(lc,i);</highlight></codeline>
<codeline lineno="2467"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2468"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sip_setup_context_buddy_lookup_free(ctx,req);</highlight></codeline>
<codeline lineno="2469"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>elem-&gt;data=NULL;</highlight></codeline>
<codeline lineno="2470"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2471"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2472"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*purge<sp/>completed<sp/>requests<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2473"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal">((elem=ms_list_find(lc-&gt;bl_reqs,NULL))!=NULL){</highlight></codeline>
<codeline lineno="2474"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;bl_reqs=ms_list_remove_link(lc-&gt;bl_reqs,elem);</highlight></codeline>
<codeline lineno="2475"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2476"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2477"><highlight class="normal"></highlight></codeline>
<codeline lineno="2478"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_grab_buddy_infos(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref><sp/>*cfg){</highlight></codeline>
<codeline lineno="2479"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSList<sp/>*elem;</highlight></codeline>
<codeline lineno="2480"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>SipSetupContext<sp/>*ctx=linphone_proxy_config_get_sip_setup_context(cfg);</highlight></codeline>
<codeline lineno="2481"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(elem=<ref refid="group__buddy__list_1gab5522f2665b5da0b750b32880eca24d4" kindref="member">linphone_core_get_friend_list</ref>(lc);elem!=NULL;elem=elem-&gt;next){</highlight></codeline>
<codeline lineno="2482"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__buddy__list_1ga2f0508bab6d8ded431ce8b1a679a1522" kindref="member">LinphoneFriend</ref><sp/>*lf=(<ref refid="group__buddy__list_1ga2f0508bab6d8ded431ce8b1a679a1522" kindref="member">LinphoneFriend</ref>*)elem-&gt;data;</highlight></codeline>
<codeline lineno="2483"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>if<sp/>(lf-&gt;info==NULL){</highlight></codeline>
<codeline lineno="2484"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_lookup_known_proxy(lc,lf-&gt;uri)==cfg){</highlight></codeline>
<codeline lineno="2485"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="group__linphone__address_1ga4fa5a4927c1d2f3a6b7c6824e35a87bf" kindref="member">linphone_address_get_username</ref>(lf-&gt;uri)!=NULL){</highlight></codeline>
<codeline lineno="2486"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>BuddyLookupRequest<sp/>*req;</highlight></codeline>
<codeline lineno="2487"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><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/>*tmp=<ref refid="group__linphone__address_1gae14a9f3157cc4421e5e5195c9ece2038" kindref="member">linphone_address_as_string_uri_only</ref>(lf-&gt;uri);</highlight></codeline>
<codeline lineno="2488"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>req=sip_setup_context_create_buddy_lookup_request(ctx);</highlight></codeline>
<codeline lineno="2489"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>buddy_lookup_request_set_key(req,tmp);</highlight></codeline>
<codeline lineno="2490"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>buddy_lookup_request_set_max_results(req,1);</highlight></codeline>
<codeline lineno="2491"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sip_setup_context_buddy_lookup_submit(ctx,req);</highlight></codeline>
<codeline lineno="2492"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;bl_reqs=ms_list_append(lc-&gt;bl_reqs,req);</highlight></codeline>
<codeline lineno="2493"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(tmp);</highlight></codeline>
<codeline lineno="2494"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2495"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2496"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2497"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2498"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2499"><highlight class="normal"></highlight></codeline>
<codeline lineno="2500"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_do_plugin_tasks(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="2501"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref><sp/>*cfg=NULL;</highlight></codeline>
<codeline lineno="2502"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1gac77d836d546848289f16716cb2db12f6" kindref="member">linphone_core_get_default_proxy</ref>(lc,&amp;cfg);</highlight></codeline>
<codeline lineno="2503"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(cfg){</highlight></codeline>
<codeline lineno="2504"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;bl_refresh){</highlight></codeline>
<codeline lineno="2505"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>SipSetupContext<sp/>*ctx=linphone_proxy_config_get_sip_setup_context(cfg);</highlight></codeline>
<codeline lineno="2506"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ctx<sp/>&amp;&amp;<sp/>(sip_setup_context_get_capabilities(ctx)<sp/>&amp;<sp/>SIP_SETUP_CAP_BUDDY_LOOKUP)){</highlight></codeline>
<codeline lineno="2507"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_grab_buddy_infos(lc,cfg);</highlight></codeline>
<codeline lineno="2508"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;bl_refresh=FALSE;</highlight></codeline>
<codeline lineno="2509"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2510"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2511"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;bl_reqs)<sp/>analyze_buddy_lookup_results(lc,cfg);</highlight></codeline>
<codeline lineno="2512"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2513"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2514"><highlight class="normal"></highlight></codeline>
<codeline lineno="2529"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1ga7bdac8ac386483fc4e0876e4c5d13755" kindref="member">linphone_core_iterate</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="2530"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList<sp/>*calls;</highlight></codeline>
<codeline lineno="2531"><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="2532"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>time_t<sp/>curtime=time(NULL);</highlight></codeline>
<codeline lineno="2533"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>elapsed;</highlight></codeline>
<codeline lineno="2534"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>bool_t<sp/>one_second_elapsed=FALSE;</highlight></codeline>
<codeline lineno="2535"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*remote_provisioning_uri<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="2536"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;network_reachable_to_be_notified)<sp/>{</highlight></codeline>
<codeline lineno="2537"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;network_reachable_to_be_notified=FALSE;</highlight></codeline>
<codeline lineno="2538"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_network_reachable(lc,lc-&gt;network_reachable);</highlight></codeline>
<codeline lineno="2539"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2540"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_get_global_state(lc)<sp/>==<sp/>LinphoneGlobalStartup)<sp/>{</highlight></codeline>
<codeline lineno="2541"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sal_get_root_ca(lc-&gt;sal))<sp/>{</highlight></codeline>
<codeline lineno="2542"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_tls_verify_policy_t<sp/>*tls_policy<sp/>=<sp/>belle_tls_verify_policy_new();</highlight></codeline>
<codeline lineno="2543"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_tls_verify_policy_set_root_ca(tls_policy,<sp/>sal_get_root_ca(lc-&gt;sal));</highlight></codeline>
<codeline lineno="2544"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_http_provider_set_tls_verify_policy(lc-&gt;http_provider,<sp/>tls_policy);</highlight></codeline>
<codeline lineno="2545"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2546"><highlight class="normal"></highlight></codeline>
<codeline lineno="2547"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_display_status(lc,<sp/>_(</highlight><highlight class="stringliteral">&quot;Configuring&quot;</highlight><highlight class="normal">));</highlight></codeline>
<codeline lineno="2548"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_set_state(lc,<sp/>LinphoneGlobalConfiguring,<sp/></highlight><highlight class="stringliteral">&quot;Configuring&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="2549"><highlight class="normal"></highlight></codeline>
<codeline lineno="2550"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>remote_provisioning_uri<sp/>=<sp/><ref refid="group__initializing_1gafd1d893fa58a15873ab7848cf09c5df6" kindref="member">linphone_core_get_provisioning_uri</ref>(lc);</highlight></codeline>
<codeline lineno="2551"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(remote_provisioning_uri)<sp/>{</highlight></codeline>
<codeline lineno="2552"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><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/>err<sp/>=<sp/>linphone_remote_provisioning_download_and_apply(lc,<sp/>remote_provisioning_uri);</highlight></codeline>
<codeline lineno="2553"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(err<sp/>==<sp/>-1)<sp/>{</highlight></codeline>
<codeline lineno="2554"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_configuring_terminated(lc,<sp/>LinphoneConfiguringFailed,<sp/></highlight><highlight class="stringliteral">&quot;Bad<sp/>URI&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="2555"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2556"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="comment">//<sp/>else<sp/>linphone_configuring_terminated<sp/>has<sp/>already<sp/>been<sp/>called<sp/>in<sp/>linphone_core_init</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2557"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2558"><highlight class="normal"></highlight></codeline>
<codeline lineno="2559"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(curtime-lc-&gt;prevtime&gt;=1){</highlight></codeline>
<codeline lineno="2560"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;prevtime=curtime;</highlight></codeline>
<codeline lineno="2561"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>one_second_elapsed=TRUE;</highlight></codeline>
<codeline lineno="2562"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2563"><highlight class="normal"></highlight></codeline>
<codeline lineno="2564"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;ecc!=NULL){</highlight></codeline>
<codeline lineno="2565"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>LinphoneEcCalibratorStatus<sp/>ecs=ec_calibrator_get_status(lc-&gt;ecc);</highlight></codeline>
<codeline lineno="2566"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ecs!=LinphoneEcCalibratorInProgress){</highlight></codeline>
<codeline lineno="2567"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;ecc-&gt;cb)</highlight></codeline>
<codeline lineno="2568"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;ecc-&gt;cb(lc,ecs,lc-&gt;ecc-&gt;delay,lc-&gt;ecc-&gt;cb_data);</highlight></codeline>
<codeline lineno="2569"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ecs==LinphoneEcCalibratorDone){</highlight></codeline>
<codeline lineno="2570"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><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/>len=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;ec_tail_len&quot;</highlight><highlight class="normal">,0);</highlight></codeline>
<codeline lineno="2571"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><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/>margin=len/2;</highlight></codeline>
<codeline lineno="2572"><highlight class="normal"></highlight></codeline>
<codeline lineno="2573"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;ec_delay&quot;</highlight><highlight class="normal">,MAX(lc-&gt;ecc-&gt;delay-margin,0));</highlight></codeline>
<codeline lineno="2574"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ecs<sp/>==<sp/>LinphoneEcCalibratorFailed)<sp/>{</highlight></codeline>
<codeline lineno="2575"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;ec_delay&quot;</highlight><highlight class="normal">,<sp/>-1);</highlight><highlight class="comment">/*use<sp/>default<sp/>value<sp/>from<sp/>soundcard*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2576"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ecs<sp/>==<sp/>LinphoneEcCalibratorDoneNoEcho)<sp/>{</highlight></codeline>
<codeline lineno="2577"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga27d78a3086c520a59c742056027d0faa" kindref="member">linphone_core_enable_echo_cancellation</ref>(lc,<sp/>FALSE);</highlight></codeline>
<codeline lineno="2578"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2579"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ec_calibrator_destroy(lc-&gt;ecc);</highlight></codeline>
<codeline lineno="2580"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;ecc=NULL;</highlight></codeline>
<codeline lineno="2581"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2582"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2583"><highlight class="normal"></highlight></codeline>
<codeline lineno="2584"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;preview_finished){</highlight></codeline>
<codeline lineno="2585"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;preview_finished=0;</highlight></codeline>
<codeline lineno="2586"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ring_stop(lc-&gt;ringstream);</highlight></codeline>
<codeline lineno="2587"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;ringstream=NULL;</highlight></codeline>
<codeline lineno="2588"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc_callback_obj_invoke(&amp;lc-&gt;preview_finished_cb,lc);</highlight></codeline>
<codeline lineno="2589"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2590"><highlight class="normal"></highlight></codeline>
<codeline lineno="2591"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;ringstream<sp/>&amp;&amp;<sp/>lc-&gt;ringstream_autorelease<sp/>&amp;&amp;<sp/>lc-&gt;dmfs_playing_start_time!=0</highlight></codeline>
<codeline lineno="2592"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>&amp;&amp;<sp/>(curtime-lc-&gt;dmfs_playing_start_time)&gt;5){</highlight></codeline>
<codeline lineno="2593"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSPlayerState<sp/>state;</highlight></codeline>
<codeline lineno="2594"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>bool_t<sp/>stop=TRUE;</highlight></codeline>
<codeline lineno="2595"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;ringstream-&gt;source<sp/>&amp;&amp;<sp/>ms_filter_call_method(lc-&gt;ringstream-&gt;source,MS_PLAYER_GET_STATE,&amp;state)==0){</highlight></codeline>
<codeline lineno="2596"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(state==MSPlayerPlaying)<sp/>stop=FALSE;</highlight></codeline>
<codeline lineno="2597"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2598"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(stop)<sp/>{</highlight></codeline>
<codeline lineno="2599"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;Releasing<sp/>inactive<sp/>tone<sp/>player.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="2600"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__IOS_1gad0ecef2fb7a77c3363aa94edeadaf65b" kindref="member">linphone_core_stop_dtmf_stream</ref>(lc);</highlight></codeline>
<codeline lineno="2601"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2602"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2603"><highlight class="normal"></highlight></codeline>
<codeline lineno="2604"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_iterate(lc-&gt;sal);</highlight></codeline>
<codeline lineno="2605"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;msevq)<sp/>ms_event_queue_pump(lc-&gt;msevq);</highlight></codeline>
<codeline lineno="2606"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;auto_net_state_mon)<sp/>monitor_network_state(lc,curtime);</highlight></codeline>
<codeline lineno="2607"><highlight class="normal"></highlight></codeline>
<codeline lineno="2608"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>proxy_update(lc);</highlight></codeline>
<codeline lineno="2609"><highlight class="normal"></highlight></codeline>
<codeline lineno="2610"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//we<sp/>have<sp/>to<sp/>iterate<sp/>for<sp/>each<sp/>call</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2611"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>calls=<sp/>lc-&gt;calls;</highlight></codeline>
<codeline lineno="2612"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal">(calls!=<sp/>NULL){</highlight></codeline>
<codeline lineno="2613"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call<sp/>=<sp/>(<ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*)calls-&gt;data;</highlight></codeline>
<codeline lineno="2614"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>elapsed<sp/>=<sp/>curtime-call-&gt;log-&gt;start_date_time;</highlight></codeline>
<codeline lineno="2615"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>get<sp/>immediately<sp/>a<sp/>reference<sp/>to<sp/>next<sp/>one<sp/>in<sp/>case<sp/>the<sp/>one</highlight></codeline>
<codeline lineno="2616"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>we<sp/>are<sp/>going<sp/>to<sp/>examine<sp/>is<sp/>destroy<sp/>and<sp/>removed<sp/>during</highlight></codeline>
<codeline lineno="2617"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_start_invite()<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2618"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>calls=calls-&gt;next;</highlight></codeline>
<codeline lineno="2619"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_background_tasks(call,one_second_elapsed);</highlight></codeline>
<codeline lineno="2620"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;state==<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaae99727dfb0a8e30ef04ff96ce3bf7e36" kindref="member">LinphoneCallOutgoingInit</ref><sp/>&amp;&amp;<sp/>(elapsed&gt;=lc-&gt;sip_conf.delayed_timeout)){</highlight></codeline>
<codeline lineno="2621"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*start<sp/>the<sp/>call<sp/>even<sp/>if<sp/>the<sp/>OPTIONS<sp/>reply<sp/>did<sp/>not<sp/>arrive*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2622"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;ice_session<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="2623"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;ICE<sp/>candidates<sp/>gathering<sp/>from<sp/>[%s]<sp/>has<sp/>not<sp/>finished<sp/>yet,<sp/>proceed<sp/>with<sp/>the<sp/>call<sp/>without<sp/>ICE<sp/>anyway.&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2624"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>,<ref refid="group__network__parameters_1ga2def221f110da2a63bb0bdf957664829" kindref="member">linphone_core_get_stun_server</ref>(lc));</highlight></codeline>
<codeline lineno="2625"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_delete_ice_session(call);</highlight></codeline>
<codeline lineno="2626"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_stop_media_streams_for_ice_gathering(call);</highlight></codeline>
<codeline lineno="2627"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2628"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2629"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;upnp_session<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="2630"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;uPnP<sp/>mapping<sp/>has<sp/>not<sp/>finished<sp/>yet,<sp/>proceeded<sp/>with<sp/>the<sp/>call<sp/>without<sp/>uPnP<sp/>anyway.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="2631"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_delete_upnp_session(call);</highlight></codeline>
<codeline lineno="2632"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2633"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2634"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_start_invite(lc,call,<sp/>NULL);</highlight></codeline>
<codeline lineno="2635"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2636"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;state==<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa0998d4c2bce14ae88b0ae84fbef5c33a" kindref="member">LinphoneCallIncomingReceived</ref><sp/>||<sp/>call-&gt;state==<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaab8684757f565989d4212026f755762ed" kindref="member">LinphoneCallIncomingEarlyMedia</ref>){</highlight></codeline>
<codeline lineno="2637"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(one_second_elapsed)<sp/>ms_message(</highlight><highlight class="stringliteral">&quot;incoming<sp/>call<sp/>ringing<sp/>for<sp/>%i<sp/>seconds&quot;</highlight><highlight class="normal">,elapsed);</highlight></codeline>
<codeline lineno="2638"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(elapsed&gt;lc-&gt;sip_conf.inc_timeout){</highlight></codeline>
<codeline lineno="2639"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gabe82a1a1ffc3d6b4e0b51a03028513b7" kindref="member">LinphoneReason</ref><sp/>decline_reason;</highlight></codeline>
<codeline lineno="2640"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;incoming<sp/>call<sp/>timeout<sp/>(%i)&quot;</highlight><highlight class="normal">,lc-&gt;sip_conf.inc_timeout);</highlight></codeline>
<codeline lineno="2641"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>decline_reason=lc-&gt;current_call<sp/>?<sp/><ref refid="group__misc_1ggaf7346e9b3a064155f3d5d3811d684fb2a8ef78446b3e27f4acd2f69356f7836fa" kindref="member">LinphoneReasonBusy</ref><sp/>:<sp/><ref refid="group__misc_1ggaf7346e9b3a064155f3d5d3811d684fb2a442fce67ace6491eee2f4a94177f34c6" kindref="member">LinphoneReasonDeclined</ref>;</highlight></codeline>
<codeline lineno="2642"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call-&gt;log-&gt;status=<ref refid="group__call__logs_1gga0896daf3cb167a43e357c3955ab33f3fad26e9035dad755590a5a724c7ba69656" kindref="member">LinphoneCallMissed</ref>;</highlight></codeline>
<codeline lineno="2643"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_error_info_set(&amp;call-&gt;non_op_error,SalReasonRequestTimeout,408,</highlight><highlight class="stringliteral">&quot;Not<sp/>answered&quot;</highlight><highlight class="normal">,NULL);</highlight></codeline>
<codeline lineno="2644"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1ga6f8720adb675e42607a24df0e32a19bf" kindref="member">linphone_core_decline_call</ref>(lc,call,decline_reason);</highlight></codeline>
<codeline lineno="2645"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2646"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2647"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<sp/>(lc-&gt;sip_conf.in_call_timeout<sp/>&gt;<sp/>0)</highlight></codeline>
<codeline lineno="2648"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>&amp;&amp;<sp/>(call-&gt;log-&gt;connected_date_time<sp/>!=<sp/>0)</highlight></codeline>
<codeline lineno="2649"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>&amp;&amp;<sp/>((curtime<sp/>-<sp/>call-&gt;log-&gt;connected_date_time)<sp/>&gt;<sp/>lc-&gt;sip_conf.in_call_timeout))</highlight></codeline>
<codeline lineno="2650"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="2651"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;in<sp/>call<sp/>timeout<sp/>(%i)&quot;</highlight><highlight class="normal">,lc-&gt;sip_conf.in_call_timeout);</highlight></codeline>
<codeline lineno="2652"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1ga2dcc69dfc22e15d3cdadf8e688eedbfe" kindref="member">linphone_core_terminate_call</ref>(lc,call);</highlight></codeline>
<codeline lineno="2653"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2654"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2655"><highlight class="normal"></highlight></codeline>
<codeline lineno="2656"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="group__media__parameters_1ga5921ee6c7c1619da0969b6e33d39be6f" kindref="member">linphone_core_video_preview_enabled</ref>(lc)){</highlight></codeline>
<codeline lineno="2657"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;previewstream==NULL<sp/>&amp;&amp;<sp/>lc-&gt;calls==NULL)</highlight></codeline>
<codeline lineno="2658"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>toggle_video_preview(lc,TRUE);</highlight></codeline>
<codeline lineno="2659"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2660"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;previewstream)<sp/>video_stream_iterate(lc-&gt;previewstream);</highlight></codeline>
<codeline lineno="2661"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2662"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="2663"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;previewstream!=NULL)</highlight></codeline>
<codeline lineno="2664"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>toggle_video_preview(lc,FALSE);</highlight></codeline>
<codeline lineno="2665"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2666"><highlight class="normal"></highlight></codeline>
<codeline lineno="2667"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_run_hooks(lc);</highlight></codeline>
<codeline lineno="2668"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_do_plugin_tasks(lc);</highlight></codeline>
<codeline lineno="2669"><highlight class="normal"></highlight></codeline>
<codeline lineno="2670"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;network_reachable<sp/>&amp;&amp;<sp/>lc-&gt;netup_time!=0<sp/>&amp;&amp;<sp/>(curtime-lc-&gt;netup_time)&gt;3){</highlight></codeline>
<codeline lineno="2671"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*not<sp/>do<sp/>that<sp/>immediately,<sp/>take<sp/>your<sp/>time.*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2672"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_send_initial_subscribes(lc);</highlight></codeline>
<codeline lineno="2673"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2674"><highlight class="normal"></highlight></codeline>
<codeline lineno="2675"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(one_second_elapsed)<sp/>{</highlight></codeline>
<codeline lineno="2676"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lp_config_needs_commit(lc-&gt;config))<sp/>{</highlight></codeline>
<codeline lineno="2677"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga39f6f202e10581591ac6e68a636236bc" kindref="member">lp_config_sync</ref>(lc-&gt;config);</highlight></codeline>
<codeline lineno="2678"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2679"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2680"><highlight class="normal"></highlight></codeline>
<codeline lineno="2681"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(liblinphone_serialize_logs<sp/>==<sp/>TRUE)<sp/>{</highlight></codeline>
<codeline lineno="2682"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ortp_logv_flush();</highlight></codeline>
<codeline lineno="2683"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2684"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2685"><highlight class="normal"></highlight></codeline>
<codeline lineno="2686"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref>*<sp/>_linphone_core_destroy_addr_if_not_sip(<sp/><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref>*<sp/>addr<sp/>){</highlight></codeline>
<codeline lineno="2687"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(<sp/><ref refid="group__linphone__address_1gaee86eae58b5979ad3436676f6c9cd3f5" kindref="member">linphone_address_is_sip</ref>(addr)<sp/>)<sp/>{</highlight></codeline>
<codeline lineno="2688"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>addr;</highlight></codeline>
<codeline lineno="2689"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="2690"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__linphone__address_1ga5777f2976c71a48cf2b3f03c61818f13" kindref="member">linphone_address_destroy</ref>(addr);</highlight></codeline>
<codeline lineno="2691"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="2692"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2693"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2694"><highlight class="normal"></highlight></codeline>
<codeline lineno="2711"><highlight class="normal"><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref><sp/>*<sp/><ref refid="group__call__control_1ga1de3060cfba4df416da17259173fdefe" kindref="member">linphone_core_interpret_url</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*url){</highlight></codeline>
<codeline lineno="2712"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>enum_lookup_res_t<sp/>*enumres=NULL;</highlight></codeline>
<codeline lineno="2713"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*enum_domain=NULL;</highlight></codeline>
<codeline lineno="2714"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref><sp/>*proxy=lc-&gt;default_proxy;</highlight></codeline>
<codeline lineno="2715"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*tmpurl;</highlight></codeline>
<codeline lineno="2716"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref><sp/>*uri;</highlight></codeline>
<codeline lineno="2717"><highlight class="normal"></highlight></codeline>
<codeline lineno="2718"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(*url==</highlight><highlight class="charliteral">&apos;\0&apos;</highlight><highlight class="normal">)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="2719"><highlight class="normal"></highlight></codeline>
<codeline lineno="2720"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(is_enum(url,&amp;enum_domain)){</highlight></codeline>
<codeline lineno="2721"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_display_status(lc,_(</highlight><highlight class="stringliteral">&quot;Looking<sp/>for<sp/>telephone<sp/>number<sp/>destination...&quot;</highlight><highlight class="normal">));</highlight></codeline>
<codeline lineno="2722"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(enum_lookup(enum_domain,&amp;enumres)&lt;0){</highlight></codeline>
<codeline lineno="2723"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_display_status(lc,_(</highlight><highlight class="stringliteral">&quot;Could<sp/>not<sp/>resolve<sp/>this<sp/>number.&quot;</highlight><highlight class="normal">));</highlight></codeline>
<codeline lineno="2724"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(enum_domain);</highlight></codeline>
<codeline lineno="2725"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="2726"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2727"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(enum_domain);</highlight></codeline>
<codeline lineno="2728"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmpurl=enumres-&gt;sip_address[0];</highlight></codeline>
<codeline lineno="2729"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>uri=<ref refid="group__linphone__address_1ga301c9884c0bc8b1050fe790d424e0b49" kindref="member">linphone_address_new</ref>(tmpurl);</highlight></codeline>
<codeline lineno="2730"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>enum_lookup_res_free(enumres);</highlight></codeline>
<codeline lineno="2731"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>_linphone_core_destroy_addr_if_not_sip(uri);</highlight></codeline>
<codeline lineno="2732"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2733"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>check<sp/>if<sp/>we<sp/>have<sp/>a<sp/>&quot;sip:&quot;<sp/>or<sp/>a<sp/>&quot;sips:&quot;<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2734"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<sp/>(strstr(url,</highlight><highlight class="stringliteral">&quot;sip:&quot;</highlight><highlight class="normal">)==NULL)<sp/>&amp;&amp;<sp/>(strstr(url,</highlight><highlight class="stringliteral">&quot;sips:&quot;</highlight><highlight class="normal">)==NULL)<sp/>){</highlight></codeline>
<codeline lineno="2735"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>this<sp/>doesn&apos;t<sp/>look<sp/>like<sp/>a<sp/>true<sp/>sip<sp/>uri<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2736"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(strchr(url,</highlight><highlight class="charliteral">&apos;@&apos;</highlight><highlight class="normal">)!=NULL){</highlight></codeline>
<codeline lineno="2737"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>seems<sp/>like<sp/>sip:<sp/>is<sp/>missing<sp/>!*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2738"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmpurl=ms_strdup_printf(</highlight><highlight class="stringliteral">&quot;sip:%s&quot;</highlight><highlight class="normal">,url);</highlight></codeline>
<codeline lineno="2739"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>uri=<ref refid="group__linphone__address_1ga301c9884c0bc8b1050fe790d424e0b49" kindref="member">linphone_address_new</ref>(tmpurl);</highlight></codeline>
<codeline lineno="2740"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(tmpurl);</highlight></codeline>
<codeline lineno="2741"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(uri){</highlight></codeline>
<codeline lineno="2742"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>_linphone_core_destroy_addr_if_not_sip(uri);</highlight></codeline>
<codeline lineno="2743"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2744"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2745"><highlight class="normal"></highlight></codeline>
<codeline lineno="2746"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(proxy!=NULL){</highlight></codeline>
<codeline lineno="2747"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>append<sp/>the<sp/>proxy<sp/>domain<sp/>suffix<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2748"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*identity=<ref refid="group__proxies_1gafebbeb5de42c1cfac8f134714111f10e" kindref="member">linphone_proxy_config_get_identity</ref>(proxy);</highlight></codeline>
<codeline lineno="2749"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><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/>normalized_username[128];</highlight></codeline>
<codeline lineno="2750"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>uri=<ref refid="group__linphone__address_1ga301c9884c0bc8b1050fe790d424e0b49" kindref="member">linphone_address_new</ref>(identity);</highlight></codeline>
<codeline lineno="2751"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(uri==NULL){</highlight></codeline>
<codeline lineno="2752"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="2753"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2754"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__linphone__address_1ga5814d2ca174257d5e25da1e0d9c84ae4" kindref="member">linphone_address_set_display_name</ref>(uri,NULL);</highlight></codeline>
<codeline lineno="2755"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga743329b10e73baa4611f4e304ab6f7c8" kindref="member">linphone_proxy_config_normalize_number</ref>(proxy,url,normalized_username,</highlight></codeline>
<codeline lineno="2756"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(normalized_username));</highlight></codeline>
<codeline lineno="2757"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__linphone__address_1gadf074b5a5ef0b2fb016e03cedec2106a" kindref="member">linphone_address_set_username</ref>(uri,normalized_username);</highlight></codeline>
<codeline lineno="2758"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>_linphone_core_destroy_addr_if_not_sip(uri);</highlight></codeline>
<codeline lineno="2759"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="2760"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2761"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>uri=<ref refid="group__linphone__address_1ga301c9884c0bc8b1050fe790d424e0b49" kindref="member">linphone_address_new</ref>(url);</highlight></codeline>
<codeline lineno="2762"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(uri!=NULL){</highlight></codeline>
<codeline lineno="2763"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>_linphone_core_destroy_addr_if_not_sip(uri);</highlight></codeline>
<codeline lineno="2764"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2765"><highlight class="normal"></highlight></codeline>
<codeline lineno="2766"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="2767"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2768"><highlight class="normal"></highlight></codeline>
<codeline lineno="2779"><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/><ref refid="group__proxies_1ga33972bf5275874d28cf0eb59f1d34d18" kindref="member">linphone_core_get_identity</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="2780"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref><sp/>*proxy=NULL;</highlight></codeline>
<codeline lineno="2781"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*from;</highlight></codeline>
<codeline lineno="2782"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1gac77d836d546848289f16716cb2db12f6" kindref="member">linphone_core_get_default_proxy</ref>(lc,&amp;proxy);</highlight></codeline>
<codeline lineno="2783"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(proxy!=NULL)<sp/>{</highlight></codeline>
<codeline lineno="2784"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>from=<ref refid="group__proxies_1gafebbeb5de42c1cfac8f134714111f10e" kindref="member">linphone_proxy_config_get_identity</ref>(proxy);</highlight></codeline>
<codeline lineno="2785"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>from=<ref refid="group__proxies_1ga147c072e33bdf5d44a3b95b28b4b27a1" kindref="member">linphone_core_get_primary_contact</ref>(lc);</highlight></codeline>
<codeline lineno="2786"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>from;</highlight></codeline>
<codeline lineno="2787"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2788"><highlight class="normal"></highlight></codeline>
<codeline lineno="2789"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/>linphone_core_get_route(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="2790"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref><sp/>*proxy=NULL;</highlight></codeline>
<codeline lineno="2791"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*route=NULL;</highlight></codeline>
<codeline lineno="2792"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1gac77d836d546848289f16716cb2db12f6" kindref="member">linphone_core_get_default_proxy</ref>(lc,&amp;proxy);</highlight></codeline>
<codeline lineno="2793"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(proxy!=NULL)<sp/>{</highlight></codeline>
<codeline lineno="2794"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>route=<ref refid="group__proxies_1ga86aab63aeafc9313276b099d1b75d028" kindref="member">linphone_proxy_config_get_route</ref>(proxy);</highlight></codeline>
<codeline lineno="2795"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2796"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>route;</highlight></codeline>
<codeline lineno="2797"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2798"><highlight class="normal"></highlight></codeline>
<codeline lineno="2809"><highlight class="normal"><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*<sp/>linphone_core_start_refered_call(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref><sp/>*params){</highlight></codeline>
<codeline lineno="2810"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref><sp/>*cp=params<sp/>?<sp/><ref refid="group__call__control_1gaaff626b40ba1834c7912aef9fc441544" kindref="member">linphone_call_params_copy</ref>(params)<sp/>:<sp/><ref refid="group__media__parameters_1gaf733e15bc6e3356f645f66b179c38d05" kindref="member">linphone_core_create_default_call_parameters</ref>(lc);</highlight></codeline>
<codeline lineno="2811"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*newcall;</highlight></codeline>
<codeline lineno="2812"><highlight class="normal"></highlight></codeline>
<codeline lineno="2813"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;state!=<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa59c57a8b9a7a0086a79c85028bb4cefc" kindref="member">LinphoneCallPaused</ref>){</highlight></codeline>
<codeline lineno="2814"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;Automatically<sp/>pausing<sp/>current<sp/>call<sp/>to<sp/>accept<sp/>transfer.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="2815"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>_linphone_core_pause_call(lc,call);</highlight></codeline>
<codeline lineno="2816"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call-&gt;was_automatically_paused=TRUE;</highlight></codeline>
<codeline lineno="2817"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2818"><highlight class="normal"></highlight></codeline>
<codeline lineno="2819"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!params){</highlight></codeline>
<codeline lineno="2820"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>cp-&gt;has_video<sp/>=<sp/>call-&gt;current_params-&gt;has_video;<sp/></highlight><highlight class="comment">/*start<sp/>the<sp/>call<sp/>to<sp/>refer-target<sp/>with<sp/>video<sp/>enabled<sp/>if<sp/>original<sp/>call<sp/>had<sp/>video*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2821"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2822"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>cp-&gt;referer=call;</highlight></codeline>
<codeline lineno="2823"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;Starting<sp/>new<sp/>call<sp/>to<sp/>refered<sp/>address<sp/>%s&quot;</highlight><highlight class="normal">,call-&gt;refer_to);</highlight></codeline>
<codeline lineno="2824"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call-&gt;refer_pending=FALSE;</highlight></codeline>
<codeline lineno="2825"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>newcall=<ref refid="group__call__control_1ga48931b432fb6dbe6355985604d6b5de5" kindref="member">linphone_core_invite_with_params</ref>(lc,call-&gt;refer_to,cp);</highlight></codeline>
<codeline lineno="2826"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gae5a1586d6c30f4daf96945a9ba5fc87f" kindref="member">linphone_call_params_destroy</ref>(cp);</highlight></codeline>
<codeline lineno="2827"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(newcall)<sp/>{</highlight></codeline>
<codeline lineno="2828"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call-&gt;transfer_target=<ref refid="group__call__control_1ga67f07db984bd9534117257723142d794" kindref="member">linphone_call_ref</ref>(newcall);</highlight></codeline>
<codeline lineno="2829"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_refer_state(lc,call,newcall);</highlight></codeline>
<codeline lineno="2830"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2831"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>newcall;</highlight></codeline>
<codeline lineno="2832"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2833"><highlight class="normal"></highlight></codeline>
<codeline lineno="2834"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_notify_refer_state(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*referer,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*newcall){</highlight></codeline>
<codeline lineno="2835"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(referer-&gt;op!=NULL){</highlight></codeline>
<codeline lineno="2836"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_call_notify_refer_state(referer-&gt;op,newcall<sp/>?<sp/>newcall-&gt;op<sp/>:<sp/>NULL);</highlight></codeline>
<codeline lineno="2837"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2838"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2839"><highlight class="normal"></highlight></codeline>
<codeline lineno="2840"><highlight class="normal"></highlight><highlight class="comment">/*<sp/>returns<sp/>the<sp/>ideal<sp/>route<sp/>set<sp/>for<sp/>making<sp/>an<sp/>operation<sp/>through<sp/>this<sp/>proxy.</highlight></codeline>
<codeline lineno="2841"><highlight class="comment"><sp/>*<sp/>The<sp/>list<sp/>must<sp/>be<sp/>freed<sp/>as<sp/>well<sp/>as<sp/>the<sp/>SalAddress<sp/>content*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2842"><highlight class="normal"></highlight></codeline>
<codeline lineno="2843"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="2844"><highlight class="comment">*<sp/>rfc3608</highlight></codeline>
<codeline lineno="2845"><highlight class="comment">6.1.<sp/><sp/>Procedures<sp/>at<sp/>the<sp/>UA</highlight></codeline>
<codeline lineno="2846"><highlight class="comment"></highlight></codeline>
<codeline lineno="2847"><highlight class="comment"><sp/>/.../</highlight></codeline>
<codeline lineno="2848"><highlight class="comment"><sp/><sp/><sp/>For<sp/>example,<sp/>some<sp/>devices<sp/>will<sp/>use<sp/>locally-configured</highlight></codeline>
<codeline lineno="2849"><highlight class="comment"><sp/><sp/><sp/>explicit<sp/>loose<sp/>routing<sp/>to<sp/>reach<sp/>a<sp/>next-hop<sp/>proxy,<sp/>and<sp/>others<sp/>will<sp/>use</highlight></codeline>
<codeline lineno="2850"><highlight class="comment"><sp/><sp/><sp/>a<sp/>default<sp/>outbound-proxy<sp/>routing<sp/>rule.<sp/><sp/>However,<sp/>for<sp/>the<sp/>result<sp/>to</highlight></codeline>
<codeline lineno="2851"><highlight class="comment"><sp/><sp/><sp/>function,<sp/>the<sp/>combination<sp/>MUST<sp/>provide<sp/>valid<sp/>routing<sp/>in<sp/>the<sp/>local</highlight></codeline>
<codeline lineno="2852"><highlight class="comment"><sp/><sp/><sp/>environment.<sp/><sp/>In<sp/>general,<sp/>the<sp/>service<sp/>route<sp/>set<sp/>is<sp/>appended<sp/>to<sp/>any</highlight></codeline>
<codeline lineno="2853"><highlight class="comment"><sp/><sp/><sp/>locally<sp/>configured<sp/>route<sp/>needed<sp/>to<sp/>egress<sp/>the<sp/>access<sp/>proxy<sp/>chain.</highlight></codeline>
<codeline lineno="2854"><highlight class="comment"><sp/><sp/><sp/>Systems<sp/>designers<sp/>must<sp/>match<sp/>the<sp/>service<sp/>routing<sp/>policy<sp/>of<sp/>their</highlight></codeline>
<codeline lineno="2855"><highlight class="comment"><sp/><sp/><sp/>nodes<sp/>with<sp/>the<sp/>basic<sp/>SIP<sp/>routing<sp/>policy<sp/>in<sp/>order<sp/>to<sp/>get<sp/>a<sp/>workable</highlight></codeline>
<codeline lineno="2856"><highlight class="comment"><sp/><sp/><sp/>system.</highlight></codeline>
<codeline lineno="2857"><highlight class="comment">*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2858"><highlight class="normal"></highlight></codeline>
<codeline lineno="2859"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>MSList<sp/>*make_routes_for_proxy(<ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref><sp/>*proxy,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref><sp/>*dest){</highlight></codeline>
<codeline lineno="2860"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList<sp/>*ret=NULL;</highlight></codeline>
<codeline lineno="2861"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*local_route=<ref refid="group__proxies_1ga86aab63aeafc9313276b099d1b75d028" kindref="member">linphone_proxy_config_get_route</ref>(proxy);</highlight></codeline>
<codeline lineno="2862"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref><sp/>*srv_route=linphone_proxy_config_get_service_route(proxy);</highlight></codeline>
<codeline lineno="2863"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(local_route){</highlight></codeline>
<codeline lineno="2864"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ret=ms_list_append(ret,sal_address_new(local_route));</highlight></codeline>
<codeline lineno="2865"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2866"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(srv_route){</highlight></codeline>
<codeline lineno="2867"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ret=ms_list_append(ret,sal_address_clone((SalAddress*)srv_route));</highlight></codeline>
<codeline lineno="2868"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2869"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ret==NULL){</highlight></codeline>
<codeline lineno="2870"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*if<sp/>the<sp/>proxy<sp/>address<sp/>matches<sp/>the<sp/>domain<sp/>part<sp/>of<sp/>the<sp/>destination,<sp/>then<sp/>use<sp/>the<sp/>same<sp/>transport</highlight></codeline>
<codeline lineno="2871"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*<sp/>as<sp/>the<sp/>one<sp/>used<sp/>for<sp/>registration.<sp/>This<sp/>is<sp/>done<sp/>by<sp/>forcing<sp/>a<sp/>route<sp/>to<sp/>this<sp/>proxy.*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2872"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>SalAddress<sp/>*proxy_addr=sal_address_new(linphone_proxy_config_get_addr(proxy));</highlight></codeline>
<codeline lineno="2873"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(strcmp(sal_address_get_domain(proxy_addr),<ref refid="group__linphone__address_1ga95a356f26c67ed4ee88db878b617c65f" kindref="member">linphone_address_get_domain</ref>(dest))==0){</highlight></codeline>
<codeline lineno="2874"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ret=ms_list_append(ret,proxy_addr);</highlight></codeline>
<codeline lineno="2875"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>sal_address_destroy(proxy_addr);</highlight></codeline>
<codeline lineno="2876"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2877"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>ret;</highlight></codeline>
<codeline lineno="2878"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2879"><highlight class="normal"></highlight></codeline>
<codeline lineno="2880"><highlight class="normal"><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref><sp/>*<sp/>linphone_core_lookup_known_proxy(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref><sp/>*uri){</highlight></codeline>
<codeline lineno="2881"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSList<sp/>*elem;</highlight></codeline>
<codeline lineno="2882"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref><sp/>*found_cfg=NULL;</highlight></codeline>
<codeline lineno="2883"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref><sp/>*found_reg_cfg=NULL;</highlight></codeline>
<codeline lineno="2884"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref><sp/>*found_noreg_cfg=NULL;</highlight></codeline>
<codeline lineno="2885"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref><sp/>*default_cfg=lc-&gt;default_proxy;</highlight></codeline>
<codeline lineno="2886"><highlight class="normal"></highlight></codeline>
<codeline lineno="2887"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="group__linphone__address_1ga95a356f26c67ed4ee88db878b617c65f" kindref="member">linphone_address_get_domain</ref>(uri)<sp/>==<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="2888"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;cannot<sp/>seach<sp/>for<sp/>proxy<sp/>for<sp/>uri<sp/>[%p]<sp/>if<sp/>no<sp/>domain<sp/>set.<sp/>returning<sp/>default&quot;</highlight><highlight class="normal">,uri);</highlight></codeline>
<codeline lineno="2889"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>default_cfg;</highlight></codeline>
<codeline lineno="2890"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2891"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*return<sp/>default<sp/>proxy<sp/>if<sp/>it<sp/>is<sp/>matching<sp/>the<sp/>destination<sp/>uri*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2892"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(default_cfg){</highlight></codeline>
<codeline lineno="2893"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*domain=<ref refid="group__proxies_1ga0a2faacf65fe1ef97618bafb78bd855e" kindref="member">linphone_proxy_config_get_domain</ref>(default_cfg);</highlight></codeline>
<codeline lineno="2894"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(strcmp(domain,<ref refid="group__linphone__address_1ga95a356f26c67ed4ee88db878b617c65f" kindref="member">linphone_address_get_domain</ref>(uri))==0){</highlight></codeline>
<codeline lineno="2895"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>found_cfg=default_cfg;</highlight></codeline>
<codeline lineno="2896"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">goto</highlight><highlight class="normal"><sp/>end;</highlight></codeline>
<codeline lineno="2897"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2898"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2899"><highlight class="normal"></highlight></codeline>
<codeline lineno="2900"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*otherwise<sp/>return<sp/>first<sp/>registered,<sp/>then<sp/>first<sp/>registering<sp/>matching,<sp/>otherwise<sp/>first<sp/>matching<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2901"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(elem=<ref refid="group__proxies_1gad167a93dd8d6b6fa9b9d36c9ce7cc3fc" kindref="member">linphone_core_get_proxy_config_list</ref>(lc);elem!=NULL;elem=elem-&gt;next){</highlight></codeline>
<codeline lineno="2902"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref><sp/>*cfg=(<ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref>*)elem-&gt;data;</highlight></codeline>
<codeline lineno="2903"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*domain=<ref refid="group__proxies_1ga0a2faacf65fe1ef97618bafb78bd855e" kindref="member">linphone_proxy_config_get_domain</ref>(cfg);</highlight></codeline>
<codeline lineno="2904"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(domain!=NULL<sp/>&amp;&amp;<sp/>strcmp(domain,<ref refid="group__linphone__address_1ga95a356f26c67ed4ee88db878b617c65f" kindref="member">linphone_address_get_domain</ref>(uri))==0){</highlight></codeline>
<codeline lineno="2905"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="group__proxies_1gaac2fff66bf2f9f74e44bae98972b507b" kindref="member">linphone_proxy_config_get_state</ref>(cfg)<sp/>==<sp/><ref refid="group__proxies_1ggaea1b64a739b1faf0b490fe0f52cfe65ea73e009ef868a552c580b179578b87366" kindref="member">LinphoneRegistrationOk</ref><sp/>){</highlight></codeline>
<codeline lineno="2906"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>found_cfg=cfg;</highlight></codeline>
<codeline lineno="2907"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="2908"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!found_reg_cfg<sp/>&amp;&amp;<sp/><ref refid="group__proxies_1gae9a9f097eda6371c7af0fa9760b62686" kindref="member">linphone_proxy_config_register_enabled</ref>(cfg))<sp/>{</highlight></codeline>
<codeline lineno="2909"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>found_reg_cfg=cfg;</highlight></codeline>
<codeline lineno="2910"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!found_noreg_cfg){</highlight></codeline>
<codeline lineno="2911"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>found_noreg_cfg=cfg;</highlight></codeline>
<codeline lineno="2912"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2913"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2914"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2915"><highlight class="normal">end:</highlight></codeline>
<codeline lineno="2916"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/>(<sp/>!found_cfg<sp/>&amp;&amp;<sp/>found_reg_cfg)<sp/><sp/><sp/><sp/>found_cfg<sp/>=<sp/>found_reg_cfg;</highlight></codeline>
<codeline lineno="2917"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(<sp/>!found_cfg<sp/>&amp;&amp;<sp/>found_noreg_cfg<sp/>)<sp/>found_cfg<sp/>=<sp/>found_noreg_cfg;</highlight></codeline>
<codeline lineno="2918"><highlight class="normal"></highlight></codeline>
<codeline lineno="2919"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(found_cfg<sp/>&amp;&amp;<sp/>found_cfg!=default_cfg){</highlight></codeline>
<codeline lineno="2920"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_debug(</highlight><highlight class="stringliteral">&quot;Overriding<sp/>default<sp/>proxy<sp/>setting<sp/>for<sp/>this<sp/>call/message/subscribe<sp/>operation.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="2921"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!found_cfg)<sp/>found_cfg=default_cfg;<sp/></highlight><highlight class="comment">/*when<sp/>no<sp/>matching<sp/>proxy<sp/>config<sp/>is<sp/>found,<sp/>use<sp/>the<sp/>default<sp/>proxy<sp/>config*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2922"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>found_cfg;</highlight></codeline>
<codeline lineno="2923"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2924"><highlight class="normal"></highlight></codeline>
<codeline lineno="2925"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*linphone_core_find_best_identity(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref><sp/>*to){</highlight></codeline>
<codeline lineno="2926"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref><sp/>*cfg=linphone_core_lookup_known_proxy(lc,to);</highlight></codeline>
<codeline lineno="2927"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(cfg!=NULL){</highlight></codeline>
<codeline lineno="2928"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__proxies_1gafebbeb5de42c1cfac8f134714111f10e" kindref="member">linphone_proxy_config_get_identity</ref><sp/>(cfg);</highlight></codeline>
<codeline lineno="2929"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2930"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__proxies_1ga147c072e33bdf5d44a3b95b28b4b27a1" kindref="member">linphone_core_get_primary_contact</ref>(lc);</highlight></codeline>
<codeline lineno="2931"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2932"><highlight class="normal"></highlight></codeline>
<codeline lineno="2933"><highlight class="normal"></highlight></codeline>
<codeline lineno="2934"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>linphone_core_proceed_with_invite_if_ready(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call,<sp/><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref><sp/>*dest_proxy){</highlight></codeline>
<codeline lineno="2935"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>bool_t<sp/>ice_ready<sp/>=<sp/>FALSE;</highlight></codeline>
<codeline lineno="2936"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>bool_t<sp/>upnp_ready<sp/>=<sp/>FALSE;</highlight></codeline>
<codeline lineno="2937"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>bool_t<sp/>ping_ready<sp/>=<sp/>FALSE;</highlight></codeline>
<codeline lineno="2938"><highlight class="normal"></highlight></codeline>
<codeline lineno="2939"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;ice_session<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="2940"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ice_session_candidates_gathered(call-&gt;ice_session))<sp/>ice_ready<sp/>=<sp/>TRUE;</highlight></codeline>
<codeline lineno="2941"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="2942"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ice_ready<sp/>=<sp/>TRUE;</highlight></codeline>
<codeline lineno="2943"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2944"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2945"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;upnp_session<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="2946"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_upnp_session_get_state(call-&gt;upnp_session)<sp/>==<sp/><ref refid="group__initializing_1gga3d626fbc6cee8294fef83d197fa27490a69b1709a2087dcf1089d1204ed25a09a" kindref="member">LinphoneUpnpStateOk</ref>)<sp/>upnp_ready<sp/>=<sp/>TRUE;</highlight></codeline>
<codeline lineno="2947"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="2948"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>upnp_ready<sp/>=<sp/>TRUE;</highlight></codeline>
<codeline lineno="2949"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2950"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2951"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>upnp_ready=TRUE;</highlight></codeline>
<codeline lineno="2952"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2953"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;ping_op<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="2954"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;ping_replied<sp/>==<sp/>TRUE)<sp/>ping_ready<sp/>=<sp/>TRUE;</highlight></codeline>
<codeline lineno="2955"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="2956"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ping_ready<sp/>=<sp/>TRUE;</highlight></codeline>
<codeline lineno="2957"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2958"><highlight class="normal"></highlight></codeline>
<codeline lineno="2959"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((ice_ready<sp/>==<sp/>TRUE)<sp/>&amp;&amp;<sp/>(upnp_ready<sp/>==<sp/>TRUE)<sp/>&amp;&amp;<sp/>(ping_ready<sp/>==<sp/>TRUE))<sp/>{</highlight></codeline>
<codeline lineno="2960"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>linphone_core_start_invite(lc,<sp/>call,<sp/>NULL);</highlight></codeline>
<codeline lineno="2961"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2962"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="2963"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2964"><highlight class="normal"></highlight></codeline>
<codeline lineno="2965"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>linphone_core_restart_invite(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call){</highlight></codeline>
<codeline lineno="2966"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_create_op(call);</highlight></codeline>
<codeline lineno="2967"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_stop_media_streams(call);</highlight></codeline>
<codeline lineno="2968"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_media_stream_sessions_uninit(&amp;call-&gt;sessions[0]);</highlight></codeline>
<codeline lineno="2969"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_media_stream_sessions_uninit(&amp;call-&gt;sessions[1]);</highlight></codeline>
<codeline lineno="2970"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_init_media_streams(call);</highlight></codeline>
<codeline lineno="2971"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>linphone_core_start_invite(lc,call,<sp/>NULL);</highlight></codeline>
<codeline lineno="2972"><highlight class="normal">}</highlight></codeline>
<codeline lineno="2973"><highlight class="normal"></highlight></codeline>
<codeline lineno="2974"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>linphone_core_start_invite(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref>*<sp/>destination<sp/></highlight><highlight class="comment">/*<sp/>=<sp/>NULL<sp/>if<sp/>to<sp/>be<sp/>taken<sp/>from<sp/>the<sp/>call<sp/>log<sp/>*/</highlight><highlight class="normal">){</highlight></codeline>
<codeline lineno="2975"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>err;</highlight></codeline>
<codeline lineno="2976"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*real_url,*barmsg;</highlight></codeline>
<codeline lineno="2977"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*from;</highlight></codeline>
<codeline lineno="2978"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*try<sp/>to<sp/>be<sp/>best-effort<sp/>in<sp/>giving<sp/>real<sp/>local<sp/>or<sp/>routable<sp/>contact<sp/>address<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2979"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_contact_op(call);</highlight></codeline>
<codeline lineno="2980"><highlight class="normal"></highlight></codeline>
<codeline lineno="2981"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__IOS_1gad0ecef2fb7a77c3363aa94edeadaf65b" kindref="member">linphone_core_stop_dtmf_stream</ref>(lc);</highlight></codeline>
<codeline lineno="2982"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_make_local_media_description(lc,call);</highlight></codeline>
<codeline lineno="2983"><highlight class="normal"></highlight></codeline>
<codeline lineno="2984"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;ringstream==NULL)<sp/>{</highlight></codeline>
<codeline lineno="2985"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sound_conf.play_sndcard<sp/>&amp;&amp;<sp/>lc-&gt;sound_conf.capt_sndcard){</highlight></codeline>
<codeline lineno="2986"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*give<sp/>a<sp/>chance<sp/>a<sp/>set<sp/>card<sp/>prefered<sp/>sampling<sp/>frequency*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2987"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;localdesc-&gt;streams[0].max_rate&gt;0)<sp/>{</highlight></codeline>
<codeline lineno="2988"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_snd_card_set_preferred_sample_rate(lc-&gt;sound_conf.play_sndcard,<sp/>call-&gt;localdesc-&gt;streams[0].max_rate);</highlight></codeline>
<codeline lineno="2989"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2990"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>audio_stream_prepare_sound(call-&gt;audiostream,lc-&gt;sound_conf.play_sndcard,lc-&gt;sound_conf.capt_sndcard);</highlight></codeline>
<codeline lineno="2991"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2992"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="2993"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>real_url=<ref refid="group__linphone__address_1ga24c1a16f49f8b72f2bab65cc5d8a51af" kindref="member">linphone_address_as_string</ref>(<sp/>destination<sp/>?<sp/>destination<sp/>:<sp/>call-&gt;log-&gt;to);</highlight></codeline>
<codeline lineno="2994"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>from=<ref refid="group__linphone__address_1ga24c1a16f49f8b72f2bab65cc5d8a51af" kindref="member">linphone_address_as_string</ref>(call-&gt;log-&gt;from);</highlight></codeline>
<codeline lineno="2995"><highlight class="normal"></highlight></codeline>
<codeline lineno="2996"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!lc-&gt;sip_conf.sdp_200_ack){</highlight></codeline>
<codeline lineno="2997"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*we<sp/>are<sp/>offering,<sp/>set<sp/>local<sp/>media<sp/>description<sp/>before<sp/>sending<sp/>the<sp/>call*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2998"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_call_set_local_media_description(call-&gt;op,call-&gt;localdesc);</highlight></codeline>
<codeline lineno="2999"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3000"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>err=sal_call(call-&gt;op,from,real_url);</highlight></codeline>
<codeline lineno="3001"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sip_conf.sdp_200_ack){</highlight></codeline>
<codeline lineno="3002"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*we<sp/>are<sp/>NOT<sp/>offering,<sp/>set<sp/>local<sp/>media<sp/>description<sp/>after<sp/>sending<sp/>the<sp/>call<sp/>so<sp/>that<sp/>we<sp/>are<sp/>ready<sp/>to</highlight></codeline>
<codeline lineno="3003"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>process<sp/>the<sp/>remote<sp/>offer<sp/>when<sp/>it<sp/>will<sp/>arrive*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3004"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_call_set_local_media_description(call-&gt;op,call-&gt;localdesc);</highlight></codeline>
<codeline lineno="3005"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3006"><highlight class="normal"></highlight></codeline>
<codeline lineno="3007"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call-&gt;log-&gt;call_id=ms_strdup(sal_op_get_call_id(call-&gt;op));<sp/></highlight><highlight class="comment">/*must<sp/>be<sp/>known<sp/>at<sp/>that<sp/>time*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3008"><highlight class="normal"></highlight></codeline>
<codeline lineno="3009"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>barmsg=ortp_strdup_printf(</highlight><highlight class="stringliteral">&quot;%s<sp/>%s&quot;</highlight><highlight class="normal">,<sp/>_(</highlight><highlight class="stringliteral">&quot;Contacting&quot;</highlight><highlight class="normal">),<sp/>real_url);</highlight></codeline>
<codeline lineno="3010"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_display_status(lc,barmsg);</highlight></codeline>
<codeline lineno="3011"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(barmsg);</highlight></codeline>
<codeline lineno="3012"><highlight class="normal"></highlight></codeline>
<codeline lineno="3013"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(err&lt;0){</highlight></codeline>
<codeline lineno="3014"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_display_status(lc,_(</highlight><highlight class="stringliteral">&quot;Could<sp/>not<sp/>call&quot;</highlight><highlight class="normal">));</highlight></codeline>
<codeline lineno="3015"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_stop_media_streams(call);</highlight></codeline>
<codeline lineno="3016"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_state(call,<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa1214ea33f3ff7fd8aa0ce8922dda5170" kindref="member">LinphoneCallError</ref>,</highlight><highlight class="stringliteral">&quot;Call<sp/>failed&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3017"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="3018"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_state(call,<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa4f6c8b38f68a9bdfdd6d59cc904f924c" kindref="member">LinphoneCallOutgoingProgress</ref>,</highlight><highlight class="stringliteral">&quot;Outgoing<sp/>call<sp/>in<sp/>progress&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3019"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3020"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(real_url);</highlight></codeline>
<codeline lineno="3021"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(from);</highlight></codeline>
<codeline lineno="3022"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>err;</highlight></codeline>
<codeline lineno="3023"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3024"><highlight class="normal"></highlight></codeline>
<codeline lineno="3037"><highlight class="normal"><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*<sp/><ref refid="group__call__control_1gaaea662739cc3825eaa80d8ac264a883c" kindref="member">linphone_core_invite</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*url){</highlight></codeline>
<codeline lineno="3038"><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="3039"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref><sp/>*p=<ref refid="group__media__parameters_1gaf733e15bc6e3356f645f66b179c38d05" kindref="member">linphone_core_create_default_call_parameters</ref><sp/>(lc);</highlight></codeline>
<codeline lineno="3040"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>p-&gt;has_video<sp/>&amp;=<sp/>!!lc-&gt;video_policy.automatically_initiate;</highlight></codeline>
<codeline lineno="3041"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call=<ref refid="group__call__control_1ga48931b432fb6dbe6355985604d6b5de5" kindref="member">linphone_core_invite_with_params</ref>(lc,url,p);</highlight></codeline>
<codeline lineno="3042"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gae5a1586d6c30f4daf96945a9ba5fc87f" kindref="member">linphone_call_params_destroy</ref>(p);</highlight></codeline>
<codeline lineno="3043"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>call;</highlight></codeline>
<codeline lineno="3044"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3045"><highlight class="normal"></highlight></codeline>
<codeline lineno="3046"><highlight class="normal"></highlight></codeline>
<codeline lineno="3060"><highlight class="normal"><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*<sp/><ref refid="group__call__control_1ga48931b432fb6dbe6355985604d6b5de5" kindref="member">linphone_core_invite_with_params</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*url,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref><sp/>*p){</highlight></codeline>
<codeline lineno="3061"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref><sp/>*addr=<ref refid="group__call__control_1ga1de3060cfba4df416da17259173fdefe" kindref="member">linphone_core_interpret_url</ref>(lc,url);</highlight></codeline>
<codeline lineno="3062"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(addr){</highlight></codeline>
<codeline lineno="3063"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call;</highlight></codeline>
<codeline lineno="3064"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call=<ref refid="group__call__control_1gaf73435cd4252df9cf33af90cae68d813" kindref="member">linphone_core_invite_address_with_params</ref>(lc,addr,p);</highlight></codeline>
<codeline lineno="3065"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__linphone__address_1ga5777f2976c71a48cf2b3f03c61818f13" kindref="member">linphone_address_destroy</ref>(addr);</highlight></codeline>
<codeline lineno="3066"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>call;</highlight></codeline>
<codeline lineno="3067"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3068"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="3069"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3070"><highlight class="normal"></highlight></codeline>
<codeline lineno="3085"><highlight class="normal"><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*<sp/><ref refid="group__call__control_1gaac6720bef666db932ae77e07c2201b4c" kindref="member">linphone_core_invite_address</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref><sp/>*addr){</highlight></codeline>
<codeline lineno="3086"><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="3087"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref><sp/>*p=<ref refid="group__media__parameters_1gaf733e15bc6e3356f645f66b179c38d05" kindref="member">linphone_core_create_default_call_parameters</ref>(lc);</highlight></codeline>
<codeline lineno="3088"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>p-&gt;has_video<sp/>&amp;=<sp/>!!lc-&gt;video_policy.automatically_initiate;</highlight></codeline>
<codeline lineno="3089"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call=<ref refid="group__call__control_1gaf73435cd4252df9cf33af90cae68d813" kindref="member">linphone_core_invite_address_with_params</ref><sp/>(lc,addr,p);</highlight></codeline>
<codeline lineno="3090"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gae5a1586d6c30f4daf96945a9ba5fc87f" kindref="member">linphone_call_params_destroy</ref>(p);</highlight></codeline>
<codeline lineno="3091"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>call;</highlight></codeline>
<codeline lineno="3092"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3093"><highlight class="normal"></highlight></codeline>
<codeline lineno="3094"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_transfer_routes_to_op(MSList<sp/>*routes,<sp/>SalOp<sp/>*op){</highlight></codeline>
<codeline lineno="3095"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList<sp/>*it;</highlight></codeline>
<codeline lineno="3096"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(it=routes;it!=NULL;it=it-&gt;next){</highlight></codeline>
<codeline lineno="3097"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>SalAddress<sp/>*addr=(SalAddress*)it-&gt;data;</highlight></codeline>
<codeline lineno="3098"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_op_add_route_address(op,addr);</highlight></codeline>
<codeline lineno="3099"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_address_destroy(addr);</highlight></codeline>
<codeline lineno="3100"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3101"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_list_free(routes);</highlight></codeline>
<codeline lineno="3102"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3103"><highlight class="normal"></highlight></codeline>
<codeline lineno="3104"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_configure_op(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>SalOp<sp/>*op,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref><sp/>*dest,<sp/>SalCustomHeader<sp/>*headers,<sp/>bool_t<sp/>with_contact){</highlight></codeline>
<codeline lineno="3105"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList<sp/>*routes=NULL;</highlight></codeline>
<codeline lineno="3106"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref><sp/>*proxy=linphone_core_lookup_known_proxy(lc,dest);</highlight></codeline>
<codeline lineno="3107"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*identity;</highlight></codeline>
<codeline lineno="3108"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(proxy){</highlight></codeline>
<codeline lineno="3109"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>identity=<ref refid="group__proxies_1gafebbeb5de42c1cfac8f134714111f10e" kindref="member">linphone_proxy_config_get_identity</ref>(proxy);</highlight></codeline>
<codeline lineno="3110"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="group__proxies_1ga94721646dad94bb19ff9bc560d74de77" kindref="member">linphone_proxy_config_get_privacy</ref>(proxy)!=<ref refid="group__call__control_1gga99bd271365a2a47d5e804abec3de8aeba90eb4ddfe04dd831034d9435e9c11658" kindref="member">LinphonePrivacyDefault</ref>)<sp/>{</highlight></codeline>
<codeline lineno="3111"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_op_set_privacy(op,<ref refid="group__proxies_1ga94721646dad94bb19ff9bc560d74de77" kindref="member">linphone_proxy_config_get_privacy</ref>(proxy));</highlight></codeline>
<codeline lineno="3112"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3113"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>identity=<ref refid="group__proxies_1ga147c072e33bdf5d44a3b95b28b4b27a1" kindref="member">linphone_core_get_primary_contact</ref>(lc);</highlight></codeline>
<codeline lineno="3114"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*sending<sp/>out<sp/>of<sp/>calls*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3115"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(proxy){</highlight></codeline>
<codeline lineno="3116"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>routes=make_routes_for_proxy(proxy,dest);</highlight></codeline>
<codeline lineno="3117"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_transfer_routes_to_op(routes,op);</highlight></codeline>
<codeline lineno="3118"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3119"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_op_set_to_address(op,dest);</highlight></codeline>
<codeline lineno="3120"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_op_set_from(op,identity);</highlight></codeline>
<codeline lineno="3121"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_op_set_sent_custom_header(op,headers);</highlight></codeline>
<codeline lineno="3122"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_op_set_realm(op,<ref refid="group__proxies_1gaeeb37e88116182ec7c1bee24b873204e" kindref="member">linphone_proxy_config_get_realm</ref>(proxy));</highlight></codeline>
<codeline lineno="3123"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(with_contact<sp/>&amp;&amp;<sp/>proxy<sp/>&amp;&amp;<sp/>proxy-&gt;op){</highlight></codeline>
<codeline lineno="3124"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>SalAddress<sp/>*contact;</highlight></codeline>
<codeline lineno="3125"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((contact=sal_op_get_contact_address(proxy-&gt;op))){</highlight></codeline>
<codeline lineno="3126"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>SalTransport<sp/>tport=sal_address_get_transport((SalAddress*)contact);</highlight></codeline>
<codeline lineno="3127"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>SalAddress<sp/>*new_contact=sal_address_clone(contact);</highlight></codeline>
<codeline lineno="3128"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_address_clean(new_contact);<sp/></highlight><highlight class="comment">/*<sp/>clean<sp/>out<sp/>contact_params<sp/>that<sp/>come<sp/>from<sp/>proxy<sp/>config*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3129"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_address_set_transport(new_contact,tport);</highlight></codeline>
<codeline lineno="3130"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_op_set_contact_address(op,new_contact);</highlight></codeline>
<codeline lineno="3131"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_address_destroy(new_contact);</highlight></codeline>
<codeline lineno="3132"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3133"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3134"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_op_cnx_ip_to_0000_if_sendonly_enable(op,<ref refid="group__misc_1ga588638bfdd889e404a796e8e076f5577" kindref="member">lp_config_get_default_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;cnx_ip_to_0000_if_sendonly_enabled&quot;</highlight><highlight class="normal">,0));<sp/></highlight><highlight class="comment">/*also<sp/>set<sp/>in<sp/>linphone_call_new_incoming*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3135"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3136"><highlight class="normal"></highlight></codeline>
<codeline lineno="3152"><highlight class="normal"><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*<sp/><ref refid="group__call__control_1gaf73435cd4252df9cf33af90cae68d813" kindref="member">linphone_core_invite_address_with_params</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref><sp/>*addr,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref><sp/>*params)</highlight></codeline>
<codeline lineno="3153"><highlight class="normal">{</highlight></codeline>
<codeline lineno="3154"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*from=NULL;</highlight></codeline>
<codeline lineno="3155"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref><sp/>*proxy=NULL;</highlight></codeline>
<codeline lineno="3156"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref><sp/>*parsed_url2=NULL;</highlight></codeline>
<codeline lineno="3157"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*real_url=NULL;</highlight></codeline>
<codeline lineno="3158"><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="3159"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>bool_t<sp/>defer<sp/>=<sp/>FALSE;</highlight></codeline>
<codeline lineno="3160"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref><sp/>*cp<sp/>=<sp/><ref refid="group__call__control_1gaaff626b40ba1834c7912aef9fc441544" kindref="member">linphone_call_params_copy</ref>(params);</highlight></codeline>
<codeline lineno="3161"><highlight class="normal"></highlight></codeline>
<codeline lineno="3162"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_preempt_sound_resources(lc);</highlight></codeline>
<codeline lineno="3163"><highlight class="normal"></highlight></codeline>
<codeline lineno="3164"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(!<ref refid="group__call__control_1ga617649e37b3b4b2d8323746da33c10e0" kindref="member">linphone_core_can_we_add_call</ref>(lc)){</highlight></codeline>
<codeline lineno="3165"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_display_warning(lc,_(</highlight><highlight class="stringliteral">&quot;Sorry,<sp/>we<sp/>have<sp/>reached<sp/>the<sp/>maximum<sp/>number<sp/>of<sp/>simultaneous<sp/>calls&quot;</highlight><highlight class="normal">));</highlight></codeline>
<codeline lineno="3166"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="3167"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3168"><highlight class="normal"></highlight></codeline>
<codeline lineno="3169"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>real_url=<ref refid="group__linphone__address_1ga24c1a16f49f8b72f2bab65cc5d8a51af" kindref="member">linphone_address_as_string</ref>(addr);</highlight></codeline>
<codeline lineno="3170"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>proxy=linphone_core_lookup_known_proxy(lc,addr);</highlight></codeline>
<codeline lineno="3171"><highlight class="normal"></highlight></codeline>
<codeline lineno="3172"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(proxy!=NULL)<sp/>{</highlight></codeline>
<codeline lineno="3173"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>from=<ref refid="group__proxies_1gafebbeb5de42c1cfac8f134714111f10e" kindref="member">linphone_proxy_config_get_identity</ref>(proxy);</highlight></codeline>
<codeline lineno="3174"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>cp-&gt;avpf_enabled<sp/>=<sp/><ref refid="group__proxies_1ga118eccd24901b763b342a4cbeab42c4a" kindref="member">linphone_proxy_config_avpf_enabled</ref>(proxy);</highlight></codeline>
<codeline lineno="3175"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>cp-&gt;avpf_rr_interval<sp/>=<sp/><ref refid="group__proxies_1gaafe4fa6cdcddaac450ad9a999109f642" kindref="member">linphone_proxy_config_get_avpf_rr_interval</ref>(proxy)<sp/>*<sp/>1000;</highlight></codeline>
<codeline lineno="3176"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="3177"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>cp-&gt;avpf_enabled=<ref refid="group__media__parameters_1gaf8914933abe759036cb7147118ce34f9" kindref="member">linphone_core_get_avpf_mode</ref>(lc)==<ref refid="group__media__parameters_1ggadcdeda5329c2e35fa3eea8efd2a781feae3492d7cd6596345861fc6cd1cd03ff8" kindref="member">LinphoneAVPFEnabled</ref>;</highlight></codeline>
<codeline lineno="3178"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(cp-&gt;avpf_enabled)<sp/>cp-&gt;avpf_rr_interval=<ref refid="group__media__parameters_1gafb3ac52a7e92847e4280a32a363e5281" kindref="member">linphone_core_get_avpf_rr_interval</ref>(lc)<sp/>*<sp/>1000;</highlight></codeline>
<codeline lineno="3179"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3180"><highlight class="normal"></highlight></codeline>
<codeline lineno="3181"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>if<sp/>no<sp/>proxy<sp/>or<sp/>no<sp/>identity<sp/>defined<sp/>for<sp/>this<sp/>proxy,<sp/>default<sp/>to<sp/>primary<sp/>contact*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3182"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(from==NULL)<sp/>from=<ref refid="group__proxies_1ga147c072e33bdf5d44a3b95b28b4b27a1" kindref="member">linphone_core_get_primary_contact</ref>(lc);</highlight></codeline>
<codeline lineno="3183"><highlight class="normal"></highlight></codeline>
<codeline lineno="3184"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>parsed_url2=<ref refid="group__linphone__address_1ga301c9884c0bc8b1050fe790d424e0b49" kindref="member">linphone_address_new</ref>(from);</highlight></codeline>
<codeline lineno="3185"><highlight class="normal"></highlight></codeline>
<codeline lineno="3186"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call=linphone_call_new_outgoing(lc,parsed_url2,<ref refid="group__linphone__address_1ga7b33626eea53bbd5cea9e5c4c58826df" kindref="member">linphone_address_clone</ref>(addr),cp,proxy);</highlight></codeline>
<codeline lineno="3187"><highlight class="normal"></highlight></codeline>
<codeline lineno="3188"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(linphone_core_add_call(lc,call)!=<sp/>0)</highlight></codeline>
<codeline lineno="3189"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="3190"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;we<sp/>had<sp/>a<sp/>problem<sp/>in<sp/>adding<sp/>the<sp/>call<sp/>into<sp/>the<sp/>invite<sp/>...<sp/>weird&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3191"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gae69d2d9891695c07fca0637ef7fd7df6" kindref="member">linphone_call_unref</ref>(call);</highlight></codeline>
<codeline lineno="3192"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gae5a1586d6c30f4daf96945a9ba5fc87f" kindref="member">linphone_call_params_destroy</ref>(cp);</highlight></codeline>
<codeline lineno="3193"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="3194"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3195"><highlight class="normal"></highlight></codeline>
<codeline lineno="3196"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>this<sp/>call<sp/>becomes<sp/>now<sp/>the<sp/>current<sp/>one*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3197"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;current_call=call;</highlight></codeline>
<codeline lineno="3198"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_state<sp/>(call,<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaae99727dfb0a8e30ef04ff96ce3bf7e36" kindref="member">LinphoneCallOutgoingInit</ref>,</highlight><highlight class="stringliteral">&quot;Starting<sp/>outgoing<sp/>call&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3199"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call-&gt;log-&gt;start_date_time=ms_time(NULL);</highlight></codeline>
<codeline lineno="3200"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_init_media_streams(call);</highlight></codeline>
<codeline lineno="3201"><highlight class="normal"></highlight></codeline>
<codeline lineno="3202"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="group__network__parameters_1ga9de28ff0fd0f8ff65ef82eba9592276c" kindref="member">linphone_core_get_firewall_policy</ref>(call-&gt;core)<sp/>==<sp/><ref refid="group__network__parameters_1ggadad0a1c27596017d9d9b3c30ef47f5beaeadfb66b915acd91af98e4d5cd47b17b" kindref="member">LinphonePolicyUseIce</ref>)<sp/>{</highlight></codeline>
<codeline lineno="3203"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Defer<sp/>the<sp/>start<sp/>of<sp/>the<sp/>call<sp/>after<sp/>the<sp/>ICE<sp/>gathering<sp/>process.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3204"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_call_prepare_ice(call,FALSE)==1)</highlight></codeline>
<codeline lineno="3205"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>defer=TRUE;</highlight></codeline>
<codeline lineno="3206"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3207"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="group__network__parameters_1ga9de28ff0fd0f8ff65ef82eba9592276c" kindref="member">linphone_core_get_firewall_policy</ref>(call-&gt;core)<sp/>==<sp/><ref refid="group__network__parameters_1ggadad0a1c27596017d9d9b3c30ef47f5beab254b7940dee8816026d50fb29ecaae8" kindref="member">LinphonePolicyUseUpnp</ref>)<sp/>{</highlight></codeline>
<codeline lineno="3208"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3209"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_update_upnp(lc,call)&lt;0)<sp/>{</highlight></codeline>
<codeline lineno="3210"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>uPnP<sp/>port<sp/>mappings<sp/>failed,<sp/>proceed<sp/>with<sp/>the<sp/>call<sp/>anyway.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3211"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_delete_upnp_session(call);</highlight></codeline>
<codeline lineno="3212"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="3213"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>defer<sp/>=<sp/>TRUE;</highlight></codeline>
<codeline lineno="3214"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3215"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3216"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3217"><highlight class="normal"></highlight></codeline>
<codeline lineno="3218"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;dest_proxy==NULL<sp/>&amp;&amp;<sp/>lc-&gt;sip_conf.ping_with_options==TRUE){</highlight></codeline>
<codeline lineno="3219"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3220"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;upnp<sp/>!=<sp/>NULL<sp/>&amp;&amp;<sp/><ref refid="group__network__parameters_1ga9de28ff0fd0f8ff65ef82eba9592276c" kindref="member">linphone_core_get_firewall_policy</ref>(lc)==<ref refid="group__network__parameters_1ggadad0a1c27596017d9d9b3c30ef47f5beab254b7940dee8816026d50fb29ecaae8" kindref="member">LinphonePolicyUseUpnp</ref><sp/>&amp;&amp;</highlight></codeline>
<codeline lineno="3221"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_upnp_context_get_state(lc-&gt;upnp)<sp/>==<sp/><ref refid="group__initializing_1gga3d626fbc6cee8294fef83d197fa27490a69b1709a2087dcf1089d1204ed25a09a" kindref="member">LinphoneUpnpStateOk</ref>)<sp/>{</highlight></codeline>
<codeline lineno="3222"><highlight class="normal"></highlight><highlight class="preprocessor">#else<sp/>//BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3223"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="3224"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3225"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*defer<sp/>the<sp/>start<sp/>of<sp/>the<sp/>call<sp/>after<sp/>the<sp/>OPTIONS<sp/>ping*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3226"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call-&gt;ping_replied=FALSE;</highlight></codeline>
<codeline lineno="3227"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call-&gt;ping_op=sal_op_new(lc-&gt;sal);</highlight></codeline>
<codeline lineno="3228"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_ping(call-&gt;ping_op,from,real_url);</highlight></codeline>
<codeline lineno="3229"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_op_set_user_pointer(call-&gt;ping_op,call);</highlight></codeline>
<codeline lineno="3230"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>defer<sp/>=<sp/>TRUE;</highlight></codeline>
<codeline lineno="3231"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3232"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3233"><highlight class="normal"></highlight></codeline>
<codeline lineno="3234"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(defer==FALSE)<sp/>linphone_core_start_invite(lc,call,NULL);</highlight></codeline>
<codeline lineno="3235"><highlight class="normal"></highlight></codeline>
<codeline lineno="3236"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(real_url!=NULL)<sp/>ms_free(real_url);</highlight></codeline>
<codeline lineno="3237"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gae5a1586d6c30f4daf96945a9ba5fc87f" kindref="member">linphone_call_params_destroy</ref>(cp);</highlight></codeline>
<codeline lineno="3238"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>call;</highlight></codeline>
<codeline lineno="3239"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3240"><highlight class="normal"></highlight></codeline>
<codeline lineno="3252"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ga12be1e8ad7e6c8e8c3811d060aadd914" kindref="member">linphone_core_transfer_call</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*url)</highlight></codeline>
<codeline lineno="3253"><highlight class="normal">{</highlight></codeline>
<codeline lineno="3254"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*real_url=NULL;</highlight></codeline>
<codeline lineno="3255"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref><sp/>*real_parsed_url=<ref refid="group__call__control_1ga1de3060cfba4df416da17259173fdefe" kindref="member">linphone_core_interpret_url</ref>(lc,url);</highlight></codeline>
<codeline lineno="3256"><highlight class="normal"></highlight></codeline>
<codeline lineno="3257"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!real_parsed_url){</highlight></codeline>
<codeline lineno="3258"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>bad<sp/>url<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3259"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="3260"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3261"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call==NULL){</highlight></codeline>
<codeline lineno="3262"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;No<sp/>established<sp/>call<sp/>to<sp/>refer.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3263"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="3264"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3265"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//lc-&gt;call=NULL;<sp/>//Do<sp/>not<sp/>do<sp/>that<sp/>you<sp/>will<sp/>lose<sp/>the<sp/>call<sp/>afterward<sp/>.<sp/>.<sp/>.</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3266"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>real_url=<ref refid="group__linphone__address_1ga24c1a16f49f8b72f2bab65cc5d8a51af" kindref="member">linphone_address_as_string</ref><sp/>(real_parsed_url);</highlight></codeline>
<codeline lineno="3267"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_call_refer(call-&gt;op,real_url);</highlight></codeline>
<codeline lineno="3268"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(real_url);</highlight></codeline>
<codeline lineno="3269"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__linphone__address_1ga5777f2976c71a48cf2b3f03c61818f13" kindref="member">linphone_address_destroy</ref>(real_parsed_url);</highlight></codeline>
<codeline lineno="3270"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_transfer_state(call,<sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaae99727dfb0a8e30ef04ff96ce3bf7e36" kindref="member">LinphoneCallOutgoingInit</ref>);</highlight></codeline>
<codeline lineno="3271"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="3272"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3273"><highlight class="normal"></highlight></codeline>
<codeline lineno="3292"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ga704f9a08e7b820d02c3e27358e77067e" kindref="member">linphone_core_transfer_call_to_another</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*dest){</highlight></codeline>
<codeline lineno="3293"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>result<sp/>=<sp/>sal_call_refer_with_replaces<sp/>(call-&gt;op,dest-&gt;op);</highlight></codeline>
<codeline lineno="3294"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_transfer_state(call,<sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaae99727dfb0a8e30ef04ff96ce3bf7e36" kindref="member">LinphoneCallOutgoingInit</ref>);</highlight></codeline>
<codeline lineno="3295"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>result;</highlight></codeline>
<codeline lineno="3296"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3297"><highlight class="normal"></highlight></codeline>
<codeline lineno="3298"><highlight class="normal">bool_t<sp/><ref refid="group__call__control_1ga6449fc2ec8cdeea7a31e9416195c1615" kindref="member">linphone_core_is_incoming_invite_pending</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*lc){</highlight></codeline>
<codeline lineno="3299"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call<sp/>=<sp/><ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref>(lc);</highlight></codeline>
<codeline lineno="3300"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(call<sp/>!=<sp/>NULL)</highlight></codeline>
<codeline lineno="3301"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="3302"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(call-&gt;dir==<ref refid="group__call__logs_1ggaa3077de7d4214529094998ce441f61e1aa4030176bbddea10e361ce320946e202" kindref="member">LinphoneCallIncoming</ref></highlight></codeline>
<codeline lineno="3303"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>&amp;&amp;<sp/>(call-&gt;state<sp/>==<sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa0998d4c2bce14ae88b0ae84fbef5c33a" kindref="member">LinphoneCallIncomingReceived</ref><sp/>||<sp/>call-&gt;state<sp/>==<sp/><sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaab8684757f565989d4212026f755762ed" kindref="member">LinphoneCallIncomingEarlyMedia</ref>))</highlight></codeline>
<codeline lineno="3304"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>TRUE;</highlight></codeline>
<codeline lineno="3305"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3306"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>FALSE;</highlight></codeline>
<codeline lineno="3307"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3308"><highlight class="normal"></highlight></codeline>
<codeline lineno="3309"><highlight class="normal">bool_t<sp/>linphone_core_incompatible_security(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>SalMediaDescription<sp/>*md){</highlight></codeline>
<codeline lineno="3310"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga47ac30cbcc93c9b7a0bcb28d6e9bc1a7" kindref="member">linphone_core_is_media_encryption_mandatory</ref>(lc)<sp/>&amp;&amp;<sp/><ref refid="group__media__parameters_1ga3550fc4b1096105b054af72c992e6237" kindref="member">linphone_core_get_media_encryption</ref>(lc)==<ref refid="group__media__parameters_1ggac01228dce297dfe24304be6a1d2cfa0baa4bbefa58306fc1c23e2525a44a5ab88" kindref="member">LinphoneMediaEncryptionSRTP</ref><sp/>&amp;&amp;<sp/>!sal_media_description_has_srtp(md);</highlight></codeline>
<codeline lineno="3311"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3312"><highlight class="normal"></highlight></codeline>
<codeline lineno="3313"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_notify_incoming_call(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call){</highlight></codeline>
<codeline lineno="3314"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*barmesg;</highlight></codeline>
<codeline lineno="3315"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*tmp;</highlight></codeline>
<codeline lineno="3316"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref><sp/>*from_parsed;</highlight></codeline>
<codeline lineno="3317"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>bool_t<sp/>propose_early_media=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;incoming_calls_early_media&quot;</highlight><highlight class="normal">,FALSE);</highlight></codeline>
<codeline lineno="3318"><highlight class="normal"></highlight></codeline>
<codeline lineno="3319"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>from_parsed=<ref refid="group__linphone__address_1ga301c9884c0bc8b1050fe790d424e0b49" kindref="member">linphone_address_new</ref>(sal_op_get_from(call-&gt;op));</highlight></codeline>
<codeline lineno="3320"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__linphone__address_1gacd575aa16b3458037ff71794812048d3" kindref="member">linphone_address_clean</ref>(from_parsed);</highlight></codeline>
<codeline lineno="3321"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>tmp=<ref refid="group__linphone__address_1ga24c1a16f49f8b72f2bab65cc5d8a51af" kindref="member">linphone_address_as_string</ref>(from_parsed);</highlight></codeline>
<codeline lineno="3322"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__linphone__address_1ga5777f2976c71a48cf2b3f03c61818f13" kindref="member">linphone_address_destroy</ref>(from_parsed);</highlight></codeline>
<codeline lineno="3323"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>barmesg=ortp_strdup_printf(</highlight><highlight class="stringliteral">&quot;%s<sp/>%s%s&quot;</highlight><highlight class="normal">,tmp,_(</highlight><highlight class="stringliteral">&quot;is<sp/>contacting<sp/>you&quot;</highlight><highlight class="normal">),</highlight></codeline>
<codeline lineno="3324"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(sal_call_autoanswer_asked(call-&gt;op))<sp/>?_(</highlight><highlight class="stringliteral">&quot;<sp/>and<sp/>asked<sp/>autoanswer.&quot;</highlight><highlight class="normal">):</highlight><highlight class="stringliteral">&quot;.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3325"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_show_interface(lc);</highlight></codeline>
<codeline lineno="3326"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_display_status(lc,barmesg);</highlight></codeline>
<codeline lineno="3327"><highlight class="normal"></highlight></codeline>
<codeline lineno="3328"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>play<sp/>the<sp/>ring<sp/>if<sp/>this<sp/>is<sp/>the<sp/>only<sp/>call*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3329"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ms_list_size(lc-&gt;calls)==1){</highlight></codeline>
<codeline lineno="3330"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;current_call=call;</highlight></codeline>
<codeline lineno="3331"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;ringstream<sp/>&amp;&amp;<sp/>lc-&gt;dmfs_playing_start_time!=0){</highlight></codeline>
<codeline lineno="3332"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__IOS_1gad0ecef2fb7a77c3363aa94edeadaf65b" kindref="member">linphone_core_stop_dtmf_stream</ref>(lc);</highlight></codeline>
<codeline lineno="3333"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3334"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sound_conf.ring_sndcard!=NULL){</highlight></codeline>
<codeline lineno="3335"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(lc-&gt;ringstream==NULL<sp/>&amp;&amp;<sp/>lc-&gt;sound_conf.local_ring){</highlight></codeline>
<codeline lineno="3336"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSSndCard<sp/>*ringcard=lc-&gt;sound_conf.lsd_card<sp/>?lc-&gt;sound_conf.lsd_card<sp/>:<sp/>lc-&gt;sound_conf.ring_sndcard;</highlight></codeline>
<codeline lineno="3337"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;Starting<sp/>local<sp/>ring...&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3338"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;ringstream=ring_start(lc-&gt;sound_conf.local_ring,2000,ringcard);</highlight></codeline>
<codeline lineno="3339"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3340"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3341"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="3342"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;the<sp/>local<sp/>ring<sp/>is<sp/>already<sp/>started&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3343"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3344"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3345"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="3346"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>else<sp/>play<sp/>a<sp/>tone<sp/>within<sp/>the<sp/>context<sp/>of<sp/>the<sp/>current<sp/>call<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3347"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call-&gt;ringing_beep=TRUE;</highlight></codeline>
<codeline lineno="3348"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_play_named_tone(lc,LinphoneToneCallWaiting);</highlight></codeline>
<codeline lineno="3349"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3350"><highlight class="normal"></highlight></codeline>
<codeline lineno="3351"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_state(call,<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa0998d4c2bce14ae88b0ae84fbef5c33a" kindref="member">LinphoneCallIncomingReceived</ref>,</highlight><highlight class="stringliteral">&quot;Incoming<sp/>call&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3352"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*from<sp/>now<sp/>on,<sp/>the<sp/>application<sp/>is<sp/>aware<sp/>of<sp/>the<sp/>call<sp/>and<sp/>supposed<sp/>to<sp/>take<sp/>background<sp/>task<sp/>or<sp/>already<sp/>submitted<sp/>notification<sp/>to<sp/>the<sp/>user.</highlight></codeline>
<codeline lineno="3353"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>We<sp/>can<sp/>then<sp/>drop<sp/>our<sp/>background<sp/>task.*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3354"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;bg_task_id!=0)<sp/>{</highlight></codeline>
<codeline lineno="3355"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_end_background_task(call-&gt;bg_task_id);</highlight></codeline>
<codeline lineno="3356"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call-&gt;bg_task_id=0;</highlight></codeline>
<codeline lineno="3357"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3358"><highlight class="normal"></highlight></codeline>
<codeline lineno="3359"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;state==<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa0998d4c2bce14ae88b0ae84fbef5c33a" kindref="member">LinphoneCallIncomingReceived</ref>){</highlight></codeline>
<codeline lineno="3360"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*try<sp/>to<sp/>be<sp/>best-effort<sp/>in<sp/>giving<sp/>real<sp/>local<sp/>or<sp/>routable<sp/>contact<sp/>address<sp/>for<sp/>100Rel<sp/>case*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3361"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_contact_op(call);</highlight></codeline>
<codeline lineno="3362"><highlight class="normal"></highlight></codeline>
<codeline lineno="3363"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(propose_early_media){</highlight></codeline>
<codeline lineno="3364"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1ga635421a4063284ddc54ce5b16a32fbcc" kindref="member">linphone_core_accept_early_media</ref>(lc,call);</highlight></codeline>
<codeline lineno="3365"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>sal_call_notify_ringing(call-&gt;op,FALSE);</highlight></codeline>
<codeline lineno="3366"><highlight class="normal"></highlight></codeline>
<codeline lineno="3367"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sal_call_get_replaces(call-&gt;op)!=NULL<sp/>&amp;&amp;<sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;auto_answer_replacing_calls&quot;</highlight><highlight class="normal">,1)){</highlight></codeline>
<codeline lineno="3368"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1ga2813d4ece8097cef65d9e737305d7ca9" kindref="member">linphone_core_accept_call</ref>(lc,call);</highlight></codeline>
<codeline lineno="3369"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3370"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3371"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gae69d2d9891695c07fca0637ef7fd7df6" kindref="member">linphone_call_unref</ref>(call);</highlight></codeline>
<codeline lineno="3372"><highlight class="normal"></highlight></codeline>
<codeline lineno="3373"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(barmesg);</highlight></codeline>
<codeline lineno="3374"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(tmp);</highlight></codeline>
<codeline lineno="3375"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3376"><highlight class="normal"></highlight></codeline>
<codeline lineno="3377"><highlight class="normal"></highlight></codeline>
<codeline lineno="3389"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ga7bfff862f259329c4fd0dfb5a58f6c2c" kindref="member">linphone_core_accept_early_media_with_params</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*<sp/>lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref>*<sp/>call,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref>*<sp/>params)<sp/>{</highlight></codeline>
<codeline lineno="3390"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;state==<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa0998d4c2bce14ae88b0ae84fbef5c33a" kindref="member">LinphoneCallIncomingReceived</ref>){</highlight></codeline>
<codeline lineno="3391"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>SalMediaDescription*<sp/>md;</highlight></codeline>
<codeline lineno="3392"><highlight class="normal"></highlight></codeline>
<codeline lineno="3393"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*try<sp/>to<sp/>be<sp/>best-effort<sp/>in<sp/>giving<sp/>real<sp/>local<sp/>or<sp/>routable<sp/>contact<sp/>address<sp/>for<sp/>100Rel<sp/>case*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3394"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_contact_op(call);</highlight></codeline>
<codeline lineno="3395"><highlight class="normal"></highlight></codeline>
<codeline lineno="3396"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>if<sp/>parameters<sp/>are<sp/>passed,<sp/>update<sp/>the<sp/>media<sp/>description</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3397"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<sp/>params<sp/>)<sp/>{</highlight></codeline>
<codeline lineno="3398"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_new_params(call,params);</highlight></codeline>
<codeline lineno="3399"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_make_local_media_description<sp/>(<sp/>lc,call<sp/>);</highlight></codeline>
<codeline lineno="3400"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_call_set_local_media_description<sp/>(<sp/>call-&gt;op,call-&gt;localdesc<sp/>);</highlight></codeline>
<codeline lineno="3401"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_op_set_sent_custom_header<sp/>(<sp/>call-&gt;op,params-&gt;custom_headers<sp/>);</highlight></codeline>
<codeline lineno="3402"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3403"><highlight class="normal"></highlight></codeline>
<codeline lineno="3404"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_call_notify_ringing(call-&gt;op,TRUE);</highlight></codeline>
<codeline lineno="3405"><highlight class="normal"></highlight></codeline>
<codeline lineno="3406"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_state(call,<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaab8684757f565989d4212026f755762ed" kindref="member">LinphoneCallIncomingEarlyMedia</ref>,</highlight><highlight class="stringliteral">&quot;Incoming<sp/>call<sp/>early<sp/>media&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3407"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>md=sal_call_get_final_media_description(call-&gt;op);</highlight></codeline>
<codeline lineno="3408"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(md)<sp/>linphone_core_update_streams(lc,call,md);</highlight></codeline>
<codeline lineno="3409"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="3410"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="3411"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_error(</highlight><highlight class="stringliteral">&quot;Bad<sp/>state<sp/>%s<sp/>for<sp/>linphone_core_accept_early_media_with_params()&quot;</highlight><highlight class="normal">,<sp/>linphone_call_state_to_string(call-&gt;state));</highlight></codeline>
<codeline lineno="3412"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3413"><highlight class="normal"></highlight></codeline>
<codeline lineno="3414"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="3415"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3416"><highlight class="normal"></highlight></codeline>
<codeline lineno="3426"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ga635421a4063284ddc54ce5b16a32fbcc" kindref="member">linphone_core_accept_early_media</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*<sp/>lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref>*<sp/>call){</highlight></codeline>
<codeline lineno="3427"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ga7bfff862f259329c4fd0dfb5a58f6c2c" kindref="member">linphone_core_accept_early_media_with_params</ref>(lc,<sp/>call,<sp/>NULL);</highlight></codeline>
<codeline lineno="3428"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3429"><highlight class="normal"></highlight></codeline>
<codeline lineno="3430"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>linphone_core_start_update_call(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call){</highlight></codeline>
<codeline lineno="3431"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*subject;</highlight></codeline>
<codeline lineno="3432"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>err;</highlight></codeline>
<codeline lineno="3433"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>bool_t<sp/>no_user_consent=call-&gt;params-&gt;no_user_consent;</highlight></codeline>
<codeline lineno="3434"><highlight class="normal"></highlight></codeline>
<codeline lineno="3435"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!no_user_consent)<sp/>linphone_call_make_local_media_description(lc,call);</highlight></codeline>
<codeline lineno="3436"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3437"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(call-&gt;upnp_session<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="3438"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_update_local_media_description_from_upnp(call-&gt;localdesc,<sp/>call-&gt;upnp_session);</highlight></codeline>
<codeline lineno="3439"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3440"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3441"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;params-&gt;in_conference){</highlight></codeline>
<codeline lineno="3442"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>subject=</highlight><highlight class="stringliteral">&quot;Conference&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="3443"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!no_user_consent){</highlight></codeline>
<codeline lineno="3444"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>subject=</highlight><highlight class="stringliteral">&quot;Media<sp/>change&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="3445"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="3446"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>subject=</highlight><highlight class="stringliteral">&quot;Refreshing&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="3447"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3448"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_display_status(lc,_(</highlight><highlight class="stringliteral">&quot;Modifying<sp/>call<sp/>parameters...&quot;</highlight><highlight class="normal">));</highlight></codeline>
<codeline lineno="3449"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!lc-&gt;sip_conf.sdp_200_ack){</highlight></codeline>
<codeline lineno="3450"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_call_set_local_media_description<sp/>(call-&gt;op,call-&gt;localdesc);</highlight></codeline>
<codeline lineno="3451"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="3452"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_call_set_local_media_description<sp/>(call-&gt;op,NULL);</highlight></codeline>
<codeline lineno="3453"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3454"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;dest_proxy<sp/>&amp;&amp;<sp/>call-&gt;dest_proxy-&gt;op){</highlight></codeline>
<codeline lineno="3455"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*give<sp/>a<sp/>chance<sp/>to<sp/>update<sp/>the<sp/>contact<sp/>address<sp/>if<sp/>connectivity<sp/>has<sp/>changed*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3456"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_op_set_contact_address(call-&gt;op,sal_op_get_contact_address(call-&gt;dest_proxy-&gt;op));</highlight></codeline>
<codeline lineno="3457"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>sal_op_set_contact_address(call-&gt;op,NULL);</highlight></codeline>
<codeline lineno="3458"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>err=<sp/>sal_call_update(call-&gt;op,subject,no_user_consent);</highlight></codeline>
<codeline lineno="3459"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sip_conf.sdp_200_ack){</highlight></codeline>
<codeline lineno="3460"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*we<sp/>are<sp/>NOT<sp/>offering,<sp/>set<sp/>local<sp/>media<sp/>description<sp/>after<sp/>sending<sp/>the<sp/>call<sp/>so<sp/>that<sp/>we<sp/>are<sp/>ready<sp/>to</highlight></codeline>
<codeline lineno="3461"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>process<sp/>the<sp/>remote<sp/>offer<sp/>when<sp/>it<sp/>will<sp/>arrive*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3462"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_call_set_local_media_description(call-&gt;op,call-&gt;localdesc);</highlight></codeline>
<codeline lineno="3463"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3464"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>err;</highlight></codeline>
<codeline lineno="3465"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3466"><highlight class="normal"></highlight></codeline>
<codeline lineno="3481"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ga1a7819d96573bb8dbcbf2a128145457e" kindref="member">linphone_core_update_call</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref><sp/>*params){</highlight></codeline>
<codeline lineno="3482"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>err=0;</highlight></codeline>
<codeline lineno="3483"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1ga37dad1a4f935d9cc26ec1f9d2b23691a" kindref="member">LinphoneCallState</ref><sp/>nextstate;</highlight></codeline>
<codeline lineno="3484"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>defined(VIDEO_ENABLED)<sp/>&amp;&amp;<sp/>defined(BUILD_UPNP)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3485"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>bool_t<sp/>has_video<sp/>=<sp/>FALSE;</highlight></codeline>
<codeline lineno="3486"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3487"><highlight class="normal"></highlight></codeline>
<codeline lineno="3488"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">switch</highlight><highlight class="normal">(call-&gt;state){</highlight></codeline>
<codeline lineno="3489"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa0998d4c2bce14ae88b0ae84fbef5c33a" kindref="member">LinphoneCallIncomingReceived</ref>:</highlight></codeline>
<codeline lineno="3490"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaab8684757f565989d4212026f755762ed" kindref="member">LinphoneCallIncomingEarlyMedia</ref>:</highlight></codeline>
<codeline lineno="3491"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa229cfe72a8dfee15bdae9f2125b43c67" kindref="member">LinphoneCallOutgoingRinging</ref>:</highlight></codeline>
<codeline lineno="3492"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa7a8cd38252c1a9d8c0ecbdec1aef899d" kindref="member">LinphoneCallOutgoingEarlyMedia</ref>:</highlight></codeline>
<codeline lineno="3493"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>nextstate=LinphoneCallEarlyUpdating;</highlight></codeline>
<codeline lineno="3494"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="3495"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaacebe90cc045331e513d069872f9c84d3" kindref="member">LinphoneCallStreamsRunning</ref>:</highlight></codeline>
<codeline lineno="3496"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>nextstate=<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa29a21291bee6ab53a5595c1d3aaf8bde" kindref="member">LinphoneCallUpdating</ref>;</highlight></codeline>
<codeline lineno="3497"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="3498"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">default</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="3499"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_error(</highlight><highlight class="stringliteral">&quot;linphone_core_update_call()<sp/>is<sp/>not<sp/>allowed<sp/>in<sp/>[%s]<sp/>state&quot;</highlight><highlight class="normal">,linphone_call_state_to_string(call-&gt;state));</highlight></codeline>
<codeline lineno="3500"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="3501"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3502"><highlight class="normal"></highlight></codeline>
<codeline lineno="3503"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(params!=NULL){</highlight></codeline>
<codeline lineno="3504"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_state(call,nextstate,</highlight><highlight class="stringliteral">&quot;Updating<sp/>call&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3505"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>defined(VIDEO_ENABLED)<sp/>&amp;&amp;<sp/>defined(BUILD_UPNP)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3506"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>has_video<sp/>=<sp/>call-&gt;params-&gt;has_video;</highlight></codeline>
<codeline lineno="3507"><highlight class="normal"></highlight></codeline>
<codeline lineno="3508"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Video<sp/>removing</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3509"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">((call-&gt;videostream<sp/>!=<sp/>NULL)<sp/>&amp;&amp;<sp/>!params-&gt;has_video)<sp/>{</highlight></codeline>
<codeline lineno="3510"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(call-&gt;upnp_session<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="3511"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_update_upnp(lc,<sp/>call)&lt;0)<sp/>{</highlight></codeline>
<codeline lineno="3512"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>uPnP<sp/>port<sp/>mappings<sp/>failed,<sp/>proceed<sp/>with<sp/>the<sp/>call<sp/>anyway.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3513"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_delete_upnp_session(call);</highlight></codeline>
<codeline lineno="3514"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3515"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3516"><highlight class="normal"></highlight></codeline>
<codeline lineno="3517"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3518"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>defined(VIDEO_ENABLED)<sp/>&amp;&amp;<sp/>defined(BUILD_UPNP)<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3519"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_new_params(call,params);</highlight></codeline>
<codeline lineno="3520"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>err=linphone_call_prepare_ice(call,FALSE);</highlight></codeline>
<codeline lineno="3521"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(err==1)<sp/>{</highlight></codeline>
<codeline lineno="3522"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;Defer<sp/>call<sp/>update<sp/>to<sp/>gather<sp/>ICE<sp/>candidates&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3523"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="3524"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3525"><highlight class="normal"></highlight></codeline>
<codeline lineno="3526"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>defined(VIDEO_ENABLED)<sp/>&amp;&amp;<sp/>defined(BUILD_UPNP)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3527"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Video<sp/>adding</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3528"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!has_video<sp/>&amp;&amp;<sp/>call-&gt;params-&gt;has_video)<sp/>{</highlight></codeline>
<codeline lineno="3529"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(call-&gt;upnp_session<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="3530"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;Defer<sp/>call<sp/>update<sp/>to<sp/>add<sp/>uPnP<sp/>port<sp/>mappings&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3531"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>video_stream_prepare_video(call-&gt;videostream);</highlight></codeline>
<codeline lineno="3532"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_update_upnp(lc,<sp/>call)&lt;0)<sp/>{</highlight></codeline>
<codeline lineno="3533"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>uPnP<sp/>port<sp/>mappings<sp/>failed,<sp/>proceed<sp/>with<sp/>the<sp/>call<sp/>anyway.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3534"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_delete_upnp_session(call);</highlight></codeline>
<codeline lineno="3535"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="3536"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>err;</highlight></codeline>
<codeline lineno="3537"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3538"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3539"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3540"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//defined(VIDEO_ENABLED)<sp/>&amp;&amp;<sp/>defined(BUILD_UPNP)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3541"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>err<sp/>=<sp/>linphone_core_start_update_call(lc,<sp/>call);</highlight></codeline>
<codeline lineno="3542"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="3543"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3544"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((call-&gt;videostream<sp/>!=<sp/>NULL)<sp/>&amp;&amp;<sp/>(call-&gt;state<sp/>==<sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaacebe90cc045331e513d069872f9c84d3" kindref="member">LinphoneCallStreamsRunning</ref>))<sp/>{</highlight></codeline>
<codeline lineno="3545"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>video_stream_set_sent_video_size(call-&gt;videostream,<ref refid="group__media__parameters_1gaf951d377684d8f8b3a96aa6704e71e5a" kindref="member">linphone_core_get_preferred_video_size</ref>(lc));</highlight></codeline>
<codeline lineno="3546"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>video_stream_set_fps(call-&gt;videostream,<sp/><ref refid="group__media__parameters_1gaacfa8816136022b2de1358a8e642aa2b" kindref="member">linphone_core_get_preferred_framerate</ref>(lc));</highlight></codeline>
<codeline lineno="3547"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;camera_enabled<sp/>&amp;&amp;<sp/>call-&gt;videostream-&gt;cam!=lc-&gt;video_conf.device){</highlight></codeline>
<codeline lineno="3548"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>video_stream_change_camera(call-&gt;videostream,lc-&gt;video_conf.device);</highlight></codeline>
<codeline lineno="3549"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>video_stream_update_video_params(call-&gt;videostream);</highlight></codeline>
<codeline lineno="3550"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3551"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3552"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3553"><highlight class="normal"></highlight></codeline>
<codeline lineno="3554"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>err;</highlight></codeline>
<codeline lineno="3555"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3556"><highlight class="normal"></highlight></codeline>
<codeline lineno="3571"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1gab772a532c839e0eaa12c44a4fa72df3e" kindref="member">linphone_core_defer_call_update</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call){</highlight></codeline>
<codeline lineno="3572"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;state==<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaad51ee049c7dee729776ef5bc76ddb2c2" kindref="member">LinphoneCallUpdatedByRemote</ref>){</highlight></codeline>
<codeline lineno="3573"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call-&gt;defer_update=TRUE;</highlight></codeline>
<codeline lineno="3574"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="3575"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3576"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_error(</highlight><highlight class="stringliteral">&quot;linphone_core_defer_call_update()<sp/>not<sp/>done<sp/>in<sp/>state<sp/>LinphoneCallUpdatedByRemote&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3577"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="3578"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3579"><highlight class="normal"></highlight></codeline>
<codeline lineno="3580"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>linphone_core_start_accept_call_update(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call,<sp/><ref refid="group__call__control_1ga37dad1a4f935d9cc26ec1f9d2b23691a" kindref="member">LinphoneCallState</ref><sp/>next_state,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*state_info){</highlight></codeline>
<codeline lineno="3581"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>SalMediaDescription<sp/>*md;</highlight></codeline>
<codeline lineno="3582"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;ice_session<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="3583"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ice_session_nb_losing_pairs(call-&gt;ice_session)<sp/>&gt;<sp/>0)<sp/>{</highlight></codeline>
<codeline lineno="3584"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Defer<sp/>the<sp/>sending<sp/>of<sp/>the<sp/>answer<sp/>until<sp/>there<sp/>are<sp/>no<sp/>losing<sp/>pairs<sp/>left.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3585"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="3586"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3587"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3588"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_make_local_media_description(lc,call);</highlight></codeline>
<codeline lineno="3589"><highlight class="normal"></highlight></codeline>
<codeline lineno="3590"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_update_remote_session_id_and_ver(call);</highlight></codeline>
<codeline lineno="3591"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_call_set_local_media_description(call-&gt;op,call-&gt;localdesc);</highlight></codeline>
<codeline lineno="3592"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_call_accept(call-&gt;op);</highlight></codeline>
<codeline lineno="3593"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>md=sal_call_get_final_media_description(call-&gt;op);</highlight></codeline>
<codeline lineno="3594"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(md<sp/>&amp;&amp;<sp/>!sal_media_description_empty(md)){</highlight></codeline>
<codeline lineno="3595"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_update_streams<sp/>(lc,call,md);</highlight></codeline>
<codeline lineno="3596"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_fix_call_parameters(call);</highlight></codeline>
<codeline lineno="3597"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3598"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_state(call,next_state,state_info);</highlight></codeline>
<codeline lineno="3599"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="3600"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3601"><highlight class="normal"></highlight></codeline>
<codeline lineno="3621"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ga9332169b9b56a9e26bce59d935cfdaa9" kindref="member">linphone_core_accept_call_update</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref><sp/>*params){</highlight></codeline>
<codeline lineno="3622"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;state!=<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaad51ee049c7dee729776ef5bc76ddb2c2" kindref="member">LinphoneCallUpdatedByRemote</ref>){</highlight></codeline>
<codeline lineno="3623"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_error(</highlight><highlight class="stringliteral">&quot;linphone_core_accept_update():<sp/>invalid<sp/>state<sp/>%s<sp/>to<sp/>call<sp/>this<sp/>function.&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="3624"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_state_to_string(call-&gt;state));</highlight></codeline>
<codeline lineno="3625"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="3626"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3627"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>_linphone_core_accept_call_update(lc,<sp/>call,<sp/>params,<sp/>call-&gt;prevstate,<sp/>linphone_call_state_to_string(call-&gt;prevstate));</highlight></codeline>
<codeline lineno="3628"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3629"><highlight class="normal"></highlight></codeline>
<codeline lineno="3630"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>_linphone_core_accept_call_update(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref><sp/>*params,<sp/><ref refid="group__call__control_1ga37dad1a4f935d9cc26ec1f9d2b23691a" kindref="member">LinphoneCallState</ref><sp/>next_state,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*state_info){</highlight></codeline>
<codeline lineno="3631"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>SalMediaDescription<sp/>*remote_desc;</highlight></codeline>
<codeline lineno="3632"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>bool_t<sp/>keep_sdp_version;</highlight></codeline>
<codeline lineno="3633"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>defined(VIDEO_ENABLED)<sp/>&amp;&amp;<sp/>defined(BUILD_UPNP)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3634"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>bool_t<sp/>old_has_video<sp/>=<sp/>call-&gt;params-&gt;has_video;</highlight></codeline>
<codeline lineno="3635"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3636"><highlight class="normal"></highlight></codeline>
<codeline lineno="3637"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>remote_desc<sp/>=<sp/>sal_call_get_remote_media_description(call-&gt;op);</highlight></codeline>
<codeline lineno="3638"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>keep_sdp_version<sp/>=<sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;keep_sdp_version&quot;</highlight><highlight class="normal">,<sp/>0);</highlight></codeline>
<codeline lineno="3639"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(keep_sdp_version<sp/>&amp;&amp;(remote_desc-&gt;session_id<sp/>==<sp/>call-&gt;remote_session_id)<sp/>&amp;&amp;<sp/>(remote_desc-&gt;session_ver<sp/>==<sp/>call-&gt;remote_session_ver))<sp/>{</highlight></codeline>
<codeline lineno="3640"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Remote<sp/>has<sp/>sent<sp/>an<sp/>INVITE<sp/>with<sp/>the<sp/>same<sp/>SDP<sp/>as<sp/>before,<sp/>so<sp/>send<sp/>a<sp/>200<sp/>OK<sp/>with<sp/>the<sp/>same<sp/>SDP<sp/>as<sp/>before.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3641"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;SDP<sp/>version<sp/>has<sp/>not<sp/>changed,<sp/>send<sp/>same<sp/>SDP<sp/>as<sp/>before.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3642"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_call_accept(call-&gt;op);</highlight></codeline>
<codeline lineno="3643"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_state(call,next_state,state_info);</highlight></codeline>
<codeline lineno="3644"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="3645"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3646"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(params==NULL){</highlight></codeline>
<codeline lineno="3647"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1ga195ed008fbb19ded55070bb149e72ec5" kindref="member">linphone_call_params_enable_video</ref>(call-&gt;params,<sp/>lc-&gt;video_policy.automatically_accept<sp/>||<sp/>call-&gt;current_params-&gt;has_video);</highlight></codeline>
<codeline lineno="3648"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3649"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_new_params(call,params);</highlight></codeline>
<codeline lineno="3650"><highlight class="normal"></highlight></codeline>
<codeline lineno="3651"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;params-&gt;has_video<sp/>&amp;&amp;<sp/>!<ref refid="group__media__parameters_1gac1113e7a9207bf1525f2d57f352391a7" kindref="member">linphone_core_video_enabled</ref>(lc)){</highlight></codeline>
<codeline lineno="3652"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;linphone_core_accept_call_update():<sp/>requested<sp/>video<sp/>but<sp/>video<sp/>support<sp/>is<sp/>globally<sp/>disabled.<sp/>Refusing<sp/>video.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3653"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call-&gt;params-&gt;has_video=FALSE;</highlight></codeline>
<codeline lineno="3654"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3655"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;current_params-&gt;in_conference)<sp/>{</highlight></codeline>
<codeline lineno="3656"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;Video<sp/>isn&apos;t<sp/>supported<sp/>in<sp/>conference&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3657"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call-&gt;params-&gt;has_video<sp/>=<sp/>FALSE;</highlight></codeline>
<codeline lineno="3658"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3659"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_init_media_streams(call);<sp/></highlight><highlight class="comment">/*so<sp/>that<sp/>video<sp/>stream<sp/>is<sp/>initialized<sp/>if<sp/>necessary*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3660"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;ice_session<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="3661"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_call_prepare_ice(call,TRUE)==1)</highlight></codeline>
<codeline lineno="3662"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight><highlight class="comment">/*deferred<sp/>to<sp/>completion<sp/>of<sp/>ICE<sp/>gathering*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3663"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3664"><highlight class="normal"></highlight></codeline>
<codeline lineno="3665"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3666"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(call-&gt;upnp_session<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="3667"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_update_upnp_from_remote_media_description(call,<sp/>sal_call_get_remote_media_description(call-&gt;op));</highlight></codeline>
<codeline lineno="3668"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3669"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((call-&gt;params-&gt;has_video)<sp/>&amp;&amp;<sp/>(call-&gt;params-&gt;has_video<sp/>!=<sp/>old_has_video))<sp/>{</highlight></codeline>
<codeline lineno="3670"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>video_stream_prepare_video(call-&gt;videostream);</highlight></codeline>
<codeline lineno="3671"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_update_upnp(lc,<sp/>call)&lt;0)<sp/>{</highlight></codeline>
<codeline lineno="3672"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>uPnP<sp/>update<sp/>failed,<sp/>proceed<sp/>with<sp/>the<sp/>call<sp/>anyway.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3673"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_delete_upnp_session(call);</highlight></codeline>
<codeline lineno="3674"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="3675"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3676"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3677"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3678"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3679"><highlight class="normal"></highlight></codeline>
<codeline lineno="3680"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_start_accept_call_update(lc,<sp/>call,<sp/>next_state,<sp/>state_info);</highlight></codeline>
<codeline lineno="3681"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="3682"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3683"><highlight class="normal"></highlight></codeline>
<codeline lineno="3696"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ga2813d4ece8097cef65d9e737305d7ca9" kindref="member">linphone_core_accept_call</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call){</highlight></codeline>
<codeline lineno="3697"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ga69f6be726904c3711c9b3f8bd5ec1e27" kindref="member">linphone_core_accept_call_with_params</ref>(lc,call,NULL);</highlight></codeline>
<codeline lineno="3698"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3699"><highlight class="normal"></highlight></codeline>
<codeline lineno="3714"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ga69f6be726904c3711c9b3f8bd5ec1e27" kindref="member">linphone_core_accept_call_with_params</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref><sp/>*params){</highlight></codeline>
<codeline lineno="3715"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>SalOp<sp/>*replaced;</highlight></codeline>
<codeline lineno="3716"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>SalMediaDescription<sp/>*new_md;</highlight></codeline>
<codeline lineno="3717"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>bool_t<sp/>was_ringing=FALSE;</highlight></codeline>
<codeline lineno="3718"><highlight class="normal"></highlight></codeline>
<codeline lineno="3719"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call==NULL){</highlight></codeline>
<codeline lineno="3720"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//if<sp/>just<sp/>one<sp/>call<sp/>is<sp/>present<sp/>answer<sp/>the<sp/>only<sp/>one<sp/>...</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3721"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(<ref refid="group__call__control_1gafbe6f21493edec8598ae2ddda5bd552d" kindref="member">linphone_core_get_calls_nb</ref><sp/>(lc)<sp/>!=<sp/>1)</highlight></codeline>
<codeline lineno="3722"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="3723"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3724"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call<sp/>=<sp/>(<ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref>*)<ref refid="group__call__control_1gaf1f76b5a5d62e8bef5e1ad60e4f7b042" kindref="member">linphone_core_get_calls</ref>(lc)-&gt;data;</highlight></codeline>
<codeline lineno="3725"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3726"><highlight class="normal"></highlight></codeline>
<codeline lineno="3727"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">switch</highlight><highlight class="normal">(call-&gt;state){</highlight></codeline>
<codeline lineno="3728"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa0998d4c2bce14ae88b0ae84fbef5c33a" kindref="member">LinphoneCallIncomingReceived</ref>:</highlight></codeline>
<codeline lineno="3729"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaab8684757f565989d4212026f755762ed" kindref="member">LinphoneCallIncomingEarlyMedia</ref>:</highlight></codeline>
<codeline lineno="3730"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="3731"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">default</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="3732"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_error(</highlight><highlight class="stringliteral">&quot;linphone_core_accept_call_with_params()<sp/>call<sp/>[%p]<sp/>is<sp/>in<sp/>state<sp/>[%s],<sp/>operation<sp/>not<sp/>permitted.&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="3733"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call,<sp/>linphone_call_state_to_string(call-&gt;state));</highlight></codeline>
<codeline lineno="3734"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="3735"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="3736"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3737"><highlight class="normal"></highlight></codeline>
<codeline lineno="3738"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>check<sp/>if<sp/>this<sp/>call<sp/>is<sp/>supposed<sp/>to<sp/>replace<sp/>an<sp/>already<sp/>running<sp/>one*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3739"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>replaced=sal_call_get_replaces(call-&gt;op);</highlight></codeline>
<codeline lineno="3740"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(replaced){</highlight></codeline>
<codeline lineno="3741"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*rc=(<ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref>*)sal_op_get_user_pointer<sp/>(replaced);</highlight></codeline>
<codeline lineno="3742"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(rc){</highlight></codeline>
<codeline lineno="3743"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;Call<sp/>%p<sp/>replaces<sp/>call<sp/>%p.<sp/>This<sp/>last<sp/>one<sp/>is<sp/>going<sp/>to<sp/>be<sp/>terminated<sp/>automatically.&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="3744"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call,rc);</highlight></codeline>
<codeline lineno="3745"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1ga2dcc69dfc22e15d3cdadf8e688eedbfe" kindref="member">linphone_core_terminate_call</ref>(lc,rc);</highlight></codeline>
<codeline lineno="3746"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3747"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3748"><highlight class="normal"></highlight></codeline>
<codeline lineno="3749"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;current_call!=call){</highlight></codeline>
<codeline lineno="3750"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_preempt_sound_resources(lc);</highlight></codeline>
<codeline lineno="3751"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3752"><highlight class="normal"></highlight></codeline>
<codeline lineno="3753"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*stop<sp/>ringing<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3754"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;ringstream!=NULL)<sp/>{</highlight></codeline>
<codeline lineno="3755"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;stop<sp/>ringing&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3756"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga9b2e2d8862d6d80fa873755276ebb91b" kindref="member">linphone_core_stop_ringing</ref>(lc);</highlight></codeline>
<codeline lineno="3757"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>was_ringing=TRUE;</highlight></codeline>
<codeline lineno="3758"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3759"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;ringing_beep){</highlight></codeline>
<codeline lineno="3760"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga5d9cfc960f9779c98866250a665f3d6d" kindref="member">linphone_core_stop_dtmf</ref>(lc);</highlight></codeline>
<codeline lineno="3761"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call-&gt;ringing_beep=FALSE;</highlight></codeline>
<codeline lineno="3762"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3763"><highlight class="normal"></highlight></codeline>
<codeline lineno="3764"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*try<sp/>to<sp/>be<sp/>best-effort<sp/>in<sp/>giving<sp/>real<sp/>local<sp/>or<sp/>routable<sp/>contact<sp/>address<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3765"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_contact_op(call);</highlight></codeline>
<codeline lineno="3766"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(params){</highlight></codeline>
<codeline lineno="3767"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>SalMediaDescription<sp/>*md<sp/>=<sp/>sal_call_get_remote_media_description(call-&gt;op);</highlight></codeline>
<codeline lineno="3768"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_new_params(call,params);</highlight></codeline>
<codeline lineno="3769"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>There<sp/>might<sp/>not<sp/>be<sp/>a<sp/>md<sp/>if<sp/>the<sp/>INVITE<sp/>was<sp/>lacking<sp/>an<sp/>SDP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3770"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>In<sp/>this<sp/>case<sp/>we<sp/>use<sp/>the<sp/>parameters<sp/>as<sp/>is.</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3771"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(md)<sp/>{</highlight></codeline>
<codeline lineno="3772"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_compatible_incoming_call_parameters(call,<sp/>md);</highlight></codeline>
<codeline lineno="3773"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3774"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_prepare_ice(call,TRUE);</highlight></codeline>
<codeline lineno="3775"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_make_local_media_description(lc,call);</highlight></codeline>
<codeline lineno="3776"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_call_set_local_media_description(call-&gt;op,call-&gt;localdesc);</highlight></codeline>
<codeline lineno="3777"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_op_set_sent_custom_header(call-&gt;op,params-&gt;custom_headers);</highlight></codeline>
<codeline lineno="3778"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3779"><highlight class="normal"></highlight></codeline>
<codeline lineno="3780"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*give<sp/>a<sp/>chance<sp/>a<sp/>set<sp/>card<sp/>prefered<sp/>sampling<sp/>frequency*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3781"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;localdesc-&gt;streams[0].max_rate&gt;0)<sp/>{</highlight></codeline>
<codeline lineno="3782"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message<sp/>(</highlight><highlight class="stringliteral">&quot;configuring<sp/>prefered<sp/>card<sp/>sampling<sp/>rate<sp/>to<sp/>[%i]&quot;</highlight><highlight class="normal">,call-&gt;localdesc-&gt;streams[0].max_rate);</highlight></codeline>
<codeline lineno="3783"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sound_conf.play_sndcard)</highlight></codeline>
<codeline lineno="3784"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_snd_card_set_preferred_sample_rate(lc-&gt;sound_conf.play_sndcard,<sp/>call-&gt;localdesc-&gt;streams[0].max_rate);</highlight></codeline>
<codeline lineno="3785"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sound_conf.capt_sndcard)</highlight></codeline>
<codeline lineno="3786"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_snd_card_set_preferred_sample_rate(lc-&gt;sound_conf.capt_sndcard,<sp/>call-&gt;localdesc-&gt;streams[0].max_rate);</highlight></codeline>
<codeline lineno="3787"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3788"><highlight class="normal"></highlight></codeline>
<codeline lineno="3789"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!was_ringing<sp/>&amp;&amp;<sp/>call-&gt;audiostream-&gt;ms.state==MSStreamInitialized){</highlight></codeline>
<codeline lineno="3790"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>audio_stream_prepare_sound(call-&gt;audiostream,lc-&gt;sound_conf.play_sndcard,lc-&gt;sound_conf.capt_sndcard);</highlight></codeline>
<codeline lineno="3791"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3792"><highlight class="normal"></highlight></codeline>
<codeline lineno="3793"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_update_remote_session_id_and_ver(call);</highlight></codeline>
<codeline lineno="3794"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_call_accept(call-&gt;op);</highlight></codeline>
<codeline lineno="3795"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_display_status(lc,_(</highlight><highlight class="stringliteral">&quot;Connected.&quot;</highlight><highlight class="normal">));</highlight></codeline>
<codeline lineno="3796"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;current_call=call;</highlight></codeline>
<codeline lineno="3797"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_state(call,<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa1a32cc3919ca3658eed7deebadbe13b9" kindref="member">LinphoneCallConnected</ref>,</highlight><highlight class="stringliteral">&quot;Connected&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3798"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>new_md=sal_call_get_final_media_description(call-&gt;op);</highlight></codeline>
<codeline lineno="3799"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(new_md){</highlight></codeline>
<codeline lineno="3800"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_update_streams(lc,<sp/>call,<sp/>new_md);</highlight></codeline>
<codeline lineno="3801"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_fix_call_parameters(call);</highlight></codeline>
<codeline lineno="3802"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_state(call,<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaacebe90cc045331e513d069872f9c84d3" kindref="member">LinphoneCallStreamsRunning</ref>,</highlight><highlight class="stringliteral">&quot;Connected<sp/>(streams<sp/>running)&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3803"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>call-&gt;expect_media_in_ack=TRUE;</highlight></codeline>
<codeline lineno="3804"><highlight class="normal"></highlight></codeline>
<codeline lineno="3805"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;call<sp/>answered.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3806"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="3807"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3808"><highlight class="normal"></highlight></codeline>
<codeline lineno="3809"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>linphone_core_abort_call(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*error){</highlight></codeline>
<codeline lineno="3810"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_call_terminate(call-&gt;op);</highlight></codeline>
<codeline lineno="3811"><highlight class="normal"></highlight></codeline>
<codeline lineno="3812"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*stop<sp/>ringing*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3813"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga9b2e2d8862d6d80fa873755276ebb91b" kindref="member">linphone_core_stop_ringing</ref>(lc);</highlight></codeline>
<codeline lineno="3814"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_stop_media_streams(call);</highlight></codeline>
<codeline lineno="3815"><highlight class="normal"></highlight></codeline>
<codeline lineno="3816"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3817"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_delete_upnp_session(call);</highlight></codeline>
<codeline lineno="3818"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3819"><highlight class="normal"></highlight></codeline>
<codeline lineno="3820"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_display_status(lc,_(</highlight><highlight class="stringliteral">&quot;Call<sp/>aborted&quot;</highlight><highlight class="normal">)<sp/>);</highlight></codeline>
<codeline lineno="3821"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_state(call,<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa1214ea33f3ff7fd8aa0ce8922dda5170" kindref="member">LinphoneCallError</ref>,error);</highlight></codeline>
<codeline lineno="3822"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="3823"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3824"><highlight class="normal"></highlight></codeline>
<codeline lineno="3825"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>terminate_call(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call){</highlight></codeline>
<codeline lineno="3826"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;state==<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa0998d4c2bce14ae88b0ae84fbef5c33a" kindref="member">LinphoneCallIncomingReceived</ref>){</highlight></codeline>
<codeline lineno="3827"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;non_op_error.reason!=SalReasonRequestTimeout)</highlight></codeline>
<codeline lineno="3828"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call-&gt;non_op_error.reason=SalReasonDeclined;</highlight></codeline>
<codeline lineno="3829"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3830"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*stop<sp/>ringing*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3831"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga9b2e2d8862d6d80fa873755276ebb91b" kindref="member">linphone_core_stop_ringing</ref>(lc);</highlight></codeline>
<codeline lineno="3832"><highlight class="normal"></highlight></codeline>
<codeline lineno="3833"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_stop_media_streams(call);</highlight></codeline>
<codeline lineno="3834"><highlight class="normal"></highlight></codeline>
<codeline lineno="3835"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3836"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_delete_upnp_session(call);</highlight></codeline>
<codeline lineno="3837"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3838"><highlight class="normal"></highlight></codeline>
<codeline lineno="3839"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_display_status(lc,_(</highlight><highlight class="stringliteral">&quot;Call<sp/>ended&quot;</highlight><highlight class="normal">)<sp/>);</highlight></codeline>
<codeline lineno="3840"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_state(call,<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaafbeebb1285a2aab5d34e99d2e695e5be" kindref="member">LinphoneCallEnd</ref>,</highlight><highlight class="stringliteral">&quot;Call<sp/>terminated&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3841"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3842"><highlight class="normal"></highlight></codeline>
<codeline lineno="3843"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ga88d9961a926f1d3ffab581f77ba7ecf4" kindref="member">linphone_core_redirect_call</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*redirect_uri){</highlight></codeline>
<codeline lineno="3844"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;state==<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa0998d4c2bce14ae88b0ae84fbef5c33a" kindref="member">LinphoneCallIncomingReceived</ref>){</highlight></codeline>
<codeline lineno="3845"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_call_decline(call-&gt;op,SalReasonRedirect,redirect_uri);</highlight></codeline>
<codeline lineno="3846"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_error_info_set(&amp;call-&gt;non_op_error,SalReasonRedirect,603,</highlight><highlight class="stringliteral">&quot;Call<sp/>redirected&quot;</highlight><highlight class="normal">,NULL);</highlight></codeline>
<codeline lineno="3847"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>terminate_call(lc,call);</highlight></codeline>
<codeline lineno="3848"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="3849"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_error(</highlight><highlight class="stringliteral">&quot;Bad<sp/>state<sp/>for<sp/>call<sp/>redirection.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3850"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="3851"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3852"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="3853"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3854"><highlight class="normal"></highlight></codeline>
<codeline lineno="3855"><highlight class="normal"></highlight></codeline>
<codeline lineno="3863"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ga2dcc69dfc22e15d3cdadf8e688eedbfe" kindref="member">linphone_core_terminate_call</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*the_call)</highlight></codeline>
<codeline lineno="3864"><highlight class="normal">{</highlight></codeline>
<codeline lineno="3865"><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="3866"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(the_call<sp/>==<sp/>NULL){</highlight></codeline>
<codeline lineno="3867"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call<sp/>=<sp/><ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref>(lc);</highlight></codeline>
<codeline lineno="3868"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ms_list_size(lc-&gt;calls)==1){</highlight></codeline>
<codeline lineno="3869"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call=(<ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref>*)lc-&gt;calls-&gt;data;</highlight></codeline>
<codeline lineno="3870"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="3871"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;No<sp/>unique<sp/>call<sp/>to<sp/>terminate<sp/>!&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3872"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="3873"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3874"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3875"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3876"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="3877"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call<sp/>=<sp/>the_call;</highlight></codeline>
<codeline lineno="3878"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3879"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">switch</highlight><highlight class="normal"><sp/>(call-&gt;state)<sp/>{</highlight></codeline>
<codeline lineno="3880"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaac4a81296a6835482e65d51174eb16de4" kindref="member">LinphoneCallReleased</ref>:</highlight></codeline>
<codeline lineno="3881"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaafbeebb1285a2aab5d34e99d2e695e5be" kindref="member">LinphoneCallEnd</ref>:</highlight></codeline>
<codeline lineno="3882"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;No<sp/>need<sp/>to<sp/>terminate<sp/>a<sp/>call<sp/>[%p]<sp/>in<sp/>state<sp/>[%s]&quot;</highlight><highlight class="normal">,call,linphone_call_state_to_string(call-&gt;state));</highlight></codeline>
<codeline lineno="3883"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="3884"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa0998d4c2bce14ae88b0ae84fbef5c33a" kindref="member">LinphoneCallIncomingReceived</ref>:</highlight></codeline>
<codeline lineno="3885"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaab8684757f565989d4212026f755762ed" kindref="member">LinphoneCallIncomingEarlyMedia</ref>:</highlight></codeline>
<codeline lineno="3886"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ga6f8720adb675e42607a24df0e32a19bf" kindref="member">linphone_core_decline_call</ref>(lc,call,<ref refid="group__misc_1ggaf7346e9b3a064155f3d5d3811d684fb2a442fce67ace6491eee2f4a94177f34c6" kindref="member">LinphoneReasonDeclined</ref>);</highlight></codeline>
<codeline lineno="3887"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaae99727dfb0a8e30ef04ff96ce3bf7e36" kindref="member">LinphoneCallOutgoingInit</ref>:<sp/>{</highlight></codeline>
<codeline lineno="3888"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>In<sp/>state<sp/>OutgoingInit,<sp/>op<sp/>has<sp/>to<sp/>be<sp/>destroyed<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3889"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_op_release(call-&gt;op);</highlight></codeline>
<codeline lineno="3890"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call-&gt;op<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="3891"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="3892"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3893"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">default</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="3894"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_call_terminate(call-&gt;op);</highlight></codeline>
<codeline lineno="3895"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="3896"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3897"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>terminate_call(lc,call);</highlight></codeline>
<codeline lineno="3898"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="3899"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3900"><highlight class="normal"></highlight></codeline>
<codeline lineno="3910"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ga6f8720adb675e42607a24df0e32a19bf" kindref="member">linphone_core_decline_call</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*<sp/>call,<sp/><ref refid="group__misc_1gabe82a1a1ffc3d6b4e0b51a03028513b7" kindref="member">LinphoneReason</ref><sp/>reason){</highlight></codeline>
<codeline lineno="3911"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;state!=<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa0998d4c2bce14ae88b0ae84fbef5c33a" kindref="member">LinphoneCallIncomingReceived</ref><sp/>&amp;&amp;<sp/>call-&gt;state!=<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaab8684757f565989d4212026f755762ed" kindref="member">LinphoneCallIncomingEarlyMedia</ref>){</highlight></codeline>
<codeline lineno="3912"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_error(</highlight><highlight class="stringliteral">&quot;linphone_core_decline_call():<sp/>Cannot<sp/>decline<sp/>a<sp/>call<sp/>that<sp/>is<sp/>in<sp/>state<sp/>%s&quot;</highlight><highlight class="normal">,linphone_call_state_to_string(call-&gt;state));</highlight></codeline>
<codeline lineno="3913"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="3914"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3915"><highlight class="normal"></highlight></codeline>
<codeline lineno="3916"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_call_decline(call-&gt;op,linphone_reason_to_sal(reason),NULL);</highlight></codeline>
<codeline lineno="3917"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>terminate_call(lc,call);</highlight></codeline>
<codeline lineno="3918"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="3919"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3920"><highlight class="normal"></highlight></codeline>
<codeline lineno="3927"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ga0a72056123e0562108f19a6dcf352d55" kindref="member">linphone_core_terminate_all_calls</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="3928"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList<sp/>*calls=lc-&gt;calls;</highlight></codeline>
<codeline lineno="3929"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal">(calls)<sp/>{</highlight></codeline>
<codeline lineno="3930"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*c=(<ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref>*)calls-&gt;data;</highlight></codeline>
<codeline lineno="3931"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>calls=calls-&gt;next;</highlight></codeline>
<codeline lineno="3932"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1ga2dcc69dfc22e15d3cdadf8e688eedbfe" kindref="member">linphone_core_terminate_call</ref>(lc,c);</highlight></codeline>
<codeline lineno="3933"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3934"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="3935"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3936"><highlight class="normal"></highlight></codeline>
<codeline lineno="3948"><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSList<sp/>*<ref refid="group__call__control_1gaf1f76b5a5d62e8bef5e1ad60e4f7b042" kindref="member">linphone_core_get_calls</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="3949"><highlight class="normal">{</highlight></codeline>
<codeline lineno="3950"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;calls;</highlight></codeline>
<codeline lineno="3951"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3952"><highlight class="normal"></highlight></codeline>
<codeline lineno="3958"><highlight class="normal">bool_t<sp/><ref refid="group__call__control_1ga5e616f59100b1ad675920b7374ea44c2" kindref="member">linphone_core_in_call</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="3959"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref>((<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*)lc)!=NULL<sp/>||<sp/><ref refid="group__conferencing_1gadaabd5fedbf4e3f568a697b54657f48d" kindref="member">linphone_core_is_in_conference</ref>(lc);</highlight></codeline>
<codeline lineno="3960"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3961"><highlight class="normal"></highlight></codeline>
<codeline lineno="3967"><highlight class="normal"><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*<ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="3968"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;current_call;</highlight></codeline>
<codeline lineno="3969"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3970"><highlight class="normal"></highlight></codeline>
<codeline lineno="3977"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ga8cdae37a26ba7633067ea03bc43bd887" kindref="member">linphone_core_pause_call</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call){</highlight></codeline>
<codeline lineno="3978"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>err=_linphone_core_pause_call(lc,call);</highlight></codeline>
<codeline lineno="3979"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(err==0)<sp/><sp/>call-&gt;paused_by_app=TRUE;</highlight></codeline>
<codeline lineno="3980"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>err;</highlight></codeline>
<codeline lineno="3981"><highlight class="normal">}</highlight></codeline>
<codeline lineno="3982"><highlight class="normal"></highlight></codeline>
<codeline lineno="3983"><highlight class="normal"></highlight><highlight class="comment">/*<sp/>Internal<sp/>version<sp/>that<sp/>does<sp/>not<sp/>play<sp/>tone<sp/>indication*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3984"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>_linphone_core_pause_call(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call)</highlight></codeline>
<codeline lineno="3985"><highlight class="normal">{</highlight></codeline>
<codeline lineno="3986"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*subject=NULL;</highlight></codeline>
<codeline lineno="3987"><highlight class="normal"></highlight></codeline>
<codeline lineno="3988"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;state!=<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaacebe90cc045331e513d069872f9c84d3" kindref="member">LinphoneCallStreamsRunning</ref><sp/>&amp;&amp;<sp/>call-&gt;state!=<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaaacf737ce5572c4e0e9f28993dcbadf00" kindref="member">LinphoneCallPausedByRemote</ref>){</highlight></codeline>
<codeline lineno="3989"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;Cannot<sp/>pause<sp/>this<sp/>call,<sp/>it<sp/>is<sp/>not<sp/>active.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="3990"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="3991"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3992"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_make_local_media_description(lc,call);</highlight></codeline>
<codeline lineno="3993"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3994"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(call-&gt;upnp_session<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="3995"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_update_local_media_description_from_upnp(call-&gt;localdesc,<sp/>call-&gt;upnp_session);</highlight></codeline>
<codeline lineno="3996"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="3997"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3998"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sal_media_description_has_dir(call-&gt;resultdesc,SalStreamSendRecv)){</highlight></codeline>
<codeline lineno="3999"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_media_description_set_dir(call-&gt;localdesc,SalStreamSendOnly);</highlight></codeline>
<codeline lineno="4000"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>subject=</highlight><highlight class="stringliteral">&quot;Call<sp/>on<sp/>hold&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4001"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sal_media_description_has_dir(call-&gt;resultdesc,SalStreamRecvOnly)){</highlight></codeline>
<codeline lineno="4002"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_media_description_set_dir(call-&gt;localdesc,SalStreamSendOnly);</highlight></codeline>
<codeline lineno="4003"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>subject=</highlight><highlight class="stringliteral">&quot;Call<sp/>on<sp/>hold<sp/>for<sp/>me<sp/>too&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4004"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="4005"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_error(</highlight><highlight class="stringliteral">&quot;No<sp/>reason<sp/>to<sp/>pause<sp/>this<sp/>call,<sp/>it<sp/>is<sp/>already<sp/>paused<sp/>or<sp/>inactive.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="4006"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="4007"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4008"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_call_set_local_media_description(call-&gt;op,call-&gt;localdesc);</highlight></codeline>
<codeline lineno="4009"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sal_call_update(call-&gt;op,subject,FALSE)<sp/>!=<sp/>0){</highlight></codeline>
<codeline lineno="4010"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_display_warning(lc,_(</highlight><highlight class="stringliteral">&quot;Could<sp/>not<sp/>pause<sp/>the<sp/>call&quot;</highlight><highlight class="normal">));</highlight></codeline>
<codeline lineno="4011"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4012"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;current_call=NULL;</highlight></codeline>
<codeline lineno="4013"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_display_status(lc,_(</highlight><highlight class="stringliteral">&quot;Pausing<sp/>the<sp/>current<sp/>call...&quot;</highlight><highlight class="normal">));</highlight></codeline>
<codeline lineno="4014"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;audiostream<sp/>||<sp/>call-&gt;videostream)</highlight></codeline>
<codeline lineno="4015"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_stop_media_streams<sp/>(call);</highlight></codeline>
<codeline lineno="4016"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_state(call,<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaaaa35a1564a5ce1bcc4719ab523edec98" kindref="member">LinphoneCallPausing</ref>,</highlight><highlight class="stringliteral">&quot;Pausing<sp/>call&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="4017"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call-&gt;paused_by_app=FALSE;</highlight></codeline>
<codeline lineno="4018"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="4019"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4020"><highlight class="normal"></highlight></codeline>
<codeline lineno="4025"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ga8c7f9df404538f0953b2a332c0cf28c1" kindref="member">linphone_core_pause_all_calls</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="4026"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSList<sp/>*elem;</highlight></codeline>
<codeline lineno="4027"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(elem=lc-&gt;calls;elem!=NULL;elem=elem-&gt;next){</highlight></codeline>
<codeline lineno="4028"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call=(<ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*)elem-&gt;data;</highlight></codeline>
<codeline lineno="4029"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1ga37dad1a4f935d9cc26ec1f9d2b23691a" kindref="member">LinphoneCallState</ref><sp/>cs=<ref refid="group__call__control_1ga4e66e41e6557ea35a07f266918741ffc" kindref="member">linphone_call_get_state</ref>(call);</highlight></codeline>
<codeline lineno="4030"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(cs==<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaacebe90cc045331e513d069872f9c84d3" kindref="member">LinphoneCallStreamsRunning</ref><sp/>||<sp/>cs==<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaaacf737ce5572c4e0e9f28993dcbadf00" kindref="member">LinphoneCallPausedByRemote</ref>){</highlight></codeline>
<codeline lineno="4031"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>_linphone_core_pause_call(lc,call);</highlight></codeline>
<codeline lineno="4032"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4033"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4034"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="4035"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4036"><highlight class="normal"></highlight></codeline>
<codeline lineno="4037"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_preempt_sound_resources(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="4038"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*current_call;</highlight></codeline>
<codeline lineno="4039"><highlight class="normal"></highlight></codeline>
<codeline lineno="4040"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="group__conferencing_1gadaabd5fedbf4e3f568a697b54657f48d" kindref="member">linphone_core_is_in_conference</ref>(lc)){</highlight></codeline>
<codeline lineno="4041"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__conferencing_1ga473ab9e075b1f6a4b163d95cd291ca17" kindref="member">linphone_core_leave_conference</ref>(lc);</highlight></codeline>
<codeline lineno="4042"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4043"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4044"><highlight class="normal"></highlight></codeline>
<codeline lineno="4045"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>current_call=<ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref>(lc);</highlight></codeline>
<codeline lineno="4046"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(current_call<sp/>!=<sp/>NULL){</highlight></codeline>
<codeline lineno="4047"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;Pausing<sp/>automatically<sp/>the<sp/>current<sp/>call.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="4048"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>_linphone_core_pause_call(lc,current_call);</highlight></codeline>
<codeline lineno="4049"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4050"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;ringstream){</highlight></codeline>
<codeline lineno="4051"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga9b2e2d8862d6d80fa873755276ebb91b" kindref="member">linphone_core_stop_ringing</ref>(lc);</highlight></codeline>
<codeline lineno="4052"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4053"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4054"><highlight class="normal"></highlight></codeline>
<codeline lineno="4060"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ga3d5a472faf30bd767d39be0e043c683f" kindref="member">linphone_core_resume_call</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call){</highlight></codeline>
<codeline lineno="4061"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>temp[255]={0};</highlight></codeline>
<codeline lineno="4062"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*subject=</highlight><highlight class="stringliteral">&quot;Call<sp/>resuming&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4063"><highlight class="normal"></highlight></codeline>
<codeline lineno="4064"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(call-&gt;state!=<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa59c57a8b9a7a0086a79c85028bb4cefc" kindref="member">LinphoneCallPaused</ref><sp/>){</highlight></codeline>
<codeline lineno="4065"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;we<sp/>cannot<sp/>resume<sp/>a<sp/>call<sp/>that<sp/>has<sp/>not<sp/>been<sp/>established<sp/>and<sp/>paused<sp/>before&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="4066"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="4067"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4068"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;params-&gt;in_conference==FALSE){</highlight></codeline>
<codeline lineno="4069"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="group__call__control_1gaddcb4be3bee7cc9e89330541a176b106" kindref="member">linphone_core_sound_resources_locked</ref>(lc)){</highlight></codeline>
<codeline lineno="4070"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;Cannot<sp/>resume<sp/>call<sp/>%p<sp/>because<sp/>another<sp/>call<sp/>is<sp/>locking<sp/>the<sp/>sound<sp/>resources.&quot;</highlight><highlight class="normal">,call);</highlight></codeline>
<codeline lineno="4071"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="4072"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4073"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_preempt_sound_resources(lc);</highlight></codeline>
<codeline lineno="4074"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;Resuming<sp/>call<sp/>%p&quot;</highlight><highlight class="normal">,call);</highlight></codeline>
<codeline lineno="4075"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4076"><highlight class="normal"></highlight></codeline>
<codeline lineno="4077"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call-&gt;was_automatically_paused=FALSE;</highlight></codeline>
<codeline lineno="4078"><highlight class="normal"></highlight></codeline>
<codeline lineno="4079"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Stop<sp/>playing<sp/>music<sp/>immediately.<sp/>If<sp/>remote<sp/>side<sp/>is<sp/>a<sp/>conference<sp/>it</highlight></codeline>
<codeline lineno="4080"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>prevents<sp/>the<sp/>participants<sp/>to<sp/>hear<sp/>it<sp/>while<sp/>the<sp/>200OK<sp/>comes<sp/>back.*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4081"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;audiostream)<sp/>audio_stream_play(call-&gt;audiostream,<sp/>NULL);</highlight></codeline>
<codeline lineno="4082"><highlight class="normal"></highlight></codeline>
<codeline lineno="4083"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_make_local_media_description(lc,call);</highlight></codeline>
<codeline lineno="4084"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4085"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(call-&gt;upnp_session<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="4086"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_update_local_media_description_from_upnp(call-&gt;localdesc,<sp/>call-&gt;upnp_session);</highlight></codeline>
<codeline lineno="4087"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4088"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4089"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!lc-&gt;sip_conf.sdp_200_ack){</highlight></codeline>
<codeline lineno="4090"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_call_set_local_media_description(call-&gt;op,call-&gt;localdesc);</highlight></codeline>
<codeline lineno="4091"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="4092"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_call_set_local_media_description(call-&gt;op,NULL);</highlight></codeline>
<codeline lineno="4093"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4094"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_media_description_set_dir(call-&gt;localdesc,SalStreamSendRecv);</highlight></codeline>
<codeline lineno="4095"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;params-&gt;in_conference<sp/>&amp;&amp;<sp/>!call-&gt;current_params-&gt;in_conference)<sp/>subject=</highlight><highlight class="stringliteral">&quot;Conference&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4096"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<sp/>sal_call_update(call-&gt;op,subject,FALSE)<sp/>!=<sp/>0){</highlight></codeline>
<codeline lineno="4097"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="4098"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4099"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_set_state(call,<ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaad3afb2410b6a08ea7eeb3739fe862453" kindref="member">LinphoneCallResuming</ref>,</highlight><highlight class="stringliteral">&quot;Resuming&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="4100"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;params-&gt;in_conference==FALSE)</highlight></codeline>
<codeline lineno="4101"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;current_call=call;</highlight></codeline>
<codeline lineno="4102"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>snprintf(temp,</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(temp)-1,</highlight><highlight class="stringliteral">&quot;Resuming<sp/>the<sp/>call<sp/>with<sp/>%s&quot;</highlight><highlight class="normal">,<ref refid="group__call__control_1ga89252821dcaee90338937c7adb28db09" kindref="member">linphone_call_get_remote_address_as_string</ref>(call));</highlight></codeline>
<codeline lineno="4103"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_notify_display_status(lc,temp);</highlight></codeline>
<codeline lineno="4104"><highlight class="normal"></highlight></codeline>
<codeline lineno="4105"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sip_conf.sdp_200_ack){</highlight></codeline>
<codeline lineno="4106"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*we<sp/>are<sp/>NOT<sp/>offering,<sp/>set<sp/>local<sp/>media<sp/>description<sp/>after<sp/>sending<sp/>the<sp/>call<sp/>so<sp/>that<sp/>we<sp/>are<sp/>ready<sp/>to</highlight></codeline>
<codeline lineno="4107"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>process<sp/>the<sp/>remote<sp/>offer<sp/>when<sp/>it<sp/>will<sp/>arrive*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4108"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_call_set_local_media_description(call-&gt;op,call-&gt;localdesc);</highlight></codeline>
<codeline lineno="4109"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4110"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="4111"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4112"><highlight class="normal"></highlight></codeline>
<codeline lineno="4113"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>remote_address_compare(<ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref><sp/>*raddr){</highlight></codeline>
<codeline lineno="4114"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref><sp/>*addr=<ref refid="group__call__control_1ga7c43232df9cd89feb0c68b68c34e6ace" kindref="member">linphone_call_get_remote_address</ref><sp/>(call);</highlight></codeline>
<codeline lineno="4115"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>!<ref refid="group__linphone__address_1gaa1a43038b407c6ba04577fbc62f598d0" kindref="member">linphone_address_weak_equal</ref><sp/>(addr,raddr);</highlight></codeline>
<codeline lineno="4116"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4117"><highlight class="normal"></highlight></codeline>
<codeline lineno="4126"><highlight class="normal"><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*<ref refid="group__call__control_1ga67f453ecc9a5373ff3c94a5c502cf7a5" kindref="member">linphone_core_get_call_by_remote_address</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*remote_address){</highlight></codeline>
<codeline lineno="4127"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref><sp/>*raddr=<ref refid="group__linphone__address_1ga301c9884c0bc8b1050fe790d424e0b49" kindref="member">linphone_address_new</ref>(remote_address);</highlight></codeline>
<codeline lineno="4128"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList<sp/>*elem=ms_list_find_custom(lc-&gt;calls,(int<sp/>(*)(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*,</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*))remote_address_compare,raddr);</highlight></codeline>
<codeline lineno="4129"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__linphone__address_1gae7ed90ea85c09c793e994367e6a5422e" kindref="member">linphone_address_unref</ref>(raddr);</highlight></codeline>
<codeline lineno="4130"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(elem)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(<ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref>*)<sp/>elem-&gt;data;</highlight></codeline>
<codeline lineno="4131"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="4132"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4133"><highlight class="normal"></highlight></codeline>
<codeline lineno="4134"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>linphone_core_send_publish(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,</highlight></codeline>
<codeline lineno="4135"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct__LinphonePresenceModel" kindref="compound">LinphonePresenceModel</ref><sp/>*presence)</highlight></codeline>
<codeline lineno="4136"><highlight class="normal">{</highlight></codeline>
<codeline lineno="4137"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSList<sp/>*elem;</highlight></codeline>
<codeline lineno="4138"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(elem=<ref refid="group__proxies_1gad167a93dd8d6b6fa9b9d36c9ce7cc3fc" kindref="member">linphone_core_get_proxy_config_list</ref>(lc);elem!=NULL;elem=ms_list_next(elem)){</highlight></codeline>
<codeline lineno="4139"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref><sp/>*cfg=(<ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref>*)elem-&gt;data;</highlight></codeline>
<codeline lineno="4140"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>if<sp/>(cfg-&gt;publish)<sp/>linphone_proxy_config_send_publish(cfg,presence);</highlight></codeline>
<codeline lineno="4141"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4142"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="4143"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4144"><highlight class="normal"></highlight></codeline>
<codeline lineno="4152"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ga3b0c027024f929ab7545cd645a438699" kindref="member">linphone_core_set_inc_timeout</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>seconds){</highlight></codeline>
<codeline lineno="4153"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sip_conf.inc_timeout=seconds;</highlight></codeline>
<codeline lineno="4154"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc)){</highlight></codeline>
<codeline lineno="4155"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;inc_timeout&quot;</highlight><highlight class="normal">,seconds);</highlight></codeline>
<codeline lineno="4156"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4157"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4158"><highlight class="normal"></highlight></codeline>
<codeline lineno="4165"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1gab9bf2ca040dd1c9ff988eec29f54a6b6" kindref="member">linphone_core_get_inc_timeout</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="4166"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;sip_conf.inc_timeout;</highlight></codeline>
<codeline lineno="4167"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4168"><highlight class="normal"></highlight></codeline>
<codeline lineno="4175"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ga3c63ada88c8bee272d5bf74e40459505" kindref="member">linphone_core_set_in_call_timeout</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>seconds){</highlight></codeline>
<codeline lineno="4176"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sip_conf.in_call_timeout=seconds;</highlight></codeline>
<codeline lineno="4177"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(<sp/>linphone_core_ready(lc)){</highlight></codeline>
<codeline lineno="4178"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;in_call_timeout&quot;</highlight><highlight class="normal">,<sp/>seconds);</highlight></codeline>
<codeline lineno="4179"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4180"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4181"><highlight class="normal"></highlight></codeline>
<codeline lineno="4188"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1gadc478a0432de96b84664385ce42687c2" kindref="member">linphone_core_get_in_call_timeout</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="4189"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;sip_conf.in_call_timeout;</highlight></codeline>
<codeline lineno="4190"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4191"><highlight class="normal"></highlight></codeline>
<codeline lineno="4198"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ga0389d871a1ea96ec41cdad9abf3f6124" kindref="member">linphone_core_get_delayed_timeout</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="4199"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;sip_conf.delayed_timeout;</highlight></codeline>
<codeline lineno="4200"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4201"><highlight class="normal"></highlight></codeline>
<codeline lineno="4208"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ga5073ea0cc3dba514f72120f4a4d0c6e8" kindref="member">linphone_core_set_delayed_timeout</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>seconds){</highlight></codeline>
<codeline lineno="4209"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sip_conf.delayed_timeout=seconds;</highlight></codeline>
<codeline lineno="4210"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4211"><highlight class="normal"></highlight></codeline>
<codeline lineno="4212"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gadae69527e9b36e0f29bd80c30275874f" kindref="member">linphone_core_set_presence_info</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>minutes_away,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*contact,<sp/><ref refid="group__buddy__list_1ga77d9418f55c2ad8f8c6627548b388d0d" kindref="member">LinphoneOnlineStatus</ref><sp/>os)<sp/>{</highlight></codeline>
<codeline lineno="4213"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="struct__LinphonePresenceModel" kindref="compound">LinphonePresenceModel</ref><sp/>*presence<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="4214"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*description<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="4215"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__buddy__list_1ga786b93f017c7572632243e1d493641ac" kindref="member">LinphonePresenceActivityType</ref><sp/>acttype<sp/>=<sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641acaf8b53708da5fce2089416dbc6d0e2059" kindref="member">LinphonePresenceActivityUnknown</ref>;</highlight></codeline>
<codeline lineno="4216"><highlight class="normal"></highlight></codeline>
<codeline lineno="4217"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(minutes_away&gt;0)<sp/>lc-&gt;minutes_away=minutes_away;</highlight></codeline>
<codeline lineno="4218"><highlight class="normal"></highlight></codeline>
<codeline lineno="4219"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">switch</highlight><highlight class="normal"><sp/>(os)<sp/>{</highlight></codeline>
<codeline lineno="4220"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34af5aff8e160716b480e4f9f54a1892bb8" kindref="member">LinphoneStatusOffline</ref>:</highlight></codeline>
<codeline lineno="4221"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>acttype<sp/>=<sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641acae6c23b48f5e845a1892985da5844aae3" kindref="member">LinphonePresenceActivityOffline</ref>;</highlight></codeline>
<codeline lineno="4222"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4223"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34ae254d925323f861f5752aa55abab5ecf" kindref="member">LinphoneStatusOnline</ref>:</highlight></codeline>
<codeline lineno="4224"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>acttype<sp/>=<sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641aca005609d9063ce6807e4532e363d9801f" kindref="member">LinphonePresenceActivityOnline</ref>;</highlight></codeline>
<codeline lineno="4225"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4226"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34a17ae05e1255b7df4d57221ac33c8d0ad" kindref="member">LinphoneStatusBusy</ref>:</highlight></codeline>
<codeline lineno="4227"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>acttype<sp/>=<sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641aca9321362a809f958ee552068736d111c5" kindref="member">LinphonePresenceActivityBusy</ref>;</highlight></codeline>
<codeline lineno="4228"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4229"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34a649069608e2156c725a1161c1c94cf17" kindref="member">LinphoneStatusBeRightBack</ref>:</highlight></codeline>
<codeline lineno="4230"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>acttype<sp/>=<sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641aca674f2624d3f77e5d7bbff99c75532081" kindref="member">LinphonePresenceActivityInTransit</ref>;</highlight></codeline>
<codeline lineno="4231"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4232"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34a461c74c841b59ba7f934783cb5314ea4" kindref="member">LinphoneStatusAway</ref>:</highlight></codeline>
<codeline lineno="4233"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>acttype<sp/>=<sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641aca0df5a9a7bcae6ff52aeb8cc502a6e7af" kindref="member">LinphonePresenceActivityAway</ref>;</highlight></codeline>
<codeline lineno="4234"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4235"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34a7200babc21568ea6223679de1d1f0bfe" kindref="member">LinphoneStatusOnThePhone</ref>:</highlight></codeline>
<codeline lineno="4236"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>acttype<sp/>=<sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641acae7a0ec14d541c65e32688be2f8d25678" kindref="member">LinphonePresenceActivityOnThePhone</ref>;</highlight></codeline>
<codeline lineno="4237"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4238"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34ace958ac6ca2b03b8c6241942779095c4" kindref="member">LinphoneStatusOutToLunch</ref>:</highlight></codeline>
<codeline lineno="4239"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>acttype<sp/>=<sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641acadac59f1cbb3da20e7ce4549c0b63bc35" kindref="member">LinphonePresenceActivityLunch</ref>;</highlight></codeline>
<codeline lineno="4240"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4241"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34a438498767839c0507236f1cd599cf220" kindref="member">LinphoneStatusDoNotDisturb</ref>:</highlight></codeline>
<codeline lineno="4242"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>acttype<sp/>=<sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641aca9321362a809f958ee552068736d111c5" kindref="member">LinphonePresenceActivityBusy</ref>;</highlight></codeline>
<codeline lineno="4243"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>description<sp/>=<sp/></highlight><highlight class="stringliteral">&quot;Do<sp/>not<sp/>disturb&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4244"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4245"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34a2f5788314f1f2afd183fa114a2f4bd90" kindref="member">LinphoneStatusMoved</ref>:</highlight></codeline>
<codeline lineno="4246"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>acttype<sp/>=<sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641acac73b9c5624dacd98dd82e4f5eb080fbc" kindref="member">LinphonePresenceActivityPermanentAbsence</ref>;</highlight></codeline>
<codeline lineno="4247"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4248"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34abbcf317b3c6ffdabc976b3b5d9f1fd61" kindref="member">LinphoneStatusAltService</ref>:</highlight></codeline>
<codeline lineno="4249"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>acttype<sp/>=<sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641aca9321362a809f958ee552068736d111c5" kindref="member">LinphonePresenceActivityBusy</ref>;</highlight></codeline>
<codeline lineno="4250"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>description<sp/>=<sp/></highlight><highlight class="stringliteral">&quot;Using<sp/>another<sp/>messaging<sp/>service&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4251"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4252"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34a034d77792b8e8bf3420946989aa41503" kindref="member">LinphoneStatusPending</ref>:</highlight></codeline>
<codeline lineno="4253"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>acttype<sp/>=<sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641acaa91724dffdd8eb6c7eb0198ebe2b0c4d" kindref="member">LinphonePresenceActivityOther</ref>;</highlight></codeline>
<codeline lineno="4254"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>description<sp/>=<sp/></highlight><highlight class="stringliteral">&quot;Waiting<sp/>for<sp/>user<sp/>acceptance&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4255"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4256"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34ab5284645d9b56006e31ad074e944521f" kindref="member">LinphoneStatusVacation</ref>:</highlight></codeline>
<codeline lineno="4257"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>acttype<sp/>=<sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641acac35db7f2c21627d7a7a3b211aa940d7b" kindref="member">LinphonePresenceActivityVacation</ref>;</highlight></codeline>
<codeline lineno="4258"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4259"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>LinphoneStatusEnd:</highlight></codeline>
<codeline lineno="4260"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;Invalid<sp/>status<sp/>LinphoneStatusEnd&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="4261"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4262"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4263"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>presence<sp/>=<sp/><ref refid="group__buddy__list_1ga1d18d53dc6742c071b9a33d76761112b" kindref="member">linphone_presence_model_new_with_activity</ref>(acttype,<sp/>description);</highlight></codeline>
<codeline lineno="4264"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__buddy__list_1gad77b4bec03ea80eaed213d9e0a23c8a0" kindref="member">linphone_presence_model_set_contact</ref>(presence,<sp/>contact);</highlight></codeline>
<codeline lineno="4265"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__buddy__list_1ga8b8f1c93a0c9a7d355b1899969058fb3" kindref="member">linphone_core_set_presence_model</ref>(lc,<sp/>presence);</highlight></codeline>
<codeline lineno="4266"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4267"><highlight class="normal"></highlight></codeline>
<codeline lineno="4268"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_send_presence(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="struct__LinphonePresenceModel" kindref="compound">LinphonePresenceModel</ref><sp/>*presence){</highlight></codeline>
<codeline lineno="4269"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__buddy__list_1gaa76897f8107633a3d05746c45a957817" kindref="member">linphone_core_notify_all_friends</ref>(lc,presence);</highlight></codeline>
<codeline lineno="4270"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_send_publish(lc,presence);</highlight></codeline>
<codeline lineno="4271"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4272"><highlight class="normal"></highlight></codeline>
<codeline lineno="4273"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1ga8b8f1c93a0c9a7d355b1899969058fb3" kindref="member">linphone_core_set_presence_model</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="struct__LinphonePresenceModel" kindref="compound">LinphonePresenceModel</ref><sp/>*presence)<sp/>{</highlight></codeline>
<codeline lineno="4274"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_send_presence(lc,presence);</highlight></codeline>
<codeline lineno="4275"><highlight class="normal"></highlight></codeline>
<codeline lineno="4276"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((lc-&gt;presence_model<sp/>!=<sp/>NULL)<sp/>&amp;&amp;<sp/>(lc-&gt;presence_model<sp/>!=<sp/>presence))<sp/>{</highlight></codeline>
<codeline lineno="4277"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__buddy__list_1ga8c6c14fe45f6941149ed3eb759db9a23" kindref="member">linphone_presence_model_unref</ref>(lc-&gt;presence_model);</highlight></codeline>
<codeline lineno="4278"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;presence_model<sp/>=<sp/>presence;</highlight></codeline>
<codeline lineno="4279"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4280"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4281"><highlight class="normal"></highlight></codeline>
<codeline lineno="4282"><highlight class="normal"><ref refid="group__buddy__list_1ga77d9418f55c2ad8f8c6627548b388d0d" kindref="member">LinphoneOnlineStatus</ref><sp/><ref refid="group__buddy__list_1ga172bd47cb5e3b6132d1ea9bf8c6b733a" kindref="member">linphone_core_get_presence_info</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="4283"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__buddy__list_1gadb1476058b69c4da5e94c7e0d55fd244" kindref="member">LinphonePresenceActivity</ref><sp/>*activity<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="4284"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*description<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="4285"><highlight class="normal"></highlight></codeline>
<codeline lineno="4286"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>activity<sp/>=<sp/><ref refid="group__buddy__list_1gae44a7723cc5843954981878e0ff654fd" kindref="member">linphone_presence_model_get_activity</ref>(lc-&gt;presence_model);</highlight></codeline>
<codeline lineno="4287"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>description<sp/>=<sp/><ref refid="group__buddy__list_1ga1480a5fc9dbb84a1e45c6b5a11333408" kindref="member">linphone_presence_activity_get_description</ref>(activity);</highlight></codeline>
<codeline lineno="4288"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">switch</highlight><highlight class="normal"><sp/>(<ref refid="group__buddy__list_1ga13b83f3d94062696507a975313fc8e1c" kindref="member">linphone_presence_activity_get_type</ref>(activity))<sp/>{</highlight></codeline>
<codeline lineno="4289"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641acae6c23b48f5e845a1892985da5844aae3" kindref="member">LinphonePresenceActivityOffline</ref>:</highlight></codeline>
<codeline lineno="4290"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34af5aff8e160716b480e4f9f54a1892bb8" kindref="member">LinphoneStatusOffline</ref>;</highlight></codeline>
<codeline lineno="4291"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641aca005609d9063ce6807e4532e363d9801f" kindref="member">LinphonePresenceActivityOnline</ref>:</highlight></codeline>
<codeline lineno="4292"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34ae254d925323f861f5752aa55abab5ecf" kindref="member">LinphoneStatusOnline</ref>;</highlight></codeline>
<codeline lineno="4293"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641aca9321362a809f958ee552068736d111c5" kindref="member">LinphonePresenceActivityBusy</ref>:</highlight></codeline>
<codeline lineno="4294"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(description<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="4295"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(strcmp(description,<sp/></highlight><highlight class="stringliteral">&quot;Do<sp/>not<sp/>disturb&quot;</highlight><highlight class="normal">)<sp/>==<sp/>0)</highlight></codeline>
<codeline lineno="4296"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34a438498767839c0507236f1cd599cf220" kindref="member">LinphoneStatusDoNotDisturb</ref>;</highlight></codeline>
<codeline lineno="4297"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(strcmp(description,<sp/></highlight><highlight class="stringliteral">&quot;Using<sp/>another<sp/>messaging<sp/>service&quot;</highlight><highlight class="normal">)<sp/>==<sp/>0)</highlight></codeline>
<codeline lineno="4298"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34abbcf317b3c6ffdabc976b3b5d9f1fd61" kindref="member">LinphoneStatusAltService</ref>;</highlight></codeline>
<codeline lineno="4299"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4300"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34a17ae05e1255b7df4d57221ac33c8d0ad" kindref="member">LinphoneStatusBusy</ref>;</highlight></codeline>
<codeline lineno="4301"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641aca674f2624d3f77e5d7bbff99c75532081" kindref="member">LinphonePresenceActivityInTransit</ref>:</highlight></codeline>
<codeline lineno="4302"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641aca352afafa21ff6c35bc0bdb069626e281" kindref="member">LinphonePresenceActivitySteering</ref>:</highlight></codeline>
<codeline lineno="4303"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34a649069608e2156c725a1161c1c94cf17" kindref="member">LinphoneStatusBeRightBack</ref>;</highlight></codeline>
<codeline lineno="4304"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641aca0df5a9a7bcae6ff52aeb8cc502a6e7af" kindref="member">LinphonePresenceActivityAway</ref>:</highlight></codeline>
<codeline lineno="4305"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34a461c74c841b59ba7f934783cb5314ea4" kindref="member">LinphoneStatusAway</ref>;</highlight></codeline>
<codeline lineno="4306"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641acae7a0ec14d541c65e32688be2f8d25678" kindref="member">LinphonePresenceActivityOnThePhone</ref>:</highlight></codeline>
<codeline lineno="4307"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34a7200babc21568ea6223679de1d1f0bfe" kindref="member">LinphoneStatusOnThePhone</ref>;</highlight></codeline>
<codeline lineno="4308"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641aca8cccbbdfd0909f4063199962642fa76b" kindref="member">LinphonePresenceActivityBreakfast</ref>:</highlight></codeline>
<codeline lineno="4309"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641aca64c1f4795aa9eb80302356aedb81a7ea" kindref="member">LinphonePresenceActivityDinner</ref>:</highlight></codeline>
<codeline lineno="4310"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641acadac59f1cbb3da20e7ce4549c0b63bc35" kindref="member">LinphonePresenceActivityLunch</ref>:</highlight></codeline>
<codeline lineno="4311"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641aca04bcb2b58b21093ee53fe1e5a465efa7" kindref="member">LinphonePresenceActivityMeal</ref>:</highlight></codeline>
<codeline lineno="4312"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34ace958ac6ca2b03b8c6241942779095c4" kindref="member">LinphoneStatusOutToLunch</ref>;</highlight></codeline>
<codeline lineno="4313"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641acac73b9c5624dacd98dd82e4f5eb080fbc" kindref="member">LinphonePresenceActivityPermanentAbsence</ref>:</highlight></codeline>
<codeline lineno="4314"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34a2f5788314f1f2afd183fa114a2f4bd90" kindref="member">LinphoneStatusMoved</ref>;</highlight></codeline>
<codeline lineno="4315"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641acaa91724dffdd8eb6c7eb0198ebe2b0c4d" kindref="member">LinphonePresenceActivityOther</ref>:</highlight></codeline>
<codeline lineno="4316"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(description<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="4317"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(strcmp(description,<sp/></highlight><highlight class="stringliteral">&quot;Waiting<sp/>for<sp/>user<sp/>acceptance&quot;</highlight><highlight class="normal">)<sp/>==<sp/>0)</highlight></codeline>
<codeline lineno="4318"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34a034d77792b8e8bf3420946989aa41503" kindref="member">LinphoneStatusPending</ref>;</highlight></codeline>
<codeline lineno="4319"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4320"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34a17ae05e1255b7df4d57221ac33c8d0ad" kindref="member">LinphoneStatusBusy</ref>;</highlight></codeline>
<codeline lineno="4321"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641acac35db7f2c21627d7a7a3b211aa940d7b" kindref="member">LinphonePresenceActivityVacation</ref>:</highlight></codeline>
<codeline lineno="4322"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34ab5284645d9b56006e31ad074e944521f" kindref="member">LinphoneStatusVacation</ref>;</highlight></codeline>
<codeline lineno="4323"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641acaac53282cdfa33de4b0cbcf0ed282673c" kindref="member">LinphonePresenceActivityAppointment</ref>:</highlight></codeline>
<codeline lineno="4324"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641acad0584a79304edde96c86ee8a8a9b5b8c" kindref="member">LinphonePresenceActivityMeeting</ref>:</highlight></codeline>
<codeline lineno="4325"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga786b93f017c7572632243e1d493641acaefa940652209eaff7f5904a11b1b5989" kindref="member">LinphonePresenceActivityWorship</ref>:</highlight></codeline>
<codeline lineno="4326"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34a438498767839c0507236f1cd599cf220" kindref="member">LinphoneStatusDoNotDisturb</ref>;</highlight></codeline>
<codeline lineno="4327"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">default</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="4328"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__buddy__list_1gga1fe5b01157185e761475b82058697a34a17ae05e1255b7df4d57221ac33c8d0ad" kindref="member">LinphoneStatusBusy</ref>;</highlight></codeline>
<codeline lineno="4329"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4330"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4331"><highlight class="normal"></highlight></codeline>
<codeline lineno="4332"><highlight class="normal"><ref refid="struct__LinphonePresenceModel" kindref="compound">LinphonePresenceModel</ref><sp/>*<sp/><ref refid="group__buddy__list_1gad1199d38de2092dc58ff7d9a9a184e25" kindref="member">linphone_core_get_presence_model</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="4333"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;presence_model;</highlight></codeline>
<codeline lineno="4334"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4335"><highlight class="normal"></highlight></codeline>
<codeline lineno="4341"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga9b23ecb53d8d7ad0062f71e482332044" kindref="member">linphone_core_get_play_level</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="4342"><highlight class="normal">{</highlight></codeline>
<codeline lineno="4343"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;sound_conf.play_lev;</highlight></codeline>
<codeline lineno="4344"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4345"><highlight class="normal"></highlight></codeline>
<codeline lineno="4351"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gad218c5a201019d83765b3197d438602b" kindref="member">linphone_core_get_ring_level</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="4352"><highlight class="normal">{</highlight></codeline>
<codeline lineno="4353"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;sound_conf.ring_lev;</highlight></codeline>
<codeline lineno="4354"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4355"><highlight class="normal"></highlight></codeline>
<codeline lineno="4361"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gafcf526c7bcac1131fb067096458e56d6" kindref="member">linphone_core_get_rec_level</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="4362"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;sound_conf.rec_lev;</highlight></codeline>
<codeline lineno="4363"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4364"><highlight class="normal"></highlight></codeline>
<codeline lineno="4370"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga7ba1da91a653f016d6e6a22e88c320f8" kindref="member">linphone_core_set_ring_level</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>level){</highlight></codeline>
<codeline lineno="4371"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSSndCard<sp/>*sndcard;</highlight></codeline>
<codeline lineno="4372"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sound_conf.ring_lev=level;</highlight></codeline>
<codeline lineno="4373"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sndcard=lc-&gt;sound_conf.ring_sndcard;</highlight></codeline>
<codeline lineno="4374"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sndcard)<sp/>ms_snd_card_set_level(sndcard,MS_SND_CARD_PLAYBACK,level);</highlight></codeline>
<codeline lineno="4375"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4376"><highlight class="normal"></highlight></codeline>
<codeline lineno="4382"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga6fbd88f2248b5a6ca2e972589c2cb7ed" kindref="member">linphone_core_set_mic_gain_db</ref><sp/>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>gaindb){</highlight></codeline>
<codeline lineno="4383"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>gain=gaindb;</highlight></codeline>
<codeline lineno="4384"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call=<ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref><sp/>(lc);</highlight></codeline>
<codeline lineno="4385"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>AudioStream<sp/>*st;</highlight></codeline>
<codeline lineno="4386"><highlight class="normal"></highlight></codeline>
<codeline lineno="4387"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sound_conf.soft_mic_lev=gaindb;</highlight></codeline>
<codeline lineno="4388"><highlight class="normal"></highlight></codeline>
<codeline lineno="4389"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc)){</highlight></codeline>
<codeline lineno="4390"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gaeaa0ff38f2af3cefdf4c401b86ec9197" kindref="member">lp_config_set_float</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;mic_gain_db&quot;</highlight><highlight class="normal">,lc-&gt;sound_conf.soft_mic_lev);</highlight></codeline>
<codeline lineno="4391"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4392"><highlight class="normal"></highlight></codeline>
<codeline lineno="4393"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call==NULL<sp/>||<sp/>(st=call-&gt;audiostream)==NULL){</highlight></codeline>
<codeline lineno="4394"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;linphone_core_set_mic_gain_db():<sp/>no<sp/>active<sp/>call.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="4395"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4396"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4397"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>set_mic_gain_db(st,gain);</highlight></codeline>
<codeline lineno="4398"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4399"><highlight class="normal"></highlight></codeline>
<codeline lineno="4405"><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga54b69b1189e053372b449d1332e1a149" kindref="member">linphone_core_get_mic_gain_db</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="4406"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;sound_conf.soft_mic_lev;</highlight></codeline>
<codeline lineno="4407"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4408"><highlight class="normal"></highlight></codeline>
<codeline lineno="4414"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga5916fdd8f32d8d1d49702af408eaced5" kindref="member">linphone_core_set_playback_gain_db</ref><sp/>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>gaindb){</highlight></codeline>
<codeline lineno="4415"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>gain=gaindb;</highlight></codeline>
<codeline lineno="4416"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call=<ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref><sp/>(lc);</highlight></codeline>
<codeline lineno="4417"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>AudioStream<sp/>*st;</highlight></codeline>
<codeline lineno="4418"><highlight class="normal"></highlight></codeline>
<codeline lineno="4419"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sound_conf.soft_play_lev=gaindb;</highlight></codeline>
<codeline lineno="4420"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc)){</highlight></codeline>
<codeline lineno="4421"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gaeaa0ff38f2af3cefdf4c401b86ec9197" kindref="member">lp_config_set_float</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;playback_gain_db&quot;</highlight><highlight class="normal">,lc-&gt;sound_conf.soft_play_lev);</highlight></codeline>
<codeline lineno="4422"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4423"><highlight class="normal"></highlight></codeline>
<codeline lineno="4424"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call==NULL<sp/>||<sp/>(st=call-&gt;audiostream)==NULL){</highlight></codeline>
<codeline lineno="4425"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;linphone_core_set_playback_gain_db():<sp/>no<sp/>active<sp/>call.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="4426"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4427"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4428"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>set_playback_gain_db(st,gain);</highlight></codeline>
<codeline lineno="4429"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4430"><highlight class="normal"></highlight></codeline>
<codeline lineno="4436"><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gae97e6b2a9434d42fde64130da338cdbc" kindref="member">linphone_core_get_playback_gain_db</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="4437"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;sound_conf.soft_play_lev;</highlight></codeline>
<codeline lineno="4438"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4439"><highlight class="normal"></highlight></codeline>
<codeline lineno="4445"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga9339af7687042d2d8d9db3e834d35c02" kindref="member">linphone_core_set_play_level</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>level){</highlight></codeline>
<codeline lineno="4446"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSSndCard<sp/>*sndcard;</highlight></codeline>
<codeline lineno="4447"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sound_conf.play_lev=level;</highlight></codeline>
<codeline lineno="4448"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sndcard=lc-&gt;sound_conf.play_sndcard;</highlight></codeline>
<codeline lineno="4449"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sndcard)<sp/>ms_snd_card_set_level(sndcard,MS_SND_CARD_PLAYBACK,level);</highlight></codeline>
<codeline lineno="4450"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4451"><highlight class="normal"></highlight></codeline>
<codeline lineno="4457"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga4e527c0e3d8f9dd118c1cd4d1af4081f" kindref="member">linphone_core_set_rec_level</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>level)</highlight></codeline>
<codeline lineno="4458"><highlight class="normal">{</highlight></codeline>
<codeline lineno="4459"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSSndCard<sp/>*sndcard;</highlight></codeline>
<codeline lineno="4460"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sound_conf.rec_lev=level;</highlight></codeline>
<codeline lineno="4461"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sndcard=lc-&gt;sound_conf.capt_sndcard;</highlight></codeline>
<codeline lineno="4462"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sndcard)<sp/>ms_snd_card_set_level(sndcard,MS_SND_CARD_CAPTURE,level);</highlight></codeline>
<codeline lineno="4463"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4464"><highlight class="normal"></highlight></codeline>
<codeline lineno="4465"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>MSSndCard<sp/>*get_card_from_string_id(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*devid,<sp/></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>cap){</highlight></codeline>
<codeline lineno="4466"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSSndCard<sp/>*sndcard=NULL;</highlight></codeline>
<codeline lineno="4467"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(devid!=NULL){</highlight></codeline>
<codeline lineno="4468"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sndcard=ms_snd_card_manager_get_card(ms_snd_card_manager_get(),devid);</highlight></codeline>
<codeline lineno="4469"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sndcard!=NULL<sp/>&amp;&amp;</highlight></codeline>
<codeline lineno="4470"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(ms_snd_card_get_capabilities(sndcard)<sp/>&amp;<sp/>cap)==0<sp/>){</highlight></codeline>
<codeline lineno="4471"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;%s<sp/>card<sp/>does<sp/>not<sp/>have<sp/>the<sp/>%s<sp/>capability,<sp/>ignoring.&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="4472"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>devid,</highlight></codeline>
<codeline lineno="4473"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>cap==MS_SND_CARD_CAP_CAPTURE<sp/>?<sp/></highlight><highlight class="stringliteral">&quot;capture&quot;</highlight><highlight class="normal"><sp/>:<sp/></highlight><highlight class="stringliteral">&quot;playback&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="4474"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sndcard=NULL;</highlight></codeline>
<codeline lineno="4475"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4476"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4477"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sndcard==NULL)<sp/>{</highlight></codeline>
<codeline lineno="4478"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((cap<sp/>&amp;<sp/>MS_SND_CARD_CAP_CAPTURE)<sp/>&amp;&amp;<sp/>(cap<sp/>&amp;<sp/>MS_SND_CARD_CAP_PLAYBACK)){</highlight></codeline>
<codeline lineno="4479"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sndcard=ms_snd_card_manager_get_default_card(ms_snd_card_manager_get());</highlight></codeline>
<codeline lineno="4480"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(cap<sp/>&amp;<sp/>MS_SND_CARD_CAP_CAPTURE){</highlight></codeline>
<codeline lineno="4481"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sndcard=ms_snd_card_manager_get_default_capture_card(ms_snd_card_manager_get());</highlight></codeline>
<codeline lineno="4482"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4483"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(cap<sp/>&amp;<sp/>MS_SND_CARD_CAP_PLAYBACK){</highlight></codeline>
<codeline lineno="4484"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sndcard=ms_snd_card_manager_get_default_playback_card(ms_snd_card_manager_get());</highlight></codeline>
<codeline lineno="4485"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4486"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sndcard==NULL){</highlight><highlight class="comment">/*looks<sp/>like<sp/>a<sp/>bug!<sp/>take<sp/>the<sp/>first<sp/>one<sp/>!*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4487"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSList<sp/>*elem=ms_snd_card_manager_get_list(ms_snd_card_manager_get());</highlight></codeline>
<codeline lineno="4488"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(elem)<sp/>sndcard=(MSSndCard*)elem-&gt;data;</highlight></codeline>
<codeline lineno="4489"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4490"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4491"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sndcard==NULL)<sp/>ms_error(</highlight><highlight class="stringliteral">&quot;Could<sp/>not<sp/>find<sp/>a<sp/>suitable<sp/>soundcard<sp/>!&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="4492"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>sndcard;</highlight></codeline>
<codeline lineno="4493"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4494"><highlight class="normal"></highlight></codeline>
<codeline lineno="4502"><highlight class="normal">bool_t<sp/><ref refid="group__media__parameters_1gaab43dddfbdaa177f6b07cf11eb6959a4" kindref="member">linphone_core_sound_device_can_capture</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*devid){</highlight></codeline>
<codeline lineno="4503"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSSndCard<sp/>*sndcard;</highlight></codeline>
<codeline lineno="4504"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sndcard=ms_snd_card_manager_get_card(ms_snd_card_manager_get(),devid);</highlight></codeline>
<codeline lineno="4505"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sndcard!=NULL<sp/>&amp;&amp;<sp/>(ms_snd_card_get_capabilities(sndcard)<sp/>&amp;<sp/>MS_SND_CARD_CAP_CAPTURE))<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>TRUE;</highlight></codeline>
<codeline lineno="4506"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>FALSE;</highlight></codeline>
<codeline lineno="4507"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4508"><highlight class="normal"></highlight></codeline>
<codeline lineno="4516"><highlight class="normal">bool_t<sp/><ref refid="group__media__parameters_1ga5b3674e6684eeb691e2eef8ff82e27f4" kindref="member">linphone_core_sound_device_can_playback</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*devid){</highlight></codeline>
<codeline lineno="4517"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSSndCard<sp/>*sndcard;</highlight></codeline>
<codeline lineno="4518"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sndcard=ms_snd_card_manager_get_card(ms_snd_card_manager_get(),devid);</highlight></codeline>
<codeline lineno="4519"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sndcard!=NULL<sp/>&amp;&amp;<sp/>(ms_snd_card_get_capabilities(sndcard)<sp/>&amp;<sp/>MS_SND_CARD_CAP_PLAYBACK))<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>TRUE;</highlight></codeline>
<codeline lineno="4520"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>FALSE;</highlight></codeline>
<codeline lineno="4521"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4522"><highlight class="normal"></highlight></codeline>
<codeline lineno="4530"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gaf39872ecc72222f20f21f43b1d801c7d" kindref="member">linphone_core_set_ringer_device</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/>devid){</highlight></codeline>
<codeline lineno="4531"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSSndCard<sp/>*card=get_card_from_string_id(devid,MS_SND_CARD_CAP_PLAYBACK);</highlight></codeline>
<codeline lineno="4532"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sound_conf.ring_sndcard=card;</highlight></codeline>
<codeline lineno="4533"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(card<sp/>&amp;&amp;<sp/>linphone_core_ready(lc))</highlight></codeline>
<codeline lineno="4534"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;ringer_dev_id&quot;</highlight><highlight class="normal">,ms_snd_card_get_string_id(card));</highlight></codeline>
<codeline lineno="4535"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="4536"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4537"><highlight class="normal"></highlight></codeline>
<codeline lineno="4545"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga918921988d674e6709dbbf40c76fde2c" kindref="member">linphone_core_set_playback_device</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/>devid){</highlight></codeline>
<codeline lineno="4546"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSSndCard<sp/>*card=get_card_from_string_id(devid,MS_SND_CARD_CAP_PLAYBACK);</highlight></codeline>
<codeline lineno="4547"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sound_conf.play_sndcard=card;</highlight></codeline>
<codeline lineno="4548"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(card<sp/>&amp;&amp;<sp/><sp/>linphone_core_ready(lc))</highlight></codeline>
<codeline lineno="4549"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;playback_dev_id&quot;</highlight><highlight class="normal">,ms_snd_card_get_string_id(card));</highlight></codeline>
<codeline lineno="4550"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="4551"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4552"><highlight class="normal"></highlight></codeline>
<codeline lineno="4560"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gabca57ab3569c2e4bc7811336be6ea989" kindref="member">linphone_core_set_capture_device</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/>devid){</highlight></codeline>
<codeline lineno="4561"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSSndCard<sp/>*card=get_card_from_string_id(devid,MS_SND_CARD_CAP_CAPTURE);</highlight></codeline>
<codeline lineno="4562"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sound_conf.capt_sndcard=card;</highlight></codeline>
<codeline lineno="4563"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(card<sp/>&amp;&amp;<sp/><sp/>linphone_core_ready(lc))</highlight></codeline>
<codeline lineno="4564"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;capture_dev_id&quot;</highlight><highlight class="normal">,ms_snd_card_get_string_id(card));</highlight></codeline>
<codeline lineno="4565"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="4566"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4567"><highlight class="normal"></highlight></codeline>
<codeline lineno="4574"><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/><ref refid="group__media__parameters_1ga4ebe2c101018cb13bf50ab7d31835c6d" kindref="member">linphone_core_get_ringer_device</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="4575"><highlight class="normal">{</highlight></codeline>
<codeline lineno="4576"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sound_conf.ring_sndcard)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>ms_snd_card_get_string_id(lc-&gt;sound_conf.ring_sndcard);</highlight></codeline>
<codeline lineno="4577"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="4578"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4579"><highlight class="normal"></highlight></codeline>
<codeline lineno="4586"><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/><ref refid="group__media__parameters_1ga3c995a9314c0f720d867c388e5f2677f" kindref="member">linphone_core_get_playback_device</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="4587"><highlight class="normal">{</highlight></codeline>
<codeline lineno="4588"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;sound_conf.play_sndcard<sp/>?<sp/>ms_snd_card_get_string_id(lc-&gt;sound_conf.play_sndcard)<sp/>:<sp/>NULL;</highlight></codeline>
<codeline lineno="4589"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4590"><highlight class="normal"></highlight></codeline>
<codeline lineno="4597"><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/><ref refid="group__media__parameters_1gae7a5781ea8f646492f8d56f516ead722" kindref="member">linphone_core_get_capture_device</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="4598"><highlight class="normal">{</highlight></codeline>
<codeline lineno="4599"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;sound_conf.capt_sndcard<sp/>?<sp/>ms_snd_card_get_string_id(lc-&gt;sound_conf.capt_sndcard)<sp/>:<sp/>NULL;</highlight></codeline>
<codeline lineno="4600"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4601"><highlight class="normal"></highlight></codeline>
<codeline lineno="4610"><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">**<sp/><sp/><ref refid="group__media__parameters_1ga4cc376b1a17c1b8c26c25289d6177603" kindref="member">linphone_core_get_sound_devices</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="4611"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;sound_conf.cards;</highlight></codeline>
<codeline lineno="4612"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4613"><highlight class="normal"></highlight></codeline>
<codeline lineno="4620"><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">**<sp/><sp/><ref refid="group__media__parameters_1ga9c0247f180842d0408fc6be1fe4f7962" kindref="member">linphone_core_get_video_devices</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="4621"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;video_conf.cams;</highlight></codeline>
<codeline lineno="4622"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4623"><highlight class="normal"></highlight></codeline>
<codeline lineno="4624"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga4b0688ed23818d754577ac91a26a6f2a" kindref="member">linphone_core_reload_sound_devices</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="4625"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*ringer,*playback,*capture;</highlight></codeline>
<codeline lineno="4626"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ringer=<ref refid="group__media__parameters_1ga4ebe2c101018cb13bf50ab7d31835c6d" kindref="member">linphone_core_get_ringer_device</ref>(lc);</highlight></codeline>
<codeline lineno="4627"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>playback=<ref refid="group__media__parameters_1ga3c995a9314c0f720d867c388e5f2677f" kindref="member">linphone_core_get_playback_device</ref>(lc);</highlight></codeline>
<codeline lineno="4628"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>capture=<ref refid="group__media__parameters_1gae7a5781ea8f646492f8d56f516ead722" kindref="member">linphone_core_get_capture_device</ref>(lc);</highlight></codeline>
<codeline lineno="4629"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_snd_card_manager_reload(ms_snd_card_manager_get());</highlight></codeline>
<codeline lineno="4630"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>build_sound_devices_table(lc);</highlight></codeline>
<codeline lineno="4631"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1gaf39872ecc72222f20f21f43b1d801c7d" kindref="member">linphone_core_set_ringer_device</ref>(lc,ringer);</highlight></codeline>
<codeline lineno="4632"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga918921988d674e6709dbbf40c76fde2c" kindref="member">linphone_core_set_playback_device</ref>(lc,playback);</highlight></codeline>
<codeline lineno="4633"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1gabca57ab3569c2e4bc7811336be6ea989" kindref="member">linphone_core_set_capture_device</ref>(lc,capture);</highlight></codeline>
<codeline lineno="4634"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4635"><highlight class="normal"></highlight></codeline>
<codeline lineno="4636"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga53b70dd37176f781675bb73ab357d48d" kindref="member">linphone_core_reload_video_devices</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="4637"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*devid;</highlight></codeline>
<codeline lineno="4638"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>devid=<ref refid="group__media__parameters_1ga605f7169d5e2ef55047c993dc6d35897" kindref="member">linphone_core_get_video_device</ref>(lc);</highlight></codeline>
<codeline lineno="4639"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_web_cam_manager_reload(ms_web_cam_manager_get());</highlight></codeline>
<codeline lineno="4640"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>build_video_devices_table(lc);</highlight></codeline>
<codeline lineno="4641"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga8d3a88ab89a24dc32cb6034992920665" kindref="member">linphone_core_set_video_device</ref>(lc,devid);</highlight></codeline>
<codeline lineno="4642"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4643"><highlight class="normal"></highlight></codeline>
<codeline lineno="4644"><highlight class="normal"></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>linphone_core_get_sound_source(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="4645"><highlight class="normal">{</highlight></codeline>
<codeline lineno="4646"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;sound_conf.source;</highlight></codeline>
<codeline lineno="4647"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4648"><highlight class="normal"></highlight></codeline>
<codeline lineno="4649"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_set_sound_source(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>source)</highlight></codeline>
<codeline lineno="4650"><highlight class="normal">{</highlight></codeline>
<codeline lineno="4651"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSSndCard<sp/>*sndcard=lc-&gt;sound_conf.capt_sndcard;</highlight></codeline>
<codeline lineno="4652"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sound_conf.source=source;</highlight></codeline>
<codeline lineno="4653"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!sndcard)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4654"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">switch</highlight><highlight class="normal">(source){</highlight></codeline>
<codeline lineno="4655"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/></highlight><highlight class="charliteral">&apos;m&apos;</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="4656"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_snd_card_set_capture(sndcard,MS_SND_CARD_MIC);</highlight></codeline>
<codeline lineno="4657"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4658"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/></highlight><highlight class="charliteral">&apos;l&apos;</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="4659"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_snd_card_set_capture(sndcard,MS_SND_CARD_LINE);</highlight></codeline>
<codeline lineno="4660"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4661"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4662"><highlight class="normal"></highlight></codeline>
<codeline lineno="4663"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4664"><highlight class="normal"></highlight></codeline>
<codeline lineno="4665"><highlight class="normal"></highlight></codeline>
<codeline lineno="4674"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gae0efd204ad22aa99abdb9983bd592d20" kindref="member">linphone_core_set_ring</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*path){</highlight></codeline>
<codeline lineno="4675"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sound_conf.local_ring!=0){</highlight></codeline>
<codeline lineno="4676"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;sound_conf.local_ring);</highlight></codeline>
<codeline lineno="4677"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sound_conf.local_ring=NULL;</highlight></codeline>
<codeline lineno="4678"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4679"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(path)</highlight></codeline>
<codeline lineno="4680"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sound_conf.local_ring=ms_strdup(path);</highlight></codeline>
<codeline lineno="4681"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<sp/>linphone_core_ready(lc)<sp/>&amp;&amp;<sp/>lc-&gt;sound_conf.local_ring)</highlight></codeline>
<codeline lineno="4682"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;local_ring&quot;</highlight><highlight class="normal">,lc-&gt;sound_conf.local_ring);</highlight></codeline>
<codeline lineno="4683"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4684"><highlight class="normal"></highlight></codeline>
<codeline lineno="4691"><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<ref refid="group__media__parameters_1gaa9e5c6b8d6887ffe4013e369e4611f10" kindref="member">linphone_core_get_ring</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="4692"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;sound_conf.local_ring;</highlight></codeline>
<codeline lineno="4693"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4694"><highlight class="normal"></highlight></codeline>
<codeline lineno="4703"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1ga24c7276e70ba9a1cccd1c55c1e15499b" kindref="member">linphone_core_set_root_ca</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*path){</highlight></codeline>
<codeline lineno="4704"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_set_root_ca(lc-&gt;sal,<sp/>path);</highlight></codeline>
<codeline lineno="4705"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;http_verify_policy){</highlight></codeline>
<codeline lineno="4706"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_tls_verify_policy_set_root_ca(lc-&gt;http_verify_policy,path);</highlight></codeline>
<codeline lineno="4707"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4708"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;root_ca&quot;</highlight><highlight class="normal">,path);</highlight></codeline>
<codeline lineno="4709"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4710"><highlight class="normal"></highlight></codeline>
<codeline lineno="4718"><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<ref refid="group__initializing_1gab098e474122584618df055f4095ed580" kindref="member">linphone_core_get_root_ca</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="4719"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;root_ca&quot;</highlight><highlight class="normal">,NULL);</highlight></codeline>
<codeline lineno="4720"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4721"><highlight class="normal"></highlight></codeline>
<codeline lineno="4727"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gad8f3f77aebbad9b6fca0f50449dcad93" kindref="member">linphone_core_verify_server_certificates</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>yesno){</highlight></codeline>
<codeline lineno="4728"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_verify_server_certificates(lc-&gt;sal,yesno);</highlight></codeline>
<codeline lineno="4729"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;http_verify_policy){</highlight></codeline>
<codeline lineno="4730"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_tls_verify_policy_set_exceptions(lc-&gt;http_verify_policy,<sp/>yesno<sp/>?<sp/>0<sp/>:<sp/>BELLE_TLS_VERIFY_ANY_REASON);</highlight></codeline>
<codeline lineno="4731"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4732"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;verify_server_certs&quot;</highlight><highlight class="normal">,yesno);</highlight></codeline>
<codeline lineno="4733"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4734"><highlight class="normal"></highlight></codeline>
<codeline lineno="4739"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1ga5ed6e5580ecbd560a4cf390e975e674c" kindref="member">linphone_core_verify_server_cn</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>yesno){</highlight></codeline>
<codeline lineno="4740"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_verify_server_cn(lc-&gt;sal,yesno);</highlight></codeline>
<codeline lineno="4741"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;http_verify_policy){</highlight></codeline>
<codeline lineno="4742"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_tls_verify_policy_set_exceptions(lc-&gt;http_verify_policy,<sp/>yesno<sp/>?<sp/>0<sp/>:<sp/>BELLE_TLS_VERIFY_CN_MISMATCH);</highlight></codeline>
<codeline lineno="4743"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4744"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;verify_server_cn&quot;</highlight><highlight class="normal">,yesno);</highlight></codeline>
<codeline lineno="4745"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4746"><highlight class="normal"></highlight></codeline>
<codeline lineno="4747"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>notify_end_of_ring(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*ud,<sp/>MSFilter<sp/>*f,<sp/></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>event,<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*arg){</highlight></codeline>
<codeline lineno="4748"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc=(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*)ud;</highlight></codeline>
<codeline lineno="4749"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(event==MS_PLAYER_EOF){</highlight></codeline>
<codeline lineno="4750"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;preview_finished=1;</highlight></codeline>
<codeline lineno="4751"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4752"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4753"><highlight class="normal"></highlight></codeline>
<codeline lineno="4754"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>linphone_core_preview_ring(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*ring,<ref refid="group__initializing_1ga2e55e712a2453d67eb7848e30eb7dcb4" kindref="member">LinphoneCoreCbFunc</ref><sp/>func,</highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*<sp/>userdata)</highlight></codeline>
<codeline lineno="4755"><highlight class="normal">{</highlight></codeline>
<codeline lineno="4756"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;ringstream!=0){</highlight></codeline>
<codeline lineno="4757"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;Cannot<sp/>start<sp/>ring<sp/>now,there&apos;s<sp/>already<sp/>a<sp/>ring<sp/>being<sp/>played&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="4758"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="4759"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4760"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc_callback_obj_init(&amp;lc-&gt;preview_finished_cb,func,userdata);</highlight></codeline>
<codeline lineno="4761"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;preview_finished=0;</highlight></codeline>
<codeline lineno="4762"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sound_conf.ring_sndcard!=NULL){</highlight></codeline>
<codeline lineno="4763"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSSndCard<sp/>*ringcard=lc-&gt;sound_conf.lsd_card<sp/>?<sp/>lc-&gt;sound_conf.lsd_card<sp/>:<sp/>lc-&gt;sound_conf.ring_sndcard;</highlight></codeline>
<codeline lineno="4764"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;ringstream=ring_start_with_cb(ring,2000,ringcard,notify_end_of_ring,(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*)lc);</highlight></codeline>
<codeline lineno="4765"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4766"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="4767"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4768"><highlight class="normal"></highlight></codeline>
<codeline lineno="4777"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga1c5376ecf26684886c276183d88b03d0" kindref="member">linphone_core_set_ringback</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*path){</highlight></codeline>
<codeline lineno="4778"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sound_conf.remote_ring!=0){</highlight></codeline>
<codeline lineno="4779"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;sound_conf.remote_ring);</highlight></codeline>
<codeline lineno="4780"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4781"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sound_conf.remote_ring=path?ms_strdup(path):NULL;</highlight></codeline>
<codeline lineno="4782"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4783"><highlight class="normal"></highlight></codeline>
<codeline lineno="4789"><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/><ref refid="group__media__parameters_1ga9d6ec5bae6d32d9de8243b51e4f73916" kindref="member">linphone_core_get_ringback</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="4790"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;sound_conf.remote_ring;</highlight></codeline>
<codeline lineno="4791"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4792"><highlight class="normal"></highlight></codeline>
<codeline lineno="4801"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga27d78a3086c520a59c742056027d0faa" kindref="member">linphone_core_enable_echo_cancellation</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>val){</highlight></codeline>
<codeline lineno="4802"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sound_conf.ec=val;</highlight></codeline>
<codeline lineno="4803"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<sp/>linphone_core_ready(lc))</highlight></codeline>
<codeline lineno="4804"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;echocancellation&quot;</highlight><highlight class="normal">,val);</highlight></codeline>
<codeline lineno="4805"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4806"><highlight class="normal"></highlight></codeline>
<codeline lineno="4807"><highlight class="normal"></highlight></codeline>
<codeline lineno="4813"><highlight class="normal">bool_t<sp/><ref refid="group__media__parameters_1gaa7e19725835efff9598aaadf23d4df71" kindref="member">linphone_core_echo_cancellation_enabled</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="4814"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;sound_conf.ec;</highlight></codeline>
<codeline lineno="4815"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4816"><highlight class="normal"></highlight></codeline>
<codeline lineno="4817"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga8f583bf2a9edc220547914bdca7b85ec" kindref="member">linphone_core_enable_echo_limiter</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>val){</highlight></codeline>
<codeline lineno="4818"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sound_conf.ea=val;</highlight></codeline>
<codeline lineno="4819"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4820"><highlight class="normal"></highlight></codeline>
<codeline lineno="4821"><highlight class="normal">bool_t<sp/><ref refid="group__media__parameters_1ga5375503097c7085b9654b62fb7deb5f8" kindref="member">linphone_core_echo_limiter_enabled</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="4822"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;sound_conf.ea;</highlight></codeline>
<codeline lineno="4823"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4824"><highlight class="normal"></highlight></codeline>
<codeline lineno="4825"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_mute_audio_stream(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>AudioStream<sp/>*st,<sp/>bool_t<sp/>val)<sp/>{</highlight></codeline>
<codeline lineno="4826"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(val)<sp/>{</highlight></codeline>
<codeline lineno="4827"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>audio_stream_set_mic_gain(st,<sp/>0);</highlight></codeline>
<codeline lineno="4828"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="4829"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>audio_stream_set_mic_gain_db(st,<sp/>lc-&gt;sound_conf.soft_mic_lev);</highlight></codeline>
<codeline lineno="4830"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4831"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight></codeline>
<codeline lineno="4832"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<sp/>linphone_core_get_rtp_no_xmit_on_audio_mute(lc)<sp/>){</highlight></codeline>
<codeline lineno="4833"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>audio_stream_mute_rtp(st,val);</highlight></codeline>
<codeline lineno="4834"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4835"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4836"><highlight class="normal"></highlight></codeline>
<codeline lineno="4837"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_mute_mic(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>val){</highlight></codeline>
<codeline lineno="4838"><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="4839"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSList<sp/>*list;</highlight></codeline>
<codeline lineno="4840"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSList<sp/>*elem;</highlight></codeline>
<codeline lineno="4841"><highlight class="normal"></highlight></codeline>
<codeline lineno="4842"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="group__conferencing_1gadaabd5fedbf4e3f568a697b54657f48d" kindref="member">linphone_core_is_in_conference</ref>(lc)){</highlight></codeline>
<codeline lineno="4843"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;conf_ctx.local_muted=val;</highlight></codeline>
<codeline lineno="4844"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_mute_audio_stream(lc,<sp/>lc-&gt;conf_ctx.local_participant,<sp/>val);</highlight></codeline>
<codeline lineno="4845"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4846"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>list<sp/>=<sp/><ref refid="group__call__control_1gaf1f76b5a5d62e8bef5e1ad60e4f7b042" kindref="member">linphone_core_get_calls</ref>(lc);</highlight></codeline>
<codeline lineno="4847"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(elem<sp/>=<sp/>list;<sp/>elem<sp/>!=<sp/>NULL;<sp/>elem<sp/>=<sp/>elem-&gt;next)<sp/>{</highlight></codeline>
<codeline lineno="4848"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call<sp/>=<sp/>(<ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*)elem-&gt;data;</highlight></codeline>
<codeline lineno="4849"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call-&gt;audio_muted<sp/>=<sp/>val;</highlight></codeline>
<codeline lineno="4850"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_mute_audio_stream(lc,<sp/>call-&gt;audiostream,<sp/>val);</highlight></codeline>
<codeline lineno="4851"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4852"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4853"><highlight class="normal"></highlight></codeline>
<codeline lineno="4854"><highlight class="normal">bool_t<sp/>linphone_core_is_mic_muted(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="4855"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call=<ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref>(lc);</highlight></codeline>
<codeline lineno="4856"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="group__conferencing_1gadaabd5fedbf4e3f568a697b54657f48d" kindref="member">linphone_core_is_in_conference</ref>(lc)){</highlight></codeline>
<codeline lineno="4857"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;conf_ctx.local_muted;</highlight></codeline>
<codeline lineno="4858"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call==NULL){</highlight></codeline>
<codeline lineno="4859"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;linphone_core_is_mic_muted():<sp/>No<sp/>current<sp/>call<sp/>!&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="4860"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>FALSE;</highlight></codeline>
<codeline lineno="4861"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4862"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>call-&gt;audio_muted;</highlight></codeline>
<codeline lineno="4863"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4864"><highlight class="normal"></highlight></codeline>
<codeline lineno="4865"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gaed7ac1fce9723f324a1bc903ff76d1fe" kindref="member">linphone_core_enable_mic</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>enable)<sp/>{</highlight></codeline>
<codeline lineno="4866"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_mute_mic(lc,<sp/>(enable<sp/>==<sp/>TRUE)<sp/>?<sp/>FALSE<sp/>:<sp/>TRUE);</highlight></codeline>
<codeline lineno="4867"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4868"><highlight class="normal"></highlight></codeline>
<codeline lineno="4869"><highlight class="normal">bool_t<sp/><ref refid="group__media__parameters_1gab75504c9171c47e3f31b2ada41bde085" kindref="member">linphone_core_mic_enabled</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="4870"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(linphone_core_is_mic_muted(lc)<sp/>==<sp/>TRUE)<sp/>?<sp/>FALSE<sp/>:<sp/>TRUE;</highlight></codeline>
<codeline lineno="4871"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4872"><highlight class="normal"></highlight></codeline>
<codeline lineno="4873"><highlight class="normal"></highlight><highlight class="comment">//<sp/>returns<sp/>rtp<sp/>transmission<sp/>status<sp/>for<sp/>an<sp/>active<sp/>stream</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4874"><highlight class="normal"></highlight><highlight class="comment">//<sp/>if<sp/>audio<sp/>is<sp/>muted<sp/>and<sp/>config<sp/>parameter<sp/>rtp_no_xmit_on_audio_mute</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4875"><highlight class="normal"></highlight><highlight class="comment">//<sp/>was<sp/>set<sp/>on<sp/>then<sp/>rtp<sp/>transmission<sp/>is<sp/>also<sp/>muted</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4876"><highlight class="normal">bool_t<sp/>linphone_core_is_rtp_muted(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="4877"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call=<ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref>(lc);</highlight></codeline>
<codeline lineno="4878"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call==NULL){</highlight></codeline>
<codeline lineno="4879"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;linphone_core_is_rtp_muted():<sp/>No<sp/>current<sp/>call<sp/>!&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="4880"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>FALSE;</highlight></codeline>
<codeline lineno="4881"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4882"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(<sp/>linphone_core_get_rtp_no_xmit_on_audio_mute(lc)){</highlight></codeline>
<codeline lineno="4883"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>call-&gt;audio_muted;</highlight></codeline>
<codeline lineno="4884"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4885"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>FALSE;</highlight></codeline>
<codeline lineno="4886"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4887"><highlight class="normal"></highlight></codeline>
<codeline lineno="4888"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_enable_agc(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>val){</highlight></codeline>
<codeline lineno="4889"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sound_conf.agc=val;</highlight></codeline>
<codeline lineno="4890"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4891"><highlight class="normal"></highlight></codeline>
<codeline lineno="4892"><highlight class="normal">bool_t<sp/>linphone_core_agc_enabled(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="4893"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;sound_conf.agc;</highlight></codeline>
<codeline lineno="4894"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4895"><highlight class="normal"></highlight></codeline>
<codeline lineno="4896"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga20634cdfa45353c4b888eec615bc9d9e" kindref="member">linphone_core_send_dtmf</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>dtmf)</highlight></codeline>
<codeline lineno="4897"><highlight class="normal">{</highlight></codeline>
<codeline lineno="4898"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call=<ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref>(lc);</highlight></codeline>
<codeline lineno="4899"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_call_send_dtmf(call,<sp/>dtmf);</highlight></codeline>
<codeline lineno="4900"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4901"><highlight class="normal"></highlight></codeline>
<codeline lineno="4902"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ga8cef9cabe4bb39b0ec92c92430c628d4" kindref="member">linphone_core_set_stun_server</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*server){</highlight></codeline>
<codeline lineno="4903"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;net_conf.stun_server!=NULL)</highlight></codeline>
<codeline lineno="4904"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;net_conf.stun_server);</highlight></codeline>
<codeline lineno="4905"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(server)</highlight></codeline>
<codeline lineno="4906"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;net_conf.stun_server=ms_strdup(server);</highlight></codeline>
<codeline lineno="4907"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>lc-&gt;net_conf.stun_server=NULL;</highlight></codeline>
<codeline lineno="4908"><highlight class="normal"></highlight></codeline>
<codeline lineno="4909"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>each<sp/>time<sp/>the<sp/>stun<sp/>server<sp/>is<sp/>changed,<sp/>we<sp/>must<sp/>clean<sp/>the<sp/>resolved<sp/>cached<sp/>addrinfo*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4910"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;net_conf.stun_addrinfo){</highlight></codeline>
<codeline lineno="4911"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>freeaddrinfo(lc-&gt;net_conf.stun_addrinfo);</highlight></codeline>
<codeline lineno="4912"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;net_conf.stun_addrinfo=NULL;</highlight></codeline>
<codeline lineno="4913"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4914"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*if<sp/>a<sp/>stun<sp/>server<sp/>is<sp/>set,<sp/>we<sp/>must<sp/>request<sp/>asynchronous<sp/>resolution<sp/>immediately<sp/>to<sp/>be<sp/>ready<sp/>for<sp/>call*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4915"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;net_conf.stun_server){</highlight></codeline>
<codeline lineno="4916"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_resolve_stun_server(lc);</highlight></codeline>
<codeline lineno="4917"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4918"><highlight class="normal"></highlight></codeline>
<codeline lineno="4919"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc))</highlight></codeline>
<codeline lineno="4920"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;net&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;stun_server&quot;</highlight><highlight class="normal">,lc-&gt;net_conf.stun_server);</highlight></codeline>
<codeline lineno="4921"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4922"><highlight class="normal"></highlight></codeline>
<codeline lineno="4923"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/><ref refid="group__network__parameters_1ga2def221f110da2a63bb0bdf957664829" kindref="member">linphone_core_get_stun_server</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="4924"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;net_conf.stun_server;</highlight></codeline>
<codeline lineno="4925"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4926"><highlight class="normal"></highlight></codeline>
<codeline lineno="4927"><highlight class="normal"></highlight></codeline>
<codeline lineno="4928"><highlight class="normal">bool_t<sp/><ref refid="group__network__parameters_1ga6a782ab44345b65137bdc0086a5d1f32" kindref="member">linphone_core_upnp_available</ref>(){</highlight></codeline>
<codeline lineno="4929"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4930"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>TRUE;</highlight></codeline>
<codeline lineno="4931"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4932"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>FALSE;</highlight></codeline>
<codeline lineno="4933"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4934"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4935"><highlight class="normal"></highlight></codeline>
<codeline lineno="4936"><highlight class="normal"><ref refid="group__initializing_1ga2c19554a0988f7600aec5c3a7588d61a" kindref="member">LinphoneUpnpState</ref><sp/><ref refid="group__network__parameters_1gae377ba325e3223ab486c9c985f9e9dd0" kindref="member">linphone_core_get_upnp_state</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="4937"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4938"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>linphone_upnp_context_get_state(lc-&gt;upnp);</highlight></codeline>
<codeline lineno="4939"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4940"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gga3d626fbc6cee8294fef83d197fa27490a25fee6e8fd79a2368aa46daf77a6bff9" kindref="member">LinphoneUpnpStateNotAvailable</ref>;</highlight></codeline>
<codeline lineno="4941"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4942"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4943"><highlight class="normal"></highlight></codeline>
<codeline lineno="4944"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/><ref refid="group__network__parameters_1ga9ae3c4c5ab0133edf1a40474339db3eb" kindref="member">linphone_core_get_upnp_external_ipaddress</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="4945"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4946"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>linphone_upnp_context_get_external_ipaddress(lc-&gt;upnp);</highlight></codeline>
<codeline lineno="4947"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4948"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="4949"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4950"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4951"><highlight class="normal"></highlight></codeline>
<codeline lineno="4952"><highlight class="normal"></highlight></codeline>
<codeline lineno="4953"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1gadadb01ea2af8410e85fe2dde04be30a8" kindref="member">linphone_core_set_nat_address</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*addr)</highlight></codeline>
<codeline lineno="4954"><highlight class="normal">{</highlight></codeline>
<codeline lineno="4955"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;net_conf.nat_address!=NULL){</highlight></codeline>
<codeline lineno="4956"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;net_conf.nat_address);</highlight></codeline>
<codeline lineno="4957"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4958"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(addr!=NULL)<sp/>lc-&gt;net_conf.nat_address=ms_strdup(addr);</highlight></codeline>
<codeline lineno="4959"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>lc-&gt;net_conf.nat_address=NULL;</highlight></codeline>
<codeline lineno="4960"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sip_conf.contact)<sp/>update_primary_contact(lc);</highlight></codeline>
<codeline lineno="4961"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4962"><highlight class="normal"></highlight></codeline>
<codeline lineno="4963"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<ref refid="group__network__parameters_1ga2b9903c9e28728b1a2dd389a761ecdb9" kindref="member">linphone_core_get_nat_address</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="4964"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;net_conf.nat_address;</highlight></codeline>
<codeline lineno="4965"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4966"><highlight class="normal"></highlight></codeline>
<codeline lineno="4967"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*linphone_core_get_nat_address_resolved(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="4968"><highlight class="normal">{</highlight></codeline>
<codeline lineno="4969"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">sockaddr_storage<sp/>ss;</highlight></codeline>
<codeline lineno="4970"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>socklen_t<sp/>ss_len;</highlight></codeline>
<codeline lineno="4971"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>error;</highlight></codeline>
<codeline lineno="4972"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>ipstring<sp/>[INET6_ADDRSTRLEN];</highlight></codeline>
<codeline lineno="4973"><highlight class="normal"></highlight></codeline>
<codeline lineno="4974"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;net_conf.nat_address==NULL)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="4975"><highlight class="normal"></highlight></codeline>
<codeline lineno="4976"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(parse_hostname_to_addr<sp/>(lc-&gt;net_conf.nat_address,<sp/>&amp;ss,<sp/>&amp;ss_len,<sp/>5060)&lt;0)<sp/>{</highlight></codeline>
<codeline lineno="4977"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;net_conf.nat_address;</highlight></codeline>
<codeline lineno="4978"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4979"><highlight class="normal"></highlight></codeline>
<codeline lineno="4980"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>error<sp/>=<sp/>getnameinfo((</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/>sockaddr<sp/>*)&amp;ss,<sp/>ss_len,</highlight></codeline>
<codeline lineno="4981"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ipstring,<sp/></highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(ipstring),<sp/>NULL,<sp/>0,<sp/>NI_NUMERICHOST);</highlight></codeline>
<codeline lineno="4982"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(error)<sp/>{</highlight></codeline>
<codeline lineno="4983"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;net_conf.nat_address;</highlight></codeline>
<codeline lineno="4984"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4985"><highlight class="normal"></highlight></codeline>
<codeline lineno="4986"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;net_conf.nat_address_ip!=NULL){</highlight></codeline>
<codeline lineno="4987"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;net_conf.nat_address_ip);</highlight></codeline>
<codeline lineno="4988"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="4989"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;net_conf.nat_address_ip<sp/>=<sp/>ms_strdup<sp/>(ipstring);</highlight></codeline>
<codeline lineno="4990"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;net_conf.nat_address_ip;</highlight></codeline>
<codeline lineno="4991"><highlight class="normal">}</highlight></codeline>
<codeline lineno="4992"><highlight class="normal"></highlight></codeline>
<codeline lineno="4993"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ga73cc66cfaf24bfb1f150208e2e54076b" kindref="member">linphone_core_set_firewall_policy</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__network__parameters_1ga833aa818e8216f35ef12f86767806129" kindref="member">LinphoneFirewallPolicy</ref><sp/>pol){</highlight></codeline>
<codeline lineno="4994"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*policy<sp/>=<sp/></highlight><highlight class="stringliteral">&quot;none&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="4995"><highlight class="normal"></highlight></codeline>
<codeline lineno="4996"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">switch</highlight><highlight class="normal"><sp/>(pol)<sp/>{</highlight></codeline>
<codeline lineno="4997"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">default</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="4998"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ggadad0a1c27596017d9d9b3c30ef47f5bea8ecc1e10491dd4a2bcb3d07e88086bae" kindref="member">LinphonePolicyNoFirewall</ref>:</highlight></codeline>
<codeline lineno="4999"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>policy<sp/>=<sp/></highlight><highlight class="stringliteral">&quot;none&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="5000"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="5001"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ggadad0a1c27596017d9d9b3c30ef47f5bea823554c78cb93f674464e332af988fe1" kindref="member">LinphonePolicyUseNatAddress</ref>:</highlight></codeline>
<codeline lineno="5002"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>policy<sp/>=<sp/></highlight><highlight class="stringliteral">&quot;nat_address&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="5003"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="5004"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ggadad0a1c27596017d9d9b3c30ef47f5bea38001ab78a3d1071e153e49c741b2d9d" kindref="member">LinphonePolicyUseStun</ref>:</highlight></codeline>
<codeline lineno="5005"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>policy<sp/>=<sp/></highlight><highlight class="stringliteral">&quot;stun&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="5006"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="5007"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ggadad0a1c27596017d9d9b3c30ef47f5beaeadfb66b915acd91af98e4d5cd47b17b" kindref="member">LinphonePolicyUseIce</ref>:</highlight></codeline>
<codeline lineno="5008"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>policy<sp/>=<sp/></highlight><highlight class="stringliteral">&quot;ice&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="5009"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="5010"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ggadad0a1c27596017d9d9b3c30ef47f5beab254b7940dee8816026d50fb29ecaae8" kindref="member">LinphonePolicyUseUpnp</ref>:</highlight></codeline>
<codeline lineno="5011"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5012"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>policy<sp/>=<sp/></highlight><highlight class="stringliteral">&quot;upnp&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="5013"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5014"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;UPNP<sp/>is<sp/>not<sp/>available,<sp/>reset<sp/>firewall<sp/>policy<sp/>to<sp/>no<sp/>firewall&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="5015"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>pol<sp/>=<sp/><ref refid="group__network__parameters_1ggadad0a1c27596017d9d9b3c30ef47f5bea8ecc1e10491dd4a2bcb3d07e88086bae" kindref="member">LinphonePolicyNoFirewall</ref>;</highlight></codeline>
<codeline lineno="5016"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>policy<sp/>=<sp/></highlight><highlight class="stringliteral">&quot;none&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="5017"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5018"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="5019"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5020"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5021"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(pol<sp/>==<sp/><ref refid="group__network__parameters_1ggadad0a1c27596017d9d9b3c30ef47f5beab254b7940dee8816026d50fb29ecaae8" kindref="member">LinphonePolicyUseUpnp</ref>)<sp/>{</highlight></codeline>
<codeline lineno="5022"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(lc-&gt;upnp<sp/>==<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="5023"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;upnp<sp/>=<sp/>linphone_upnp_context_new(lc);</highlight></codeline>
<codeline lineno="5024"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5025"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="5026"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(lc-&gt;upnp<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="5027"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_upnp_context_destroy(lc-&gt;upnp);</highlight></codeline>
<codeline lineno="5028"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;upnp<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="5029"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5030"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5031"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__network__parameters_1ga29ecb77c4dbd33b4827e39e9aed846ec" kindref="member">linphone_core_enable_keep_alive</ref>(lc,<sp/>(lc-&gt;sip_conf.keepalive_period<sp/>&gt;<sp/>0));</highlight></codeline>
<codeline lineno="5032"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5033"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">switch</highlight><highlight class="normal">(pol)<sp/>{</highlight></codeline>
<codeline lineno="5034"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ggadad0a1c27596017d9d9b3c30ef47f5beab254b7940dee8816026d50fb29ecaae8" kindref="member">LinphonePolicyUseUpnp</ref>:</highlight></codeline>
<codeline lineno="5035"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_nat_helper_enable(lc-&gt;sal,<sp/>FALSE);</highlight></codeline>
<codeline lineno="5036"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_enable_auto_contacts(lc-&gt;sal,FALSE);</highlight></codeline>
<codeline lineno="5037"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_use_rport(lc-&gt;sal,<sp/>FALSE);</highlight></codeline>
<codeline lineno="5038"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="5039"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">default</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="5040"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_nat_helper_enable(lc-&gt;sal,<sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;net&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;enable_nat_helper&quot;</highlight><highlight class="normal">,1));</highlight></codeline>
<codeline lineno="5041"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_enable_auto_contacts(lc-&gt;sal,TRUE);</highlight></codeline>
<codeline lineno="5042"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_use_rport(lc-&gt;sal,<sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;use_rport&quot;</highlight><highlight class="normal">,1));</highlight></codeline>
<codeline lineno="5043"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="5044"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5045"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sip_conf.contact)<sp/>update_primary_contact(lc);</highlight></codeline>
<codeline lineno="5046"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc))</highlight></codeline>
<codeline lineno="5047"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;net&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;firewall_policy&quot;</highlight><highlight class="normal">,policy);</highlight></codeline>
<codeline lineno="5048"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5049"><highlight class="normal"><ref refid="group__network__parameters_1ga833aa818e8216f35ef12f86767806129" kindref="member">LinphoneFirewallPolicy</ref><sp/><ref refid="group__network__parameters_1ga9de28ff0fd0f8ff65ef82eba9592276c" kindref="member">linphone_core_get_firewall_policy</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="5050"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*policy;</highlight></codeline>
<codeline lineno="5051"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>policy<sp/>=<sp/><ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;net&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;firewall_policy&quot;</highlight><highlight class="normal">,<sp/>NULL);</highlight></codeline>
<codeline lineno="5052"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((policy<sp/>==<sp/>NULL)<sp/>||<sp/>(strcmp(policy,<sp/></highlight><highlight class="stringliteral">&quot;0&quot;</highlight><highlight class="normal">)<sp/>==<sp/>0))</highlight></codeline>
<codeline lineno="5053"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ggadad0a1c27596017d9d9b3c30ef47f5bea8ecc1e10491dd4a2bcb3d07e88086bae" kindref="member">LinphonePolicyNoFirewall</ref>;</highlight></codeline>
<codeline lineno="5054"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((strcmp(policy,<sp/></highlight><highlight class="stringliteral">&quot;nat_address&quot;</highlight><highlight class="normal">)<sp/>==<sp/>0)<sp/>||<sp/>(strcmp(policy,<sp/></highlight><highlight class="stringliteral">&quot;1&quot;</highlight><highlight class="normal">)<sp/>==<sp/>0))</highlight></codeline>
<codeline lineno="5055"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ggadad0a1c27596017d9d9b3c30ef47f5bea823554c78cb93f674464e332af988fe1" kindref="member">LinphonePolicyUseNatAddress</ref>;</highlight></codeline>
<codeline lineno="5056"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((strcmp(policy,<sp/></highlight><highlight class="stringliteral">&quot;stun&quot;</highlight><highlight class="normal">)<sp/>==<sp/>0)<sp/>||<sp/>(strcmp(policy,<sp/></highlight><highlight class="stringliteral">&quot;2&quot;</highlight><highlight class="normal">)<sp/>==<sp/>0))</highlight></codeline>
<codeline lineno="5057"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ggadad0a1c27596017d9d9b3c30ef47f5bea38001ab78a3d1071e153e49c741b2d9d" kindref="member">LinphonePolicyUseStun</ref>;</highlight></codeline>
<codeline lineno="5058"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((strcmp(policy,<sp/></highlight><highlight class="stringliteral">&quot;ice&quot;</highlight><highlight class="normal">)<sp/>==<sp/>0)<sp/>||<sp/>(strcmp(policy,<sp/></highlight><highlight class="stringliteral">&quot;3&quot;</highlight><highlight class="normal">)<sp/>==<sp/>0))</highlight></codeline>
<codeline lineno="5059"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ggadad0a1c27596017d9d9b3c30ef47f5beaeadfb66b915acd91af98e4d5cd47b17b" kindref="member">LinphonePolicyUseIce</ref>;</highlight></codeline>
<codeline lineno="5060"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((strcmp(policy,<sp/></highlight><highlight class="stringliteral">&quot;upnp&quot;</highlight><highlight class="normal">)<sp/>==<sp/>0)<sp/>||<sp/>(strcmp(policy,<sp/></highlight><highlight class="stringliteral">&quot;4&quot;</highlight><highlight class="normal">)<sp/>==<sp/>0))</highlight></codeline>
<codeline lineno="5061"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ggadad0a1c27596017d9d9b3c30ef47f5beab254b7940dee8816026d50fb29ecaae8" kindref="member">LinphonePolicyUseUpnp</ref>;</highlight></codeline>
<codeline lineno="5062"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5063"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ggadad0a1c27596017d9d9b3c30ef47f5bea8ecc1e10491dd4a2bcb3d07e88086bae" kindref="member">LinphonePolicyNoFirewall</ref>;</highlight></codeline>
<codeline lineno="5064"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5065"><highlight class="normal"></highlight></codeline>
<codeline lineno="5066"><highlight class="normal"></highlight></codeline>
<codeline lineno="5067"><highlight class="normal"></highlight></codeline>
<codeline lineno="5068"><highlight class="normal"></highlight><highlight class="comment">/*******************************************************************************</highlight></codeline>
<codeline lineno="5069"><highlight class="comment"><sp/>*<sp/>Call<sp/>log<sp/>related<sp/>functions<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*</highlight></codeline>
<codeline lineno="5070"><highlight class="comment"><sp/>******************************************************************************/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5071"><highlight class="normal"></highlight></codeline>
<codeline lineno="5072"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSList<sp/>*<sp/><ref refid="group__call__logs_1gac40929365adb3c774c4f00b7ba449af1" kindref="member">linphone_core_get_call_logs</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="5073"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;call_logs;</highlight></codeline>
<codeline lineno="5074"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5075"><highlight class="normal"></highlight></codeline>
<codeline lineno="5076"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__call__logs_1ga76fb517665122b63136ccc673d431b34" kindref="member">linphone_core_clear_call_logs</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="5077"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;missed_calls=0;</highlight></codeline>
<codeline lineno="5078"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_list_for_each(lc-&gt;call_logs,(void<sp/>(*)(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*))<ref refid="group__call__logs_1ga802bbd28cc29824d80a70ad33e5b8ea6" kindref="member">linphone_call_log_unref</ref>);</highlight></codeline>
<codeline lineno="5079"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;call_logs=ms_list_free(lc-&gt;call_logs);</highlight></codeline>
<codeline lineno="5080"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call_logs_write_to_config_file(lc);</highlight></codeline>
<codeline lineno="5081"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5082"><highlight class="normal"></highlight></codeline>
<codeline lineno="5083"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__call__logs_1gae0b13195a295a5d3e0a53fe11cfec644" kindref="member">linphone_core_get_missed_calls_count</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="5084"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;missed_calls;</highlight></codeline>
<codeline lineno="5085"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5086"><highlight class="normal"></highlight></codeline>
<codeline lineno="5087"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__call__logs_1ga8b01457c0ba5b24ae92bd167a79313fd" kindref="member">linphone_core_reset_missed_calls_count</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="5088"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;missed_calls=0;</highlight></codeline>
<codeline lineno="5089"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5090"><highlight class="normal"></highlight></codeline>
<codeline lineno="5091"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__call__logs_1gadce35b7ded361556ea4e9831f594680a" kindref="member">linphone_core_remove_call_log</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__logs_1gab700f6646681d1f4614a049892bc764a" kindref="member">LinphoneCallLog</ref><sp/>*cl){</highlight></codeline>
<codeline lineno="5092"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;call_logs<sp/>=<sp/>ms_list_remove(lc-&gt;call_logs,<sp/>cl);</highlight></codeline>
<codeline lineno="5093"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call_logs_write_to_config_file(lc);</highlight></codeline>
<codeline lineno="5094"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__logs_1ga802bbd28cc29824d80a70ad33e5b8ea6" kindref="member">linphone_call_log_unref</ref>(cl);</highlight></codeline>
<codeline lineno="5095"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5096"><highlight class="normal"></highlight></codeline>
<codeline lineno="5097"><highlight class="normal"></highlight></codeline>
<codeline lineno="5098"><highlight class="normal"></highlight></codeline>
<codeline lineno="5099"><highlight class="normal"></highlight></codeline>
<codeline lineno="5100"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>toggle_video_preview(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>val){</highlight></codeline>
<codeline lineno="5101"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5102"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(val){</highlight></codeline>
<codeline lineno="5103"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;previewstream==NULL){</highlight></codeline>
<codeline lineno="5104"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*display_filter=<ref refid="group__media__parameters_1gae6d7ef6182365d258fbfb489c33018df" kindref="member">linphone_core_get_video_display_filter</ref>(lc);</highlight></codeline>
<codeline lineno="5105"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSVideoSize<sp/>vsize=lc-&gt;video_conf.preview_vsize.width!=0<sp/>?<sp/>lc-&gt;video_conf.preview_vsize<sp/>:<sp/>lc-&gt;video_conf.vsize;</highlight></codeline>
<codeline lineno="5106"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;previewstream=video_preview_new();</highlight></codeline>
<codeline lineno="5107"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>video_preview_set_size(lc-&gt;previewstream,vsize);</highlight></codeline>
<codeline lineno="5108"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(display_filter)</highlight></codeline>
<codeline lineno="5109"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>video_preview_set_display_filter_name(lc-&gt;previewstream,display_filter);</highlight></codeline>
<codeline lineno="5110"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;preview_window_id!=0)</highlight></codeline>
<codeline lineno="5111"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>video_preview_set_native_window_id(lc-&gt;previewstream,lc-&gt;preview_window_id);</highlight></codeline>
<codeline lineno="5112"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>video_preview_set_fps(lc-&gt;previewstream,<ref refid="group__media__parameters_1gaacfa8816136022b2de1358a8e642aa2b" kindref="member">linphone_core_get_preferred_framerate</ref>(lc));</highlight></codeline>
<codeline lineno="5113"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>video_preview_start(lc-&gt;previewstream,lc-&gt;video_conf.device);</highlight></codeline>
<codeline lineno="5114"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5115"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="5116"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;previewstream!=NULL){</highlight></codeline>
<codeline lineno="5117"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>video_preview_stop(lc-&gt;previewstream);</highlight></codeline>
<codeline lineno="5118"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;previewstream=NULL;</highlight></codeline>
<codeline lineno="5119"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5120"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5121"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5122"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5123"><highlight class="normal"></highlight></codeline>
<codeline lineno="5124"><highlight class="normal">bool_t<sp/>linphone_core_video_supported(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="5125"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5126"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>TRUE;</highlight></codeline>
<codeline lineno="5127"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5128"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>FALSE;</highlight></codeline>
<codeline lineno="5129"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5130"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5131"><highlight class="normal"></highlight></codeline>
<codeline lineno="5132"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga74f00cfd76e39c3a229095251a16b3ed" kindref="member">linphone_core_enable_video</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>vcap_enabled,<sp/>bool_t<sp/>display_enabled)<sp/>{</highlight></codeline>
<codeline lineno="5133"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga2f8c1cc011a51389126c2497e3fc1429" kindref="member">linphone_core_enable_video_capture</ref>(lc,<sp/>vcap_enabled);</highlight></codeline>
<codeline lineno="5134"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1gad06dacec453bbe2bf360b10d69461a8a" kindref="member">linphone_core_enable_video_display</ref>(lc,<sp/>display_enabled);</highlight></codeline>
<codeline lineno="5135"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5136"><highlight class="normal"></highlight></codeline>
<codeline lineno="5137"><highlight class="normal">bool_t<sp/><ref refid="group__media__parameters_1gac1113e7a9207bf1525f2d57f352391a7" kindref="member">linphone_core_video_enabled</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="5138"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(lc-&gt;video_conf.display<sp/>||<sp/>lc-&gt;video_conf.capture);</highlight></codeline>
<codeline lineno="5139"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5140"><highlight class="normal"></highlight></codeline>
<codeline lineno="5141"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>reapply_network_bandwidth_settings(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="5142"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga1e0c01a25f78d14c6813213adf795e54" kindref="member">linphone_core_set_download_bandwidth</ref>(lc,<sp/><ref refid="group__media__parameters_1ga111cddb72d1f515862d10c51e441904b" kindref="member">linphone_core_get_download_bandwidth</ref>(lc));</highlight></codeline>
<codeline lineno="5143"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1gabaf184578641451f95ea7b4baa2b1b77" kindref="member">linphone_core_set_upload_bandwidth</ref>(lc,<sp/><ref refid="group__media__parameters_1ga4fe4a5b0770d9517ba9184434df4006d" kindref="member">linphone_core_get_upload_bandwidth</ref>(lc));</highlight></codeline>
<codeline lineno="5144"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5145"><highlight class="normal"></highlight></codeline>
<codeline lineno="5146"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga2f8c1cc011a51389126c2497e3fc1429" kindref="member">linphone_core_enable_video_capture</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>enable)<sp/>{</highlight></codeline>
<codeline lineno="5147"><highlight class="normal"></highlight><highlight class="preprocessor">#ifndef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5148"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(enable<sp/>==<sp/>TRUE)<sp/>{</highlight></codeline>
<codeline lineno="5149"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;Cannot<sp/>enable<sp/>video<sp/>capture,<sp/>this<sp/>version<sp/>of<sp/>linphone<sp/>was<sp/>built<sp/>without<sp/>video<sp/>support.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="5150"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5151"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5152"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;video_conf.capture<sp/>=<sp/>enable;</highlight></codeline>
<codeline lineno="5153"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc))<sp/>{</highlight></codeline>
<codeline lineno="5154"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;capture&quot;</highlight><highlight class="normal">,<sp/>lc-&gt;video_conf.capture);</highlight></codeline>
<codeline lineno="5155"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5156"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Need<sp/>to<sp/>re-apply<sp/>network<sp/>bandwidth<sp/>settings.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5157"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>reapply_network_bandwidth_settings(lc);</highlight></codeline>
<codeline lineno="5158"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5159"><highlight class="normal"></highlight></codeline>
<codeline lineno="5160"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gad06dacec453bbe2bf360b10d69461a8a" kindref="member">linphone_core_enable_video_display</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>enable)<sp/>{</highlight></codeline>
<codeline lineno="5161"><highlight class="normal"></highlight><highlight class="preprocessor">#ifndef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5162"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(enable<sp/>==<sp/>TRUE)<sp/>{</highlight></codeline>
<codeline lineno="5163"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;Cannot<sp/>enable<sp/>video<sp/>display,<sp/>this<sp/>version<sp/>of<sp/>linphone<sp/>was<sp/>built<sp/>without<sp/>video<sp/>support.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="5164"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5165"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5166"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;video_conf.display<sp/>=<sp/>enable;</highlight></codeline>
<codeline lineno="5167"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc))<sp/>{</highlight></codeline>
<codeline lineno="5168"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;display&quot;</highlight><highlight class="normal">,<sp/>lc-&gt;video_conf.display);</highlight></codeline>
<codeline lineno="5169"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5170"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Need<sp/>to<sp/>re-apply<sp/>network<sp/>bandwidth<sp/>settings.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5171"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>reapply_network_bandwidth_settings(lc);</highlight></codeline>
<codeline lineno="5172"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5173"><highlight class="normal"></highlight></codeline>
<codeline lineno="5174"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gaafde2c5330bc0738756589cb007ff496" kindref="member">linphone_core_enable_video_source_reuse</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*<sp/>lc,<sp/>bool_t<sp/>enable){</highlight></codeline>
<codeline lineno="5175"><highlight class="normal"></highlight><highlight class="preprocessor">#ifndef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5176"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(enable<sp/>==<sp/>TRUE)<sp/>{</highlight></codeline>
<codeline lineno="5177"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;Cannot<sp/>enable<sp/>video<sp/>display,<sp/>this<sp/>version<sp/>of<sp/>linphone<sp/>was<sp/>built<sp/>without<sp/>video<sp/>support.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="5178"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5179"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5180"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;video_conf.reuse_preview_source<sp/>=<sp/>enable;</highlight></codeline>
<codeline lineno="5181"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(<sp/>linphone_core_ready(lc)<sp/>){</highlight></codeline>
<codeline lineno="5182"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;reuse_source&quot;</highlight><highlight class="normal">,<sp/>lc-&gt;video_conf.reuse_preview_source);</highlight></codeline>
<codeline lineno="5183"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5184"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5185"><highlight class="normal"></highlight></codeline>
<codeline lineno="5186"><highlight class="normal">bool_t<sp/><ref refid="group__media__parameters_1ga10432d66d91d15019053561c3b027b8a" kindref="member">linphone_core_video_capture_enabled</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="5187"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;video_conf.capture;</highlight></codeline>
<codeline lineno="5188"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5189"><highlight class="normal"></highlight></codeline>
<codeline lineno="5190"><highlight class="normal">bool_t<sp/><ref refid="group__media__parameters_1ga284752749dd855b99646e979d652b0fa" kindref="member">linphone_core_video_display_enabled</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="5191"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;video_conf.display;</highlight></codeline>
<codeline lineno="5192"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5193"><highlight class="normal"></highlight></codeline>
<codeline lineno="5201"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga454ecb3bde380230da042be98bdc45c9" kindref="member">linphone_core_set_video_policy</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="struct__LinphoneVideoPolicy" kindref="compound">LinphoneVideoPolicy</ref><sp/>*policy){</highlight></codeline>
<codeline lineno="5202"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;video_policy=*policy;</highlight></codeline>
<codeline lineno="5203"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc)){</highlight></codeline>
<codeline lineno="5204"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;automatically_initiate&quot;</highlight><highlight class="normal">,policy-&gt;<ref refid="struct__LinphoneVideoPolicy_1af2844cb3185be244283d0dd310a0d7c9" kindref="member">automatically_initiate</ref>);</highlight></codeline>
<codeline lineno="5205"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;automatically_accept&quot;</highlight><highlight class="normal">,policy-&gt;<ref refid="struct__LinphoneVideoPolicy_1ae94ea7330374ad7aebbddde76b13f0e4" kindref="member">automatically_accept</ref>);</highlight></codeline>
<codeline lineno="5206"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5207"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5208"><highlight class="normal"></highlight></codeline>
<codeline lineno="5214"><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="struct__LinphoneVideoPolicy" kindref="compound">LinphoneVideoPolicy</ref><sp/>*<ref refid="group__media__parameters_1gac669b450d881be538f3f9ec753d4d1a8" kindref="member">linphone_core_get_video_policy</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="5215"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>&amp;lc-&gt;video_policy;</highlight></codeline>
<codeline lineno="5216"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5217"><highlight class="normal"></highlight></codeline>
<codeline lineno="5225"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gabe5de40453011a6c612342224e583e19" kindref="member">linphone_core_enable_video_preview</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>val){</highlight></codeline>
<codeline lineno="5226"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;video_conf.show_local=val;</highlight></codeline>
<codeline lineno="5227"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc))</highlight></codeline>
<codeline lineno="5228"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;show_local&quot;</highlight><highlight class="normal">,val);</highlight></codeline>
<codeline lineno="5229"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5230"><highlight class="normal"></highlight></codeline>
<codeline lineno="5235"><highlight class="normal">bool_t<sp/><ref refid="group__media__parameters_1ga5921ee6c7c1619da0969b6e33d39be6f" kindref="member">linphone_core_video_preview_enabled</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="5236"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;video_conf.show_local;</highlight></codeline>
<codeline lineno="5237"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5238"><highlight class="normal"></highlight></codeline>
<codeline lineno="5247"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga51442e84c5636f18e3765de9e1399f69" kindref="member">linphone_core_enable_self_view</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>val){</highlight></codeline>
<codeline lineno="5248"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5249"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call=<ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref><sp/>(lc);</highlight></codeline>
<codeline lineno="5250"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;video_conf.selfview=val;</highlight></codeline>
<codeline lineno="5251"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc))<sp/>{</highlight></codeline>
<codeline lineno="5252"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;self_view&quot;</highlight><highlight class="normal">,<ref refid="group__media__parameters_1ga2e26cb816d40b5420969fadaa1ce1f9c" kindref="member">linphone_core_self_view_enabled</ref>(lc));</highlight></codeline>
<codeline lineno="5253"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5254"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call<sp/>&amp;&amp;<sp/>call-&gt;videostream){</highlight></codeline>
<codeline lineno="5255"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>video_stream_enable_self_view(call-&gt;videostream,val);</highlight></codeline>
<codeline lineno="5256"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5257"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc)){</highlight></codeline>
<codeline lineno="5258"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;self_view&quot;</highlight><highlight class="normal">,val);</highlight></codeline>
<codeline lineno="5259"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5260"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5261"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5262"><highlight class="normal"></highlight></codeline>
<codeline lineno="5270"><highlight class="normal">bool_t<sp/><ref refid="group__media__parameters_1ga2e26cb816d40b5420969fadaa1ce1f9c" kindref="member">linphone_core_self_view_enabled</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="5271"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;video_conf.selfview;</highlight></codeline>
<codeline lineno="5272"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5273"><highlight class="normal"></highlight></codeline>
<codeline lineno="5281"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga8d3a88ab89a24dc32cb6034992920665" kindref="member">linphone_core_set_video_device</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*</highlight><highlight class="keywordtype">id</highlight><highlight class="normal">){</highlight></codeline>
<codeline lineno="5282"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSWebCam<sp/>*olddev=lc-&gt;video_conf.device;</highlight></codeline>
<codeline lineno="5283"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*vd;</highlight></codeline>
<codeline lineno="5284"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">id</highlight><highlight class="normal">!=NULL){</highlight></codeline>
<codeline lineno="5285"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;video_conf.device=ms_web_cam_manager_get_cam(ms_web_cam_manager_get(),</highlight><highlight class="keywordtype">id</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="5286"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;video_conf.device==NULL){</highlight></codeline>
<codeline lineno="5287"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;Could<sp/>not<sp/>find<sp/>video<sp/>device<sp/>%s&quot;</highlight><highlight class="normal">,</highlight><highlight class="keywordtype">id</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="5288"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5289"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5290"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;video_conf.device==NULL)</highlight></codeline>
<codeline lineno="5291"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;video_conf.device=ms_web_cam_manager_get_default_cam(ms_web_cam_manager_get());</highlight></codeline>
<codeline lineno="5292"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(olddev!=NULL<sp/>&amp;&amp;<sp/>olddev!=lc-&gt;video_conf.device){</highlight></codeline>
<codeline lineno="5293"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>toggle_video_preview(lc,FALSE);</highlight><highlight class="comment">/*restart<sp/>the<sp/>video<sp/>local<sp/>preview*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5294"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5295"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<sp/>linphone_core_ready(lc)<sp/>&amp;&amp;<sp/>lc-&gt;video_conf.device){</highlight></codeline>
<codeline lineno="5296"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vd=ms_web_cam_get_string_id(lc-&gt;video_conf.device);</highlight></codeline>
<codeline lineno="5297"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(vd<sp/>&amp;&amp;<sp/>strstr(vd,</highlight><highlight class="stringliteral">&quot;Static<sp/>picture&quot;</highlight><highlight class="normal">)!=NULL){</highlight></codeline>
<codeline lineno="5298"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vd=NULL;</highlight></codeline>
<codeline lineno="5299"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5300"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;device&quot;</highlight><highlight class="normal">,vd);</highlight></codeline>
<codeline lineno="5301"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5302"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="5303"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5304"><highlight class="normal"></highlight></codeline>
<codeline lineno="5311"><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<ref refid="group__media__parameters_1ga605f7169d5e2ef55047c993dc6d35897" kindref="member">linphone_core_get_video_device</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="5312"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;video_conf.device)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>ms_web_cam_get_string_id(lc-&gt;video_conf.device);</highlight></codeline>
<codeline lineno="5313"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="5314"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5315"><highlight class="normal"></highlight></codeline>
<codeline lineno="5316"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5317"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>VideoStream<sp/>*<sp/>get_active_video_stream(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="5318"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>VideoStream<sp/>*vs<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="5319"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call=<ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref><sp/>(lc);</highlight></codeline>
<codeline lineno="5320"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Select<sp/>the<sp/>video<sp/>stream<sp/>from<sp/>the<sp/>call<sp/>in<sp/>the<sp/>first<sp/>place<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5321"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call<sp/>&amp;&amp;<sp/>call-&gt;videostream)<sp/>{</highlight></codeline>
<codeline lineno="5322"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vs<sp/>=<sp/>call-&gt;videostream;</highlight></codeline>
<codeline lineno="5323"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5324"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>If<sp/>not<sp/>in<sp/>call,<sp/>select<sp/>the<sp/>video<sp/>stream<sp/>from<sp/>the<sp/>preview<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5325"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(vs<sp/>==<sp/>NULL<sp/>&amp;&amp;<sp/>lc-&gt;previewstream)<sp/>{</highlight></codeline>
<codeline lineno="5326"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vs<sp/>=<sp/>lc-&gt;previewstream;</highlight></codeline>
<codeline lineno="5327"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5328"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>vs;</highlight></codeline>
<codeline lineno="5329"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5330"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5331"><highlight class="normal"></highlight></codeline>
<codeline lineno="5332"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga98c4c833a90a5a4b2bf868acfbf8f3ba" kindref="member">linphone_core_set_static_picture</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*path)<sp/>{</highlight></codeline>
<codeline lineno="5333"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5334"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>VideoStream<sp/>*vs=get_active_video_stream(lc);</highlight></codeline>
<codeline lineno="5335"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>If<sp/>we<sp/>have<sp/>a<sp/>video<sp/>stream<sp/>(either<sp/>preview,<sp/>either<sp/>from<sp/>call),<sp/>we</highlight></codeline>
<codeline lineno="5336"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>have<sp/>a<sp/>source<sp/>and<sp/>it<sp/>is<sp/>using<sp/>the<sp/>static<sp/>picture<sp/>filter,<sp/>then</highlight></codeline>
<codeline lineno="5337"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>force<sp/>the<sp/>filter<sp/>to<sp/>use<sp/>that<sp/>picture.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5338"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(vs<sp/>&amp;&amp;<sp/>vs-&gt;source)<sp/>{</highlight></codeline>
<codeline lineno="5339"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ms_filter_get_id(vs-&gt;source)<sp/>==<sp/>MS_STATIC_IMAGE_ID)<sp/>{</highlight></codeline>
<codeline lineno="5340"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_filter_call_method(vs-&gt;source,<sp/>MS_STATIC_IMAGE_SET_IMAGE,</highlight></codeline>
<codeline lineno="5341"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*)path);</highlight></codeline>
<codeline lineno="5342"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5343"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5344"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>Tell<sp/>the<sp/>static<sp/>image<sp/>filter<sp/>to<sp/>use<sp/>that<sp/>image<sp/>from<sp/>now<sp/>on<sp/>so</highlight></codeline>
<codeline lineno="5345"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>that<sp/>the<sp/>image<sp/>will<sp/>be<sp/>used<sp/>next<sp/>time<sp/>it<sp/>has<sp/>to<sp/>be<sp/>read<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5346"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_static_image_set_default_image(path);</highlight></codeline>
<codeline lineno="5347"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5348"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;Video<sp/>support<sp/>not<sp/>compiled.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="5349"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5350"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="5351"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5352"><highlight class="normal"></highlight></codeline>
<codeline lineno="5353"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<ref refid="group__media__parameters_1ga1d28127ff726079901821595b3bcd4b3" kindref="member">linphone_core_get_static_picture</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="5354"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*path=NULL;</highlight></codeline>
<codeline lineno="5355"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5356"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>path=ms_static_image_get_default_image();</highlight></codeline>
<codeline lineno="5357"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5358"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;Video<sp/>support<sp/>not<sp/>compiled.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="5359"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5360"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>path;</highlight></codeline>
<codeline lineno="5361"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5362"><highlight class="normal"></highlight></codeline>
<codeline lineno="5363"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga9f653006d7a5eb9306ac6b3f908449c7" kindref="member">linphone_core_set_static_picture_fps</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>fps)<sp/>{</highlight></codeline>
<codeline lineno="5364"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5365"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>VideoStream<sp/>*vs<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="5366"><highlight class="normal"></highlight></codeline>
<codeline lineno="5367"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vs=get_active_video_stream(lc);</highlight></codeline>
<codeline lineno="5368"><highlight class="normal"></highlight></codeline>
<codeline lineno="5369"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>If<sp/>we<sp/>have<sp/>a<sp/>video<sp/>stream<sp/>(either<sp/>preview,<sp/>either<sp/>from<sp/>call),<sp/>we</highlight></codeline>
<codeline lineno="5370"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>have<sp/>a<sp/>source<sp/>and<sp/>it<sp/>is<sp/>using<sp/>the<sp/>static<sp/>picture<sp/>filter,<sp/>then</highlight></codeline>
<codeline lineno="5371"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>force<sp/>the<sp/>filter<sp/>to<sp/>use<sp/>that<sp/>picture.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5372"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(vs<sp/>&amp;&amp;<sp/>vs-&gt;source)<sp/>{</highlight></codeline>
<codeline lineno="5373"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ms_filter_get_id(vs-&gt;source)<sp/>==<sp/>MS_STATIC_IMAGE_ID)<sp/>{</highlight></codeline>
<codeline lineno="5374"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_filter_call_method(vs-&gt;source,<sp/>MS_FILTER_SET_FPS,(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*)&amp;fps);</highlight></codeline>
<codeline lineno="5375"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5376"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5377"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5378"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;Video<sp/>support<sp/>not<sp/>compiled.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="5379"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5380"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="5381"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5382"><highlight class="normal"></highlight></codeline>
<codeline lineno="5383"><highlight class="normal"></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gaf23efabee7f8907dd175715d3ae307a5" kindref="member">linphone_core_get_static_picture_fps</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="5384"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5385"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>VideoStream<sp/>*vs<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="5386"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vs=get_active_video_stream(lc);</highlight></codeline>
<codeline lineno="5387"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>If<sp/>we<sp/>have<sp/>a<sp/>video<sp/>stream<sp/>(either<sp/>preview,<sp/>either<sp/>from<sp/>call),<sp/>we</highlight></codeline>
<codeline lineno="5388"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>have<sp/>a<sp/>source<sp/>and<sp/>it<sp/>is<sp/>using<sp/>the<sp/>static<sp/>picture<sp/>filter,<sp/>then</highlight></codeline>
<codeline lineno="5389"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>force<sp/>the<sp/>filter<sp/>to<sp/>use<sp/>that<sp/>picture.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5390"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(vs<sp/>&amp;&amp;<sp/>vs-&gt;source)<sp/>{</highlight></codeline>
<codeline lineno="5391"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ms_filter_get_id(vs-&gt;source)<sp/>==<sp/>MS_STATIC_IMAGE_ID)<sp/>{</highlight></codeline>
<codeline lineno="5392"><highlight class="normal"></highlight></codeline>
<codeline lineno="5393"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><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/>fps;</highlight></codeline>
<codeline lineno="5394"><highlight class="normal"></highlight></codeline>
<codeline lineno="5395"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_filter_call_method(vs-&gt;source,<sp/>MS_FILTER_GET_FPS,(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*)&amp;fps);</highlight></codeline>
<codeline lineno="5396"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>fps;</highlight></codeline>
<codeline lineno="5397"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5398"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5399"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5400"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;Video<sp/>support<sp/>not<sp/>compiled.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="5401"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5402"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="5403"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5404"><highlight class="normal"></highlight></codeline>
<codeline lineno="5410"><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga91aed51e248d68371198ee4071828702" kindref="member">linphone_core_get_native_video_window_id</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="5411"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;video_window_id)<sp/>{</highlight></codeline>
<codeline lineno="5412"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>case<sp/>where<sp/>the<sp/>video<sp/>id<sp/>was<sp/>previously<sp/>set<sp/>by<sp/>the<sp/>app*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5413"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;video_window_id;</highlight></codeline>
<codeline lineno="5414"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="5415"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5416"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*case<sp/>where<sp/>it<sp/>was<sp/>not<sp/>set<sp/>but<sp/>we<sp/>want<sp/>to<sp/>get<sp/>the<sp/>one<sp/>automatically<sp/>created<sp/>by<sp/>mediastreamer2<sp/>(desktop<sp/>versions<sp/>only)*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5417"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call=<ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref><sp/>(lc);</highlight></codeline>
<codeline lineno="5418"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call<sp/>&amp;&amp;<sp/>call-&gt;videostream)</highlight></codeline>
<codeline lineno="5419"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>video_stream_get_native_window_id(call-&gt;videostream);</highlight></codeline>
<codeline lineno="5420"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5421"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5422"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="5423"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5424"><highlight class="normal"></highlight></codeline>
<codeline lineno="5425"><highlight class="normal"></highlight><highlight class="comment">/*<sp/>unsets<sp/>the<sp/>video<sp/>id<sp/>for<sp/>all<sp/>calls<sp/>(indeed<sp/>it<sp/>may<sp/>be<sp/>kept<sp/>by<sp/>filters<sp/>or<sp/>videostream<sp/>object<sp/>itself<sp/>by<sp/>paused<sp/>calls)*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5426"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>unset_video_window_id(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>preview,<sp/></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">id</highlight><highlight class="normal">){</highlight></codeline>
<codeline lineno="5427"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5428"><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="5429"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList<sp/>*elem;</highlight></codeline>
<codeline lineno="5430"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5431"><highlight class="normal"></highlight></codeline>
<codeline lineno="5432"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">id</highlight><highlight class="normal">!=0<sp/>&amp;&amp;<sp/></highlight><highlight class="keywordtype">id</highlight><highlight class="normal">!=-1)<sp/>{</highlight></codeline>
<codeline lineno="5433"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_error(</highlight><highlight class="stringliteral">&quot;Invalid<sp/>use<sp/>of<sp/>unset_video_window_id()&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="5434"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="5435"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5436"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5437"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(elem=lc-&gt;calls;elem!=NULL;elem=elem-&gt;next){</highlight></codeline>
<codeline lineno="5438"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call=(<ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*)<sp/>elem-&gt;data;</highlight></codeline>
<codeline lineno="5439"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>if<sp/>(call-&gt;videostream){</highlight></codeline>
<codeline lineno="5440"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(preview)</highlight></codeline>
<codeline lineno="5441"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>video_stream_set_native_preview_window_id(call-&gt;videostream,</highlight><highlight class="keywordtype">id</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="5442"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5443"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>video_stream_set_native_window_id(call-&gt;videostream,</highlight><highlight class="keywordtype">id</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="5444"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5445"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5446"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5447"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5448"><highlight class="normal"></highlight></codeline>
<codeline lineno="5454"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga90d0abb20b5c4a93836c861e540f975c" kindref="member">linphone_core_set_native_video_window_id</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">id</highlight><highlight class="normal">){</highlight></codeline>
<codeline lineno="5455"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">id</highlight><highlight class="normal">==0<sp/>||<sp/></highlight><highlight class="keywordtype">id</highlight><highlight class="normal">==(</highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal">)-1){</highlight></codeline>
<codeline lineno="5456"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>unset_video_window_id(lc,FALSE,</highlight><highlight class="keywordtype">id</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="5457"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5458"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;video_window_id=id;</highlight></codeline>
<codeline lineno="5459"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5460"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="5461"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call=<ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref>(lc);</highlight></codeline>
<codeline lineno="5462"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call!=NULL<sp/>&amp;&amp;<sp/>call-&gt;videostream){</highlight></codeline>
<codeline lineno="5463"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>video_stream_set_native_window_id(call-&gt;videostream,</highlight><highlight class="keywordtype">id</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="5464"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5465"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5466"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5467"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5468"><highlight class="normal"></highlight></codeline>
<codeline lineno="5474"><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga223b4120018db602b1a1e17ac6faf4dd" kindref="member">linphone_core_get_native_preview_window_id</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="5475"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;preview_window_id){</highlight></codeline>
<codeline lineno="5476"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*case<sp/>where<sp/>the<sp/>id<sp/>was<sp/>set<sp/>by<sp/>the<sp/>app<sp/>previously*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5477"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;preview_window_id;</highlight></codeline>
<codeline lineno="5478"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="5479"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*case<sp/>where<sp/>we<sp/>want<sp/>the<sp/>id<sp/>automatically<sp/>created<sp/>by<sp/>mediastreamer2<sp/>(desktop<sp/>versions<sp/>only)*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5480"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5481"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call=<ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref>(lc);</highlight></codeline>
<codeline lineno="5482"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call<sp/>&amp;&amp;<sp/>call-&gt;videostream)</highlight></codeline>
<codeline lineno="5483"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>video_stream_get_native_preview_window_id(call-&gt;videostream);</highlight></codeline>
<codeline lineno="5484"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;previewstream)</highlight></codeline>
<codeline lineno="5485"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>video_preview_get_native_window_id(lc-&gt;previewstream);</highlight></codeline>
<codeline lineno="5486"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5487"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5488"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="5489"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5490"><highlight class="normal"></highlight></codeline>
<codeline lineno="5497"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga61c95bf5b044388e0b1084a9424b6d59" kindref="member">linphone_core_set_native_preview_window_id</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">id</highlight><highlight class="normal">){</highlight></codeline>
<codeline lineno="5498"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">id</highlight><highlight class="normal">==0<sp/>||<sp/></highlight><highlight class="keywordtype">id</highlight><highlight class="normal">==(</highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal">)-1){</highlight></codeline>
<codeline lineno="5499"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>unset_video_window_id(lc,TRUE,</highlight><highlight class="keywordtype">id</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="5500"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5501"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;preview_window_id=id;</highlight></codeline>
<codeline lineno="5502"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5503"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="5504"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call=<ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref>(lc);</highlight></codeline>
<codeline lineno="5505"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call!=NULL<sp/>&amp;&amp;<sp/>call-&gt;videostream){</highlight></codeline>
<codeline lineno="5506"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>video_stream_set_native_preview_window_id(call-&gt;videostream,</highlight><highlight class="keywordtype">id</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="5507"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;previewstream){</highlight></codeline>
<codeline lineno="5508"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>video_preview_set_native_window_id(lc-&gt;previewstream,</highlight><highlight class="keywordtype">id</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="5509"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5510"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5511"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5512"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5513"><highlight class="normal"></highlight></codeline>
<codeline lineno="5517"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_show_video(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>show){</highlight></codeline>
<codeline lineno="5518"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5519"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call=<ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref>(lc);</highlight></codeline>
<codeline lineno="5520"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_error(</highlight><highlight class="stringliteral">&quot;linphone_core_show_video<sp/>%d&quot;</highlight><highlight class="normal">,<sp/>show);</highlight></codeline>
<codeline lineno="5521"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call!=NULL<sp/>&amp;&amp;<sp/>call-&gt;videostream){</highlight></codeline>
<codeline lineno="5522"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>video_stream_show_video(call-&gt;videostream,show);</highlight></codeline>
<codeline lineno="5523"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5524"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5525"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5526"><highlight class="normal"></highlight></codeline>
<codeline lineno="5527"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gabf7a16fc2964209e47b14b17cb3361e3" kindref="member">linphone_core_use_preview_window</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>yesno){</highlight></codeline>
<codeline lineno="5528"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;use_preview_window=yesno;</highlight></codeline>
<codeline lineno="5529"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5534"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gae39b1bea4370f32c28fa446f97540d4f" kindref="member">linphone_core_get_device_rotation</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc<sp/>)<sp/>{</highlight></codeline>
<codeline lineno="5535"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;device_rotation;</highlight></codeline>
<codeline lineno="5536"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5547"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga309fdb0f39432b125ff1f36347cea362" kindref="member">linphone_core_set_device_rotation</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>rotation)<sp/>{</highlight></codeline>
<codeline lineno="5548"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(rotation!=lc-&gt;device_rotation)<sp/>ms_message(</highlight><highlight class="stringliteral">&quot;%s<sp/>:<sp/>rotation=%d\n&quot;</highlight><highlight class="normal">,<sp/>__FUNCTION__,<sp/>rotation);</highlight></codeline>
<codeline lineno="5549"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;device_rotation<sp/>=<sp/>rotation;</highlight></codeline>
<codeline lineno="5550"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5551"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="5552"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call=<ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref>(lc);</highlight></codeline>
<codeline lineno="5553"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call!=NULL<sp/>&amp;&amp;<sp/>call-&gt;videostream){</highlight></codeline>
<codeline lineno="5554"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>video_stream_set_device_rotation(call-&gt;videostream,rotation);</highlight></codeline>
<codeline lineno="5555"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5556"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5557"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5558"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5559"><highlight class="normal"></highlight></codeline>
<codeline lineno="5560"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>linphone_core_get_camera_sensor_rotation(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="5561"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5562"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call<sp/>=<sp/><ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref>(lc);</highlight></codeline>
<codeline lineno="5563"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((call<sp/>!=<sp/>NULL)<sp/>&amp;&amp;<sp/>(call-&gt;videostream<sp/>!=<sp/>NULL))<sp/>{</highlight></codeline>
<codeline lineno="5564"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>video_stream_get_camera_sensor_rotation(call-&gt;videostream);</highlight></codeline>
<codeline lineno="5565"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5566"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5567"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="5568"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5569"><highlight class="normal"></highlight></codeline>
<codeline lineno="5570"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>MSVideoSizeDef<sp/>supported_resolutions[]={</highlight></codeline>
<codeline lineno="5571"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>!ANDROID<sp/>&amp;&amp;<sp/>!TARGET_OS_IPHONE</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5572"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/>MS_VIDEO_SIZE_1080P_W,<sp/>MS_VIDEO_SIZE_1080P_H<sp/>}<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>,<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;1080p&quot;</highlight><highlight class="normal"><sp/>},</highlight></codeline>
<codeline lineno="5573"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5574"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>!ANDROID<sp/>&amp;&amp;<sp/>!TARGET_OS_MAC<sp/></highlight><highlight class="comment">/*limit<sp/>to<sp/>most<sp/>common<sp/>sizes<sp/>because<sp/>mac<sp/>video<sp/>API<sp/>cannot<sp/>list<sp/>supported<sp/>resolutions*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5575"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/>MS_VIDEO_SIZE_UXGA_W,<sp/>MS_VIDEO_SIZE_UXGA_H<sp/>}<sp/><sp/>,<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;uxga&quot;</highlight><highlight class="normal"><sp/><sp/>},</highlight></codeline>
<codeline lineno="5576"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/>MS_VIDEO_SIZE_SXGA_MINUS_W,<sp/>MS_VIDEO_SIZE_SXGA_MINUS_H<sp/>}<sp/><sp/><sp/><sp/><sp/><sp/>,<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;sxga-&quot;</highlight><highlight class="normal"><sp/>},</highlight></codeline>
<codeline lineno="5577"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5578"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/>MS_VIDEO_SIZE_720P_W,<sp/>MS_VIDEO_SIZE_720P_H<sp/>}<sp/><sp/>,<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;720p&quot;</highlight><highlight class="normal"><sp/><sp/>},</highlight></codeline>
<codeline lineno="5579"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>!ANDROID<sp/>&amp;&amp;<sp/>!TARGET_OS_MAC</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5580"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/>MS_VIDEO_SIZE_XGA_W,<sp/>MS_VIDEO_SIZE_XGA_H<sp/>}<sp/><sp/><sp/><sp/>,<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;xga&quot;</highlight><highlight class="normal"><sp/><sp/><sp/>},</highlight></codeline>
<codeline lineno="5581"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5582"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>!ANDROID<sp/>&amp;&amp;<sp/>!TARGET_OS_IPHONE</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5583"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/>MS_VIDEO_SIZE_SVGA_W,<sp/>MS_VIDEO_SIZE_SVGA_H<sp/>}<sp/><sp/>,<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;svga&quot;</highlight><highlight class="normal"><sp/><sp/>},</highlight></codeline>
<codeline lineno="5584"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/>MS_VIDEO_SIZE_4CIF_W,<sp/>MS_VIDEO_SIZE_4CIF_H<sp/>}<sp/><sp/>,<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;4cif&quot;</highlight><highlight class="normal"><sp/><sp/>},</highlight></codeline>
<codeline lineno="5585"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5586"><highlight class="normal"></highlight></codeline>
<codeline lineno="5587"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/>MS_VIDEO_SIZE_VGA_W,<sp/>MS_VIDEO_SIZE_VGA_H<sp/>}<sp/><sp/><sp/><sp/>,<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;vga&quot;</highlight><highlight class="normal"><sp/><sp/><sp/>},</highlight></codeline>
<codeline lineno="5588"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>TARGET_OS_IPHONE</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5589"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/>MS_VIDEO_SIZE_IOS_MEDIUM_H,<sp/>MS_VIDEO_SIZE_IOS_MEDIUM_W<sp/>}<sp/><sp/><sp/><sp/><sp/><sp/>,<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;ios-medium&quot;</highlight><highlight class="normal"><sp/><sp/><sp/><sp/>},</highlight></codeline>
<codeline lineno="5590"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5591"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/>MS_VIDEO_SIZE_CIF_W,<sp/>MS_VIDEO_SIZE_CIF_H<sp/>}<sp/><sp/><sp/><sp/>,<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;cif&quot;</highlight><highlight class="normal"><sp/><sp/><sp/>},</highlight></codeline>
<codeline lineno="5592"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>!TARGET_OS_MAC<sp/>||<sp/>TARGET_OS_IPHONE<sp/></highlight><highlight class="comment">/*<sp/>OS_MAC<sp/>is<sp/>1<sp/>for<sp/>iPhone,<sp/>but<sp/>we<sp/>need<sp/>QVGA<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5593"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/>MS_VIDEO_SIZE_QVGA_W,<sp/>MS_VIDEO_SIZE_QVGA_H<sp/>}<sp/><sp/>,<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;qvga&quot;</highlight><highlight class="normal"><sp/><sp/>},</highlight></codeline>
<codeline lineno="5594"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5595"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/>MS_VIDEO_SIZE_QCIF_W,<sp/>MS_VIDEO_SIZE_QCIF_H<sp/>}<sp/><sp/>,<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="stringliteral">&quot;qcif&quot;</highlight><highlight class="normal"><sp/><sp/>},</highlight></codeline>
<codeline lineno="5596"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/><sp/><sp/><sp/><sp/><sp/><sp/>{<sp/>0,0<sp/>}<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>,<sp/><sp/><sp/><sp/><sp/><sp/><sp/>NULL<sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5597"><highlight class="normal">};</highlight></codeline>
<codeline lineno="5598"><highlight class="normal"></highlight></codeline>
<codeline lineno="5604"><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSVideoSizeDef<sp/>*<ref refid="group__media__parameters_1gaf2d375366aba6be7f6e201fe544d4657" kindref="member">linphone_core_get_supported_video_sizes</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="5605"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>supported_resolutions;</highlight></codeline>
<codeline lineno="5606"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5607"><highlight class="normal"></highlight></codeline>
<codeline lineno="5608"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>MSVideoSize<sp/>video_size_get_by_name(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*name){</highlight></codeline>
<codeline lineno="5609"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSVideoSizeDef<sp/>*pdef=supported_resolutions;</highlight></codeline>
<codeline lineno="5610"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSVideoSize<sp/>null_vsize={0,0};</highlight></codeline>
<codeline lineno="5611"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSVideoSize<sp/>parsed;</highlight></codeline>
<codeline lineno="5612"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!name)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>null_vsize;</highlight></codeline>
<codeline lineno="5613"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(;pdef-&gt;name!=NULL;pdef++){</highlight></codeline>
<codeline lineno="5614"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(strcasecmp(name,pdef-&gt;name)==0){</highlight></codeline>
<codeline lineno="5615"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>pdef-&gt;vsize;</highlight></codeline>
<codeline lineno="5616"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5617"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5618"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sscanf(name,</highlight><highlight class="stringliteral">&quot;%ix%i&quot;</highlight><highlight class="normal">,&amp;parsed.width,&amp;parsed.height)==2){</highlight></codeline>
<codeline lineno="5619"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>parsed;</highlight></codeline>
<codeline lineno="5620"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5621"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;Video<sp/>resolution<sp/>%s<sp/>is<sp/>not<sp/>supported<sp/>in<sp/>linphone.&quot;</highlight><highlight class="normal">,name);</highlight></codeline>
<codeline lineno="5622"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>null_vsize;</highlight></codeline>
<codeline lineno="5623"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5624"><highlight class="normal"></highlight></codeline>
<codeline lineno="5625"><highlight class="normal"></highlight><highlight class="comment">/*<sp/>warning:<sp/>function<sp/>not<sp/>reentrant*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5626"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*video_size_get_name(MSVideoSize<sp/>vsize){</highlight></codeline>
<codeline lineno="5627"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSVideoSizeDef<sp/>*pdef=supported_resolutions;</highlight></codeline>
<codeline lineno="5628"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>customsize[64]={0};</highlight></codeline>
<codeline lineno="5629"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(;pdef-&gt;name!=NULL;pdef++){</highlight></codeline>
<codeline lineno="5630"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(pdef-&gt;vsize.width==vsize.width<sp/>&amp;&amp;<sp/>pdef-&gt;vsize.height==vsize.height){</highlight></codeline>
<codeline lineno="5631"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>pdef-&gt;name;</highlight></codeline>
<codeline lineno="5632"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5633"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5634"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(vsize.width<sp/>&amp;&amp;<sp/>vsize.height){</highlight></codeline>
<codeline lineno="5635"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>snprintf(customsize,</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(customsize)-1,</highlight><highlight class="stringliteral">&quot;%ix%i&quot;</highlight><highlight class="normal">,vsize.width,vsize.height);</highlight></codeline>
<codeline lineno="5636"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>customsize;</highlight></codeline>
<codeline lineno="5637"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5638"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="5639"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5640"><highlight class="normal"></highlight></codeline>
<codeline lineno="5641"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>bool_t<sp/>video_size_supported(MSVideoSize<sp/>vsize){</highlight></codeline>
<codeline lineno="5642"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(video_size_get_name(vsize))<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>TRUE;</highlight></codeline>
<codeline lineno="5643"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;Video<sp/>resolution<sp/>%ix%i<sp/>is<sp/>not<sp/>supported<sp/>in<sp/>linphone.&quot;</highlight><highlight class="normal">,vsize.width,vsize.height);</highlight></codeline>
<codeline lineno="5644"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>FALSE;</highlight></codeline>
<codeline lineno="5645"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5646"><highlight class="normal"></highlight></codeline>
<codeline lineno="5647"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>update_preview_size(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>MSVideoSize<sp/>oldvsize,<sp/>MSVideoSize<sp/>vsize){</highlight></codeline>
<codeline lineno="5648"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!ms_video_size_equal(oldvsize,vsize)<sp/>&amp;&amp;<sp/>lc-&gt;previewstream!=NULL){</highlight></codeline>
<codeline lineno="5649"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>toggle_video_preview(lc,FALSE);</highlight></codeline>
<codeline lineno="5650"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>toggle_video_preview(lc,TRUE);</highlight></codeline>
<codeline lineno="5651"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5652"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5653"><highlight class="normal"></highlight></codeline>
<codeline lineno="5661"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga5580a04c427649fa2667e394cd383bbe" kindref="member">linphone_core_set_preferred_video_size</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>MSVideoSize<sp/>vsize){</highlight></codeline>
<codeline lineno="5662"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(video_size_supported(vsize)){</highlight></codeline>
<codeline lineno="5663"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSVideoSize<sp/>oldvsize=lc-&gt;video_conf.preview_vsize;</highlight></codeline>
<codeline lineno="5664"><highlight class="normal"></highlight></codeline>
<codeline lineno="5665"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(oldvsize.width==0){</highlight></codeline>
<codeline lineno="5666"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>oldvsize=lc-&gt;video_conf.vsize;</highlight></codeline>
<codeline lineno="5667"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5668"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;video_conf.vsize=vsize;</highlight></codeline>
<codeline lineno="5669"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>update_preview_size(lc,oldvsize,vsize);</highlight></codeline>
<codeline lineno="5670"><highlight class="normal"></highlight></codeline>
<codeline lineno="5671"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc))</highlight></codeline>
<codeline lineno="5672"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;size&quot;</highlight><highlight class="normal">,video_size_get_name(vsize));</highlight></codeline>
<codeline lineno="5673"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5674"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5675"><highlight class="normal"></highlight></codeline>
<codeline lineno="5685"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga9f4904c146485ade44e8c99067561dfe" kindref="member">linphone_core_set_preview_video_size</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>MSVideoSize<sp/>vsize){</highlight></codeline>
<codeline lineno="5686"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSVideoSize<sp/>oldvsize;</highlight></codeline>
<codeline lineno="5687"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(vsize.width==0<sp/>&amp;&amp;<sp/>vsize.height==0){</highlight></codeline>
<codeline lineno="5688"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*special<sp/>case<sp/>to<sp/>reset<sp/>the<sp/>forced<sp/>preview<sp/>size<sp/>mode*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5689"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;video_conf.preview_vsize=vsize;</highlight></codeline>
<codeline lineno="5690"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc))</highlight></codeline>
<codeline lineno="5691"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;preview_size&quot;</highlight><highlight class="normal">,NULL);</highlight></codeline>
<codeline lineno="5692"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="5693"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5694"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>oldvsize=lc-&gt;video_conf.preview_vsize;</highlight></codeline>
<codeline lineno="5695"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;video_conf.preview_vsize=vsize;</highlight></codeline>
<codeline lineno="5696"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!ms_video_size_equal(oldvsize,vsize)<sp/>&amp;&amp;<sp/>lc-&gt;previewstream!=NULL){</highlight></codeline>
<codeline lineno="5697"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>toggle_video_preview(lc,FALSE);</highlight></codeline>
<codeline lineno="5698"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>toggle_video_preview(lc,TRUE);</highlight></codeline>
<codeline lineno="5699"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5700"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc))</highlight></codeline>
<codeline lineno="5701"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;preview_size&quot;</highlight><highlight class="normal">,video_size_get_name(vsize));</highlight></codeline>
<codeline lineno="5702"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5703"><highlight class="normal"></highlight></codeline>
<codeline lineno="5711"><highlight class="normal">MSVideoSize<sp/><ref refid="group__media__parameters_1ga09148c0abf717d6c0160d5a384078524" kindref="member">linphone_core_get_preview_video_size</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="5712"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;video_conf.preview_vsize;</highlight></codeline>
<codeline lineno="5713"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5714"><highlight class="normal"></highlight></codeline>
<codeline lineno="5723"><highlight class="normal">MSVideoSize<sp/><ref refid="group__media__parameters_1gab3f011f893c443aef477929b54d41f6f" kindref="member">linphone_core_get_current_preview_video_size</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="5724"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSVideoSize<sp/>ret={0};</highlight></codeline>
<codeline lineno="5725"><highlight class="normal"></highlight><highlight class="preprocessor">#ifndef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5726"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_error(</highlight><highlight class="stringliteral">&quot;linphone_core_get_current_preview_video_size()<sp/>fail.<sp/>Support<sp/>for<sp/>video<sp/>is<sp/>disabled&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="5727"><highlight class="normal"></highlight><highlight class="preprocessor">#else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5728"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;previewstream){</highlight></codeline>
<codeline lineno="5729"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ret=video_preview_get_current_size(lc-&gt;previewstream);</highlight></codeline>
<codeline lineno="5730"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5731"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5732"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>ret;</highlight></codeline>
<codeline lineno="5733"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5734"><highlight class="normal"></highlight></codeline>
<codeline lineno="5741"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga37096d61a08c3804f95a16b5dba3aa08" kindref="member">linphone_core_set_preview_video_size_by_name</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*name){</highlight></codeline>
<codeline lineno="5742"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSVideoSize<sp/>vsize=video_size_get_by_name(name);</highlight></codeline>
<codeline lineno="5743"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga9f4904c146485ade44e8c99067561dfe" kindref="member">linphone_core_set_preview_video_size</ref>(lc,vsize);</highlight></codeline>
<codeline lineno="5744"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5745"><highlight class="normal"></highlight></codeline>
<codeline lineno="5754"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga35e73bf4c1fb1c1c7f7933579b5d4aa2" kindref="member">linphone_core_set_preferred_video_size_by_name</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*name){</highlight></codeline>
<codeline lineno="5755"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSVideoSize<sp/>vsize=video_size_get_by_name(name);</highlight></codeline>
<codeline lineno="5756"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSVideoSize<sp/>default_vsize={MS_VIDEO_SIZE_CIF_W,MS_VIDEO_SIZE_CIF_H};</highlight></codeline>
<codeline lineno="5757"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(vsize.width!=0)<sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga5580a04c427649fa2667e394cd383bbe" kindref="member">linphone_core_set_preferred_video_size</ref>(lc,vsize);</highlight></codeline>
<codeline lineno="5758"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga5580a04c427649fa2667e394cd383bbe" kindref="member">linphone_core_set_preferred_video_size</ref>(lc,default_vsize);</highlight></codeline>
<codeline lineno="5759"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5760"><highlight class="normal"></highlight></codeline>
<codeline lineno="5766"><highlight class="normal">MSVideoSize<sp/><ref refid="group__media__parameters_1gaf951d377684d8f8b3a96aa6704e71e5a" kindref="member">linphone_core_get_preferred_video_size</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="5767"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;video_conf.vsize;</highlight></codeline>
<codeline lineno="5768"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5769"><highlight class="normal"></highlight></codeline>
<codeline lineno="5770"><highlight class="normal"></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/>linphone_core_get_preferred_video_size_name(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="5771"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>ms_strdup(video_size_get_name(lc-&gt;video_conf.vsize));</highlight></codeline>
<codeline lineno="5772"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5773"><highlight class="normal"></highlight></codeline>
<codeline lineno="5783"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gaa30f84a04be31f3fa969575ac363d62b" kindref="member">linphone_core_set_preferred_framerate</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>fps){</highlight></codeline>
<codeline lineno="5784"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;video_conf.fps=fps;</highlight></codeline>
<codeline lineno="5785"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc))</highlight></codeline>
<codeline lineno="5786"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gaeaa0ff38f2af3cefdf4c401b86ec9197" kindref="member">lp_config_set_float</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;framerate&quot;</highlight><highlight class="normal">,fps);</highlight></codeline>
<codeline lineno="5787"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5794"><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gaacfa8816136022b2de1358a8e642aa2b" kindref="member">linphone_core_get_preferred_framerate</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="5795"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;video_conf.fps;</highlight></codeline>
<codeline lineno="5796"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5797"><highlight class="normal"></highlight></codeline>
<codeline lineno="5798"><highlight class="normal"></highlight></codeline>
<codeline lineno="5805"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga9364a5eb34365663969e69663b7cba6a" kindref="member">linphone_core_set_use_files</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>yesno){</highlight></codeline>
<codeline lineno="5806"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;use_files=yesno;</highlight></codeline>
<codeline lineno="5807"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5808"><highlight class="normal"></highlight></codeline>
<codeline lineno="5809"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/><ref refid="group__media__parameters_1ga1e23f0de652112da75f164170560bcf6" kindref="member">linphone_core_get_play_file</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="5810"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;play_file;</highlight></codeline>
<codeline lineno="5811"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5812"><highlight class="normal"></highlight></codeline>
<codeline lineno="5822"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga14a0bf3c9d8ad451574c41ae71eb03cc" kindref="member">linphone_core_set_play_file</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*file){</highlight></codeline>
<codeline lineno="5823"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call=<ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref>(lc);</highlight></codeline>
<codeline lineno="5824"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;play_file!=NULL){</highlight></codeline>
<codeline lineno="5825"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;play_file);</highlight></codeline>
<codeline lineno="5826"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;play_file=NULL;</highlight></codeline>
<codeline lineno="5827"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5828"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(file!=NULL)<sp/>{</highlight></codeline>
<codeline lineno="5829"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;play_file=ms_strdup(file);</highlight></codeline>
<codeline lineno="5830"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call<sp/>&amp;&amp;<sp/>call-&gt;audiostream<sp/>&amp;&amp;<sp/>call-&gt;audiostream-&gt;ms.state==MSStreamStarted)</highlight></codeline>
<codeline lineno="5831"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>audio_stream_play(call-&gt;audiostream,file);</highlight></codeline>
<codeline lineno="5832"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5833"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5834"><highlight class="normal"></highlight></codeline>
<codeline lineno="5835"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/><ref refid="group__media__parameters_1ga242395ed859e1244346d04d53f00489c" kindref="member">linphone_core_get_record_file</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="5836"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;rec_file;</highlight></codeline>
<codeline lineno="5837"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5838"><highlight class="normal"></highlight></codeline>
<codeline lineno="5849"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga71cc3732682f5d425352b59960c582b1" kindref="member">linphone_core_set_record_file</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*file){</highlight></codeline>
<codeline lineno="5850"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call=<ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref>(lc);</highlight></codeline>
<codeline lineno="5851"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;rec_file!=NULL){</highlight></codeline>
<codeline lineno="5852"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;rec_file);</highlight></codeline>
<codeline lineno="5853"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;rec_file=NULL;</highlight></codeline>
<codeline lineno="5854"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5855"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(file!=NULL)<sp/>{</highlight></codeline>
<codeline lineno="5856"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;rec_file=ms_strdup(file);</highlight></codeline>
<codeline lineno="5857"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call<sp/>&amp;&amp;<sp/>call-&gt;audiostream)</highlight></codeline>
<codeline lineno="5858"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>audio_stream_record(call-&gt;audiostream,file);</highlight></codeline>
<codeline lineno="5859"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5860"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5861"><highlight class="normal"></highlight></codeline>
<codeline lineno="5862"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">enum</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="5863"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>LinphoneToneGenerator,</highlight></codeline>
<codeline lineno="5864"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>LinphoneLocalPlayer</highlight></codeline>
<codeline lineno="5865"><highlight class="normal">}LinphoneAudioResourceType;</highlight></codeline>
<codeline lineno="5866"><highlight class="normal"></highlight></codeline>
<codeline lineno="5867"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>MSFilter<sp/>*get_audio_resource(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>LinphoneAudioResourceType<sp/>rtype){</highlight></codeline>
<codeline lineno="5868"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call=<ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref>(lc);</highlight></codeline>
<codeline lineno="5869"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>AudioStream<sp/>*stream=NULL;</highlight></codeline>
<codeline lineno="5870"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>RingStream<sp/>*ringstream;</highlight></codeline>
<codeline lineno="5871"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call){</highlight></codeline>
<codeline lineno="5872"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>stream=call-&gt;audiostream;</highlight></codeline>
<codeline lineno="5873"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="group__conferencing_1gadaabd5fedbf4e3f568a697b54657f48d" kindref="member">linphone_core_is_in_conference</ref>(lc)){</highlight></codeline>
<codeline lineno="5874"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>stream=lc-&gt;conf_ctx.local_participant;</highlight></codeline>
<codeline lineno="5875"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5876"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(stream){</highlight></codeline>
<codeline lineno="5877"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(rtype==LinphoneToneGenerator)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>stream-&gt;dtmfgen;</highlight></codeline>
<codeline lineno="5878"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(rtype==LinphoneLocalPlayer)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>stream-&gt;local_player;</highlight></codeline>
<codeline lineno="5879"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="5880"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5881"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;ringstream==NULL){</highlight></codeline>
<codeline lineno="5882"><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/>amp=<ref refid="group__misc_1gad548422b00d41c9726062869d04cd6e4" kindref="member">lp_config_get_float</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;dtmf_player_amp&quot;</highlight><highlight class="normal">,0.1);</highlight></codeline>
<codeline lineno="5883"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSSndCard<sp/>*ringcard=lc-&gt;sound_conf.lsd_card<sp/>?lc-&gt;sound_conf.lsd_card<sp/>:<sp/>lc-&gt;sound_conf.ring_sndcard;</highlight></codeline>
<codeline lineno="5884"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ringcard<sp/>==<sp/>NULL)</highlight></codeline>
<codeline lineno="5885"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="5886"><highlight class="normal"></highlight></codeline>
<codeline lineno="5887"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ringstream=lc-&gt;ringstream=ring_start(NULL,0,ringcard);</highlight></codeline>
<codeline lineno="5888"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_filter_call_method(lc-&gt;ringstream-&gt;gendtmf,MS_DTMF_GEN_SET_DEFAULT_AMPLITUDE,&amp;amp);</highlight></codeline>
<codeline lineno="5889"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;dmfs_playing_start_time=time(NULL);</highlight></codeline>
<codeline lineno="5890"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="5891"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ringstream=lc-&gt;ringstream;</highlight></codeline>
<codeline lineno="5892"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;dmfs_playing_start_time!=0)</highlight></codeline>
<codeline lineno="5893"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;dmfs_playing_start_time=time(NULL);</highlight></codeline>
<codeline lineno="5894"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5895"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(rtype==LinphoneToneGenerator)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>ringstream-&gt;gendtmf;</highlight></codeline>
<codeline lineno="5896"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(rtype==LinphoneLocalPlayer)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>ringstream-&gt;source;</highlight></codeline>
<codeline lineno="5897"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="5898"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5899"><highlight class="normal"></highlight></codeline>
<codeline lineno="5900"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>MSFilter<sp/>*get_dtmf_gen(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="5901"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>get_audio_resource(lc,LinphoneToneGenerator);</highlight></codeline>
<codeline lineno="5902"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5903"><highlight class="normal"></highlight></codeline>
<codeline lineno="5911"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga11b05c55741a236cb8d07b8a197ebcca" kindref="member">linphone_core_play_dtmf</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>dtmf,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>duration_ms){</highlight></codeline>
<codeline lineno="5912"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSFilter<sp/>*f=get_dtmf_gen(lc);</highlight></codeline>
<codeline lineno="5913"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(f==NULL){</highlight></codeline>
<codeline lineno="5914"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_error(</highlight><highlight class="stringliteral">&quot;No<sp/>dtmf<sp/>generator<sp/>at<sp/>this<sp/>time<sp/>!&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="5915"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="5916"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5917"><highlight class="normal"></highlight></codeline>
<codeline lineno="5918"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(duration_ms<sp/>&gt;<sp/>0)</highlight></codeline>
<codeline lineno="5919"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_filter_call_method(f,<sp/>MS_DTMF_GEN_PLAY,<sp/>&amp;dtmf);</highlight></codeline>
<codeline lineno="5920"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>ms_filter_call_method(f,<sp/>MS_DTMF_GEN_START,<sp/>&amp;dtmf);</highlight></codeline>
<codeline lineno="5921"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5922"><highlight class="normal"></highlight></codeline>
<codeline lineno="5931"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga7e53ab3252294690ae91cd3b0bd53583" kindref="member">linphone_core_play_local</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*audiofile){</highlight></codeline>
<codeline lineno="5932"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSFilter<sp/>*f=get_audio_resource(lc,LinphoneLocalPlayer);</highlight></codeline>
<codeline lineno="5933"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>loopms=-1;</highlight></codeline>
<codeline lineno="5934"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!f)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="5935"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_filter_call_method(f,MS_PLAYER_SET_LOOP,&amp;loopms);</highlight></codeline>
<codeline lineno="5936"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ms_filter_call_method(f,MS_PLAYER_OPEN,(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*)audiofile)!=0){</highlight></codeline>
<codeline lineno="5937"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="5938"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5939"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_filter_call_method_noarg(f,MS_PLAYER_START);</highlight></codeline>
<codeline lineno="5940"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="5941"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5942"><highlight class="normal"></highlight></codeline>
<codeline lineno="5943"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_play_named_tone(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>LinphoneToneID<sp/>toneid){</highlight></codeline>
<codeline lineno="5944"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_tone_indications_enabled(lc)){</highlight></codeline>
<codeline lineno="5945"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*audiofile=linphone_core_get_tone_file(lc,toneid);</highlight></codeline>
<codeline lineno="5946"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!audiofile){</highlight></codeline>
<codeline lineno="5947"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSFilter<sp/>*f=get_dtmf_gen(lc);</highlight></codeline>
<codeline lineno="5948"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSDtmfGenCustomTone<sp/>def;</highlight></codeline>
<codeline lineno="5949"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(f==NULL){</highlight></codeline>
<codeline lineno="5950"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_error(</highlight><highlight class="stringliteral">&quot;No<sp/>dtmf<sp/>generator<sp/>at<sp/>this<sp/>time<sp/>!&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="5951"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="5952"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5953"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>memset(&amp;def,0,</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(def));</highlight></codeline>
<codeline lineno="5954"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>def.amplitude=1;</highlight></codeline>
<codeline lineno="5955"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*these<sp/>are<sp/>french<sp/>tones,<sp/>excepted<sp/>the<sp/>failed<sp/>one,<sp/>which<sp/>is<sp/>USA<sp/>congestion<sp/>tone<sp/>(does<sp/>not<sp/>exist<sp/>in<sp/>France)*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5956"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">switch</highlight><highlight class="normal">(toneid){</highlight></codeline>
<codeline lineno="5957"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>LinphoneToneCallOnHold:</highlight></codeline>
<codeline lineno="5958"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>LinphoneToneCallWaiting:</highlight></codeline>
<codeline lineno="5959"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>def.duration=300;</highlight></codeline>
<codeline lineno="5960"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>def.frequencies[0]=440;</highlight></codeline>
<codeline lineno="5961"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>def.interval=2000;</highlight></codeline>
<codeline lineno="5962"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="5963"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>LinphoneToneBusy:</highlight></codeline>
<codeline lineno="5964"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>def.duration=500;</highlight></codeline>
<codeline lineno="5965"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>def.frequencies[0]=440;</highlight></codeline>
<codeline lineno="5966"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>def.interval=500;</highlight></codeline>
<codeline lineno="5967"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>def.repeat_count=3;</highlight></codeline>
<codeline lineno="5968"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="5969"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>LinphoneToneCallLost:</highlight></codeline>
<codeline lineno="5970"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>def.duration=250;</highlight></codeline>
<codeline lineno="5971"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>def.frequencies[0]=480;</highlight></codeline>
<codeline lineno="5972"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>def.frequencies[0]=620;</highlight></codeline>
<codeline lineno="5973"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>def.interval=250;</highlight></codeline>
<codeline lineno="5974"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>def.repeat_count=3;</highlight></codeline>
<codeline lineno="5975"><highlight class="normal"></highlight></codeline>
<codeline lineno="5976"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="5977"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">default</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="5978"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;Unhandled<sp/>tone<sp/>id.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="5979"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5980"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(def.duration&gt;0)</highlight></codeline>
<codeline lineno="5981"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_filter_call_method(f,<sp/>MS_DTMF_GEN_PLAY_CUSTOM,&amp;def);</highlight></codeline>
<codeline lineno="5982"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="5983"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga7e53ab3252294690ae91cd3b0bd53583" kindref="member">linphone_core_play_local</ref>(lc,audiofile);</highlight></codeline>
<codeline lineno="5984"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5985"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5986"><highlight class="normal">}</highlight></codeline>
<codeline lineno="5987"><highlight class="normal"></highlight></codeline>
<codeline lineno="5988"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_play_call_error_tone(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__misc_1gabe82a1a1ffc3d6b4e0b51a03028513b7" kindref="member">LinphoneReason</ref><sp/>reason){</highlight></codeline>
<codeline lineno="5989"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_tone_indications_enabled(lc)){</highlight></codeline>
<codeline lineno="5990"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>LinphoneToneDescription<sp/>*tone=linphone_core_get_call_error_tone(lc,reason);</highlight></codeline>
<codeline lineno="5991"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(tone){</highlight></codeline>
<codeline lineno="5992"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(tone-&gt;audiofile){</highlight></codeline>
<codeline lineno="5993"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga7e53ab3252294690ae91cd3b0bd53583" kindref="member">linphone_core_play_local</ref>(lc,tone-&gt;audiofile);</highlight></codeline>
<codeline lineno="5994"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(tone-&gt;toneid!=LinphoneToneUndefined){</highlight></codeline>
<codeline lineno="5995"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_play_named_tone(lc,tone-&gt;toneid);</highlight></codeline>
<codeline lineno="5996"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5997"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5998"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="5999"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6000"><highlight class="normal"></highlight></codeline>
<codeline lineno="6006"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga5d9cfc960f9779c98866250a665f3d6d" kindref="member">linphone_core_stop_dtmf</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="6007"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSFilter<sp/>*f=get_dtmf_gen(lc);</highlight></codeline>
<codeline lineno="6008"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(f!=NULL)</highlight></codeline>
<codeline lineno="6009"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_filter_call_method_noarg<sp/>(f,<sp/>MS_DTMF_GEN_STOP);</highlight></codeline>
<codeline lineno="6010"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6011"><highlight class="normal"></highlight></codeline>
<codeline lineno="6012"><highlight class="normal"></highlight></codeline>
<codeline lineno="6013"><highlight class="normal"></highlight></codeline>
<codeline lineno="6019"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*<ref refid="group__initializing_1gadd8c0eeb93eadb513d94549898c339d1" kindref="member">linphone_core_get_user_data</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="6020"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;data;</highlight></codeline>
<codeline lineno="6021"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6022"><highlight class="normal"></highlight></codeline>
<codeline lineno="6023"><highlight class="normal"></highlight></codeline>
<codeline lineno="6029"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1ga7e031f13be31db0584a213a3ce785e25" kindref="member">linphone_core_set_user_data</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*userdata){</highlight></codeline>
<codeline lineno="6030"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;data=userdata;</highlight></codeline>
<codeline lineno="6031"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6032"><highlight class="normal"></highlight></codeline>
<codeline lineno="6033"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>linphone_core_get_mtu(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="6034"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;net_conf.mtu;</highlight></codeline>
<codeline lineno="6035"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6036"><highlight class="normal"></highlight></codeline>
<codeline lineno="6044"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga2b1662e5e8227bdc6ee7831d1b51f94e" kindref="member">linphone_core_set_mtu</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>mtu){</highlight></codeline>
<codeline lineno="6045"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;net_conf.mtu=mtu;</highlight></codeline>
<codeline lineno="6046"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(mtu&gt;0){</highlight></codeline>
<codeline lineno="6047"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(mtu&lt;500){</highlight></codeline>
<codeline lineno="6048"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_error(</highlight><highlight class="stringliteral">&quot;MTU<sp/>too<sp/>small<sp/>!&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="6049"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>mtu=500;</highlight></codeline>
<codeline lineno="6050"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6051"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_set_mtu(mtu);</highlight></codeline>
<codeline lineno="6052"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;MTU<sp/>is<sp/>supposed<sp/>to<sp/>be<sp/>%i,<sp/>rtp<sp/>payload<sp/>max<sp/>size<sp/>will<sp/>be<sp/>%i&quot;</highlight><highlight class="normal">,mtu,<sp/>ms_get_payload_max_size());</highlight></codeline>
<codeline lineno="6053"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>ms_set_mtu(0);</highlight><highlight class="comment">//use<sp/>mediastreamer2<sp/>default<sp/>value</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6054"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6055"><highlight class="normal"></highlight></codeline>
<codeline lineno="6056"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_set_waiting_callback(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>LinphoneCoreWaitingCallback<sp/>cb,<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*user_context){</highlight></codeline>
<codeline lineno="6057"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;wait_cb=cb;</highlight></codeline>
<codeline lineno="6058"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;wait_ctx=user_context;</highlight></codeline>
<codeline lineno="6059"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6060"><highlight class="normal"></highlight></codeline>
<codeline lineno="6061"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_start_waiting(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*purpose){</highlight></codeline>
<codeline lineno="6062"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;wait_cb){</highlight></codeline>
<codeline lineno="6063"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;wait_ctx=lc-&gt;wait_cb(lc,lc-&gt;wait_ctx,LinphoneWaitingStart,purpose,0);</highlight></codeline>
<codeline lineno="6064"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6065"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6066"><highlight class="normal"></highlight></codeline>
<codeline lineno="6067"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_update_progress(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*purpose,<sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>progress){</highlight></codeline>
<codeline lineno="6068"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;wait_cb){</highlight></codeline>
<codeline lineno="6069"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;wait_ctx=lc-&gt;wait_cb(lc,lc-&gt;wait_ctx,LinphoneWaitingProgress,purpose,progress);</highlight></codeline>
<codeline lineno="6070"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="6071"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_usleep(50000);</highlight></codeline>
<codeline lineno="6072"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6073"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6074"><highlight class="normal"></highlight></codeline>
<codeline lineno="6075"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_stop_waiting(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="6076"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;wait_cb){</highlight></codeline>
<codeline lineno="6077"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;wait_ctx=lc-&gt;wait_cb(lc,lc-&gt;wait_ctx,LinphoneWaitingFinished,NULL,0);</highlight></codeline>
<codeline lineno="6078"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6079"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6080"><highlight class="normal"></highlight></codeline>
<codeline lineno="6081"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_set_rtp_transport_factories(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*<sp/>lc,<sp/>LinphoneRtpTransportFactories<sp/>*factories){</highlight></codeline>
<codeline lineno="6082"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;rtptf=factories;</highlight></codeline>
<codeline lineno="6083"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6084"><highlight class="normal"></highlight></codeline>
<codeline lineno="6096"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>linphone_core_get_current_call_stats(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>rtp_stats_t<sp/>*local,<sp/>rtp_stats_t<sp/>*remote){</highlight></codeline>
<codeline lineno="6097"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call=<ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref><sp/>(lc);</highlight></codeline>
<codeline lineno="6098"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call!=NULL){</highlight></codeline>
<codeline lineno="6099"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call-&gt;audiostream!=NULL){</highlight></codeline>
<codeline lineno="6100"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>memset(remote,0,</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(*remote));</highlight></codeline>
<codeline lineno="6101"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>audio_stream_get_local_rtp_stats<sp/>(call-&gt;audiostream,local);</highlight></codeline>
<codeline lineno="6102"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="6103"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6104"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6105"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="6106"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6107"><highlight class="normal"></highlight></codeline>
<codeline lineno="6108"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>net_config_uninit(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="6109"><highlight class="normal">{</highlight></codeline>
<codeline lineno="6110"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>net_config_t<sp/>*config=&amp;lc-&gt;net_conf;</highlight></codeline>
<codeline lineno="6111"><highlight class="normal"></highlight></codeline>
<codeline lineno="6112"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(config-&gt;stun_server!=NULL){</highlight></codeline>
<codeline lineno="6113"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(config-&gt;stun_server);</highlight></codeline>
<codeline lineno="6114"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6115"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(config-&gt;stun_addrinfo){</highlight></codeline>
<codeline lineno="6116"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>freeaddrinfo(config-&gt;stun_addrinfo);</highlight></codeline>
<codeline lineno="6117"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>config-&gt;stun_addrinfo=NULL;</highlight></codeline>
<codeline lineno="6118"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6119"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(config-&gt;nat_address!=NULL){</highlight></codeline>
<codeline lineno="6120"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;net&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;nat_address&quot;</highlight><highlight class="normal">,config-&gt;nat_address);</highlight></codeline>
<codeline lineno="6121"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;net_conf.nat_address);</highlight></codeline>
<codeline lineno="6122"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6123"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;net_conf.nat_address_ip<sp/>!=NULL){</highlight></codeline>
<codeline lineno="6124"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;net_conf.nat_address_ip);</highlight></codeline>
<codeline lineno="6125"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6126"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;net&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;mtu&quot;</highlight><highlight class="normal">,config-&gt;mtu);</highlight></codeline>
<codeline lineno="6127"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6128"><highlight class="normal"></highlight></codeline>
<codeline lineno="6129"><highlight class="normal"></highlight></codeline>
<codeline lineno="6130"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>sip_config_uninit(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="6131"><highlight class="normal">{</highlight></codeline>
<codeline lineno="6132"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList<sp/>*elem;</highlight></codeline>
<codeline lineno="6133"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i;</highlight></codeline>
<codeline lineno="6134"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sip_config_t<sp/>*config=&amp;lc-&gt;sip_conf;</highlight></codeline>
<codeline lineno="6135"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>bool_t<sp/>still_registered=TRUE;</highlight></codeline>
<codeline lineno="6136"><highlight class="normal"></highlight></codeline>
<codeline lineno="6137"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;guess_hostname&quot;</highlight><highlight class="normal">,config-&gt;guess_hostname);</highlight></codeline>
<codeline lineno="6138"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;contact&quot;</highlight><highlight class="normal">,config-&gt;contact);</highlight></codeline>
<codeline lineno="6139"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;inc_timeout&quot;</highlight><highlight class="normal">,config-&gt;inc_timeout);</highlight></codeline>
<codeline lineno="6140"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;in_call_timeout&quot;</highlight><highlight class="normal">,config-&gt;in_call_timeout);</highlight></codeline>
<codeline lineno="6141"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;delayed_timeout&quot;</highlight><highlight class="normal">,config-&gt;delayed_timeout);</highlight></codeline>
<codeline lineno="6142"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;use_ipv6&quot;</highlight><highlight class="normal">,config-&gt;ipv6_enabled);</highlight></codeline>
<codeline lineno="6143"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;register_only_when_network_is_up&quot;</highlight><highlight class="normal">,config-&gt;register_only_when_network_is_up);</highlight></codeline>
<codeline lineno="6144"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;register_only_when_upnp_is_ok&quot;</highlight><highlight class="normal">,config-&gt;register_only_when_upnp_is_ok);</highlight></codeline>
<codeline lineno="6145"><highlight class="normal"></highlight></codeline>
<codeline lineno="6146"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;network_reachable)<sp/>{</highlight></codeline>
<codeline lineno="6147"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(elem=config-&gt;proxies;elem!=NULL;elem=ms_list_next(elem)){</highlight></codeline>
<codeline lineno="6148"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref><sp/>*cfg=(<ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref>*)(elem-&gt;data);</highlight></codeline>
<codeline lineno="6149"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga9e94dccf4072107299db09802040a1eb" kindref="member">_linphone_proxy_config_unregister</ref>(cfg);<sp/></highlight><highlight class="comment">/*<sp/>to<sp/>unregister<sp/>without<sp/>changing<sp/>the<sp/>stored<sp/>flag<sp/>enable_register<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6150"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6151"><highlight class="normal"></highlight></codeline>
<codeline lineno="6152"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;Unregistration<sp/>started.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="6153"><highlight class="normal"></highlight></codeline>
<codeline lineno="6154"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(i=0;i&lt;20&amp;&amp;still_registered;i++){</highlight></codeline>
<codeline lineno="6155"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>still_registered=FALSE;</highlight></codeline>
<codeline lineno="6156"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_iterate(lc-&gt;sal);</highlight></codeline>
<codeline lineno="6157"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(elem=config-&gt;proxies;elem!=NULL;elem=ms_list_next(elem)){</highlight></codeline>
<codeline lineno="6158"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref><sp/>*cfg=(<ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref>*)(elem-&gt;data);</highlight></codeline>
<codeline lineno="6159"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>still_registered|=<ref refid="group__proxies_1gaed2155106b24f7e418b67c2774b6a0c7" kindref="member">linphone_proxy_config_is_registered</ref>(cfg);</highlight></codeline>
<codeline lineno="6160"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6161"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_usleep(100000);</highlight></codeline>
<codeline lineno="6162"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6163"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(i&gt;=20)<sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;Cannot<sp/>complete<sp/>unregistration,<sp/>giving<sp/>up&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="6164"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6165"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>config-&gt;proxies=ms_list_free_with_data(config-&gt;proxies,(void<sp/>(*)(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*))<sp/>_linphone_proxy_config_release);</highlight></codeline>
<codeline lineno="6166"><highlight class="normal"></highlight></codeline>
<codeline lineno="6167"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>config-&gt;deleted_proxies=ms_list_free_with_data(config-&gt;deleted_proxies,(void<sp/>(*)(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*))<sp/>_linphone_proxy_config_release);</highlight></codeline>
<codeline lineno="6168"><highlight class="normal"></highlight></codeline>
<codeline lineno="6169"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*no<sp/>longuer<sp/>need<sp/>to<sp/>write<sp/>proxy<sp/>config<sp/>if<sp/>not<sp/>changedlinphone_proxy_config_write_to_config_file(lc-&gt;config,NULL,i);*/</highlight><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">/*mark<sp/>the<sp/>end<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6170"><highlight class="normal"></highlight></codeline>
<codeline lineno="6171"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;auth_info=ms_list_free_with_data(lc-&gt;auth_info,(void<sp/>(*)(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*))<ref refid="group__authentication_1ga814df254ea5005e5bb04d4247688e09f" kindref="member">linphone_auth_info_destroy</ref>);</highlight></codeline>
<codeline lineno="6172"><highlight class="normal"></highlight></codeline>
<codeline lineno="6173"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*now<sp/>that<sp/>we<sp/>are<sp/>unregisted,<sp/>we<sp/>no<sp/>longer<sp/>need<sp/>the<sp/>tunnel.*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6174"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>TUNNEL_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6175"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;tunnel)<sp/>{</highlight></codeline>
<codeline lineno="6176"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_tunnel_destroy(lc-&gt;tunnel);</highlight></codeline>
<codeline lineno="6177"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;tunnel=NULL;</highlight></codeline>
<codeline lineno="6178"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;Tunnel<sp/>destroyed.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="6179"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6180"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6181"><highlight class="normal"></highlight></codeline>
<codeline lineno="6182"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_reset_transports(lc-&gt;sal);</highlight></codeline>
<codeline lineno="6183"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_unlisten_ports(lc-&gt;sal);<sp/></highlight><highlight class="comment">/*to<sp/>make<sp/>sure<sp/>no<sp/>new<sp/>messages<sp/>are<sp/>received*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6184"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;http_provider)<sp/>{</highlight></codeline>
<codeline lineno="6185"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_sip_object_unref(lc-&gt;http_provider);</highlight></codeline>
<codeline lineno="6186"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;http_provider=NULL;</highlight></codeline>
<codeline lineno="6187"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6188"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;http_verify_policy){</highlight></codeline>
<codeline lineno="6189"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>belle_sip_object_unref(lc-&gt;http_verify_policy);</highlight></codeline>
<codeline lineno="6190"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;http_verify_policy=NULL;</highlight></codeline>
<codeline lineno="6191"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6192"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_iterate(lc-&gt;sal);<sp/></highlight><highlight class="comment">/*make<sp/>sure<sp/>event<sp/>are<sp/>purged*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6193"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_uninit(lc-&gt;sal);</highlight></codeline>
<codeline lineno="6194"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sal=NULL;</highlight></codeline>
<codeline lineno="6195"><highlight class="normal"></highlight></codeline>
<codeline lineno="6196"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sip_conf.guessed_contact)</highlight></codeline>
<codeline lineno="6197"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;sip_conf.guessed_contact);</highlight></codeline>
<codeline lineno="6198"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(config-&gt;contact)</highlight></codeline>
<codeline lineno="6199"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(config-&gt;contact);</highlight></codeline>
<codeline lineno="6200"><highlight class="normal"></highlight></codeline>
<codeline lineno="6201"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6202"><highlight class="normal"></highlight></codeline>
<codeline lineno="6203"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>rtp_config_uninit(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="6204"><highlight class="normal">{</highlight></codeline>
<codeline lineno="6205"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>rtp_config_t<sp/>*config=&amp;lc-&gt;rtp_conf;</highlight></codeline>
<codeline lineno="6206"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(config-&gt;audio_rtp_min_port<sp/>==<sp/>config-&gt;audio_rtp_max_port)<sp/>{</highlight></codeline>
<codeline lineno="6207"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;audio_rtp_port&quot;</highlight><highlight class="normal">,<sp/>config-&gt;audio_rtp_min_port);</highlight></codeline>
<codeline lineno="6208"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="6209"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga21e9df0d054a1e38f85088f3ac8c7f56" kindref="member">lp_config_set_range</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;audio_rtp_port&quot;</highlight><highlight class="normal">,<sp/>config-&gt;audio_rtp_min_port,<sp/>config-&gt;audio_rtp_max_port);</highlight></codeline>
<codeline lineno="6210"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6211"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(config-&gt;video_rtp_min_port<sp/>==<sp/>config-&gt;video_rtp_max_port)<sp/>{</highlight></codeline>
<codeline lineno="6212"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;video_rtp_port&quot;</highlight><highlight class="normal">,<sp/>config-&gt;video_rtp_min_port);</highlight></codeline>
<codeline lineno="6213"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="6214"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga21e9df0d054a1e38f85088f3ac8c7f56" kindref="member">lp_config_set_range</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;video_rtp_port&quot;</highlight><highlight class="normal">,<sp/>config-&gt;video_rtp_min_port,<sp/>config-&gt;video_rtp_max_port);</highlight></codeline>
<codeline lineno="6215"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6216"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;audio_jitt_comp&quot;</highlight><highlight class="normal">,config-&gt;audio_jitt_comp);</highlight></codeline>
<codeline lineno="6217"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;video_jitt_comp&quot;</highlight><highlight class="normal">,config-&gt;video_jitt_comp);</highlight></codeline>
<codeline lineno="6218"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;nortp_timeout&quot;</highlight><highlight class="normal">,config-&gt;nortp_timeout);</highlight></codeline>
<codeline lineno="6219"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;audio_adaptive_jitt_comp_enabled&quot;</highlight><highlight class="normal">,config-&gt;audio_adaptive_jitt_comp_enabled);</highlight></codeline>
<codeline lineno="6220"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;video_adaptive_jitt_comp_enabled&quot;</highlight><highlight class="normal">,config-&gt;video_adaptive_jitt_comp_enabled);</highlight></codeline>
<codeline lineno="6221"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;rtp_conf.audio_multicast_addr);</highlight></codeline>
<codeline lineno="6222"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;rtp_conf.video_multicast_addr);</highlight></codeline>
<codeline lineno="6223"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(config-&gt;srtp_suites);</highlight></codeline>
<codeline lineno="6224"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6225"><highlight class="normal"></highlight></codeline>
<codeline lineno="6226"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>sound_config_uninit(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="6227"><highlight class="normal">{</highlight></codeline>
<codeline lineno="6228"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sound_config_t<sp/>*config=&amp;lc-&gt;sound_conf;</highlight></codeline>
<codeline lineno="6229"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(config-&gt;cards);</highlight></codeline>
<codeline lineno="6230"><highlight class="normal"></highlight></codeline>
<codeline lineno="6231"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;remote_ring&quot;</highlight><highlight class="normal">,config-&gt;remote_ring);</highlight></codeline>
<codeline lineno="6232"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gaeaa0ff38f2af3cefdf4c401b86ec9197" kindref="member">lp_config_set_float</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;playback_gain_db&quot;</highlight><highlight class="normal">,config-&gt;soft_play_lev);</highlight></codeline>
<codeline lineno="6233"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gaeaa0ff38f2af3cefdf4c401b86ec9197" kindref="member">lp_config_set_float</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;mic_gain_db&quot;</highlight><highlight class="normal">,config-&gt;soft_mic_lev);</highlight></codeline>
<codeline lineno="6234"><highlight class="normal"></highlight></codeline>
<codeline lineno="6235"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(config-&gt;local_ring)<sp/>ms_free(config-&gt;local_ring);</highlight></codeline>
<codeline lineno="6236"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(config-&gt;remote_ring)<sp/>ms_free(config-&gt;remote_ring);</highlight></codeline>
<codeline lineno="6237"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;tones=ms_list_free_with_data(lc-&gt;tones,<sp/>(void<sp/>(*)(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*))linphone_tone_description_destroy);</highlight></codeline>
<codeline lineno="6238"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6239"><highlight class="normal"></highlight></codeline>
<codeline lineno="6240"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>video_config_uninit(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="6241"><highlight class="normal">{</highlight></codeline>
<codeline lineno="6242"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;size&quot;</highlight><highlight class="normal">,video_size_get_name(<ref refid="group__media__parameters_1gaf951d377684d8f8b3a96aa6704e71e5a" kindref="member">linphone_core_get_preferred_video_size</ref>(lc)));</highlight></codeline>
<codeline lineno="6243"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;display&quot;</highlight><highlight class="normal">,lc-&gt;video_conf.display);</highlight></codeline>
<codeline lineno="6244"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;video&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;capture&quot;</highlight><highlight class="normal">,lc-&gt;video_conf.capture);</highlight></codeline>
<codeline lineno="6245"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;video_conf.cams)</highlight></codeline>
<codeline lineno="6246"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;video_conf.cams);</highlight></codeline>
<codeline lineno="6247"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6248"><highlight class="normal"></highlight></codeline>
<codeline lineno="6249"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>_linphone_core_codec_config_write(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="6250"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc)){</highlight></codeline>
<codeline lineno="6251"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>PayloadType<sp/>*pt;</highlight></codeline>
<codeline lineno="6252"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>codecs_config_t<sp/>*config=&amp;lc-&gt;codecs_conf;</highlight></codeline>
<codeline lineno="6253"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList<sp/>*node;</highlight></codeline>
<codeline lineno="6254"><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/>key[50];</highlight></codeline>
<codeline lineno="6255"><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/>index;</highlight></codeline>
<codeline lineno="6256"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>index=0;</highlight></codeline>
<codeline lineno="6257"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(node=config-&gt;audio_codecs;node!=NULL;node=ms_list_next(node)){</highlight></codeline>
<codeline lineno="6258"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>pt=(PayloadType*)(node-&gt;data);</highlight></codeline>
<codeline lineno="6259"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sprintf(key,</highlight><highlight class="stringliteral">&quot;audio_codec_%i&quot;</highlight><highlight class="normal">,index);</highlight></codeline>
<codeline lineno="6260"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,key,</highlight><highlight class="stringliteral">&quot;mime&quot;</highlight><highlight class="normal">,pt-&gt;mime_type);</highlight></codeline>
<codeline lineno="6261"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,key,</highlight><highlight class="stringliteral">&quot;rate&quot;</highlight><highlight class="normal">,pt-&gt;clock_rate);</highlight></codeline>
<codeline lineno="6262"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,key,</highlight><highlight class="stringliteral">&quot;channels&quot;</highlight><highlight class="normal">,pt-&gt;channels);</highlight></codeline>
<codeline lineno="6263"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,key,</highlight><highlight class="stringliteral">&quot;enabled&quot;</highlight><highlight class="normal">,<ref refid="group__media__parameters_1ga9e268ec0e0c7fff2b816bf616ff2232c" kindref="member">linphone_core_payload_type_enabled</ref>(lc,pt));</highlight></codeline>
<codeline lineno="6264"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>index++;</highlight></codeline>
<codeline lineno="6265"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6266"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sprintf(key,</highlight><highlight class="stringliteral">&quot;audio_codec_%i&quot;</highlight><highlight class="normal">,index);</highlight></codeline>
<codeline lineno="6267"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga8ea8060c147dd9584644c52d4cd59a17" kindref="member">lp_config_clean_section</ref><sp/>(lc-&gt;config,key);</highlight></codeline>
<codeline lineno="6268"><highlight class="normal"></highlight></codeline>
<codeline lineno="6269"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>index=0;</highlight></codeline>
<codeline lineno="6270"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(node=config-&gt;video_codecs;node!=NULL;node=ms_list_next(node)){</highlight></codeline>
<codeline lineno="6271"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>pt=(PayloadType*)(node-&gt;data);</highlight></codeline>
<codeline lineno="6272"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sprintf(key,</highlight><highlight class="stringliteral">&quot;video_codec_%i&quot;</highlight><highlight class="normal">,index);</highlight></codeline>
<codeline lineno="6273"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,key,</highlight><highlight class="stringliteral">&quot;mime&quot;</highlight><highlight class="normal">,pt-&gt;mime_type);</highlight></codeline>
<codeline lineno="6274"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,key,</highlight><highlight class="stringliteral">&quot;rate&quot;</highlight><highlight class="normal">,pt-&gt;clock_rate);</highlight></codeline>
<codeline lineno="6275"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,key,</highlight><highlight class="stringliteral">&quot;enabled&quot;</highlight><highlight class="normal">,<ref refid="group__media__parameters_1ga9e268ec0e0c7fff2b816bf616ff2232c" kindref="member">linphone_core_payload_type_enabled</ref>(lc,pt));</highlight></codeline>
<codeline lineno="6276"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,key,</highlight><highlight class="stringliteral">&quot;recv_fmtp&quot;</highlight><highlight class="normal">,pt-&gt;recv_fmtp);</highlight></codeline>
<codeline lineno="6277"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>index++;</highlight></codeline>
<codeline lineno="6278"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6279"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sprintf(key,</highlight><highlight class="stringliteral">&quot;video_codec_%i&quot;</highlight><highlight class="normal">,index);</highlight></codeline>
<codeline lineno="6280"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga8ea8060c147dd9584644c52d4cd59a17" kindref="member">lp_config_clean_section</ref><sp/>(lc-&gt;config,key);</highlight></codeline>
<codeline lineno="6281"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6282"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6283"><highlight class="normal"></highlight></codeline>
<codeline lineno="6284"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>codecs_config_uninit(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="6285"><highlight class="normal">{</highlight></codeline>
<codeline lineno="6286"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>_linphone_core_codec_config_write(lc);</highlight></codeline>
<codeline lineno="6287"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_list_free_with_data(lc-&gt;codecs_conf.audio_codecs,<sp/>(void<sp/>(*)(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*))payload_type_destroy);</highlight></codeline>
<codeline lineno="6288"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_list_free_with_data(lc-&gt;codecs_conf.video_codecs,<sp/>(void<sp/>(*)(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*))payload_type_destroy);</highlight></codeline>
<codeline lineno="6289"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6290"><highlight class="normal"></highlight></codeline>
<codeline lineno="6291"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>ui_config_uninit(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*<sp/>lc)</highlight></codeline>
<codeline lineno="6292"><highlight class="normal">{</highlight></codeline>
<codeline lineno="6293"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;Destroying<sp/>friends.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="6294"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;friends){</highlight></codeline>
<codeline lineno="6295"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_list_for_each(lc-&gt;friends,(void<sp/>(*)(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*))<ref refid="group__buddy__list_1gaaa253ca75afb206fdb2f6ab3a303c3c8" kindref="member">linphone_friend_destroy</ref>);</highlight></codeline>
<codeline lineno="6296"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_list_free(lc-&gt;friends);</highlight></codeline>
<codeline lineno="6297"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;friends=NULL;</highlight></codeline>
<codeline lineno="6298"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6299"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;presence_model)<sp/>{</highlight></codeline>
<codeline lineno="6300"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__buddy__list_1ga8c6c14fe45f6941149ed3eb759db9a23" kindref="member">linphone_presence_model_unref</ref>(lc-&gt;presence_model);</highlight></codeline>
<codeline lineno="6301"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;presence_model<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="6302"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6303"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;Destroying<sp/>friends<sp/>done.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="6304"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6305"><highlight class="normal"></highlight></codeline>
<codeline lineno="6314"><highlight class="normal"><ref refid="group__misc_1ga047b6550aab7dd244268e695fab98fd6" kindref="member">LpConfig</ref><sp/>*<sp/><ref refid="group__misc_1ga0634038b0304863380c65d6743448cab" kindref="member">linphone_core_get_config</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="6315"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;config;</highlight></codeline>
<codeline lineno="6316"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6317"><highlight class="normal"></highlight></codeline>
<codeline lineno="6318"><highlight class="normal"><ref refid="group__misc_1ga047b6550aab7dd244268e695fab98fd6" kindref="member">LpConfig</ref><sp/>*<sp/><ref refid="group__misc_1ga24c527aea3d90b8b083d954d15f2b0b4" kindref="member">linphone_core_create_lp_config</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*filename)<sp/>{</highlight></codeline>
<codeline lineno="6319"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga964e134940173e3c3bf1a9f90bcad06b" kindref="member">lp_config_new</ref>(filename);</highlight></codeline>
<codeline lineno="6320"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6321"><highlight class="normal"></highlight></codeline>
<codeline lineno="6322"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_uninit(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="6323"><highlight class="normal">{</highlight></codeline>
<codeline lineno="6324"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_free_hooks(lc);</highlight></codeline>
<codeline lineno="6325"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;video_conf.show_local<sp/>=<sp/>FALSE;</highlight></codeline>
<codeline lineno="6326"><highlight class="normal"></highlight></codeline>
<codeline lineno="6327"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal">(lc-&gt;calls)</highlight></codeline>
<codeline lineno="6328"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="6329"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*the_call<sp/>=<sp/>lc-&gt;calls-&gt;data;</highlight></codeline>
<codeline lineno="6330"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1ga2dcc69dfc22e15d3cdadf8e688eedbfe" kindref="member">linphone_core_terminate_call</ref>(lc,the_call);</highlight></codeline>
<codeline lineno="6331"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__initializing_1ga7bdac8ac386483fc4e0876e4c5d13755" kindref="member">linphone_core_iterate</ref>(lc);</highlight></codeline>
<codeline lineno="6332"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_usleep(50000);</highlight></codeline>
<codeline lineno="6333"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6334"><highlight class="normal"></highlight></codeline>
<codeline lineno="6335"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;friends)<sp/></highlight><highlight class="comment">/*<sp/>FIXME<sp/>we<sp/>should<sp/>wait<sp/>until<sp/>subscription<sp/>to<sp/>complete*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6336"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_list_for_each(lc-&gt;friends,(void<sp/>(*)(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*))linphone_friend_close_subscriptions);</highlight></codeline>
<codeline lineno="6337"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_set_state(lc,LinphoneGlobalShutdown,</highlight><highlight class="stringliteral">&quot;Shutting<sp/>down&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="6338"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>VIDEO_ENABLED</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6339"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;previewstream!=NULL){</highlight></codeline>
<codeline lineno="6340"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>video_preview_stop(lc-&gt;previewstream);</highlight></codeline>
<codeline lineno="6341"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;previewstream=NULL;</highlight></codeline>
<codeline lineno="6342"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6343"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6344"><highlight class="normal"></highlight></codeline>
<codeline lineno="6345"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;msevq=NULL;</highlight></codeline>
<codeline lineno="6346"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>save<sp/>all<sp/>config<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6347"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ui_config_uninit(lc);</highlight></codeline>
<codeline lineno="6348"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sip_config_uninit(lc);</highlight></codeline>
<codeline lineno="6349"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>net_config_uninit(lc);</highlight></codeline>
<codeline lineno="6350"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>rtp_config_uninit(lc);</highlight></codeline>
<codeline lineno="6351"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga9b2e2d8862d6d80fa873755276ebb91b" kindref="member">linphone_core_stop_ringing</ref>(lc);</highlight></codeline>
<codeline lineno="6352"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sound_config_uninit(lc);</highlight></codeline>
<codeline lineno="6353"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>video_config_uninit(lc);</highlight></codeline>
<codeline lineno="6354"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>codecs_config_uninit(lc);</highlight></codeline>
<codeline lineno="6355"><highlight class="normal"></highlight></codeline>
<codeline lineno="6356"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sip_setup_unregister_all();</highlight></codeline>
<codeline lineno="6357"><highlight class="normal"></highlight></codeline>
<codeline lineno="6358"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6359"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(lc-&gt;upnp<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="6360"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_upnp_context_destroy(lc-&gt;upnp);</highlight></codeline>
<codeline lineno="6361"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;upnp<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="6362"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6363"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6364"><highlight class="normal"></highlight></codeline>
<codeline lineno="6365"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_list_for_each(lc-&gt;chatrooms,<sp/>(MSIterateFunc)linphone_chat_room_release);</highlight></codeline>
<codeline lineno="6366"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;chatrooms<sp/>=<sp/>ms_list_free(lc-&gt;chatrooms);</highlight></codeline>
<codeline lineno="6367"><highlight class="normal"></highlight></codeline>
<codeline lineno="6368"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lp_config_needs_commit(lc-&gt;config))<sp/><ref refid="group__misc_1ga39f6f202e10581591ac6e68a636236bc" kindref="member">lp_config_sync</ref>(lc-&gt;config);</highlight></codeline>
<codeline lineno="6369"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lp_config_destroy(lc-&gt;config);</highlight></codeline>
<codeline lineno="6370"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;config<sp/>=<sp/>NULL;<sp/></highlight><highlight class="comment">/*<sp/>Mark<sp/>the<sp/>config<sp/>as<sp/>NULL<sp/>to<sp/>block<sp/>further<sp/>calls<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6371"><highlight class="normal"></highlight></codeline>
<codeline lineno="6372"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_list_for_each(lc-&gt;call_logs,(void<sp/>(*)(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*))<ref refid="group__call__logs_1ga802bbd28cc29824d80a70ad33e5b8ea6" kindref="member">linphone_call_log_unref</ref>);</highlight></codeline>
<codeline lineno="6373"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;call_logs=ms_list_free(lc-&gt;call_logs);</highlight></codeline>
<codeline lineno="6374"><highlight class="normal"></highlight></codeline>
<codeline lineno="6375"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_list_for_each(lc-&gt;last_recv_msg_ids,ms_free);</highlight></codeline>
<codeline lineno="6376"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;last_recv_msg_ids=ms_list_free(lc-&gt;last_recv_msg_ids);</highlight></codeline>
<codeline lineno="6377"><highlight class="normal"></highlight></codeline>
<codeline lineno="6378"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(lc-&gt;zrtp_secrets_cache<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="6379"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;zrtp_secrets_cache);</highlight></codeline>
<codeline lineno="6380"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6381"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(lc-&gt;user_certificates_path<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="6382"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;user_certificates_path);</highlight></codeline>
<codeline lineno="6383"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6384"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(lc-&gt;play_file!=NULL){</highlight></codeline>
<codeline lineno="6385"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;play_file);</highlight></codeline>
<codeline lineno="6386"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6387"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(lc-&gt;rec_file!=NULL){</highlight></codeline>
<codeline lineno="6388"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;rec_file);</highlight></codeline>
<codeline lineno="6389"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6390"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;chat_db_file){</highlight></codeline>
<codeline lineno="6391"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;chat_db_file);</highlight></codeline>
<codeline lineno="6392"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6393"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(lc-&gt;presence_model){</highlight></codeline>
<codeline lineno="6394"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__buddy__list_1ga8c6c14fe45f6941149ed3eb759db9a23" kindref="member">linphone_presence_model_unref</ref>(lc-&gt;presence_model);</highlight></codeline>
<codeline lineno="6395"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6396"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_free_payload_types(lc);</highlight></codeline>
<codeline lineno="6397"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;supported_formats)<sp/>ms_free(lc-&gt;supported_formats);</highlight></codeline>
<codeline lineno="6398"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_message_storage_close(lc);</highlight></codeline>
<codeline lineno="6399"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_exit();</highlight></codeline>
<codeline lineno="6400"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_set_state(lc,LinphoneGlobalOff,</highlight><highlight class="stringliteral">&quot;Off&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="6401"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_deactivate_log_serialization_if_needed();</highlight></codeline>
<codeline lineno="6402"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_list_free_with_data(lc-&gt;vtable_refs,(void<sp/>(*)(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*))v_table_reference_destroy);</highlight></codeline>
<codeline lineno="6403"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6404"><highlight class="normal"></highlight></codeline>
<codeline lineno="6405"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>set_network_reachable(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*<sp/>lc,bool_t<sp/>isReachable,<sp/>time_t<sp/>curtime){</highlight></codeline>
<codeline lineno="6406"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>second<sp/>get<sp/>the<sp/>list<sp/>of<sp/>available<sp/>proxies</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6407"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSList<sp/>*elem=<ref refid="group__proxies_1gad167a93dd8d6b6fa9b9d36c9ce7cc3fc" kindref="member">linphone_core_get_proxy_config_list</ref>(lc);</highlight></codeline>
<codeline lineno="6408"><highlight class="normal"></highlight></codeline>
<codeline lineno="6409"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;network_reachable==isReachable)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;<sp/></highlight><highlight class="comment">//<sp/>no<sp/>change,<sp/>ignore.</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6410"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;network_reachable_to_be_notified=TRUE;</highlight></codeline>
<codeline lineno="6411"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;Network<sp/>state<sp/>is<sp/>now<sp/>[%s]&quot;</highlight><highlight class="normal">,isReachable?</highlight><highlight class="stringliteral">&quot;UP&quot;</highlight><highlight class="normal">:</highlight><highlight class="stringliteral">&quot;DOWN&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="6412"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(;elem!=NULL;elem=elem-&gt;next){</highlight></codeline>
<codeline lineno="6413"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref><sp/>*cfg=(<ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref>*)elem-&gt;data;</highlight></codeline>
<codeline lineno="6414"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>if<sp/>(<ref refid="group__proxies_1gae9a9f097eda6371c7af0fa9760b62686" kindref="member">linphone_proxy_config_register_enabled</ref>(cfg)<sp/>)<sp/>{</highlight></codeline>
<codeline lineno="6415"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!isReachable)<sp/>{</highlight></codeline>
<codeline lineno="6416"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_proxy_config_stop_refreshing(cfg);</highlight></codeline>
<codeline lineno="6417"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_proxy_config_set_state(cfg,<sp/><ref refid="group__proxies_1ggaea1b64a739b1faf0b490fe0f52cfe65ea07341285f0270fe6e3b1e21949725d54" kindref="member">LinphoneRegistrationNone</ref>,</highlight><highlight class="stringliteral">&quot;Registration<sp/>impossible<sp/>(network<sp/>down)&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="6418"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="6419"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>cfg-&gt;commit=TRUE;</highlight></codeline>
<codeline lineno="6420"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6421"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6422"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6423"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;netup_time=curtime;</highlight></codeline>
<codeline lineno="6424"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;network_reachable=isReachable;</highlight></codeline>
<codeline lineno="6425"><highlight class="normal"></highlight></codeline>
<codeline lineno="6426"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!lc-&gt;network_reachable){</highlight></codeline>
<codeline lineno="6427"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_invalidate_friend_subscriptions(lc);</highlight></codeline>
<codeline lineno="6428"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_reset_transports(lc-&gt;sal);</highlight></codeline>
<codeline lineno="6429"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="6430"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_resolve_stun_server(lc);</highlight></codeline>
<codeline lineno="6431"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6432"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6433"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(lc-&gt;upnp<sp/>==<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="6434"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(isReachable<sp/>&amp;&amp;<sp/><ref refid="group__network__parameters_1ga9de28ff0fd0f8ff65ef82eba9592276c" kindref="member">linphone_core_get_firewall_policy</ref>(lc)<sp/>==<sp/><ref refid="group__network__parameters_1ggadad0a1c27596017d9d9b3c30ef47f5beab254b7940dee8816026d50fb29ecaae8" kindref="member">LinphonePolicyUseUpnp</ref>)<sp/>{</highlight></codeline>
<codeline lineno="6435"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;upnp<sp/>=<sp/>linphone_upnp_context_new(lc);</highlight></codeline>
<codeline lineno="6436"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6437"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="6438"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(!isReachable<sp/>&amp;&amp;<sp/><ref refid="group__network__parameters_1ga9de28ff0fd0f8ff65ef82eba9592276c" kindref="member">linphone_core_get_firewall_policy</ref>(lc)<sp/>==<sp/><ref refid="group__network__parameters_1ggadad0a1c27596017d9d9b3c30ef47f5beab254b7940dee8816026d50fb29ecaae8" kindref="member">LinphonePolicyUseUpnp</ref>)<sp/>{</highlight></codeline>
<codeline lineno="6439"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_upnp_context_destroy(lc-&gt;upnp);</highlight></codeline>
<codeline lineno="6440"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;upnp<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="6441"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6442"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6443"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6444"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6445"><highlight class="normal"></highlight></codeline>
<codeline lineno="6446"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__proxies_1ga130795ea67730f7b01f7b51fe6bdb44f" kindref="member">linphone_core_refresh_registers</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*<sp/>lc)<sp/>{</highlight></codeline>
<codeline lineno="6447"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSList<sp/>*elem;</highlight></codeline>
<codeline lineno="6448"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!lc-&gt;network_reachable)<sp/>{</highlight></codeline>
<codeline lineno="6449"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;Refresh<sp/>register<sp/>operation<sp/>not<sp/>available<sp/>(network<sp/>unreachable)&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="6450"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6451"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6452"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>elem=<ref refid="group__proxies_1gad167a93dd8d6b6fa9b9d36c9ce7cc3fc" kindref="member">linphone_core_get_proxy_config_list</ref>(lc);</highlight></codeline>
<codeline lineno="6453"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(;elem!=NULL;elem=elem-&gt;next){</highlight></codeline>
<codeline lineno="6454"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref><sp/>*cfg=(<ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref>*)elem-&gt;data;</highlight></codeline>
<codeline lineno="6455"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>if<sp/>(<ref refid="group__proxies_1gae9a9f097eda6371c7af0fa9760b62686" kindref="member">linphone_proxy_config_register_enabled</ref>(cfg)<sp/>&amp;&amp;<sp/><ref refid="group__proxies_1ga06bc12ed3f1048ee8e93e797fc5aa23e" kindref="member">linphone_proxy_config_get_expires</ref>(cfg)&gt;0)<sp/>{</highlight></codeline>
<codeline lineno="6456"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1gaa25934d6fe1edbe0dde366d9a3487247" kindref="member">linphone_proxy_config_refresh_register</ref>(cfg);</highlight></codeline>
<codeline lineno="6457"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6458"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6459"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6460"><highlight class="normal"></highlight></codeline>
<codeline lineno="6461"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>__linphone_core_invalidate_registers(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*<sp/>lc){</highlight></codeline>
<codeline lineno="6462"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>MSList<sp/>*elem=<ref refid="group__proxies_1gad167a93dd8d6b6fa9b9d36c9ce7cc3fc" kindref="member">linphone_core_get_proxy_config_list</ref>(lc);</highlight></codeline>
<codeline lineno="6463"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(;elem!=NULL;elem=elem-&gt;next){</highlight></codeline>
<codeline lineno="6464"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref><sp/>*cfg=(<ref refid="group__proxies_1ga1879a0d59e068457b688138da97f2d0b" kindref="member">LinphoneProxyConfig</ref>*)elem-&gt;data;</highlight></codeline>
<codeline lineno="6465"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>if<sp/>(<ref refid="group__proxies_1gae9a9f097eda6371c7af0fa9760b62686" kindref="member">linphone_proxy_config_register_enabled</ref>(cfg))<sp/>{</highlight></codeline>
<codeline lineno="6466"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga37cac414aba9e8e4135c1f208c0175f8" kindref="member">linphone_proxy_config_edit</ref>(cfg);</highlight></codeline>
<codeline lineno="6467"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__proxies_1ga9b59d963af64ee243dfa4643a85c0cdc" kindref="member">linphone_proxy_config_done</ref>(cfg);</highlight></codeline>
<codeline lineno="6468"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6469"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6470"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6471"><highlight class="normal"></highlight></codeline>
<codeline lineno="6472"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ga50986600d8f528e083a2c8e6269734e3" kindref="member">linphone_core_set_network_reachable</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*<sp/>lc,bool_t<sp/>isReachable)<sp/>{</highlight></codeline>
<codeline lineno="6473"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//first<sp/>disable<sp/>automatic<sp/>mode</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6474"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;auto_net_state_mon)<sp/>{</highlight></codeline>
<codeline lineno="6475"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;Disabling<sp/>automatic<sp/>network<sp/>state<sp/>monitoring&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="6476"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;auto_net_state_mon=FALSE;</highlight></codeline>
<codeline lineno="6477"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6478"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>set_network_reachable(lc,isReachable,<sp/>ms_time(NULL));</highlight></codeline>
<codeline lineno="6479"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6480"><highlight class="normal"></highlight></codeline>
<codeline lineno="6481"><highlight class="normal">bool_t<sp/><ref refid="group__network__parameters_1gadd2b16bfd430b156067312b90a54a2f3" kindref="member">linphone_core_is_network_reachable</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*<sp/>lc)<sp/>{</highlight></codeline>
<codeline lineno="6482"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;network_reachable;</highlight></codeline>
<codeline lineno="6483"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6484"><highlight class="normal">ortp_socket_t<sp/>linphone_core_get_sip_socket(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="6485"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>sal_get_socket(lc-&gt;sal);</highlight></codeline>
<codeline lineno="6486"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6492"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1ga5e3f2f87c8d8262caa1fa90bbd504008" kindref="member">linphone_core_destroy</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="6493"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_uninit(lc);</highlight></codeline>
<codeline lineno="6494"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc);</highlight></codeline>
<codeline lineno="6495"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6501"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1gafbe6f21493edec8598ae2ddda5bd552d" kindref="member">linphone_core_get_calls_nb</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="6502"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><sp/>ms_list_size(lc-&gt;calls);;</highlight></codeline>
<codeline lineno="6503"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6504"><highlight class="normal"></highlight></codeline>
<codeline lineno="6510"><highlight class="normal">bool_t<sp/><ref refid="group__call__control_1ga617649e37b3b4b2d8323746da33c10e0" kindref="member">linphone_core_can_we_add_call</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)</highlight></codeline>
<codeline lineno="6511"><highlight class="normal">{</highlight></codeline>
<codeline lineno="6512"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(<ref refid="group__call__control_1gafbe6f21493edec8598ae2ddda5bd552d" kindref="member">linphone_core_get_calls_nb</ref>(lc)<sp/>&lt;<sp/>lc-&gt;max_calls)</highlight></codeline>
<codeline lineno="6513"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>TRUE;</highlight></codeline>
<codeline lineno="6514"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;Maximum<sp/>amount<sp/>of<sp/>simultaneous<sp/>calls<sp/>reached<sp/>!&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="6515"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>FALSE;</highlight></codeline>
<codeline lineno="6516"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6517"><highlight class="normal"></highlight></codeline>
<codeline lineno="6518"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>notify_soundcard_usage(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>used){</highlight></codeline>
<codeline lineno="6519"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSSndCard<sp/>*card=lc-&gt;sound_conf.capt_sndcard;</highlight></codeline>
<codeline lineno="6520"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(card<sp/>&amp;&amp;<sp/>ms_snd_card_get_capabilities(card)<sp/>&amp;<sp/>MS_SND_CARD_CAP_IS_SLOW){</highlight></codeline>
<codeline lineno="6521"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_snd_card_set_usage_hint(card,used);</highlight></codeline>
<codeline lineno="6522"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6523"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6524"><highlight class="normal"></highlight></codeline>
<codeline lineno="6525"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_soundcard_hint_check(<sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*<sp/>lc){</highlight></codeline>
<codeline lineno="6526"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList*<sp/>the_calls<sp/>=<sp/>lc-&gt;calls;</highlight></codeline>
<codeline lineno="6527"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref>*<sp/>call<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="6528"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>bool_t<sp/>dont_need_sound<sp/>=<sp/>TRUE;</highlight></codeline>
<codeline lineno="6529"><highlight class="normal"></highlight></codeline>
<codeline lineno="6530"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>check<sp/>if<sp/>the<sp/>remaining<sp/>calls<sp/>are<sp/>paused<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6531"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal">(<sp/>the_calls<sp/>){</highlight></codeline>
<codeline lineno="6532"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call<sp/>=<sp/>the_calls-&gt;data;</highlight></codeline>
<codeline lineno="6533"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(<sp/>call-&gt;state<sp/>!=<sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaaaa35a1564a5ce1bcc4719ab523edec98" kindref="member">LinphoneCallPausing</ref><sp/>&amp;&amp;<sp/>call-&gt;state<sp/>!=<sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa59c57a8b9a7a0086a79c85028bb4cefc" kindref="member">LinphoneCallPaused</ref><sp/>){</highlight></codeline>
<codeline lineno="6534"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>dont_need_sound<sp/>=<sp/>FALSE;</highlight></codeline>
<codeline lineno="6535"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6536"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6537"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>the_calls<sp/>=<sp/>the_calls-&gt;next;</highlight></codeline>
<codeline lineno="6538"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6539"><highlight class="normal"></highlight></codeline>
<codeline lineno="6540"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*<sp/>if<sp/>no<sp/>more<sp/>calls<sp/>or<sp/>all<sp/>calls<sp/>are<sp/>paused,<sp/>we<sp/>can<sp/>free<sp/>the<sp/>soundcard<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6541"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<sp/>(lc-&gt;calls==NULL<sp/>||<sp/>dont_need_sound)<sp/>&amp;&amp;<sp/>!lc-&gt;use_files){</highlight></codeline>
<codeline lineno="6542"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;Notifying<sp/>soundcard<sp/>that<sp/>we<sp/>don&apos;t<sp/>need<sp/>it<sp/>anymore<sp/>for<sp/>calls.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="6543"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>notify_soundcard_usage(lc,FALSE);</highlight></codeline>
<codeline lineno="6544"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6545"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6546"><highlight class="normal"></highlight></codeline>
<codeline lineno="6547"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>linphone_core_add_call(<sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call)</highlight></codeline>
<codeline lineno="6548"><highlight class="normal">{</highlight></codeline>
<codeline lineno="6549"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="group__call__control_1ga617649e37b3b4b2d8323746da33c10e0" kindref="member">linphone_core_can_we_add_call</ref>(lc)){</highlight></codeline>
<codeline lineno="6550"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;calls==NULL)<sp/>notify_soundcard_usage(lc,TRUE);</highlight></codeline>
<codeline lineno="6551"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;calls<sp/>=<sp/>ms_list_append(lc-&gt;calls,call);</highlight></codeline>
<codeline lineno="6552"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="6553"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6554"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="6555"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6556"><highlight class="normal"></highlight></codeline>
<codeline lineno="6557"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>linphone_core_del_call(<sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call)</highlight></codeline>
<codeline lineno="6558"><highlight class="normal">{</highlight></codeline>
<codeline lineno="6559"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList<sp/>*it;</highlight></codeline>
<codeline lineno="6560"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList<sp/>*the_calls<sp/>=<sp/>lc-&gt;calls;</highlight></codeline>
<codeline lineno="6561"><highlight class="normal"></highlight></codeline>
<codeline lineno="6562"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>it=ms_list_find(the_calls,call);</highlight></codeline>
<codeline lineno="6563"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(it)</highlight></codeline>
<codeline lineno="6564"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="6565"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>the_calls<sp/>=<sp/>ms_list_remove_link(the_calls,it);</highlight></codeline>
<codeline lineno="6566"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6567"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6568"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="6569"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;could<sp/>not<sp/>find<sp/>the<sp/>call<sp/>into<sp/>the<sp/>list\n&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="6570"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="6571"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6572"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;calls<sp/>=<sp/>the_calls;</highlight></codeline>
<codeline lineno="6573"><highlight class="normal"></highlight></codeline>
<codeline lineno="6574"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="6575"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6576"><highlight class="normal"></highlight></codeline>
<codeline lineno="6577"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga890b2f3ccfa2b4b593ab01f5e292afea" kindref="member">linphone_core_set_remote_ringback_tone</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*file){</highlight></codeline>
<codeline lineno="6578"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;sound_conf.ringback_tone){</highlight></codeline>
<codeline lineno="6579"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;sound_conf.ringback_tone);</highlight></codeline>
<codeline lineno="6580"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sound_conf.ringback_tone=NULL;</highlight></codeline>
<codeline lineno="6581"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6582"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(file)</highlight></codeline>
<codeline lineno="6583"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;sound_conf.ringback_tone=ms_strdup(file);</highlight></codeline>
<codeline lineno="6584"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6585"><highlight class="normal"></highlight></codeline>
<codeline lineno="6586"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<ref refid="group__media__parameters_1gaa1fa9a4a525a33c010bed547bebcf492" kindref="member">linphone_core_get_remote_ringback_tone</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="6587"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;sound_conf.ringback_tone;</highlight></codeline>
<codeline lineno="6588"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6589"><highlight class="normal"></highlight></codeline>
<codeline lineno="6590"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga799f695033112a4c10525abd3c0607b6" kindref="member">linphone_core_set_ring_during_incoming_early_media</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>enable)<sp/>{</highlight></codeline>
<codeline lineno="6591"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;ring_during_incoming_early_media&quot;</highlight><highlight class="normal">,<sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">)enable);</highlight></codeline>
<codeline lineno="6592"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6593"><highlight class="normal"></highlight></codeline>
<codeline lineno="6594"><highlight class="normal">bool_t<sp/>linphone_core_get_ring_during_incoming_early_media(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="6595"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(bool_t)<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;sound&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;ring_during_incoming_early_media&quot;</highlight><highlight class="normal">,<sp/>0);</highlight></codeline>
<codeline lineno="6596"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6597"><highlight class="normal"></highlight></codeline>
<codeline lineno="6598"><highlight class="normal"><ref refid="group__media__parameters_1gae02100a16ec58d90edc04725bd58f747" kindref="member">LinphonePayloadType</ref>*<sp/><ref refid="group__media__parameters_1ga64a36f5889c7eca3238a9710d644c890" kindref="member">linphone_core_find_payload_type</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*<sp/>lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>type,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>rate,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>channels)<sp/>{</highlight></codeline>
<codeline lineno="6599"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1gae02100a16ec58d90edc04725bd58f747" kindref="member">LinphonePayloadType</ref>*<sp/>result<sp/>=<sp/>find_payload_type_from_list(type,<sp/>rate,<sp/>channels,<sp/><ref refid="group__media__parameters_1ga8b649e401c9155420eba0712923cc201" kindref="member">linphone_core_get_audio_codecs</ref>(lc));</highlight></codeline>
<codeline lineno="6600"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(result)<sp/><sp/>{</highlight></codeline>
<codeline lineno="6601"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>result;</highlight></codeline>
<codeline lineno="6602"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="6603"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>result<sp/>=<sp/>find_payload_type_from_list(type,<sp/>rate,<sp/>0,<sp/><ref refid="group__media__parameters_1ga1b2b896da17654f8033e6f8a390a0589" kindref="member">linphone_core_get_video_codecs</ref>(lc));</highlight></codeline>
<codeline lineno="6604"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(result)<sp/>{</highlight></codeline>
<codeline lineno="6605"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>result;</highlight></codeline>
<codeline lineno="6606"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6607"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6608"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">/*not<sp/>found*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6609"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="6610"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6611"><highlight class="normal"></highlight></codeline>
<codeline lineno="6612"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*linphone_global_state_to_string(<ref refid="group__initializing_1gae852b5b31d6d5e673de9d2c9b63aca7e" kindref="member">LinphoneGlobalState</ref><sp/>gs){</highlight></codeline>
<codeline lineno="6613"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">switch</highlight><highlight class="normal">(gs){</highlight></codeline>
<codeline lineno="6614"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>LinphoneGlobalOff:</highlight></codeline>
<codeline lineno="6615"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;LinphoneGlobalOff&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6616"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6617"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>LinphoneGlobalOn:</highlight></codeline>
<codeline lineno="6618"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;LinphoneGlobalOn&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6619"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6620"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>LinphoneGlobalStartup:</highlight></codeline>
<codeline lineno="6621"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;LinphoneGlobalStartup&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6622"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6623"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>LinphoneGlobalShutdown:</highlight></codeline>
<codeline lineno="6624"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;LinphoneGlobalShutdown&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6625"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>LinphoneGlobalConfiguring:</highlight></codeline>
<codeline lineno="6626"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;LinphoneGlobalConfiguring&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6627"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6628"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6629"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="6630"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6631"><highlight class="normal"></highlight></codeline>
<codeline lineno="6632"><highlight class="normal"><ref refid="group__initializing_1gae852b5b31d6d5e673de9d2c9b63aca7e" kindref="member">LinphoneGlobalState</ref><sp/>linphone_core_get_global_state(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="6633"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;state;</highlight></codeline>
<codeline lineno="6634"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6635"><highlight class="normal"></highlight></codeline>
<codeline lineno="6636"><highlight class="normal"><ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref><sp/>*<ref refid="group__media__parameters_1gaf733e15bc6e3356f645f66b179c38d05" kindref="member">linphone_core_create_default_call_parameters</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="6637"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref><sp/>*p=linphone_call_params_new();</highlight></codeline>
<codeline lineno="6638"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_init_default_params(lc,<sp/>p);</highlight></codeline>
<codeline lineno="6639"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>p;</highlight></codeline>
<codeline lineno="6640"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6641"><highlight class="normal"></highlight></codeline>
<codeline lineno="6651"><highlight class="normal"><ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref><sp/>*<ref refid="group__call__control_1ga438f864cacbed06b139e56a2160396c3" kindref="member">linphone_core_create_call_params</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call){</highlight></codeline>
<codeline lineno="6652"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!call)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gaf733e15bc6e3356f645f66b179c38d05" kindref="member">linphone_core_create_default_call_parameters</ref>(lc);</highlight></codeline>
<codeline lineno="6653"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1gaaff626b40ba1834c7912aef9fc441544" kindref="member">linphone_call_params_copy</ref>(call-&gt;params);</highlight></codeline>
<codeline lineno="6654"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6655"><highlight class="normal"></highlight></codeline>
<codeline lineno="6656"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<ref refid="group__misc_1ga55b055097d13c171e08ead648869cdc1" kindref="member">linphone_reason_to_string</ref>(<ref refid="group__misc_1gabe82a1a1ffc3d6b4e0b51a03028513b7" kindref="member">LinphoneReason</ref><sp/>err){</highlight></codeline>
<codeline lineno="6657"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">switch</highlight><highlight class="normal">(err){</highlight></codeline>
<codeline lineno="6658"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>LinphoneReasonNone:</highlight></codeline>
<codeline lineno="6659"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;No<sp/>error&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6660"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ggaf7346e9b3a064155f3d5d3811d684fb2ac71a4d9109f8eb8a9f5961109d505331" kindref="member">LinphoneReasonNoResponse</ref>:</highlight></codeline>
<codeline lineno="6661"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;No<sp/>response&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6662"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ggaf7346e9b3a064155f3d5d3811d684fb2a481fba28c828e2062c23bd1011d1a5e6" kindref="member">LinphoneReasonForbidden</ref>:</highlight></codeline>
<codeline lineno="6663"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;Bad<sp/>credentials&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6664"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ggaf7346e9b3a064155f3d5d3811d684fb2a442fce67ace6491eee2f4a94177f34c6" kindref="member">LinphoneReasonDeclined</ref>:</highlight></codeline>
<codeline lineno="6665"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;Call<sp/>declined&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6666"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ggaf7346e9b3a064155f3d5d3811d684fb2adf8c424e8f8e89efaf51e187c04ae7d5" kindref="member">LinphoneReasonNotFound</ref>:</highlight></codeline>
<codeline lineno="6667"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;User<sp/>not<sp/>found&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6668"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ggaf7346e9b3a064155f3d5d3811d684fb2a528a41c31768cff46c03b6a5e2fcb073" kindref="member">LinphoneReasonNotAnswered</ref>:</highlight></codeline>
<codeline lineno="6669"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;Not<sp/>answered&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6670"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ggaf7346e9b3a064155f3d5d3811d684fb2a8ef78446b3e27f4acd2f69356f7836fa" kindref="member">LinphoneReasonBusy</ref>:</highlight></codeline>
<codeline lineno="6671"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;Busy&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6672"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>LinphoneReasonMedia:</highlight></codeline>
<codeline lineno="6673"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;Incompatible<sp/>media<sp/>capabilities&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6674"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ggaf7346e9b3a064155f3d5d3811d684fb2a6018a6fcf4fbf14fc8528e41df772b01" kindref="member">LinphoneReasonIOError</ref>:</highlight></codeline>
<codeline lineno="6675"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;IO<sp/>error&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6676"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ggaf7346e9b3a064155f3d5d3811d684fb2a1a9456d0092d6472a0d9d9a9f3903d7d" kindref="member">LinphoneReasonDoNotDisturb</ref>:</highlight></codeline>
<codeline lineno="6677"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;Do<sp/>not<sp/>distrub&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6678"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ggaf7346e9b3a064155f3d5d3811d684fb2ab7457897bc2f2c0125f7d3580a236689" kindref="member">LinphoneReasonUnauthorized</ref>:</highlight></codeline>
<codeline lineno="6679"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;Unauthorized&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6680"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ggaf7346e9b3a064155f3d5d3811d684fb2aa48a9c03a443b3f89727823890860f0a" kindref="member">LinphoneReasonNotAcceptable</ref>:</highlight></codeline>
<codeline lineno="6681"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;Not<sp/>acceptable<sp/>here&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6682"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ggaf7346e9b3a064155f3d5d3811d684fb2a4f5a4d3401cfdca4fe674574423c43d4" kindref="member">LinphoneReasonNoMatch</ref>:</highlight></codeline>
<codeline lineno="6683"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;No<sp/>match&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6684"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ggaf7346e9b3a064155f3d5d3811d684fb2af363d824057c7dc81b9b9547ed2db3ed" kindref="member">LinphoneReasonMovedPermanently</ref>:</highlight></codeline>
<codeline lineno="6685"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;Moved<sp/>permanently&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6686"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ggaf7346e9b3a064155f3d5d3811d684fb2aeec5f49f4d8469e70718ee04cc39b787" kindref="member">LinphoneReasonGone</ref>:</highlight></codeline>
<codeline lineno="6687"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;Gone&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6688"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ggaf7346e9b3a064155f3d5d3811d684fb2a75ded372e5686dc2f6ee9269740ea9f7" kindref="member">LinphoneReasonTemporarilyUnavailable</ref>:</highlight></codeline>
<codeline lineno="6689"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;Temporarily<sp/>unavailable&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6690"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ggaf7346e9b3a064155f3d5d3811d684fb2a4485dfc349ec155e3b6d25759b9e3b69" kindref="member">LinphoneReasonAddressIncomplete</ref>:</highlight></codeline>
<codeline lineno="6691"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;Address<sp/>incomplete&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6692"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ggaf7346e9b3a064155f3d5d3811d684fb2af4ec78f5d1c2b63cfc2122cd950ea6ac" kindref="member">LinphoneReasonNotImplemented</ref>:</highlight></codeline>
<codeline lineno="6693"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;Not<sp/>implemented&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6694"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ggaf7346e9b3a064155f3d5d3811d684fb2a005ef425565c3b5099f783ed40b298b8" kindref="member">LinphoneReasonBadGateway</ref>:</highlight></codeline>
<codeline lineno="6695"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;Bad<sp/>gateway&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6696"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ggaf7346e9b3a064155f3d5d3811d684fb2a9f2b51f340cd01ea8014267552860c89" kindref="member">LinphoneReasonServerTimeout</ref>:</highlight></codeline>
<codeline lineno="6697"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;Server<sp/>timeout&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6698"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ggaf7346e9b3a064155f3d5d3811d684fb2a3fa52bc410a926ff5f5aa519cdd90e94" kindref="member">LinphoneReasonUnknown</ref>:</highlight></codeline>
<codeline lineno="6699"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;Unknown<sp/>error&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6700"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6701"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;unknown<sp/>error&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6702"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6703"><highlight class="normal"></highlight></codeline>
<codeline lineno="6704"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*linphone_error_to_string(<ref refid="group__misc_1gabe82a1a1ffc3d6b4e0b51a03028513b7" kindref="member">LinphoneReason</ref><sp/>err){</highlight></codeline>
<codeline lineno="6705"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga55b055097d13c171e08ead648869cdc1" kindref="member">linphone_reason_to_string</ref>(err);</highlight></codeline>
<codeline lineno="6706"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6710"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ga29ecb77c4dbd33b4827e39e9aed846ec" kindref="member">linphone_core_enable_keep_alive</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*<sp/>lc,bool_t<sp/>enable)<sp/>{</highlight></codeline>
<codeline lineno="6711"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6712"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="group__network__parameters_1ga9de28ff0fd0f8ff65ef82eba9592276c" kindref="member">linphone_core_get_firewall_policy</ref>(lc)==<ref refid="group__network__parameters_1ggadad0a1c27596017d9d9b3c30ef47f5beab254b7940dee8816026d50fb29ecaae8" kindref="member">LinphonePolicyUseUpnp</ref>)<sp/>{</highlight></codeline>
<codeline lineno="6713"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>enable<sp/>=<sp/>FALSE;</highlight></codeline>
<codeline lineno="6714"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6715"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//BUILD_UPNP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6716"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(enable<sp/>&gt;<sp/>0)<sp/>{</highlight></codeline>
<codeline lineno="6717"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_use_tcp_tls_keepalive(lc-&gt;sal,lc-&gt;sip_conf.tcp_tls_keepalive);</highlight></codeline>
<codeline lineno="6718"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_set_keepalive_period(lc-&gt;sal,lc-&gt;sip_conf.keepalive_period);</highlight></codeline>
<codeline lineno="6719"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="6720"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_set_keepalive_period(lc-&gt;sal,0);</highlight></codeline>
<codeline lineno="6721"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6722"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6726"><highlight class="normal">bool_t<sp/><ref refid="group__network__parameters_1gac02dfe51519ae8a5550f0b1b4233c460" kindref="member">linphone_core_keep_alive_enabled</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*<sp/>lc)<sp/>{</highlight></codeline>
<codeline lineno="6727"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>sal_get_keepalive_period(lc-&gt;sal)<sp/>&gt;<sp/>0;</highlight></codeline>
<codeline lineno="6728"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6729"><highlight class="normal"></highlight></codeline>
<codeline lineno="6730"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__IOS_1gaef3c840b3c9f576c642b49cf306c7461" kindref="member">linphone_core_start_dtmf_stream</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*<sp/>lc)<sp/>{</highlight></codeline>
<codeline lineno="6731"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>get_dtmf_gen(lc);<sp/></highlight><highlight class="comment">/*make<sp/>sure<sp/>ring<sp/>stream<sp/>is<sp/>started*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6732"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;ringstream_autorelease=FALSE;<sp/></highlight><highlight class="comment">/*disable<sp/>autorelease<sp/>mode*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6733"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6734"><highlight class="normal"></highlight></codeline>
<codeline lineno="6743"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga9b2e2d8862d6d80fa873755276ebb91b" kindref="member">linphone_core_stop_ringing</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*<sp/>lc)<sp/>{</highlight></codeline>
<codeline lineno="6744"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*call=<ref refid="group__call__control_1gac268a222347024ad7adb4eaf1fd27241" kindref="member">linphone_core_get_current_call</ref>(lc);</highlight></codeline>
<codeline lineno="6745"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;ringstream)<sp/>{</highlight></codeline>
<codeline lineno="6746"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ring_stop(lc-&gt;ringstream);</highlight></codeline>
<codeline lineno="6747"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;ringstream=NULL;</highlight></codeline>
<codeline lineno="6748"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;dmfs_playing_start_time=0;</highlight></codeline>
<codeline lineno="6749"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;ringstream_autorelease=TRUE;</highlight></codeline>
<codeline lineno="6750"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6751"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(call<sp/>&amp;&amp;<sp/>call-&gt;ringing_beep){</highlight></codeline>
<codeline lineno="6752"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga5d9cfc960f9779c98866250a665f3d6d" kindref="member">linphone_core_stop_dtmf</ref>(lc);</highlight></codeline>
<codeline lineno="6753"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>call-&gt;ringing_beep=FALSE;</highlight></codeline>
<codeline lineno="6754"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6755"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6756"><highlight class="normal"></highlight></codeline>
<codeline lineno="6757"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__IOS_1gad0ecef2fb7a77c3363aa94edeadaf65b" kindref="member">linphone_core_stop_dtmf_stream</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*<sp/>lc)<sp/>{</highlight></codeline>
<codeline lineno="6758"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;dmfs_playing_start_time!=0)<sp/>{</highlight></codeline>
<codeline lineno="6759"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__media__parameters_1ga9b2e2d8862d6d80fa873755276ebb91b" kindref="member">linphone_core_stop_ringing</ref>(lc);</highlight></codeline>
<codeline lineno="6760"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6761"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6762"><highlight class="normal"></highlight></codeline>
<codeline lineno="6763"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gafac237af98e82869b76b3954fc7f2f7c" kindref="member">linphone_core_get_max_calls</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="6764"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;max_calls;</highlight></codeline>
<codeline lineno="6765"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6766"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1ga3abcbe218c3b69a115a2aac02112d5f8" kindref="member">linphone_core_set_max_calls</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>max)<sp/>{</highlight></codeline>
<codeline lineno="6767"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;max_calls=max;</highlight></codeline>
<codeline lineno="6768"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6769"><highlight class="normal"></highlight></codeline>
<codeline lineno="6770"><highlight class="normal"></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">Hook{</highlight></codeline>
<codeline lineno="6771"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>LinphoneCoreIterateHook<sp/>fun;</highlight></codeline>
<codeline lineno="6772"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*data;</highlight></codeline>
<codeline lineno="6773"><highlight class="normal">}Hook;</highlight></codeline>
<codeline lineno="6774"><highlight class="normal"></highlight></codeline>
<codeline lineno="6775"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/>Hook<sp/>*hook_new(LinphoneCoreIterateHook<sp/>hook,<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*hook_data){</highlight></codeline>
<codeline lineno="6776"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>Hook<sp/>*h=ms_new0(Hook,1);</highlight></codeline>
<codeline lineno="6777"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>h-&gt;fun=hook;</highlight></codeline>
<codeline lineno="6778"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>h-&gt;data=hook_data;</highlight></codeline>
<codeline lineno="6779"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>h;</highlight></codeline>
<codeline lineno="6780"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6781"><highlight class="normal"></highlight></codeline>
<codeline lineno="6782"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>hook_invoke(Hook<sp/>*h){</highlight></codeline>
<codeline lineno="6783"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>h-&gt;fun(h-&gt;data);</highlight></codeline>
<codeline lineno="6784"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6785"><highlight class="normal"></highlight></codeline>
<codeline lineno="6786"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_add_iterate_hook(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>LinphoneCoreIterateHook<sp/>hook,<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*hook_data){</highlight></codeline>
<codeline lineno="6787"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;hooks=ms_list_append(lc-&gt;hooks,hook_new(hook,hook_data));</highlight></codeline>
<codeline lineno="6788"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6789"><highlight class="normal"></highlight></codeline>
<codeline lineno="6790"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_run_hooks(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="6791"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_list_for_each(lc-&gt;hooks,(void<sp/>(*)(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*))hook_invoke);</highlight></codeline>
<codeline lineno="6792"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6793"><highlight class="normal"></highlight></codeline>
<codeline lineno="6794"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_free_hooks(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="6795"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_list_for_each(lc-&gt;hooks,(void<sp/>(*)(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*))ms_free);</highlight></codeline>
<codeline lineno="6796"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_list_free(lc-&gt;hooks);</highlight></codeline>
<codeline lineno="6797"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;hooks=NULL;</highlight></codeline>
<codeline lineno="6798"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6799"><highlight class="normal"></highlight></codeline>
<codeline lineno="6800"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_remove_iterate_hook(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>LinphoneCoreIterateHook<sp/>hook,<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*hook_data){</highlight></codeline>
<codeline lineno="6801"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList<sp/>*elem;</highlight></codeline>
<codeline lineno="6802"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(elem=lc-&gt;hooks;elem!=NULL;elem=elem-&gt;next){</highlight></codeline>
<codeline lineno="6803"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>Hook<sp/>*h=(Hook*)elem-&gt;data;</highlight></codeline>
<codeline lineno="6804"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>if<sp/>(h-&gt;fun==hook<sp/>&amp;&amp;<sp/>h-&gt;data==hook_data){</highlight></codeline>
<codeline lineno="6805"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;hooks<sp/>=<sp/>ms_list_remove_link(lc-&gt;hooks,elem);</highlight></codeline>
<codeline lineno="6806"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(h);</highlight></codeline>
<codeline lineno="6807"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6808"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6809"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6810"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_error(</highlight><highlight class="stringliteral">&quot;linphone_core_remove_iterate_hook():<sp/>No<sp/>such<sp/>hook<sp/>found.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="6811"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6812"><highlight class="normal"></highlight></codeline>
<codeline lineno="6813"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1ga6e8a69ad140f937a262746abc39baa6a" kindref="member">linphone_core_set_zrtp_secrets_file</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>file){</highlight></codeline>
<codeline lineno="6814"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;zrtp_secrets_cache<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="6815"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;zrtp_secrets_cache);</highlight></codeline>
<codeline lineno="6816"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6817"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;zrtp_secrets_cache=file<sp/>?<sp/>ms_strdup(file)<sp/>:<sp/>NULL;</highlight></codeline>
<codeline lineno="6818"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6819"><highlight class="normal"></highlight></codeline>
<codeline lineno="6820"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<ref refid="group__initializing_1gacf963bdd8dcb50cdd0486e3b483b100c" kindref="member">linphone_core_get_zrtp_secrets_file</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="6821"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;zrtp_secrets_cache;</highlight></codeline>
<codeline lineno="6822"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6823"><highlight class="normal"></highlight></codeline>
<codeline lineno="6824"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1ga72cd7a1aebee54b1a7bdae283003451d" kindref="member">linphone_core_set_user_certificates_path</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>path){</highlight></codeline>
<codeline lineno="6825"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>new_value;</highlight></codeline>
<codeline lineno="6826"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>new_value<sp/>=<sp/>path?ms_strdup(path):NULL;</highlight></codeline>
<codeline lineno="6827"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;user_certificates_path)<sp/>ms_free(lc-&gt;user_certificates_path);</highlight></codeline>
<codeline lineno="6828"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;misc&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;user_certificates_path&quot;</highlight><highlight class="normal">,lc-&gt;user_certificates_path=new_value);</highlight></codeline>
<codeline lineno="6829"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>return<sp/>;</highlight></codeline>
<codeline lineno="6830"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6831"><highlight class="normal"></highlight></codeline>
<codeline lineno="6832"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<ref refid="group__initializing_1ga4dc5ce188f71ecb2fd3d47d070f4f0fd" kindref="member">linphone_core_get_user_certificates_path</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="6833"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;user_certificates_path;</highlight></codeline>
<codeline lineno="6834"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6835"><highlight class="normal"></highlight></codeline>
<codeline lineno="6836"><highlight class="normal"><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref>*<sp/><ref refid="group__call__control_1ga9c9cfd9d2efa544e3b3644789abcbc55" kindref="member">linphone_core_find_call_from_uri</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*uri)<sp/>{</highlight></codeline>
<codeline lineno="6837"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList<sp/>*calls;</highlight></codeline>
<codeline lineno="6838"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*c;</highlight></codeline>
<codeline lineno="6839"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__linphone__address_1ga5af5a516ac253e3cda4f51b599a5385b" kindref="member">LinphoneAddress</ref><sp/>*address;</highlight></codeline>
<codeline lineno="6840"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*current_uri;</highlight></codeline>
<codeline lineno="6841"><highlight class="normal"></highlight></codeline>
<codeline lineno="6842"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(uri<sp/>==<sp/>NULL)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="6843"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>calls=lc-&gt;calls;</highlight></codeline>
<codeline lineno="6844"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal">(calls)<sp/>{</highlight></codeline>
<codeline lineno="6845"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>c=(<ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref>*)calls-&gt;data;</highlight></codeline>
<codeline lineno="6846"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>calls=calls-&gt;next;</highlight></codeline>
<codeline lineno="6847"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>address<sp/>=<sp/><ref refid="group__call__control_1ga7c43232df9cd89feb0c68b68c34e6ace" kindref="member">linphone_call_get_remote_address</ref>(c);</highlight></codeline>
<codeline lineno="6848"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>current_uri=<ref refid="group__linphone__address_1gae14a9f3157cc4421e5e5195c9ece2038" kindref="member">linphone_address_as_string_uri_only</ref>(address);</highlight></codeline>
<codeline lineno="6849"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(strcmp(uri,current_uri)==0)<sp/>{</highlight></codeline>
<codeline lineno="6850"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(current_uri);</highlight></codeline>
<codeline lineno="6851"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>c;</highlight></codeline>
<codeline lineno="6852"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="6853"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(current_uri);</highlight></codeline>
<codeline lineno="6854"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6855"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6856"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>NULL;</highlight></codeline>
<codeline lineno="6857"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6858"><highlight class="normal"></highlight></codeline>
<codeline lineno="6859"><highlight class="normal"></highlight></codeline>
<codeline lineno="6866"><highlight class="normal">bool_t<sp/><ref refid="group__call__control_1gaddcb4be3bee7cc9e89330541a176b106" kindref="member">linphone_core_sound_resources_locked</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="6867"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>MSList<sp/>*elem;</highlight></codeline>
<codeline lineno="6868"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(elem=lc-&gt;calls;elem!=NULL;elem=elem-&gt;next)<sp/>{</highlight></codeline>
<codeline lineno="6869"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref><sp/>*c=(<ref refid="group__call__control_1gac0a4861d7c4702c64f7106f2b893c69e" kindref="member">LinphoneCall</ref>*)elem-&gt;data;</highlight></codeline>
<codeline lineno="6870"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>switch<sp/>(c-&gt;state)<sp/>{</highlight></codeline>
<codeline lineno="6871"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaae99727dfb0a8e30ef04ff96ce3bf7e36" kindref="member">LinphoneCallOutgoingInit</ref>:</highlight></codeline>
<codeline lineno="6872"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa4f6c8b38f68a9bdfdd6d59cc904f924c" kindref="member">LinphoneCallOutgoingProgress</ref>:</highlight></codeline>
<codeline lineno="6873"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa229cfe72a8dfee15bdae9f2125b43c67" kindref="member">LinphoneCallOutgoingRinging</ref>:</highlight></codeline>
<codeline lineno="6874"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa7a8cd38252c1a9d8c0ecbdec1aef899d" kindref="member">LinphoneCallOutgoingEarlyMedia</ref>:</highlight></codeline>
<codeline lineno="6875"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa1a32cc3919ca3658eed7deebadbe13b9" kindref="member">LinphoneCallConnected</ref>:</highlight></codeline>
<codeline lineno="6876"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa8b98118762b6f2093f5492da6991fbd8" kindref="member">LinphoneCallRefered</ref>:</highlight></codeline>
<codeline lineno="6877"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaab8684757f565989d4212026f755762ed" kindref="member">LinphoneCallIncomingEarlyMedia</ref>:</highlight></codeline>
<codeline lineno="6878"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__call__control_1ggafc310fd9ba742f7730c632fd72b875eaa29a21291bee6ab53a5595c1d3aaf8bde" kindref="member">LinphoneCallUpdating</ref>:</highlight></codeline>
<codeline lineno="6879"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_message(</highlight><highlight class="stringliteral">&quot;Call<sp/>%p<sp/>is<sp/>locking<sp/>sound<sp/>resources.&quot;</highlight><highlight class="normal">,c);</highlight></codeline>
<codeline lineno="6880"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>TRUE;</highlight></codeline>
<codeline lineno="6881"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">default</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="6882"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6883"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6884"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6885"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>FALSE;</highlight></codeline>
<codeline lineno="6886"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6887"><highlight class="normal"></highlight></codeline>
<codeline lineno="6888"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_set_srtp_enabled(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>enabled)<sp/>{</highlight></codeline>
<codeline lineno="6889"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;srtp&quot;</highlight><highlight class="normal">,(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">)enabled);</highlight></codeline>
<codeline lineno="6890"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6891"><highlight class="normal"></highlight></codeline>
<codeline lineno="6892"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<ref refid="group__media__parameters_1gaafcbe94c69085b5a9931391548a26080" kindref="member">linphone_media_encryption_to_string</ref>(<ref refid="group__media__parameters_1ga61f5a2961ec43a0bd91eb1a664a6f111" kindref="member">LinphoneMediaEncryption</ref><sp/>menc){</highlight></codeline>
<codeline lineno="6893"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">switch</highlight><highlight class="normal">(menc){</highlight></codeline>
<codeline lineno="6894"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ggac01228dce297dfe24304be6a1d2cfa0baa4bbefa58306fc1c23e2525a44a5ab88" kindref="member">LinphoneMediaEncryptionSRTP</ref>:</highlight></codeline>
<codeline lineno="6895"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;LinphoneMediaEncryptionSRTP&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6896"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ggac01228dce297dfe24304be6a1d2cfa0ba62124fc2fc42d6f7f821fd5f6550c776" kindref="member">LinphoneMediaEncryptionDTLS</ref>:</highlight></codeline>
<codeline lineno="6897"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;LinphoneMediaEncryptionDTLS&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6898"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ggac01228dce297dfe24304be6a1d2cfa0ba45e6b6334e661aa1680c48901789495b" kindref="member">LinphoneMediaEncryptionZRTP</ref>:</highlight></codeline>
<codeline lineno="6899"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;LinphoneMediaEncryptionZRTP&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6900"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ggac01228dce297dfe24304be6a1d2cfa0baa30caf910eb4b60f6f5e02156f5bf451" kindref="member">LinphoneMediaEncryptionNone</ref>:</highlight></codeline>
<codeline lineno="6901"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;LinphoneMediaEncryptionNone&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6902"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6903"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_error(</highlight><highlight class="stringliteral">&quot;Invalid<sp/>LinphoneMediaEncryption<sp/>value<sp/>%i&quot;</highlight><highlight class="normal">,(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">)menc);</highlight></codeline>
<codeline lineno="6904"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;INVALID&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6905"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6906"><highlight class="normal"></highlight></codeline>
<codeline lineno="6907"><highlight class="normal"></highlight></codeline>
<codeline lineno="6908"><highlight class="normal">bool_t<sp/><ref refid="group__initializing_1gadbf17fa38a640ad2fd3d89b41965adf6" kindref="member">linphone_core_media_encryption_supported</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__media__parameters_1ga61f5a2961ec43a0bd91eb1a664a6f111" kindref="member">LinphoneMediaEncryption</ref><sp/>menc){</highlight></codeline>
<codeline lineno="6909"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">switch</highlight><highlight class="normal">(menc){</highlight></codeline>
<codeline lineno="6910"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ggac01228dce297dfe24304be6a1d2cfa0baa4bbefa58306fc1c23e2525a44a5ab88" kindref="member">LinphoneMediaEncryptionSRTP</ref>:</highlight></codeline>
<codeline lineno="6911"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>ms_srtp_supported();</highlight></codeline>
<codeline lineno="6912"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ggac01228dce297dfe24304be6a1d2cfa0ba62124fc2fc42d6f7f821fd5f6550c776" kindref="member">LinphoneMediaEncryptionDTLS</ref>:</highlight></codeline>
<codeline lineno="6913"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>ms_dtls_srtp_available();</highlight></codeline>
<codeline lineno="6914"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ggac01228dce297dfe24304be6a1d2cfa0ba45e6b6334e661aa1680c48901789495b" kindref="member">LinphoneMediaEncryptionZRTP</ref>:</highlight></codeline>
<codeline lineno="6915"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>ms_zrtp_available();</highlight></codeline>
<codeline lineno="6916"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ggac01228dce297dfe24304be6a1d2cfa0baa30caf910eb4b60f6f5e02156f5bf451" kindref="member">LinphoneMediaEncryptionNone</ref>:</highlight></codeline>
<codeline lineno="6917"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>TRUE;</highlight></codeline>
<codeline lineno="6918"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6919"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>FALSE;</highlight></codeline>
<codeline lineno="6920"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6921"><highlight class="normal"></highlight></codeline>
<codeline lineno="6922"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gab578077cfa2b6e16f12b6249189ebe42" kindref="member">linphone_core_set_media_encryption</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__media__parameters_1ga61f5a2961ec43a0bd91eb1a664a6f111" kindref="member">LinphoneMediaEncryption</ref><sp/>menc)<sp/>{</highlight></codeline>
<codeline lineno="6923"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*type=</highlight><highlight class="stringliteral">&quot;none&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6924"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>ret=0;</highlight></codeline>
<codeline lineno="6925"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(menc<sp/>==<sp/><ref refid="group__media__parameters_1ggac01228dce297dfe24304be6a1d2cfa0baa4bbefa58306fc1c23e2525a44a5ab88" kindref="member">LinphoneMediaEncryptionSRTP</ref>){</highlight></codeline>
<codeline lineno="6926"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!ms_srtp_supported()){</highlight></codeline>
<codeline lineno="6927"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;SRTP<sp/>not<sp/>supported<sp/>by<sp/>library.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="6928"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>type=</highlight><highlight class="stringliteral">&quot;none&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6929"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ret=-1;</highlight></codeline>
<codeline lineno="6930"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>type=</highlight><highlight class="stringliteral">&quot;srtp&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6931"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(menc<sp/>==<sp/><ref refid="group__media__parameters_1ggac01228dce297dfe24304be6a1d2cfa0ba45e6b6334e661aa1680c48901789495b" kindref="member">LinphoneMediaEncryptionZRTP</ref>){</highlight></codeline>
<codeline lineno="6932"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!ms_zrtp_available()){</highlight></codeline>
<codeline lineno="6933"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;ZRTP<sp/>not<sp/>supported<sp/>by<sp/>library.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="6934"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>type=</highlight><highlight class="stringliteral">&quot;none&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6935"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ret=-1;</highlight></codeline>
<codeline lineno="6936"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>type=</highlight><highlight class="stringliteral">&quot;zrtp&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6937"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(menc<sp/>==<sp/><ref refid="group__media__parameters_1ggac01228dce297dfe24304be6a1d2cfa0ba62124fc2fc42d6f7f821fd5f6550c776" kindref="member">LinphoneMediaEncryptionDTLS</ref>){</highlight></codeline>
<codeline lineno="6938"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!ms_dtls_srtp_available()){</highlight></codeline>
<codeline lineno="6939"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;DTLS<sp/>not<sp/>supported<sp/>by<sp/>library.&quot;</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="6940"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>type=</highlight><highlight class="stringliteral">&quot;none&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6941"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ret=-1;</highlight></codeline>
<codeline lineno="6942"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>type=</highlight><highlight class="stringliteral">&quot;dtls&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="6943"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="6944"><highlight class="normal"></highlight></codeline>
<codeline lineno="6945"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;media_encryption&quot;</highlight><highlight class="normal">,type);</highlight></codeline>
<codeline lineno="6946"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>ret;</highlight></codeline>
<codeline lineno="6947"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6948"><highlight class="normal"></highlight></codeline>
<codeline lineno="6949"><highlight class="normal"><ref refid="group__media__parameters_1ga61f5a2961ec43a0bd91eb1a664a6f111" kindref="member">LinphoneMediaEncryption</ref><sp/><ref refid="group__media__parameters_1ga3550fc4b1096105b054af72c992e6237" kindref="member">linphone_core_get_media_encryption</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="6950"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>menc<sp/>=<sp/><ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;media_encryption&quot;</highlight><highlight class="normal">,<sp/>NULL);</highlight></codeline>
<codeline lineno="6951"><highlight class="normal"></highlight></codeline>
<codeline lineno="6952"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(menc<sp/>==<sp/>NULL)</highlight></codeline>
<codeline lineno="6953"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ggac01228dce297dfe24304be6a1d2cfa0baa30caf910eb4b60f6f5e02156f5bf451" kindref="member">LinphoneMediaEncryptionNone</ref>;</highlight></codeline>
<codeline lineno="6954"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(strcmp(menc,<sp/></highlight><highlight class="stringliteral">&quot;srtp&quot;</highlight><highlight class="normal">)==0)</highlight></codeline>
<codeline lineno="6955"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ggac01228dce297dfe24304be6a1d2cfa0baa4bbefa58306fc1c23e2525a44a5ab88" kindref="member">LinphoneMediaEncryptionSRTP</ref>;</highlight></codeline>
<codeline lineno="6956"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(strcmp(menc,<sp/></highlight><highlight class="stringliteral">&quot;dtls&quot;</highlight><highlight class="normal">)==0)</highlight></codeline>
<codeline lineno="6957"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ggac01228dce297dfe24304be6a1d2cfa0ba62124fc2fc42d6f7f821fd5f6550c776" kindref="member">LinphoneMediaEncryptionDTLS</ref>;</highlight></codeline>
<codeline lineno="6958"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(strcmp(menc,<sp/></highlight><highlight class="stringliteral">&quot;zrtp&quot;</highlight><highlight class="normal">)==0)</highlight></codeline>
<codeline lineno="6959"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ggac01228dce297dfe24304be6a1d2cfa0ba45e6b6334e661aa1680c48901789495b" kindref="member">LinphoneMediaEncryptionZRTP</ref>;</highlight></codeline>
<codeline lineno="6960"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6961"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ggac01228dce297dfe24304be6a1d2cfa0baa30caf910eb4b60f6f5e02156f5bf451" kindref="member">LinphoneMediaEncryptionNone</ref>;</highlight></codeline>
<codeline lineno="6962"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6963"><highlight class="normal"></highlight></codeline>
<codeline lineno="6964"><highlight class="normal">bool_t<sp/><ref refid="group__media__parameters_1ga47ac30cbcc93c9b7a0bcb28d6e9bc1a7" kindref="member">linphone_core_is_media_encryption_mandatory</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="6965"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(bool_t)<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;media_encryption_mandatory&quot;</highlight><highlight class="normal">,<sp/>0);</highlight></codeline>
<codeline lineno="6966"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6967"><highlight class="normal"></highlight></codeline>
<codeline lineno="6968"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gacc61f8ae42408ebc3ba91931ec2f539a" kindref="member">linphone_core_set_media_encryption_mandatory</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>m)<sp/>{</highlight></codeline>
<codeline lineno="6969"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;media_encryption_mandatory&quot;</highlight><highlight class="normal">,<sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">)m);</highlight></codeline>
<codeline lineno="6970"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6971"><highlight class="normal"></highlight></codeline>
<codeline lineno="6972"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_init_default_params(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref>*lc,<sp/><ref refid="group__call__control_1gaa91f7e76e8f038ae9acdf42d1bc80a22" kindref="member">LinphoneCallParams</ref><sp/>*params)<sp/>{</highlight></codeline>
<codeline lineno="6973"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>params-&gt;has_video=<ref refid="group__media__parameters_1gac1113e7a9207bf1525f2d57f352391a7" kindref="member">linphone_core_video_enabled</ref>(lc)<sp/>&amp;&amp;<sp/>lc-&gt;video_policy.automatically_initiate;</highlight></codeline>
<codeline lineno="6974"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>params-&gt;media_encryption=<ref refid="group__media__parameters_1ga3550fc4b1096105b054af72c992e6237" kindref="member">linphone_core_get_media_encryption</ref>(lc);</highlight></codeline>
<codeline lineno="6975"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>params-&gt;in_conference=FALSE;</highlight></codeline>
<codeline lineno="6976"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>params-&gt;privacy=<ref refid="group__call__control_1gga99bd271365a2a47d5e804abec3de8aeba90eb4ddfe04dd831034d9435e9c11658" kindref="member">LinphonePrivacyDefault</ref>;</highlight></codeline>
<codeline lineno="6977"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>params-&gt;avpf_enabled=FALSE;</highlight></codeline>
<codeline lineno="6978"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>params-&gt;audio_dir=<ref refid="group__call__control_1gga56806a39ddcb376e62adb6fc3bbf6ba7ab2986b546b9dc751958fe4926eabb4b3" kindref="member">LinphoneMediaDirectionSendRecv</ref>;</highlight></codeline>
<codeline lineno="6979"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>params-&gt;video_dir=<ref refid="group__call__control_1gga56806a39ddcb376e62adb6fc3bbf6ba7ab2986b546b9dc751958fe4926eabb4b3" kindref="member">LinphoneMediaDirectionSendRecv</ref>;</highlight></codeline>
<codeline lineno="6980"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>params-&gt;real_early_media=<ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;misc&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;real_early_media&quot;</highlight><highlight class="normal">,FALSE);</highlight></codeline>
<codeline lineno="6981"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6982"><highlight class="normal"></highlight></codeline>
<codeline lineno="6983"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_set_device_identifier(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>device_id)<sp/>{</highlight></codeline>
<codeline lineno="6984"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;device_id)<sp/>ms_free(lc-&gt;device_id);</highlight></codeline>
<codeline lineno="6985"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;device_id=ms_strdup(device_id);</highlight></codeline>
<codeline lineno="6986"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6987"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/><sp/>linphone_core_get_device_identifier(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="6988"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;device_id;</highlight></codeline>
<codeline lineno="6989"><highlight class="normal">}</highlight></codeline>
<codeline lineno="6990"><highlight class="normal"></highlight></codeline>
<codeline lineno="6998"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ga2fc776d1bee22da2d15a91f02925d913" kindref="member">linphone_core_set_sip_dscp</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>dscp){</highlight></codeline>
<codeline lineno="6999"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_set_dscp(lc-&gt;sal,dscp);</highlight></codeline>
<codeline lineno="7000"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc)){</highlight></codeline>
<codeline lineno="7001"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gac5e9e26edea055a3c5b63cc60c45a695" kindref="member">lp_config_set_int_hex</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;dscp&quot;</highlight><highlight class="normal">,dscp);</highlight></codeline>
<codeline lineno="7002"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>_linphone_core_apply_transports(lc);</highlight></codeline>
<codeline lineno="7003"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="7004"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7005"><highlight class="normal"></highlight></codeline>
<codeline lineno="7013"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ga88edb42a58b294758dabca74d5e9590b" kindref="member">linphone_core_get_sip_dscp</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="7014"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;dscp&quot;</highlight><highlight class="normal">,0x1a);</highlight></codeline>
<codeline lineno="7015"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7016"><highlight class="normal"></highlight></codeline>
<codeline lineno="7024"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ga7a9935736b1002aaa4b0df9881ecb1c0" kindref="member">linphone_core_set_audio_dscp</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>dscp){</highlight></codeline>
<codeline lineno="7025"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc))</highlight></codeline>
<codeline lineno="7026"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gac5e9e26edea055a3c5b63cc60c45a695" kindref="member">lp_config_set_int_hex</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;audio_dscp&quot;</highlight><highlight class="normal">,dscp);</highlight></codeline>
<codeline lineno="7027"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7028"><highlight class="normal"></highlight></codeline>
<codeline lineno="7036"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ga7daf9a795169bbff137eb7a5d28c2331" kindref="member">linphone_core_get_audio_dscp</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="7037"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;audio_dscp&quot;</highlight><highlight class="normal">,0x2e);</highlight></codeline>
<codeline lineno="7038"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7039"><highlight class="normal"></highlight></codeline>
<codeline lineno="7047"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1gaf15ecd18b9d65b071ab7dc200fc6669c" kindref="member">linphone_core_set_video_dscp</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>dscp){</highlight></codeline>
<codeline lineno="7048"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc))</highlight></codeline>
<codeline lineno="7049"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gac5e9e26edea055a3c5b63cc60c45a695" kindref="member">lp_config_set_int_hex</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;video_dscp&quot;</highlight><highlight class="normal">,dscp);</highlight></codeline>
<codeline lineno="7050"><highlight class="normal"></highlight></codeline>
<codeline lineno="7051"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7052"><highlight class="normal"></highlight></codeline>
<codeline lineno="7060"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ga5c54680dff98e57b779ac15153202011" kindref="member">linphone_core_get_video_dscp</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="7061"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;video_dscp&quot;</highlight><highlight class="normal">,0);</highlight></codeline>
<codeline lineno="7062"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7063"><highlight class="normal"></highlight></codeline>
<codeline lineno="7064"><highlight class="normal"></highlight></codeline>
<codeline lineno="7072"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1ga971a0a881b5c9990522ca12e7d2d785b" kindref="member">linphone_core_set_chat_database_path</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*path){</highlight></codeline>
<codeline lineno="7073"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;chat_db_file){</highlight></codeline>
<codeline lineno="7074"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_free(lc-&gt;chat_db_file);</highlight></codeline>
<codeline lineno="7075"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;chat_db_file=NULL;</highlight></codeline>
<codeline lineno="7076"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="7077"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(path)<sp/>{</highlight></codeline>
<codeline lineno="7078"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;chat_db_file=ms_strdup(path);</highlight></codeline>
<codeline lineno="7079"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linphone_core_message_storage_init(lc);</highlight></codeline>
<codeline lineno="7080"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="7081"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7082"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__network__parameters_1ga04abb1a18b2012221b5b20b08c9ebded" kindref="member">linphone_core_enable_sdp_200_ack</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>enable)<sp/>{</highlight></codeline>
<codeline lineno="7083"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;sdp_200_ack&quot;</highlight><highlight class="normal">,lc-&gt;sip_conf.sdp_200_ack=enable);</highlight></codeline>
<codeline lineno="7084"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7085"><highlight class="normal">bool_t<sp/><ref refid="group__network__parameters_1ga986be672332d0ff3faba157519ff6177" kindref="member">linphone_core_sdp_200_ack_enabled</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="7086"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;sip_conf.sdp_200_ack!=0;</highlight></codeline>
<codeline lineno="7087"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7088"><highlight class="normal"></highlight></codeline>
<codeline lineno="7089"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__misc_1gaecfcda3e6cb307251f9de27433e80c3b" kindref="member">linphone_core_set_file_transfer_server</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*core,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/>server_url)<sp/>{</highlight></codeline>
<codeline lineno="7090"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(core-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;misc&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;file_transfer_server_url&quot;</highlight><highlight class="normal">,<sp/>server_url);</highlight></codeline>
<codeline lineno="7091"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7092"><highlight class="normal"></highlight></codeline>
<codeline lineno="7093"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/><ref refid="group__misc_1ga6f991f17d8798a487e4dbe5dd105a730" kindref="member">linphone_core_get_file_transfer_server</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*core)<sp/>{</highlight></codeline>
<codeline lineno="7094"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga9657ebf1d68b43184a796c9bdc68c29a" kindref="member">lp_config_get_string</ref>(core-&gt;config,<sp/></highlight><highlight class="stringliteral">&quot;misc&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="stringliteral">&quot;file_transfer_server_url&quot;</highlight><highlight class="normal">,<sp/>NULL);</highlight></codeline>
<codeline lineno="7095"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7096"><highlight class="normal"></highlight></codeline>
<codeline lineno="7104"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1ga0d98323d20507ed1a519e1682766526a" kindref="member">linphone_core_add_supported_tag</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*tag){</highlight></codeline>
<codeline lineno="7105"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_add_supported_tag(lc-&gt;sal,tag);</highlight></codeline>
<codeline lineno="7106"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;supported&quot;</highlight><highlight class="normal">,sal_get_supported_tags(lc-&gt;sal));</highlight></codeline>
<codeline lineno="7107"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7108"><highlight class="normal"></highlight></codeline>
<codeline lineno="7115"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1ga7be0bf69e445ee292d2d2581e15fddaf" kindref="member">linphone_core_remove_supported_tag</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*tag){</highlight></codeline>
<codeline lineno="7116"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sal_remove_supported_tag(lc-&gt;sal,tag);</highlight></codeline>
<codeline lineno="7117"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;sip&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;supported&quot;</highlight><highlight class="normal">,sal_get_supported_tags(lc-&gt;sal));</highlight></codeline>
<codeline lineno="7118"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7119"><highlight class="normal"></highlight></codeline>
<codeline lineno="7129"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gaf3bfb77e57b3fec6ead836047fe74726" kindref="member">linphone_core_set_avpf_mode</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/><ref refid="group__media__parameters_1gae3f5b086ee43662c6ab6ec5c3df3682c" kindref="member">LinphoneAVPFMode</ref><sp/>mode){</highlight></codeline>
<codeline lineno="7130"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(mode==<ref refid="group__media__parameters_1ggadcdeda5329c2e35fa3eea8efd2a781feafcabf6d9b62d7441f22aba5604e885cf" kindref="member">LinphoneAVPFDefault</ref>)<sp/>mode=<ref refid="group__media__parameters_1ggadcdeda5329c2e35fa3eea8efd2a781feaae621077a284557629ef81fb83c60090" kindref="member">LinphoneAVPFDisabled</ref>;</highlight></codeline>
<codeline lineno="7131"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lc-&gt;rtp_conf.avpf_mode=mode;</highlight></codeline>
<codeline lineno="7132"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_ready(lc))<sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;avpf&quot;</highlight><highlight class="normal">,mode);</highlight></codeline>
<codeline lineno="7133"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7134"><highlight class="normal"></highlight></codeline>
<codeline lineno="7141"><highlight class="normal"><ref refid="group__media__parameters_1gae3f5b086ee43662c6ab6ec5c3df3682c" kindref="member">LinphoneAVPFMode</ref><sp/><ref refid="group__media__parameters_1gaf8914933abe759036cb7147118ce34f9" kindref="member">linphone_core_get_avpf_mode</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="7142"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;rtp_conf.avpf_mode;</highlight></codeline>
<codeline lineno="7143"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7144"><highlight class="normal"></highlight></codeline>
<codeline lineno="7151"><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gafb3ac52a7e92847e4280a32a363e5281" kindref="member">linphone_core_get_avpf_rr_interval</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="7152"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__misc_1ga36d08c0cbc78d88fd4f043e61e9b9637" kindref="member">lp_config_get_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;avpf_rr_interval&quot;</highlight><highlight class="normal">,5);</highlight></codeline>
<codeline lineno="7153"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7154"><highlight class="normal"></highlight></codeline>
<codeline lineno="7162"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gad5f072c934e226183248b1232cf0d8ae" kindref="member">linphone_core_set_avpf_rr_interval</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>interval){</highlight></codeline>
<codeline lineno="7163"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;avpf_rr_interval&quot;</highlight><highlight class="normal">,interval);</highlight></codeline>
<codeline lineno="7164"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7165"><highlight class="normal"></highlight></codeline>
<codeline lineno="7166"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gada076a216edd083e1d68869096bb301c" kindref="member">linphone_payload_type_get_type</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gae02100a16ec58d90edc04725bd58f747" kindref="member">LinphonePayloadType</ref><sp/>*pt)<sp/>{</highlight></codeline>
<codeline lineno="7167"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>pt-&gt;type;</highlight></codeline>
<codeline lineno="7168"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7169"><highlight class="normal"></highlight></codeline>
<codeline lineno="7170"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga7c78eec9bed2b13f2a1523548c73dfa8" kindref="member">linphone_payload_type_get_normal_bitrate</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gae02100a16ec58d90edc04725bd58f747" kindref="member">LinphonePayloadType</ref><sp/>*pt)<sp/>{</highlight></codeline>
<codeline lineno="7171"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>pt-&gt;normal_bitrate;</highlight></codeline>
<codeline lineno="7172"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7173"><highlight class="normal"></highlight></codeline>
<codeline lineno="7174"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<sp/><ref refid="group__media__parameters_1gac1590573bd98b1aecd6f2692e718420e" kindref="member">linphone_payload_type_get_mime_type</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gae02100a16ec58d90edc04725bd58f747" kindref="member">LinphonePayloadType</ref><sp/>*pt)<sp/>{</highlight></codeline>
<codeline lineno="7175"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>pt-&gt;mime_type;</highlight></codeline>
<codeline lineno="7176"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7177"><highlight class="normal"></highlight></codeline>
<codeline lineno="7178"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga084ed389f82edb6b06d23edf213bfe71" kindref="member">linphone_payload_type_get_channels</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gae02100a16ec58d90edc04725bd58f747" kindref="member">LinphonePayloadType</ref><sp/>*pt)<sp/>{</highlight></codeline>
<codeline lineno="7179"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>pt-&gt;channels;</highlight></codeline>
<codeline lineno="7180"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7181"><highlight class="normal"></highlight></codeline>
<codeline lineno="7182"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gab1c6ccccc6385621ab06d5ad09bfc4d6" kindref="member">linphone_core_set_audio_multicast_addr</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>ip)<sp/>{</highlight></codeline>
<codeline lineno="7183"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>new_value;</highlight></codeline>
<codeline lineno="7184"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ip<sp/>&amp;&amp;<sp/>!ms_is_multicast(ip))<sp/>{</highlight></codeline>
<codeline lineno="7185"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_error(</highlight><highlight class="stringliteral">&quot;Cannot<sp/>set<sp/>multicast<sp/>audio<sp/>addr<sp/>to<sp/>core<sp/>[%p]<sp/>because<sp/>[%s]<sp/>is<sp/>not<sp/>multicast&quot;</highlight><highlight class="normal">,lc,ip);</highlight></codeline>
<codeline lineno="7186"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="7187"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="7188"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>new_value<sp/>=<sp/>ip?ms_strdup(ip):NULL;</highlight></codeline>
<codeline lineno="7189"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;rtp_conf.audio_multicast_addr)<sp/>ms_free(lc-&gt;rtp_conf.audio_multicast_addr);</highlight></codeline>
<codeline lineno="7190"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;audio_multicast_addr&quot;</highlight><highlight class="normal">,lc-&gt;rtp_conf.audio_multicast_addr=new_value);</highlight></codeline>
<codeline lineno="7191"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="7192"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7193"><highlight class="normal"></highlight></codeline>
<codeline lineno="7194"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga8991eb34f04d0132f869123412dccac5" kindref="member">linphone_core_set_video_multicast_addr</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>ip)<sp/>{</highlight></codeline>
<codeline lineno="7195"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>new_value;</highlight></codeline>
<codeline lineno="7196"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ip<sp/>&amp;&amp;<sp/>!ms_is_multicast(ip))<sp/>{</highlight></codeline>
<codeline lineno="7197"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_error(</highlight><highlight class="stringliteral">&quot;Cannot<sp/>set<sp/>multicast<sp/>video<sp/>addr<sp/>to<sp/>core<sp/>[%p]<sp/>because<sp/>[%s]<sp/>is<sp/>not<sp/>multicast&quot;</highlight><highlight class="normal">,lc,ip);</highlight></codeline>
<codeline lineno="7198"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="7199"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="7200"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>new_value<sp/>=<sp/>ip?ms_strdup(ip):NULL;</highlight></codeline>
<codeline lineno="7201"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(lc-&gt;rtp_conf.video_multicast_addr)<sp/>ms_free(lc-&gt;rtp_conf.video_multicast_addr);</highlight></codeline>
<codeline lineno="7202"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1ga2b9f058c7b12d124be96149100d9b079" kindref="member">lp_config_set_string</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;video_multicast_addr&quot;</highlight><highlight class="normal">,lc-&gt;rtp_conf.video_multicast_addr=new_value);</highlight></codeline>
<codeline lineno="7203"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="7204"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7205"><highlight class="normal"></highlight></codeline>
<codeline lineno="7206"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/><ref refid="group__media__parameters_1ga0595f6b89f01f462e8a9c4537a27c320" kindref="member">linphone_core_get_audio_multicast_addr</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="7207"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;rtp_conf.audio_multicast_addr;</highlight></codeline>
<codeline lineno="7208"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7209"><highlight class="normal"></highlight></codeline>
<codeline lineno="7210"><highlight class="normal"></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/><ref refid="group__media__parameters_1gaf3edab80f222a53c636cb3da27182712" kindref="member">linphone_core_get_video_multicast_addr</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="7211"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;rtp_conf.video_multicast_addr;</highlight></codeline>
<codeline lineno="7212"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7213"><highlight class="normal"></highlight></codeline>
<codeline lineno="7214"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga3e034657e14ff4bbcab91cb2fda1fad7" kindref="member">linphone_core_set_audio_multicast_ttl</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>ttl)<sp/>{</highlight></codeline>
<codeline lineno="7215"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ttl&gt;255)<sp/>{</highlight></codeline>
<codeline lineno="7216"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_error(</highlight><highlight class="stringliteral">&quot;Cannot<sp/>set<sp/>multicast<sp/>audio<sp/>ttl<sp/>to<sp/>core<sp/>[%p]<sp/>to<sp/>[%i]<sp/>value<sp/>must<sp/>be<sp/>&lt;256&quot;</highlight><highlight class="normal">,lc,ttl);</highlight></codeline>
<codeline lineno="7217"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="7218"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="7219"><highlight class="normal"></highlight></codeline>
<codeline lineno="7220"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;audio_multicast_ttl&quot;</highlight><highlight class="normal">,lc-&gt;rtp_conf.audio_multicast_ttl=ttl);</highlight></codeline>
<codeline lineno="7221"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="7222"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7223"><highlight class="normal"></highlight></codeline>
<codeline lineno="7224"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga9343cb5c7b76da13b8824dd96be3bc4b" kindref="member">linphone_core_set_video_multicast_ttl</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>ttl)<sp/>{</highlight></codeline>
<codeline lineno="7225"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ttl&gt;255)<sp/>{</highlight></codeline>
<codeline lineno="7226"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_error(</highlight><highlight class="stringliteral">&quot;Cannot<sp/>set<sp/>multicast<sp/>video<sp/>ttl<sp/>to<sp/>core<sp/>[%p]<sp/>to<sp/>[%i]<sp/>value<sp/>must<sp/>be<sp/>&lt;256&quot;</highlight><highlight class="normal">,lc,ttl);</highlight></codeline>
<codeline lineno="7227"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="7228"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="7229"><highlight class="normal"></highlight></codeline>
<codeline lineno="7230"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;video_multicast_ttl&quot;</highlight><highlight class="normal">,lc-&gt;rtp_conf.video_multicast_ttl=ttl);</highlight></codeline>
<codeline lineno="7231"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="7232"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7233"><highlight class="normal"></highlight></codeline>
<codeline lineno="7234"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gaa331b622a5290cc709979110f983da68" kindref="member">linphone_core_get_audio_multicast_ttl</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="7235"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;rtp_conf.audio_multicast_ttl;</highlight></codeline>
<codeline lineno="7236"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7237"><highlight class="normal"></highlight></codeline>
<codeline lineno="7238"><highlight class="normal"></highlight></codeline>
<codeline lineno="7239"><highlight class="normal"></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gad10b03962bf26864cd4c30d475dd07a7" kindref="member">linphone_core_get_video_multicast_ttl</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc){</highlight></codeline>
<codeline lineno="7240"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;rtp_conf.video_multicast_ttl;</highlight></codeline>
<codeline lineno="7241"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7242"><highlight class="normal"></highlight></codeline>
<codeline lineno="7243"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1ga6d4f13f9667c595bee9d2d0e4177ec7d" kindref="member">linphone_core_enable_audio_multicast</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>yesno)<sp/>{</highlight></codeline>
<codeline lineno="7244"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;audio_multicast_enabled&quot;</highlight><highlight class="normal">,lc-&gt;rtp_conf.audio_multicast_enabled=yesno);</highlight></codeline>
<codeline lineno="7245"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7246"><highlight class="normal"></highlight></codeline>
<codeline lineno="7247"><highlight class="normal"><sp/>bool_t<sp/><ref refid="group__media__parameters_1gabbbfc7e40e5e4a7b3d7074fc691b31aa" kindref="member">linphone_core_audio_multicast_enabled</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="7248"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;rtp_conf.audio_multicast_enabled;</highlight></codeline>
<codeline lineno="7249"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7250"><highlight class="normal"></highlight></codeline>
<codeline lineno="7251"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__media__parameters_1gab1fdd4ac8c4ba4e09b665d3959a1b850" kindref="member">linphone_core_enable_video_multicast</ref>(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc,<sp/>bool_t<sp/>yesno)<sp/>{</highlight></codeline>
<codeline lineno="7252"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__misc_1gab7608c4c6b40a734eb00a4b398e47ba5" kindref="member">lp_config_set_int</ref>(lc-&gt;config,</highlight><highlight class="stringliteral">&quot;rtp&quot;</highlight><highlight class="normal">,</highlight><highlight class="stringliteral">&quot;video_multicast_enabled&quot;</highlight><highlight class="normal">,lc-&gt;rtp_conf.video_multicast_enabled=yesno);</highlight></codeline>
<codeline lineno="7253"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7254"><highlight class="normal"></highlight></codeline>
<codeline lineno="7255"><highlight class="normal">bool_t<sp/><ref refid="group__media__parameters_1ga74975713fb197d0f780e370d0840c4ae" kindref="member">linphone_core_video_multicast_enabled</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="7256"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>lc-&gt;rtp_conf.video_multicast_enabled;</highlight></codeline>
<codeline lineno="7257"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7258"><highlight class="normal"></highlight></codeline>
<codeline lineno="7259"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>ANDROID</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="7260"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>linphone_core_call_void_method(jobject<sp/>obj,<sp/>jmethodID<sp/></highlight><highlight class="keywordtype">id</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="7261"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>JNIEnv<sp/>*env=ms_get_jni_env();</highlight></codeline>
<codeline lineno="7262"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(env<sp/>&amp;&amp;<sp/>obj)<sp/>{</highlight></codeline>
<codeline lineno="7263"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(*env)-&gt;CallVoidMethod(env,obj,</highlight><highlight class="keywordtype">id</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="7264"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((*env)-&gt;ExceptionCheck(env))<sp/>{</highlight></codeline>
<codeline lineno="7265"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(*env)-&gt;ExceptionClear(env);</highlight></codeline>
<codeline lineno="7266"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="7267"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="7268"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>0;</highlight></codeline>
<codeline lineno="7269"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="7270"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>-1;</highlight></codeline>
<codeline lineno="7271"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7272"><highlight class="normal"></highlight></codeline>
<codeline lineno="7273"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_wifi_lock_acquire(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="7274"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_call_void_method(lc-&gt;wifi_lock,lc-&gt;wifi_lock_acquire_id))</highlight></codeline>
<codeline lineno="7275"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;No<sp/>wifi<sp/>lock<sp/>configured<sp/>or<sp/>not<sp/>usable<sp/>for<sp/>core<sp/>[%p]&quot;</highlight><highlight class="normal">,lc);</highlight></codeline>
<codeline lineno="7276"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7277"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_wifi_lock_release(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="7278"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_call_void_method(lc-&gt;wifi_lock,lc-&gt;wifi_lock_release_id))</highlight></codeline>
<codeline lineno="7279"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;No<sp/>wifi<sp/>lock<sp/>configured<sp/>or<sp/>not<sp/>usable<sp/>for<sp/>core<sp/>[%p]&quot;</highlight><highlight class="normal">,lc);</highlight></codeline>
<codeline lineno="7280"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7281"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_multicast_lock_acquire(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="7282"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_call_void_method(lc-&gt;multicast_lock,lc-&gt;multicast_lock_acquire_id))</highlight></codeline>
<codeline lineno="7283"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;No<sp/>multicast<sp/>lock<sp/>configured<sp/>or<sp/>not<sp/>usable<sp/>for<sp/>core<sp/>[%p]&quot;</highlight><highlight class="normal">,lc);</highlight></codeline>
<codeline lineno="7284"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7285"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>linphone_core_multicast_lock_release(<ref refid="group__initializing_1gaa5cf635b82dd338e7ee2dd3599d05f0a" kindref="member">LinphoneCore</ref><sp/>*lc)<sp/>{</highlight></codeline>
<codeline lineno="7286"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(linphone_core_call_void_method(lc-&gt;multicast_lock,lc-&gt;multicast_lock_release_id))</highlight></codeline>
<codeline lineno="7287"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ms_warning(</highlight><highlight class="stringliteral">&quot;No<sp/>wifi<sp/>lock<sp/>configured<sp/>or<sp/>not<sp/>usable<sp/>for<sp/>core<sp/>[%p]&quot;</highlight><highlight class="normal">,lc);</highlight></codeline>
<codeline lineno="7288"><highlight class="normal">}</highlight></codeline>
<codeline lineno="7289"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight></codeline>
    </programlisting>
    <location file="C:/Jenkins/workspace/linphone-gtk-win32/coreapi/linphonecore.c"/>
  </compounddef>
</doxygen>
