add smpp_test to generate SMS load via SMPP interface

It's not really related to MNCC, but in lack of a better suitable
repository, I'll commit it here for the time being.
This commit is contained in:
Harald Welte 2015-12-05 22:41:57 +01:00
parent fcc3baaa2d
commit 031b9c9006
1 changed files with 52 additions and 0 deletions

52
smpp_test.py Executable file
View File

@ -0,0 +1,52 @@
#!/usr/bin/python
import logging
import sys
import smpplib.gsm
import smpplib.client
import smpplib.consts
# This is a small script using https://github.com/podshumok/python-smpplib
# to generate some SMS load on OsmoNITB via its SMPP interface
# if you want to know what's happening
logging.basicConfig(level='DEBUG')
def send_message(dest, string):
parts, encoding_flag, msg_type_flag = smpplib.gsm.make_parts(string)
print 'Sending SMS "%s" to %s' % (string, dest)
for part in parts:
pdu = client.send_message(
source_addr_ton=smpplib.consts.SMPP_TON_INTL,
source_addr_npi=smpplib.consts.SMPP_NPI_ISDN,
source_addr='3802',
dest_addr_ton=smpplib.consts.SMPP_TON_INTL,
dest_addr_npi=smpplib.consts.SMPP_NPI_ISDN,
destination_addr=dest,
short_message=part,
data_coding=encoding_flag,
#esm_class=msg_type_flag,
esm_class=smpplib.consts.SMPP_MSGMODE_FORWARD,
registered_delivery=False,
)
print(pdu.sequence)
client = smpplib.client.Client('127.0.0.1', 2775)
# Print when obtain message_id
client.set_message_sent_handler(
lambda pdu: sys.stdout.write('sent {} {}\n'.format(pdu.sequence, pdu.message_id)))
client.set_message_received_handler(
lambda pdu: sys.stdout.write('delivered {}\n'.format(pdu.receipted_message_id)))
client.connect()
client.bind_transceiver(system_id='test', password='test')
destinations = ('3802', '7839', '3807', '3811', '3806', '3805', '3804', '3809', '3812', '3815', '3814', '3803', '3813')
for dest in destinations:
send_message(dest, 'Mahlzeit')
client.listen()