星号13 PJSIP有时声音来了有时不来了

时间:2019-01-19 07:38:48

标签: asterisk pjsip opensips

我最近用PJSIP和数据库设置了星号13。一切正常,但有时我听不到任何声音,大部分时间我都在听声音。所以我需要RTP软件吗?以下是详细信息日志,我正在查找但未发现任何语音或编解码器问题,因为我为所有人设置了编解码器,并且这是本地环境中的所有本地服务,因此应该没有任何与nat相关的问题,但似乎我配置了错误的nat问题。我进行了迁移,并且在旧的sip服务器中也注意到了相同的问题,由于此语音问题,我将其移至新的服务器上。因此,可以确定这不是软件问题,而必须是配置问题。以下是我的日志。注意:我是PJSIP的新手,这是我第一次安装PJSIP。

-- Executing [1567241111@default:1] AGI("PJSIP/192.168.56.103-00000004", "myagi.pl,0000FFFF0001,1567241111,,PJSIP/192.168.56.103-00000004,,1547882181.8") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/myagi.pl
<--- Transmitting SIP response (913 bytes) to UDP:192.168.56.103:5060 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.56.103:5060;received=192.168.56.103;branch=z9hG4bK08e608fd
Call-ID: 25918c527ec2200b25e99b862ff7ac80@192.168.56.103:5060
From: "vendorTest" <sip:0000FFFF0001@192.168.56.103>;tag=as7756e843
To: <sip:1567241111@192.168.56.102>;tag=1bf6a0d2-1c8b-431f-91c7-a074337a7b88
CSeq: 102 INVITE
Server: Asterisk PBX certified/13.21-cert3
Contact: <sip:192.168.56.102:5060>
Allow: OPTIONS, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, REGISTER, REFER, MESSAGE
Supported: 100rel, timer, replaces, norefersub
Content-Type: application/sdp
Content-Length:   288

v=0
o=- 2131651698 2131651700 IN IP4 192.168.56.102
s=Asterisk
c=IN IP4 192.168.56.102
t=0 0
m=audio 24874 RTP/AVP 0 8 3 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:3 GSM/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=maxptime:150
a=sendrecv

<--- Received SIP request (460 bytes) from UDP:192.168.56.103:5060 --->
ACK sip:192.168.56.102:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.56.103:5060;branch=z9hG4bK62ff354e
Max-Forwards: 70
From: "vendorTest" <sip:0000FFFF0001@192.168.56.103>;tag=as7756e843
To: <sip:1567241111@192.168.56.102>;tag=1bf6a0d2-1c8b-431f-91c7-a074337a7b88
Contact: <sip:0000FFFF0001@192.168.56.103:5060>
Call-ID: 25918c527ec2200b25e99b862ff7ac80@192.168.56.103:5060
CSeq: 102 ACK
User-Agent: Asterisk PBX 11.13.1~dfsg-2+deb8u5
Content-Length: 0

我的PJSIP配置呼叫对等方

[192.168.56.103]
type = aor
contact = sip:192.168.56.103
maximum_expiration = 60
minimum_expiration = 60
default_expiration = 180

[192.168.56.103]
type = identify
endpoint = 192.168.56.103
match =  192.168.56.103

[192.168.56.103]
type = endpoint
context = default
dtmf_mode = rfc4733
disallow = all
allow =all
direct_media = yes
language = en
aors = 159.203.27.198
t38_udptl = yes
t38_udptl_ec = none
rtp_symmetric = yes
force_rport = no
rewrite_contact = yes
direct_media = no

我的服务器

192.168.56.103 - Asterisk 13 with PJSIP  - call receiver
192.168.56.102 - Asterisk 11 with PJSIP - Caller

为清楚起见,我放了语音邮件,所以另一部分实际上是星号答复,正常情况下它会要求输入密码,但是却发出10次但没有语音2次?任何想法我做错了。我应该安装RTP引擎还是RTPProxy。我听到很多人说我们必须拥有RTP,Stun或ICE服务器,所以如果我将opensips放在SBC前面,而不是转接到Asterisk,那将是一个更好的环境,因为我期望在当前设置中有更多服务器因此需要强大的通信基础设施而又没有任何声音问题。

1 个答案:

答案 0 :(得分:0)

此问题通过使用RTP调试解决,我注意到由于防火墙的缘故,声音数据包没有从另一侧接收到。防火墙设置了10000-20000个端口,但是这个星号发送了不同的端口,现在我使用RTP.conf端口进行了修复,而且声音也很完美了。