1

私はJavaを使用していますが、質問は言語に依存しないため、twilio-PHPタグの下にも投稿しました。

私のアプリケーションは、A と B の 2 人の顧客を接続する必要があります。会話を書き起こし、一方が応答せず、他方をボイスメールにスクリーニングしたかどうかを調べたいと考えています。

click-to-call-tutorialの手順に従っています

ただし、Rest APIは録音をサポートしているようですが、文字起こしはサポートしていないようです。私は正常に行うことができます:

    Map<String, String> params = new HashMap<String, String>();
    params.put("From", myTwilioNumber);
    params.put("To", customerAPhoneNumber);
    params.put("Url", "http://MyHandler.jsp");
    params.put("IfMachine", "Hangup");
    params.put("Record", "true");
    Call call = client.getAccount().getCallFactory().create(params);

これにより、会話全体が記録されますが、文字起こしはされません!

補足として -

    params.put("IfMachine", "Hangup"); 

確かに、ボイスメールに到達すると電話が切れますが、ボイスメールをランダムなノイズで残す前ではありません。Twilio が応答を「調査」しているようで、ボイスメールに到達したことを理解するまでに、バックグラウンド ノイズが録音されていました。これはひどいユーザーエクスペリエンスです。何かアドバイス?

さらに、私の通話処理サーブレットは次のことを行います。

TwiMLResponse twimlResponse = new TwiMLResponse();
Say sayMessage = new Say(
    "Hi, customer A, stay on line to speak with customer B?");
twimlResponse.append(sayMessage);
Dial dial = new Dial(customerBPhoneNumber);
twimlResponse.append(dial);

しかし、TwiML Verbsを見ていると、 params.put("IfMachine", "Continue") を設定できる場所がありません。そのため、フィールド call.getAnsweredBy() は 2 番目の呼び出しでは null です。つまり、顧客 A と B の間で会話があったかどうかはわかりません。

さらに、[TwiML Verb Record] ( https://www.twilio.com/docs/api/twiml/record ) は書き起こしを許可しますが、

twimlResponse.append(new Record());

会話を停止し、顧客の 1 人を録音します。

そのため、REST API に文字起こしを指示することはできず、TwiML Verbs は会話を希望どおりに記録することさえできません。

誰でも助けることができますか?

ありがとう。

4

1 に答える 1