【问题标题】:Simulate PSTN or GSM on Linux without hardware modems在没有硬件调制解调器的 Linux 上模拟 PSTN 或 GS​​M
【发布时间】:2015-07-24 18:35:50
【问题描述】:

我正在开发一种产品,该产品涉及 VoIP 与 PSTN 和 GSM 的整合。 我有一个可以运行 Linux 的硬件组件,并且有 GSM 和 PSTN 模块。

我将使用 Asterisk 编写硬件代码并与 GSM/PSTN 模块通信。

出于测试目的,我想在没有实际硬件的情况下在 Linux 中模拟 GSM 和 PSTN 调制解调器,并使用 Asterisk 来查看它如何与这些模块通信,以及在订购我的硬件设备数量之前它将为我提供多少粒度带有预定义的 Linux 和 Asterisk。

在没有任何附加硬件的情况下,有没有办法做到这一点?如果不是,那么我可以使用的最好的 USB 模块是什么。我看到了建议使用 Cisco 路由器模拟 PSTN 连接的链接,但我并没有尝试建立家庭交换机。

问候瓦卡斯

【问题讨论】:

    标签: linux asterisk sip voip gsm


    【解决方案1】:

    是的,可以使用 DAHDI 动态跨度模拟 PSTN 连接。

    我不确定动态跨度提供的粒度是否符合您的需求。例如,我知道目前无法在虚拟模拟接口上模拟电池电量下降和极性反转。

    话虽如此,动态跨度允许设置“虚拟”DAHDI 跨度并将其连接到同一盒子或同一以太网段上的不同盒子上的其他虚拟跨度。

    例如,以下配置文件可用于设置 4 个本地跨度。跨度 1 和 2 是交叉连接的 PRI。 Span 3 上有 2 个 FXS 模块,并且 span 4 2 FXO 虚拟连接到 span 3 上的 FXS 模块。

    dynamic=loc,1:0,24,0
    bchan=1-23
    dchan=24
    echocanceller=mg2,1-23
    dynamic=loc,1:1,24,0
    bchan=25-47
    dchan=48
    echocanceller=mg2,1-23
    dynamic=loc,2:2,2,0
    fxoks=49-50
    echocanceller=mg2,49-50
    dynamic=loc,2:3,2,0
    fxsks=51-52
    echocanceller=mg2,51-52
    

    如果您在系统上安装了 DAHDI,并将上述文件另存为 dahdi.conf,您可以在下面看到如何处理它以显示您的跨度。您所要做的就是配置星号来运行您想要的任何测试。

    # modprobe dahdi
    # dahdi_scan
    # dahdi_cfg -c dahdi.conf
    # dahdi_scan
    [1]
    active=yes
    alarms=OK
    description=Dynamic 'loc' span at '1:0'
    name=DYN/loc/1:0
    manufacturer=
    devicetype=DYN/loc/1:0
    location=
    basechan=1
    totchans=24
    irq=0
    type=digital-DYNAM
    syncsrc=0
    lbo=0 db (CSU)/0-133 feet (DSX-1)
    coding_opts=B8ZS,AMI,HDB3
    framing_opts=ESF,D4,CCS,CRC4
    coding=
    framing=CAS
    [2]
    active=yes
    alarms=OK
    description=Dynamic 'loc' span at '1:1'
    name=DYN/loc/1:1
    manufacturer=
    devicetype=DYN/loc/1:1
    location=
    basechan=25
    totchans=24
    irq=0
    type=digital-DYNAM
    syncsrc=0
    lbo=0 db (CSU)/0-133 feet (DSX-1)
    coding_opts=B8ZS,AMI,HDB3
    framing_opts=ESF,D4,CCS,CRC4
    coding=
    framing=CAS
    [3]
    active=yes
    alarms=OK
    description=Dynamic 'loc' span at '2:2'
    name=DYN/loc/2:2
    manufacturer=
    devicetype=DYN/loc/2:2
    location=
    basechan=49
    totchans=2
    irq=0
    type=digital-DYNAM
    syncsrc=0
    lbo=0 db (CSU)/0-133 feet (DSX-1)
    coding_opts=B8ZS,AMI,HDB3
    framing_opts=ESF,D4,CCS,CRC4
    coding=
    framing=CAS
    [4]
    active=yes
    alarms=OK
    description=Dynamic 'loc' span at '2:3'
    name=DYN/loc/2:3
    manufacturer=
    devicetype=DYN/loc/2:3
    location=
    basechan=51
    totchans=2
    irq=0
    type=digital-DYNAM
    syncsrc=0
    lbo=0 db (CSU)/0-133 feet (DSX-1)
    coding_opts=B8ZS,AMI,HDB3
    framing_opts=ESF,D4,CCS,CRC4
    coding=
    framing=CAS
    

    【讨论】:

      【解决方案2】:

      您还可以使用 IAXmodem 代码模拟类似调制解调器的操作。

      但是惠威1550 usb dongle售价10美元,也可以用来模拟真正的gsm设备(它通过usb-serial有AT命令,你可以处理音频)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-07-15
        • 2011-09-15
        • 1970-01-01
        • 1970-01-01
        • 2017-03-06
        • 2017-01-29
        • 1970-01-01
        • 2022-09-24
        相关资源
        最近更新 更多