Asterisk 中查看 SIP 分机状态:使用 sip show peers 命令详解

Asterisk 中查看 SIP 分机状态:使用 sip show peers 命令详解

在 Asterisk 的日常运维和使用过程中,经常需要查看各分机的运行状况,以确保通信系统的稳定性和可用性。此时,sip show peers 命令是一个非常实用且高效的工具。通过该命令,管理员可以快速获取所有 SIP 分机的注册状态、IP 地址、端口号、延迟等关键信息,从而及时发现并解决分机离线、注册失败等问题。对于呼叫中心、企业通信等场景,这一命令是排查故障、优化配置的必备手段。

下面先来看一下我的 sip.conf 配置文件,内容如下:

  1. [201]
  2. user=201
  3. type=friend
  4. secret=1234
  5. host=dynamic
  6. context=incoming
  7. [202]
  8. user=202
  9. type=friend
  10. secret=1234
  11. host=dynamic
  12. context=incoming
  13. [1234]
  14. user=1234
  15. type=friend
  16. secret=1234
  17. host=dynamic
  18. context=incoming
  19. [0]
  20. user=0
  21. type=friend
  22. secret=1234
  23. host=dynamic
  24. context=incoming
  25. [1]
  26. user=1
  27. type=friend
  28. secret=1234
  29. host=dynamic
  30. context=incoming
  31. [2]
  32. user=2
  33. type=friend
  34. secret=1234
  35. host=dynamic
  36. context=incoming

以上配置中定义了 201、202、1234、0、1、2 共六个分机。每个分机均采用 type=friend 模式,既可作为主叫也可作为被叫;host=dynamic 表示分机使用动态 IP 地址,适用于通过 DHCP 获取地址的终端;context=incoming 指定了拨号计划上下文,用于控制呼叫路由。这些配置是 Asterisk 中典型的 SIP 分机设置,广泛应用于企业办公电话、呼叫中心坐席等场景。

接下来,在 CLI 终端中输入 sip show peers 命令,即可查看分机状态。该命令会列出所有已配置的 SIP 分机,并显示其名称、主机地址、端口、状态(如 OK、UNREACHABLE、LAGGED 等)、延迟等信息。对于动态主机,若分机尚未注册,主机地址将显示为 (Unspecified),状态为 UNKNOWN。

可以看到,命令执行结果已经显示了各分机的当前状态。通过观察这些状态,管理员可以迅速判断哪些分机在线、哪些离线,以及它们的网络延迟情况,从而进行针对性的维护。

现在打开 X-Lite 软电话,按照下图设置账号信息:

其中,192.168.1.33 是我的 Asterisk 服务器地址。在 X-Lite 中,需要填写账号(如 202)、密码(1234)、授权用户名以及服务器地址等参数。登录后,Asterisk 终端中会有相应的响应信息,如下图所示:

这说明 202 分机已经成功注册。注册成功后,Asterisk 会记录该分机的 IP 地址和端口,并开始向其发送 SIP 选项(OPTIONS)请求以监控其在线状态。这种机制有助于实时掌握分机可用性,对于保证呼叫中心的高可用性至关重要。

下图是 X-Lite 注册成功后的界面:

 

此时,再次在 CLI 终端中输入 sip show peers 命令:

 

可以看到,202 分机已经上线,系统已记录其 IP 地址和端口,并处于 Asterisk 的监听之中。与之前相比,状态列会显示为 OK,并且会显示延迟值(如 1.234 ms),表明分机与服务器之间的通信正常。通过定期执行该命令,管理员可以监控分机的在线率、网络质量,并及时发现异常,从而保障企业通信的顺畅进行。此外,结合其他命令如 sip show peer 202 可以查看特定分机的详细信息,sip show registry 可查看中继注册状态,共同构成完整的 SIP 监控体系。