gpt4 book ai didi

php - Onlinecity SMPP - 添加新的 tlv 参数

转载 作者:行者123 更新时间:2023-12-05 06:57:11 26 4
gpt4 key购买 nike

我正在使用 OnlineCity SMPP 客户端库发送 SMS。它工作正常。但是根据TRAI的新指南,我们需要在发送短信时添加以下新的TLV参数

group = smpp-tlv

name = EntityID

tag = 0x1400

type = octetstring

length = 30

smsc-id = ***

我试过了

// Prepare message
$ENTITY_ID = new SmppTag(0x1400, '****************');
$tags = array($ENTITY_ID);
$from = new SmppAddress($SMS_Params['senderid'],SMPP::TON_ALPHANUMERIC);
$to = new SmppAddress($SMS_Params['phone'],SMPP::TON_INTERNATIONAL,SMPP::NPI_E164);
$encodedMessage = utf8_encode($SMS_Params['message']);
// Send
$return_data = $smpp->sendSMS($from,$to,$encodedMessage,$tags);

我收到了成功响应,但没有收到任何短信。我咨询了我的 smpp 提供商。他们说附加的 TLV 参数不存在,这就是未发送 SMS 的原因。

你们有什么想法吗,我们可以在我当前基于 onlinecity 库的代码中做到这一点,还是我应该做其他事情?

最佳答案

您需要检查您的 octect 字符串是否以 null 终止,默认情况下库假设它是。所以有一个变量 $sms_null_terminate_octetstrings 如果您的提供者不以 null 结尾,则需要重置它。

Asterisk 集成商推荐的上述代码更改说明了同样的事情。如果您可以根据需要重置标志,而不是更改代码,那应该可以解决问题。

对于其他想要添加新的强制参数的人,应该使用 smpp-php 库像这样添加。

$tags = array(
new SmppTag(0x1400, your_pe_id),
new SmppTag(0x1401, your_template_id)
);
$message_id = $smpp->sendSMS($from, $to, $encodedMessage, $tags);

关于php - Onlinecity SMPP - 添加新的 tlv 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64951269/

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