Set to VoIP
Forward your FlyNumber's incoming calls to any SIP/VoIP endpoint β your own PBX, a hosted VoIP provider, or an AI voice platform. Incoming minutes stay unmetered for regular FlyNumbers, and the audio never leaves the IP world (no PSTN per-minute charges on the inbound leg).
Toll-free and "Metered" FlyNumbers carry a per-minute incoming rate that applies no matter how you receive calls β VoIP forwarding, FlyNumber SIP, phone forwarding, or the phone system. See toll-free incoming rates for the current breakdown.
You can also opt the forwarding leg into TLS + SRTP encryption β see Encryption coverage below for what that protects and what it can't.
With AI voice agents now everywhere, FlyNumbers commonly point at platforms like VAPI, LiveKit, ElevenLabs, and Retell for automated customer interactions, appointment scheduling, and support flows.
Setting it upβ
You can pick SIP Address as your forwarding type two ways: when you first add a FlyNumber, or anytime afterwards from the number's detail page. Either way the form has four fields β Transport, Host, Port, and Username β and you click Save Settings.
When you add a FlyNumberβ
In the Add FlyNumber flow, the Call handling step asks how you want to handle incoming calls. Choose SIP Address, fill out the form (see the Field reference below), and continue. Every field is editable from the panel later.
From an existing FlyNumberβ
To switch a number to VoIP forwarding, or update the destination:
- Open My FlyNumbers in the sidebar (or panel.flynumber.com/my-flynumbers).
- Click the number you want to update.
- In the Call Handling card, select SIP Address.
- Fill out Transport, Host, Port, and Username (see the Field reference below).
- Click Save Settings.

