Discussion:
source_addr_ton/npi and dest_addr_ton/npi
Kaspars Foigts
2005-02-28 13:22:46 UTC
Permalink
Still noone bothered answering my mail about DLR's. Anyone, one more
question. This time about source/dest_addr_ton/npi PDU parameters
and delivery reports (again).

On delivery reports - is it possible to request delivery reports, if
incoming short message is processed by kannel? For example:

group = sms-service
keyword = info
keyword-regex = ^(info|i)$
text = "Information"
faked-sender = "123456701"

I would like to know, if this message is delivered to user, but
kannel does not set registered_delivery PDU parameter. I guess this
could be related to my first mail about DLR's not being processed.

Why it is not possible to modify source-addr-ton/npi and
destination-addr-ton/npi? I'm trying to set them in configuration
file:

group = smsc
smsc = smpp
smsc-id = MyOperator
system-type = "VMA"
host = xxx.xxx.xxx.xxx
port = xxxx
smsc-username = xxxxxxxx
smsc-password = xxxxxxxx
source-addr-autodetect = no
msg-id-type = 0x00
# source-addr-ton = 2
source-addr-ton = 23
dest-addr-ton = 1
log-file = /var/log/kannel/smsc-myoperator.log

No matter, what I set, Kannel submits sm with its own TON/NPI's

2005-02-28 15:11:44 [1264] [7] DEBUG: source_addr_ton: 2 = 0x00000002
2005-02-28 15:11:44 [1264] [7] DEBUG: source_addr_npi: 1 = 0x00000001
2005-02-28 15:11:44 [1264] [7] DEBUG: source_addr: "1234567890123456701"
2005-02-28 15:11:44 [1264] [7] DEBUG: dest_addr_ton: 2 = 0x00000002
2005-02-28 15:11:44 [1264] [7] DEBUG: dest_addr_npi: 1 = 0x00000001
2005-02-28 15:11:44 [1264] [7] DEBUG: destination_addr: "3711234567"

Probably related question - if/when will it be available to
configure these parameters? For example, one of our operators uses some
non-standard ton/npi settings. If they do not correspond to
operator's preferences, message is not accepted.
--
Kaspars
http://laacz.lv/
Davy Chan
2005-02-28 17:28:45 UTC
Permalink
**>Date: Mon, 28 Feb 2005 15:22:46 +0200
**>From: Kaspars Foigts <***@laacz.lv>
**>To: ***@kannel.org
**>Subject: source_addr_ton/npi and dest_addr_ton/npi
**>
**>
**> Still noone bothered answering my mail about DLR's. Anyone, one more
**> question. This time about source/dest_addr_ton/npi PDU parameters
**> and delivery reports (again).
**>
**> On delivery reports - is it possible to request delivery reports, if
**> incoming short message is processed by kannel? For example:
**>
**> group = sms-service
**> keyword = info
**> keyword-regex = ^(info|i)$
**> text = "Information"
**> faked-sender = "123456701"
**>
**> I would like to know, if this message is delivered to user, but
**> kannel does not set registered_delivery PDU parameter. I guess this
**> could be related to my first mail about DLR's not being processed.

No. The reson why you cannot get a DLR for this type of sms-service
is because you cannot set the dlr-mask needed to indicate to Kannel
which DLR's you are interested in receiving from the SMSC.

If, instead of a "text=", you use a get-url or post-url to an
external service (and the accept-x-kannel-headers is set for the service),
and the external service issues back the two Kannel HTTP optional headers:
X-Kannel-DLR-URL: http://some.url/...
X-Kannel-DLR-Mask: 31

Then, you could get DLR's for that sms-service.

Read the thread about receiving DLRs in the ***@kannel.org archive:

http://www.mail-archive.com/***@kannel.org/msg03945.html

**>
**> Why it is not possible to modify source-addr-ton/npi and
**> destination-addr-ton/npi? I'm trying to set them in configuration
**> file:
**>
**> group = smsc
**> smsc = smpp
**> smsc-id = MyOperator
**> system-type = "VMA"
**> host = xxx.xxx.xxx.xxx
**> port = xxxx
**> smsc-username = xxxxxxxx
**> smsc-password = xxxxxxxx
**> source-addr-autodetect = no
**> msg-id-type = 0x00
**> # source-addr-ton = 2
**> source-addr-ton = 23

What's TON=23? TON is only 3 bits long.

**> dest-addr-ton = 1
**> log-file = /var/log/kannel/smsc-myoperator.log
**>
**> No matter, what I set, Kannel submits sm with its own TON/NPI's
**>
**> 2005-02-28 15:11:44 [1264] [7] DEBUG: source_addr_ton: 2 = 0x00000002
**> 2005-02-28 15:11:44 [1264] [7] DEBUG: source_addr_npi: 1 = 0x00000001
**> 2005-02-28 15:11:44 [1264] [7] DEBUG: source_addr: "1234567890123456701"
**> 2005-02-28 15:11:44 [1264] [7] DEBUG: dest_addr_ton: 2 = 0x00000002
**> 2005-02-28 15:11:44 [1264] [7] DEBUG: dest_addr_npi: 1 = 0x00000001
**> 2005-02-28 15:11:44 [1264] [7] DEBUG: destination_addr: "3711234567"
**>
**> Probably related question - if/when will it be available to
**> configure these parameters? For example, one of our operators uses some
**> non-standard ton/npi settings. If they do not correspond to
**> operator's preferences, message is not accepted.

Type Of Number (TON) range for Kannel:
0 0 0 = 0 = unknown
0 0 1 = 1 = International
0 1 0 = 2 = National number
0 1 1 = 3 = Network specific
1 0 0 = 4 = Subscriber number
1 0 1 = 5 = Alphanumeric
1 1 0 = 6 = Abbreviated
1 1 1 = 7 = Reserved

Number Plan Identifier (NPI) range for Kannel:
0 0 0 0 = 0 = unknown
0 0 0 0 = 1 = ISDN/E.164/E.163
0 0 1 0 = 2 = reserved
0 0 1 1 = 3 = Data numbering plan (X.121)
0 1 0 0 = 4 = Telex numbering plan
0 1 0 1 = 5 = Service Center specific plan to External Short Msg Entity attach
0 1 1 0 = 6 = Service Center specific plan ESME attached to SMSC
0 1 1 1 = 7 = reserved
1 0 0 0 = 8 = national numbering plan
1 0 0 1 = 9 = private numbering plan
1 0 1 0 = 10 = ERMES numbering plan
1 0 1 1 = 11 = reserved
1 1 0 0 = 12 = reserved
1 1 0 1 = 13 = reserved
1 1 1 0 = 14 = reserved
1 1 1 1 = 15 = reserved

Set the TON and NPI and then restart the bearerbox. If set the bearerbox
loglevel to 0, then each time an MT SMS is sent through Kannel, you
should see a log message like:

SMPP[MyOperator]: Manually forced dest addr ton = x, dest add npi = y
or
SMPP[MyOperator]: Manually forced source addr ton = x, source add npi = y

depending on whether you set source-addr-ton/source-addr-npi or
destination-addr-ton/destination-addr-npi. And, x = TON number, y = NPI
number.

See ya...

d.c.

Loading...