sub-6ren">
gpt4 book ai didi

Perl Net::SMPP query_sm PDU 错误 "Message ID invalid"0x0C ESME_RINVMSGID

转载 作者:行者123 更新时间:2023-12-05 00:44:15 25 4
gpt4 key购买 nike

我正在尝试使用 query_sm 查询通过 perl Net:SMPP 模块发送的 SMS 的状态。

我按如下方式填充我的 submit_sm PDU:

$resp_pdu1 = $smpp->submit_sm(
destination_addr => '12345678910',
short_message => 'test message',
source_addr_ton => 0x05,
source_addr_npi => 0x00,
source_addr => 'testing',
dest_addr_ton => 0x02,
dest_addr_npi => 0x01,
data_coding => 0x00,
esm_class => 0x00,
) or die;

我将 submit_sm_rsp PDU 中返回的消息 ID 传递到我的 query_sm PDU:

$msg_id = $resp_pdu1->{message_id};
print $msg_id;print "\n";
$resp_pdu2 = $smpp->query_sm(
message_id => $msg_id,
source_addr_ton => 0x05,
source_addr_npi => 0x00,
source_addr => 'testing',
) or die;

我的 perl 脚本运行没有任何错误,消息由 MS 接收,绑定(bind)和解除绑定(bind)到 SMSC 时没有错误。检查 SMPP 数据包的 wireshark 转储显示“消息 ID 无效 "在 query_sm_rsp 中,错误代码为 0x0C。我已经检查过,我传递给 query_sm PDU 的 submit_sm_rsp 返回的 message_id 是相同的。关于我为什么会收到此错误的任何提示?

最佳答案

SMSC 在哪种 SMPP 模式下运行?我的猜测是 - 如果 SMSC 不在存储和转发模式下运行,那么它可能不会在发送消息后保持消息状态。在这种情况下,即使消息已传送到 MS,您在查询 SMSC 时也可能会出错。

关于Perl Net::SMPP query_sm PDU 错误 "Message ID invalid"0x0C ESME_RINVMSGID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16231015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com