Why playing back RTP packets doesn't work, and the other side don't hear an echo?

Viewed 174

For about 48 hours, I'm trying to play audio for who is calling me all by using NodeJS SIP and RTP directly.

When we calling I get the call on port 5060, and then I'm answering using the SIP/SDP specification. Then I'm start getting is voice on my RTP port. The issue is I'm unable to send voice back to him. What am I'm doing wrong?

I don't know yet how to build RTP packets, so I'm using the exact packets I received from the other side, and sent it back. I thought that will hear an echo. But he don't hear nothing.

He is using SIP and initiate a call. I was able to receive the call and record his audio.

The INVITE command

INVITE sip:1@104.154.78.142 SIP/2.0
Via: SIP/2.0/UDP 31.168.3.211:5060;branch=z9hG4bK071d7c26
Max-Forwards: 70
From: "0555042354" <sip:0523737233@31.168.3.211>;tag=as710f47f3
To: <sip:1@104.154.78.142>
Contact: <sip:0523737233@31.168.3.211:5060>
Call-ID: 36bde5b72f7a67956f7559a8581ea010@31.168.3.211:5060
CSeq: 102 INVITE
User-Agent: Asterisk PBX 11.18.0
Date: Fri, 05 Feb 2021 00:22:51 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 236

v=0
o=root 2117083987 2117083987 IN IP4 31.168.3.211
s=Asterisk PBX 11.18.0
c=IN IP4 31.168.3.211
t=0 0
m=audio 16006 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecv

I took it's port (15574) from the INVITE command: m=audio 15574 RTP/AVP 8 101 and the IP also from the INVITE command: c=IN IP4 31.168.3.195 Now I'm sending back every UDP packet he sent me. But he don't hear nothing.

(It's after OK, and ACK by him).

ourSocket.on('message', (rtpPacketBuffer) => {
  dgramServer.send(rtpPacketBuffer, 16006, 31.168.3.211)
})

In other words: According to RTP protocol, is sending back the packet can work, or do I need to reconstruct them?

(We're able to hear the other side, and record the call.)

0 Answers
Related