aboutsummaryrefslogtreecommitdiffstats
path: root/smpp_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'smpp_test.py')
-rwxr-xr-xsmpp_test.py52
1 files changed, 52 insertions, 0 deletions
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()