South Africa · ICASA

SIP Trunk in South Africa — Johannesburg, Cape Town or Durban Inbound + Outbound

A South Africa SIP trunk with real +27 South Africa DIDs, ICASA-compliant allocation, Johannesburg + Frankfurt ingress POPs, TLS:5061 with SRTP, every standard PBX integration. From $4.40/mo per DID plus per-minute usage, activation in Instant after KYC.

Real South Africa DIDs allocated through licensed carriers TLS + SRTP end-to-end 5–200 channel scale per trunk

1. What a SIP trunk in South Africa actually is

A SIP trunk is the IP delivery pipe between a carrier and your PBX, AI voice agent, or call-control platform; signaling over SIP, audio over RTP. A South Africa SIP trunk is the same thing carrying +27 South Africa DIDs allocated under ICASA.

DIDHub provides the trunk authentication and SIP transport; ICASA-compliant number allocation is coordinated through our in-region carrier partners. Your PBX or platform sees a standard SIP trunk; we handle the regulator-side paperwork.

2. South Africa regulation: ICASA, KYC, compliance

ICASA doesn't require KYC for standard South Africa number allocation. Activation is Instant.

What people typically use a South Africa SIP trunk for:

  • Sub-Saharan Africa entry, Johannesburg 011 numbers signal trust to South African and broader African enterprise buyers.
  • Cape Town tech presence, 021 is the standard for South African startups, fintech, and the Western Cape tech corridor.
  • National 087 VoIP, non-geographic single-number presence across South Africa, common for VoIP-friendly setups.
  • Toll-free 0800, free for South African callers, standard for premium customer service.
  • AI voice agents targeting SA, Johannesburg ingress + South African Caller ID gives noticeably better answer rates than international IDs.

South Africa's regulator ICASA (Independent Communications Authority of South Africa) does not require KYC for standard geographic, 087 VoIP, 086 shared-cost, or 0800 toll-free numbers. Activation is instant. South Africa is one of the easier African markets to operate in.

For the broader picture across countries, see our guide to international DID compliance & KYC bundles. For the SIP-trunk concept end-to-end, see the DID Number Provider guide.

3. Number types you can route over the trunk

DIDHub supports the standard South Africa number types over the SIP trunk:

CodeTypeNational dialingInternational dialingMobileFrom
011, 021, 031, 012 …Geographic011 XXXX XXXX+27 11 XXXX XXXXYes$4.40/mo + usage
087VoIP / non-geographic087 XXXX XXXX+27 87 XXXX XXXXYes$5.00/mo + usage
086Shared cost086 XXXX XXXX+27 86 XXXX XXXXYes$6.00/mo + usage
0800Toll-free0800 XXXX XXXX+27 800 XXXX XXXXNo$16.00/mo + usage

For a deeper look at how number types differ globally, see DID number types explained.

4. How DIDHub's SIP trunk works in South Africa

The technical surface of the trunk is standardised; the South Africa-specific choices are the POP, the codec list, and the failover topology.

Ingress POPs

  • Johannesburg (primary), lowest in-region latency to South Africa endpoints.
  • Frankfurt (failover), secondary route used if the primary path degrades.

Transport & security

  • TLS:5061 recommended for any production trunk; UDP allowed for legacy.
  • SRTP for media via DTLS-SRTP or SDES.
  • SIP authentication: digest registration (PBX behind NAT) or IP-ACL (static peering). See SIP authentication.

Codecs

  • G.711 a-law (PCMA), the African default.
  • G.722, wideband HD on capable endpoints.
  • Opus, for AI voice agents.

For the codec deep-dive, see voice codecs explained.

DTMF

  • RFC 4733 (telephone-events over RTP) is the default. SIP INFO and in-band DTMF available for legacy interop on request.

Channel concurrency

  • Trunks start at 5 concurrent channels and scale to 200 per trunk off the shelf. Larger requires a custom arrangement.
  • Channels are independent of DID count; you can carry 200 numbers on a 10-channel trunk if your concurrent-call peak is 10. See multiple concurrent calls on one DID.

