SIP 呼叫用户本地主机星号服务器

问题描述 投票:0回答:1

我正在尝试使用 asterisk 服务器为我的本地主机实现 SIP 呼叫,并在成功后进一步在生产中实现。 我面临的问题是,当我尝试将呼叫连接到第二个用户时,呼叫被拨出,另一个人能够接听电话,但两端接听后都没有声音。没有声音,没有噪音,一片空白。分享我的配置文件如下:

使用https://github.com/christoofar/asterisk。 sip.conf:

[starcom]
type=peer
host=173.193.144.207
context=starcom-in
insecure=port
disallow=all
allow=ulaw
qualify=yes
dtmfmode=rfc2833
sendrpid=yes

[general]
nat=auto_force_rport
directmedia=no
context=public
allowoverlap=no
udpbindaddr=0.0.0.0
;tcpenable=yes
;tcpbindaddr=0.0.0.0
transport=udp
srvlookup=yes
disallow=all
allow=ulaw
debug=yes
externip=172.17.0.1
localnet=10.0.0.32/255.255.255.0


[user1]
type=friend
secret=12345
host=dynamic
username=user1
context=from-internal

[user2]
type=friend
secret=12345
host=dynamic
username=user2
context=from-internal

扩展.conf:

[public]
exten => 1000,1,Dial(SIP/user1)   ; Call user1 when dialing 1000
exten => 1001,1,Dial(SIP/user2)   ; Call user2 when dialing 1001

这些是星号服务器的日志:

= Using SIP RTP CoS mark 5
 
   -- Executing [1000@public:1] Dial("SIP/user2-0000000a", "SIP/user1") in new stack
  == Using SIP RTP CoS mark 5
    -- Called SIP/user1
    -- SIP/user1-0000000b is ringing
    -- SIP/user1-0000000b answered SIP/user2-0000000a
    -- Channel SIP/user1-0000000b joined 'simple_bridge' basic-bridge <5eacb834-c3ef-48cc-955c-de6c93db94f2>
    -- Channel SIP/user2-0000000a joined 'simple_bridge' basic-bridge <5eacb834-c3ef-48cc-955c-de6c93db94f2>
[Mar 27 06:24:01] WARNING[51]: chan_sip.c:4126 retrans_pkt: Retransmission timeout reached on transmission JMGAQqnwzo for seqno 21 (Critical Response) -- See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions
Packet timed out after 32000ms with no response
[Mar 27 06:24:01] WARNING[51]: chan_sip.c:4150 retrans_pkt: Hanging up call JMGAQqnwzo - no reply to our critical packet (see https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions).

在应用程序端(Android)我使用 linphone sdk 并创建远程地址为 -> remoteAddress = Factory.instance().createAddress("sip:1000@"+domain);

谁能帮我看看我做错了什么。

双方的通话都正常,但双方都没有声音,完全空白。 另外,我每次尝试时,通话都会在 31 秒后自动断开。

任何解决方案,有人遇到过这个问题吗?

sip asterisk sip-server linphone-sdk voip-android
1个回答
0
投票

可能是因为您无法在同一个 5060 端口上运行两个系统。至少你必须在任何一个端口切换并调用 127.0.0.1:5061

您还可以选择添加另一个环回 IP,例如 127.0.0.2 并调用该 IP。

我建议您更多地了解 TCP/IP 和 UDP 堆栈以及为什么这是不可能的。

© www.soinside.com 2019 - 2024. All rights reserved.