2017-04-24 12 views
0

Twilio를 사용하여 대화식 음성 지원을 구축 중입니다. 내 목표는 이것은/음성으로 webhook (사람이 Twilio의 전화를 받게됩니다)Twilio 통화에서 여러 사용자 응답 녹음하기

<Response> 
    <Play>./welcome</Play> 
    <Record maxLength="10" action="/processing" recordingStatusCallback="/getRecording"></Record> 
</Response> 

오디오를 처리하고 응답을 제공하는 대답은 대화, 프로세스 녹음 된 오디오 및

의 일부를 기록하는 것입니다 시간이 오래 걸릴 수 있습니다, 그래서/처리의 끝에 일시 중지를 추가 :

<Response> 
    <Play>./ok</Play> 
    <Pause length="10"></Pause> 
</Response> 

이/getRecording

<Response> 
    <Play>./answer</Play> 
    <Record maxLength="10" action="/processing" recordingStatusCallback="/getRecording "></Record> 
</Response> 
완료 대답은

/welcome,/ok 및/answer는 해당 오디오 파일로 연결됩니다.

모든 단계를 수행 할 수 있었기 때문에/getRecording이 실제로 실행되었고 twiml이 다시 전송되었지만/getRecording 이후의/getRecording은 Twilio에서 결코 실행되지 않는다는 것을 로그에서 확인할 수 있습니다. 전화가 끝납니다).

어떤 지침이 있습니까? Twilio는 동일한 통화에서 여러 녹음을 허용합니까?

참고 : 'recordingStatusCallback'대신 'actionStatusCallback'을 사용하면 '작동'으로 작동하지만 ... 작동하지만 ... 우리가 사용하고있는 녹음이 실제로 제대로 생성되었는지 확신 할 수 없습니다. ?

도움 주셔서 감사합니다.

+0

첫 문장의 내용이 누락 된 것 같습니다. – Andy

+0

@Andy 구문이 정상적인 것 같습니다. 적어도 저에게는 효과적입니다. 문제는 philnash가 아래에 설명했듯이/getRecording 웹 훅에서 새로운 twiml을 보낼 수 없지만 일단 프로세스가 완료되면 실제로 다른 호출로 리디렉션합니다. 감사! –

답변

1

개발자 전도사 Twilio가 여기 있습니다.

/getRecording 끝점이 호출되었지만 호출 컨텍스트에서 비동기 웹 훅입니다. TwiML을 recordingStatusCallback으로 되 돌리는 것은 현재 통화에 영향을 미치지 않습니다.

대신 REST API를 modify the call으로 사용하여 녹음 파일에 대한 응답을 기반으로 실행하려는 다음 TwiML로 리디렉션해야합니다.

녹화가 10 초 미만으로 걸리면 좋겠지 만 호출자가 전화를 끊지 않으려면 끝점 /processing에 루프를 추가 할 수 있습니다. 당신은 다시 시작에 redirecting에 의해 호출을 수행 할 수 있습니다 : 당신이 기록 콜백을 얻을 때

<Response> 
    <Play>./ok</Play> 
    <Pause length="10"></Pause> 
    <Redirect>./processing</Redirect> 
</Response> 

그런 다음, 당신은이 루프에서 발신자를 리디렉션합니다.

전혀 도움이되는지 알려주세요.

+0

감사합니다. 정확히 우리가 찾고 있던 솔루션입니다. 나는/getRecording twiml을 다른/sendRecording으로 옮겼는데, 이는 오디오 프로세싱 후에 리다이렉트되어 작동한다. 또한 루핑에 대한 조언을 주신 덕분에 처리에 소요되는 양에 따라 사용자에게 다른 메시지를 재생하는 방식으로 특별히 유용합니다. –