Call Recording
Record Outbound Calls
Use therecord parameter in the Make Call API.
Record Inbound Calls
Use the<Record> XML element in your answer URL response.
Record Both Legs
For calls bridged with<Dial>, use the record attribute on the Dial element.
Recording Storage
- Recordings stored on Plivo servers
- Access via API or console
- Download URLs provided in callbacks
Delete Recordings
Use the Recording API with the recording ID:Transcription
Plivo can automatically transcribe recordings.| Feature | Support |
|---|---|
| Languages | English only |
| Other languages | Not transcribed |
| Blank transcription | May occur for short recordings (<19 seconds) |
Text-to-Speech (TTS)
Convert text to spoken audio using the<Speak> XML element.
Supported Features
- Multiple languages and voices
- SSML markup for pronunciation control
- Speed and pitch adjustments
Usage
Speech-to-Text (STT) / ASR
Automatic Speech Recognition transcribes caller speech in real-time.Use Cases
- IVR systems with voice commands
- Voice search
- Transcription during calls
Supported Languages
Check ASR documentation for current language support.Integration
Configure ASR in your application’s XML response or via streaming.Answering Machine Detection (AMD)
Detect whether a call is answered by a human or machine (voicemail, IVR).Detection Types
| Result | Meaning |
|---|---|
| Human | Live person answered |
| Machine | Voicemail or automated system |
| Unknown | Detection inconclusive |
Configuration
Enable AMD in the Make Call API with:machine_detection: Enable/disablemachine_detection_time: Detection window (ms)machine_detection_url: Callback URL for results
Best Practices
- Use async mode to avoid call delays
- Handle “unknown” results gracefully
- Test with your specific call patterns
Conference Calling
Create multi-party audio conferences.Create a Conference
Use the<Conference> XML element:
Conference Features
| Feature | Description |
|---|---|
| Mute/Unmute | Control participant audio |
| Hold | Place participants on hold |
| Recording | Record entire conference |
| Callbacks | Events for join, leave, speak |
Manage Conferences
Use the Conference API to:- List active conferences
- Kick participants
- Mute/unmute members
- Play audio to conference
Audio Streaming
Stream real-time call audio to external services.Use Cases
- Live transcription services
- Real-time analytics
- AI/ML processing
- Custom recording solutions
Setup
Use the<Stream> XML element to connect to a WebSocket endpoint:
Stream Data
- Audio format: PCM (configurable)
- Bidirectional streaming supported
- Metadata included in stream
Number Masking (Sessions)
Connect two parties without revealing their phone numbers.How It Works
- Create a session with two parties (Party A and Party B)
- Plivo assigns a virtual number
- When Party A calls the virtual number, it connects to Party B
- Neither party sees the other’s real number
Use Cases
- Ride-sharing (driver ↔ passenger)
- Delivery services (courier ↔ customer)
- Marketplaces (buyer ↔ seller)
- Dating apps
Session Management
Create and manage sessions via the Sessions API.Key Parameters
| Parameter | Description |
|---|---|
virtual_number | Plivo number used as proxy |
first_party | Phone number of Party A |
second_party | Phone number of Party B |
session_expiry | Session duration |
virtual_number_cooloff_period | Time before number can be reused |
force_pin_authentication | Require PIN to connect |
Session with Single Party
Create sessions where only one party is defined initially—the second party can be added later.Update Party Details
Modify party information in active sessions via API.Costs
Replacing sub-optimal numbers or extending sessions may incur additional charges.Voice Alerts
Monitor call traffic and application health.Alert Types
| Alert | Trigger |
|---|---|
| Call failure spike | Unusual increase in failed calls |
| Invalid XML | Application returning malformed XML |
| High latency | Response time exceeds threshold |
| Traffic anomaly | Unusual call patterns |
Configure Alerts
- Navigate to Voice > Settings > Alerts
- Enable alert types
- Configure thresholds
- Set notification preferences
DTMF
Dual-Tone Multi-Frequency tones for IVR navigation.Capture DTMF Input
Use the<GetDigits> XML element:
Send DTMF
Use the DTMF API to send tones during a call.Limitations
- DTMF not supported in China
- Supported format: RFC-2833