<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>47403</bug_id>
          
          <creation_ts>2023-08-30 16:25:07 +0300</creation_ts>
          <short_desc>mod_vlc (freeswitch-vlc) не записывает звонок</short_desc>
          <delta_ts>2026-08-16 12:46:50 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>freeswitch-vlc</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Artem Varaksa">varaksaaa</reporter>
          <assigned_to name="Anton Farygin">rider</assigned_to>
          <cc>at</cc>
    
    <cc>cas</cc>
    
    <cc>crux</cc>
    
    <cc>ender</cc>
    
    <cc>hoteevmd</cc>
    
    <cc>lav</cc>
    
    <cc>ldv</cc>
    
    <cc>mike</cc>
    
    <cc>qa_viy</cc>
    
    <cc>rider</cc>
    
    <cc>shaba</cc>
    
    <cc>viy</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>232175</commentid>
    <comment_count>0</comment_count>
    <who name="Artem Varaksa">varaksaaa</who>
    <bug_when>2023-08-30 16:25:07 +0300</bug_when>
    <thetext>Описание ошибки
===============

1. Настроить сервер с freeswitch:
# apt-get install -y freeswitch-daemon freeswitch-lang-ru freeswitch-sounds-ru-ru-elena-*
# sed -i &quot;/default_password/s/1234/Pa##word/&quot; /etc/freeswitch/vars.xml
# sed -i &quot;s/&lt;include&gt;/&lt;include&gt;\n&lt;X-PRE-PROCESS cmd=\&quot;set\&quot; data=\&quot;force_local_ip_v4=$(hostname -i)\&quot;\/&gt;\n&lt;X-PRE-PROCESS cmd=\&quot;set\&quot; data=\&quot;local_ip_v4=\$\${force_local_ip_v4}\&quot;\/&gt;/&quot; /etc/freeswitch/vars.xml
# systemctl enable freeswitch; systemctl start freeswitch; systemctl status freeswitch

