亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

FS SIP呼叫的消息線程和狀態(tài)機線程

系統(tǒng) 2460 0

THREAD

當收到一次呼叫的時候, FS 會在 TU 層創(chuàng)建兩個線程,一個線程為狀態(tài)機線程,另外一個為消息線程。狀態(tài)機線程通過 switch_core_session_thread_launch創(chuàng)建,顧名思義其作用是不斷的檢查channel 的狀態(tài),并進行處理。以下為詳細處理過程。

狀態(tài)機的執(zhí)行機制:

2 個回調函數(shù)

分別為:

const?switch_state_handler_table_t?*driver_state_handler?=?NULL;

const?switch_state_handler_table_t?*application_state_handler?=?NULL;

?

下面為具體的代碼分析:

FS 里面有大量的結構體,其變量的類型為函數(shù)指針。然后定義此結構,直接使用全局函數(shù)名稱進行初始化。達到回調的效果。

例:

結構體

struct?switch_state_handler_table?{

/*!?executed?when?the?state?changes?to?init?*/

switch_state_handler_t?on_init;

/*!?executed?when?the?state?changes?to?routing?*/

switch_state_handler_t?on_routing;

。。。。/ 這里只顯示部分

};

全局結構變量

switch_state_handler_table_t?sofia_event_handlers?=?{

/*.on_init?*/?sofia_on_init,

/*.on_routing?*/?sofia_on_routing,

。。。

};

通過sofia_event_handlers 即可對所有的函數(shù)進行調用。

?

通過宏定義進行回調

#define?STATE_MACRO(__STATE,?__STATE_STR)??do{....}while(...)

?

狀態(tài)機的回調過程,下圖:

?

??概括為:

1、根據(jù)狀態(tài)機的狀態(tài)執(zhí)行 mod_sofia 中對應的回調函數(shù)

2、根據(jù)狀態(tài)機的狀態(tài)執(zhí)行 application core 設置的對應的回調函數(shù)

3、如果狀態(tài)沒有發(fā)生改變根據(jù)狀態(tài)機的狀態(tài)執(zhí)行對應的 standard 函數(shù)

?

l?狀態(tài)機狀態(tài)一覽

typedef?enum?{

CS_NEW,

CS_INIT,

CS_ROUTING,

CS_SOFT_EXECUTE,

CS_EXECUTE,

CS_EXCHANGE_MEDIA,

CS_PARK,

CS_CONSUME_MEDIA,

CS_HIBERNATE,

CS_RESET,

CS_HANGUP,

CS_REPORTING,

CS_DESTROY,

CS_NONE

}?switch_channel_state_t;

以上為呼叫過程中的所有狀態(tài)機。其中標注藍色的狀態(tài)會根據(jù)當前狀態(tài)執(zhí)行狀態(tài)機函數(shù)。

修改 channel 狀態(tài)

channel 的狀態(tài)發(fā)生改變,進行修改時,會進行喚醒動作,把之前進入 sleep session 線程喚醒。然后從新執(zhí)行狀態(tài)機。

?

另外一個線程為消息線程,其功能為不斷的從呼叫對應的消息隊列里面取出消息,并進行處理,我在 SESSION 文檔里面有過描述,會創(chuàng)建一個消息隊列。

消息的處理會在消息隊列里面進行描述。這里不再消息講述。

FS SIP呼叫的消息線程和狀態(tài)機線程


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲福利视频一区二区三区 | 激情五月宗合网 | 日韩亚洲第一页 | 欧美乱人免费视频观看 | 老司机成人午夜精品福利视频 | 伊人久热这里只精品视频 | 欧美男女啪啪 | 天天操天天摸天天射 | 成 人国产在线观看高清不卡 | 国产精品网站在线观看 | 久久国产精品999 | 欧美高清成人 | 国产草草视频 | 久久一日本道色综合久久m 久久一色本道亚洲 | 伊人中文在线 | 精品久 | 综合 欧美 国产 视频二区 | 中文字幕不卡免费视频 | 欧美成人性videos | 97在线免费观看视频 | 亚洲三级久久 | 欧美性xxxxxx性 | 99re这里只有精品99 | 欧美黑人巨大xxxxxxxx | 天天综合久久 | 国产日韩美国成人 | 国产亚洲精品九九久在线观看 | 色啦啦在线观看 | 日本一区二区三区免费高清在线 | 四虎精品成人免费视频 | 国产精品真实对白精彩久久 | 久久亚洲精中文字幕冲田杏梨 | 性做久久久久久久久25的美女 | 日韩精品一区二区三区 在线观看 | 久久精品国产亚洲精品2020 | 国产日韩精品欧美一区色 | 欧美性xxxxxx爱 | 免费人成年短视频在线观看网站 | 欧美一级一极性活片免费观看 | 成人欧美一区二区三区黑人 | 久草在线国产视频 |