将组名称获取到星号中相应的 pri 端口

2024-04-19

我正在使用 sagoma 8 端口卡 我的chan_dahdi.conf配置端口是

;autogenerated by /usr/sbin/wancfg_dahdi do not hand edit
;autogenrated on 2015-06-12
;Dahdi Channels Configurations 
;For detailed Dahdi options, view /etc/asterisk/chan_dahdi.conf.bak

[trunkgroups]

[channels]
context=default
usecallerid=yes
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
relaxdtmf=yes
rxgain=0.0
txgain=0.0
group=1
callgroup=1
pickupgroup=1
immediate=no

;Sangoma A108 port 1 [slot:4 bus:2 span:1] <wanpipe1>
switchtype=euroisdn
context=from-pstn
group=1
echocancel=yes
signalling=pri_cpe
channel =>1-15,17-31

;Sangoma A108 port 2 [slot:4 bus:2 span:2] <wanpipe2>
switchtype=euroisdn
context=from-pstn
group=2
echocancel=yes
signalling=pri_cpe
channel =>32-46,48-62

;Sangoma A108 port 3 [slot:4 bus:2 span:3] <wanpipe3>
switchtype=euroisdn
context=from-pstn
group=3
echocancel=yes
signalling=pri_cpe
channel =>63-77,79-93

;Sangoma A108 port 4 [slot:4 bus:2 span:4] <wanpipe4>
switchtype=euroisdn
context=from-pstn
group=4
echocancel=yes
signalling=pri_cpe
channel =>94-108,110-124

;Sangoma A108 port 5 [slot:4 bus:2 span:5] <wanpipe5>
switchtype=euroisdn
context=from-pstn
group=5
echocancel=yes
signalling=pri_cpe
channel =>125-139,141-155

;Sangoma A108 port 6 [slot:4 bus:2 span:6] <wanpipe6>
switchtype=euroisdn
context=from-pstn
group=6
echocancel=yes
signalling=pri_cpe
channel =>156-170,172-186

;Sangoma A108 port 7 [slot:4 bus:2 span:7] <wanpipe7>
switchtype=euroisdn
context=from-pstn
group=7
echocancel=yes
signalling=pri_cpe
channel =>187-201,203-217

;Sangoma A108 port 8 [slot:4 bus:2 span:8] <wanpipe8>
switchtype=euroisdn
context=from-pstn
group=8
echocancel=yes
signalling=pri_cpe
channel =>218-232,234-248

我的问题是如何在拨号计划中动态获取当前呼叫端口的组号。

例如,如果用户呼叫端口 1 中的 pri,那么我的拨号语句是

exten => _X.,n,dial(DAHDI/g1/${NUMBER})

对于第二个 pri 端口 2 上的呼叫

 exten => _X.,n,dial(DAHDI/g2/${NUMBER})

g3、g4、g5 等用于其他端口,以便设置特定的 DID

当前,当来电时我正在做什么,我创建一个 GROUP 变量,通过检查 DID 范围来存储组

same => n,Set(__GROUP=${IF($[ ${EXTEN} >= ${DIDMINPORT1}]? ${IF($[ ${EXTEN} <=  ${DIDMAXPORT1}]?g1:g1)} :g1)})
same => n,Set(__GROUP=${IF($[ ${EXTEN} >= ${DIDMINPORT2}]? ${IF($[ ${EXTEN} <= ${DIDMINPORT2}]?g2: ${GROUP} )} : ${GROUP} )})

对于其他组,等等,对于拨号,我这样做

   exten => _X.,n,dial(DAHDI/${GROUP}/${NUMBER})

但我不认为这是一个好主意,因为我有 8 个端口,所以我必须编写 8 行来确定组并通过匹配 DID 进行拨号。那么有没有什么方法可以在我的拨号计划中动态获取组意味着是否有任何通道变量我可以得到当前呼入端口呼叫的组吗?


据我所知,DAHDI 群体没有这样的变量。

在 chan_dahdi.conf 中,您使用相同的选项“context=from-pstn”,因此您可以轻松地为组 1 设置“context=pri-g1”(为组 2 等设置“context=pri-g2”),然后定义在 dialplan 中是这样的:

[pri-main]
exten => s,1,NoOp(Main routine)

