This guide shows you how to set up and test SIP calls to your Vapi assistant using any SIP client or softphone. You’ll create an assistant, assign it a SIP phone number, and make a call using a SIP URI. You can also pass template variables via SIP headers.
Create an assistant with the POST /assistant endpoint. This is the same as creating an assistant for any other transport.
Create a SIP phone number with the POST /phone-number endpoint.
sipUri must be in the format sip:username@sip.vapi.ai. You can choose any username you like.
Use any SIP softphone (e.g., Zoiper, Linphone) to dial your SIP URI (e.g., sip:your_unique_user_name@sip.vapi.ai).
The assistant will answer your call. No authentication or SIP registration is required.
To fill template variables, send custom SIP headers with your call.
For example, to fill the first_name variable, send a SIP header:
Header names are case-insensitive (e.g., X-First_Name, x-first_name, and X-FIRST_NAME all work).
You can use a custom assistant for SIP calls just like for phone calls.
Set the assistantId to null and the serverUrl to your server, which will respond to the assistant-request event.
PATCH /phone-number/:id
Now, every time you make a call to this phone number, your server will receive an assistant-request event.