Outbound calls (termination)
Your PBX sends a call to your trunk FQDN. We check it and connect it to the Indian phone network.
Address the call
Send an INVITE over UDP or TCP to port 5060 of your trunk FQDN, with this Request-URI:
sip:+<number in E.164>@<label>.sft.superfone.co.in
For example, to call +91XXXXXXXXXX on the trunk a1b2c3d4.sft.superfone.co.in:
INVITE sip:+91XXXXXXXXXX@a1b2c3d4.sft.superfone.co.in SIP/2.0
The called number must be in E.164 format with a leading + and the country code. We do not rewrite numbers:
| You send | Result |
|---|---|
+91XXXXXXXXXX | Accepted |
91XXXXXXXXXX | Refused with 400 Bad Request |
0XXXXXXXXXX | Refused with 400 Bad Request |
XXXXXXXXXX | Refused with 400 Bad Request |
Use your trunk FQDN exactly as issued, in lowercase. The match is case-sensitive, so A1B2C3D4.sft.superfone.co.in does not reach the same trunk.
Configure your PBX with the FQDN, not with an IP address.
Your trunk FQDN, together with one of its attached numbers, is what identifies your trunk today. Do not publish it in public repositories, screenshots or support forums.
If you think it has leaked, delete the trunk and create a new one. A new trunk gets a new label and FQDN, so update your PBX to point at it.
Caller ID
The caller (the user part of the From header) must be one of the numbers attached to your trunk, in E.164 format with +:
From: <sip:+91XXXXXXXXXX@a1b2c3d4.sft.superfone.co.in>;tag=...
We refuse the call if:
- the
Fromnumber is not attached to your trunk, - the number is attached to a different trunk from the one in the Request-URI, or
- your trunk is suspended.
We pass your From number to the carrier as the caller ID. What the called person sees on their phone: TBD. Confirmed at onboarding.
Destinations
SF Trunk supports calls to Indian phone numbers only (+91). Do not send calls to other countries.
Example configuration
These are examples. Adapt them to your system. Replace a1b2c3d4 with your label. In the caller ID settings, replace +91XXXXXXXXXX with one of your attached numbers.
- Any SIP system
- Asterisk (PJSIP)
- Asterisk (chan_sip)
| Setting | Value |
|---|---|
| Trunk type | Static peer, no registration |
| SIP server / proxy | a1b2c3d4.sft.superfone.co.in |
| Port | 5060 |
| Transport | UDP or TCP. TLS is not supported. See Transport |
| Authentication | None |
| Called number format | + and country code, for example +91XXXXXXXXXX |
| Caller ID / From user | One of your attached numbers, for example +91XXXXXXXXXX |
| From domain | a1b2c3d4.sft.superfone.co.in |
| Codecs | PCMA first, optionally PCMU |
; pjsip.conf
[superfone]
type=aor
contact=sip:a1b2c3d4.sft.superfone.co.in:5060
[superfone]
type=endpoint
transport=transport-udp
aors=superfone
context=from-superfone
disallow=all
allow=alaw
from_user=+91XXXXXXXXXX
from_domain=a1b2c3d4.sft.superfone.co.in
; extensions.conf
[from-superfone]
exten => _+91XXXXXXXXXX,1,Dial(PJSIP/${EXTEN}@superfone)
transport-udp is the name of your UDP transport section.
; sip.conf
[superfone]
type=peer
host=a1b2c3d4.sft.superfone.co.in
port=5060
transport=udp
context=from-superfone
disallow=all
allow=alaw
fromuser=+91XXXXXXXXXX
fromdomain=a1b2c3d4.sft.superfone.co.in
insecure=port,invite
qualify=yes
; extensions.conf
[from-superfone]
exten => _+91XXXXXXXXXX,1,Dial(SIP/${EXTEN}@superfone)
When a call is refused
| Response | Usual cause |
|---|---|
400 Bad Request | The called number is not in E.164 format with + |
403 Forbidden | The caller is not one of your trunk's numbers, the trunk is suspended, or your wallet balance is below ₹200 |
404 Not Found | The Request-URI host is not a valid trunk FQDN |
480 Temporarily Unavailable | The caller is not a Superfone number |
503 Service Unavailable | The trunk, or your organisation, is at its CPS or concurrent-call limit, or the call could not be placed right now |
Organisation call limits ship with the org-limits release.
The full list is in Troubleshooting.
Recording and call records
Outbound trunk calls are recorded according to your trunk's recording setting. When the trunk has none, which is the default, they follow the call recording setting of the number you call from. Each call produces a Superfone call record with your trunk FQDN on it. See Limits and billing.
Next Steps
- Inbound calls: receive calls for your numbers
- Limits and billing: CPS, concurrency and the wallet
- Troubleshooting: every refusal and what to do about it