gpt4 book ai didi

java - SMPP 有效负载是否包含附加信息?

转载 作者:行者123 更新时间:2023-12-02 07:23:06 25 4
gpt4 key购买 nike

是否可以使用自定义参数或任何其他方式通过 smpp 有效负载/pdu 发送一些额外数据。语言 API 可以是任何 java、jsmpp 或任何其他语言。如果可能的话,请分享一个例子。

最佳答案

在 SMPP 规范中,有这样一段:“5.3.2 SMPP 可选参数标签定义”,您可以在其中找到可以添加到 PDU 的所有可选参数。

下面是一个将 sar_* 选项设置为 Submit_sm 的示例,以指示它是长 Submit_sm 的一部分(使用此 python 库: https://github.com/mozes/smpp.pdu ):

pdu = SubmitSM()
pdu.params['sar_total_segments'] = 3
pdu.params['sar_segment_seqnum'] = 1
pdu.params['sar_msg_ref_num'] = 56

无论如何,如果您需要设置“供应商特定”选项而不使用标准可选参数,则需要在客户端和服务器端的库中实现它,您可能会发现它尚未准备好并在任何标准中实现图书馆。

您还可以考虑定义一个消息结构来发送您的数据(这取决于您需要做什么...),例如,交货收据是通过标准的 Deliver_sm pdu 以特定的消息格式发送的,这里是检查 Deliver_sm 内容是否代表送达回执或普通消息的方法:

def isDeliveryReceipt(self, DeliverSM):
"""Check whether DeliverSM is a DLR or not, will return None if not
or a dict with the DLR elements"""
ret = None

# Example of DLR content
# id:IIIIIIIIII sub:SSS dlvrd:DDD submit date:YYMMDDhhmm done
# date:YYMMDDhhmm stat:DDDDDDD err:E text: . . . . . . . . .
pattern = r"^id:(?P<id>\d{10}) sub:(?P<sub>\d{3}) dlvrd:(?P<dlvrd>\d{3}) submit date:(?P<sdate>\d{10}) done date:(?P<ddate>\d{10}) stat:(?P<stat>\w{7}) err:(?P<err>\w{3}) text:(?P<text>.*)"
m = re.search(pattern, DeliverSM.params['short_message'], flags=re.IGNORECASE)
if m is not None:
ret = m.groupdict()

return ret

关于java - SMPP 有效负载是否包含附加信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13935963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com