Python:Twilio TaskRouter 会议说明

问题描述

我正在使用带有会议指令的 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”属性,会议也仅在座席挂断时结束,而在来电者挂断时不结束。

我错过了什么吗?

解决方法

在会议说明中添加“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
}