确定在Asterisk中哪个用户发起的呼叫
我在我的extensions.conf文件中有以下代码: [local] exten => _NXXNXXXXXX,1,Set(CALLERID(name)=${OUTGOING_NAME}) exten => _NXXNXXXXXX,n,Set(CALLERID(num)=${OUTGOING_NUMBER}) 现在我想改变这个代码来设置来电号码和号码根据拨打电话的用户/分机。 实际上,我在sip.conf有四(4)个用户/分机,只有其中一个(我用于业务的)应该发送一个不同的主叫号码/号码。 因为所有线路都需要能够接听来电,因此所有内容都在相同的环境中(为了简单起见)。 唯一的区别是当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})}) 我真的不知道这是否正确, 我恐怕在validation之前将这些更改提交到我的extensions.conf 。 任何帮助将不胜感激。