2015-05-29 2 views
0

Так я использую Twilio апи делать исходящие вызовы из спискавызовов несколько номеров последовательно с использованием Twilio исходящего вызова

NUMS = ['xxx-xxx-xxxx', 'jjj-jjj-jjjj'] 
for num in NUMS: 
    c = make_call(num, "Hi-how-are-you!!!") 

и функции make_call содержит код twillio

def make_call(to_number, mesg): 
    global FROM 
    call_status = ['COMPLETED', 'FAILED', 'BUSY', 'NO_ANSWER'] 

    # put your own credentials here 
    ACCOUNT_SID = "--------------------" 
    AUTH_TOKEN = "--------------------" 

    client = TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN) 

    call = client.calls.create(
     to=to_number, 
     from_=FROM, 
     url=URL+"/voice/reply/"+mesg, 
     method="POST", 
     status_callback=URL+"/voice/status", 
     status_callback_method="POST", 
     timeout=10 
    ) 
    return call 

Нет идеи что я делаю неправильно, но он ставит в очередь ОБА, а затем ПРИЗЫВАЕТ ИХ ОБА В ОДНО ВРЕМЯ. Если я заберу по вызову, другой конец. Я хочу позвонить последовательно, и установка time.sleep() тоже не работает.

Справка приветствуется.

+0

Немой вопрос, но вы пробовали сделать время 'time.sleep' 11 секунд? – AlexLordThorsen

ответ

1

Твилио евангелист здесь.

Каждый вызов client.calls.create - это простой HTTP-запрос к API Twilios REST, который сообщает ему, чтобы начать исходящий телефонный звонок. Вызовы выполняются асинхронно, поэтому, если вы хотите, чтобы вы могли вызвать эту функцию 10 раз, чтобы одновременно запустить десять отдельных телефонных звонков.

Если вы хотите совершать звонки серийным способом, а не использовать цикл для запуска вызовов, я предлагаю начать первый вызов, а затем использовать обработчик маршрута StatusCallback, чтобы Twilio рассказывал вам, когда этот первый звонок завершен (и почему), а затем в этом обработчике начните следующий вызов.

Каждый раз, когда активный вызов завершается, Twilio запросит маршрут StatusCallback, позволяющий начать следующий вызов в вашей последовательности.

Надеюсь, что это поможет.

+0

спасибо! Я, наконец, понял, что звонки асинхронны ... и пошел по этому маршруту. – DickFeynman

Смежные вопросы