Enabling SIP/PSTN Dial-in & Dial-out for your Domain
- Ensure your Daily account is a paid account (add a credit card in the dashboard)
- We've removed the requirement for a paid-support plan for SIP and PSTN dial-in, it is now available for all pay-as-you-go accounts. You just need to have a credit card associated to your domain.
- Daily supports multiple SIP and PSTN connects per room, the default is
max_sip_pstn_sessions_per_room=5
. Please write to Daily Support (help@daily.co) to increase this default number. - For Dial-out, Daily support will need to manually approve your request. This is to avoid fraud and misuse. Once approved, you will be able to set
enable_dialout
on your rooms.
SIP
Daily supports both SIP dial-in and dial-out. In addition to making SIP Audio calls, we also support SIP Video. Read the docs to make and receive SIP calls. We've tested SIP to work with CPaaS vendors (Twilio, Telnyx, SignalWire) and SIP hardware phones from Poly, Cisco.
PSTN Phone numbers
A Public Switched Telephone Network is a combination of telephone lines, cellular, and satellite links. A PSTN phone number typically identifies a user or business, and the ITU-T's E.164 standard defines phone numbers in a single global address space.
Global Dial-in Phone Numbers
You can receive PSTN calls on your Daily domain without buying a phone number. Daily has procured phone numbers in 27 countries that are part of our Global phone numbers directory, including all major European countries, Japan, Singpore, Malaysia, India, China, Hong Kong, Brazil, and Mexico.
In this case, each Daily room is provisioned with a unique 11 digit dial-in PIN Code that is generated when a room is created and deleted when the room expires.
Countries:
Access to the other 25 countries requires subscribing to one of the paid support plans.
Purchasing Phone Numbers
For customers that need unique business phone-numbers, Daily's REST API now supports Purchasing phone-numbers along with other features: releasing a phone number and listing all purchased phone numbers. Lastly, we allow searching for a unique number by area code, containing certain strings (e.g., +1650DAILY00). Currently, our purchasing API only supports phone numbers in the USA and Canada region (with +1 international dialing code).
A single phone number can send and receive hundreds of simultaneous calls. Nonetheless, there are no restrictions on the number of phone numbers you can buy.
Any purchased number can be used for PSTN dialout. However, a number can only be either used for Pinless Dialin or PIN Dialin.
PSTN Dial-in
We support two methods of PSTN Dial-in:
- Dialin with a PIN code. This works with both the Global phone numbers and any number that you purchased. When a call comes into one of the phone numbers, the dialer must enter the PIN code. If the code is correct, the user will be connected to the Daily Room. Otherwise the incoming call will be disconnected if an incorrect PIN code is entered.
- SIP Interconnect and Pinless Dialin,i.e., without entering a PIN code when dialling a phone number or directly calling a Daily SIP Interconnect address. In this case you dont need a SIP address associated to a particular Daily Room. When a call comes in to this phone number or to the sip interconnect address, it will trigger a webhook, where you'll need to create the Daily room and forward the call to the
sipUri
assocaited to the newly created room. The Pinless Dialin only works with purchased phone numbers, because the call is not intended for a particular Daily room. Read more details on our dosc-site.
PSTN Dial-out
A Daily call can dialout to a mobile or PSTN phone number. The API can be invoked from within the client libraries or via the REST API
startDialOut()
in daily-js, daily-python/rooms/:name/dialOut/start
Use DTMF Tones in Calls
Dual tone multi-frequency (DTMF) is used to mimic touch-tone phones, it was used to send a command to the telephony switch, however, because it traverses end-to-end, it is often used to make a selection or choice. Typically, used in IVRs.
In the current implementation, DTMF message are sent as tones encoded in-band in the voice channel along with a separate RTP telephone event as defined in RFC2833/RFC4733. We do not support sending DTMF via SIP INFO message, RFC6086
In addition, our DTMF implementation can not receive DTMF from the PSTN/SIP connection into the Daily Room. However, a forthcoming release will implement receiving DTMF messages, which will trigger an app-message
.
The API can be invoked from within the client libraries or via the REST API
sendDTMF()
in daily-js/rooms/:name/dialOut/sendDTMF