Smpp Kannel中的TLV参数

Smpp Kannel中的TLV参数,smpp,kannel,tlv,Smpp,Kannel,Tlv,我的SMS服务提供商要求我在通过SMPP与他连接时设置以下TLV参数: 价格点(0x1400) 产品(0x1401) 合作伙伴角色ID(0x1402) 如何在Kannel中进行相同的配置因为这是我第一次使用这个SMPP客户端应用程序,我在Kannel.conf文件中设置了以下数据,但是当我推送/发送消息时,网关没有感觉到我设置的TLV group = smpp-tlv name = PRICEPOINT tag = 0x1400 type = integer length = 4 smsc-

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

  • 价格点(0x1400)
  • 产品(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跟踪中,我没有找到它:


您对配置做了正确的事情,但它所做的只是通知Kannel SMSC可能存在哪些TLV参数

要实际使用它们,您必须在如下格式的
元数据
参数中设置sendsms调用中的值
?smsc类型?key1=value1&key2=value2&key3=value3…
您必须考虑到在构造此字符串时,smsc类型、键和值必须进行URL编码,然后整个结果字符串必须再次进行URL编码

在您的情况下,它看起来像这样:
http://host:port/cgi-bin/sendsms?username=user&password=password&to=recipientphone&from=senderphone&text=content&smsc=smsc&metadata=%3Fsmpp%3FPRICEPOINT%3D1%26产品%3D2%26PARTNERROLEID%3D3

示例中的
%3Fsmpp%3FPRICEPOINT%3D1%26产品%3D2%26PARTNERROLEID%3D3
是URL编码的
?smpp?PRICEPOINT=1&PRODUCT=2&PARTNERROLEID=3


这里是文档中的相关部分:

另外,我需要知道是应该在SendSms HTTP回调中发送内容,还是只在Kannel.conf中设置TLV参数?非常感谢,它现在可以工作了。。。我刚才在处理一个SP时感到奇怪,在Kannel.conf文件中包含TLV就足够了。再一次,非常感谢。请您帮助我好吗