[pri-g1]
exten => s,1,Set(PRI_GROUP=1)
exten => s,n,GoTo(pri-main,s,1)

[pri-g2]
exten => s,1,Set(PRI_GROUP=2)
exten => s,n,GoTo(pri-main,s,1)

...

[pri-g8]
exten => s,1,Set(PRI_GROUP=8)
exten => s,n,GoTo(pri-main,s,1)

设置起来不像有通道变量那么方便,但是对于asterisk来说速度很快。

请注意,在 [pri-g#] 中,exten 可能不是“s”,而是 DID 编号或其他内容 - 但您很快就会在 CLI 错误中看到它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将组名称获取到星号中相应的 pri 端口 的相关文章

  • 设置asterisk agi功能处理的等待音

    我使用星号和正常的 PHP AGI 以下this链接问题是我的 PHP AGI 需要 5 秒才能执行 我只是想设置一些等待音 让用户等待 AGI 处 理完毕 在同一个链接上我发现了一些东西 设置音乐 启用 禁用保持音乐发生器 例如 默认设置
  • 我的流媒体音频播放器在通话期间继续播放 - 无法让它停止! (安卓)

    我有一个由多项活动和一项服务组成的应用程序 主要活动是用于流音频的 UI 当用户按下播放按钮时 服务就会启动 传输音频并读取元数据 然后 元数据会被推送到 UI 如果可见 和通知栏 在接到电话之前 一切都按预期运行 我曾假设通过使用标准媒体
  • Windows Phone 7 通话记录 - Mango API

    我可以使用 Mango API 从手机获取当前通话记录以及通话号码和日期时间详细信息吗 我认为目前的情况是不可能的 没有用于检索通话记录的 API 这主要是出于隐私考虑 并保护用户免受在设备上表现不佳的恶意应用程序的影响 您会注意到 API
  • 如何将 16 位 wav 转换为原始音频

    我正在尝试使用 sox 将星号语音邮件转换为原始音频 原始wav的编码信息是PCM S16 LE 所以我想我可以这样做sox msg0000 wav msg0001 raw但其中的原始文件是乱码 根据 VLC 的说法 与 6 秒的源文件相比
  • 星号发起响应表示已成功排队,但仅此而已

    我曾经使用预先配置的星号来拨打电话 使用 AMI 当我这样做时 来自来源的响应通常具有频道和唯一的 ID 信息 现在我正在尝试构建一个新的星号 一切都已设置 但当我呼叫发起时 响应仅包含 呼叫成功排队 的信息 是否有任何选项隐藏在某处 例如
  • 添加PhoneStateListener

    我正在尝试设置PhoneStateListener但我得到一个PhoneCallListener cannot be resolved to a type public class ButtonView extends FrameLayou
  • 使用 telnet 从一个 Android 模拟器拨打另一个 Android 模拟器的电话?

    是否可以通过 telnet 从一个 Android 模拟器拨打另一个 Android 模拟器 例如 我在屏幕上打开了两个模拟器 5554 和 5556 我可以使用命令 gsm call 5554通过 telnet 接听来自 5554 的来电
  • 我想读取android中的通话记录[重复]

    这个问题在这里已经有答案了 可能的重复 如何在 Android 中检索最近使用的联系人 我想阅读最近使用的联系人 有人知道怎么做吗 1 创建观察者 class CustomContentObserver extends ContentObs
  • Windows Phone 7 - 电话呼叫连接和电话呼叫断开时触发的事件

    我正在为 Windows Mobile 7 编写一个应用程序 它需要有关 何时发出语音呼叫 和 何时挂断或断开语音呼叫 的信息 是否有任何 API 或事件 触发器可以为我提供此信息 当前的 SDK 不提供此功能 通常 由于沙盒环境默认不提供
  • 当拨出电话被接听时,PhoneStateListener 的状态是什么?

    我想知道我的应用程序何时接听拨出电话 我正在使用一种称为onCallStateChanged 来自PhoneStateListener班级 当拨出呼叫被应答时 我正在查看 Logcat 以查看它进入哪种状态 空闲 摘机或振铃 根据文档 我认
  • 从 js 使用 Phonegap 3.0 调用 Activity 方法的最佳方式

    我正在尝试使用 MainActivity 中的本机方法从phonegap 中的index html 拨打电话 我使用的是phonegap 3 0和android 4 3平台 我尝试过第二个答案 https stackoverflow com
  • 将数据保存到自定义 cdr 字段中

    我创建了自定义字段 rec name id 表 cdr 数据库 asteriskcdrdb 在这个字段中我想存储录音名称 我知道我应该通过在 conf 文件之一中添加这一行来完成此操作 但是在哪里 exten gt s 1 set CDR
  • 如何使用 Socket 获取 Asterisk 服务器的状态 - Python

    我试图使用 python 套接字获取 Asterisk 服务器的状态 但没有任何反应 这是我的代码 import socket s socket socket socket AF INET socket SOCK STREAM HOST 1
  • 来电显示检测:不适用于某些手机

    当有人打电话时 我使用以下方法来检测来电显示 在表单加载时我设置以下代码 this serialPort1 PortName COM3 this serialPort1 BaudRate 9600 this serialPort1 Data
  • 星号:发起呼叫未在拨号方案中设置 CALLERID

    我正在使用 Asterisk PBX 呼叫软件电话 我使用此命令 发起 SIP 100 分机 4004 在拨号计划中 我必须获取 CALLERID 变量 但在这种情况下 它始终为空 P S 如果我从软件电话 100 拨打分机号 4004 则
  • 星号传入消息给出:415 不支持的媒体类型

    我和我的项目组正在尝试设置带有星号的 PBX 我们已经设法让它仅适用于 SIP 呼叫 而且效果非常完美 但是一旦我们想尝试向其中添加 XML 消息 Asterisk 就无法识别它并给出 415 不支持的媒体类型 看起来这个电话甚至没有打通
  • 使用 iPhone SDK 以编程方式拨打电话号码并传递 DTMF

    如何通过 iPhone SDK 以编程方式执行以下操作 通过 iPhone SDK 以编程方式拨打电话号码 绕过拨号 取消iPhone 弹出的提示 拨打号码后发送额外的 DTMF 就像将暂停编程到普通电话中一样 我知道你可以做一个tel 呼
  • 如何将 com.android.internal.telephony.ITelephony 导入到 Android 应用程序

    我想挂断来电 我检测到它然后我想挂断它 问题是这样的 com android internal telephony ITelephony没有解决 我尝试添加包com android internal telephony到我的应用程序并创建界
  • 在 iPhone 上以编程方式接听来电

    我们如何在 iPhone 上使用 Objective C 以编程方式接听来电 你不能 您甚至没有收到通知或任何有来电的通知 您所能做的就是要求 iPhonemake一个电话 通过tel URI 方案 但您甚至不知道电话是否确实拨打了该号码
  • 如何在IOS中使用“*”字符进行呼叫(拨号)?

    我希望用 字符来调用 例如 gt 711313 目前 我正在使用这段代码 NSString str NSString stringWithFormat tel tmp UIApplication sharedApplication open

随机推荐

  • 在客户端 API 中使用 JWT 令牌

    我在 NET5 中有一个 API 使用 JWTBearer 来保护 API 现在我想配置我的客户端应用程序以使用从 api gettoken 生成的令牌 它在 swagger 中工作得很好 但我不知道如何配置我的 MVC 和 API 消费
  • UIScrollView:缩放后内容偏移计算

    有人可以建议在 UIScrollView 放大后使用哪个公式来计算内容偏移吗 让我们考虑以下示例 我有一个 UIScrollView 内容视图的大小为 1000 1000 那么如果我以编程方式setZoomScale到 2 0 并在scro
  • Riak:如果目标被删除,链接会消失吗?

    当从商店中删除商品时 链接到现在丢失的商品的所有文档中的链接是否会自动删除 或者我们是否遇到过类似于 HTML 页面上损坏的链接的情况 不 链接不会自动删除 链接只是与对象一起存储的元数据 因此要查找链接到已删除对象的所有对象 您需要遍历整
  • 检查服务器上文件的差异

    我的机器上有一个存储库的工作副本 并且我知道它已在服务器上更新 我想知道如何通过使用来获取新版本和工作副本中的版本之间的差异svn命令行参数 我有办法做到这一点吗 工作副本是修订版 BASE 存储库中的最新副本是修订版 HEAD 这会将您的
  • 在 C++03 中返回 `std::auto_ptr` 集合之类的内容的最佳方法是什么?

    std auto ptr不允许存储在STL容器中 例如std vector 但是 有时我需要返回多态对象的集合 因此我无法返回对象向量 由于切片问题 我可以用std tr1 shared ptr并将它们粘贴在vector 但随后我必须付出高
  • 重定向后,curl 对所有请求使用 POST

    根据文档和一些类似的问题 SOcurl 应该遵循使用 GET 方法的重定向 除非将 post30x 指定为参数 但这是我测试的结果 curl kvv b tmp tmp BEo6w3GKDq c tmp tmp BEo6w3GKDq X P
  • 增强元组+变换

    是否可以进行以下操作 假设我的 boost 元组有
  • 检测类属性值更改,然后更改另一个类属性

    假设我有一个名为 Number 的类 class Number def init self n self n n self changed None a Number 8 print a n prints 8 a n 9 print a n
  • 用面向对象的方法设置标签元素的属性

    标签有一个 for 属性 使它们指向某个输入字段 我需要使用 JQuery 更改此属性的值 以便我可以使用 label attr for targetName 但我还需要设置 className 所以我更喜欢使用 label attr fo
  • 当给定距起点的距离时,找到贝塞尔曲线上的点?

    我创建了一条 4 点贝塞尔曲线和一个距离 从起点开始 如何找到距起点一定距离的点的 x y 坐标 我查看了其他示例 据我所知 他们通过将曲线划分为几千个点 然后找到最近的点来近似值 这对我不起作用 对于我正在做的事情 我希望精确到小数点后两
  • 使用 Python 移动特定文件类型

    我知道这对你们中的许多人来说会非常容易 我刚刚开始学习 Python 需要一些基本文件处理方面的帮助 我拍摄了很多屏幕截图 最终出现在我的桌面上 因为这是默认设置 我知道我可以更改屏幕截图设置以自动将其保存在其他位置 不过 我认为这个程序将
  • 如何在多个 Gradle 项目之间共享样板 Kotlin 配置?

    The 典型的 Kotlin 配置 https kotlinlang org docs reference using gradle htmlGradle 项目中的代码非常样板 我正在寻找一种将其抽象为外部构建脚本的方法 以便可以重用它 我
  • Scala for 循环内的赋值

    这段代码有什么区别吗 for term lt term array val list hashmap get term and for term lt term array val list hashmap get term 在循环内部我正
  • 带有背景图像的 UITableView 单元格

    我有一个 UITableView 其中有 3 张图像 1 表示选定的单元格 1 表示单元格背景 1 表示TableView 背景 我选择的单元格工作正常 但正常单元格和 TableView 背景 当您向下 向上滚动太多时 单元格后面的背景
  • 适用于 Android 的动画 WebP 编码器

    有没有关于如何编码的示例动画WebP对于安卓 或者也许有人成功了并且可以指导我完成它 我有一批 webP 图像 我想用它们创建一个动画图像 有 libwebp 库 但是 它不支持动画 webP 如果我从所读内容中理解正确 我需要使用 web
  • jQuery 加载到变量

    我需要将 jQuery 加载结果插入到变量中 页面 ajax html 上带有 id 测试的元素的内容 result load ajax html test 尝试使用jQuery get http api jquery com jQuery
  • 如何将 NSMutableOrderedSet 转换为通用数组?

    我有这个for循环 p is a NSManagedObject fathers is a to many关系 所以我需要投射NSMutableOrderedSet to Family 但它不起作用 为什么 for f in p fathe
  • 查找向量中最接近的值

    我想要完成的是迭代双精度值向量并返回最接近的可能双精度值的向量位置 我对此有两个问题 当尝试使用以下命令查找向量中最接近的双精度值时lower bound 如果我输入 1 我只会收到非零的值 我不知道如何使用lower bound返回向量位
  • 在 `git rebase --update-refs` 之后自动推送

    Git 2 38 引入了 update refs标记为 rebase 命令 如果您有一个分支链 它将更新链中的所有分支 当我将大型 PR 分解为更容易审查的 PR 时 我发现这非常有用 然而 之后git rebase update refs
  • 将组名称获取到星号中相应的 pri 端口

    我正在使用 sagoma 8 端口卡 我的chan dahdi conf配置端口是 autogenerated by usr sbin wancfg dahdi do not hand edit autogenrated on 2015 0