The change takes effect as soon as you save. Active calls aren't interrupted.
Field referenceβ
The SIP Address form has four fields. Two are required (Transport, Host); two are optional (Port, Username).
Transport β UDP or TLSβ
- UDP is the default. Fastest path; works with the vast majority of SIP servers and softphones. Signaling and audio travel unencrypted.
- TLS encrypts the leg between FlyNumber and your endpoint. Signaling runs over TCP+TLS 1.2/1.3, and audio is encrypted with SRTP (using the standard SDES key exchange). Your SIP server must support SRTP for TLS to work β if it doesn't, the call fails to connect. See Encryption coverage below for the full picture.
Hostβ
Your SIP server's hostname or IP address. Accepted formats:
| Type | Example |
|---|---|
| Fully-qualified domain | pbx.example.com, sip.acme.com |
| IPv4 | 12.34.56.78 |
| IPv6 (bracketed) | [2001:db8::1] |
Single-label hosts like localhost or intranet are rejected β the host needs a proper TLD.
Enter your own PBX's address or your SIP provider's β never sip.flynumber.com in this field. That's FlyNumber's own server, where devices sign in with FlyNumber SIP credentials. To answer calls on a softphone like Zoiper or MicroSIP, use FlyNumber SIP instead.
Portβ
The port your SIP server listens on. The field is optional β the grey 5060 or 5061 in an empty field is only a placeholder. Leave this blank unless your destination uses a non-standard port. With Port blank, FlyNumber routes the call using the DNS records your SIP destination publishes β which is exactly what hosted services like sip2sip.info, Twilio Elastic SIP Trunking, voip.ms, and most modern providers expect.
Typing the standard ports β 5060 (UDP) or 5061 (TLS) β is treated the same as leaving Port blank. Only a non-standard port (e.g., 6060 on an internal PBX you've explicitly configured) overrides DNS routing and connects directly to that port on the Host.
| Setup | What to put in Port |
|---|---|
| Hosted SIP service (sip2sip.info, Twilio, voip.ms, etc.) | Leave blank |
| Self-hosted PBX on the standard port (5060/5061) | Leave blank |
| Self-hosted PBX on a non-standard port | The non-standard port, e.g., 6060 |
Entering a hosted SIP service's domain with a non-standard port. Hosted services route by DNS β if you hardwire a port that isn't standard, FlyNumber bypasses discovery and tries to connect directly to the domain's IP on your port. Most hosted-service domains don't answer SIP traffic at their public IP, so calls fail in about 100 milliseconds.
If you're using a hosted service, leave Port blank.
Why "leave Port blank" is the right default
SIP destinations publish DNS records (specifically SRV records) that tell calling systems where to actually deliver traffic. A hostname like sip2sip.info might resolve to multiple geographically distributed servers, with different ports for UDP, TCP, and TLS β and the SRV record describes all of that.
When the calling system has an explicit non-standard port in the URI, the SIP standard (RFC 3263) says skip the SRV lookup entirely and connect directly to the hostname's IP on that port. For most hosted services, that IP doesn't accept SIP at all (it's the website server). Leaving Port blank lets the destination's DNS routing do its job.
sip2sip.info's own documentation puts it bluntly: "You must never set manually a host address or transport... your device must use DNS lookups." This pattern is increasingly common because providers want to add servers, change regions, or rotate IPs without every customer having to update their settings.
Usernameβ
Optional. The user part of the SIP address that ends up in the outbound INVITE (the bit before the @). Leave it blank and FlyNumber uses your phone number as the username. Fill it in when your SIP server expects a specific username β common for extensions on a PBX, or named accounts on hosted services.
| Setup | What to put |
|---|---|
| Hosted SIP service (sip2sip, Twilio, etc.) | Your account username (the part before @ in your SIP address). Leave blank if you want FlyNumber to forward as your phone number. |
| Self-hosted PBX with extensions | The extension number (e.g., 101) |
| AI voice platform | Your FlyNumber in E.164 (e.g., +13025551234) β see the examples below |
Only letters, numbers, dot, underscore, plus, and hyphen are accepted (max 64 characters).
A + in Username reaches your server percent-encoded (sip:%2B13025551234@β¦). SIP servers such as Asterisk decode it back to +, so on a self-hosted PBX make the inbound route match the Username exactly, + included.
Encryption coverageβ
When you pick TLS as the transport, FlyNumber protects the call between us and your SIP server. Worth knowing exactly what that means.
What TLS gives you:
- Signaling β SIP messages between FlyNumber and your endpoint travel over TCP with TLS 1.2 or 1.3.
- Media β Audio (RTP) is encrypted with SRTP. Keys are exchanged via SDES β the most widely-supported form of SIP media encryption.
What TLS does NOT give you:
- Encryption from the original caller. The leg from the calling phone (cell tower, landline) through the public phone network to FlyNumber is unencrypted. This is a fundamental limitation of any service connected to the phone network β not specific to FlyNumber.
- Strict server certificate validation. We don't reject your server based on certificate hostname mismatches or self-signed certs. The TLS handshake just needs to succeed.
- Mutual TLS or SIP authentication. We connect anonymously. Your server can't verify FlyNumber's identity at the TLS layer, and we don't send Authorization headers in our INVITEs. If your server requires SIP digest auth, see Need authenticated SIP? below.
Compatible clients and serversβ
If your client or server supports SRTP or SDES (sometimes labeled "encrypted media" or just "SRTP" in the UI), it works with TLS forwarding. The major softphones and platforms all support it out of the box:
| Client / server | SRTP-SDES support |
|---|---|
| Linphone | β Built in |
| Bria (Counterpath) | β Built in |
| Zoiper | β Built in |
| MicroSIP | β Built in |
| Asterisk | β Configurable |
| FreeSWITCH | β Built in |
| 3CX | β Built in |
| FreePBX | β Configurable |
Not supported: ZRTP and DTLS-SRTP. Some softphones (a few Linphone builds, for example) try ZRTP first by default β if yours does, disable ZRTP and explicitly enable SDES in your client's media settings. Otherwise the call connects briefly and drops after a few seconds.
Need authenticated SIP? Use FlyNumber SIP insteadβ
Some providers and AI platforms expect a registered SIP connection rather than anonymous IP-based forwarding β meaning the connection has to log in with credentials before SIP traffic is accepted. The four fields above don't cover this case; they connect to your endpoint anonymously.
The cleanest workaround is to flip the relationship: instead of FlyNumber pushing calls out to a credential-protected endpoint, have your endpoint register to FlyNumber and pull calls down that registered connection. In the Call Handling card, pick FlyNumber SIP β we'll issue a set of SIP credentials your softphone, PBX, or AI platform can register with. No anonymous SIP exposure on your side, no IP whitelist to maintain.
See FlyNumber SIP for setup details.
- Your provider requires registered/authenticated SIP and doesn't accept anonymous traffic
- You're connecting an AI voice agent platform (VAPI, ElevenLabs, Retell, Bland AI) β many of these work either via URI-based forward-to-SIP (see the examples below) or registered SIP, and registered is often simpler to wire up
- You're connecting a hosted PBX that demands authentication
- You don't want to publish your SIP server publicly or maintain an IP whitelist