Key Takeaways
The ‘0’ in South African phone numbers is a trunk prefix for national calls.
It must be omitted for international dialling.
VoIP and PBX platforms must handle this logic via number translation rules.
Always use E.164 format in internal databases to ensure consistent routing.
Business systems (CRMs, auto-diallers) should be tested to handle both formats correctly.
Most South Africans instinctively start phone numbers with a ‘0’, whether it’s 021 for Cape Town or 082 for mobile. But few stop to ask why it’s needed—or what happens when you leave it out.
In this article, we explore:
The purpose of the ‘0’ prefix in South African phone numbers
How it affects VoIP systems and call routing
What happens when you dial internationally
Practical advice for businesses using VoIP or hosted PBX solutions
📇 South Africa’s Dialling Format: An Overview
South Africa uses a closed numbering system, meaning you must always dial the full number, including the area or service code—even for local calls. The ‘0’ at the beginning of most numbers is called a trunk prefix. It signals that the call is national rather than local or international.
Common South African Prefixes:
| Type | Example Prefix | Use Case |
|---|---|---|
| Geographic | 021, 031, 011 | Landlines linked to regions |
| Non-Geographic | 087 | VoIP, virtual PBX |
| Mobile | 060–082 | Cellphones across all networks |
| Toll-Free | 0800 | Customer service & inbound call centres |
| Shared-Cost | 0860 / 0861 | National business lines |
When dialling from within SA, the ‘0’ tells the network to route the call domestically.
📜 A Brief History of the ‘0’ Prefix
The use of the ‘0’ trunk prefix in South Africa dates back to the 1970s, when the national telephone system began modernising from manual switchboards to automatic exchanges. As the South African Post Office (which managed telecoms at the time) rolled out Subscriber Trunk Dialling (STD), the ‘0’ prefix was introduced to signal long-distance, non-local calls. This format aligned with ITU-T recommendations to standardise international telecommunications. While the local telecoms landscape has evolved—especially with the rise of VoIP—the ‘0’ still remains embedded in domestic numbering conventions.
Why the ‘0’ Matters
Without the trunk prefix, your call might:
Fail to connect on legacy systems
Route incorrectly on VoIP platforms
Misfire international dialling logic
This becomes particularly problematic when using:
CRM-integrated click-to-call tools
VoIP or cloud PBX systems
Custom mobile apps with built-in diallers
🌐 What About International Calls?
Here’s where the logic flips.
When calling South African phone numbers from abroad, the ‘0’ must be dropped, and the international dialling code for South Africa—+27—used instead.
Example:
From SA (national call):
011 234 5678From outside SA:
+27 11 234 5678(without the ‘0’)
The ‘0’ is only meaningful inside South Africa. International telecommunications standards (E.164 format) require country codes instead of trunk prefixes.
If you try to dial a local number with the ‘0’ from abroad, it will not connect or may be interpreted incorrectly.
☁️ How VoIP Platforms Handle It
VoIP platforms need intelligent dial plans to handle both domestic and international formats. This is where number normalisation comes in. Leading platforms often convert:
011 123 4567→+27111234567for logging or outbound+27111234567→011 123 4567for in-country display or routing
Key VoIP Best Practices:
Use E.164 formatting (
+27format) as your internal standardConfigure your PBX or SBC to prepend or strip the ‘0’ as needed
Implement number translation rules for different types of traffic (local vs international)
Use Case Table: What Happens with and Without the ‘0’
| Scenario | Dialled Format | Result |
|---|---|---|
| Calling Johannesburg from Durban | 011 xxx xxxx | ✅ Connects correctly |
| Calling the same number from the UK | +27 11 xxx xxxx | ✅ Connects correctly |
| Calling from abroad with a ‘0’ | 0011 xxx xxxx | ❌ Call fails |
CRM dials 11 xxx xxxx internally | 11 xxx xxxx | ❌ Call fails unless corrected by system |
| VoIP PBX normalises to +27 format | +27 11 xxx xxxx | ✅ Works for all use cases |
🧭 Why This Matters to Businesses
If your team uses VoIP or any kind of unified communications platform:
Incorrect dialling plans mean lost calls
Call reporting and CDRs may be inconsistent
Customers may fail to reach your teams if numbers are misconfigured
For call centres, CRMs, and mobile teams, it’s essential that:
Dialling logic supports both local and international users
Contact databases standardise numbers in E.164 format
Call routing rules preserve the ‘0’ for national calls and remove it for international ones
🧩 Final Thoughts
The ‘0’ at the beginning of South African phone numbers is more than just a formatting habit—it’s a functional trunk prefix that tells your system how to route a call nationally. Omitting it can cause serious call failures, especially in VoIP environments, mobile apps, and CRM integrations.
For international calls, dropping the ‘0’ and using +27 is non-negotiable.
Understanding and implementing smart dial plans helps your organisation:
Avoid failed calls
Maintain consistency across platforms
Provide a better experience for customers and teams alike