title: Udh always 0 and can not send long messages using SMPPSim
body: <p>I am using SMPPSim selenium software and i have connected it to the kannel 4.3 , am sending messages using the SMPPSim from the user interface using inject message</p>
  
  <p>I have noticed that if i send long messages from SMPPSim to kannel , I wont receive those long messages and the udh=0 always either for short messages or long messages(multiple messages)</p>
  
  <p>as i know long messages should be divided into multiple messages and their udh should be value other then 0</p>
  
  <p>Keeping in mind that :
  1. I have been asked to use kannel 1.4.3 by the requested client , requested client is still using 1.4.3 and they have so many applications based in this version of the kannel so upgrading is not in my hand.
  2. It is mentioned in SMPPSim selenium software that it supports multiple messages but how i really dont know , and that what am looking for !!!</p>
  
  <p>here is the configuration</p>
  
  <p>kannel.conf</p>
  
  <p>by the way am sending using the SMPPSim Silenim user interface</p>
  
  <p>kannel.conf</p>
  
  <pre><code>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
  </code></pre>
  
  <p>smppsim.props</p>
  
  <pre><code># 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
  </code></pre>
  
  <p>smppsim logs</p>
  
  <pre><code>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  
  </code></pre>
  
  <p>access.log</p>
  
  <pre><code>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:]
  </code></pre>