Skip to main content

Connecting via SIP

Bluejay supports direct SIP (Session Initiation Protocol) connectivity, allowing you to bypass the traditional PSTN (Public Switched Telephone Network) and establish direct connections to your voice agents. This approach provides enhanced control, reduced latency, and access to rich call metadata through custom headers.

What is SIP?

SIP (Session Initiation Protocol) is a signaling protocol used for initiating, maintaining, and terminating real-time communication sessions. Unlike traditional PSTN calls that route through telephone networks, SIP enables direct IP-based communication between endpoints.

How SIP Calls Connect

When you configure your agent for SIP connectivity, the call flow works as follows:
  1. SIP Invite: Bluejay sends a SIP INVITE request to the voice agent endpoint
  2. Header Injection: Bluejay automatically injects custom headers, including the X-Simulation-Result-Id
  3. Session Negotiation: SIP protocols negotiate audio codecs, media parameters, and connection details
  4. Media Stream: Direct RTP (Real-time Transport Protocol) audio streams are established
  5. Call Handling: Your agent processes the call with full access to SIP headers and metadata

X-Simulation-Result-Id Header

Bluejay automatically injects a critical header into every SIP INVITE request:
This header contains a unique identifier that links the specific call session to Bluejay’s simulation and evaluation system.

Header Usage in SIP INVITE

When your SIP system receives an incoming call from Bluejay, the complete SIP INVITE will include:

Extracting the Header

Your SIP infrastructure can extract this header during call setup:
Using this header, you can now enrich your simulation evaluations by calling the /v1/update-simulation-result endpoint. For more information, see the Tool Calls & Metadata documentation. You can also link OpenTelemetry traces to simulation results using the same endpoint.

Integrations Guides

OpenAI Realtime over Twilio SIP

Twilio SIP domain in front of an OpenAI Realtime agent, with tool calls and traces reported back.

LiveKit via SIP

Inbound trunk and dispatch rule on your LiveKit project, with header forwarding for the result id.

Vapi via SIP

Dial a Vapi SIP URI and read the result id from the end-of-call report.
For any further technical support with SIP configuration or integration questions, ask in our Slack community.