Asterisk、GSM-FXO 网关使用示例

Asterisk、GSM-FXO 网关使用示例

有人能解释一下在哪里使用 GSM-FXO 网关吗?我知道在哪里使用 GSM-FXS - 例如将模拟电话连接到 gsm 网关。但是我们是否使用 GSM-FXO 连接两个电话站?

答案1

我必须承认我以前从未遇到过这样的设备,因此我的回答仅基于疯狂的猜测:)

您肯定知道,FXO 定义了面向运营商网络的接口。与 FXS 不同,FXO 不提供拨号音、线路电压等,而是可以将号码拨打到网络。

现在,根据网关的功能集,最合理的方案是将移动用户添加到仅配备模拟分机端口的 PBX 的搜索组或跟随我脚本中

还有一些更复杂的想法(例如终止移动流量),但与前一个相比,这些想法的意义要小得多。

答案2

GSM FXO 在操作方面与模拟 FXO 没有区别,区别仅在于其连接的介质。

我的网络上有一个,我用它将我的 Analouge BT 电话线连接到我的 Asterisk PBX 服务,这样当来电进入我的英国固定电话线时,它们就会被 asterisk 接收并进行适当的处​​理。

就我而言,我使用 FXO(通常称为 PABT 单元)来监视振铃信号,然后它以标准 SIP VOIP 通信的形式将该振铃信号传递给 Asterisk。

就 Asterisk 而言,它看起来就像网络上的另一个分机,但我已将其标记为进入不同的拨号计划。

然后,我的拨号计划会查看来电号码,并将其与某些内容进行比较,例如我的垃圾邮件黑名单和来电显示查询数据库。

根据入站号码,电话会被挂断,或者我会玩猴子游戏,重新路由到 VPS 等。

如果我决定允许呼叫通过,我会使用 asterisk AGI 将入站号码更改为名称,然后该名称会显示在我的 VOIP 电话上。

我也用另一种方式来工作。

如果我在我的 Asterisk 交换机上拨打给定的前缀,我可以通过我的 BT 固定电话线发送一个号码。其他前缀允许我从 2 或 3 个不同的 voip 提供商中进行选择。

我拥有的设备是 Linksys SPA3000。我不会描述设备上的实际设置,因为这是特定于该特定品牌的,但就星号而言:

在 extensions.conf 中我有

;--------------- External calls coming in from BT line enter here -----------------------------------------
exten => BTLINENUMBER,1,Verbose(2,Starting default dialplan for BTLINENUMBER extension)
  same => n,GotoIf($["${CALLERID(num)}" = ""]?nocid)

  ; We end up here if caller ID was presented
  same => n,AGI(${inboundLog})
  same => n,Dial(${Office1}&${Attic}&${PetersPC}, 15, x)
  same => n,VoiceMail(${GlobalVM},u)
  same => n,Hangup()

  ; We end up here if caller ID was not presented
  same => n(nocid),Playback(silence/4)
  same => n,AGI(${withheldlog})
  same => n,Read(menukey,"custom/pbx-witheld",1)
  same => n,GotoIf($["${menukey}" = "1"]?leavemessage)
  same => n,GotoIf($["${menukey}" = "2"]?bookcall)
  same => n,Playback(vm-goodbye);
  same => n,Hangup()

  ; Witheld caller can leave a voice message
  same => n(leavemessage),Verbose(2,Leave a message here)
  same => n,Goto(voicemailwitheld,1,1)
  same => n,Hangup();

  ; Witheld caller can use call booking service
  same => n(bookcall),Verbose(2,book a call here)
  same => n,Playback(custom/no-booking-service)
  same => n,Hangup();

[voicemailglobal]
exten => 1,1,Verbose(2,Starting voicemail global)
  same => n,VoiceMail(${GlobalVM},u)
  same => n,Hangup()

[voicemailpeter]
exten => 1,1,Verbose(2,Starting voicemail peter)
  same => n,VoiceMail(${PetersVM},u)
  same => n,Hangup()

[voicemailsam]
exten => 1,1,Verbose(2,Starting voicemail sam)
  same => n,VoiceMail(${SamsVM},u)
  same => n,Hangup()

[voicemailwitheld]
exten => 1,1,Verbose(2,Starting voicemail global)
  same => n,VoiceMail(${WitheldVM},b)
  same => n,Hangup()

在 sip.conf 中我有以下条目

[PSTN]
type=peer
context=default
canreinvite=no
nat=no
host=192.168.17.99
port=5061
callerid="BTPHONENUMBER"
dtmfmode=rfc2833

如您所见,它被设置为非身份验证对等连接。与大多数手机的常规连接不同,您通常需要定期进行身份验证然后重新注册。

您可以看到上下文已从扩展文件中设置为上面显示的上下文,然后剩下要做的就是使用 PSTN 信息配置您的 FXO 设备以将所有呼叫转发而不应答到您的星号箱。

在我的例子中,这涉及发送来电者 ID(我已将其更改为 BTPHONENUMBER 以防止骚扰电话)并确保 FXO 单元传递 IP 和端口。

如何将 FXO 连接到 asterisk 完全取决于它的型号,但以与我相同的方式连接应该允许您在 GSM 移动网络上拨打和接听电话。

相关内容