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

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

    <bug>
          <bug_id>47399</bug_id>
          
          <creation_ts>2023-08-30 14:17:15 +0300</creation_ts>
          <short_desc>Доступ через API (модуль mod_xml_rpc) =&gt; 404, поэтому freeswitch-webui не работает</short_desc>
          <delta_ts>2026-08-16 12:46:46 +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</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugzilla.altlinux.org/show_bug.cgi?id=54894</see_also>
          <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>232141</commentid>
    <comment_count>0</comment_count>
    <who name="Artem Varaksa">varaksaaa</who>
    <bug_when>2023-08-30 14:17:15 +0300</bug_when>
    <thetext>Описание ошибки
===============

1. # apt-get install -y freeswitch-{daemon,webui}
2. # sed -i &quot;s/&lt;\/modules&gt;/&lt;load module=\&quot;mod_xml_rpc\&quot;\/&gt;&lt;\/modules&gt;/&quot; /etc/freeswitch/autoload_configs/modules.conf.xml
3. # sed -i &apos;s/&lt;param name=&quot;http-port&quot; value=&quot;8080&quot;\/&gt;/&lt;param name=&quot;http-port&quot; value=&quot;1234&quot;\/&gt;/&apos; /etc/freeswitch/autoload_configs/xml_rpc.conf.xml
4. # systemctl restart freeswitch; sleep 3; systemctl status freeswitch
5. Перейти по адресу # echo &quot;http://$(hostname -i):1234/portal/index.html&quot;

Проверить работу:
6. Открыть вкладки: Users, Calls, Channels, Show (&gt; Codecs), Sofia
7. Открыть вкладку Users &gt; Add User &gt; ввести User ID: test &gt; нажать Create

9. Проверить поддержку WebSocket:
- # sed -i &apos;s/&lt;\/settings&gt;/&lt;param name=&quot;enable-websocket&quot; value=&quot;true&quot;\/&gt;\n&lt;\/settings&gt;/&apos; /etc/freeswitch/autoload_configs/xml_rpc.conf.xml
- # systemctl restart freeswitch; sleep 3; systemctl status freeswitch
- Проверить, что в (# tail -f /var/log/freeswitch/freeswitch.log) появилось сообщение вида (c &quot;with websocket&quot;):
  &gt; [NOTICE] mod_xml_rpc.c:1263 Starting HTTP Port 1234, DocRoot [/usr/share/freeswitch/htdocs] with websocket.
- Проверить наличие надписи &quot;Socket Disconnected!&quot; в правом верхнем углу веб-интерфейса
- Проверить работу интерфейса в соответствие с шагами 6-7


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

Веб-интерфейс не работает ни с WebSocket, ни без него (надпись &quot;Socket Disconnected!&quot; не исчезает даже при его включении).

В консоли браузера ошибки 404 (Not Found) вида:

&gt; WebSocket connection to &apos;ws://&lt;ip&gt;:1234/socket&apos; failed: Error during WebSocket handshake: Unexpected response code: 404
&gt; GET http://&lt;ip&gt;:1234/api/event_sink?command=create-listener&amp;events=ALL&amp;format=json 404 (Not Found)

На шаге 7 ошибка 405 (Method Not Allowed):

&gt; POST http://&lt;ip&gt;:1234/txtapi/lua?portal/create_user.lua%20test 405 (Method Not Allowed)

При вызове API-методов через curl результат такой же, даже если предоставить Basic-аутентификацию (аналогично примерам в документации https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/Modules/mod_xml_rpc_1048928/):

&gt; # curl &apos;http://localhost:1234/webapi/help&apos; --user freeswitch:works
&gt; &lt;HTML&gt;&lt;HEAD&gt;&lt;TITLE&gt;Error 404&lt;/TITLE&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;H1&gt;Error 404&lt;/H1&gt;&lt;P&gt;Not Found&lt;/P&gt;&lt;p&gt;&lt;HR&gt;&lt;b&gt;&lt;i&gt;&lt;a href=&quot;http://xmlrpc-c.sourceforge.net&quot;&gt;ABYSS Web Server for XML-RPC For C/C++&lt;/a&gt;&lt;/i&gt;&lt;/b&gt; version 1.54.6&lt;br&gt;&lt;/p&gt;&lt;/BODY&gt;&lt;/HTML&gt;


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

Корректная работа веб-интерфейса (как с включённой поддержкой WebSocket, так и без неё). Ошибок нет.


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

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

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

[sisyphus] server-10.1-x86-64
freeswitch-daemon-1.10.10-alt1.x86_64
freeswitch-webui-1.10.10-alt1.x86_64

Проверялось в браузерах на реальной машине [p10] kworkstation-10.1-x86-64:
chromium-gost-110.0.5481.177-alt1.p10.1.x86_64
firefox-esr-102.12.0-alt2.x86_64</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291172</commentid>
    <comment_count>1</comment_count>
    <who name="Mikhail D Hoteev">hoteevmd</who>
    <bug_when>2026-07-15 20:22:46 +0300</bug_when>
    <thetext>Воспроизводится на версиях:
freeswitch-daemon-1.11.1-alt1.x86_64
freeswitch-webui-1.11.1-alt1.x86_64</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292692</commentid>
    <comment_count>2</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2026-08-16 12:46:46 +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>