我正在使用 SMPPSim selenium 软件,并且已将其连接到 kannel 4.3,正在使用 SMPPSim 从用户界面使用注入消息发送消息
我注意到,如果我从 SMPPSim 向 kannel 发送长消息,我将不会收到这些长消息,并且 udh=0 总是用于短消息或长消息(多条消息)
据我所知,长消息应该分为多条消息,并且它们的 udh 应该是 0 以外的值
请记住: 1. 请求的客户端要求我使用 kannel 1.4.3,请求的客户端仍在使用 1.4.3,并且他们有很多基于此版本 kannel 的应用程序,因此升级不在我手中. 2. SMPPSim selenium 软件中提到它支持多条消息,但我真的不知道,这是在寻找什么!
这是配置
kannel.conf
顺便说一句,我使用 SMPPSim Silenim 用户界面发送
kannel.conf
group = core
admin-port = 17000
smsbox-port = 17001
admin-password = Dumb-bugger
log-file = "/var/log/kannel/kannel.log"
log-level = 0
box-deny-ip = "*.*.*.*"
box-allow-ip = "127.0.0.1;192.168.1.*"
admin-deny-ip = "*.*.*.*"
admin-allow-ip = "127.0.0.1;192.168.1.*"
#unified-prefix = "+91,0091,+0091;+,;"
access-log = "/var/log/kannel/access.log"
dlr-storage = mysql
group = smsbox
bearerbox-host = localhost
sendsms-port = 17017
bearerbox-port = 17010
log-level = 0
mo-recode=false
group = sendsms-user
username = test
password = test
user-allow-ip = "127.0.0.1;192.168.1.*"
concatenation = true
max-messages = 10
group = smsc
smsc = smpp
smsc-id = "SMPPSim"
host = localhost
port =2775
receive-port = 2775
system-type = ""
smsc-username = smppclient1
smsc-password = password
keepalive = 2
interface-version = 34
source-addr-ton = 5
source-addr-npi = 0
source-addr-autodetect = yes
dest-addr-ton = 1
dest-addr-npi = 1
address-range = ""
enquire-link-interval = 60
max-pending-submits = 10
reconnect-delay = 10
priority = 0
smppsim.props
# SMPP_PORT specified the port that SMPPSim will listen on for connections from SMPP
# clients. SMPP_CONNECTION_HANDLERS determines the maximum number of client connections
# that can be handled concurrently.
SMPP_PORT=2775
SMPP_CONNECTION_HANDLERS=10
# Specify the classes that imlement connection and protocol handling respectively here.
# Such classes *must* be subclasses of com.seleniumsoftware.SMPPSim.ConnectionHandler and com.seleniumsoftware.SMPPSim.SMPPProtocolHandler respectively
# Or those classes themselves for the default (good) behaviour
# Supply your own subclasses with particular methods overridden if you want to implement
# bad SMSC behaviours to see how your client application copes...
CONNECTION_HANDLER_CLASS=com.seleniumsoftware.SMPPSim.StandardConnectionHandler
PROTOCOL_HANDLER_CLASS=com.seleniumsoftware.SMPPSim.StandardProtocolHandler
# Specify the class that implements the message state life cycle simulation.
# Such classes must extend the default class, LifeCycleManager
LIFE_CYCLE_MANAGER=com.seleniumsoftware.SMPPSim.LifeCycleManager
#
# The Deterministic Lifecycle Manager sets message state according to the first character of the message destination address:
# 1=EXPIRED,2=DELETED,3=UNDELIVERABLE,4=ACCEPTED,5=REJECTED, other=DELIVERED
# LIFE_CYCLE_MANAGER=com.seleniumsoftware.SMPPSim.DeterministicLifeCycleManager
# LifeCycleManager parameters
#
# Check and possibly change the state of messages in the OutboundQueue every n milliseconds
MESSAGE_STATE_CHECK_FREQUENCY=5000
# Maximum time (in milliseconds) in the initial ENROUTE state
MAX_TIME_ENROUTE=10000
# The minimum time to wait before generating a delivery receipt (ms)
DELAY_DELIVERY_RECEIPTS_BY=0
# Percentage of messages that change state each time we check (excluding expiry or messages being completely discarded due to age)
# Requires an integer between 0 and 100
PERCENTAGE_THAT_TRANSITION=75
# State transition percentages. These parameters define the percentage of messages that
# transition from ENROUTE to the specified final state. The list of percentages should
# add up to 100 and must be integer values. SMPPSim will adjust the percentages if they do not.
# Percentage of messages that will transition from ENROUTE to DELIVERED
PERCENTAGE_DELIVERED=90
# Percentage of messages that will transition from ENROUTE to UNDELIVERABLE
PERCENTAGE_UNDELIVERABLE=6
# Percentage of messages that will transition from ENROUTE to ACCEPTED
PERCENTAGE_ACCEPTED=2
# Percentage of messages that will transition from ENROUTE to REJECTED
PERCENTAGE_REJECTED=2
# Time messages held in queue before being discarded, after a final state has been reached (milliseconds)
# For example, after transitioning to DELIVERED (a final state), state info about this message will be
# retained in the queue for a further (e.g.) 60000 milliseconds before being deleted.
DISCARD_FROM_QUEUE_AFTER=60000
# Web Management
HTTP_PORT=88
HTTP_THREADS=1
DOCROOT=www
AUTHORISED_FILES=/css/style.css,/index.htm,/inject_mo.htm,/favicon.ico,/images/logo.gif,/images/dots.gif,/user-guide.htm,/images/homepage.gif,/images/inject_mo.gif
INJECT_MO_PAGE=/inject_mo.htm
# Account details. Comma seperate. SystemID and Password provided in Binds will be validated against these credentials.
SYSTEM_IDS=smppclient1,smppclient2
#SYSTEM_IDS=smppclient
PASSWORDS=password,password
#PASSWORDS=password
OUTBIND_ENABLED=false
#OUTBIND_ENABLED=true
OUTBIND_ESME_IP_ADDRESS=127.0.0.1
OUTBIND_ESME_PORT=2776
#OUTBIND_ESME_PORT=2777
#OUTBIND_ESME_SYSTEMID=smppclient1
OUTBIND_ESME_SYSTEMID=smppclient
OUTBIND_ESME_PASSWORD=password
# MO SERVICE
DELIVERY_MESSAGES_PER_MINUTE=0
DELIVER_MESSAGES_FILE=deliver_messages.csv
# LOOPBACK
LOOPBACK=FALSE
# ESME to ESME routing
ESME_TO_ESME=true
# QUEUES
# Maximum size parameters are expressed as max number of objects the queue can hold
OUTBOUND_QUEUE_MAX_SIZE=1000
INBOUND_QUEUE_MAX_SIZE=1000
# The delayed inbound queue holds DELIVER_SM (MO) messages which could not be delivered to the selected ESME
# because it replied "queue full". Such messages get stored in the delayed inbound queue and delivery is attempted again
# periodically according to the following configuration.
#
# How many seconds to wait between passes through the delayed inbound queue. Recommend this is set to at least one minute.
DELAYED_INBOUND_QUEUE_PROCESSING_PERIOD=60
DELAYED_INBOUND_QUEUE_MAX_ATTEMPTS=100
# LOGGING
# See logging.properties for configuration of the logging system as a whole
#
# Set the following property to true to have each PDU logged in human readable
# format. Uses INFO level logging so the log level must be set accordingly for this
# output to appear.
DECODE_PDUS_IN_LOG=true
# PDU CAPTURE
# The following properties allow binary and/or decoded PDUs to be captured in files
# This is to allow the results of test runs (especially regression testing) to be
# checked with reference to these files
#
# Note that currently you must use the StandardConnectionHandler and StandardProtocolHandler classes for this
# feature to be available.
#
# _SME_ properties concern PDUs sent from the SME application to SMPPSim
# _SMPPSIM_ properties concern PDUs sent from SMPPSim to the SME application
#
CAPTURE_SME_BINARY=false
CAPTURE_SME_BINARY_TO_FILE=sme_binary.capture
CAPTURE_SMPPSIM_BINARY=false
CAPTURE_SMPPSIM_BINARY_TO_FILE=smppsim_binary.capture
CAPTURE_SME_DECODED=false
CAPTURE_SME_DECODED_TO_FILE=sme_decoded.capture
CAPTURE_SMPPSIM_DECODED=false
CAPTURE_SMPPSIM_DECODED_TO_FILE=smppsim_decoded.capture
# Byte Stream Callback
#
# This feature, if enabled, will cause SMPPSim to send PDUs received from the ESME or sent to it
# as byte streams over a couple of connections.
# This is intended to be useful in automated testing scenarios where you need to notify the test application
# with details of what was *actually* received by SMPPSim (or sent by it).
#
# Note that byte streams are prepended by the following fields:
#
# a 4 byte integer which indicates the length of the whole callback message
# a 1 byte indicator of the type of interaction giving rise to the callback,
# - where 0x01 means SMPPSim received a request PDU and
# 0x02 means SMPPSim sent a request PDU (e.g. a DeliverSM)
# a 4 byte fixed length identified, which identifies the SMPPSim instance that sent the bytes
#
# So the length of the SMPP pdu is the callback message length - 9.
#
# LENGTH(4) TYPE(1) ID(4) PDU (LENGTH)
CALLBACK=false
CALLBACK_ID=SIM1
CALLBACK_TARGET_HOST=localhost
CALLBACK_PORT=3333
# MISC
SMSCID=SMPPSim
smppsim 日志
2012.11.06 10:19:05 958 INFO 22 00010139:36373731:32303030:38333600:
2012.11.06 10:19:05 958 INFO 22 01013939:30300000:00000000:00000000:
2012.11.06 10:19:05 959 INFO 22 00546865:20756E69:76657273:69747920:
2012.11.06 10:19:05 959 INFO 22 77617320:666F756E:64656420:696E204D:
2012.11.06 10:19:05 959 INFO 22 61726368:20332C20:31383634:20617320:
2012.11.06 10:19:05 959 INFO 22 74686520:436F6C6F:7261646F:2053656D:
2012.11.06 10:19:05 959 INFO 22 696E6172:79206279:204A6F68:6E204576:
2012.11.06 10:19:05 959 INFO 22 616E732C:20746865:20666F72:6D657220:
2012.11.06 10:19:05 959 INFO 22 476F7665:726E6F72:206F6620:436F6C6F:
2012.11.06 10:19:05 959 INFO 22 7261646F:20546572:7269746F:72792C20:
2012.11.06 10:19:05 959 INFO 22 77686F20:68616420:6265656E:20617070:
2012.11.06 10:19:05 960 INFO 22 6F696E74:65642062:79205072:65736964:
2012.11.06 10:19:05 960 INFO 22 656E7420:41627261:68616D20:4C696E63:
2012.11.06 10:19:05 960 INFO 22 6F6C6E2E:204A6F68:6E204576:616E732C:
2012.11.06 10:19:05 960 INFO 22 2077686F:20616C73:6F20666F:756E6465:
2012.11.06 10:19:05 960 INFO 22 64204E6F:72746877:65737465:726E2055:
2012.11.06 10:19:05 960 INFO 22 6E697665:72736974:79207072:696F7220:
2012.11.06 10:19:05 960 INFO 22 746F2066:6F756E64:696E6720:4455202E:
2012.11.06 10:19:05 960 INFO 22 20
2012.11.06 10:19:05 960 INFO 22 cmd_len=0,cmd_id=5,cmd_status=0,seq_no=4,service_type=,source_addr_ton=1
2012.11.06 10:19:05 961 INFO 22 source_addr_npi=1,source_addr=919894198941,dest_addr_ton=1,dest_addr_npi=1
2012.11.06 10:19:05 961 INFO 22 destination_addr=9900,esm_class=0,protocol_ID=0,priority_flag=0
2012.11.06 10:19:05 961 INFO 22 schedule_delivery_time=,validity_period=,registered_delivery_flag=0
2012.11.06 10:19:05 961 INFO 22 replace_if_present_flag=0,data_coding=0,sm_default_msg_id=0,sm_length=256
2012.11.06 10:19:05 961 INFO 22 short_message=The university was founded in March 3
2012.11.06 10:19:05 961 INFO 22 1864 as the Colorado Seminary by John Evans
2012.11.06 10:19:05 961 INFO 22 the former Governor of Colorado Territory
2012.11.06 10:19:05 961 INFO 22 who had been appointed by President Abraham Lincoln. John Evans
2012.11.06 10:19:05 961 INFO 22 who also founded Northwestern University prior to founding DU .
2012.11.06 10:19:05 961 INFO 22
2012.11.06 10:19:05 961 INFO 22 addressIsServicedByReceiver(9900)
2012.11.06 10:19:05 962 INFO 22 InboundQueue: empty - waiting
2012.11.06 10:19:05 962 INFO 16 : DELIVER_SM_RESP:
2012.11.06 10:19:05 962 INFO 16 Hex dump (17) bytes:
2012.11.06 10:19:05 962 INFO 16 00000011:80000005:00000000:00000004:
2012.11.06 10:19:05 962 INFO 16 00
2012.11.06 10:19:05 963 INFO 16 cmd_len=17,cmd_id=-2147483643,cmd_status=0,seq_no=4,system_id=
2012.11.06 10:19:05 963 INFO 16 DelayedInboundQueue: now contains 0 object(s)
2012.11.06 10:19:05 963 INFO 16
访问日志
2012-11-06 10:19:05 Receive SMS [SMSC:SMPPSim] [SVC:] [ACT:] [BINF:] [FID:] [from:+919894198941] [to:+9900] [flags:-1:0:-1:0:-1] [msg:0:] [udh:0:]