gpt4 book ai didi

audio - 无语音传输,NAT 后的 PJSIP

转载 作者:行者123 更新时间:2023-12-03 01:26:36 27 4
gpt4 key购买 nike

我正在尝试用 pjsua 编写软件电话应用程序。一切正常,声音是双向传输的,当我在同一个本地网络 - 192.168.10.XXX 中使用 Asterisk 和软电话时,但是当我将软电话隐藏在 NAT 后面时,我听不到任何传入声音,传出声音正常。

我的应用程序的端点有 ip:192.168.12.233,路由器公共(public)地址是 192.168.10.216,Asterisk - 192.168.10.15。路由器上的端口转换配置为转发 SIP 的 5060 端口和 RTP 的 4000-5000 端口。我尝试在 pjsua 配置中设置 ip public 地址,但没有效果。

这是来自我的应用程序的 INVITE SIP 消息,我认为问题在于包含错误 IP 地址的 SDP 'c' 字段。您知道如何在 pjsua 中更改它或如何解决该声音问题吗?也许我应该在 Asterisk 配置中改变一些东西?

INVITE sip:112@192.168.10.15 SIP/2.0
Via: SIP/2.0/UDP 192.168.10.216:40173;rport;branch=z9hG4bKPj1cb51c72-d924-4f3e-9075-6fa17e39b3be
Max-Forwards: 70
From: sip:500@192.168.10.15;tag=c80893bb-4b11-4def-b0e9-59bb82b88630
To: sip:112@192.168.10.15
Contact: <sip:500@192.168.10.216:40173;ob>
Call-ID: cc07dcae-1f51-4fd9-b3b0-508da40b2752
CSeq: 11230 INVITE
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
Supported: replaces, 100rel, timer, norefersub
Session-Expires: 1800
Min-SE: 90
User-Agent: GMIDFOO00
Content-Type: application/sdp
Content-Length: 350

v=0
o=- 3787399917 3787399917 IN IP4 192.168.12.233
s=pjmedia
b=AS:84
t=0 0
a=X-nat:0 Unknown
m=audio 4000 RTP/AVP 9 8 96
c=IN IP4 192.168.12.233
b=TIAS:64000
a=rtcp:4001 IN IP4 192.168.12.233
a=sendrecv
a=rtpmap:9 G722/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:96 telephone-event/8000
a=fmtp:96 0-16
a=ssrc:938347045 cname:56c230b34489dbbe

最佳答案

通常在 Asterisk PJSIP 中它可能由于两件事而发生。

编解码器支持

一是编解码器支持,确保您已指定要使用的编解码器,并且双方至少可以在可用的编解码器上进行通信。您可以通过运行以下命令检查此问题,我没有看到任何错误,但您可以尝试以下命令检查 RTP 通信

rtp set debug on

现在您将列出大量信息,检查双方正在通信或只有一方正在移动数据包。如果有问题,那是由于防火墙。确保您在防火墙中允许以下端口
 TCP/UDP 5060 and UDP 10000-25000

关于audio - 无语音传输,NAT 后的 PJSIP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59642608/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com