Я делаю быстрый PO C, используя Twiml Bins, я пытаюсь соединить 2 звонка, и если получатель не отвечает на звонок, он должен go ответить на его голосовую почту.
Вариант использования:
- Пользователь A вызывает мой номер twilio.
- Twilio переводит A в режим удержания и пытается позвонить B.
- Если B отвечает, B просят принять или отклонить звонок. Нажав 1 или 2 (или повесив трубку).
- Если принято, вызов соединяется, и A и B. разговаривают.
- В случае отклонения A может оставить голосовую почту для B в своей ячейке.
- Если B не отвечает, A может оставить голосовую почту для B на своей ячейке.
Я застрял на 5 и 6. Невозможно отправить голосовую почту на B если вызов отклонен или оставлен без ответа. Вложение тегов Twiml меня мало смущает. Вот что я попробовал до сих пор: PutAOnholdAndCallB:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say>Thank you for calling please wait while I connect you.</Say>
<Dial timeout="15" action="Callhangup">
<Number url="AcceptorDeny">UserBPhoneNo
</Number>
</Dial>
</Response>
AcceptorDeny:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Gather numDigits="1" timeout="20" action="DoNothing">
<Say>You have a call, press 1 to answer or hang-up for it to go to voicemail.</Say><Pause length="3"/><Say>Connecting</Say>
</Gather>
<Hangup/>
</Response>
Callhangup:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say>
You have reached the voicemail.
Please leave a message at the beep.
Press the star key when finished.
</Say>
<Record action="DoNothing"
method="GET"
maxLength="20"
finishOnKey="*"
/>
<Hangup />
</Response>
DoNothing:
<?xml version="1.0" encoding="UTF-8"?>
<Response />