Kannel连接短信确认但未送达

时间:2012-07-31 04:55:40

标签: sms multipart kannel smpp

我使用Kannel将短信发送到SMSC:

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

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

    一个。如果concatenation = false:由Kannel拆分,则部分已确认并已交付(作为唯一的SMS)。

    B中。如果concatenation = true:由Kannel拆分,部件已确认但尚未交付。

    此外,发送到刚刚遇到此情况[2.B]的目的地号码的任何后续短信也会被确认但未发送,即使它是1部分短信!

  3. 有没有人有类似的经历?

    由于单方面的行为正常,我怀疑问题在于连接过程本身..但它来自:

    • Kannel(版本或conf?)。
    • SMSC(我连接的特定SMSC是否需要特殊的东西?)。
    • 手机(可疑,我尝试过多个网络和多个设备的多个号码)。
    • 我将短信发送给Kannel发送的方式(发送短信cgi)?!

    令人难以置信的是,所有消息(单部分,单独的多部分和连接的多部分)都被SMSC接受交付,并且在某些地方发送了超出连接的消息并导致移动设备不再接收任何内容

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

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

    编辑:事实证明,在提交连接的多部分短信后,MSISDN不会被无限期阻止,只是 ~24小时。在24小时后,所有单部分短信 交付(一次),但多部分短信。 - 这进一步暗示问题在SMSC中我猜??

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

    以下是Kannel conf,bearer和sms box启动日志,以及测试日志..请帮我解决这个问题.. 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启动

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

1 个答案:

答案 0 :(得分:1)

  

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

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

有趣的是,根据Android的SMS解析源代码中的评论,一些运营商使用此data_coding以UTF8发送短信。