【发布时间】:2015-11-06 09:13:08
【问题描述】:
我通过 PHP、SMPP 协议发送短信,并且必须使用 Net_SMPP 库。发送短信后(它正常来电话)我需要接收答案(来自 SMSC 的deliver_sm PDU)。但是收听并没有生效。我的接收者的代码:
$host = '*********';
$port = '****';
$login = '*****';
$password = '*******';
/*
* There is sending of SMS
*/
$smsc = new Net_SMPP_Client($host, $port);
$smsc->connect();
$resp = $smsc->bind(
array(
'system_id' => $login,
'password' => $password,
'addr_ton' => NET_SMPP_TON_INTL,
'addr_npi' => NET_SMPP_NPI_ISDN,
'system_type' => ''
),
$typeBind
);
if (!is_object($resp) || $resp->isError()) {
die('CANNOT BIND');
}
$resp = $smsc->readPDU();
if (is_object($resp) && !$resp->isError()) {
//This is needble point
}
SMS 提供商说他发送了 deliver_sm,我的脚本响应了 deliver_sm_resp 错误“ESME 接收器临时应用错误代码”(错误代码 0x00000064)。
有趣的是,在将 SMS 发送到特殊的“门”号后,deliver_sm 将通常来找我并由我的脚本处理。
我做错了什么?请帮帮我!或者说我是否需要解决任何其他信息。
【问题讨论】:
-
您的脚本是否作为守护进程运行?
-
是的,它将由 cron 运行。
-
您需要与您的提供商建立有状态会话,而不是连接/断开脚本
标签: php sms sms-gateway smpp