STIR/SHAKEN

  • Not applicable. STIR/SHAKEN is US/Canada-only. African trust signals come through national regulator registration and operator-side caller-ID validation.

5. Outbound calling from your South Africa trunk

Outbound from a South Africa-allocated DID to South Africa destinations is allowed within approved use cases. The per-minute economics:

DestinationPer-minuteBilling incrementNotes
South Africa landline (geographic)$0.10/min1+1 secondStandard use cases
South Africa mobile$0.18/min1+1 secondStandard use cases
International from South Africa DIDPer destination rate1+1 secondSee global rates

Outbound caller-ID rules

  • Your outbound CLI must match a DID you've allocated through the trunk. Setting an arbitrary caller ID is rejected at the SBC.
  • Origin-based rating (OBR) applies on cross-border outbound, the regulated EEA tier may apply depending on the source carrier.
  • For multi-region operators, see origin-based rating savings.

6. Setup in 6 steps

Sign up & submit details

Create a DIDHub account, supply your business details and the intended use case for South Africa numbers.

Allocation through our South Africa carrier partner

Allocation through our in-region carrier; typically Instant.

Allocate DIDs & channel capacity

You pick the South Africa number types you need and how many. Channel capacity allocated at the same time.

Receive trunk credentials

SIP URI (defaults to sip.didhub.io, terminating to Johannesburg), digest username/password or IP-ACL details, TLS cert verification fingerprint, and your assigned DIDs.

Wire up your PBX or platform

Standard SIP trunk configuration on Asterisk, FreePBX, 3CX, Kamailio, OpenSIPS, or any modern stack. For Teams Direct Routing, Vapi, Retell, or other BYOC platforms, paste credentials into their BYOC config.

Test inbound + outbound

Place a test call to one of your DIDs from a South Africa mobile or landline; place a test outbound back. Confirm caller-ID resolves correctly, codec negotiates as expected, and audio quality is acceptable.

Asterisk pjsip example

; /etc/asterisk/pjsip.conf
[transport-tls]
type=transport
protocol=tls
bind=0.0.0.0:5061
cert_file=/etc/asterisk/keys/asterisk.crt
priv_key_file=/etc/asterisk/keys/asterisk.key
method=tlsv1_2

[didhub-south-africa]
type=auth
auth_type=userpass
username=YOUR_DIDHUB_USERNAME
password=YOUR_DIDHUB_PASSWORD

[didhub-south-africa]
type=aor
contact=sip:sip.didhub.io:5061;transport=tls
qualify_frequency=30

[didhub-south-africa]
type=endpoint
transport=transport-tls
context=from-didhub
disallow=all
allow=g711a,g722,opus
outbound_auth=didhub-south-africa
aors=didhub-south-africa
dtmf_mode=rfc4733
media_encryption=sdes
direct_media=no

3CX SIP trunk template snapshot

# 3CX -> SIP Trunks -> Add SIP Trunk -> Generic SIP Trunk
Trunk name:        DIDHub South Africa
Registrar:         sip.didhub.io
Transport:         TLS
Port:              5061
Authentication:    Register/Account based
Auth ID:           YOUR_DIDHUB_USERNAME
Auth password:     YOUR_DIDHUB_PASSWORD
Outbound caller ID: +27 ... (one of your allocated DIDs)
Codecs (priority):  G.711a / G.722 / Opus

7. Integration patterns

Every modern PBX, UC platform, and AI voice stack can authenticate against the trunk:

Microsoft Teams Direct Routing

Managed SBC-as-a-Service. The standard alternative to Microsoft Calling Plans for South Africa users.

See Teams DR →

Asterisk / FreePBX

Standard pjsip trunk config (snippet below). FreePBX trunk module maps cleanly to DIDHub's IP-ACL or registration modes.

Asterisk → · FreePBX →

3CX

Generic SIP trunk template with TLS:5061. Outbound caller ID per extension; per-DID inbound routing rules.

3CX guide →

