# Asterisk audio socket with nodejs web socket server

**URL:** <https://community.asterisk.org/t/asterisk-audio-socket-with-nodejs-web-socket-server/108628>\
**Category:** Asterisk APIs\
**Created:** [June 2, 2025, 12:29pm UTC](https://community.asterisk.org/t/asterisk-audio-socket-with-nodejs-web-socket-server/108628 "2025-06-02T12:29:43Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![sgarg](https://avatars.discourse-cdn.com/v4/letter/s/ad7895/32.png) [@sgarg](https://community.asterisk.org/u/sgarg)\
**Post date:** [June 2, 2025, 12:29pm UTC](https://community.asterisk.org/t/asterisk-audio-socket-with-nodejs-web-socket-server/108628/1 "2025-06-02T12:29:43Z")

</div>

In asterisk

```auto
same => n,AudioSocket(40325ec2-5efd-4bd3-808f-53576e581d13,172.25.25.150:8088)
same => n,Wait(1000)
same => n,Hangup()

```

and nodejs server

```auto
const net = require('net');
const port = 8088;

const server = net.createServer((socket) => {
  console.log('⚡ Asterisk connected'); // This never prints

  socket.on('data', (data) => {
    console.log('🎧 Received audio chunk:', data.length, 'bytes');
  });

  socket.on('close', () => {
    console.log('❌ Socket closed');
  });

  socket.on('end', () => {
    console.log('🔚 Asterisk disconnected');
  });

  socket.on('error', (err) => {
    console.error('🔥 Socket error:', err);
  });
});

server.on('connection', () => {
  console.log('🔌 New connection event fired'); // This never prints either
});

server.on('error', (err) => {
  console.error('💥 Server error:', err);
});

server.listen(port, '0.0.0.0', () => {
  console.log(`🚀 TCP server listening on port ${port}`);
});

```

i tried with ws as well but i am getting

```auto
[Jun 2 04:25:29] WARNING[956][C-00000001]: res_audiosocket.c:264 ast_audiosocket_receive_frame: Received non-audio AudioSocket message
[Jun 2 04:25:29] ERROR[956][C-00000001]: res_audiosocket.c:302 ast_audiosocket_receive_frame: Insufficient data read from AudioSocket
[Jun 2 04:25:29] ERROR[956][C-00000001]: app_audiosocket.c:207 audiosocket_run: Failed to receive frame from AudioSocket message for channel PJSIP/docker-sip-00000000
== Spawn extension (sub-ivr, s, 45) exited non-zero on 'PJSIP/docker-sip-00000000'

```

i tried with

const { AudioSocket } = require(‘@fonoster/streams’);

const audioSocket = new AudioSocket();

audioSocket.onConnection((req, res) =\> {  
console.log(‘New connection from:’, req.ref);

res.on(‘data’, (data) =\> {  
// Handle incoming audio data (16-bit PCM, 8kHz, mono)  
console.log(‘Received audio data:’, data.length, ‘bytes’);  
});

res.on(‘end’, () =\> {  
console.log(‘Connection ended’);  
});

res.on(‘error’, (err) =\> {  
console.error(‘Connection error:’, err);  
});  
});

audioSocket.listen(8088, () =\> {  
console.log(‘AudioSocket server listening on port 8088’);  
});

but nodejs console is not even showing asterisk connected

nc and ping is working fine

```auto
[root@7d9dae36abf2 sounds]# nc -vz 172.25.25.150 8088
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 172.25.25.150:8088.

```

any help on this?

---

<div class="post-metadata">

**Author:** ![sgarg](https://avatars.discourse-cdn.com/v4/letter/s/ad7895/32.png) [@sgarg](https://community.asterisk.org/u/sgarg)\
**Post date:** [June 6, 2025, 8:13am UTC](https://community.asterisk.org/t/asterisk-audio-socket-with-nodejs-web-socket-server/108628/2 "2025-06-06T08:13:05Z")

</div>

i changed the port, this 8088 port was for something else

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/asterisk/original/2X/4/475d0c889911cfb84ac4881ad6df8b523e3f9105.png) [@system](https://community.asterisk.org/u/system)\
**Post date:** [July 6, 2025, 8:13am UTC](https://community.asterisk.org/t/asterisk-audio-socket-with-nodejs-web-socket-server/108628/3 "2025-07-06T08:13:46Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
