You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Asterisk通过rawman发起外呼并播放录音的channel参数问题

解决Asterisk rawman发起外呼的Channel参数问题

看起来你在通过rawman接口发起外呼时,卡在了Channel参数的正确格式上——之前用SIP/23656429@57522666的写法是错误的,这相当于把被叫号码当成了SIP服务器地址,肯定没法正常发起呼叫。结合你的SIP ATA中继(编号23656429),我来给你梳理正确的配置方式:

正确的请求URL

直接修改Channel参数为SIP/23656429/57522666,完整请求如下:

http://192.168.11.11:8088/rawman?action=originate&channel=SIP/23656429/57522666&context=outboundmsg1&exten=s&priority=1&timeout=30000

格式为什么要这么写?

  • SIP/23656429:这部分指定了呼叫要通过的SIP Peer,也就是你的ATA中继。这个名称必须和你sip.conf里配置的Peer名称完全一致(比如你在sip.conf里定义的[23656429])。
  • /57522666:紧跟在Peer名称后的是目标被叫号码,Asterisk会通过指定的ATA中继把呼叫路由到这个号码上。

额外需要检查的几个点

为了确保呼叫能成功,你还可以做以下验证:

  1. 核对SIP Peer配置
    打开sip.conf,确认23656429这个Peer的配置是正确的,示例参考:

    [23656429]
    type=peer
    host=192.168.x.x  # 替换成你的ATA设备实际IP地址
    context=outboundmsg1
    allow=ulaw,alaw
    insecure=port,invite
    

    重点保证host是ATA的真实IP,且Asterisk服务器能ping通这个地址。

  2. 确认语音文件存在
    检查custom/message对应的声音文件(比如message.wav或message.gsm)是否在Asterisk的声音目录下(通常是/var/lib/asterisk/sounds/custom/)。如果文件不存在,Background应用会失败,导致呼叫异常结束。

  3. 先用命令行测试连通性
    登录Asterisk命令行,先手动发起呼叫测试通道是否正常:

    asterisk -r
    originate SIP/23656429/57522666 extension s@outboundmsg1
    

    如果这个命令能成功呼出,说明Channel参数没问题,再用rawman接口请求就应该能正常工作了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:46:58