Twilio: создайте два исходящих звонка и присоединитесь к конференции, используя Python

Я пытаюсь создать приложение для проведения конференций с максимум 2 ораторами, используя Twilio, используя Python/Django. Тем не менее, в документах я узнал, что вы можете сделать это с помощью входящих звонков. но моя бизнес-модель не работает так. Есть ли способ, чтобы это работало так:

  • Мой номер Twilio называет номер 1
  • Мой Twilio номер звонит по номеру 2
  • Twilio выводит два канала на новую конференцию

Я пробовал это решение: Twilio, как сделать два исходящих звонка и присоединиться (конференц-связь) к ним, используя узел js, но это мне не сильно помогло..

Вот мой код:

@csrf_exempt
def conference(request):
    print("success")
    response = VoiceResponse()
    dial = Dial()
    dial.conference('Rooxm 1234')
    response.append(dial)
    print(response)
    return HttpResponse('')

def call(number):
    client = Client(TWILIO_ACCOUNT_SID,TWILIO_AUTH_TOKEN)
    call = client.calls.create(
        url='https://<blahblah_removed_purposefully>.ngrok.io/conf/',
        to='+' + str(number),
        from_='<removed_my_twilio_num>'
    )
    print(call.sid)

def index(request):
    if request.method == 'POST':
        # create a form instance and populate it with data from the request:
        form = CallForm(request.POST)

        # check whether it's valid:
        if form.is_valid():
            #print(dir(form.data.values))
            call(form.cleaned_data['inline'])
            call(form.cleaned_data['outline'])
            return HttpResponseRedirect('/thanks/')
    # if a GET (or any other method) we'll create a blank form
    else:
        form = CallForm()
    return render(request, 'CallForm.html', {'form': form})

Это дало мне сообщение об ошибке во время разговора: "Произошла ошибка приложения. До свидания"

И я также получаю это в отладчике: "Ошибка в строке 1 документа: преждевременный конец файла".

Любая идея?

1 ответ

Хорошо, я понял это. Единственная вещь, которая была необходима, чтобы заставить эту установку работать, я должен был изменить ответ, добавить туда строку xml и затем установить content_type возвращаемого объекта.

return HttpResponse(str(response),content_type='application/xml')
Другие вопросы по тегам