无法在go代码中设置SMPP可选参数

时间:2016-09-21 11:50:03

标签: go smpp

Iam正在研究SMPP协议并尝试使用golang代码和 selenium smpp模拟器来实现一个简单的发送器。我找到了一个包" CodeMonkeyKevin / smpp34 "来自github。 但我无法设置" user_message_reference"可选参数。

我稍微修改过" SubmitSm"功能在" transmitter.go"文件通过添加这些行(就在写操作之前):

Char.uppercase

但这不起作用。

我提供了值 tag = 0516 (int等效于0x0204 user_message_reference) length = 02 value =" 91"

在回复中我可以看到" tag = 516,len = 2,value = 0x3931 "在SMSC模拟器中,值字段对我来说似乎不合适;还有" message_id "在响应中仍然通过在最后一个message_id

中添加1来继续其序列

可以帮助我设置" user_message_reference" " submit_sm "的可选参数请求?

提前致谢。

1 个答案:

答案 0 :(得分:0)

您没有在transmitter.go

中编辑该功能

在submit_sm之后设置你的tlv字段

例如

pdu, err        := trx.Smpp.SubmitSm("+254720000000", 
pdu.GetField("source_addr").String(), msg, &smpp.Params{})

pdu.SetTLVField(0x0501, 1, []byte{2}) #eg a ussd_service_op

如果您使用的是kevin的软件包,这是添加tlv值的正确方法 见https://github.com/CodeMonkeyKevin/smpp34/issues/9 Additional parameters