Hi everyone,
We’re testing the WhatsApp Connector and have noticed some inconsistent behavior with inbound WhatsApp calls.
Most of the time everything works as expected, but occasionally the bot doesn’t answer the call even though the same code and configuration are being used.
What we’ve observed so far:
-
A WhatsApp call comes in.
-
Sometimes the bot joins and the conversation starts normally.
-
In most failed calls, Meta only sends a
TERMINATEevent. However, we’ve also seen failures where bothCONNECTandTERMINATEevents were received. -
Most of the times calls that are not answered only show TERMINATE event on Meta but It has also happened with calls showing TERMINATE and CONNECT
This is a log for a call I did that keep on connecting on WhatsApp, as you can see only TERMINATE type event appears in Meta, the agent didn’t answer:
Payload:
{
"object": "whatsapp_business_account",
"entry": [
{
"id": "1653880292712663",
"changes": [
{
"value": {
"messaging_product": "whatsapp",
"metadata": {
"display_phone_number": "<PRIVATE>",
"phone_number_id": "<PRIVATE>"
},
"contacts": [
{
"profile": {
"name": "<PRIVATE>"
},
"wa_id": "<PRIVATE>",
"user_id": "<PRIVATE>"
}
],
"calls": [
{
"id": "wacid.IhggMDBEMjc0Njk2MTdFNDA3Mjg2QkVBQ0FCNTE3MjU4OUEcGAw1NzMyMDI3Nzg3NTMVAgAVBAA=",
"from": "<PRIVATE>",
"from_user_id": "<PRIVATE>",
"to": "<PRIVATE>",
"event": "terminate",
"timestamp": "1780335054",
"direction": "USER_INITIATED",
"start_time": "1780335048",
"end_time": "1780335054",
"duration": 6,
"status": "COMPLETED"
}
]
},
"field": "calls"
}
]
}
]
}
And the Room session associated in Livekit:
RM_EKVCJ5HYUksV
This other call that also did not connect but I see two events CONNECT and TERMINATE:
TERMINATE EVENT
{
"object": "whatsapp_business_account",
"entry": [
{
"id": "1653880292712663",
"changes": [
{
"value": {
"messaging_product": "whatsapp",
"metadata": {
"display_phone_number": "<PRIVATE>",
"phone_number_id": "<PRIVATE>"
},
"contacts": [
{
"profile": {
"name": "<PRIVATE>"
},
"wa_id": "<PRIVATE>",
"user_id": "<PRIVATE>"
}
],
"calls": [
{
"id": "wacid.IhggMDA0MTgwRENFODgxNjNGM0I5ODI4RTUzODYxRjM5RkUcGAw1NzMyMDI3Nzg3NTMVAgAVHAA=",
"from": "<PRIVATE>",
"from_user_id": "<PRIVATE>",
"to": "<PRIVATE>",
"event": "terminate",
"timestamp": "1780332950",
"direction": "USER_INITIATED",
"start_time": "1780332946",
"end_time": "1780332950",
"duration": 4,
"status": "COMPLETED"
}
]
},
"field": "calls"
}
]
}
]
}
CONNECT EVENT
{
"object": "whatsapp_business_account",
"entry": [
{
"id": "1653880292712663",
"changes": [
{
"value": {
"messaging_product": "whatsapp",
"metadata": {
"display_phone_number": "<PRIVATE>",
"phone_number_id": "<PRIVATE>"
},
"contacts": [
{
"profile": {
"name": "<PRIVATE>"
},
"wa_id": "<PRIVATE>",
"user_id": "<PRIVATE>"
}
],
"calls": [
{
"id": "wacid.IhggMDA0MTgwRENFODgxNjNGM0I5ODI4RTUzODYxRjM5RkUcGAw1NzMyMDI3Nzg3NTMVAgAVHAA=",
"from": "<PRIVATE>",
"from_user_id": "<PRIVATE>",
"to": "<PRIVATE>",
"event": "connect",
"timestamp": "1780332943",
"direction": "USER_INITIATED",
"session": {
"sdp": "v=0\r\no=- 1780332943119 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE audio\r\na=msid-semantic: WMS ccc2aabc-6e05-4ee0-a745-b7cf3ec4fd01\r\na=ice-lite\r\nm=audio 3480 UDP/TLS/RTP/SAVPF 111 126\r\nc=IN IP4 57.144.85.49\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=candidate:3017242726 1 udp 2122260223 57.144.85.49 3480 typ host generation 0 network-cost 50\r\na=candidate:1740430795 1 udp 2122262783 2a03:2880:f321:131:face:b00c:0:699c 3480 typ host generation 0 network-cost 50\r\na=ice-ufrag:nGVlNjFgQSuJNJP+\r\na=ice-pwd:lz74PO0ktM+62bL+S6Q5hw==\r\na=fingerprint:sha-256 BD:CD:B6:6E:C7:DE:84:7C:0D:4C:57:EF:8F:9F:49:D6:36:2F:32:FC:2A:1F:F3:7D:B4:0A:B0:C2:BC:53:9C:9A\r\na=setup:actpass\r\na=mid:audio\r\na=sendrecv\r\na=msid:ccc2aabc-6e05-4ee0-a745-b7cf3ec4fd01 WhatsAppTrack1\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 maxaveragebitrate=20000;maxplaybackrate=16000;minptime=20;sprop-maxcapturerate=16000;useinbandfec=1\r\na=rtpmap:126 telephone-event/8000\r\na=maxptime:20\r\na=ptime:20\r\na=ssrc:1733349517 cname:WhatsAppAudioStream1\r\n",
"sdp_type": "offer"
}
}
]
},
"field": "calls"
}
]
}
]
}
Room session associated:
RM_fVH9ptQSDr9P
And this one is from a call that actually worked
TERMINATE EVENT
{
"object": "whatsapp_business_account",
"entry": [
{
"id": "1653880292712663",
"changes": [
{
"value": {
"messaging_product": "whatsapp",
"metadata": {
"display_phone_number": "<PRIVATE>",
"phone_number_id": "<PRIVATE>"
},
"contacts": [
{
"profile": {
"name": "<PRIVATE>"
},
"wa_id": "<PRIVATE>",
"user_id": "<PRIVATE>"
}
],
"calls": [
{
"id": "wacid.IhggMDA0MkU5QzAxOEFCQUM4MkVDNzgwNUVDRDJCOUJBQzUcGAw1NzMyMDI3Nzg3NTMVAgAVDgA=",
"from": "<PRIVATE>",
"from_user_id": "<PRIVATE>",
"to": "<PRIVATE>",
"event": "terminate",
"timestamp": "1780335549",
"direction": "USER_INITIATED",
"start_time": "1780335543",
"end_time": "1780335549",
"duration": 6,
"status": "COMPLETED"
}
]
},
"field": "calls"
}
]
}
]
}
CONNECT EVENT
{
"object": "whatsapp_business_account",
"entry": [
{
"id": "1653880292712663",
"changes": [
{
"value": {
"messaging_product": "whatsapp",
"metadata": {
"display_phone_number": "<PRIVATE>",
"phone_number_id": "<PRIVATE>"
},
"contacts": [
{
"profile": {
"name": "<PRIVATE>"
},
"wa_id": "<PRIVATE>",
"user_id": "<PRIVATE>"
}
],
"calls": [
{
"id": "wacid.IhggMDA0MkU5QzAxOEFCQUM4MkVDNzgwNUVDRDJCOUJBQzUcGAw1NzMyMDI3Nzg3NTMVAgAVDgA=",
"from": "<PRIVATE>",
"from_user_id": "<PRIVATE>",
"to": "<PRIVATE>",
"event": "connect",
"timestamp": "1780335538",
"direction": "USER_INITIATED",
"session": {
"sdp": "v=0\r\no=- 1780335538112 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE audio\r\na=msid-semantic: WMS 87370d0b-66e8-4fb8-adbf-ad8f2903eeb2\r\na=ice-lite\r\nm=audio 3480 UDP/TLS/RTP/SAVPF 111 126\r\nc=IN IP4 57.144.85.49\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=candidate:3017242726 1 udp 2122260223 57.144.85.49 3480 typ host generation 0 network-cost 50\r\na=candidate:1740430795 1 udp 2122262783 2a03:2880:f321:131:face:b00c:0:699c 3480 typ host generation 0 network-cost 50\r\na=ice-ufrag:yexzPY/eSQoSBitI\r\na=ice-pwd:WZSDwUisLWjqQWjKr1saqA==\r\na=fingerprint:sha-256 20:9E:9D:2D:47:65:53:9A:CB:D4:59:FE:93:CA:73:B7:B6:86:63:39:F5:62:C1:2F:DA:27:3A:AA:CD:39:08:FF\r\na=setup:actpass\r\na=mid:audio\r\na=sendrecv\r\na=msid:87370d0b-66e8-4fb8-adbf-ad8f2903eeb2 WhatsAppTrack1\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 maxaveragebitrate=20000;maxplaybackrate=16000;minptime=20;sprop-maxcapturerate=16000;useinbandfec=1\r\na=rtpmap:126 telephone-event/8000\r\na=maxptime:20\r\na=ptime:20\r\na=ssrc:2189993369 cname:WhatsAppAudioStream1\r\n",
"sdp_type": "offer"
}
}
]
},
"field": "calls"
}
]
}
]
}
Room session associated:
RM_hspPiyPUi4eX
Has anyone else run into this issue?
I’d be interested to know whether this ended up being a configuration issue, a Meta-side issue, or something related to the connector itself, and if there are any known workarounds.
Thanks for any help or guidance.

