由於沒有實戰經驗,純屬理論分析,不能保證100%完全正確。
一、斷電逃生
未上電時,slic、slac和dsp都不能工作,此時通過繼電器直接將fxo口與fxs口相連,
相當於把fxs口的**直接連到fxo口上的pstn外線上。
2、板子上電後,slic、slac與dsp初始化正常,這時候控制繼電器,將fxs口與slic晶元連線,並斷開與fxo口的連線。
二、fxs從pstn線路呼出(透傳方式)
1、fxs口摘機後聽撥號音。
2、此時fxs口按fxo口外線字首號碼,如9,停止撥號音,進行上層邏輯處理(判斷出用透傳方式連線fxo口)。
3、呼叫endpt驅動控制fxo口摘機,並將fxs口線路vhd物件與fxo口線路vhd物件立即建立連線。
4、此時從pstn側傳來的播號音將通過fxoàslacàdsp,直接透傳到slic上對應fxs口的**。
5、同樣fxs口**後續按鍵也是直接傳到pstn線路上。
三、fxs從pstn線路呼出(非透傳方式)
1、fxs口摘機後聽撥號音。
2、此時fxs口按fxo口外線字首號碼,如9,停止撥號音,進行上層邏輯處理(判斷出用非透傳方式連線fxo口)。
3、此時dsp收集fxs口準備向pstn側傳送的號碼。
4、號碼收集完成後,呼叫endpt驅動控制fxo口摘機。
5、dsp檢測到fxo口有撥號音,則將之前收集的號碼傳送到pstn線路。
6、dsp檢測到fxo口有tone音生成事件,則將fxs口線路vhd物件與fxo口線路vhd物件建立連線。
四、收到pstn線路呼入,連線fxs口
1、slac晶元檢測到振鈴訊號後,上報給應用層。
2、應用層進行邏輯處理(需要直接連線對應的fxs口)。
3、此時給對應的fxs口放振鈴。
4、fxs口連線的**摘機後,停止振鈴,控制fxo口摘機,並將fxs口線路vhd物件與fxo口線路vhd物件建立連線。
五、收到pstn線路呼入,走ip線路
1、slac晶元檢測到振鈴訊號後,上報給應用層。
2、應用層進行邏輯處理(需要走ip線路)。
3、控制fxo口摘機,並給fxo口上pstn線路放播號音。
4、收集pstn線路上的dtmf按鍵,停止給pstn線路放播號音。
5、按鍵收集完後,向ip側發起呼叫。
6、最終與ip側對端建立信令連線後,通過將資源vhd物件與fxo口線路vhd物件連線來完成**通訊。
六、收到pstn線路呼入,加入三方通話。
1、slac晶元檢測到振鈴訊號後,上報給應用層。
2、應用層進行邏輯處理(需要將此fxo口呼入加入到當前正在通話的對話中)。
3、控制fxo口摘機,將fxo口的線路vhd與正在通話的資源vhd建立連線,來完成三方通話。
fxo和fxs(o口和s口)
本文主要是學習fxo口和fxs口概念的記錄。適合於非通訊專業的理解fxo和fxs。介紹 fxo和fxs有什麼區別?這個問題經常在voip中被提及。像我這樣非通訊專業的剛開始搞通訊時挺困惑的。fxs foreign exchange station,外部交換站 和fxo foreign exchang...
Redis應用場景
redis開創了一種新的資料儲存思路,使用redis,我們不用在面對功能單調的資料庫時,把精力放在如何把大象放進冰箱這樣的問題上,而是利用redis靈活多變的資料結構和資料操作,為不同的大象構建不同的冰箱。redis常用資料型別 redis最為常用的資料型別主要有以下五種 在具體描述這幾種資料型別之...
Redis應用場景
redis開創了一種新的資料儲存思路,使用redis,我們不用在面對功能單調的資料庫時,把精力放在如何把大象放進冰箱這樣的問題上,而是利用redis靈活多變的資料結構和資料操作,為不同的大象構建不同的冰箱。redis常用資料型別 redis最為常用的資料型別主要有以下五種 在具體描述這幾種資料型別之...