无法通过星号拨打电话

无法通过星号拨打电话

我想创建一个 voip 服务。我已经在专用的远程托管 debian lenny 发行版上安装了 asterisk-1.4。我制作了 sip.conf 和 extensions.conf,以便在安装在其他 Windows PC 上的两部 sip 电话(我使用的是 xlite 3.0)之间拨打电话。每当我切换这些电话时,asterisk 控制台都会显示“从 '"1000"' 注册 '122.168.10.254' 失败 - Peer 不应注册”其中 xx.xx.xx.xx 是服务器 ip 即我的 sip 电话无法在 asterisk 服务器上注册。请帮助我在两部 sip 电话之间拨打电话

#sip 显示同行
名称/用户名主机 Dyn Nat ACL 端口状态          
2000 (未指定) D 0 未监控    
1000 (未指定) D 0 未监控    
2 个 SIP 对等体 [监控:0 个在线,0 个离线 未监控:0 个在线,2 个离线]

# sip 显示注册表
主机用户名刷新状态注册时间

#sip 显示频道
对等用户/ANR 呼叫 ID 序列 (Tx/Rx) 格式保留最后一条消息
0 个活跃 SIP 通道

配置文件

 
[一般的]
上下文=默认
绑定端口=5060
绑定地址=0.0.0.0

[1000]
秘密=1000
类型=朋友
上下文=电话
主机=动态

[2000]
秘密=2000
类型=朋友
上下文=电话
主机=动态

扩展配置文件

[一般的]
autofallthrough = 是
静态 = 是
写保护=否
clearglobalvars = 是

[默认]
exten => s,1,Varbose(1|未路由的呼叫处理程序)
exten => s,n,答案()
exten => s,n,等待(1)
exten => s,n,播放(tt-weasels)
exten => s,n,挂断()

[来电]

[内部的]
exten => 500,1,Verbose(1|Echo 测试应用程序)
扩展 => 500,n,Echo()
exten => 500,n,挂断()

exten => 1000,1,详细(1|扩展 1000)
扩展 => 1000,n,拨号(SIP/1000,30)
exten => 1000,n,挂断()

exten => 2000,1,详细(1|扩展 2000)
扩展 => 2000,n,拨号(SIP/2000,30)
exten => 2000,n,挂断()

[电话]
包括 => 内部

答案1

您的问题出在 sip.conf 上。请确保您为终端设备定义了用户名:

[2000]
username=2000
secret=2000
type=friend
context=phones
host=dynamic

答案2

正如您在帖子中提到的,公共 IP 地址(这不是一个好的做法)。这些客户端是在 LAN 内还是在 WAN 外。您的机器是否位于 NAT 后面,或者这个公共 IP 是否在您的 debian 上设置。如果是这样,请检查您是否已将路由器上的 5060 和 5061 端口转发到 asterisk

答案3

检查你的 sip.conf - 对等类型可能有误 - 如果你发布你的 sip.conf,那么回答起来会更容易。

您很可能需要 type=friend,但请阅读有关各种设置的信息。

答案4

如果您在 sip.conf 中指定了 sip 对等体的主机地址,则可能会出现注册错误

http://www.voip-info.org/wiki/index.php?page=Asterisk+sip+type
“如果一个对等体定义为 host=dynamic ,它被允许向 Asterisk 注册,以告诉 Asterisk 它可以在哪里找到(IP 地址/主机名)以及从现在开始它可以访问。”

因此,如果您将其定义为 host=xx.xx.xx.xx,则无需注册,因为它只会接受该地址的对等体。

相关内容