Smscでkannelを構成しました。問題は、いくつかのメッセージと他のいくつかのメッセージの配信レポートを取得することです。
ERROR: SMPP[XXX]: got DLR but could not find message or was not interested in it id<2691146294> dst<98XXXXXXXXXX>, type<1>
これが私の設定です:
group = core
admin-port = 13000
admin-password = 123456
status-password = 654321
admin-deny-ip = "*.*.*.*"
admin-allow-ip = "127.0.0.1"
smsbox-port = 13001
box-deny-ip = "*.*.*.*"
box-allow-ip = "127.0.0.1"
log-file = "/var/log/kannel/bearerbox.log"
log-level = 1
store-type = spool
store-location = "/var/lib/kannel"
store-dump-freq = 60
sms-incoming-queue-limit = 10000000
sms-outgoing-queue-limit = 10000000
sms-resend-freq = 10
sms-resend-retry = -1
access-log = "/var/log/kannel/bearerbox-access.log"
group = smsc
smsc = smpp
smsc-id = my-smsc
Host = XXX.XXX.XXX.XXX
port = 5019
receive-port = 5019
system-type = VMA
smsc-username = XXX
smsc-password = XXX
throughput = 1
reconnect-delay = 10
msg-id-type = 0x01
group = smsbox
smsbox-id = my-smsbox
bearerbox-Host = 127.0.0.1
sendsms-port = 13013
log-file = "/var/log/kannel/smsbox.log"
log-level = 1
group = smsbox-route
smsbox-id = my-smsbox
smsc-id = my-smsc
group = sendsms-user
username = username
password = password
concatenation = true
max-messages = 100
dlr-mask
を3に設定し、dlr-url
を次のように設定して各メッセージを送信しています。
http://10.0.0.1/delivery?id=12345687&type=%d"
id
はデータベース内のメッセージIDです。誰か助けてもらえますか?
から http://www.kannel.org/pipermail/users/2011-July/016183.html
「私はKannelの第一人者ではありませんが、何度も見たことがありますが、少なくとも4つの理由で発生する可能性があります。
(1)異なるSMSC IDを使用して異なる接続を介してメッセージを送信した場合、コールバックDLRは一致しません。チャネルもSMSCIDと一致するため、送信接続は受信者接続とは異なるSMSCIDを使用します。
(2)DLRを要求せずにメッセージを送信しました。 dlr_mask = 0の場合、kannelは送信されたメッセージの参照を保存しません。しかし、運送業者はあなたにDLRを送りました!!このケースは、一部の通信事業者がDLRを要求しなくても送信するために発生する可能性があります。
(3)連結されたMTを送信すると、kannelは最初の部分のみの参照を保持し、他の部分を無視しますが、一部のオペレーターはすべての部分のDLRを送信し、他の部分は一致を見つけません。
(4)このケースは最も重要であり、一部の通信事業者はACKを送信する前にDLRを送信します。 kannelがメッセージ参照をまだ保存していないため、DLRは一致しません。参照をストアに保存する前にsubmit_sm_resp(ACK、NACK、...)を待機します。アレックスはこれを修正しましたが、パフォーマンスが低下します。」
まあ、私はこれがあなたを助けることを願っています:)
忙しい可能性があるため、kannelはdlrを処理できない可能性があります。 dlrストレージにmysqlデータベースを使用できます。dlrが失われることはありません。参照
http://eshaiju.blogspot.in/2013/09/configuring-mysql-dlr-storage.html