def ivr(request): # Retrieve all parameters called_number = request.GET.get("called_number", None) outbound_sid = request.GET.get("outbound_sid", None) cid = request.GET.get("cid", None) # This is the caller id, format being 0..., not 91... sid = request.GET.get("sid", None) operator = request.GET.get("operator", None) circle = request.GET.get("circle", None) event = request.GET.get("event", None) data = request.GET.get("data", None) phone_number = cid if phone_number is not None and phone_number.startswith("0"): phone_number = "91" + phone_number[1:] gateway_session_id = "KOOKOO-" + sid # Process the event if event == "NewCall": ivr_event = IVR_EVENT_NEW_CALL elif event == "GotDTMF": ivr_event = IVR_EVENT_INPUT elif event == "Disconnect": ivr_event = IVR_EVENT_DISCONNECT else: ivr_event = IVR_EVENT_DISCONNECT with CriticalSection([gateway_session_id]): result = incoming(phone_number, backend_module, gateway_session_id, ivr_event, input_data=data) return result
def ivr(request): # Retrieve all parameters called_number = request.GET.get("called_number", None) outbound_sid = request.GET.get("outbound_sid", None) cid = request.GET.get("cid", None) # This is the caller id, format being 0..., not 91... sid = request.GET.get("sid", None) operator = request.GET.get("operator", None) circle = request.GET.get("circle", None) event = request.GET.get("event", None) data = request.GET.get("data", None) phone_number = cid if phone_number is not None and phone_number.startswith("0"): phone_number = "91" + phone_number[1:] gateway_session_id = "KOOKOO-" + sid # Process the event if event == "NewCall": ivr_event = IVR_EVENT_NEW_CALL elif event == "GotDTMF": ivr_event = IVR_EVENT_INPUT elif event == "Disconnect": ivr_event = IVR_EVENT_DISCONNECT else: ivr_event = IVR_EVENT_DISCONNECT return incoming(phone_number, backend_module, gateway_session_id, ivr_event, input_data=data)
def ivr(request): """ Kookoo invokes this view for its main communication with HQ. Point Kookoo's 'url' parameter here. """ # Retrieve all parameters called_number = request.GET.get("called_number", None) outbound_sid = request.GET.get("outbound_sid", None) cid = request.GET.get( "cid", None) # This is the caller id, format being 0..., not 91... sid = request.GET.get("sid", None) operator = request.GET.get("operator", None) circle = request.GET.get("circle", None) event = request.GET.get("event", None) data = request.GET.get("data", None) total_call_duration = request.GET.get("total_call_duration", None) phone_number = cid if phone_number is not None and phone_number.startswith("0"): phone_number = "91" + phone_number[1:] gateway_session_id = "KOOKOO-" + sid # Process the event if event == "NewCall": ivr_event = IVR_EVENT_NEW_CALL elif event == "GotDTMF": ivr_event = IVR_EVENT_INPUT elif event == "Disconnect": ivr_event = IVR_EVENT_DISCONNECT else: ivr_event = IVR_EVENT_DISCONNECT backend = SQLMobileBackend.get_global_backend_by_name( SQLMobileBackend.IVR, 'MOBILE_BACKEND_KOOKOO') with CriticalSection([gateway_session_id], timeout=300): result = incoming(phone_number, gateway_session_id, ivr_event, backend=backend, input_data=data, duration=total_call_duration) return result
def ivr(request): """ Kookoo invokes this view for its main communication with HQ. Point Kookoo's 'url' parameter here. """ # Retrieve all parameters called_number = request.GET.get("called_number", None) outbound_sid = request.GET.get("outbound_sid", None) cid = request.GET.get("cid", None) # This is the caller id, format being 0..., not 91... sid = request.GET.get("sid", None) operator = request.GET.get("operator", None) circle = request.GET.get("circle", None) event = request.GET.get("event", None) data = request.GET.get("data", None) total_call_duration = request.GET.get("total_call_duration", None) phone_number = cid if phone_number is not None and phone_number.startswith("0"): phone_number = "91" + phone_number[1:] gateway_session_id = "KOOKOO-" + sid # Process the event if event == "NewCall": ivr_event = IVR_EVENT_NEW_CALL elif event == "GotDTMF": ivr_event = IVR_EVENT_INPUT elif event == "Disconnect": ivr_event = IVR_EVENT_DISCONNECT else: ivr_event = IVR_EVENT_DISCONNECT backend = SQLMobileBackend.get_global_backend_by_name( SQLMobileBackend.IVR, 'MOBILE_BACKEND_KOOKOO' ) with CriticalSection([gateway_session_id], timeout=300): result = incoming(phone_number, gateway_session_id, ivr_event, backend=backend, input_data=data, duration=total_call_duration) return result