# Browser Calling SDK

> Place real phone calls from a web page. Mint a short-lived token on your server, then connect with the drop-in dialer or the JavaScript SDK. Rs 1.50 per minute.

Source: https://edesy.in/docs/webrtc

Edesy browser calling lets a web page place real phone calls with no phone hardware. Your server exchanges your API key for a short-lived token at `https://webrtc.edesy.in/api/v1/token`. The page then connects with the drop-in dialer (one script tag) or the `@edesy/voice-sdk` JavaScript SDK and dials any number. Calls cost Rs 1.50 per minute, excluding 18% GST.

> **Ready to try it?** Sign in at [webrtc.edesy.in](https://webrtc.edesy.in), open the Developers page for your API key and integration URLs, and follow the [Quick Start](https://edesy.in/docs/webrtc/getting-started/quick-start).

## Facts

| Item | Value |
|---|---|
| Token endpoint | `POST https://webrtc.edesy.in/api/v1/token` (server-to-server, header `x-api-key`) |
| Drop-in dialer | `https://webrtc.edesy.in/sdk/edesy-dialer.js` |
| JavaScript SDK | `@edesy/voice-sdk`, or the hosted bundle `https://webrtc.edesy.in/sdk/edesy-voice.js` (global `EdesyVoice`) |
| Call controls | Call, hang up, mute, hold, send DTMF digits |
| NAT traversal | ICE servers are returned with every token |
| Price | Rs 1.50 per minute, 1-minute minimum, excluding 18% GST |

## How it works

1. **Your backend mints a token.** It calls the token endpoint with your API key and an `identity` for the user. See [Token Endpoint](https://edesy.in/docs/webrtc/sdk/token-endpoint).
2. **Your page connects.** It passes the token JSON (or your own token URL) to `connect()`, which resolves once the browser is registered.
3. **Your page calls.** `device.call("919876543210")` rings the number. The call object emits `ringing`, `answered` and `ended`.
4. **Or skip the code.** Paste the [drop-in dialer](https://edesy.in/docs/webrtc/drop-in-dialer) script tag and get a floating keypad.

## Also in this product

- A [click-to-call website widget](https://edesy.in/docs/webrtc/click-to-call-widget/embed): a visitor enters their number, gets a callback and is bridged to your team.

New to the product? See the [click-to-call overview](https://edesy.in/click-to-call).
