在 Kannel 中获取 ID DLR

Get ID DLR in Kannel

我开发了一个应用程序,它使用 Kannel 通过 SMPP 向 SMSC 发送 SMS。我使用 http 发送 Kannel sendSms,并通过 DLR-URL 获取状态更新和短信响应。但是我不知道为这条消息捕获一个 ID,我无法在我的系统上识别它。

Kannel发送的DLR-URL是否有任何参数来标识消息?或者,你可以花一个sendSms自定义的参数,然后在DLR中捕获它-URL?

您可以将参数添加到您的 DLR URL,其值为 %F - 这将被设置为 SMSC 的 ID。但是,这只会让您获得 SMSC ID,并不能解决在您这边查找消息的问题。

您可以做的另一件事是为您发送的每条消息创建一个唯一的 DLR URL - 您可以直接在 URL 中包含来自数据库的相应消息 ID。例如,如果消息在您的数据库中的 ID 为 123456789,而它在 SMSC 上的 ID 为 987654321,则它看起来像这样:

  • 您将 dlr-url 设置为 ID 为 123456789 的消息:

    http://example.com/dlr-url/?my_id=123456789&smsc_id=%F&dlr=%d
    
  • 时间到了,您会收到类似这样的请求:

    http://example.com/dlr-url/?my_id=123456789&smsc_id=987654321&dlr=1