AI voice agents (Vapi, Retell, ElevenLabs)

BYOC SIP trunk with Johannesburg ingress for tight latency. Bind specific South Africa DIDs to specific agents.

AI voice integrations →

Kamailio / OpenSIPS

Per-trunk DNID auto-correct, SRV-based POP failover (Johannesburg primary / Frankfurt failover).

Kamailio →

Softphones (Zoiper, Bria, Linphone)

Per-extension digest registration; useful for distributed support teams routing South Africa DIDs to remote agents.

Softphones →

Start your South Africa SIP trunk today

Live in Instant. Real South Africa DIDs, no setup fee after KYC, no contract.

8. Pricing

Four line items: per-DID monthly rental, per-minute inbound usage on every South Africa DID (even landline geographic numbers carry an inbound MOU charge in South Africa), channel capacity, and per-minute outbound. Setup is $0 once ICASA paperwork is approved.

Per-DID monthly

TypeFromNotes
Geographic (South Africa city codes)$4.40/mo + usageInbound per-minute applies; standard use cases
Non-geographic / national$24.00/mo + usageSubject to regulator allocation
Toll-free$16.00/mo + usageFree for callers; you pay inbound per-minute

Channel capacity

ChannelsMonthlySuited for
5Included with first DIDSMB / single office
25$95/moSmall contact centre, AI agent low concurrency
50$180/moMid-size contact centre, AI agent medium concurrency
100$330/moLarge contact centre, multi-tenant SaaS
200$580/moEnterprise; larger by arrangement

Per-minute outbound

See section 5 above and the full global rate sheet.

9. Porting an existing South Africa number

Existing South Africa number? Porting timeline is 2-4 weeks.

  • Typical port time: 2-4 weeks
  • Required documents: phone bill + LOA + ID + proof of address (ICASA requirements)
  • Cost: port-in fee per number; carrier-side fees may apply

For the full porting playbook (US/UK/EU + the global gotchas), see number porting explained.

10. FAQ

Which POP should I connect to for a South Africa SIP trunk?

Johannesburg is the recommended primary; Frankfurt is the standard failover. Both terminate to South Africa via in-region carriers.

How long does activation take for a South Africa SIP trunk?

Instant after KYC documents are accepted (or instantly where KYC isn't required). Provisioning the SIP side itself is hours, not days; the variability is on the ICASA/carrier side.

What codecs should I configure for a South Africa SIP trunk?

G.711a / G.722 / Opus as the negotiation list, in that order. G.711a is the regional default for South Africa interop.

Can I use my South Africa SIP trunk with Microsoft Teams?

Yes, via Microsoft Teams Direct Routing through DIDHub's managed SBC. See Teams Direct Routing.

Can I use my South Africa SIP trunk with AI voice agents (Vapi, Retell, ElevenLabs)?

Yes, BYOC SIP trunk works with every major AI voice platform. Bind specific South Africa DIDs to specific agents; outbound CLI must match an allocated DID.

How many concurrent calls can one South Africa DID handle?

The DID is an address; concurrent-call capacity is set by the channel count on the trunk. A 50-channel trunk with 1 DID can carry 50 concurrent calls to that one number; the same trunk with 200 DIDs can carry 50 concurrent calls across any combination of those numbers.

Does STIR/SHAKEN apply in South Africa?

N/A (regional construct). Trust signals come instead through national regulator registration and operator-side caller-ID validation.

Can I port my existing South Africa number to a DIDHub SIP trunk?

Yes. Typical South Africa port timeline is 2-4 weeks. Required documents vary by number type; contact us for the specific checklist. See number porting explained for the global picture.

What use cases get approved most easily?

Customer service inbound, opted-in callbacks, transactional 2FA, inbound AI voice agents, and Microsoft Teams Direct Routing for registered entities. Cold outbound, unsolicited SMS campaigns, and anonymous-relay setups are routinely rejected.

Start your South Africa SIP trunk today

Live in Instant. Real South Africa DIDs, every standard PBX and AI-voice integration, no setup fee after KYC, no contract.