Kannel: how to send multipart messages? - sms

Are there any special options that I need to send to be able to send multipart messages?
I’m submitting SMS to Kannel by accessing the following URL.
http://myipaddress:13013/cgi-bin/sendsms?username=test&password=test&to=123456789&from=TEST&text=long_long_text
But instead of receiving the message itself I see some strange symbols on my phone, something similar to
4eX1-06I! … and it contains some not Latin symbols as well.
If I make the text shorter (less then 160) without changing anything else it works fine, so this is just multipart message problem.
If I set coding and charset (coding=1&charset=windows-1252) then my Samsung phone receives the message, but Nokia says “Unsupported message type”
http://myipaddress:13013/cgi-bin/sendsms?coding=1&charset=windows-1252&username=test&password=test&to=123456789&from=TEST&text=long_long_text
I'm able to send unicode messages with
http://myipaddress:13013/cgi-bin/sendsms?coding=2&charset=utf-8&username=test&password=test&to=123456789&from=TEST&text=long_long_text
but in this case instead of sending 2 messages I'm sending 3, it's expensive, so I wouldn't like to go this way.
Kannel smsbox version 1.4.3
From my point of view multipart messages should be handled automatically by kannel, so I haven't done anything specially for that. I couldn't find anything related to multipart messages in kannel configuration. I even couldn't find anything about multipart messages in kannel users manual at all.
Here is PDU for both single message and multipart. I don't really see any difference.
PDU for multipart message (1st page)
2012-01-06 13:50:39 [26630] [7] DEBUG: SMPP[vivacell2]: Manually forced source addr ton = 6, source add npi = 1
2012-01-06 13:50:39 [26630] [7] DEBUG: SMPP[vivacell2]: Manually forced dest addr ton = 1, dest add npi = 1
2012-01-06 13:50:39 [26630] [7] DEBUG: SMPP[vivacell2]: Sending PDU:
2012-01-06 13:50:39 [26630] [7] DEBUG: SMPP PDU 0x7efeec0008b0 dump:
2012-01-06 13:50:39 [26630] [7] DEBUG: type_name: submit_sm
2012-01-06 13:50:39 [26630] [7] DEBUG: command_id: 4 = 0x00000004
2012-01-06 13:50:39 [26630] [7] DEBUG: command_status: 0 = 0x00000000
2012-01-06 13:50:39 [26630] [7] DEBUG: sequence_number: 601 = 0x00000259
2012-01-06 13:50:39 [26630] [7] DEBUG: service_type: NULL
2012-01-06 13:50:39 [26630] [7] DEBUG: source_addr_ton: 5 = 0x00000005
2012-01-06 13:50:39 [26630] [7] DEBUG: source_addr_npi: 0 = 0x00000000
2012-01-06 13:50:39 [26630] [7] DEBUG: source_addr: "Tiko"
2012-01-06 13:50:39 [26630] [7] DEBUG: dest_addr_ton: 1 = 0x00000001
2012-01-06 13:50:39 [26630] [7] DEBUG: dest_addr_npi: 1 = 0x00000001
2012-01-06 13:50:39 [26630] [7] DEBUG: destination_addr: "37493544831"
2012-01-06 13:50:39 [26630] [7] DEBUG: esm_class: 3 = 0x00000003
2012-01-06 13:50:39 [26630] [7] DEBUG: protocol_id: 0 = 0x00000000
2012-01-06 13:50:39 [26630] [7] DEBUG: priority_flag: 0 = 0x00000000
2012-01-06 13:50:39 [26630] [7] DEBUG: schedule_delivery_time: NULL
2012-01-06 13:50:39 [26630] [7] DEBUG: validity_period: NULL
2012-01-06 13:50:39 [26630] [7] DEBUG: registered_delivery: 0 = 0x00000000
2012-01-06 13:50:39 [26630] [7] DEBUG: replace_if_present_flag: 0 = 0x00000000
2012-01-06 13:50:39 [26630] [7] DEBUG: data_coding: 0 = 0x00000000
2012-01-06 13:50:39 [26630] [7] DEBUG: sm_default_msg_id: 0 = 0x00000000
2012-01-06 13:50:39 [26630] [7] DEBUG: sm_length: 17 = 0x00000011
2012-01-06 13:50:39 [26630] [7] DEBUG: short_message: "lohellohellohello"
2012-01-06 13:50:39 [26630] [7] DEBUG: SMPP PDU dump ends.
2012-01-06 13:50:39 [26630] [7] DEBUG: SMPP[vivacell2]: Got PDU:
2012-01-06 13:50:39 [26630] [7] DEBUG: SMPP PDU 0x7efeec0008b0 dump:
2012-01-06 13:50:39 [26630] [7] DEBUG: type_name: submit_sm_resp
2012-01-06 13:50:39 [26630] [7] DEBUG: command_id: 2147483652 = 0x80000004
2012-01-06 13:50:39 [26630] [7] DEBUG: command_status: 0 = 0x00000000
2012-01-06 13:50:39 [26630] [7] DEBUG: sequence_number: 601 = 0x00000259
2012-01-06 13:50:39 [26630] [7] DEBUG: message_id: "6030df9059c3c143"
2012-01-06 13:50:39 [26630] [7] DEBUG: SMPP PDU dump ends.
PDU for multipart message (2nd page)
2012-01-06 13:44:02 [26630] [7] DEBUG: SMPP[mts]: Manually forced source addr ton = 6, source add npi = 1
2012-01-06 13:44:02 [26630] [7] DEBUG: SMPP[mts]: Manually forced dest addr ton = 1, dest add npi = 1
2012-01-06 13:44:02 [26630] [7] DEBUG: SMPP[mts]: Sending PDU:
2012-01-06 13:44:02 [26630] [7] DEBUG: SMPP PDU 0x7efeec0012c0 dump:
2012-01-06 13:44:02 [26630] [7] DEBUG: type_name: submit_sm
2012-01-06 13:44:02 [26630] [7] DEBUG: command_id: 4 = 0x00000004
2012-01-06 13:44:02 [26630] [7] DEBUG: command_status: 0 = 0x00000000
2012-01-06 13:44:02 [26630] [7] DEBUG: sequence_number: 585 = 0x00000249
2012-01-06 13:44:02 [26630] [7] DEBUG: service_type: NULL
2012-01-06 13:44:02 [26630] [7] DEBUG: source_addr_ton: 5 = 0x00000005
2012-01-06 13:44:02 [26630] [7] DEBUG: source_addr_npi: 0 = 0x00000000
2012-01-06 13:44:02 [26630] [7] DEBUG: source_addr: "SenderName"
2012-01-06 13:44:02 [26630] [7] DEBUG: dest_addr_ton: 1 = 0x00000001
2012-01-06 13:44:02 [26630] [7] DEBUG: dest_addr_npi: 1 = 0x00000001
2012-01-06 13:44:02 [26630] [7] DEBUG: destination_addr: "123456789"
2012-01-06 13:44:02 [26630] [7] DEBUG: esm_class: 67 = 0x00000043
2012-01-06 13:44:02 [26630] [7] DEBUG: protocol_id: 0 = 0x00000000
2012-01-06 13:44:02 [26630] [7] DEBUG: priority_flag: 0 = 0x00000000
2012-01-06 13:44:02 [26630] [7] DEBUG: schedule_delivery_time: NULL
2012-01-06 13:44:02 [26630] [7] DEBUG: validity_period: NULL
2012-01-06 13:44:02 [26630] [7] DEBUG: registered_delivery: 0 = 0x00000000
2012-01-06 13:44:02 [26630] [7] DEBUG: replace_if_present_flag: 0 = 0x00000000
2012-01-06 13:44:02 [26630] [7] DEBUG: data_coding: 0 = 0x00000000
2012-01-06 13:44:02 [26630] [7] DEBUG: sm_default_msg_id: 0 = 0x00000000
2012-01-06 13:44:02 [26630] [7] DEBUG: sm_length: 23 = 0x00000017
2012-01-06 13:44:02 [26630] [7] DEBUG: short_message:
2012-01-06 13:44:02 [26630] [7] DEBUG: Octet string at 0x7efeec001860:
2012-01-06 13:44:02 [26630] [7] DEBUG: len: 23
2012-01-06 13:44:02 [26630] [7] DEBUG: size: 1024
2012-01-06 13:44:02 [26630] [7] DEBUG: immutable: 0
2012-01-06 13:44:02 [26630] [7] DEBUG: data: 05 00 03 0b 02 02 6c 6f 68 65 6c 6c 6f 68 65 6c ......lohellohel
2012-01-06 13:44:02 [26630] [7] DEBUG: data: 6c 6f 68 65 6c 6c 6f lohello
2012-01-06 13:44:02 [26630] [7] DEBUG: Octet string dump ends.
2012-01-06 13:44:02 [26630] [7] DEBUG: SMPP PDU dump ends.
This message was delivered and concatanated, but it is unreadable.
Single message (this one works fine)
2012-01-06 13:44:22 [26630] [7] DEBUG: SMPP[mts]: Manually forced source addr ton = 6, source add npi = 1
2012-01-06 13:44:22 [26630] [7] DEBUG: SMPP[mts]: Manually forced dest addr ton = 1, dest add npi = 1
2012-01-06 13:44:22 [26630] [7] DEBUG: SMPP[mts]: Sending PDU:
2012-01-06 13:44:22 [26630] [7] DEBUG: SMPP PDU 0x7efeec0008b0 dump:
2012-01-06 13:44:22 [26630] [7] DEBUG: type_name: submit_sm
2012-01-06 13:44:22 [26630] [7] DEBUG: command_id: 4 = 0x00000004
2012-01-06 13:44:22 [26630] [7] DEBUG: command_status: 0 = 0x00000000
2012-01-06 13:44:22 [26630] [7] DEBUG: sequence_number: 587 = 0x0000024b
2012-01-06 13:44:22 [26630] [7] DEBUG: service_type: NULL
2012-01-06 13:44:22 [26630] [7] DEBUG: source_addr_ton: 5 = 0x00000005
2012-01-06 13:44:22 [26630] [7] DEBUG: source_addr_npi: 0 = 0x00000000
2012-01-06 13:44:22 [26630] [7] DEBUG: source_addr: "SenderName"
2012-01-06 13:44:22 [26630] [7] DEBUG: dest_addr_ton: 1 = 0x00000001
2012-01-06 13:44:22 [26630] [7] DEBUG: dest_addr_npi: 1 = 0x00000001
2012-01-06 13:44:22 [26630] [7] DEBUG: destination_addr: "123456789"
2012-01-06 13:44:22 [26630] [7] DEBUG: esm_class: 3 = 0x00000003
2012-01-06 13:44:22 [26630] [7] DEBUG: protocol_id: 0 = 0x00000000
2012-01-06 13:44:22 [26630] [7] DEBUG: priority_flag: 0 = 0x00000000
2012-01-06 13:44:22 [26630] [7] DEBUG: schedule_delivery_time: NULL
2012-01-06 13:44:22 [26630] [7] DEBUG: validity_period: NULL
2012-01-06 13:44:22 [26630] [7] DEBUG: registered_delivery: 0 = 0x00000000
2012-01-06 13:44:22 [26630] [7] DEBUG: replace_if_present_flag: 0 = 0x00000000
2012-01-06 13:44:22 [26630] [7] DEBUG: data_coding: 0 = 0x00000000
2012-01-06 13:44:22 [26630] [7] DEBUG: sm_default_msg_id: 0 = 0x00000000
2012-01-06 13:44:22 [26630] [7] DEBUG: sm_length: 30 = 0x0000001e
2012-01-06 13:44:22 [26630] [7] DEBUG: short_message:
2012-01-06 13:44:22 [26630] [7] DEBUG: Octet string at 0x7efeec000a80:
2012-01-06 13:44:22 [26630] [7] DEBUG: len: 30
2012-01-06 13:44:22 [26630] [7] DEBUG: size: 31
2012-01-06 13:44:22 [26630] [7] DEBUG: immutable: 0
2012-01-06 13:44:22 [26630] [7] DEBUG: data: 68 65 6c 6c 6f 68 65 6c 6c 6f 68 65 6c 6c 6f 68 hellohellohelloh
2012-01-06 13:44:22 [26630] [7] DEBUG: data: 65 6c 6c 6f 68 65 6c 6c 6f 68 65 6c 6c 6f ellohellohello
2012-01-06 13:44:22 [26630] [7] DEBUG: Octet string dump ends.
2012-01-06 13:44:22 [26630] [7] DEBUG: SMPP PDU dump ends.
2012-01-06 13:44:22 [26630] [7] DEBUG: SMPP[mts]: Got PDU:
2012-01-06 13:44:22 [26630] [7] DEBUG: SMPP PDU 0x7efeec0008b0 dump:
2012-01-06 13:44:22 [26630] [7] DEBUG: type_name: submit_sm_resp
2012-01-06 13:44:22 [26630] [7] DEBUG: command_id: 2147483652 = 0x80000004
2012-01-06 13:44:22 [26630] [7] DEBUG: command_status: 0 = 0x00000000
2012-01-06 13:44:22 [26630] [7] DEBUG: sequence_number: 587 = 0x0000024b
2012-01-06 13:44:22 [26630] [7] DEBUG: message_id: "6030df305bc3c1c2"
2012-01-06 13:44:22 [26630] [7] DEBUG: SMPP PDU dump ends.
Here is the smsc configuration.
group = smsc
smsc-id = mts
smsc = smpp
host = ipaddress
port = 2775
#receive-port = 2775
smsc-username = "********"
smsc-password = "********"
transceiver-mode = true
source-addr-ton = 6
source-addr-npi = 1
dest-addr-ton = 1
dest-addr-npi = 1
interface-version = "34"
system-type = "ESME"
log-file = "/var/log/kannel/smsc.log"
log-level = 4
#alt-addr-charset = GSM
alt-charset = GSM
msg-id-type=0x03
reconnect-delay = 1
keepalive = 60
connection-timeout = 600
#max-pending-submits=10
log-file = "/var/log/kannel/mts.log"
log-level = 0
How to solve that?
Please let me know if you need any other information.
Thanks in advance.

