WhatsApp Inbound Calls

As I mentioned, the fix is above.
Specifically, for this error:

"message": "(#100) One feature setting must be specified",
 
Anyone have any issue adding multiple whatsapp trunks / numbers to same system ? Sales, Support etc all have separate whatsapp numbers trying to add to Q's. I cant add 2nd trunk/number.
 
I have found the fix.

There is an issue on older API setups, I think. The format of the Curl Message that worked for me includes the line

"messaging_product": "whatsapp" and I also had to cleanup the format of the server and port.


Code:
curl -X POST "https://graph.facebook.com/v24.0/<YOURPHONEIDHERE>/settings" \
  -H "Authorization: Bearer <YOURTOKENHERE>" \
  -H "Content-Type: application/json" \
  -d '{
    "messaging_product": "whatsapp",
    "calling": {
      "status": "ENABLED",
      "callback_permission_status": "ENABLED",
      "call_icon_visibility": "DEFAULT",
      "srtp_key_exchange_protocol": "SDES",
      "sip": {
        "status": "ENABLED",
        "servers": [
          { "hostname": "<YOURSERVERHERE>", "port": 5061 }
        ]
      }
    }
  }'
Hey Nick,

This worked. Thank you!
 
No problem. It seems to affect only older Facebook API accounts.
 
Anyone have any issue adding multiple whatsapp trunks / numbers to same system ? Sales, Support etc all have separate whatsapp numbers trying to add to Q's. I cant add 2nd trunk/number.
Same here. They all seem to be coming in via only one trunk (the first to be added), ignoring routing.
 
Same here. They all seem to be coming in via only one trunk (the first to be added), ignoring routing.
In a nutshell, WhatsApp calling desn't work under Multi Company instance. I'd appreciate an advice on this.
Thank you.
 
n a nutshell, WhatsApp calling desn't work under Multi Company instance. I'd appreciate an advice on this.
Thank you.
Since WhatsApp calling is IP based it will not work well on Multi Company setups due to source identification conflicts.
 
We have setup whatsapp messaging and are actively using the messaging feature without any issues. We have followed the document and setup the trunk for whatsapp calls. When we test we get Certificate Name mismatch error on the trunk with 503 error code.

What we have attempted so far
  1. Included the root and intermediate certificates of whatsapp to the trunk -> did not work
  2. Included the the complete chain inluding the (*.meta.vc) certificate which meta presents for TLS on 5061 -> did not work
Below is the error we see, it is our assumption that the PBX is validating TLS for name wa.meta.vc, however whatsapp is presenting wildcard *.meta.vc certificate.

How can we rectify this?

Code:
leg_onfailure {
  3 {
    reason = Server Failure
    reason_text = Certificate Name Mismatch
    sip_code = 503
    sip_message {
      msg = {
        SIP/2.0 503 Certificate Name Mismatch
        Via: SIP/2.0/TLS 192.168.xxx.xx:5061;branch=z9hG4bK-524287-1---6951db283b6c8950;rport
        To: <sip:[email protected];transport=TLS>;tag=6920d911
        From: "+xxxxxx1"<sip:[email protected];transport=TLS>;tag=4f369048
        Call-ID: kUu0xBGWHBt4P6QaURgfQQ..
        CSeq: 1 INVITE
        Warning: 399 ccc.domain.com "No other DNS entries to try (10,0)"
        Content-Length: 0
      }
    }
  }
}
 
Are trying to make outbound calls or is the error present in inbound calls as well?
 
Are trying to make outbound calls or is the error present in inbound calls as well?
We have attempted both, the errors earlier are from tests for outbound calls.
 
Please note that WhatsApp is only supported for inbound calls. Outbound calls are not supported at this time.
Do inbound calls work?
 
Please note that WhatsApp is only supported for inbound calls. Outbound calls are not supported at this time.
Do inbound calls work?
No luck with inbound too

below is the error we see on the meta portal during the tests

Code:
{
  "timestamp": 1774509878,
  "wacid": "wacid.IhggRTk1Mzg5NTg1M0UxQkU1MDU1MDE3NzdCRDE3OTc1QTUcGAo5NjA3NjcwMDExFQIAFR4A",
  "call_uuid": "outgoing:wacid.IhggRTk1Mzg5NTg1M0UxQkU1MDU1MDE3NzdCRDE3OTc1QTUcGAo5NjA3NjcwMDExFQIAFR4A.6569e396-9bb7-4d9c-ae0d-b26ecc8f735e.",
  "app_id": "XXXXXXXXXXXXXXX",
  "reason": "call_failed",
  "sip_code": 503,
  "sip_reason": "Service Unavailable",
  "terminate_reason": "BUSINESS_TERMINATED",
  "call_api_type": "CONNECT_REJECT"
}


