Есть свежеустановленный сервер, на который поставил:
- FreeSwitch
- FusionPBX
- MongoDB 5.0
- Node.JS 16.14.0
FusionPBX, очевидно, подключается к сокету.
Однако, мне нужно подключиться в дополнение с собственного приложения.
Вот код, который я запускаю через node.js:
const net = require('net');
const client = new net.Socket();
console.log('connecting')
client.connect(8021, '<Убрал IP>', function(a) {
console.log('Connected', a);
client.write('ClueCon');
});
client.on('data', function(data) {
console.log('Received: ' + data);
client.destroy();
});
client.on('close', function() {
console.log('Connection closed');
});
Запуская это с сервера, выводит:
connecting
Connected undefined
Received: Content-Type: auth/request
Соответственно, доступ к сокету есть (ну почти)
А вот что случается, когда я пробую сделать это со своего компьютера:
Error: connect ECONNREFUSED <Убрал IP>:8021
Я дал доступ компу с iptables, и в этом я уверен - иначе был бы Timeout, как с другими портами.
Также прилагаю настройки event_socket модуля:
<configuration name="event_socket.conf" description="Socket Client">
<settings>
<param name="nat-map" value="false"/>
<param name="listen-ip" value="<Убрал IP (внешний, а не 127.0.0.1)>"/>
<param name="listen-port" value="8021"/>
<param name="password" value="ClueCon"/>
<param name="apply-inbound-acl" value="dromhour"/>
</settings>
</configuration>