Documentation Index
Fetch the complete documentation index at: https://plivo.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Frequently asked questions about Plivo’s SDKs, SIP endpoints, WebRTC integration, and browser/mobile calling.
What SDKs does Plivo provide?
| Platform | Use Case |
|---|
| Web (JavaScript) | Browser-based calling |
| iOS | Mobile app calling |
| Android | Mobile app calling |
| Node.js, Python, Ruby, PHP, Java, .NET, Go | Server-side integration |
What are server-side SDKs used for?
- Making API calls
- Generating XML responses
- Managing resources (numbers, applications, recordings)
What are client-side SDKs used for?
- Browser-based calls (WebRTC)
- Mobile app integration
- SIP endpoint functionality
How do I create a SIP endpoint?
- Navigate to Voice > Endpoints
- Click Add New Endpoint
- Enter username and password
- Attach to a Plivo application
- Save
What credentials does an endpoint have?
| Field | Description |
|---|
| Username | Unique identifier |
| Password | Authentication credential |
| Alias | Friendly name (optional) |
| Application | Plivo app handling calls |
How do I register an endpoint with a SIP client?
Configure your SIP client with:
- SIP URI:
sip:<username>@phone.plivo.com
- Domain:
phone.plivo.com
- Username and password from console
Can I register the same endpoint on multiple devices?
Yes. The same endpoint can register on multiple devices. Incoming calls ring all registered devices.
What softphones are supported?
- Zoiper
- X-Lite (Bria Solo Free)
- Linphone
- Any SIP-compliant client
How do I set up WebRTC browser calling?
- Include the Plivo Browser SDK
- Create an endpoint in console
- Initialize SDK with endpoint credentials
- Handle call events
Example:
const plivoBrowserSdk = new window.Plivo.Client({
debug: false,
permOnClick: true,
});
plivoBrowserSdk.login(username, password);
plivoBrowserSdk.call(destination);
plivoBrowserSdk.answer();
plivoBrowserSdk.hangup();
What events does the Browser SDK provide?
| Event | Description |
|---|
onLogin | Login successful |
onLoginFailed | Login failed |
onIncomingCall | Incoming call received |
onCallAnswered | Call connected |
onCallTerminated | Call ended |
What are WebRTC browser requirements?
- Users must grant microphone access
- HTTPS required (secure context)
- PreAnswer not supported
What are the iOS SDK requirements?
- iOS 10.0+
- Xcode
- CallKit integration (optional)
Installation:
What are the Android SDK requirements?
- Android API 21+
- Android Studio
Installation (Gradle):
implementation 'com.plivo.endpoint:endpoint:x.x.x'
| Platform | Service |
|---|
| iOS | APNs (Apple Push Notification service) |
| Android | FCM (Firebase Cloud Messaging) |
What causes registration failures?
Incorrect credentials. Verify username/password in the console.
Why am I not receiving incoming calls on my endpoint?
The application is not linked to the endpoint. Attach endpoint to application.
What causes one-way audio?
Firewall blocking media ports. Open required ports.
What ports are required for SIP endpoints?
| Type | Ports |
|---|
| SIP Signaling | 5060 (UDP/TCP), 5061 (TLS) |
| Media (RTP) | 10000-30000 (UDP) |
What are SDK security best practices?
- Never expose Auth ID/Token in client-side code
- Use endpoint credentials for browser/mobile SDKs
- Implement server-side validation
- Initialize SDK once, reuse instance
- Handle reconnection gracefully
- Implement proper error handling
What are SDK user experience best practices?
- Request permissions before call attempt
- Show clear call state indicators
- Handle network changes smoothly