Skip to main content
Call your Photon number and have your agent answer. Photon connects the phone network to your agent over SIP; ElevenLabs runs the voice conversation. You do not stream phone audio through the messaging HTTP endpoint. This walkthrough starts with incoming calls only. You do not need to enable outbound calling or generate an outbound SIP password to receive your first call.

Before you start

  • A Photon project you can configure, with an eligible SMS number or dedicated iMessage or WhatsApp number. Shared lines cannot take calls.
  • An ElevenLabs account and a voice agent you can publish.
  • A separate phone to call your Photon number.
Number availability, subscription requirements, and call usage can incur costs. Review plans and billing and the purchase confirmation before acquiring a number. If you already have an eligible number, reuse it.
1

Prepare an agent that can hold a conversation

In ElevenLabs, create an agent using its agent quickstart. Choose its voice, set a first message such as Hello, I’m your test agent. What would you like to try?, and give it a small job, such as answering questions about a fictional coffee shop.Use Preview in the agent editor. Ask a question, hear its response, and publish the version you want callers to reach. Fix the agent here before troubleshooting the phone connection.
2

Find your Photon number and its Voice profile

Select your Photon project and open Voice. Find your number under Lines. If it is missing, confirm it is voice-capable; a shared iMessage assignment is not an eligible number.If there is no default profile, select Set up default, choose SIP, and select Create profile. If your number already uses a profile, open that profile instead.
Photon Create the default profile form with SIP selected and Create profile available.

Create the default SIP profile before adding other profiles. Dashboard preview with sample data.

The default applies to numbers without an additional profile. An additional profile affects only numbers assigned to it. Check the number’s assignment and the profile’s Lines count before editing: the change affects new calls on every line using that profile.
3

Import the number into ElevenLabs

In ElevenLabs, open Deploy → Phone Numbers, select Import number, then From SIP Trunk. Enter a label you recognize and your Photon number in international format, including + and the country code.Configure Inbound Configuration for the calls arriving from Photon. Use Allowed for media encryption to match Photon’s Auto setting. If you enable inbound SIP authentication in ElevenLabs, save that username and password: you must enter the same pair in Photon next.These are ElevenLabs inbound credentials, not a Photon API key or a Photon outbound SIP password. Leave outbound configuration disabled for this incoming-only test.Save the imported number, then select your published agent in its Agent dropdown. If Branch appears, choose the version or traffic split you intend callers to reach. A number with No agent will not run your conversation.For the provider’s current import fields and security options, see ElevenLabs SIP trunking.
4

Point Photon at the agent's SIP destination

Return to the Photon Voice profile used by the number. Under Inbound calls, select Enable inbound if needed. Configure:
Photon Inbound calls destination set to sips:sip.rtc.elevenlabs.io:5061 with TLS selected.

The ElevenLabs receiving destination with TLS selected. Dashboard preview; a saved address alone does not verify call delivery.

Complete Enable inbound for a new configuration. For an existing destination, edit the field and move focus out of it to save. Confirm the saved address and TLS remain visible. If required by the provider, add its inbound credentials using Add or Replace beside the credential row.TLS protects SIP signaling. Requiring encrypted audio is a separate policy; if you require it, enable Require encrypted calls in Photon and Required media encryption in ElevenLabs, with matching support in both directions.
5

Call the agent from another phone

Dial your Photon number. Listen for the greeting, ask your test question, and confirm the agent hears you and responds audibly. End the call.In Photon, check Voice → Recent calls for the attempt and its final status. In ElevenLabs, check the conversation for the selected agent. A saved SIP destination is not proof of a working call: verify audio in both directions and that the call ends normally.

Read the configuration from your application

The voice conversation runs in the provider, but you can inspect its Photon routing with any published API client. Complete project setup with platforms:read, copy the Profile id from this Voice profile, and set:
Save the example as voice.ts, voice.py, src/main.rs, or main.go in the directory you prepared in project setup. These are API-client calls, not audio streaming or a replacement for your provider’s agent code.
The returned destination confirms what is saved in Photon, not whether the remote agent answered. Keep the phone-call check above as your success test.

If the call does not work

Keep the attempt time, Photon call ID, provider conversation ID, and any SIP error when asking for help. Do not include passwords or API keys.

Keep building

Add outgoing ElevenLabs calls

Configure the separate Photon outbound credential and test outgoing calls.

Use another voice provider

Follow the LiveKit, Retell, or Twilio walkthrough for your agent stack.

Add iMessage

Give your agent a text conversation alongside phone calls.

Add email

Receive and reply to email on your own domain.