有人能解释一下在哪里使用 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 移动网络上拨打和接听电话。