How do I record a certain part of the call using Voice API?

Question

  • Why is my call stopping at the record action?
  • How do I record the entire call?
  • What is blocking state when using the record action?

Context

When using Voice API to record calls, different parameters in the Record action can change how the call is handled.

Answer

When using the record action in Voice API, the recording will record the entire call from time the action is started, unless there is a timeout or end parameter set. When a timeout or end parameter it set, the recording enters into a blocking state. When a timeout or end parameter is not set, then the recording is not in a blocking state.

Timeout and end parameters are endOnSilence, timeOut or endOnKey and when these are set in the record action, the call enters a blocking state and the recording will not end and proceed onto the next action until the parameter has been met. If "endOnKey": "#" is set, then the call will be recorded until from the point the record action starts until the # key is pressed. Once the recording has entered, the call will proceed to the next action.

If you need to record the entire call, the record action should be the first action in the NCCO, and there should be no timeout set. If you want to record everything at the last action and have the recording end on disconnect, then the record action should be the last action in the NCCO without a timeout set.

You can find examples in our documentation:
Voice API > NCCO Reference > Record

Voice API > Recordings

Please note - After your recording is complete, it is stored by Nexmo for 30 days.

Have more questions? Submit a request