作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 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/
我正在使用 OnlineCity SMPP 客户端库发送 SMS。它工作正常。但是根据TRAI的新指南,我们需要在发送短信时添加以下新的TLV参数 group = smpp-tlv name = En
我是一名优秀的程序员,十分优秀!