diff --git a/smpp_test.py b/smpp_test.py new file mode 100755 index 0000000..e2c2ee0 --- /dev/null +++ b/smpp_test.py @@ -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()