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

如何使用baresip CLI实现SIP自动呼叫并播放音频文件以完成家居自动化语音通知

如何使用baresip CLI实现SIP自动呼叫并播放音频文件以完成家居自动化语音通知

刚好我之前做过类似的家居自动化语音通知需求,用baresip完全能搞定!我来一步步给你拆解实现步骤:

1. 确保aufile模块已加载

baresip的音频文件播放依赖aufile模块,首先要确认它已经被启用:

  • 打开baresip的配置文件(通常是~/.baresip/config)
  • 检查是否有一行module aufile.so,如果没有就添加进去
  • 保存配置后,下次启动baresip就会自动加载这个模块

2. 准备符合要求的音频文件

SIP通话对音频格式有特定要求,推荐将你的音频转成单声道、8kHz采样率、16位PCM的WAV文件,可以用ffmpeg快速转换:

ffmpeg -i your-input.mp3 -ac 1 -ar 8000 -f wav automation-alarm.wav

注意:如果音频格式不匹配,baresip可能无法正常播放。

3. 直接用命令行发起呼叫并播放音频

你可以用baresip的非交互模式,通过-e参数传递一串命令序列,一次性完成呼叫、播放、挂断操作:

baresip -c ~/.baresip -e "call sip:目标号码@你的SIP服务器地址; play /绝对路径/automation-alarm.wav; wait 10; hangup; quit"

命令解释:

  • call sip:目标号码@你的SIP服务器地址:发起SIP呼叫
  • play /绝对路径/automation-alarm.wav:调用aufile模块播放指定音频文件(建议用绝对路径避免找不到文件)
  • wait 10:等待10秒(根据你的音频时长调整,确保音频播放完成)
  • hangup:挂断电话
  • quit:退出baresip

4. 用脚本文件简化命令(可选)

如果命令太长,你可以把命令序列写到一个文本文件里,比如call_notify.txt:

call sip:138xxxxxxx@my-sip-provider.com
play /home/pi/automation/door-alarm.wav
wait 8
hangup
quit

然后执行:

baresip -c ~/.baresip -f call_notify.txt

5. 关键注意事项

  • 确保你的SIP账号配置正确:在~/.baresip/accounts文件里已经填好账号和认证信息,比如:
    account sip:你的用户名@你的SIP服务器
    auth 你的用户名:你的密码
    
  • 测试时先手动执行命令,确认能正常呼叫、播放音频后,再集成到家居自动化系统(比如通过shell命令触发)
  • 音频文件权限要设置正确,确保baresip能读取它

备注:内容来源于stack exchange,提问作者ifoindecks

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 08:03:01