メニュー

Expand
ページを評価:

TwiML™ Voice: <Record>

The <Record> verb records the caller’s voice and returns to you the URL of a file containing the audio recording. You can optionally generate text transcriptions of recorded calls by setting the transcribe attribute of the <Record> verb to true.

Legal implications of call recording

If you choose to record voice or video calls, you need to comply with certain laws and regulations, including those regarding obtaining consent to record (such as California’s Invasion of Privacy Act and similar laws in other jurisdictions). Additional information on the legal implications of call recording can be found here.

Notice: Twilio recommends that you consult with your legal counsel to make sure that you are complying with all applicable laws in connection with communications you record or store using Twilio.

動詞の属性

<Record> 動詞は次の属性をサポートします。これらを使って動作を変更します。

属性名 許容値 初期値
action 相対または絶対 URL 現在の文書の URL
method GET, POST POST
Timeout Positive integer 5
finishOnKey Any digit, #, * 1234567890*#
maxLength Integer greater than 1 3600 (1 時間)
playBeep true, false true
trim trim-silence, do-not-trim trim-silence
recordingStatusCallback 相対または絶対 URL なし
recordingStatusCallbackMethod GET, POST POST
recordingStatusCallbackEvent in-progress, completed, absent completed
transcribe true, false false
transcribeCallback 相対または絶対 URL なし

DIAL動詞 と SMS動詞は、複数の属性を使えます。

下の例ではcallerIdパラメータが省略されていますが、Twilio for KDDI Web Communications をご利用のお客様においては、callerId パラメータで必ずご自身で購入したTwilio電話番号を指定する必要があり、かつ、省略できません。

