Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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)