AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 449464
Accepted
Alfero Chingono
Alfero Chingono
Asked: 2012-11-17 07:33:41 +0800 CST2012-11-17 07:33:41 +0800 CST 2012-11-17 07:33:41 +0800 CST

确定哪个用户在 Asterisk 中发起呼叫

  • 772

我的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在验证之前将这些更改提交给我。

任何帮助将不胜感激。

asterisk
  • 2 2 个回答
  • 449 Views

2 个回答

  • Voted
  1. dkwiebe
    2012-11-19T12:40:55+08:002012-11-19T12:40:55+08:00

    根据VoIP Info Wiki,您可以在每个分机的基础上指定 SIP 分机的来电显示信息,如下所示:

    callerid="Tuomas Tammisalo" <1000>
    

    更新: 您可以 在呼叫开始时访问CDR 变量。"${CDR(src)}" 将为您提供呼叫的源扩展。

    • 1
  2. Best Answer
    Alfero Chingono
    2013-06-07T09:27:12+08:002013-06-07T09:27:12+08:00

    经过一些调查,我发现我可以从 获得我需要的信息${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]
    ...
    

    希望能帮助别人

    • 0

相关问题

  • 我应该使用 Asterisk GUI 吗?

  • Asterisk/TrixBox 和预测拨号/外呼呼叫中心

  • 有稳定的跨平台软电话吗?还是只有 Linux 的?

  • 我们可以在我们的 MAXIMISER 4140 呼叫服务器上使用 Slicecomm PCS100 运行 Asterisk 吗?

  • 通过星号 PBX 在 IP 电话上使用 Google 联系人

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve