首页 > 解决方案 > 我想解决在 Asterisk sip 服务器上发生的错误

问题描述

很高兴认识你

我正在使用 Asterisk 构建一个 SIP 服务器。
环境组成如下。

==================================================
- - SIP 服务器 --
Asterisk 15.6.1 由 root @ taka-machine-9010 在 x86_64 上构建,在 2018-11-09 06:20:43 UTC
Linux 版本 4.15.0-38-generic (buildd@lcy01-amd64 -023) (gcc 版本 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #41-Ubuntu SMP Wed Oct 10 10:59:38 UTC 2018

-- SIP Client --
电话版本:Zoiper5 5.2.19 for Windows 64bit
Microsoft Windows [版本 10.0.17134.345]
=========================================== ======

在这种环境下,尝试从客户端连接到服务器会导致“SIP UDP Not found”。
请告诉我原因和解决方法。

对于发生错误时的 TCP 通信,Wireshark 正在捕获。捕获内容和 Asterisk 设置位于以下 ZIP 文件中。

https://ufile.io/73jev

;sip.conf
[general]
context=default
transport=udp
port=5060
udpbindaddr=0.0.0.0
language=ja
localnet=192.168.104.0/255.255.255.0
domain=192.168.104.113

[201]
type=friend
username=201
secret=p@ w0ssRd
主机=动态
canreinvite=否

[202]
类型=朋友
用户名=202
秘密=p@w0ssRd
主机=动态
canreinvite=否

[203]
类型=朋友
用户名=203
秘密=p@w0ssRd
主机=动态
canreinvite=no


; extensions.conf
[默认]
;
; 默认情况下,我们包含演示。在生产系统中,您
;可能不想在那里有演示。
;
;include => demo
exten => 201,1,Dial(SIP/201,30,r)
exten => 201,2,Hangup()

exten => 202,1,Dial(SIP/202,30,r)
exten => 202,2,Hangup()

exten => 203,1,Answer()
exten => 203,2,Playback(hello-world)
exten => 203,3,Hangup()

标签: asterisksip

解决方案


首先,抱歉,我无法下载您通过 ufile.io 链接的 pcap。

当Zoiper 没有得到服务器的响应时,错误似乎来自Zoiper 端。几个建议:

1) 使用命令“asterisk -rvvvvvv”并尝试注册您的Zoiper 客户端。您应该会在 CLI 输出中看到注册尝试。如果不是,请检查客户端和星号之间的 IP 路由。

2) 由于您在 sip.conf 中使用 localnet= 参数,因此您的服务器可能位于 NAT 后面。如果是这种情况,我建议您在 sip.conf [general] 中也启用 externip= 参数

3) 如果您的 Zoiper 客户端在 NAT 之后,请将 nat=force_rport,commedia 添加到您的 20x 对等点中的每一个。

4) 另外,确保您的 Zoiper 客户端在 5060 UDP 上进行通信,并且没有默认为 IAX 4569

祝你好运!


推荐阅读