2. Настроить linphone на клиенте:
* При запуске закрыть мастер настройки.
* Открыть Опции &gt; Параметры &gt; вкладка по умолчанию Управление учётными записями SIP &gt; в разделе Учётные записи нажать Добавить.
* Ввести данные:
** Ваш идентификатор SIP:  sip:1000@&lt;ip-адрес сервера c freeswitch&gt;
** Адрес SIP прокси:   sip:&lt;ip-адрес сервера c freeswitch&gt;:5080
** Остальные параметры оставить по умолчанию.
** При запросе ввести пароль по умолчанию (Pa##word).
* Закрыть окно настроек.

3. Включить модуль mod_vlc и настроить его использование на сервере freeswitch для записи звонка на номер 1008 в формате mp4 (поддерживаемом как mod_av, так и mod_vlc, но freeswitch использует mod_vlc в данном случае; можно использовать и формат m4v, поддерживаемый только mod_vlc):
# sed -i &quot;s/&lt;\/modules&gt;/&lt;load module=\&quot;mod_vlc\&quot;\/&gt;&lt;\/modules&gt;/&quot; /etc/freeswitch/autoload_configs/modules.conf.xml
# sed -i &quot;s/&lt;context name=\&quot;public\&quot;&gt;/&lt;context name=\&quot;public\&quot;&gt;\n&lt;extension name=\&quot;public_extensions\&quot;&gt;\n&lt;condition field=\&quot;destination_number\&quot; expression=\&quot;^1008$\&quot;&gt;\n&lt;action application=\&quot;answer\&quot;\/&gt;\n&lt;action application=\&quot;record\&quot; data=\&quot;\/tmp\/recording.mp4 20 200 20\&quot;\/&gt;\n &lt;\/condition&gt;\n&lt;\/extension&gt;/&quot; /etc/freeswitch/dialplan/public.xml
# fs_cli
freeswitch@...&gt; reloadxml
(не выходить из консоли для наблюдения за логами)

4. Позвонить с помощью клиента на номер 1008. Дождаться завершения звонка.

Фактический результат
=====================

В консоли freeswitch ошибки:

&gt; [...] [DEBUG] mod_vlc.c:838 VLC attempt to open /tmp/recording.mp4  write 
&gt; [...] [DEBUG] mod_vlc.c:939 VLC open /tmp/recording.mp4 for writing
&gt; VLC: PulseAudio server connection failure: Connection refused
&gt; [...] [ERR] switch_core_file.c:426 File [/tmp/recording.mp4] not created!

Файл /tmp/recording.mp4 не создаётся.

Возможно, что эта ошибка вызвана ошибкой https://bugzilla.altlinux.org/47326 (Аудио/видео не передаются и соединение нарушается через &gt;30 секунд после начала звонка).

Ожидаемый результат
===================

Файл /tmp/recording.mp4 должен создаваться и содержать запись звонка.

Воспроизводимость
=================

Воспроизводится на виртуальных машинах:

[p10] server-10.1-x86-64
freeswitch-vlc-1.10.9-alt1.x86_64

[sisyphus] server-10.1-x86-64
freeswitch-vlc-1.10.10-alt1.x86_64</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291178</commentid>
    <comment_count>1</comment_count>
    <who name="Mikhail D Hoteev">hoteevmd</who>
    <bug_when>2026-07-16 11:59:17 +0300</bug_when>
    <thetext>Поведение ошибки несколько изменилось.
Теперь в консоли fs_cli при попытке на указанный в конфигах для записи номер выводится сообщение:
2026-07-16 11:54:26.881196 99.00% [ERR] mod_vlc.c:772 VLC error: cannot initialise VLC handle

В самом linphone выводится сообщение: DESTINATION OUT OF ORDER
При этом на все остальные номера вызов выполняется корректно, в том числе и с номера, для которого настроена запись.
Воспроизводится с разными номерами и на разных машинах.

Воспроизводится на версии:
freeswitch-vlc-1.11.1-alt1.x86_64</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292699</commentid>
    <comment_count>2</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2026-08-16 12:46:50 +0300</bug_when>
    <thetext>freeswitch-1:1.11.2-alt1 -&gt; sisyphus:

Thu Aug 13 2026 Anton Farygin &lt;rider@altlinux&gt; 1:1.11.2-alt1
- 1.11.1 -&gt; 1.11.2
- fs_encode: treat only the part after the last dot as the file
  extension (Closes: 56577)
- fs_encode: only use the output extension as a codec when it names a
  real codec; formats encoded by the file module (wav, flac, ogg, ...)
  now work as output, wav -&gt; wav included (Closes: 47345, 47348)
- fs_encode: do not encode twice when the output extension is claimed by
  mod_sndfile (gsm, ...): the file was gsm-compressed by the codec and
  then again by libsndfile, producing short noise-only files
  (Closes: 47344)
- fs_tts: fixed argument handling: the text argument was ignored unless
  an extra argument followed it, and -i FILE was unreachable so the tool
  hung on stdin instead of reading the file; extra arguments are
  rejected now (Closes: 54889)
- switch_xml: do not abort on assert in switch_xml_open_cfg() when the
  main configuration could not be loaded; fixes fs_tts/fs_encode/
  tone2wav crash under a regular user (Closes: 47334)
- fs_tts: load mod_dptools (tts:// provider) instead of mod_ssml removed
  upstream, and load the module of the selected TTS engine (mod_flite by
  default), so text-to-speech actually works (Closes: 47335)
- mod_imagick: bound the lazy loading thread by the real page count;
  fixes endless re-reading of GIF frames with lazy=1 ending in an OOM
  kill (Closes: 47382)
- mod_xml_rpc: build against the bundled xmlrpc-c as upstream intends
  instead of mixing bundled private headers with the system library;
  fixes the HTTP server failing to start and every /api, /webapi,
  /portal request answered with 404, which broke freeswitch-webui
  (Closes: 47399, 54894)
- added a native systemd unit ordered after network-online.target;
  the unit generated from the SysV script started freeswitch before the
  network was up, so after a reboot sofia bound to the wrong address and
  clients could not connect (Closes: 47333)
- freeswitch-vlc: require vlc-mini: without the VLC core plugins
  libvlc_new() returns NULL and mod_vlc fails with &quot;cannot initialise
  VLC handle&quot; on every call (Closes: 47403)
- freeswitch-lang-he: package mod_say_he.so; the subpackage shipped the
  Hebrew prompts without the module that speaks them
- packaged gentls_cert, the TLS certificate helper for sofia and verto
- dropped mod_say_hu, mod_say_it and mod_say_nl from the build: they
  were built and thrown away, upstream ships no lang data for them
- do not install the switch_eavesdrop unit test into the bin dir, the
  unnamespaced /usr/include/test headers, and the Flash-era htdocs
  leftovers
- run the network-free part of tests/unit at build time (switch_utils,
  switch_hash, switch_event, switch_xml, switch_console); the binaries
  were already being built and thrown away</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>