Kannel中的TLV参数

时间:2017-06-12 11:27:04

标签: smpp kannel tlv

我的短信服务提供商要求我在通过SMPP连接他时设置以下TLV参数:

  • PRICEPOINT(0x1400)
  • PRODUCT(0x1401)
  • 合作伙伴角色ID(0x1402)

如何在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跟踪中,我没有找到它:

enter image description here

1 个答案:

答案 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