WhatsApp SIP 通话集成
概述
WhatsApp 现在支持通过 WhatsApp 云 API 进行 SIP 通话,从而可以使用基于 TLS/SRTP 的 SIP 进行语音通话。
这使得 WhatsApp 和 3CX 之间能够实现原生集成,将现有的仅限消息传递的集成扩展到支持 WhatsApp 语音通话,这些通话可以路由到 3CX 分机、队列、IVR 或 AI 坐席。
请注意,目前的语音通话功能仅支持通过 WhatsApp 拨入 3CX 的呼叫。。
此集成需要V20 Update 8。
先决条件
- 要启用 WhatsApp SIP 通话,您需要在 Meta 开发者门户中拥有一个已上线(Live)的 WhatsApp 应用,并且该应用需具备对目标业务电话号码的消息权限。
- 如果您尚未完成上述设置,请先按照我们的《WhatsApp 集成指南》进行设置,并获取指南中提到的 电话号码 ID(Phone Number ID) 和 用户访问令牌(User Access Token)。这两个参数用于向 Meta Graph API 发送启用 SIP 所需的认证请求。
- 由于目前无法通过 Meta 的用户界面门户在 WhatsApp 应用中启用 SIP 通话功能,您必须使用第三方工具,例如:Postman向 Meta 的 Graph API 发送 POST 请求。
- 您可以在官方网站上阅读更多内容。指导用于 WhatsApp SIP。
步骤 1:创建 WhatsApp 应用程序
- 如果您已在 3CX 上配置了 WhatsApp 消息功能,则可以跳过此步骤并获取您的信息。电话号码 ID 和 用户访问令牌 在 3CX 管理控制台 > 语音和聊天 > 您的 WhatsApp 消息中继中,从您已配置的 WhatsApp 进行设置。
- 如果不行,请按照我们网站上说明的步骤操作。WhatsApp 集成指南并获得您的电话号码 ID 和 用户访问令牌
步骤 2:在您的 WhatsApp 号码上启用 SIP
- 使用 curl 或其他工具向 Meta Graph API 发送以下 POST 请求:
- 您可将以下 curl 命令直接导入 Postman:点击 “File → Import”,然后粘贴以下内容:
curl -X POST "https://graph.facebook.com/v24.0/<PHONE_NUMBER_ID>/settings" \
-H "Authorization: Bearer <YOUR_ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"calling": {
"status": "ENABLED",
"callback_permission_status": "ENABLED",
"call_icon_visibility": "DEFAULT",
"srtp_key_exchange_protocol": "SDES",
"sip": {
"status": "ENABLED",
"servers": [
{
"hostname": "<YOUR_3CX_FQDN>",
"port": <YOUR_SIPS_PORT>
}
]
}
}
}'
- 发送前,请将以下占位符替换为您自己的信息:
- <PHONE_NUMBER_ID> = 步骤 1 中获取的电话号码 ID
- <YOUR_ACCESS_TOKEN> = 这用户访问令牌 您在上述步骤 1 中获得的结果
- <YOUR_3CX_FQDN> = 你的3CX PBX FQDN;例如:mypbx.3cx.com
- <YOUR_SIPS_PORT> = 通常为 5061(若 PBX 使用默认端口)
- 如果请求成功:
{"success":true}
- 你应该会在 curl 命令中收到成功响应。
- 或者在 Postman 中看到
步骤 3:验证您的 SIP 配置
- 向 Meta 的 Graph API 发送以下 GET 请求:
curl -X GET "https://graph.facebook.com/v17.0/<PHONE_NUMBER_ID>/settings?fields=calling&include_sip_credentials=true" \
-H "Authorization: Bearer <YOUR_ACCESS_TOKEN>"
- 发送命令前,请务必将上述命令中的以下内容替换为您自己的信息:
- <PHONE_NUMBER_ID> = 步骤 1 中获取的电话号码 ID
- <YOUR_ACCESS_TOKEN> = 步骤 1 中获取的用户访问令牌
- 如果请求成功,您应该会收到类似以下的响应:
{
"calling": {
"status": "ENABLED",
"call_icon_visibility": "DEFAULT",
"callback_permission_status": "ENABLED",
"srtp_key_exchange_protocol": "SDES",
"sip": {
"status": "ENABLED",
"servers": [
{
"app_id": 112233445566778,
"hostname": "pbx.3cx-example.com",
"port": 5061,
"sip_user_password": "aabbccddeeffgghhiijjkkllmmnnoopp"
}
]
}
},
"storage_configuration": {
"status": "DEFAULT"
}
}
- 在 curl 的响应结果
- 或者在 Postman 看响应
步骤 4:在 WhatsApp Business Manager 中启用通话设置
- 导航至您的WhatsApp Business Manager
- 点击电话号码并选择您的 WhatsApp 号码
- 打开通话设置标签页请确保您已启用以下选项:
- 允许语音通话
- 允许回调
- 显示呼叫按钮
步骤 5:在 3CX 上创建 SIP 中继
创建新的 WhatsApp SIP 中继:
- 从此处下载 WhatsApp 模板
- 在您的 3CX 管理控制台中,转到“管理员 → 高级 → 模板 → 提供商模板制表
- 点击导入提供商按钮,选择您上方下载的模板,然后点击导入 按钮:
- 为您的 WhatsApp SIP 中继设置一个名称
- 设置呼入 WhatsApp SIP 通话的默认路由
- 取消勾选 “Create an outbound rule”(创建外呼规则)
- 将主中继号码(Main Trunk Number)设为您的 WhatsApp 号码
- 其他字段保留默认值
- 点击 “保存”
- 您现在可以接听来自您 WhatsApp 号码的 WhatsApp 来电,来电将被转接到您选择的 3CX 目的地。
或者,您可以手动在 3CX 上创建通用 SIP 中继,请确保使用以下配置:
- 认证类型(Authentication Type):基于 IP(IP-based)
- 主机(Host):wa.meta.vc
- 端口(Port):自动发现(Auto discovery)
- 传输协议(Transport Protocol):TLS
- SRTP 模式(SRTP Mode):强制启用(Enforced)
- 编解码器(Codecs):OPUS
另请参阅
最后更新时间
本文件最后更新日期为2026年2月10日。


