在我的 Asterisk 配置中,我有一个特定的用户,我想设置他们的电话,以便当他们接到来电时,铃声要么静音,要么播放完全静音的铃声。
我的用户在我的 sip.conf 中看起来像这样
[110] ;interface to ringer
context=local
type=friend
secret=1234
host=dynamic
ringtone=yes
呼叫时,我有一个拨号组,一个站中的所有电话都会被呼叫。对于我的情况,我的 extensions.conf 看起来像这样:
exten => 110,1,Set(DIALGROUP(callee)=${CALLEE11})
exten => 110,n,Set(DIALGROUP(callee,del)=SIP/${CALLERID(num)})
exten => 110,n,Dial(${DIALGROUP(callee)},30)
exten => 110,n,Hangup()
我读到了关于添加
exten => 110,n,Set(CUSTOM_RINGTONE=/home/pi/LR_MMB/_Sounds/8_silent)
其中 8_silent 是一个 .wav 文件和 1 秒静音声音,但您不应该添加文件结尾,所以现在看起来像
exten => 110,1,Set(DIALGROUP(callee)=${CALLEE11})
exten => 110,n,Set(DIALGROUP(callee,del)=SIP/${CALLERID(num)})
exten => 110,n,Set(CUSTOM_RINGTONE=/home/pi/LR_MMB/_Sounds/1_start)
exten => 110,n,Dial(${DIALGROUP(callee)},30)
exten => 110,n,Hangup()
当我拨打110时,手机仍然以默认铃声响起
这个东西:
exten => 110,n,Set(CUSTOM_RINGTONE=/home/pi/LR_MMB/_Sounds/8_silent)
它只是设置变量,什么也不做。
你必须做这样的事情
[addheaders]
exten => s,1,NoOp(ADD HEADERS)
same => n,Set(PJSIP_HEADER(add,X-CustomRingtone)=${ARG1})
exten => 110,n,Dial(${DIALGROUP(callee)},30,b(addheaders^s^1(some_file))
请注意,您已将 X-CustomRingtone 标头替换为您的软件电话理解为铃声的标头。请参阅软件电话的管理手册。