Steve
Steve

Reputation: 21

Kannel Concatenated SMS ACKed but NOT Delivered

I'm using Kannel to send SMSs to an SMSC:

  1. Sending a 1-part SMS (<=160 chars) is ACKed and Delivered to the handset.

  2. 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:

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.

Upvotes: 2

Views: 4824

Answers (1)

Chad
Chad

Reputation: 2131

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.

Upvotes: 1

Related Questions