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

如何获取Dinstar GSM/SIP网关外呼时的主叫号码

确定呼叫实际使用的SIM卡号(被叫显示号码)

以下是几种可行的方案,根据你的场景选择:

  • 捕获FreeSWITCH通道变量
    Dinstar网关在呼叫建立后,通常会将实际使用的SIM卡号通过SIP头传递给FreeSWITCH,并映射为通道变量。你可以在拨号计划中添加日志动作,或者通过ESL脚本监听呼叫事件来获取这个变量。常见的变量名可能是variable_gsm_sim_number或variable_sip_x_dinstar_sim,具体可以通过show channels命令查看通道的所有变量。示例拨号计划配置:

    <extension name="dinstar_call">
      <condition field="destination_number" expression="^(\d+)$">
        <action application="bridge" data="sofia/gateway/dinstar/$1"/>
        <action application="log" data="NOTICE Call to $1 used SIM: ${variable_gsm_sim_number}"/>
      </condition>
    </extension>
    
  • 开启Dinstar网关的详细CDR
    登录Dinstar网关后台,找到CDR配置选项,开启"详细CDR"功能。多数Dinstar型号会在CDR中包含SIM卡号、通道号等字段,你可以将CDR导出到本地文件或推送至FreeSWITCH的CDR系统,这样每通呼叫的SIM号就能和通话记录一一对应。

  • 手动绑定网关通道与SIM卡
    如果可以放弃自动选空闲通道的功能,你可以直接指定Dinstar网关的具体通道发起呼叫(通道号对应SIM卡槽位,比如dinstar/1对应第1张SIM),这样发起呼叫时就能明确知道使用的SIM卡号。示例originate命令:

    originate sofia/gateway/dinstar/5/138xxxxxxxxx &park
    

    若需要保留自动选空闲的能力,可以自己写一个简单的脚本:先通过Dinstar API查询所有空闲通道,再选择对应通道发起呼叫,同时记录该通道对应的SIM号。

  • 通过Dinstar API查询通道-SIM映射
    Dinstar网关提供HTTP/SNMP API接口,可以查询每个通道绑定的SIM卡号。你可以预先调用API获取通道与SIM的映射表并存储,当FreeSWITCH发起呼叫后,通过通道变量variable_sofia_gateway_channel获取实际使用的网关通道号,再去映射表中匹配对应的SIM卡号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 18:05:17