Voximplant无注册SIP跨应用呼叫报SIP/2.0 407错误求助
问题原因与解决办法
收到SIP/2.0 407 Proxy Authentication Required错误,核心原因是目标SIP端点要求身份认证,你的呼叫请求未携带必要的认证信息,或者目标应用未允许匿名SIP呼叫。
可能的解决路径
1. 检查目标应用的SIP接入配置
登录Voximplant控制台,找到geo应用的「SIP」设置页面,确认是否勾选了允许匿名SIP呼叫:
- 如果已勾选,说明目标账号本身需要认证,需在呼叫时添加凭证;
- 如果未勾选,开启该选项即可允许匿名呼叫(适合无需验证身份的内部应用互通场景)。
2. 在呼叫请求中添加认证信息
若目标SIP账号需要认证,修改callSIP参数,加入authUser和authPassword字段:
// outbound call to geo.app geo = VoxEngine.callSIP("user@geo.***.voximplant.com", { "callerid": prefix(e.callerid), "displayName": app_name, "authUser": "user", // 替换为目标SIP账号的用户名 "authPassword": "your_sip_account_password", // 替换为目标账号的密码 "extraHeaders": { "X-lead-id" : lead_id, "X-caller-id" : caller_id, "X-url" : msa_url } })
3. 使用Voximplant原生应用间呼叫方法(推荐)
如果是同一Voximplant账号下的应用互通,无需通过SIP URI呼叫,直接使用VoxEngine.callApplication方法,避免SIP认证问题:
// 原生应用间呼叫 geo = VoxEngine.callApplication("geo", app_name, { callerid: prefix(e.callerid), displayName: app_name, customData: JSON.stringify({ "X-lead-id": lead_id, "X-caller-id": caller_id, "X-url": msa_url }) })
这种方式会直接在Voximplant内部路由呼叫,无需处理SIP层的认证逻辑,更高效可靠。
内容的提问来源于stack exchange,提问作者jedi1150
相关产品推荐
相关产品推荐

