<?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>2025-06-23 15:56:55 +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>NEW</bug_status>
          <resolution></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>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>
      
      

    </bug>

</bugzilla>