You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Asterisk与AsterNet呼叫配置问题:如何直接接通本地手机号

解决Asterisk直接呼叫目标手机号的问题

首先,咱们得先定位问题根源:现在呼叫先接分机2001再转手机号,大概率是拨号计划(Dialplan)的路由规则或者AsterNet发起呼叫的目标参数配置不对,导致呼叫先进入分机,再触发转外线逻辑。下面分两种核心场景给你解决方案:


1. 修改AsterNet发起呼叫的代码逻辑

如果你的代码现在是先呼叫分机2001,再通过分机的Dialplan转手机号,那直接修改Originate的目标地址,跳过分机,直接指定USB dongle的通道+目标手机号即可。

常见错误代码示例(导致先接分机):

// 错误:先呼叫分机2001,依赖分机的Dialplan转手机号
var originateRequest = new OriginateRequest
{
    Channel = "SIP/2001",
    Context = "default",
    Exten = "138xxxxxxx",
    Priority = 1,
    CallerId = "你的主叫号码"
};
asteriskManager.SendAction(originateRequest);

修改后的正确代码:

直接将Channel指定为你的USB dongle对应的通道(比如DAHDI通道,或者dongle驱动的通道名,比如dongle0),格式为通道类型/通道号/目标手机号:

// 正确:直接通过USB dongle发起呼叫到目标手机号
var originateRequest = new OriginateRequest
{
    // 替换成你的USB dongle实际通道,比如DAHDI/1 或者 dongle0
    Channel = "DAHDI/1/138xxxxxxx", 
    Context = "default", // 确保这个上下文有允许外线呼叫的权限
    Priority = 1,
    CallerId = "你的主叫号码" // 必须是USB dongle支持的合法主叫号
};
asteriskManager.SendAction(originateRequest);

2. 检查并修改Asterisk的拨号计划(extensions.conf)

如果你的代码已经直接指向外线,但还是先接分机,那大概率是extensions.conf里的上下文规则把呼叫路由到了分机2001。需要检查以下几点:

步骤1:确认外线呼叫的上下文

找到你的USB dongle对应的配置文件(比如chan_dahdi.conf或者chan_dongle.conf),查看它的context参数,示例如下:

# chan_dongle.conf 示例配置
[dongle0]
context=outgoing ; 这里的context要和拨号计划里的对应上

步骤2:修改拨号计划的outgoing上下文

确保extensions.conf里的outgoing上下文(或者你dongle配置的上下文)没有把呼叫路由到分机2001,而是直接允许拨打外线。示例配置:

[outgoing]
; 允许拨打11位手机号(根据本地号段调整匹配规则)
exten => _1XXXXXXXXXX,1,Dial(DAHDI/1/${EXTEN},30)
exten => _1XXXXXXXXXX,n,Hangup()

; 如果需要支持固定电话,添加对应规则
exten => _0XXXXXXXXXX,1,Dial(DAHDI/1/${EXTEN},30)
exten => _0XXXXXXXXXX,n,Hangup()

需要删除的错误配置:

如果你的上下文里有类似这样的规则,会强制所有呼叫先转分机2001,务必删除或注释掉:

; 错误配置:所有呼叫先转到分机2001
exten => _X.,1,Dial(SIP/2001,20)
exten => _X.,n,Dial(DAHDI/1/${EXTEN},30)

3. 快速验证配置的小技巧

  • 修改完配置后,在终端执行asterisk -rx "dialplan reload"重新加载拨号计划
  • 在Asterisk控制台执行asterisk -rx "originate DAHDI/1/138xxxxxxx extension s@outgoing"直接测试,如果能拨通手机号,说明Dialplan没问题,再排查AsterNet代码
  • 检查USB dongle状态:如果用的是chan_dongle驱动,执行asterisk -rx "dongle show status"确保dongle注册正常、能发起外线呼叫

内容的提问来源于stack exchange,提问作者Ankit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:08:07