2

我正在使用 Kannel 将 SMS 发送到 SMSC:

  1. 发送 1 部分 SMS(<=160 个字符)被确认并传送到手机。

  2. 发送多部分(长)SMS 是:

    A. If concatenation = false: 由 Kannel 拆分,部分被 ACKed 和 Delivered(作为唯一的 SMS)。

    B. 如果concatenation = true:被 Kannel 拆分,部分被确认但未交付。

    此外,任何后续发送到刚刚经历过这种情况 [2.B] 的目标号码的 SMS 也会被确认但未发送,即使它是单部分 SMS!

有没有人有类似的经历?

由于 1-parters 表现正常,我怀疑问题出在连接过程本身..但它来自:

  • Kannel(版本或配置?)。
  • SMSC(我连接的特定 SMSC 是否需要特殊的东西?)。
  • 手机(怀疑,我尝试了来自多个网络和多个设备的几个号码)。
  • 我将 SMS 发送给 Kannel 的方式(sendsms cgi)?!

令人难以置信的是,所有消息(1 部分、单独的多部分和串联的多部分)都被 SMSC 接受并传递,除了在某处丢失并导致移动设备不再接收任何内容的串联消息!

重新连接 SMSC 不会解锁号码,重启手机不会解锁号码。一旦一个连接的消息被发送到一个号码,ACKed 和 Undelivered,任何东西都不会从 kannel 传递到它。

该号码仍然可以接收和显示从其他号码发送给它的短短信和长短信,即使是从运营商(SMSC 提供商)用于测试的 Web 界面!

编辑:事实证明,MSISDN 不会无限期地被阻止,只是在提交串联的多部分 SMS 后约 24 小时。24 小时后,所有单部分 SMS 都会一次)发送,但不是多部分 SMS。——这进一步表明问题出在我猜的 SMSC 内?!

编辑:发现问题!移动运营商终于报告他们的 SMSC
存在错误!它无法处理 7 位 (GSM) 级联消息!UCS-2 连接却被成功处理了!
他们向 SMSC 供应商报告了该错误并正在等待修复。同时,他们建议以 8 位编码发送 7 位长消息(多部分)[charset=UTF-8&coding=1使用 Kannels 的 SMSPush URL]。
这种方法有效,但给我留下了另一个问题,8 位部分最多可以容纳 134 个字符 ( 140 octed - 6 UDH),比 7 位部分少 19 个字符。所以我现在的问题是:是否可以使用 PHP + Kannel 将 7 位字符串打包成 8 位字符串以绕过SMSC 的错误和每部分发送 153 个字符?

以下是 Kannel conf、bearer 和 sms box 启动日志和测试日志。请帮我解决这个问题。谢谢。

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

承载箱启动

[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.

短信箱启动

[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 部分请求——实际交付:

[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.

多部分请求[ concatenation = true] --未交付:

[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 部分请求(与之前的请求相同)这次未交付!

[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.
4

1 回答 1

1

是否可以使用 PHP + Kannel 将 7 位字符串打包成 8 位字符串,以绕过 SMSC 的错误并每部分发送 153 个字符?

不太可能。当您coding=1在您的 sendms URL 中设置时,这会更改data_codingSMS PDU 中的参数。它将它设置为“未指定的八位字节”,手机可能永远不会尝试将其解码为 7 位 GSM 消息。

有趣的是,根据Android的短信解析源码中的一条评论,一些运营商使用这个data_coding来发送UTF8的短信。

于 2012-09-06T23:35:43.713 回答