我的文件中有以下代码extensions.conf
:
[local]
exten => _NXXNXXXXXX,1,Set(CALLERID(name)=${OUTGOING_NAME})
exten => _NXXNXXXXXX,n,Set(CALLERID(num)=${OUTGOING_NUMBER})
现在我想更改此代码以根据拨打电话的用户/分机设置来电显示和号码。事实上,我的系统中有四 (4) 个用户/分机,sip.conf
其中只有一个(我用于业务的那个)应该发送不同的来电显示/号码。
一切都处于相同的上下文中(为简单起见),因为所有线路都需要能够接听来电。唯一的区别是当line1
需要拨打电话时,它必须发送不同的呼叫者 ID/号码并使用不同的提供商。
这是我目前所拥有的:
[local]
exten => _NXXNXXXXXX,1,Set(line=${SIP_HEADER(From)})
exten => _NXXNXXXXXX,n,Verbose(line variable is <${line}>)
exten => _NXXNXXXXXX,n,Set(CALLERID(name)=${IF($[ ${line} = line1 ]?${COMPANY_NAME}:${FAMILY_NAME})})
exten => _NXXNXXXXXX,n,Set(CALLERID(num)=${IF($[ ${line} = line1 ]?${COMPANY_NUMBER}:${FAMILY_NUMBER})})
exten => _NXXNXXXXXX,n,Dial(${IF($[ ${line} = line1]?SIP/${EXTEN}@${COMPANY_PROVIDER}:SIP/${EXTEN}@${FAMILY_PROVIDER})})
我真的不知道这是不是正确的,我害怕extensions.conf
在验证之前将这些更改提交给我。
任何帮助将不胜感激。
答案1
答案2
经过一番调查,我发现我可以从中获得我需要的信息${CALLERID(num)}
。
所以,这就是我所做的:
[local]
exten => _NXXNXXXXXX,1,Set(line=${CALLERID(num)})
same => n,Verbose(line variable is <${line}>)
same => n,GotoIf($["${line}" = "line1"]?business-out,${EXTEN},1:family-out,${EXTEN},1)
[business-out]
...
[family-out]
...
希望对某人有帮助