Описание ошибки =============== 1. # apt-get install -y freeswitch-{daemon,webui} 2. # sed -i "s/<\/modules>/<load module=\"mod_xml_rpc\"\/><\/modules>/" /etc/freeswitch/autoload_configs/modules.conf.xml 3. # sed -i 's/<param name="http-port" value="8080"\/>/<param name="http-port" value="1234"\/>/' /etc/freeswitch/autoload_configs/xml_rpc.conf.xml 4. # systemctl restart freeswitch; sleep 3; systemctl status freeswitch 5. Перейти по адресу # echo "http://$(hostname -i):1234/portal/index.html" Проверить работу: 6. Открыть вкладки: Users, Calls, Channels, Show (> Codecs), Sofia 7. Открыть вкладку Users > Add User > ввести User ID: test > нажать Create 9. Проверить поддержку WebSocket: - # sed -i 's/<\/settings>/<param name="enable-websocket" value="true"\/>\n<\/settings>/' /etc/freeswitch/autoload_configs/xml_rpc.conf.xml - # systemctl restart freeswitch; sleep 3; systemctl status freeswitch - Проверить, что в (# tail -f /var/log/freeswitch/freeswitch.log) появилось сообщение вида (c "with websocket"): > [NOTICE] mod_xml_rpc.c:1263 Starting HTTP Port 1234, DocRoot [/usr/share/freeswitch/htdocs] with websocket. - Проверить наличие надписи "Socket Disconnected!" в правом верхнем углу веб-интерфейса - Проверить работу интерфейса в соответствие с шагами 6-7 Фактический результат ===================== Веб-интерфейс не работает ни с WebSocket, ни без него (надпись "Socket Disconnected!" не исчезает даже при его включении). В консоли браузера ошибки 404 (Not Found) вида: > WebSocket connection to 'ws://<ip>:1234/socket' failed: Error during WebSocket handshake: Unexpected response code: 404 > GET http://<ip>:1234/api/event_sink?command=create-listener&events=ALL&format=json 404 (Not Found) На шаге 7 ошибка 405 (Method Not Allowed): > POST http://<ip>: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/): > # curl 'http://localhost:1234/webapi/help' --user freeswitch:works > <HTML><HEAD><TITLE>Error 404</TITLE></HEAD><BODY><H1>Error 404</H1><P>Not Found</P><p><HR><b><i><a href="http://xmlrpc-c.sourceforge.net">ABYSS Web Server for XML-RPC For C/C++</a></i></b> version 1.54.6<br></p></BODY></HTML> Ожидаемый результат =================== Корректная работа веб-интерфейса (как с включённой поддержкой 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