From 5474163370b80317030ad77a2a55afe3acf7d7f3 Mon Sep 17 00:00:00 2001 From: Shiv K Sah Date: Tue, 5 Sep 2017 12:28:52 +0530 Subject: [PATCH 1/2] broadcast bulk sms - client implementation --- client/core/freeswitch_interconnect.py | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/client/core/freeswitch_interconnect.py b/client/core/freeswitch_interconnect.py index 3f21f98a..ddae8325 100644 --- a/client/core/freeswitch_interconnect.py +++ b/client/core/freeswitch_interconnect.py @@ -12,8 +12,9 @@ """ from ESL import ESLconnection - +from freeswitch import consoleLog from core import number_utilities +from core.subscriber import subscriber class freeswitch_ic(object): @@ -41,10 +42,24 @@ def send_to_number(self, to, from_, body, to_country=None, to = number_utilities.convert_to_e164(to, to_country) if from_country: from_ = number_utilities.convert_to_e164(from_, from_country) - to = number_utilities.strip_number(to) - from_ = number_utilities.strip_number(from_) - return self._send_raw_to_freeswitch_cli( - str("python VBTS_Send_SMS %s|%s|%s" % (to, from_, body))) + # Check brodacast. TO receive * from cloud for send sms to all IMSIs + if to == '*': + # Get all subscribers and thier IMSIs + imsi_list = subscriber.get_subscriber_imsis() + consoleLog('info', 'Broadcast SMS to IMISs %s : \n' % (imsi_list)) + for imsi in imsi_list: + numbers = subscriber.get_numbers_from_imsi(imsi) + for number in numbers: + to = str(number) + self._send_raw_to_freeswitch_cli( + str("python VBTS_Send_SMS %s|%s|%s" % ( + to, from_, body))) + return True + else: + to = number_utilities.strip_number(to) + from_ = number_utilities.strip_number(from_) + return self._send_raw_to_freeswitch_cli( + str("python VBTS_Send_SMS %s|%s|%s" % (to, from_, body))) def send_to_imsi(self, to, ipaddr, port, from_, body): """Send a message directly to an IMSI. These messages will go directly to From 1abdc117511bd9bedbb7516f86251de1b1f93c79 Mon Sep 17 00:00:00 2001 From: Shiv K Sah Date: Wed, 27 Sep 2017 16:34:18 +0530 Subject: [PATCH 2/2] code review update --- client/core/freeswitch_interconnect.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/client/core/freeswitch_interconnect.py b/client/core/freeswitch_interconnect.py index ddae8325..69c7edbe 100644 --- a/client/core/freeswitch_interconnect.py +++ b/client/core/freeswitch_interconnect.py @@ -12,7 +12,6 @@ """ from ESL import ESLconnection -from freeswitch import consoleLog from core import number_utilities from core.subscriber import subscriber @@ -42,13 +41,15 @@ def send_to_number(self, to, from_, body, to_country=None, to = number_utilities.convert_to_e164(to, to_country) if from_country: from_ = number_utilities.convert_to_e164(from_, from_country) - # Check brodacast. TO receive * from cloud for send sms to all IMSIs + # Check broadcast. TO receive * from cloud for send sms to all IMSIs if to == '*': - # Get all subscribers and thier IMSIs + # Get all subscribers and their IMSIs imsi_list = subscriber.get_subscriber_imsis() - consoleLog('info', 'Broadcast SMS to IMISs %s : \n' % (imsi_list)) for imsi in imsi_list: - numbers = subscriber.get_numbers_from_imsi(imsi) + try: + numbers = subscriber.get_numbers_from_imsi(imsi) + except: + numbers = [] for number in numbers: to = str(number) self._send_raw_to_freeswitch_cli(