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
}

Другие вопросы по тегам