很多刚刚接触Asterisk的朋友在试验完内部通话组网后,兴冲冲的搞到一块digium兼容的PSTN卡,想把自己的Asterisk接入到PSTN网络,结果发现似乎不像刚开始试验时那么顺利了,在这里,我简单的把一些基础的通讯知识分享给大家,让大家在配置zaptel或dahdi时能减少一些迷惑(既然是个人经验,欢迎大家一起来补充,修整)
考虑大多数试验用户没有条件使用数字线路,关于数字线路的知识在未来再专帖讨论,本贴中讨论的是模拟接口(模拟信令),假设工作在zaptel下(dahdi和zapel的命令和配置文件的对应在google上很容易找到)
1.模拟接口
FXO-Foreign Exchange Office
FXS-Foreign Exchange Station
两者的差别就是FXS馈电(提供电压),而FXO不提供.普通模拟电话就是一个典型的FXO设备.
在真实的世界中,FXS和FXO总是成对出现的.由FXS接口向FXO接口馈电(提供电压),振铃;FXO向FXS传送号码(DTMF/FSK).所以对接时会出现fxs侧的用户需要首先呼叫到fxs,再二次拨号呼叫到被叫侧,而fxo侧用户可以一次直接呼叫被叫用户(一次拨号)。
在Asterisk中,FXO接口接受的是fxs信令和FXS提供给fxo信令.所以你在zapata中看到fxsXX(ls,gs,ks) 这个端口是FXO接口,如果是fxoXX(ls,gs,ks) 这个端口是FXS接口.
FXO用于连接PSTN(因为PSTN(FXS)向Asterisk的FXO接口馈电)
FXS用于连接普通电话机,(因为Asterisk通过FXS接口向模拟话机(FXO)提供馈电--这也就是为什么Asterisk接口卡上的FXS接口板需要外接电源的原因)
如果Asterisk位于企业程控交换机(PBX)的后面,Asterisk的FXO接口和PBX的模拟分机口相连,asterisk的FXS接口和PBX的模拟中继端口相连
2.模拟信令
loop start
Kewl start
grand start
这三个术语的具体区别牵扯到通讯专业领域了,普通用户需要了解的是grand start是需要专门申请的,一般用于中继线(它的好处就在于可以避免进线和出线的碰撞,提高线路使用率),而普通的电话线路一般是loop start的.Asterisk推荐的kewlstart也是一种loop start,只不过它识别supervisor disconnect信号(就是远端拆线后在发送忙音之前,发送这个信号.所以如果你的局端提供的是kewlstart信号,Asterisk默认的配置可以很正确的识别远端拆线,这也就是为什么默认的zapata.conf中不启用busydetect的原因).在中国大陆,主要采用的是loop start而北美采用的是kewlstart.
所以当你正确安装了卡板和驱动,但用默认的fxsks信令,拨号到pstn得到"all circuit busy now"的提示语时,尝试将zaptel.conf和zapata.conf中默认的fxsks改为fxsls--(修改完毕后需要重启机器而不是单纯重启asterisk)
3.恼人的忙音识别和拆线
前文提到FXO是被动接受型的
将Asterisk联入真实世界(PSTN)需要了解的(不断更新中)
最新推荐文章于 2022-11-02 21:46:00 发布