DIAL動詞で電話をかける場合にはTwilio電話番号(050/0120/0800/その他番号)を、SMS動詞でSMSを送信する場合にはアメリカ番号もしくはSMSが有効なTwilio番号を指定する必要があります。

        
        
        
        

        action

        The action attribute takes a relative or absolute URL as a value. When recording is finished, Twilio will make a GET or POST request to this URL including the parameters below. If no action is provided, <Record> will request the current document’s URL.

        After making this request, Twilio will continue the current call using the TwiML received in your response. Keep in mind that by default Twilio will re-request the current document’s URL. This can lead to unwanted looping behavior if you’re not careful. Any TwiML verbs occurring after a <Record> are unreachable.

        There is one exception: if Twilio receives an empty recording, it will not make a request to the action URL. The current call flow will continue with the next verb in the current TwiML document.

        リクエストパラメーター

        Twilio will pass the following parameters in addition to the standard TwiML Voice request parameters with its request to the action URL:

        パラメーター 概要
        RecordingUrl The URL of the recorded audio. The recording file may not yet be accessible when the action callback is sent. Use recordingStatusCallback for reliable notification on when the recording is available for access.
        RecordingDuration 録音されたオーディオの長さ(秒単位)です。 無音部分を削除した後の正確な録音の長さの確定値を取得するには、RecordingStatusCallbackを使用してください。
        Digits The key (if any) pressed to end the recording, or hangup if the caller hung up.

        A request to the RecordingUrl will return a recording in binary WAV audio format by default. To request the recording in MP3 format, append ".mp3" to the RecordingUrl value.

        method

        The method attribute takes the value GET or POST. This tells Twilio whether to request the action URL via HTTP GET or POST. This attribute is modeled after the HTML form method attribute. POST is the default value.

        Timeout

        The timeout attribute tells Twilio to end the recording after a number of seconds of silence has passed. To disable this feature, set timeout to 0. The default is 5 seconds.

        finishOnKey

        The finishOnKey attribute lets you choose a set of digits that, when entered, end the recording. For example, if you set finishOnKey to # and the caller presses the # key, Twilio will immediately stop recording and submit RecordingUrl, RecordingDuration, and # as parameters in a request to the action URL. The allowed values are the digits 0-9, # and *. The default is 1234567890*# — ie. any key will end the recording. Unlike <Gather>, you may specify more than one character as a finishOnKey value.

        In some instances, when using the finishOnKey attribute, the last part of the audio (approximately the one second before the key is pressed) may not be recorded.

        maxLength

        The maxLength attribute lets you set the maximum length for the recording in seconds. If you set maxLength to 30, the recording will automatically end after 30 seconds of recorded time has elapsed. The defaults are 3600 seconds (one hour) for a normal recording, and 120 seconds (two minutes) for a transcribed recording. Twilio Client calls using <Record> are limited to 600 seconds (ten minutes).

        playBeep

        The playBeep attribute allows you to toggle between playing a sound before the start of a recording. If you set the value to false, no beep sound will be played.

        trim

        The trim attribute lets you specify whether to trim leading and trailing silence from your audio files. The default is trim-silence, which removes any silence at the beginning and end of your recording. This may cause the duration of the recording to be slightly less than the duration of the call.

        recordingStatusCallback

        The recordingStatusCallback attribute takes a relative or absolute URL as an argument. If a recordingStatusCallback URL is given, Twilio will make a GET or POST request to the specified URL when the recording is available to access.

        リクエストパラメーター

        Twilio は、リクエストと以下のパラメーターを「recordingStatusCallback」URL へ転送します。

        パラメーター 概要
        AccountSid この録音の属するアカウントの一意な識別子です。
        CallSid 録音に関連づけられた通話の一意な識別子です。 
        RecordingSid この録音のユニークな識別子です。
        RecordingUrl 録音された音声の URL。
        RecordingStatus The status of the recording. Possible values are: completed, failed.
        RecordingDuration この録音の長さ (秒) です。
        RecordingChannels The number of channels in the final recording file as an integer. Only one channel is supported for the <Record> verb.
        RecordingSource The initiation method used to create this recording. RecordVerb is returned for recordings initiated via the <Record> verb.

        recordingStatusCallbackMethod

        This attribute indicates which HTTP method to use when requesting recordingStatusCallback. It defaults to POST.

        recordingStatusCallbackEvent

        The recordingStatusCallbackEvent allows you to specify which recording status changes should generate a webhook to the URL specified in the recordingStatusCallback attribute. The available values are:

        • in-progress: the recording has started.
        • completed: the recording is complete and available.
        • absent: the recording is absent and inaccessible.

        To specify more than one value, separate each with a space. The default value is completed.

        transcribe

        The transcribe attribute tells Twilio that you would like a text representation of the audio of the recording. Twilio will pass this recording to our speech-to-text engine and attempt to convert the audio to human readable text. The transcribe option is not enabled by default. If you do not wish to perform transcription, simply do not include the transcribe attribute.

        注釈

        1. Transcription is a paid feature. If you include a transcribe or transcribeCallback attribute on your Record verb, your account will be charged. See the pricing page for our transcription prices.
        2. Transcription is only supported in American English.

        Additionally, transcription is currently limited to recordings initiated via the TwiML <Record> verb with a duration greater than two seconds and less than 120 seconds. If you request a transcription for a recording outside these duration limits, Twilio will write a warning to your debug log rather than transcribe the recording.

        transcribeCallback

        The transcribeCallback attribute is used in conjunction with the transcribe attribute. It allows you to specify a URL to which Twilio will make an asynchronous POST request when the transcription is complete. This is not a request for TwiML and the response will not change call flow, but the request will contain the standard TwiML request parameters as well as transcription specific ones.

        If transcribeCallback is specified, then there is no need to specify transcribe=true; it is implied. If you specify transcribe=true without a transcribeCallback, the completed transcription will be stored for you to retrieve later (see the REST API Transcriptions section), but Twilio will not asynchronously notify your application.

        Twilio will not make a request to the provided transcribeCallback URL if the voice recording is missing or absent.

        The transcribeCallback URL attribute is considered Not PII.

        リクエストパラメーター

        Twilio は transcribeCallback URL に、このリクエストと共に下記のパラメーターを渡します。

        パラメーター 概要
        TranscriptionSid The unique 34-character ID of the transcription.
        TranscriptionText The text of the transcription.
        TranscriptionStatus The status of the transcription attempt: either completed or failed.
        TranscriptionUrl The URL for the transcription’s REST API resource.
        RecordingSid The unique 34-character ID of the recording from which the transcription was generated.
        RecordingUrl The URL for the transcription’s source recording resource.
        CallSid Twilio が生成したこの通話のユニークな識別子です。
        AccountSid あなたの Twilio アカウント ID。AC から始まる 34 文字の文字列です。
        From The phone number or client identifier of the party that initiated the call. Phone numbers are formatted with a + and country code, eg. +16175551212 ([E.164][e164] format). Client identifiers begin with the client: URI scheme; for example, for a call from a client named tommy, the From parameter will be client:tommy.
        To The phone number or client identifier of the called party. Phone numbers are formatted with a + and country code, eg. +16175551212 ([E.164][e164] format). Client identifiers begin with the client: URI scheme; for example, for a call to a client named joey, the To parameter will be client:joey.
        CallStatus A descriptive status for the call. The value is one of queued, ringing, in-progress, completed, busy, failed, or no-answer. See the CallStatus section for more details.
        ApiVersion The version of the Twilio API used to handle this call. For incoming calls, this is determined by the API version set on the called number. For outgoing calls, this is the API version used by the outgoing call’s REST API request.
        Direction A string describing the direction of the call: inbound for inbound calls, outbound-api for calls initiated via the REST API, or outbound-dial for calls initiated by a <Dial> verb.
        ForwardedFrom This parameter is set only when Twilio receives a forwarded call, but its value depends on the caller’s carrier including information when forwarding. Not all carriers support passing this information.

        ネスティングルール

        You can’t nest any verbs within <Record> and you can’t nest <Record> within any other verbs.

        参考

        サンプル

        例 1: 録音する

        Twilio will execute the <Record> verb causing the caller to hear a beep and the recording to start. If the caller is silent for more than five seconds, hits the # key, or the recording maxlength time is hit, Twilio will make an HTTP POST request to the default action URL (ie. the current document URL) with the parameters RecordingUrl and RecordingDuration.

              
              
              
              

              例 2: ボイスメールを録音する

              This example shows a simple voicemail prompt. The caller is asked to leave a message at the beep. The <Record> verb beeps and begins recording up to 20 seconds of audio.

                    
                    
                    
                    
                    • If the caller does not speak at all, the <Record> verb exits after five seconds of silence and falls through to the next verb in the document. In this case, it will fall through to the <Say> verb.
                    • If the caller speaks for less than 20 seconds and is then silent for five seconds, Twilio makes a GET request to the action URL. The <Say> verb is never reached.
                    • If the caller speaks for the full 20 seconds, Twilio makes a GET request to the action URL. The <Say> verb is never reached.

                    例 3: 録音のトランスクリプション

                    Twilio will record the caller. When the recording is complete, Twilio will transcribe the recording and make an HTTP POST request to the transcribeCallback URL with a parameter containing a transcription of the recording.

                          
                          
                          
                          

                          Hints and advanced uses

                          • Twilio は、録音の最初と最後の無音部分を取り除いて、音声ファイルを生成します。 このため、発信者が実際に録音した時間よりも、音声ファイルの再生時間が少し短くなる場合があります。
                          ページを評価:

                          ヘルプが必要ですか?

                          誰しもが一度は考える「コーディングって難しい」。そんな時は、お問い合わせフォームから質問してください。 または、Stack Overflow でTwilioタグのついた情報から欲しいものを探してみましょう。

                                
                                
                                

                                フィードバックくださりありがとうございます!

                                We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

                                Sending your feedback...
                                🎉 Thank you for your feedback!
                                Something went wrong. Please try again.

                                Thanks for your feedback!

                                Refer us and get $10 in 3 simple steps!

                                ステップ1

                                Get link

                                Get a free personal referral link here

                                ステップ2:

                                Give $10

                                Your user signs up and upgrade using link

                                ステップ3

                                Get $10

                                1,250 free SMSes
                                OR 1,000 free voice mins
                                OR 12,000 chats
                                OR more