日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FreeSwitch呼入处理流程

發布時間:2023/12/14 编程问答 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FreeSwitch呼入处理流程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? 為了簡單起見,本文分析一個單邊呼叫。讓終端呼入到FS,然后播放一個文件就退出,不執行FS的呼出動作。參考撥號方案:

<extension name="fs_one_way_inbound"><condition field="destination_number" expression="^10086$"><action application="sleep" data="1000 "/><action application="answer"/><action application="playback" data="ivr/8000/ivr-welcome_to_freeswitch.wav"/></condition></extension>

? ? ? ? Sofia棧捕獲INVITE消息后,處理100?Trying,調用模塊初始化時注冊的回調函數sofia_event_callback()。處理新的INVITE請求,首先調用switch_core_session_request_uuid()實例化Session對象,同時實例化Channel對象,并把Channel狀態初始化為CS_NEW,激活通道處理線程。

? ? ? ? Sofia棧進一步處理INVITE消息,拋出nua_i_invite事件通報事件進展,這時驅動狀態機變化,狀態機由CS_NEW狀態遷移到CS_INIT狀態。最終由狀態機核心代碼里的switch_core_standard_on_init()驅動狀態遷移到CS_ROUTING。進而執行核心回調switch_core_standard_on_routing(),這個函數執行撥號方案的定位與查找,記錄一個todo list,查找結束后,狀態遷移到CS_EXECUTE。核心回調switch_core_standard_on_execute()挨個執行前一步todo list的APP。執行answer時,會觸發?SIP的200?OK消息發出;當執行完最后一條APP后,觸發一個hangup,即發SIP?BYE消息。

? ? ? ? 后續的狀態遷移省略。

?

說明:呼叫狀態機會調用所有注冊的狀態回調函數,上圖中僅體現推動狀態遷移的關鍵調用。

總結

以上是生活随笔為你收集整理的FreeSwitch呼入处理流程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。