You can set below parameter to avoid duplicate message
sms-resend-retry = 0
max-messages =0

In the Kannel user guide there's a max-messages setting,
If the message to be sent is longer than maximum length of an SMS it
will be split into several parts. max-messages lets you specify a
maximum number of individual SMS messages that can be used. If
max-messages is set to 0, no reply is sent, except for error messages.
I'd try changing that setting because i don't seem to find a default anywhere
http://www.kannel.org/download/1.4.3/userguide-1.4.3/userguide.html

Related

Kannel: maybe Sim storage is full? I'll have a look at it.(500)

The server was sending SMS properly, but at a moment of time I got this error: ERROR: Unknown error. -> maybe Sim storage is full? I'll have a look at it. (500)
Here are my logs:
2016-05-25 14:24:53 [27725] [6] DEBUG: AT2[A]: TP-Validity-Period: 24.0 hours
2016-05-25 14:24:53 [27725] [6] DEBUG: AT2[A]: --> AT+CMGS=17^M
2016-05-25 14:24:53 [27725] [6] DEBUG: AT2[A]: <-- >
2016-05-25 14:24:53 [27725] [6] DEBUG: AT2[A]: send command status: 1
2016-05-25 14:24:53 [27725] [6] DEBUG: AT2[A]: --> 0011000A8170440674530000A704E872390F
2016-05-25 14:24:53 [27725] [6] DEBUG: AT2[A]: --> ^Z
2016-05-25 14:24:53 [27725] [6] DEBUG: AT2[A]: <-- >
2016-05-25 14:25:14 [27725] [6] DEBUG: AT2[A]: send command status: 1
2016-05-25 14:25:14 [27725] [7] DEBUG: sms_router: handling message (0x7f2934000fc0 vs 0x7f2934000fc0)
2016-05-25 14:25:14 [27725] [7] DEBUG: re-queing SMS not-yet-to-be resent
2016-05-25 14:25:14 [27725] [7] DEBUG: sms_router: handling message (0x7f2934000fc0 vs 0x7f2934000fc0)
2016-05-25 14:25:14 [27725] [7] DEBUG: re-queing SMS not-yet-to-be resent
2016-05-25 14:25:14 [27725] [7] DEBUG: sms_router: time to sleep 30.00 secs.
2016-05-25 14:25:18 [27725] [6] DEBUG: AT2[A]: <- +CMS ERROR: 500
2016-05-25 14:25:18 [27725] [6] ERROR: AT2[A]: CMS ERROR: +CMS ERROR: 500
2016-05-25 14:25:18 [27725] [6] ERROR: AT2[A]: CMS ERROR: Unknown error. -> maybe Sim storage is full? I'll have a look at it. (500)
2016-05-25 14:25:44 [27725] [7] DEBUG: sms_router: gwlist_len = 1
2016-05-25 14:25:44 [27725] [7] DEBUG: sms_router: handling message (0x7f2934000fc0 vs 0x7f2934000fc0)
2016-05-25 14:25:44 [27725] [7] DEBUG: re-queing SMS not-yet-to-be resent
2016-05-25 14:25:44 [27725] [7] DEBUG: sms_router: handling message (0x7f2934000fc0 vs 0x7f2934000fc0)
2016-05-25 14:25:44 [27725] [7] DEBUG: re-queing SMS not-yet-to-be resent
2016-05-25 14:25:44 [27725] [7] DEBUG: sms_router: time to sleep 30.00 secs.
2016-05-25 14:26:14 [27725] [7] DEBUG: sms_router: gwlist_len = 1
2016-05-25 14:26:14 [27725] [7] DEBUG: sms_router: handling message (0x7f2934000fc0 vs 0x7f2934000fc0)
2016-05-25 14:26:14 [27725] [7] DEBUG: Message routed successfully.
I tried to fix it using:
I had configured max-messages = 100 for group = sendsms-user and restarted the server, but same result
I had configured sim-buffering = true and message-storage = "SM" and restarted the server, but same result
I already checked:
The SIM has credit.
The receiver phone number is correct.
Thanks for help,
Valentin
I used this and it worked. Just upgrade kernel to 1.4.5 or 1.5.0 the add to:
group = modems
message-start = 0
After that didn't happen any more, hope this will work for you.

kannel - sms not sending through huawei e173

