我的extensions.conf
文件中有以下代码:
[local]
exten => _NXXNXXXXXX,1,Set(CALLERID(name)=${OUTGOING_NAME})
exten => _NXXNXXXXXX,n,Set(CALLERID(num)=${OUTGOING_NUMBER})
现在我想更改此代码以根据进行呼叫的用户/分机设置 CallerID 和号码。事实上,我有四 (4) 个用户/分机,sip.conf
其中只有一个(我用于业务的那个)应该发送不同的来电显示/号码。
一切都在相同的上下文中(为简单起见),因为所有线路都需要能够接听来电。唯一的区别是当line1
需要拨打电话时,它必须发送不同的来电显示/号码并使用不同的提供商。
这是我到目前为止所拥有的:
[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
在验证之前将这些更改提交给我。
任何帮助将不胜感激。
根据VoIP Info Wiki,您可以在每个分机的基础上指定 SIP 分机的来电显示信息,如下所示:
更新: 您可以 在呼叫开始时访问CDR 变量。"${CDR(src)}" 将为您提供呼叫的源扩展。
经过一些调查,我发现我可以从 获得我需要的信息
${CALLERID(num)}
。所以,这就是我所做的:
希望能帮助别人