Skip to main content

Getting started

This page covers how to get a trunk and what your PBX or SBC needs to support to use it.

What you need​

  1. A Superfone account with a funded wallet. Trunk calls are paid from it. See Limits and billing.
  2. At least one Superfone number that is in service. You attach numbers to your trunk. A number that is on hold or refunded cannot be attached.
  3. A SIP server you control that can be reached from the internet on a public IPv4 address or a public hostname. Private addresses (for example 10.x.x.x or 192.168.x.x) and IPv6 addresses are not accepted. See Allowed SIP hosts for the full rules.

Get a trunk​

  1. Ask for SF Trunk. Email hello@superfone.in with SF Trunk in the subject. Tell us your company, your use case, which PBX or platform you use, and your expected concurrent calls and calls per second.
  2. Create the trunk. Superfone can create it for you, or you can create it with the SF Trunk API. Either way you get the trunk's label and its FQDN, <label>.sft.superfone.co.in.
  3. Give us your SIP server. This is the public host and port where we deliver inbound calls. The port defaults to 5060. You can also give a fallback server that we try when the primary is down.
  4. Attach your numbers. Attach one or more of your Superfone numbers to the trunk. See Inbound calls.
  5. Superfone sets your limits. A trunk you create is active straight away. We set your organisation's CPS and concurrent-call limits to match what you bought.
  6. Point your PBX at the FQDN and make a test call in each direction.
Limits and suspension are handled by Superfone

You cannot change your organisation's limits, or suspend or activate a trunk, yourself. Email hello@superfone.in for any of these. You can set lower limits for one trunk. See Capacity limits.

Manage your trunk​

ActionAccount owner or managerSuperfone
Create a trunkYesYes
List trunks and view a trunk with its numbersYesYes
Change the SIP host and port for inbound callsYesYes
Change the SIP transport for inbound calls. The setting accepts udp, tcp or tls. udp and tcp are supported today, tls is not. See TransportYesYes
Turn call recording on or off for the trunk, or leave it to each number's settingYesYes
Attach and detach numbersYesYes
Delete a trunkYesYes
Activate or suspend a trunkNoYes
Set the organisation's CPS and concurrent-call limitsNoYes
Set a trunk's own CPS and concurrent-call limits, up to the organisation'sYesYes

The label and FQDN never change. Deleting a trunk detaches all its numbers, and they go back to working like any other Superfone number.

The account owner or a manager makes these changes with the SF Trunk API, or your own systems make them with an API key. To get an API key, see Authentication. For the changes only Superfone can make, email hello@superfone.in.

Supported software and hardware​

SF Trunk works with standards-based SIP (RFC 3261) systems that can:

  • send outbound calls to a SIP domain name (your trunk FQDN),
  • receive inbound calls on a public address, and
  • use G.711 audio.

That covers most IP PBXs, SBCs, softphones and voice AI platforms that accept a SIP trunk.

Supported SIP methods​

SupportedNot supported
INVITEREGISTER
ACKSUBSCRIBE
BYEINFO
CANCELMESSAGE
OPTIONSPRACK
UPDATEPUBLISH
REFER (call transfer to Superfone app, see Call transfer to Superfone app)

Your PBX does not register with SF Trunk. Set the trunk up as a static peer with registration turned off. A REGISTER gets 405 Method Not Allowed. Your PBX can transfer a call to a Superfone app user with REFER. See Call transfer to Superfone app.

You can send OPTIONS to your trunk FQDN to check that it is reachable. We answer 200 OK.

Supported codecs​

SF Trunk supports G.711 only:

CodecSDP namePayload type
G.711 A-lawPCMA8
G.711 µ-lawPCMU0

We do not transcode. Always include PCMA in your offer. It is the codec we have tested end to end with Indian carriers. Do not offer PCMU on its own.

Transport​

Today
SignallingSIP over UDP or TCP
Port5060
MediaRTP

Your trunk's transport setting for inbound calls, customer_sip_transport in the API, accepts udp, tcp or tls. udp and tcp are supported today. tls is not. udp is the default and the simplest place to start.

For outbound calls, your PBX can send to your trunk FQDN over UDP or TCP.

Your firewall must accept the transport you choose

Whichever transport you set, your firewall must accept SIP from our signalling addresses over that transport. If you set tcp on the trunk but your firewall does not accept TCP from us, inbound calls never reach your server. The caller hears no audio, and the call fails after about ten seconds, not straight away. Open TCP in your firewall, or set the trunk back to udp.

The transport covers SIP signalling only. Media is still RTP, so keep accepting it from our media addresses. See Inbound calls fail on the transport you chose.

TLS for signalling and SRTP for media are on the roadmap.

Network addresses to allowlist​

If your firewall only accepts SIP and RTP from known addresses, allow the following. If your platform accepts calls from any address, you do not need this.

TrafficAddressesPorts
SIP signalling35.200.210.2195060 (UDP or TCP, matching your trunk's transport)
Media (RTP)35.200.224.25520000 to 60000 (UDP)

SIP arrives from the signalling address on port 5060. Media arrives from the media address over UDP, on a source port between 20000 and 60000; the destination port is the one your server advertises in its SDP.

Use the addresses on this page

Do not allowlist addresses you find from DNS lookups or packet captures. Use the addresses on this page, and configure your PBX with your trunk FQDN, not an IP address.

Internet bandwidth​

G.711 carries 64 kbit/s of audio. With packet overhead, plan for about 100 kbit/s in each direction for each concurrent call.

For example, 50 concurrent calls need about 5 Mbit/s up and 5 Mbit/s down.

Calls per second and concurrent calls​

Org-limits release

Organisation call limits, and trunk limits you can set, ship with the org-limits release.

Your organisation has limits, set by Superfone to match the capacity you bought. All your trunks and SFVoPI apps share them:

  • CPS: new calls per second.
  • Peak CPS: the most new calls in one burst.
  • Concurrent calls: calls in progress at once.

You can give a trunk its own lower limits. By default it has none.

Inbound and outbound calls count against the same limits. A call over a limit is refused immediately, not queued. Details in Limits and billing.

Next Steps​