Quickstart
- Client SDKs
- Examples
- Code Resources
Customization
- Provider Keys
- Custom LLM
- Custom Voices
- Custom Keywords
- Knowledge Base
- Multilingual
- JWT Authentication
- Speech Configuration
Core Concepts
- Assistants
- Blocks
- Server URL
- Phone Calling
- Squads
Advanced Concepts
Glossary
Community
- Videos
- My Vapi
- Expert Directory
Providers
- Voice
- Models
- Transcription
- Voiceflow
Security & Privacy
SIP
You can make SIP calls to Vapi Assistants.
1. Create an Assistant
We’ll create an assistant with POST /assistant
endpoint. This is no different than creating an assistant for other transports.
{
"name": "My SIP Assistant",
"firstMessage": "Hello {{first_name}}, you've reached me over SIP. How can I help you today?"
}
2. Create A SIP Phone Number
We’ll create a SIP phone number with POST /phone-number
endpoint.
{
"provider": "vapi",
"sipUri": "sip:your_unique_user_name@sip.vapi.ai",
"assistantId": "your_assistant_id"
}
sipUri
is the SIP URI of the phone number. It must be in the format sip:username@sip.vapi.ai
. You are free to choose any username you like.
4. Send SIP Headers to Fill Template Variables.
To fill your template variables, you can send custom SIP headers.
For example, to fill the first_name
variable, you can send a SIP header x-first_name: John
.
The header name is case insensitive. So, X-First_Name
, x-first_name
, and X-FIRST_NAME
are all the same.
5. Use a Custom Assistant For Each Call.
You can use a custom assistant for SIP calls same as phone calls.
Set the assistantId
to null
and the serverUrl
to the URL of your server which will respond to the assistant-request
.
PATCH /phone-number/:id
{
"assistantId": null,
"serverUrl": "https://your_server_url"
}
Now, every time you make a call to this phone number, the server will receive a assistant-request
event.
Was this page helpful?