Exemplo n.º 1
0
import sys
import timeutil

logger=logging.getLogger(__name__)

form = session.form()
argv = session.argv()

if not form.getfirst('MessageSid'):
    print "Status: 400 Bad Request\nContent-type: text/html\n\nMissing message SID"
    sys.exit()

user = control.getUser(form)
with model.transaction():
    event = control.getEvent(form=form,
                             sidField='MessageSid',
                             inbound=(len(argv) > 1 and argv[1] == 'incoming'),
                             type="text")

for a in range(int(form.getfirst('NumMedia') or 0)):
    content_type = form.getfirst('MediaContentType%d' % a)
    content_url = form.getfirst('MediaUrl%d' % a)
    if content_url:
        media = Attachment.create(sid='%s-%d' % (event.sid, a),
                                  url=content_url,
                                  mime_type=content_type,
                                  event=event)

if event.conversation.peer.blocked:
    # TODO: make this do something useful
    event.status = 'rejected'
    event.save()
Exemplo n.º 2
0
# Ignore forwarding loops
if form.getfirst("From") == form.getfirst("To"):
    reject()

user = control.getUser(form)

if inbound:
    inbox = control.getInbox(form, user, "To")
    if (
        form.getfirst("ForwardedFrom")
        and inbox.routes.select().where(CallRoute.dest_addr == form.getfirst("ForwardedFrom")).count()
    ):
        reject()

event = control.getEvent(form=form, sidField="CallSid", inbound=inbound, type="voice")
if state == "transcribed":
    # Push forward any pending notifications
    for n in event.pending_notifications:
        n.time = datetime.datetime.now()
        n.save()

    sys.exit()

responseBody = None

# Blacklist unwanted callers
if event.conversation.peer.blocked:
    event.status = "rejected"
    event.save()
    reject()
Exemplo n.º 3
0

# Ignore forwarding loops
if form.getfirst('From') == form.getfirst('To'):
    reject()

user = control.getUser(form)

if inbound:
    inbox = control.getInbox(form, user, 'To')
    if (form.getfirst('ForwardedFrom') and inbox.routes.select().where(
            CallRoute.dest_addr == form.getfirst('ForwardedFrom')).count()):
        reject()

event = control.getEvent(form=form,
                         sidField='CallSid',
                         inbound=inbound,
                         type="voice")
if state == 'transcribed':
    # Push forward any pending notifications
    for n in event.pending_notifications:
        n.time = datetime.datetime.now()
        n.save()

    sys.exit()

responseBody = None

# Blacklist unwanted callers
if event.conversation.peer.blocked:
    event.status = 'rejected'
    event.save()
Exemplo n.º 4
0
import sys
import timeutil

logger = logging.getLogger(__name__)

form = session.form()
argv = session.argv()

if not form.getfirst('MessageSid'):
    print "Status: 400 Bad Request\nContent-type: text/html\n\nMissing message SID"
    sys.exit()

user = control.getUser(form)
with model.transaction():
    event = control.getEvent(form=form,
                             sidField='MessageSid',
                             inbound=(len(argv) > 1 and argv[1] == 'incoming'),
                             type="text")

for a in range(int(form.getfirst('NumMedia') or 0)):
    content_type = form.getfirst('MediaContentType%d' % a)
    content_url = form.getfirst('MediaUrl%d' % a)
    if content_url:
        media = Attachment.create(sid='%s-%d' % (event.sid, a),
                                  url=content_url,
                                  mime_type=content_type,
                                  event=event)

if event.conversation.peer.blocked:
    # TODO: make this do something useful
    event.status = 'rejected'
    event.save()