我的短信服务提供商要求我在通过SMPP连接他时设置以下TLV参数:
如何在Kannel中配置相同的内容,因为这是我第一次使用此SMPP客户端应用程序,我在Kannel.conf文件中设置了以下数据,但是当我按下/发送消息时,网关感觉不到我设定的TLV。
group = smpp-tlv
name = PRICEPOINT
tag = 0x1400
type = integer
length = 4
smsc-id = SMSC01
group = smpp-tlv
name = PRODUCT
tag = 0x1401
type = integer
length = 4
smsc-id = SMSC01
group = smpp-tlv
name = PARTNERROLEID
tag = 0x1402
type = integer
length = 4
smsc-id = SMSC01
但在实时TCP跟踪中,我没有找到它:
答案 0 :(得分:2)
您使用配置做了正确的事情,但它的作用是它只是告知Kannel SMSC存在哪些可能的TLV参数。
要实际使用它们,您必须在meta-data
参数中设置transmitms调用中的值,格式如下?smsc-type?key1=value1&key2=value2&key3=value3...
您必须考虑到在构造此字符串时,smsc类型,键和值必须是urlencoded,然后整个结果字符串必须再次进行urlencoded。
在您的情况下,它看起来像这样:http://host:port/cgi-bin/sendsms?username=user&password=password&to=recipientphone&from=senderphone&text=content&smsc=smsc&meta-data=%3Fsmpp%3FPRICEPOINT%3D1%26PRODUCT%3D2%26PARTNERROLEID%3D3
。
示例中的%3Fsmpp%3FPRICEPOINT%3D1%26PRODUCT%3D2%26PARTNERROLEID%3D3
是urlencoded ?smpp?PRICEPOINT=1&PRODUCT=2&PARTNERROLEID=3
。
以下是文档中的相关部分:http://kannel.org/download/1.4.4/userguide-1.4.4/userguide.html#AEN6370