【问题标题】:SIP : fsockopen doesn't reponse correct/worng userSIP:fsockopen 不响应正确/错误的用户
【发布时间】:2018-10-05 15:28:09
【问题描述】:

我用正确的登录名和密码尝试了多台服务器,但我没有得到任何响应。

$ports = array('5060','5061');
foreach($ports as $port){
$socket = fsockopen("71.170.105.118", $port, $errno, $errstr, 30);
fputs($socket, "Action: Login\r\n");
fputs($socket, "UserName: XXX\r\n");
fputs($socket, "Secret: XXX\r\n\r\n");
fputs($socket, "Action: Command\r\n");
fputs($socket, "Command: sip show peers\r\n\r\n");

$wrets=fgets($socket,128);

echo $wrets."¦".$errno."¦".$errstr."\n";

}

我收到了这个回复:

¦0¦
¦0¦

我正在寻找确保凭据是否正确以执行我的下一个命令。

谢谢

【问题讨论】:

  • 我对 SIP 一无所知,但这看起来很像 HTTP 请求,只是它缺少包含方法和请求的第一行。您设置了标头,但没有设置请求。一点谷歌搜索表明这是必要的,即使我必须进行更多搜索才能了解如何使用该协议。
  • google了很多次,我从这个来源获取了这段代码:voip-info.org/asterisk-manager-example-php
  • TCP 和 UDP 上的端口 5060 和 5061 都由 IANA 与会话发起协议 (SIP) 相关联。具体来说,端口 5060 分配给明文 SIP,端口 5061 分配给加密 SIP,也称为 SIP-TLS(SIP over a TLS,Transport Layer Security,加密通道)。不幸的是,标准的 TLS(SSL 的继任者)只能通过 TCP 建立。
  • 这个 RFC tools.ietf.org/html/rfc3261 看起来像是在使用不同的协议

标签: php sip voip sip-server


【解决方案1】:

您正在尝试连接到 Asterisk AMI(Asterisk 管理器接口),但它可以与另一个端口一起使用,您可能会在一般部分的 manager.conf 文件中找到正确的端口,我包含以下内容:

[general]
enabled = yes
port = 5038
bindaddr = 0.0.0.0
displayconnects=no ;only effects 1.6+

所以,如您所见,端口是 5038 而不是 5060 和 5061,但是当我尝试连接您的代码时,它只返回 Asterisk Call Manager/2.10.4 ¦0¦ 字符串,所以我稍微改写了一下:

$socket = fsockopen("XXX.XXX.XXX.XXX", '5038', $errno, $errstr, 30);
fputs($socket, "Action: Login\r\n");
fputs($socket, "UserName: admin\r\n");
fputs($socket, "Secret: XXXXXXX\r\n\r\n");
fputs($socket, "Action: Command\r\n");
fputs($socket, "Command: sip show peers\r\n\r\n");
fputs($socket, "Action: Logoff\r\n");

while ($wrets=fgets($socket)) {
    var_dump($wrets);
}

所以,现在可以正常使用了

【讨论】:

  • 我只是用户,我看不到 manager.conf,我正在寻找作为 voip 软件连接到服务器,它允许您像 eyebeam 一样拨打电话。我在找什么?如果我连接成功或者没有得到回复谢谢
  • @ElarbiDafrouillah 您尝试使用的脚本用于管理 Asterisk 服务器,它不能帮助您作为客户端检查连接
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-11
  • 2012-10-27
  • 2018-11-07
  • 2020-11-03
  • 2021-05-31
  • 1970-01-01
相关资源
最近更新 更多