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
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...