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

如何配置Kamailio SIP服务器播放语音消息替代忙音回复?

实现Kamailio接听来电并播放语音消息的方案

方案一:Kamailio + Asterisk 协同配置

之前用voicemail模块的思路不对,因为该模块设计用于接收语音留言,而非主动播放提示音。正确做法是让Kamailio将无法处理的INVITE直接转发到Asterisk的专用播放分机,同时用dispatcher模块保障并发处理:

1. Kamailio 配置调整

  • 加载dispatcher模块,将Asterisk添加为媒体处理服务器:
loadmodule "dispatcher.so"

# 定义Asterisk服务器(替换为你的Asterisk IP和端口)
modparam("dispatcher", "list_file", "/etc/kamailio/dispatcher.list")

dispatcher.list内容:

0 sip:asterisk_ip:5060 0 "Asterisk Media Server"
  • 在主路由中,当检测到来电无法送达(如用户不存在、离线)时,转发到Asterisk的指定分机:
route {
    # 常规呼叫处理逻辑...
    if (is_method("INVITE") && (!lookup("location") || $rc==-1)) {
        # 设置目标为Asterisk的播放分机(比如1000)
        $ru = "sip:1000@asterisk_ip";
        # 使用dispatcher转发
        ds_select_dst(0, 0);
        forward();
        exit;
    }
}

2. Asterisk 配置

在extensions.conf中添加专用播放分机:

[from-kamailio]
exten => 1000,1,Answer()
exten => 1000,n,Playback(custom/your_message)  ; 替换为你的语音文件路径
exten => 1000,n,Hangup()

确保Asterisk允许Kamailio的IP发起呼叫,在sip.conf中配置信任网段:

[general]
allowguest=yes
allowexternaldomains=yes

[kamailio]
type=friend
host=kamailio_ip
context=from-kamailio

方案二:纯Kamailio 实现(无需Asterisk)

利用Kamailio的media_play和rtpproxy模块直接播放语音,无需依赖第三方媒体服务器:

1. 模块加载与基础配置

确保加载所需模块:

loadmodule "rtpproxy.so"
loadmodule "media_play.so"
loadmodule "sl.so"

# 配置rtpproxy地址(本地或远程)
modparam("rtpproxy", "rtpproxy_sock", "udp:127.0.0.1:7722")
# 设置语音文件存储路径
modparam("media_play", "snd_base", "/var/lib/kamailio/sounds/")

2. 呼叫处理路由

在主路由中处理来电,直接回复并播放语音:

route {
    if (is_method("INVITE")) {
        # 回复振铃
        sl_send_reply("180", "Ringing");
        
        # 初始化RTP代理,创建媒体会话
        rtpproxy_offer("replace");
        # 播放语音文件(替换为你的文件名,无需后缀)
        media_play_start("your_message");
        
        # 回复200 OK,建立通话
        sl_send_reply("200", "OK");
        
        # 等待播放完成后挂机
        media_play_wait();
        sl_send_reply("BYE", "");
        exit;
    }
}

注意:语音文件需转换为PCMU/8kHz格式,并存入指定的snd_base目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 19:33:23