I am new to kannel and i have configured and tried to test
but sms is not delivering.
smskannel.conf
group = core
admin-port = 13003
smsbox-port = 13004
admin-password = bar
log-file = /usr/local/log/kannel.log
access-log = /usr/local/log/access.log
group = modems
id = huawei_e173
name = "Huawei E173"
detect-string = "huawei"
init-string = "AT+CFUN=1"
init-string= “ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0″
init-string = “AT+CNMI=3,2,0,0,0″
init-string = “AT+CMEE=2;+CNMI=3,1,0,0,0″
reset-string = “ATZ”
speed=115200
need-sleep = true
keepalive-cmd = “AT+CBC;+CSQ”
enable-mms = true
message-storage=”SM”
group = smsc
smsc = at
smsc-id = Huawei
modemtype = auto
device=/dev/ttyUSB0
my-number = 00923348648921
sms-center= 00923330005150
connect-allow-ip = localhost
log-level = 0
group = smsbox-route
smsbox-id = ab
group = smsbox
bearerbox-host = localhost
sendsms-port = 13013
global-sender = 13013
log-file = /tmp/smsbox.log
log-level = 0
access-log = /tmp/access.log
Test Sms
http://localhost:13013/cgi-bin/sendsms?username=DineshKumaraJayasinghe&password=foobar&to=+94715487593&text=thisisatestmessage
SmsBox log
2014-01-01 14:42:06 [18837] [2] DEBUG: HTTP: Creating HTTPClient for `127.0.0.1'.
2014-01-01 14:42:06 [18837] [2] DEBUG: HTTP: Created HTTPClient area 0x7f5078000a80.
2014-01-01 14:42:06 [18837] [3] INFO: smsbox: Got HTTP request </cgi-bin/sendsms> from <127.0.0.1>
2014-01-01 14:42:06 [18837] [3] INFO: sendsms used by <DineshKumaraJayasinghe>
2014-01-01 14:42:06 [18837] [3] INFO: sendsms sender:<DineshKumaraJayasinghe:13013> (127.0.0.1) to:<0719237093> msg:<thisisatestmessage>
2014-01-01 14:42:06 [18837] [3] DEBUG: Stored UUID f386a11d-ea51-41c2-b391-f419de3bca4a
2014-01-01 14:42:06 [18837] [3] DEBUG: message length 18, sending 1 messages
2014-01-01 14:42:06 [18837] [3] DEBUG: Status: 202 Answer: <Sent.>
2014-01-01 14:42:06 [18837] [3] DEBUG: Delayed reply - wait for bearerbox
2014-01-01 14:42:06 [18837] [0] DEBUG: Got ACK (3) of f386a11d-ea51-41c2-b391-f419de3bca4a
2014-01-01 14:42:06 [18837] [0] DEBUG: HTTP: Resetting HTTPClient for `127.0.0.1'.
Bearerbox.log
2014-01-01 14:42:01 [18826] [6] DEBUG: AT2[Huawei]: detecting modem type
2014-01-01 14:42:01 [18826] [6] INFO: AT2[Huawei]: opening device
2014-01-01 14:42:01 [18826] [6] WARNING: AT2[Huawei]: trying to open device with not closed device!!! Please report!!!
2014-01-01 14:42:01 [18826] [6] INFO: AT2[Huawei]: closing device
2014-01-01 14:42:01 [18826] [6] DEBUG: AT2[Huawei]: device opened
2014-01-01 14:42:02 [18826] [6] DEBUG: AT2[Huawei]: device opened
2014-01-01 14:42:02 [18826] [6] INFO: AT2[Huawei]: speed set to 115200
2014-01-01 14:42:02 [18826] [6] DEBUG: AT2[Huawei]: --> ^M
2014-01-01 14:42:04 [18826] [6] DEBUG: AT2[Huawei]: --> AT^M
2014-01-01 14:42:06 [18826] [8] DEBUG: boxc_receiver: sms received
2014-01-01 14:42:06 [18826] [8] DEBUG: send_msg: sending msg to box: <127.0.0.1>
2014-01-01 14:42:06 [18826] [7] DEBUG: sms_router: handling message (0x7fb268001770 vs 0x7fb268001770)
2014-01-01 14:42:06 [18826] [7] DEBUG: sms_router: handling message (0x7fb268001770 vs 0x7fb268001770)
2014-01-01 14:42:06 [18826] [7] DEBUG: sms_router: time to sleep 30.00 secs.
2014-01-01 14:42:08 [18826] [6] DEBUG: AT2[Huawei]: --> AT&F^M
2014-01-01 14:42:12 [18826] [6] DEBUG: AT2[Huawei]: detecting modem type
2014-01-01 14:42:12 [18826] [6] INFO: AT2[Huawei]: opening device
2014-01-01 14:42:12 [18826] [6] WARNING: AT2[Huawei]: trying to open device with not closed device!!! Please report!!!
2014-01-01 14:42:12 [18826] [6] INFO: AT2[Huawei]: closing device
2014-01-01 14:42:12 [18826] [6] DEBUG: AT2[Huawei]: device opened
2014-01-01 14:42:13 [18826] [6] DEBUG: AT2[Huawei]: device opened
2014-01-01 14:42:13 [18826] [6] INFO: AT2[Huawei]: speed set to 115200
2014-01-01 14:42:13 [18826] [6] DEBUG: AT2[Huawei]: --> ^M
2014-01-01 14:42:15 [18826] [6] DEBUG: AT2[Huawei]: --> AT^M
2014-01-01 14:42:19 [18826] [6] DEBUG: AT2[Huawei]: --> AT&F^M
2014-01-01 14:42:20 [18826] [6] DEBUG: AT2[Huawei]: <-- +CIND: 5,0,0,0,0,1,0,0
2014-01-01 14:42:20 [18826] [6] DEBUG: AT2[Huawei]: <-- OK
2014-01-01 14:42:20 [18826] [6] DEBUG: AT2[Huawei]: --> ATE0^M
2014-01-01 14:42:24 [18826] [6] DEBUG: AT2[Huawei]: detecting modem type
2014-01-01 14:42:24 [18826] [6] INFO: AT2[Huawei]: opening device
2014-01-01 14:42:24 [18826] [6] WARNING: AT2[Huawei]: trying to open device with not closed device!!! Please report!!!
2014-01-01 14:42:24 [18826] [6] INFO: AT2[Huawei]: closing device
2014-01-01 14:42:24 [18826] [6] DEBUG: AT2[Huawei]: device opened
2014-01-01 14:42:25 [18826] [6] DEBUG: AT2[Huawei]: device opened
2014-01-01 14:42:25 [18826] [6] INFO: AT2[Huawei]: speed set to 115200
with my log files it seems sms is sending to smsbox and bearerebox as well.
but the test sms not receiving to my phone
Try to replace localhost with 127.0.0.1 in the configuration file and set modemtype = HUAWEI

Kannel configuration for CSMS on AT

I am working on a web app that is configured to send smses to mobile clients. My main problem is with the sms settings on the kannel gateway(new to framwork!). When I run the bearerbox, I get the following stack..
2013-01-10 16:17:34 [4875] [0] INFO: Kannel bearerbox II version 1.4.3 starting
2013-01-10 16:17:34 [4875] [0] INFO: MAIN: Start-up done, entering mainloop
2013-01-10 16:17:34 [4875] [0] DEBUG: AT2[Huawei]: start called
2013-01-10 16:17:34 [4875] [6] DEBUG: AT2[Huawei]: device opened. Telnet mode = 0
2013-01-10 16:17:34 [4875] [6] DEBUG: AT2[Huawei]: device opened
2013-01-10 16:17:34 [4875] [6] INFO: AT2[Huawei]: speed set to 9600
2013-01-10 16:17:34 [4875] [6] DEBUG: AT2[Huawei]: --> ^M
2013-01-10 16:17:36 [4875] [6] DEBUG: AT2[Huawei]: --> AT^M
2013-01-10 16:17:36 [4875] [6] DEBUG: AT2[Huawei]: <-- AT
2013-01-10 16:17:36 [4875] [6] DEBUG: AT2[Huawei]: <-- OK
2013-01-10 16:17:36 [4875] [6] INFO: AT2[Huawei]: Closing device
2013-01-10 16:17:36 [4875] [6] INFO: AT2[Huawei]: speed is 9600
2013-01-10 16:17:36 [4875] [6] INFO: AT2[Huawei]: opening device
2013-01-10 16:17:36 [4875] [6] DEBUG: AT2[Huawei]: device opened. Telnet mode = 0
2013-01-10 16:17:36 [4875] [6] DEBUG: AT2[Huawei]: device opened
2013-01-10 16:17:36 [4875] [6] INFO: AT2[Huawei]: Logging in
2013-01-10 16:17:36 [4875] [6] INFO: AT2[Huawei]: init device
2013-01-10 16:17:36 [4875] [6] INFO: AT2[Huawei]: speed set to 9600
2013-01-10 16:17:36 [4875] [6] DEBUG: AT2[Huawei]: --> ATZ^M
2013-01-10 16:17:36 [4875] [6] DEBUG: AT2[Huawei]: <-- ATZ
2013-01-10 16:17:36 [4875] [6] DEBUG: AT2[Huawei]: <-- OK
2013-01-10 16:17:36 [4875] [6] DEBUG: AT2[Huawei]: --> AT^M
2013-01-10 16:17:36 [4875] [6] DEBUG: AT2[Huawei]: <-- AT
2013-01-10 16:17:36 [4875] [6] DEBUG: AT2[Huawei]: <-- OK
2013-01-10 16:17:36 [4875] [6] DEBUG: AT2[Huawei]: --> AT&F^M
2013-01-10 16:17:37 [4875] [6] DEBUG: AT2[Huawei]: <-- AT&F
2013-01-10 16:17:37 [4875] [6] DEBUG: AT2[Huawei]: <-- OK
2013-01-10 16:17:37 [4875] [6] DEBUG: AT2[Huawei]: --> ATE0^M
2013-01-10 16:17:37 [4875] [6] DEBUG: AT2[Huawei]: <-- ATE0
2013-01-10 16:17:37 [4875] [6] DEBUG: AT2[Huawei]: <-- OK
2013-01-10 16:17:37 [4875] [6] DEBUG: AT2[Huawei]: --> ATQ0^M
2013-01-10 16:17:37 [4875] [6] DEBUG: AT2[Huawei]: <-- OK
2013-01-10 16:17:37 [4875] [6] DEBUG: AT2[Huawei]: --> AT+CPIN?^M
2013-01-10 16:17:37 [4875] [6] DEBUG: AT2[Huawei]: <-- +CPIN: READY
2013-01-10 16:17:37 [4875] [6] DEBUG: AT2[Huawei]: <-- OK
2013-01-10 16:17:37 [4875] [6] DEBUG: AT2[Huawei]: --> AT+CMGF=0^M
2013-01-10 16:17:37 [4875] [6] DEBUG: AT2[Huawei]: <-- OK
2013-01-10 16:17:37 [4875] [6] DEBUG: AT2[Huawei]: --> AT+CSMS=?^M
2013-01-10 16:17:37 [4875] [6] DEBUG: AT2[Huawei]: <-- +CSMS: (0,1,128)
2013-01-10 16:17:37 [4875] [6] DEBUG: AT2[Huawei]: <-- OK
2013-01-10 16:17:37 [4875] [6] INFO: AT2[Huawei]: Phase 2+ is supported
2013-01-10 16:17:37 [4875] [6] DEBUG: AT2[Huawei]: --> AT+CSMS=1^M
2013-01-10 16:17:37 [4875] [6] DEBUG: AT2[Huawei]: <-- +CSMS: 1,1,1
2013-01-10 16:17:37 [4875] [6] DEBUG: AT2[Huawei]: <-- ERROR
2013-01-10 16:17:37 [4875] [6] ERROR: AT2[Huawei]: Generic error: ERROR
2013-01-10 16:17:37 [4875] [6] ERROR: AT2[Huawei]: Initialization of device failed.
2013-01-10 16:17:37 [4875] [6] INFO: AT2[Huawei]: Closing device
I've checked around for similar problems but can't seem to get a clear solution as none of them works so far.
Any help is greatly appreciated...

