def process_message(app_pk, message_body, guid, user, host): #setup django #append asterisk django project path = '/var/www/html/gsasterisk' if path not in sys.path: sys.path.append(path) os.environ['DJANGO_SETTINGS_MODULE'] = 'asterisk.settings' log("trying to import django") from django.db.models.loading import get_models log("tried to import django") loaded_models = get_models() log("Tried to get models") #import models from sms.models import AppService, SIPTerminus, SMSIn #default app service service = AppService.objects.get(pk=app_pk) log("ok, setup django") parts = message_body.split("\n") phone = parts[0].replace("+", "") parts.pop(0) message = "\n".join(parts) log("RECEIVED MESSAGE %s from phone number %s " % (message, phone)) log("user and host: %s %s " % (user, host)) try: terminus = SIPTerminus.objects.get(user=user, host=host) out = 'saving inbound message "%s" with terminus "%s" from "%s"\n' % ( message, terminus, phone) log(out) try: smsin = SMSIn(text=message, fromNumber=phone, toNumber=terminus, uuid=guid) smsin.save() out = 'saved sms in message %s ' % smsin.pk log(out) return 0 except Exception as e: log('exception: %s ' % str(e)) except SIPTerminus.DoesNotExist: log("sip terminus with user %s and host %s does not exist" % (user, host)) return 1
def process_message(app_pk, message_body, guid, user,host): #setup django #append asterisk django project path='/var/www/html/gsasterisk' if path not in sys.path: sys.path.append(path) os.environ['DJANGO_SETTINGS_MODULE']='asterisk.settings' log("trying to import django") from django.db.models.loading import get_models log("tried to import django") loaded_models = get_models() log("Tried to get models") #import models from sms.models import AppService,SIPTerminus,SMSIn #default app service service = AppService.objects.get(pk=app_pk) log("ok, setup django") parts = message_body.split("\n") phone = parts[0].replace("+","") parts.pop(0) message = "\n".join(parts) log("RECEIVED MESSAGE %s from phone number %s " % (message,phone)) log("user and host: %s %s " % (user,host)) try: terminus = SIPTerminus.objects.get(user=user,host=host) out='saving inbound message "%s" with terminus "%s" from "%s"\n' % (message,terminus,phone) log(out) try: smsin = SMSIn(text=message,fromNumber=phone,toNumber=terminus,uuid=guid) smsin.save() out='saved sms in message %s ' % smsin.pk log(out) return 0 except Exception as e: log('exception: %s ' % str(e)) except SIPTerminus.DoesNotExist: log("sip terminus with user %s and host %s does not exist" % (user,host)) return 1
def test_creating_a_new_sms_in_and_saving(self): services = AppService.objects.all() print 'app services: %s ' % services terminus = SIPTerminus.objects.all()[0] sms = SMSIn() sms.fromNumber = '16129614397' sms.toNumber = terminus sms.text = 'Test Message' sms.uuid = uuid.uuid1() sms.save() all_sms_ins = SMSIn.objects.all() self.assertEquals(len(all_sms_ins), 1) only_sms_in_db = all_sms_ins[0] self.assertEquals(only_sms_in_db, sms) self.assertEquals(only_sms_in_db.text, "Test Message") self.assertEquals(only_sms_in_db.toNumber, terminus)
def test_creating_a_new_sms_in_and_saving(self): services = AppService.objects.all() print 'app services: %s ' % services terminus = SIPTerminus.objects.all()[0] sms = SMSIn() sms.fromNumber='16129614397' sms.toNumber = terminus sms.text='Test Message' sms.uuid = uuid.uuid1() sms.save() all_sms_ins = SMSIn.objects.all() self.assertEquals(len(all_sms_ins),1) only_sms_in_db = all_sms_ins[0] self.assertEquals(only_sms_in_db,sms) self.assertEquals(only_sms_in_db.text,"Test Message") self.assertEquals(only_sms_in_db.toNumber,terminus)