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()
# 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()
# 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()
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()