Freeswitch相关音频信号代码示例
<!-- if false or undefined, the destination number is included in presence NOTIFY dm:note.
if true, the destination number is not included -->
<X-PRE-PROCESS cmd="set" data="presence_privacy=false"/>
<X-PRE-PROCESS cmd="set" data="cn-ring=%(1000,4000,450)"/>
<X-PRE-PROCESS cmd="set" data="beep=%(1000,0,640)"/>
<X-PRE-PROCESS cmd="set" data="sit=%(274,0,913.8);%(274,0,1370.6);%(380,0,1776.7)"/>
以下是对该 FreeSWITCH 配置片段的详细解释:
1. 隐私控制:Presence NOTIFY 消息中的号码显示
<X-PRE-PROCESS cmd="set" data="presence_privacy=false"/>
- 作用:控制 SIP 协议中的
Presence NOTIFY
消息是否包含目标号码。 - 参数说明:
presence_privacy=false
:在 Presence 通知中 包含 目标号码(如被叫号码)。- 如果设置为
true
,则 不包含 目标号码(隐私模式)。
- 应用场景:
例如,在呼叫转移或会议场景中,若需要隐藏实际被叫号码,可启用隐私模式。
2. 自定义回铃音(CN 格式)
<X-PRE-PROCESS cmd="set" data="cn-ring=%(1000,4000,450)"/>
- 作用:定义中国(CN)风格的回铃音(Ringback Tone)参数。
- 参数语法:
%(<频率1>, <频率2>, <持续时间>)
1000
:主频率为 1000 Hz(常见于中国回铃音)。4000
:次频率为 4000 Hz。450
:每个音调的持续时间为 450 毫秒。
- 实际效果:
生成“响 0.45 秒,停 0.45 秒”的周期性回铃音(典型中国回铃音模式为 1 秒响 4 秒停,此配置可能需调整参数)。
3. 自定义提示音(Beep)
<X-PRE-PROCESS cmd="set" data="beep=%(1000,0,640)"/>
- 作用:定义一个单频率的“嘟”声(Beep),用于通话中的提示音。
- 参数语法:
%(<频率>, <占空比>, <持续时间>)
1000
:频率为 1000 Hz。0
:无占空比调整(纯音)。640
:持续时间为 640 毫秒。
- 应用场景:
例如,通话录音开始/结束时的提示音。
4. 特殊信息音(SIT)定义
<X-PRE-PROCESS cmd="set" data="sit=%(274,0,913.8);%(274,0,1370.6);%(380,0,1776.7)"/>
- 作用:定义特殊信息音(Special Information Tone, SIT),用于指示电话系统状态(如空号、线路忙等)。
- 参数语法:
由三个音调组成,格式为%(<频率>, <占空比>, <持续时间>)
,用分号分隔。- 第一段音调:
274 Hz
:低频率音。0
:无占空比调整。913.8 ms
:持续约 0.91 秒。
- 第二段音调:
274 Hz
:同上。1370.6 ms
:持续约 1.37 秒。
- 第三段音调:
380 Hz
:稍高频率音。1776.7 ms
:持续约 1.78 秒。
- 第一段音调:
- 典型应用:
例如,播放“您拨打的号码是空号”前的提示音。
总结表格
配置项 | 功能 | 参数说明 | 应用场景 |
---|---|---|---|
presence_privacy=false | 控制 Presence 消息中的号码显示 | false 显示号码,true 隐藏 | 隐私保护、呼叫转移 |
cn-ring=%(1000,4000,450) | 定义中国风格回铃音 | 频率、间隔、持续时间 | 回铃音定制 |
beep=%(1000,0,640) | 定义单音提示音 | 频率、占空比、持续时间 | 录音提示、操作反馈 |
sit=%(274,0,913.8);... | 定义特殊信息音(SIT) | 三段音调(频率、占空比、持续时间) | 空号、忙音等系统提示 |
注意事项
- 音频参数调整:
频率和持续时间需符合本地电话系统标准(如中国回铃音通常为 450ms 响 + 450ms 静音)。 - 测试验证:
修改后需重启 FreeSWITCH 并测试实际音效:fs_cli -x "reloadxml" fs_cli -x "originate user/1000 &playback(tone_stream://${cn-ring})"
- 隐私合规性:
启用presence_privacy=true
时需确保符合隐私法规(如 GDPR)。