2012-01-06 2 views
0

Есть ли какие-либо специальные опции, которые мне нужно отправить, чтобы отправлять многостраничные сообщения?Kannel: как отправить многостраничные сообщения?

Я отправляю SMS-сообщение на Kannel, обращаясь к следующему URL-адресу. http://myipaddress:13013/cgi-bin/sendsms?username=test&password=test&to=123456789&from=TEST&text=long_long_text

Но вместо того, чтобы получать сообщение сам я вижу какие-то странные символы на мой телефон, что-то похожее на 4eX1-06I! ... и содержит некоторые не латинские символы.

Если я делаю текст короче (менее 160), не меняя ничего, он отлично работает, так что это просто проблема с несколькими сообщениями. Если я набор кодирование и набор символов (кодирование = 1 & кодировок = окна-1252), то мой Samsung телефон получает сообщение, но Nokia говорит «неподдерживаемый тип сообщение» http://myipaddress:13013/cgi-bin/sendsms?coding=1&charset=windows-1252&username=test&password=test&to=123456789&from=TEST&text=long_long_text

Я могу отправить Юникод сообщение с http://myipaddress:13013/cgi-bin/sendsms?coding=2&charset=utf-8&username=test&password=test&to=123456789&from=TEST&text=long_long_text , но в этом случае вместо отправки 2 сообщений я отправляю 3, это дорого, поэтому я не хотел бы идти этим путем.

Каннель smsbox версии 1.4.3

С моей точки зрения многокомпонентные сообщения должны быть обработаны автоматически Каннель, так что я ничего не сделал специально для этого. Я не мог найти ничего, связанного с многостраничными сообщениями в конфигурации канала. Я даже ничего не мог найти о многостраничных сообщениях в руководстве для пользователей каналов.

Вот PDU для как одного сообщения, так и multipart. Я не вижу никакой разницы.

PDU для составного сообщения (первая страница)

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 для составного сообщения (вторая страница)

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. 

Это сообщение было доставлено и concatanated, но нечитаемым.

Одно сообщение (это работает отлично)

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. 

Вот конфигурация SMSC.

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 

Как это решить? Пожалуйста, дайте мне знать, если вам нужна какая-либо другая информация.

Заранее спасибо.

+0

может вам вставить соответствующий раздел конфигурации? – armonge

+0

Конечно, обновленный оригинальный пост. – axe

+0

Это похоже на ошибку реализации SMSC. В случае кодирования 0 этот SMSC требует 7 бит упакованных данных вместо строки с 7-битными символами. –

ответ

0

В руководстве Каннели есть установка max-messages,

Если сообщение будет отправлено больше, чем максимальная длина SMS он будет разделен на несколько частей. max-messages позволяет указать максимальное количество отдельных SMS-сообщений, которые можно использовать. Если max-messages установлено в 0, отправка ответа не производится, за исключением сообщений об ошибках.

Я бы попытаться изменить эту настройку, потому что я, кажется, не найти в любом месте по умолчанию

http://www.kannel.org/download/1.4.3/userguide-1.4.3/userguide.html

+0

Это похоже на проблему с кодировкой. Я установил кодировку в 0, но я действительно не понимаю, почему это не работает? Должен ли каннель автоматически упаковывать данные, или я должен делать это вручную? Почему то же самое работает для коротких сообщений (<160 символов) и не работает для длинных? Я действительно не вижу разницы. – axe

+0

Забыл сказать, max-messages установлен на 4, это мало помогает. – axe

1

Вы можете установить ниже параметр, чтобы избежать дубликат сообщения

sms-resend-retry = 0 
max-messages =0 
Смежные вопросы