Kannel Concatenated SMS ACKed but NOT Delivered

I'm using Kannel to send SMSs to an SMSC:
Sending a 1-part SMS (<=160 chars) is ACKed and Delivered to the handset.
Sending a multi-part (long) SMS is:
A. If concatenation = false: split by Kannel, and parts are ACKed and Delived (as unique SMSs).
B. If concatenation = true: split by Kannel, and parts are ACKed but NOT Delived.
Moreover, any subsequent SMSs sent to the destination number that just experienced this case [2.B] are also ACKed but NOT Delivered, even if it was a 1 part SMS!
Has anyone had a similar experience?
Since 1-parters are behaving normally, I suspect the problem is with the concatenation process itself.. but is it from:
Kannel (version or conf?).
The SMSC (does the specific SMSC I'm connecting with require something special?).
The Handset (doubtful, I tried several numbers from several networks and several devices).
The way I'm giving the SMS to Kannel to send (sendsms cgi)?!
The mind-boggling thing is that ALL messages (1-part, separate multi-parts, and concatenated multi-parts) are Accepted for Delivery by the SMSC and delivered EXCEPT concatenated messages that are lost somewhere AND cause the mobile not to receive anything anymore!
Reconnecting to the SMSC does not unblock the number, restarting the phone does not unblock the number. Once a concatenated message is sent to a number, ACKed and Undelivered, nothing will get through to it from kannel.
The number can still receive and display short and long SMSs sent to it from other numbers, even from a web interface the operator (SMSC provider) has for testing!
EDIT: As it turned out, the MSISDN is not blocked indefinitely, just for ~24-hours after submitting the concatenated multi-part SMS. After the 24-hours period, all 1-part SMSs are delivered (at once), but not the multi-part SMS. --which further suggests the problem is within the SMSC I guess?!
EDIT: Problem Found!
The mobile operator finally reported that there is a bug in their SMSC! It's incapable of handling 7-bit (GSM) concatenated messages! UCS-2 concatenation is handled successfully however!
They reported the bug to their SMSC vendor and are waiting for the fix. Meanwhile, they suggested sending 7bit long messages (multi-part) in 8-bit encoding [charset=UTF-8&coding=1 using Kannels' SMSPush URL].
This method worked, but left me with another problem, an 8-bit part can hold up to 134 characters (140 octed - 6 UDH) which is 19 characters less than a 7-bit part. So my question now is: Is it possible to pack a 7-bit string in an 8-bit string using PHP + Kannel in order to bypass the SMSC's bug and send 153 character per part?
Below are the Kannel conf, bearer and sms boxes startup logs, and tests logs.. please help me in figuring this out.. thnx.
smskannel.conf:
group = smsc
smsc = smpp
smsc-id = UMNIAH
host = *****
port = *****
smsc-username = *****
smsc-password = *****
system-type = VMA
interface-version = 34
transceiver-mode = false #only want to send.. no MOs
connect-allow-ip = 127.0.0.1
#thought the below ton and npi confs might fix the problem, but they had no effect
source-addr-ton = 5 #Alphanumeric
source-addr-npi = 0
source-addr-autodetect = false
dest-addr-ton = 1 #International
dest-addr-npi = 0
bind-addr-ton = 0
bind-addr-npi = 0
group = smsbox
bearerbox-host = 127.0.0.1
sendsms-port = 13013
global-sender = 13013
group = sendsms-user
username = tester
password = foobar
max-messages = 5
concatenation = true #false works fine, but I need long messages to be concatenated
#will setup DLR when I get concatenated messages to work
#no services are defined.. only want to send and won't be recieving
bearerbox startup:
[root#vps-1098126-9711 kannel]# sbin/bearerbox smskannel.conf &
[1] 3517
[root#vps-1098126-9711 kannel]# 2012-07-31 03:41:32 [3517] [0] INFO: Debug_lvl = -1, log_file = <none>, log_lvl = 0
[3517] [0] WARNING: DLR: using default 'internal' for storage type.
[3517] [0] INFO: DLR using storage type: internal
[3517] [0] DEBUG: Kannel bearerbox version `1.4.3'.
Build `Jul 4 2012 11:03:53', compiler `4.1.2 20080704 (Red Hat 4.1.2-52)'.
System Linux, release 2.6.32-042stab057.1, version #1 SMP Fri Jun 22 02:17:07 MSD 2012, machine x86_64.
Hostname *****, IP *****.
Libxml version 2.6.26.
Using OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008.
Compiled with MySQL 5.5.14, using MySQL 5.5.14.
Using native malloc.
[3517] [0] INFO: Added logfile `/tmp/kannel.log' with level `0'.
[3517] [0] INFO: HTTP: Opening server at port 13000.
[3517] [0] DEBUG: Started thread 1 (gwlib/fdset.c:poller)
[3517] [1] DEBUG: Thread 1 (gwlib/fdset.c:poller) maps to pid 3517.
[3517] [0] DEBUG: Started thread 2 (gwlib/http.c:server_thread)
[3517] [0] DEBUG: Started thread 3 (gw/bb_http.c:httpadmin_run)
[3517] [3] DEBUG: Thread 3 (gw/bb_http.c:httpadmin_run) maps to pid 3517.
[3517] [2] DEBUG: Thread 2 (gwlib/http.c:server_thread) maps to pid 3517.
[3517] [0] DEBUG: starting smsbox connection module
[3517] [0] INFO: BOXC: 'smsbox-max-pending' not set, using default (100).
[3517] [0] DEBUG: Started thread 4 (gw/bb_boxc.c:sms_to_smsboxes)
[3517] [0] DEBUG: Started thread 5 (gw/bb_boxc.c:smsboxc_run)
[3517] [4] DEBUG: Thread 4 (gw/bb_boxc.c:sms_to_smsboxes) maps to pid 3517.
[3517] [5] DEBUG: Thread 5 (gw/bb_boxc.c:smsboxc_run) maps to pid 3517.
[3517] [0] INFO: Set SMS resend frequency to 60 seconds.
[3517] [0] INFO: SMS resend retry set to unlimited.
[3517] [0] DEBUG: smsbox MO concatenated message handling enabled
[3517] [0] INFO: DLR rerouting for smsc id <UMNIAH> disabled.
[3517] [0] DEBUG: Started thread 6 (gw/smsc/smsc_smpp.c:io_thread)
[3517] [0] DEBUG: Started thread 7 (gw/bb_smscconn.c:sms_router)
[3517] [6] DEBUG: Thread 6 (gw/smsc/smsc_smpp.c:io_thread) maps to pid 3517.
[3517] [0] INFO: ----------------------------------------
[3517] [0] INFO: Kannel bearerbox II version 1.4.3 starting
[3517] [7] DEBUG: Thread 7 (gw/bb_smscconn.c:sms_router) maps to pid 3517.
[3517] [0] INFO: MAIN: Start-up done, entering mainloop
[3517] [6] DEBUG: SMPP[UMNIAH]: Sending PDU:
[3517] [6] DEBUG: SMPP PDU 0x1e37300 dump:
[3517] [6] DEBUG: type_name: bind_transmitter
[3517] [6] DEBUG: command_id: 2 = 0x00000002
[3517] [6] DEBUG: command_status: 0 = 0x00000000
[3517] [6] DEBUG: sequence_number: 1 = 0x00000001
[3517] [6] DEBUG: system_id: "*****"
[3517] [6] DEBUG: password: "*****"
[3517] [6] DEBUG: system_type: "VMA"
[3517] [6] DEBUG: interface_version: 52 = 0x00000034
[3517] [6] DEBUG: addr_ton: 0 = 0x00000000
[3517] [6] DEBUG: addr_npi: 0 = 0x00000000
[3517] [6] DEBUG: address_range: NULL
[3517] [6] DEBUG: SMPP PDU dump ends.
[3517] [6] DEBUG: SMPP[UMNIAH]: Got PDU:
[3517] [6] DEBUG: SMPP PDU 0x1e37300 dump:
[3517] [6] DEBUG: type_name: bind_transmitter_resp
[3517] [6] DEBUG: command_id: 2147483650 = 0x80000002
[3517] [6] DEBUG: command_status: 0 = 0x00000000
[3517] [6] DEBUG: sequence_number: 1 = 0x00000001
[3517] [6] DEBUG: system_id: "*****"
[3517] [6] DEBUG: SMPP PDU dump ends.
[3517] [6] DEBUG: SMPP[UMNIAH]: Sending enquire link:
[3517] [6] DEBUG: SMPP PDU 0x1e37300 dump:
[3517] [6] DEBUG: type_name: enquire_link
[3517] [6] DEBUG: command_id: 21 = 0x00000015
[3517] [6] DEBUG: command_status: 0 = 0x00000000
[3517] [6] DEBUG: sequence_number: 2 = 0x00000002
[3517] [6] DEBUG: SMPP PDU dump ends.
[3517] [6] DEBUG: SMPP[UMNIAH]: Got PDU:
[3517] [6] DEBUG: SMPP PDU 0x1e37300 dump:
[3517] [6] DEBUG: type_name: enquire_link_resp
[3517] [6] DEBUG: command_id: 2147483669 = 0x80000015
[3517] [6] DEBUG: command_status: 0 = 0x00000000
[3517] [6] DEBUG: sequence_number: 2 = 0x00000002
[3517] [6] DEBUG: SMPP PDU dump ends.
smsbox startup:
[root#vps-1098126-9711 kannel]# sbin/smsbox smskannel.conf &
[2] 3525
[root#vps-1098126-9711 kannel]# 2012-07-31 03:43:25 [3525] [0] INFO: Debug_lvl = -1, log_file = <none>, log_lvl = 0
[3525] [0] DEBUG: Kannel smsbox version `1.4.3'.
Build `Jul 4 2012 11:03:53', compiler `4.1.2 20080704 (Red Hat 4.1.2-52)'.
System Linux, release 2.6.32-042stab057.1, version #1 SMP Fri Jun 22 02:17:07 MSD 2012, machine x86_64.
Hostname *****, IP *****.
Libxml version 2.6.26.
Using OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008.
Compiled with MySQL 5.5.14, using MySQL 5.5.14.
Using native malloc.
[3525] [0] INFO: Starting to log to file /tmp/smsbox.log level 0
[3525] [0] INFO: Added logfile `/tmp/smsbox.log' with level `0'.
[3525] [0] INFO: Service global sender set as '13013'
[3525] [0] INFO: HTTP: Opening server at port 13013.
[3525] [0] DEBUG: Started thread 1 (gwlib/fdset.c:poller)
[3525] [0] DEBUG: Started thread 2 (gwlib/http.c:server_thread)
[3525] [1] DEBUG: Thread 1 (gwlib/fdset.c:poller) maps to pid 3525.
[3525] [0] INFO: Set up send sms service at port 13013
[3525] [2] DEBUG: Thread 2 (gwlib/http.c:server_thread) maps to pid 3525.
[3525] [0] DEBUG: Started thread 3 (gw/smsbox.c:sendsms_thread)
[3525] [0] DEBUG: ----------------------------------------------
[3525] [0] DEBUG: Kannel smsbox version 1.4.3 starting
[3525] [3] DEBUG: Thread 3 (gw/smsbox.c:sendsms_thread) maps to pid 3525.
[3525] [0] DEBUG: dumping group (sendsms-user):
[3525] [0] DEBUG: <group> = <sendsms-user>
[3525] [0] DEBUG: <max-messages> = <5>
[3525] [0] DEBUG: <username> = <tester>
[3525] [0] DEBUG: <concatenation> = <true>
[3525] [0] DEBUG: <password> = <foobar>
[3525] [0] DEBUG: Started thread 4 (gw/smsbox.c:obey_request_thread)
[3525] [4] DEBUG: Thread 4 (gw/smsbox.c:obey_request_thread) maps to pid 3525.
[3525] [0] DEBUG: Started thread 5 (gw/smsbox.c:url_result_thread)
[3525] [5] DEBUG: Thread 5 (gw/smsbox.c:url_result_thread) maps to pid 3525.
[3525] [0] DEBUG: Started thread 6 (gw/smsbox.c:http_queue_thread)
[3525] [6] DEBUG: Thread 6 (gw/smsbox.c:http_queue_thread) maps to pid 3525.
[3525] [0] INFO: Connected to bearerbox at 127.0.0.1 port 13001.
[3517] [5] INFO: Client connected from <127.0.0.1>
[3525] [0] DEBUG: Started thread 7 (gw/heartbeat.c:heartbeat_thread)
[3525] [7] DEBUG: Thread 7 (gw/heartbeat.c:heartbeat_thread) maps to pid 3525.
[3517] [5] DEBUG: Started thread 8 (gw/bb_boxc.c:function)
[3517] [8] DEBUG: Thread 8 (gw/bb_boxc.c:function) maps to pid 3517.
[3517] [8] DEBUG: Started thread 9 (gw/bb_boxc.c:boxc_sender)
[3517] [9] DEBUG: Thread 9 (gw/bb_boxc.c:boxc_sender) maps to pid 3517.
1-part request --Actually Delivered:
[root#vps-1098126-9711 kannel]# curl "http://localhost:13013/cgi-bin/sendsms?username=tester&password=foobar&from=test&to=962796061912&text=test123&charset=UTF-8&coding=0"
0: Accepted for delivery
[3525] [2] DEBUG: HTTP: Creating HTTPClient for `127.0.0.1'.
[3525] [2] DEBUG: HTTP: Created HTTPClient area 0x1db8280.
[3525] [3] INFO: smsbox: Got HTTP request </cgi-bin/sendsms> from <127.0.0.1>
[3525] [3] INFO: sendsms used by <tester>
[3525] [3] INFO: sendsms sender:<tester:test> (127.0.0.1) to:<962796061912> msg:<test123>
[3525] [3] DEBUG: Stored UUID fe83e486-a35b-43a5-9592-0a11ef19153d
[3525] [3] DEBUG: message length 7, sending 1 messages
[3525] [3] DEBUG: Status: 202 Answer: <Sent.>
[3525] [3] DEBUG: Delayed reply - wait for bearerbox
[3517] [8] DEBUG: boxc_receiver: sms received
[3517] [8] DEBUG: send_msg: sending msg to box: <127.0.0.1>
[3517] [6] DEBUG: SMPP[UMNIAH]: Manually forced source addr ton = 5, source add npi = 0
[3517] [6] DEBUG: SMPP[UMNIAH]: Manually forced dest addr ton = 1, dest add npi = 0
[3525] [0] DEBUG: Got ACK (0) of fe83e486-a35b-43a5-9592-0a11ef19153d
[3517] [6] DEBUG: SMPP[UMNIAH]: Sending PDU:
[3517] [6] DEBUG: SMPP PDU 0x1e392b0 dump:
[3517] [6] DEBUG: type_name: submit_sm
[3517] [6] DEBUG: command_id: 4 = 0x00000004
[3517] [6] DEBUG: command_status: 0 = 0x00000000
[3517] [6] DEBUG: sequence_number: 15 = 0x0000000f
[3517] [6] DEBUG: service_type: NULL
[3525] [0] DEBUG: HTTP: Resetting HTTPClient for `127.0.0.1'.
[3517] [6] DEBUG: source_addr_ton: 5 = 0x00000005
[3517] [6] DEBUG: source_addr_npi: 0 = 0x00000000
[3517] [6] DEBUG: source_addr: "test"
[3517] [6] DEBUG: dest_addr_ton: 1 = 0x00000001
[3517] [6] DEBUG: dest_addr_npi: 0 = 0x00000000
[3517] [6] DEBUG: destination_addr: "962796061912"
[3517] [6] DEBUG: esm_class: 3 = 0x00000003
[3517] [6] DEBUG: protocol_id: 0 = 0x00000000
[3517] [6] DEBUG: priority_flag: 0 = 0x00000000
[3517] [6] DEBUG: schedule_delivery_time: NULL
[3517] [6] DEBUG: validity_period: NULL
[3517] [6] DEBUG: registered_delivery: 0 = 0x00000000
[3517] [6] DEBUG: replace_if_present_flag: 0 = 0x00000000
[3517] [6] DEBUG: data_coding: 0 = 0x00000000
[3525] [1] DEBUG: HTTP: Destroying HTTPClient area 0x1db8280.
[3517] [6] DEBUG: sm_default_msg_id: 0 = 0x00000000
[3517] [6] DEBUG: sm_length: 7 = 0x00000007
[3525] [1] DEBUG: HTTP: Destroying HTTPClient for `127.0.0.1'.
[3517] [6] DEBUG: short_message: "test123"
[3517] [6] DEBUG: SMPP PDU dump ends.
[3517] [6] DEBUG: SMPP[UMNIAH]: Got PDU:
[3517] [6] DEBUG: SMPP PDU 0x1e392b0 dump:
[3517] [6] DEBUG: type_name: submit_sm_resp
[3517] [6] DEBUG: command_id: 2147483652 = 0x80000004
[3517] [6] DEBUG: command_status: 0 = 0x00000000
[3517] [6] DEBUG: sequence_number: 15 = 0x0000000f
[3517] [6] DEBUG: message_id: "65B634C3"
[3517] [6] DEBUG: SMPP PDU dump ends.
[3517] [6] DEBUG: SMPP[UMNIAH]: Sending enquire link:
[3517] [6] DEBUG: SMPP PDU 0x1e38cc0 dump:
[3517] [6] DEBUG: type_name: enquire_link
[3517] [6] DEBUG: command_id: 21 = 0x00000015
[3517] [6] DEBUG: command_status: 0 = 0x00000000
[3517] [6] DEBUG: sequence_number: 16 = 0x00000010
[3517] [6] DEBUG: SMPP PDU dump ends.
[3517] [6] DEBUG: SMPP[UMNIAH]: Got PDU:
[3517] [6] DEBUG: SMPP PDU 0x1e38cc0 dump:
[3517] [6] DEBUG: type_name: enquire_link_resp
[3517] [6] DEBUG: command_id: 2147483669 = 0x80000015
[3517] [6] DEBUG: command_status: 0 = 0x00000000
[3517] [6] DEBUG: sequence_number: 16 = 0x00000010
[3517] [6] DEBUG: SMPP PDU dump ends.
Multi-part request [concatenation = true] --NOT Delivered:
[root#vps-1098126-9711 kannel]# curl "http://localhost:13013/cgi-bin/sendsms?username=tester&password=foobar&from=test&to=962796061912&text=test123test123test123test123test123test123test123test123test123test123test123test123test123test123test123test123test123test123test123test123test123test123test123test123&charset=UTF-8&coding=0"
0: Accepted for delivery
[3525] [2] DEBUG: HTTP: Creating HTTPClient for `127.0.0.1'.
[3525] [2] DEBUG: HTTP: Created HTTPClient area 0x1dbfc00.
[3525] [3] INFO: smsbox: Got HTTP request </cgi-bin/sendsms> from <127.0.0.1>
[3525] [3] INFO: sendsms used by <tester>
[3525] [3] INFO: sendsms sender:<tester:test> (127.0.0.1) to:<962796061912> msg:<test123test123test123test123test123test123test123test123test123test123test123test123test123test123test123test123test123test123test123test123test123test123test123test123>
[3525] [3] DEBUG: Stored UUID 273d4165-ab63-4757-857a-a64413b95bc8
[3525] [3] DEBUG: message length 168, sending 2 messages
[3525] [3] DEBUG: Status: 202 Answer: <Sent. Message splits: 2>
[3525] [3] DEBUG: Delayed reply - wait for bearerbox
[3517] [8] DEBUG: boxc_receiver: sms received
[3517] [8] DEBUG: new split_parts created 0x1e33a00
[3517] [8] DEBUG: send_msg: sending msg to box: <127.0.0.1>
[3517] [6] DEBUG: SMPP[UMNIAH]: Manually forced source addr ton = 5, source add npi = 0
[3517] [6] DEBUG: SMPP[UMNIAH]: Manually forced dest addr ton = 1, dest add npi = 0
[3517] [6] DEBUG: SMPP[UMNIAH]: Sending PDU:
[3525] [0] DEBUG: Got ACK (0) of 273d4165-ab63-4757-857a-a64413b95bc8
[3517] [6] DEBUG: SMPP PDU 0x1e38f80 dump:
[3517] [6] DEBUG: type_name: submit_sm
[3517] [6] DEBUG: command_id: 4 = 0x00000004
[3517] [6] DEBUG: command_status: 0 = 0x00000000
[3517] [6] DEBUG: sequence_number: 29 = 0x0000001d
[3525] [0] DEBUG: HTTP: Resetting HTTPClient for `127.0.0.1'.
[3517] [6] DEBUG: service_type: NULL
[3517] [6] DEBUG: source_addr_ton: 5 = 0x00000005
[3517] [6] DEBUG: source_addr_npi: 0 = 0x00000000
[3517] [6] DEBUG: source_addr: "test"
[3517] [6] DEBUG: dest_addr_ton: 1 = 0x00000001
[3517] [6] DEBUG: dest_addr_npi: 0 = 0x00000000
[3517] [6] DEBUG: destination_addr: "962796061912"
[3517] [6] DEBUG: esm_class: 67 = 0x00000043
[3517] [6] DEBUG: protocol_id: 0 = 0x00000000
[3517] [6] DEBUG: priority_flag: 0 = 0x00000000
[3525] [1] DEBUG: HTTP: Destroying HTTPClient area 0x1dbfc00.
[3517] [6] DEBUG: schedule_delivery_time: NULL
[3525] [1] DEBUG: HTTP: Destroying HTTPClient for `127.0.0.1'.
[3517] [6] DEBUG: validity_period: NULL
[3517] [6] DEBUG: registered_delivery: 0 = 0x00000000
[3517] [6] DEBUG: replace_if_present_flag: 0 = 0x00000000
[3517] [6] DEBUG: data_coding: 0 = 0x00000000
[3517] [6] DEBUG: sm_default_msg_id: 0 = 0x00000000
[3517] [6] DEBUG: sm_length: 159 = 0x0000009f
[3517] [6] DEBUG: short_message:
[3517] [6] DEBUG: Octet string at 0x1e392b0:
[3517] [6] DEBUG: len: 159
[3517] [6] DEBUG: size: 1024
[3517] [6] DEBUG: immutable: 0
[3517] [6] DEBUG: data: 05 00 03 01 02 01 74 65 73 74 31 32 33 74 65 73 ......test123tes
[3517] [6] DEBUG: data: 74 31 32 33 74 65 73 74 31 32 33 74 65 73 74 31 t123test123test1
[3517] [6] DEBUG: data: 32 33 74 65 73 74 31 32 33 74 65 73 74 31 32 33 23test123test123
[3517] [6] DEBUG: data: 74 65 73 74 31 32 33 74 65 73 74 31 32 33 74 65 test123test123te
[3517] [6] DEBUG: data: 73 74 31 32 33 74 65 73 74 31 32 33 74 65 73 74 st123test123test
[3517] [6] DEBUG: data: 31 32 33 74 65 73 74 31 32 33 74 65 73 74 31 32 123test123test12
[3517] [6] DEBUG: data: 33 74 65 73 74 31 32 33 74 65 73 74 31 32 33 74 3test123test123t
[3517] [6] DEBUG: data: 65 73 74 31 32 33 74 65 73 74 31 32 33 74 65 73 est123test123tes
[3517] [6] DEBUG: data: 74 31 32 33 74 65 73 74 31 32 33 74 65 73 74 31 t123test123test1
[3517] [6] DEBUG: data: 32 33 74 65 73 74 31 32 33 74 65 73 74 31 32 23test123test12
[3517] [6] DEBUG: Octet string dump ends.
[3517] [6] DEBUG: more_messages_to_send: 1 = 0x00000001
[3517] [6] DEBUG: SMPP PDU dump ends.
[3517] [6] DEBUG: SMPP[UMNIAH]: Manually forced source addr ton = 5, source add npi = 0
[3517] [6] DEBUG: SMPP[UMNIAH]: Manually forced dest addr ton = 1, dest add npi = 0
[3517] [6] DEBUG: SMPP[UMNIAH]: Sending PDU:
[3517] [6] DEBUG: SMPP PDU 0x1e38f80 dump:
[3517] [6] DEBUG: type_name: submit_sm
[3517] [6] DEBUG: command_id: 4 = 0x00000004
[3517] [6] DEBUG: command_status: 0 = 0x00000000
[3517] [6] DEBUG: sequence_number: 30 = 0x0000001e
[3517] [6] DEBUG: service_type: NULL
[3517] [6] DEBUG: source_addr_ton: 5 = 0x00000005
[3517] [6] DEBUG: source_addr_npi: 0 = 0x00000000
[3517] [6] DEBUG: source_addr: "test"
[3517] [6] DEBUG: dest_addr_ton: 1 = 0x00000001
[3517] [6] DEBUG: dest_addr_npi: 0 = 0x00000000
[3517] [6] DEBUG: destination_addr: "962796061912"
[3517] [6] DEBUG: esm_class: 67 = 0x00000043
[3517] [6] DEBUG: protocol_id: 0 = 0x00000000
[3517] [6] DEBUG: priority_flag: 0 = 0x00000000
[3517] [6] DEBUG: schedule_delivery_time: NULL
[3517] [6] DEBUG: validity_period: NULL
[3517] [6] DEBUG: registered_delivery: 0 = 0x00000000
[3517] [6] DEBUG: replace_if_present_flag: 0 = 0x00000000
[3517] [6] DEBUG: data_coding: 0 = 0x00000000
[3517] [6] DEBUG: sm_default_msg_id: 0 = 0x00000000
[3517] [6] DEBUG: sm_length: 21 = 0x00000015
[3517] [6] DEBUG: short_message:
[3517] [6] DEBUG: Octet string at 0x1e394d0:
[3517] [6] DEBUG: len: 21
[3517] [6] DEBUG: size: 1024
[3517] [6] DEBUG: immutable: 0
[3517] [6] DEBUG: data: 05 00 03 01 02 02 33 74 65 73 74 31 32 33 74 65 ......3test123te
[3517] [6] DEBUG: data: 73 74 31 32 33 st123
[3517] [6] DEBUG: Octet string dump ends.
[3517] [6] DEBUG: SMPP PDU dump ends.
[3517] [6] DEBUG: SMPP[UMNIAH]: Got PDU:
[3517] [6] DEBUG: SMPP PDU 0x1e38f80 dump:
[3517] [6] DEBUG: type_name: submit_sm_resp
[3517] [6] DEBUG: command_id: 2147483652 = 0x80000004
[3517] [6] DEBUG: command_status: 0 = 0x00000000
[3517] [6] DEBUG: sequence_number: 29 = 0x0000001d
[3517] [6] DEBUG: message_id: "65B6354E"
[3517] [6] DEBUG: SMPP PDU dump ends.
[3517] [6] DEBUG: SMPP[UMNIAH]: Got PDU:
[3517] [6] DEBUG: SMPP PDU 0x1e38f80 dump:
[3517] [6] DEBUG: type_name: submit_sm_resp
[3517] [6] DEBUG: command_id: 2147483652 = 0x80000004
[3517] [6] DEBUG: command_status: 0 = 0x00000000
[3517] [6] DEBUG: sequence_number: 30 = 0x0000001e
[3517] [6] DEBUG: message_id: "65B6354F"
[3517] [6] DEBUG: SMPP PDU dump ends.
1-part request (same as the one from before) NOT Delivered This Time!:
[root#vps-1098126-9711 kannel]# curl "http://localhost:13013/cgi-bin/sendsms?username=tester&password=foobar&from=test&to=962796061912&text=test123&charset=UTF-8&coding=0"
0: Accepted for delivery
[3525] [2] DEBUG: HTTP: Creating HTTPClient for `127.0.0.1'.
[3525] [2] DEBUG: HTTP: Created HTTPClient area 0x1dc3060.
[3525] [3] INFO: smsbox: Got HTTP request </cgi-bin/sendsms> from <127.0.0.1>
[3525] [3] INFO: sendsms used by <tester>
[3525] [3] INFO: sendsms sender:<tester:test> (127.0.0.1) to:<962796061912> msg:<test123>
[3525] [3] DEBUG: Stored UUID 18070d9d-dafb-4a27-8e10-e5573b4e48d4
[3525] [3] DEBUG: message length 7, sending 1 messages
[3525] [3] DEBUG: Status: 202 Answer: <Sent.>
[3525] [3] DEBUG: Delayed reply - wait for bearerbox
[3517] [8] DEBUG: boxc_receiver: sms received
[3517] [8] DEBUG: send_msg: sending msg to box: <127.0.0.1>
[3517] [6] DEBUG: SMPP[UMNIAH]: Manually forced source addr ton = 5, source add npi = 0
[3517] [6] DEBUG: SMPP[UMNIAH]: Manually forced dest addr ton = 1, dest add npi = 0
[3517] [6] DEBUG: SMPP[UMNIAH]: Sending PDU:
[3517] [6] DEBUG: SMPP PDU 0x1e3c830 dump:
[3517] [6] DEBUG: type_name: submit_sm
[3517] [6] DEBUG: command_id: 4 = 0x00000004
[3525] [0] DEBUG: Got ACK (0) of 18070d9d-dafb-4a27-8e10-e5573b4e48d4
[3517] [6] DEBUG: command_status: 0 = 0x00000000
[3517] [6] DEBUG: sequence_number: 44 = 0x0000002c
[3517] [6] DEBUG: service_type: NULL
[3517] [6] DEBUG: source_addr_ton: 5 = 0x00000005
[3517] [6] DEBUG: source_addr_npi: 0 = 0x00000000
[3517] [6] DEBUG: source_addr: "test"
[3517] [6] DEBUG: dest_addr_ton: 1 = 0x00000001
[3517] [6] DEBUG: dest_addr_npi: 0 = 0x00000000
[3517] [6] DEBUG: destination_addr: "962796061912"
[3517] [6] DEBUG: esm_class: 3 = 0x00000003
[3525] [0] DEBUG: HTTP: Resetting HTTPClient for `127.0.0.1'.
[3517] [6] DEBUG: protocol_id: 0 = 0x00000000
[3517] [6] DEBUG: priority_flag: 0 = 0x00000000
[3517] [6] DEBUG: schedule_delivery_time: NULL
[3517] [6] DEBUG: validity_period: NULL
[3517] [6] DEBUG: registered_delivery: 0 = 0x00000000
[3517] [6] DEBUG: replace_if_present_flag: 0 = 0x00000000
[3517] [6] DEBUG: data_coding: 0 = 0x00000000
[3517] [6] DEBUG: sm_default_msg_id: 0 = 0x00000000
[3517] [6] DEBUG: sm_length: 7 = 0x00000007
[3517] [6] DEBUG: short_message: "test123"
[3517] [6] DEBUG: SMPP PDU dump ends.
[3525] [1] DEBUG: HTTP: Destroying HTTPClient area 0x1dc3060.
[3525] [1] DEBUG: HTTP: Destroying HTTPClient for `127.0.0.1'.
[3517] [6] DEBUG: SMPP[UMNIAH]: Got PDU:
[3517] [6] DEBUG: SMPP PDU 0x1e38cc0 dump:
[3517] [6] DEBUG: type_name: submit_sm_resp
[3517] [6] DEBUG: command_id: 2147483652 = 0x80000004
[3517] [6] DEBUG: command_status: 0 = 0x00000000
[3517] [6] DEBUG: sequence_number: 44 = 0x0000002c
[3517] [6] DEBUG: message_id: "65B63601"
[3517] [6] DEBUG: SMPP PDU dump ends.
Is it possible to pack a 7-bit string in an 8-bit string using PHP + Kannel in order to bypass the SMSC's bug and send 153 character per part?
Unlikely. When you set coding=1 in your sendsms URL, this changes the data_coding parameter in the SMS PDU. It sets it to "unspecified octet" which handsets will probably not ever try to decode as 7-bit GSM messages.
Interestingly, according to a comment in the source code of Android's SMS parsing, some carriers use this data_coding to send text messages in UTF8.

DLR Routing failure in Kannel in a situation where there is a separate receiver and transceiver bind

I have a Kannel gateway with multiple SMPP binds ( one operator requires separate transmitter and receiver binds while another permits transceiver binds ). The transceiver binds do not display this problem, so I will not delve into more detail on those.
In the separate receiver / transmitter bind scenario, most ( but not all ) DLRs fail with "got DLR but could not find message or was not interested in it ", as shown in the log file extract below: ( some light anonymization has been done )
2011-10-28 08:41:24 [6182] [9] DEBUG: SMPP[tx_bind]: Sending PDU:
2011-10-28 08:41:24 [6182] [9] DEBUG: SMPP PDU 0x12d76c0 dump:
2011-10-28 08:41:24 [6182] [9] DEBUG: type_name: submit_sm
2011-10-28 08:41:24 [6182] [9] DEBUG: command_id: 4 = 0x00000004
2011-10-28 08:41:24 [6182] [9] DEBUG: command_status: 0 = 0x00000000
2011-10-28 08:41:24 [6182] [9] DEBUG: sequence_number: 108 = 0x0000006c
2011-10-28 08:41:24 [6182] [9] DEBUG: service_type: "SHORT_CODE_REMOVED"
2011-10-28 08:41:24 [6182] [9] DEBUG: source_addr_ton: 0 = 0x00000000
2011-10-28 08:41:24 [6182] [9] DEBUG: source_addr_npi: 1 = 0x00000001
2011-10-28 08:41:24 [6182] [9] DEBUG: source_addr: "SHORT_CODE_REMOVED"
2011-10-28 08:41:24 [6182] [9] DEBUG: dest_addr_ton: 1 = 0x00000001
2011-10-28 08:41:24 [6182] [9] DEBUG: dest_addr_npi: 1 = 0x00000001
2011-10-28 08:41:24 [6182] [9] DEBUG: destination_addr: "PHONE_NUMBER_REMOVED"
2011-10-28 08:41:24 [6182] [9] DEBUG: esm_class: 3 = 0x00000003
2011-10-28 08:41:24 [6182] [9] DEBUG: protocol_id: 0 = 0x00000000
2011-10-28 08:41:24 [6182] [9] DEBUG: priority_flag: 0 = 0x00000000
2011-10-28 08:41:24 [6182] [9] DEBUG: schedule_delivery_time: NULL
2011-10-28 08:41:24 [6182] [9] DEBUG: validity_period: NULL
2011-10-28 08:41:24 [6182] [9] DEBUG: registered_delivery: 1 = 0x00000001
2011-10-28 08:41:24 [6182] [9] DEBUG: replace_if_present_flag: 0 = 0x00000000
2011-10-28 08:41:24 [6182] [9] DEBUG: data_coding: 0 = 0x00000000
2011-10-28 08:41:24 [6182] [9] DEBUG: sm_default_msg_id: 0 = 0x00000000
2011-10-28 08:41:24 [6182] [9] DEBUG: sm_length: 9 = 0x00000009
2011-10-28 08:41:24 [6182] [9] DEBUG: short_message: "test test"
2011-10-28 08:41:24 [6182] [9] DEBUG: SMPP PDU dump ends.
2011-10-28 08:41:26 [6182] [19] DEBUG: Dumping 47 messages to store
2011-10-28 08:41:28 [6182] [9] DEBUG: SMPP[tx_bind]: Got PDU:
2011-10-28 08:41:28 [6182] [9] DEBUG: SMPP PDU 0x12a6590 dump:
2011-10-28 08:41:28 [6182] [9] DEBUG: type_name: submit_sm_resp
2011-10-28 08:41:28 [6182] [9] DEBUG: command_id: 2147483652 = 0x80000004
2011-10-28 08:41:28 [6182] [9] DEBUG: command_status: 0 = 0x00000000
2011-10-28 08:41:28 [6182] [9] DEBUG: sequence_number: 108 = 0x0000006c
2011-10-28 08:41:28 [6182] [9] DEBUG: message_id: "1673716701"
2011-10-28 08:41:28 [6182] [9] DEBUG: SMPP PDU dump ends.
2011-10-28 08:41:28 [6182] [9] DEBUG: DLR[mysql]: Adding DLR smsc=tx_bind, ts=1673716701, src=SHORT_CODE_REMOVED, dst=PHONE_NUMBER_REMOVED, mask=1, boxc=
2011-10-28 08:41:28 [6182] [9] DEBUG: sql: INSERT INTO dlr (smsc, ts, source, destination, service, url, mask, boxc, status) VALUES ('tx_bind', '1673716701', 'SHORT_CODE_REMOVED', 'PHONE_NUMBER_REMOVED', 'SHORT_CODE_REMOVED', 'DLR_CALLBACK_URL_REMOVED', '1', '', '0');
2011-10-28 08:41:30 [6182] [19] DEBUG: Dumping 46 messages to store
2011-10-28 08:41:30 [6182] [6] DEBUG: SMPP[saf_7777]: Sending enquire link:
2011-10-28 08:41:33 [6182] [16] DEBUG: Optional parameter tag (0x001e)
2011-10-28 08:41:33 [6182] [16] DEBUG: Optional parameter length read as 11
2011-10-28 08:41:33 [6182] [16] DEBUG: Optional parameter tag (0x0427)
2011-10-28 08:41:33 [6182] [16] DEBUG: Optional parameter length read as 1
2011-10-28 08:41:33 [6182] [16] DEBUG: Optional parameter tag (0x1501)
2011-10-28 08:41:33 [6182] [16] DEBUG: Optional parameter length read as 13
2011-10-28 08:41:33 [6182] [16] WARNING: SMPP: Unknown TLV(0x1501,0x000d,32353437323235303036303900) for PDU type (deliver_sm) received!
2011-10-28 08:41:33 [6182] [16] DEBUG: SMPP[saf_receiver]: Got PDU:
2011-10-28 08:41:33 [6182] [16] DEBUG: SMPP PDU 0x1275cc0 dump:
2011-10-28 08:41:33 [6182] [16] DEBUG: type_name: deliver_sm
2011-10-28 08:41:33 [6182] [16] DEBUG: command_id: 5 = 0x00000005
2011-10-28 08:41:33 [6182] [16] DEBUG: command_status: 0 = 0x00000000
2011-10-28 08:41:33 [6182] [16] DEBUG: sequence_number: 49 = 0x00000031
2011-10-28 08:41:33 [6182] [16] DEBUG: service_type: "SHORT_CODE_REMOVED"
2011-10-28 08:41:33 [6182] [16] DEBUG: source_addr_ton: 1 = 0x00000001
2011-10-28 08:41:33 [6182] [16] DEBUG: source_addr_npi: 1 = 0x00000001
2011-10-28 08:41:33 [6182] [16] DEBUG: source_addr: "PHONE_NUMBER_REMOVED"
2011-10-28 08:41:33 [6182] [16] DEBUG: dest_addr_ton: 0 = 0x00000000
2011-10-28 08:41:33 [6182] [16] DEBUG: dest_addr_npi: 1 = 0x00000001
2011-10-28 08:41:33 [6182] [16] DEBUG: destination_addr: "SHORT_CODE_REMOVED"
2011-10-28 08:41:33 [6182] [16] DEBUG: esm_class: 4 = 0x00000004
2011-10-28 08:41:33 [6182] [16] DEBUG: protocol_id: 0 = 0x00000000
2011-10-28 08:41:33 [6182] [16] DEBUG: priority_flag: 0 = 0x00000000
2011-10-28 08:41:33 [6182] [16] DEBUG: schedule_delivery_time: NULL
2011-10-28 08:41:33 [6182] [16] DEBUG: validity_period: NULL
2011-10-28 08:41:33 [6182] [16] DEBUG: registered_delivery: 0 = 0x00000000
2011-10-28 08:41:33 [6182] [16] DEBUG: replace_if_present_flag: 0 = 0x00000000
2011-10-28 08:41:33 [6182] [16] DEBUG: data_coding: 0 = 0x00000000
2011-10-28 08:41:33 [6182] [16] DEBUG: sm_default_msg_id: 0 = 0x00000000
2011-10-28 08:41:33 [6182] [16] DEBUG: sm_length: 111 = 0x0000006f
2011-10-28 08:41:33 [6182] [16] DEBUG: short_message:
2011-10-28 08:41:33 [6182] [16] DEBUG: Octet string at 0x12e2da0:
2011-10-28 08:41:33 [6182] [16] DEBUG: len: 111
2011-10-28 08:41:33 [6182] [16] DEBUG: size: 112
2011-10-28 08:41:33 [6182] [16] DEBUG: immutable: 0
2011-10-28 08:41:33 [6182] [16] DEBUG: data: 69 64 3a 31 36 37 33 37 31 36 37 30 31 20 73 75 id:1673716701 su
2011-10-28 08:41:33 [6182] [16] DEBUG: data: 62 3a 30 30 31 20 64 6c 76 72 64 3a 30 30 31 20 b:001 dlvrd:001
2011-10-28 08:41:33 [6182] [16] DEBUG: data: 73 75 62 6d 69 74 20 64 61 74 65 3a 31 31 31 30 submit date:1110
2011-10-28 08:41:33 [6182] [16] DEBUG: data: 32 38 30 38 34 31 20 64 6f 6e 65 20 64 61 74 65 280841 done date
2011-10-28 08:41:33 [6182] [16] DEBUG: data: 3a 31 31 31 30 32 38 30 38 34 31 20 73 74 61 74 :1110280841 stat
2011-10-28 08:41:33 [6182] [16] DEBUG: data: 3a 44 45 4c 49 56 52 44 20 65 72 72 3a 30 30 30 :DELIVRD err:000
2011-10-28 08:41:33 [6182] [16] DEBUG: data: 20 74 65 78 74 3a 74 65 73 74 20 74 65 73 74 text:test test
2011-10-28 08:41:33 [6182] [16] DEBUG: Octet string dump ends.
2011-10-28 08:41:33 [6182] [16] DEBUG: message_state: 2 = 0x00000002
2011-10-28 08:41:33 [6182] [16] DEBUG: receipted_message_id: "1673716701"
2011-10-28 08:41:33 [6182] [16] DEBUG: SMPP PDU dump ends.
2011-10-28 08:41:33 [6182] [16] DEBUG: SMPP[rx_bind] handle_pdu, got DLR
2011-10-28 08:41:33 [6182] [16] DEBUG: DLR[mysql]: Looking for DLR smsc=tx_bind, ts=1673716701, dst=PHONE_NUMBER_REMOVED, type=1
2011-10-28 08:41:33 [6182] [16] DEBUG: sql: SELECT mask, service, url, source, destination, boxc FROM dlr WHERE smsc='rx_bind' AND ts='1673716701';
2011-10-28 08:41:33 [6182] [16] DEBUG: no rows found
2011-10-28 08:41:33 [6182] [16] WARNING: DLR[mysql]: DLR from SMSC<rx_bind> for DST<PHONE_NUMBER_REMOVED> not found.
2011-10-28 08:41:33 [6182] [16] ERROR: SMPP[rx_bind]: got DLR but could not find message or was not interested in it id<1673716701> dst<PHONE_NUMBER_REMOVED>, type<1>
The respective binds are:
# The sender
group=smsc
smsc=smpp
smsc-id=tx_bind
allowed-smsc-id=tx_bind
preferred-smsc-id=SHORT_CODE_REMOVED
interface-version=34
host=SMSC_HOST_REMOVED
port=SMSC_PORT_REMOVED
system-id=SHORT_CODE_REMOVED
system-type=
service-type=SHORT_CODE_REMOVED
source-addr-ton=0
source-addr-npi=1
dest-addr-ton=1
dest-addr-npi=1
smsc-username=USERNAME_REMOVED
smsc-password=PASSWORD_REMOVED
log-level=0
# The receiver
group=smsc
smsc=smpp
smsc-id=rx_bind
interface-version=34
host=HOST_REMOVED
receive-port=PORT_REMOVED
system-type=
smsc-username=USERNAME_REMOVED
smsc-password=PASSWORD_REMOVED
log-level=0
My background research brought up these mailing list messages:
- http://www.kannel.org/pipermail/users/2011-July/016183.html
- http://old.nabble.com/Responsibility-for-inversion-of-source-and-destination-address-for-DLR-td32165725.html
It seems that Kannel saves the DLR immediately after the submit_sm with the smsc_id set to the tx_bind [ the sender's SMSC id ]. Then, when the deliver_sm is received [ for this operator, it will usually come in via the rx_bind [ the receiver bind ], it attempts to look for it using that smsc_id.
Does anyone know of a workaround for this?
As I can see from log and configuration file, you use different smsc sections for transmitter and receiver connections.
So when Kannel tries to find original message it use smsc and message-id parameters. In your case smsc will have different values on submit_sm and deliver_sm processing.
To resolve it just set-up single smsc group with:
both port and receive-port inside
transceiver-mode = 0 parameter (mean transmitter/receiver mode)
Note: this port may be the same and often is the same on SMSC.
Example (part of configuration):
group=smsc
smsc=smpp
smsc-id=rx_tx_bind
interface-version=34
transceiver-mode = 0
host=smsc.host.was.here
port=TX_PORT
receive-port=RX_PORT
# other parameters here

Resources