You need to enable JavaScript to run this app. Node.js用modesl调用FreeSWITCH ESL originate返回NORMAL_CLEARING原因排查
优惠活动
大模型
产品
解决方案
定价
更多

Node.js用modesl调用FreeSWITCH ESL originate返回NORMAL_CLEARING原因排查

FreeSWITCH originate返回-ERR NORMAL_CLEARING错误原因

NORMAL_CLEARING本身是SIP协议标准的正常挂断码,在originate发起呼叫阶段直接返回该错误,说明呼叫尝试还没完成建立就被提前中断,常见触发原因如下:

  • 分机状态异常:你呼叫的1000@domain分机未在FreeSWITCH上注册,或者注册的IP地址不可达,FreeSWITCH发送INVITE请求超时后主动挂断返回该错误
  • 权限配置问题:当前调用ESL接口使用的账号没有originate呼叫权限,或者1000分机的呼入权限被限制,FreeSWITCH权限校验不通过直接终止呼叫
  • 播放资源不存在:你指定的&playback(message)中的音频文件message不存在,或者未放在FreeSWITCH配置的 sounds 搜索目录下,呼叫建立后无法执行播放操作直接挂断
  • 域名配置不匹配:originate指令中填写的domain和FreeSWITCH内部SIP域配置不一致,FreeSWITCH找不到对应域下的分机记录,直接终止呼叫
  • 分机主动拒接:如果分机在线但处于忙线/主动拒接状态,返回486/603响应时,FreeSWITCH也会返回NORMAL_CLEARING错误

快速排查方案

  • 登录FreeSWITCH的fs_cli终端,执行show registrations命令确认1000分机是否正常注册
  • 将originate指令替换为api originate {ignore_early_media=true}sofia/internal/1000@domain &park()测试,如果呼叫可以正常进入park状态,说明是音频文件配置问题,检查对应音频文件路径是否正确
  • 开启FreeSWITCH debug日志,复现呼叫操作后查看完整呼叫流程日志,定位具体的中断节点

内容的提问来源于stack exchange,提问作者Dmitry Evgrafoov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 08:15:03