Trunk on 3cx below

image (1).png
 
In which format are your numbers configured? Make sure you have added your numbers in the E164 number format. You can also check your activity log (set the logging level to verbose for testing) and see if there is any errors there during inbound calls.
 
In which format are your numbers configured? Make sure you have added your numbers in the E164 number format. You can also check your activity log (set the logging level to verbose for testing) and see if there is any errors there during inbound calls.
Yes we are using E164 number format. Our incoming and outgoing for whatsapp messages works fine.

Code:
03/26/2026 1:41:35.096 PM    Lc:10005(@WA_TEST[<sip:@:0/UDP>])Creating new Device
03/26/2026 1:41:35.096 PM    Lc:10005(@WA_TEST[<sip:@:0/UDP>]) Selected 57.144.153.157:5061/TLS fk=0 tgt=meta.vc (|_sips._tcp.wa.meta.vc|meta.vc), expires in 59sec
03/26/2026 1:41:35.096 PM    Lc:10005(@WA_TEST[<sip:@:0/UDP>]) has resolved targets to following list:
|_sips._tcp.wa.meta.vc|meta.vc => [57.144.153.157:5061 @ TLS] 0 102 1 expires in 59s
03/26/2026 1:41:35.032 PM    Lc:10005(@WA_TEST[<sip:@:0/UDP>]) Resolving targets: primary - sip:wa.meta.vc, no secondary, over +TLS+IPv4
03/26/2026 1:41:35.032 PM    Scheduled request to resolve DNS for line 10005
03/26/2026 1:41:26.066 PM    Lc:10005(@WA_TEST[<sip:@:0/UDP>])Creating new Device
03/26/2026 1:41:26.066 PM    Lc:10005(@WA_TEST[<sip:@:0/UDP>]) Selected 57.144.153.157:5061/TLS fk=0 tgt=meta.vc (|_sips._tcp.wa.meta.vc|meta.vc), expires in 59sec
03/26/2026 1:41:26.066 PM    Lc:10005(@WA_TEST[<sip:@:0/UDP>]) has resolved targets to following list:
|_sips._tcp.wa.meta.vc|meta.vc => [57.144.153.157:5061 @ TLS] 0 102 1 expires in 59s
03/26/2026 1:41:25.873 PM    Lc:10005(@WA_TEST[<sip:@:0/UDP>]) Resolving targets: primary - sip:wa.meta.vc, no secondary, over +TLS+IPv4
03/26/2026 1:41:25.873 PM    Scheduled request to resolve DNS for line 10005

We do not see any specific errors for incoming calls.
 
I will send you a DM so we keep the blog post conversation clear.
 
  • Like
Reactions: IASLaero
Hello everybody,

we are able to activate this feature in our 3CX.

Now when I tried to activate in one of our customers, I have gotten this response from the Meta endpoint:
{
"error": {
"message": "Calling cannot be enabled",
"code": 138015,
"type": "OAuthException",
"error_data": {
"messaging_product": "whatsapp",
"details": "Calling APIs cannot be enabled for this phone number."
},
"error_subcode": 2593145,
"is_transient": false,
"error_user_msg": "Calling APIs cannot be enabled for this phone number.",
"error_user_title": "Calling Cannot Be Enabled",
"fbtrace_id": "AwRxxxxxxxxxxxxxxxKvH"
}
}

The phone number seems correct on the whatsapp manager, and the whatsapp messages are working fine.
1775119140506.png

Anyone with the same issue?

Thanks in advance,
Joel
 
I tried both api calls and none of them seem to work...

Code:
{
    "messaging_product": "whatsapp",
    "calling": {
      "status": "ENABLED",
      "callback_permission_status": "ENABLED",
      "call_icon_visibility": "DEFAULT",
      "srtp_key_exchange_protocol": "SDES",
      "sip": {
        "status": "ENABLED",
        "servers": [
          { "hostname": "<sipdomain>", "port": 5061 }
        ]
      }
    }
  }

no luck

And posted this to https://graph.facebook.com/v24.0/<MYPhoneNumberID>/settings
 

Latest Posts

Forum statistics

Threads
111,948
Messages
589,880
Members
164,841
Latest member
erre