首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无语音传输,NAT后的PJSIP

无语音传输,NAT后的PJSIP
EN

Stack Overflow用户
提问于 2020-01-08 17:10:58
回答 3查看 2.1K关注 0票数 0

我正在尝试用pjsua编写软电话应用程序。一切运行良好,声音是双向传输,当我使用星号和软电话在同一个本地网络- 192.168.10.XXX,但当我把我的软电话隐藏在NAT后面,我听不到任何传入的声音,传出的声音工作正常。

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

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

代码语言:javascript
运行
复制
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
EN

回答 3

Stack Overflow用户

发布于 2020-01-09 15:01:06

通常,在Asterisk PJSIP中,这可能是由于两件事造成的。

编解码器支持

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

代码语言:javascript
运行
复制
rtp set debug on

现在,您将列出大量信息,检查两端是否正在通信或只有一端在移动数据包。如果有问题,那就是防火墙造成的。确保在防火墙中允许下列端口

代码语言:javascript
运行
复制
 TCP/UDP 5060 and UDP 10000-25000
票数 0
EN

Stack Overflow用户

发布于 2020-12-09 18:13:59

您正在发送SDP有效负载中的私有IP来解决此问题,您需要使用STUN或ICE服务器,请在pjsip App端启用ICE或stun服务器

通常由ICE或STUN server.it完成的192.168.12.233公网IP必须是可公开访问的IP地址

票数 0
EN

Stack Overflow用户

发布于 2021-02-18 02:06:12

在这里设置pjsua_acc_config结构的allow_sdp_nat_rewrite就足够了(link)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59642608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档