Ignacio Facello wrote:
Hello. I am running Kannel version 1.4.0 (apparently) on a Linux
(Debian) box with kernel 2.6.8.
In one of the connections I have setup, the TON and NPI parameters get
overriden. My config file is as follows:
group = smsc
smsc = smpp
interface-version = 34
smsc-id = XXXXXXXXXX
host = xxx.xxx.xxx.xxx
port = 17600
receive-port = 17630
smsc-username = "xxxxxx"
smsc-password = "xxxxxx"
system-type = ""
source-addr-autodetect = false
source-addr-ton = 2
source-addr-npi = 1
dest-addr-ton = 2
dest-addr-npi = 1
address-range = ""
log-file = "/var/log/kannel/xxxxxxxxx.log"
log-level = 0
However, the operator tells me they're receiving TON and NPI as unknown
(I assumed 0). I set the log level to debug, and this is what it tells
me (I've eliminates one of the threads as it is essentially the same):
2006-06-07 20:11:31 [2882] [24] DEBUG: SMPP[XXXXXXXXXX]: Sending PDU:
2006-06-07 20:11:31 [2882] [24] DEBUG: SMPP PDU 0x81bb0d0 dump:
2006-06-07 20:11:31 [2882] [24] DEBUG: type_name: bind_receiver
2006-06-07 20:11:31 [2882] [24] DEBUG: command_id: 1 = 0x00000001
2006-06-07 20:11:31 [2882] [24] DEBUG: command_status: 0 = 0x00000000
2006-06-07 20:11:31 [2882] [24] DEBUG: sequence_number: 1 = 0x00000001
2006-06-07 20:11:31 [2882] [24] DEBUG: system_id: "xxxxxx"
2006-06-07 20:11:31 [2882] [24] DEBUG: password: "xxxxxx"
2006-06-07 20:11:31 [2882] [24] DEBUG: system_type: ""
2006-06-07 20:11:31 [2882] [24] DEBUG: interface_version: 52 = 0x00000034
2006-06-07 20:11:31 [2882] [24] DEBUG: addr_ton: 0 = 0x00000000
2006-06-07 20:11:31 [2882] [24] DEBUG: addr_npi: 0 = 0x00000000
2006-06-07 20:11:31 [2882] [24] DEBUG: address_range: ""
2006-06-07 20:11:31 [2882] [24] DEBUG: SMPP PDU dump ends.
2006-06-07 20:11:31 [2882] [24] WARNING: SMPP: PDU NULL terminated
string has no NULL.
2006-06-07 20:11:31 [2882] [24] DEBUG: SMPP[XXXXXXXXXX]: Got PDU:
2006-06-07 20:11:31 [2882] [24] DEBUG: SMPP PDU 0x81bccd0 dump:
2006-06-07 20:11:31 [2882] [24] DEBUG: type_name: bind_receiver_resp
2006-06-07 20:11:31 [2882] [24] DEBUG: command_id: 2147483649 = 0x80000001
2006-06-07 20:11:31 [2882] [24] DEBUG: command_status: 15 = 0x0000000f
2006-06-07 20:11:31 [2882] [24] DEBUG: sequence_number: 1 = 0x00000001
2006-06-07 20:11:31 [2882] [24] DEBUG: system_id: NULL
2006-06-07 20:11:31 [2882] [24] DEBUG: SMPP PDU dump ends.
2006-06-07 20:11:31 [2882] [24] ERROR: SMPP[XXXXXXXXXX]: SMSC rejected
login to receive, code 0x0000000f (Invalid System ID).
2006-06-07 20:11:31 [2882] [24] ERROR: SMPP[XXXXXXXXXX]: I/O error or
other error. Re-connecting.
2006-06-07 20:11:31 [2882] [24] DEBUG: Thread 24
(gw/smsc/smsc_smpp.c:io_thread) terminates.
As you can see, kannel is indeed sending TON and NPI as 0. Any ideas as
to why is this happening?
Hi Ignacio,
these are "only" the bind_xxx PDUs. We don't override any valies for TON/NPI in
the bind PDUs. These are actually the "login" PDUs. We _DO_ override TON/NPI
values according to your config section in the up-following submit_sm PDUs.
But we can see these here, since the SMSC doesn't allow you to bind to as
receiver, due to the fact that you specified system-type = "", but the SMSC
assumes to see a specific value here.
This is what the corresponding error within the bind_receiver_resp PDU (Invalid
System ID) is telling us.
So, you should go first, contacting your SMSC provider and ask them which value
you need for system-id.
Stipe
-------------------------------------------------------------------
Kölner Landstrasse 419
40589 Düsseldorf, NRW, Germany
tolj.org system architecture Kannel Software Foundation (KSF)
http://www.tolj.org/ http://www.kannel.org/
mailto:st_{at}_tolj.org mailto:stolj_{at}_kannel.org
-------------------------------------------------------------------