OpenAI has announced that outbound SIP calling is now available to all organizations, enabling integration of incoming and outgoing phone calls with GPT-Live through a SIP trunk. This feature allows providers to exchange call audio with OpenAI while backends handle session configuration, call controls, and business logic. SIP signaling uses TLS, and GPT-Live requires SRTP for call audio.
To handle inbound calls, users must receive an incoming-call webhook, verify the signature, and then accept or reject the call. For outbound calls, a session must be created to dial a phone number through a provider. A sideband connection is recommended when the backend needs to receive session events or send commands, attaching to the existing conversation while SIP carries the audio. OpenAI emphasizes assigning one handler per action to prevent duplicate webhook deliveries or events from executing tools twice across multiple connections.
The process begins with configuring a SIP trunking provider, such as Twilio, to connect a phone number to GPT-Live. After purchasing a number, users must create a webhook endpoint subscribed to `live.transport.incoming` in their OpenAI project settings. The provider's SIP trunk is then pointed at `sip:$PROJECT_ID@sip.api.openai.com;transport=tls`, or the European variant for data residency. When a call is received, OpenAI sends a `live.transport.incoming` event to the webhook, which includes a `session_id` to be used unchanged for Live call actions. Users must accept calls via an authenticated POST request, selecting the voice and delegation mode. Successful acceptance returns a 200 OK with an empty body after session initialization.
Source: Hacker News · Summarized by HeadlinesBriefing