Python: инструкция Twilio TaskRouter Conference
Я обрабатываю входящий вызов с помощью TaskRouter с такой инструкцией по конференции
@csrf_exempt
def TaskEnqueue(request):
""" Put call into queue """
response = VoiceResponse()
digits = request.POST['Digits']
selected_service = 'Support' if digits == '1' else 'Sales'
task = {'selected_service': selected_service}
enqueue = response.enqueue(None, workflowSid=TWILIO_WORKFLOW_SID)
enqueue.task(json.dumps(task))
return HttpResponse(
str(response), content_type='application/xml; charset=utf-8'
)
@csrf_exempt
def TaskAssignmentView(request):
""" Task assignment """
worker_attributes = json.loads(request.POST['WorkerAttributes'])
assigned_worder_uri = worker_attributes['contact_uri']
response = {'instruction': 'conference',
'from': TWILIO_NUMBER,
'to': assigned_worder_uri,
'end_conference_on_exit': True,
'post_work_activity_sid': TWILIO_ACTIVITY_BREAK}
return JsonResponse(response)
Я хочу завершить конференцию после того, как агент или вызывающий абонент повесят трубку.
Даже со свойством end_conference_on_exit конференция завершается, только когда агент кладет трубку, но не когда вызывающий абонент вешает трубку.
Я что-нибудь упускаю?
1 ответ
Достаточно добавить в инструкцию конференции «end_conference_on_customer_exit».
response = {'instruction': 'conference',
'from': TWILIO_NUMBER,
'to': assigned_worder_uri,
'end_conference_on_exit': True,
'post_work_activity_sid': TWILIO_ACTIVITY_BREAK,
'end_conference_no_customer_exit': True
}