WhatsApp Business Calling lets your business use WhatsApp as a full voice channel on top of your existing telephony setup. Your customers can call you directly from WhatsApp, and your agents receive those calls exactly like any other inbound call. You can also place outbound calls that ring in the customer's WhatsApp app instead of their regular phone line.
Calls run over VoIP inside WhatsApp, so they are free for your customer regardless of where they are calling from.
Before you start
WhatsApp Business Calling is governed by Meta's platform rules in addition to CM.com's own requirements. Check these first. They determine whether the feature can be enabled at all.
Where it works
|
Direction |
Availability |
|---|---|
|
Inbound |
Available everywhere the WhatsApp Cloud API is available. |
|
Outbound |
Available everywhere the Cloud API is available except when your business phone number is a USA, Canada, Egypt, Vietnam or Nigeria number. |
The restriction applies to your number, not your customer's. Your customers may be in any country where the Cloud API is available.
Getting started
Before getting started with WhatsApp Business Calling, please ensure the following are in place:
1. WhatsApp Business Account & Number
-
You must have a WhatsApp Business Account (WABA) with business verification completed.
-
If you are not yet using WhatsApp messaging with CM.com, onboarding is required first (a channel onboarding fee applies).
-
Your WhatsApp Business Account must have a daily messaging limit of at least 2000 unique recipients. Calling cannot be enabled below this threshold.
-
The same number must be configured in the CM.com Voice Management App as an inbound number just like a regular DDI number. To configure the number, the number needs to be purchased at or ported to CM.com.
-
We will enable the calling feature and need your input on the following settings:
|
Setting |
Required/optional |
Notes |
|---|---|---|
|
Phone number |
Required |
The number to be enabled for WhatsApp Business Calling |
|
Callback permission request |
Optional |
Whether to prompt users for call permission |
|
Call icon visibility |
Optional |
Whether the call button is shown in your profile |
|
Call icon visibility - countries |
Optional |
Restrict call button display by country |
|
Opening hours |
Optional |
If set, timezone and weekly hours are required; holiday schedule is optional |
|
Additional audio codecs |
Optional |
G.711 (PCMA / PCMU) can be added for legacy interoperability. See Audio codecs. |
Using a mobile number? While CM.com 's Voice platform does not generally support mobile number ranges, an exception is made for WhatsApp Business Calling. Please contact support if your use case requires a mobile number.
Note that CM.com will not provide or host mobile numbers. Neither will CM.com terminate inbound PSTN calls for mobile numbers used in this way.
2. PBX / Infrastructure
-
Your PBX or telephony infrastructure must support the OPUS audio codec. OPUS is the default and mandatory codec for all WhatsApp calls.
-
SRTP (encrypted media) is supported but optional. CM.com handles SRTP re-encryption on your behalf.
3. Agent Tools
-
For outbound calls from a PBX: agents must be able to dial a prefix (*WA or *92) before the destination number. This is typically a simple configuration in your PBX.
-
For app-based call handling (FlowBuilder, Native Voice in Mobile Service Cloud, or HALO), the relevant product must be included in your CM.com order.
Inbound call flow (WhatsApp user → Business)
When a WhatsApp user taps the call button in your WhatsApp Business profile or chat, here is what happens:
-
The call is delivered to CM.com's Voice platform.
-
The call is routed to your PBX, call queue, IVR, or one of CM.com's applications (FlowBuilder, Native Voice in Mobile Service, or HALO).
-
Your agent answers the call on their phone or softphone, just like any other inbound call.
Inbound calls also grant you a temporary permission to call that user back. See User call permissions.
Outbound call flow (Business → WhatsApp user)
Once a WhatsApp user has given your business permission to call them via WhatsApp, your agents can place calls that ring directly in the WhatsApp user’s app, instead of over the regular phone network.
Agents can initiate outbound WhatsApp calls in two ways:
Option A: Via your PBX (using a dialing prefix)
-
The agent dials a special prefix before the destination number:
-
-
*WA + destination number, or
-
*92 + destination number
-
-
CM.com's Voice platform recognises the prefix and routes the call via WhatsApp rather than the regular phone network.
-
The WhatsApp user receives an incoming audio call in their WhatsApp app.
Option B: Via Mobile Service Cloud (Native Voice)
When placing a call from Mobile Service Cloud, agents can select 'WhatsApp' as the call channel. The call is then routed via WhatsApp rather than PSTN.
Note: Full MSC channel selection is coming soon. In the meantime, use the *92 prefix for outbound WhatsApp calls from MSC.
Outbound call limits
Meta enforces these limits to protect users from unwanted calls. They apply per business phone number and per business + user pair.
|
Limit |
Value |
|---|---|
|
Connected outbound calls |
Maximum 100 per 24 hours |
|
Call permission requests |
1 per 24 hours and 2 per 7 days per user. Both counters reset when any call, inbound or outbound, connects between you and that user. |
User call permissions
Meta requires the user to explicitly permit calls: via an Interactive Call Permission Request message, implicitly when the business receives an inbound WhatsApp call, or by the user opting in via the business's WhatsApp profile.
Meta requires that a WhatsApp user has explicitly granted permission before your business can call them via WhatsApp. There are three ways a customer can grant this permission:
|
Method |
How it works |
Permission type |
|---|---|---|
|
Permission request message |
Send the WhatsApp user an Call Permission Request message. They tap to approve. |
User chooses temporary or permanent |
|
Inbound call |
When a WhatsApp user calls your business via WhatsApp, they implicitly grant outbound call permission for that number. |
Temporary |
|
WhatsApp profile opt-in |
WhatsApp users can grant permission directly via the opt-in option in your WhatsApp Business profile. |
Permanent |
Temporary vs. permanent
-
Temporary permission lasts 7 calendar days (168 hours) from the moment the user approves it.
-
Permanent permission does not expire, but is still subject to the 100-connected-calls-per-24-hours limit.
-
No notification is sent when a temporary permission expires.
When a permission request expires
A call permission request expires when any of the following happens:
-
The user interacts with a newer permission request from your business.
-
7 days pass after the user accepted or declined it.
-
7 days pass after delivery, if the user never responded.
A user who declined a request can still grant permission afterwards, up until the request expires.
Unanswered calls revoke permission
If you call a user who has granted permission and they do not answer:
-
After 2 consecutive unanswered calls, WhatsApp shows the user a system message suggesting they reconsider the permission.
-
After 4 consecutive unanswered calls, the permission is automatically revoked. The user can grant it again if they choose to.
This makes it important to only place calls when an agent is genuinely available to speak.
Sending permission requests
Call permission requests can be sent as:
-
Interactive messages: Free-form, only within an open customer service window. A text body is optional but strongly recommended so the user understands why you want to call.
-
Template messages: Can be sent outside a customer service window. A text body is required; headers and footers are supported.
When a WhatsApp user accept or declines a permission request, a Call permission reply is sent.
Opening hours
Opening hours apply to inbound calls only. Outbound calls from your business are not affected.
When a user tries to call outside your configured hours, WhatsApp offers them the option to send a message instead, or, if the callback permission setting is enabled, to request a callback. The client also shows them your next available calling slot.
Configuration rules:
-
A timezone and weekly operating hours are required.
-
Maximum of 2 time ranges per day of the week; ranges may not overlap, and the opening time must be earlier than the closing time.
-
Up to 20 holiday overrides may be defined, each for a specific date.
-
If opening hours are disabled, your business is treated as open 24/7.
Audio codecs
OPUS is the default codec for all WhatsApp calls and is always enabled. It cannot be removed.
G.711 (PCMA / PCMU) can be enabled additionally for interoperability with legacy telephony systems and PSTN gateways that do not support OPUS. Consider the trade-offs before requesting it:
-
Audio must be transcoded between OPUS on the WhatsApp side and G.711 on your side, which adds latency.
-
G.711 encodes at a fixed 64 kbps without advanced compression, giving lower audio quality than OPUS.
-
G.711 uses more bandwidth (roughly 64 kbps per direction), where OPUS achieves comparable or better quality at a lower bitrate.
Use OPUS unless you have a specific requirement for G.711.
Call quality enforcement
Meta monitors how users respond to your calls. Poor performance leads to automatic restrictions on your business phone number. Plan your resourcing and your outbound strategy accordingly.
Negative user feedback
If your calls attract a high volume of blocks and reports, Meta will automatically restrict calling on your number for 7 days. Depending on the source of the feedback, this can affect outbound calling, inbound calling, or both.
|
Restriction |
Effect while paused |
|---|---|
|
Outbound calling restricted |
You cannot place calls or send call permission requests. |
|
Inbound calling restricted |
You cannot receive calls, and the call icon is hidden. |
You receive an early warning before a pause takes effect, and a further notification once it does. Permissions granted or declined by users during a pause remain valid.
Low call pickup rate
If a significant share of inbound calls to your number go unanswered, Meta will first send a warning, and then hide the call button on your number.
To resolve this:
-
Identify why calls are not being picked up and make sure you are resourced for your expected call volume.
-
If you cannot staff inbound calls, ask CM.com to hide the call buttons or disable calling entirely, rather than leaving calls unanswered.
Once the underlying issue is addressed, contact CM.com support to re-enable the call buttons.
Where notifications are sent
Meta sends enforcement notices by email to all users and admins associated with the business portfolio. Make sure the contact email on your Meta business portfolio is monitored and does not filter these messages as spam.
Troubleshooting
|
Symptom |
Likely cause |
|---|---|
|
The call button is not visible to a user |
Setting changes can take up to 7 days to propagate; the user can force a refresh via the chat info page. Also check country restrictions on call icon visibility, and whether opening hours are in effect. |
|
Outbound calls fail for every user |
Check whether your business number's country code is on the excluded list (USA, Canada, Egypt, Vietnam, Nigeria). |
|
Outbound call rejected for one specific user |
The permission may have expired (temporary permissions last 7 days) or been revoked after 4 consecutive unanswered calls. |
|
Cannot send a permission request |
You may have hit the limit of 1 per 24 hours or 2 per 7 days for that user. |
|
Calling stopped working entirely |
Your number may be under a Meta restriction due to negative feedback or low pickup rates. Check your Meta notifications and contact CM.com support. |
|
One-way or no audio |
Verify that your PBX supports OPUS and that media is reaching CM.com's platform correctly. |
Still stuck? Contact [email protected].