インバウンド発信者の40〜50秒の録音を5セット作成しようとしています。インバウンドコールが未確認のハングアップシグナルを送信しています
I持って着信コールに応答して設定され、次のTwiML:$ nがある
<Response>
<Say>Recording $n</Say>
<Record action="/twilio/answer/$n" finishOnKey="123456789#*" maxLength="50" playBeep="true" timeout="5" trim="trim-silence" />
</Response>
数1 - ポストメッセージが送信されますタイムアウトまたはボタンを押す時に5
フラスコ内の次のビューに移動します。
@app.route('/twilio/answer/<int:question_id>', methods=['POST'])
def answer(question_id):
"""Receives the question and ensures it is the correct length."""
length = int(request.values.get("RecordingDuration", 0))
if length >= MIN_LENGTH:
url = request.values.get("RecordingUrl", None)
save_url(url)
response = redirect_to_question(question_id + 1)
return str(response)
else:
# Replay question
response = twiml.Response()
message = """The recording must be at least %s seconds long.""" % MIN_LENGTH
return redirect_to_question(question_id, say=message)
コールが期待どおりに機能する時間の半分。残りの半分は、発信者が「ハングアップ」を送信するように見えます。
POST/twilio/answer/
Request
URL
https://example.com/twilio/answer/1
Parameters
CALLED +441234567890
DIGITS hangup
私は間違いなくハングアップしています。
録音時間が31秒のときにハングアップ信号が常に送信されます。 最初のレコーディング/ビューが成功した場合は、他のすべてのレコーディング/ビューも同様になります。
私は自分の携帯電話(Android)とSkypeでこれを体験しました。私はgunicornで実行中のフラスコを使用しています
:
gunicorn voice:app -b 127.0.0.1:8000 --timeout 120 --graceful-timeout 120 --workers 3 --worker-class gevent --log-file - --log-level debug
私はリバースプロキシとしてnginxのを使用しています:
server {
listen 80;
listen 443 ssl;
server_name example.com;
ssl_certificate somewhere/fullchain.pem;
ssl_certificate_key somewhere/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location/{
proxy_pass http://127.0.0.1:8000;
proxy_redirect http://127.0.0.1:8000 https://example.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 120s;
}
}
Twilioの終わりに問題があるように私には思えます。
があります:
- 任意の方法は、この問題を解決するために?
- ハングアップ信号を無視して続行する方法はありますか?
何が起こると思われますか?あなたのTwiMLでは、録音が終了するとコールはとにかく終了します。意図する結果は何ですか? – philnash
上記に追加されました。私は、URLを保存し、次の録音に移動する、または私は質問を再生する。 – Keri