Asterisk中的pjsip_module默認優先級列表

版權聲明:本文爲博主(寬簡厚重,Yuesichiu)原創文章,未經博主允許不得轉載。
https://blog.csdn.net/yuesichiu/article/details/103738989

一、概述

由於Asterisk-17.0.0版本下的SIP協議棧是基於Pjproject的,因此res_pjsip也是遵循pjsip的Filter模式。

1、接收數據

      在該Filter模式下,採用收數據時是從高優先級開始接收(Priority值越大,優先級越低),如果該模塊能處理或者出錯就返回TRUE,否則就爲PJ_FALSE,繼續往上層傳遞(PJSIP是分層設計的,應用層在最上層)。

2、發送數據

      在該Filter模式下,由於應用程序爲最高,優先級最低(Priority數值最大),因此傳輸順序爲低優先級調用下層提供的接口依次傳遞數據。最後會調用到PJSIP transport層(UDP/TCP/TLS/WS/WSS)。

 

版權聲明:本文爲博主(寬簡厚重,Yuesichiu)原創文章,未經博主允許不得轉載。
https://blog.csdn.net/yuesichiu/article/details/103738989

 

二、Asterisk中的PJSIP模塊優先級

 

1、優先級64 global_header_mod

static pjsip_module global_header_mod = {

    .name = {"Global headers", 13},

    .priority = PJSIP_MOD_PRIORITY_APPLICATION,

    .on_tx_request = add_request_headers,

    .on_tx_response = add_response_headers,

};

 

2、優先級64 options_module

static pjsip_module options_module = {

    .name = {"Options Module", 14},

    .id = -1,

    .priority = PJSIP_MOD_PRIORITY_APPLICATION,

    .on_rx_request = options_on_rx_request,

};

 

3、優先級64 messaging_module

static pjsip_module messaging_module = {

    .name = {"Messaging Module", 16},

    .id = -1,

    .priority = PJSIP_MOD_PRIORITY_APPLICATION,

    .on_rx_request = module_on_rx_request,

};

 

 

4、優先級64 pubsub_module

static struct pjsip_module pubsub_module = {

    .name = { "PubSub Module", 13 },

    .priority = PJSIP_MOD_PRIORITY_APPLICATION,

    .on_rx_request = pubsub_on_rx_request,

};

 

5、優先級64 registrar_module

static pjsip_module registrar_module = {

    .name = { "Registrar", 9 },

    .id = -1,

    .priority = PJSIP_MOD_PRIORITY_APPLICATION,

    .on_rx_request = registrar_on_rx_request,

};

 

6、優先級64 session_module

static pjsip_module session_module = {

    .name = {"Session Module", 14},

    .priority = PJSIP_MOD_PRIORITY_APPLICATION,

    .on_rx_request = session_on_rx_request,

};

 

7、優先級63 supplement_module

static pjsip_module supplement_module = {

    .name = { "Out of dialog supplement hook", 29 },

    .id = -1,

    .priority = PJSIP_MOD_PRIORITY_APPLICATION - 1,

    .on_rx_request = supplement_on_rx_request,

};

 

8、優先級62 auth_mod(pjsip_distributor.c文件)

static pjsip_module auth_mod = {

    .name = {"Request Authenticator", 21},

    .priority = PJSIP_MOD_PRIORITY_APPLICATION - 2,

    .on_rx_request = authenticate,

};

 

9、優先級48 outbound_invite_auth_module

static pjsip_module outbound_invite_auth_module = {

    .name = {"Outbound INVITE Auth", 20},

    .priority = PJSIP_MOD_PRIORITY_DIALOG_USAGE,

    .on_rx_response = outbound_invite_auth,

};

 

10、優先級33 session_reinvite_module

static pjsip_module session_reinvite_module = {

    .name = { "Session Re-Invite Module", 24 },

    .priority = PJSIP_MOD_PRIORITY_UA_PROXY_LAYER - 1,

    .on_rx_request = session_reinvite_on_rx_request,

};

11、優先級15 filter_module_tsx

static pjsip_module filter_module_tsx = {

    .name = { "Message Filtering TSX", 21 },

    .id = -1,

    .priority = PJSIP_MOD_PRIORITY_TSX_LAYER - 1,

    .on_tx_request = filter_on_tx_message,

    .on_tx_response = filter_on_tx_message,

};

 

12、優先級14 nat_module

static pjsip_module nat_module = {

    .name = { "NAT", 3 },

    .id = -1,

    .priority = PJSIP_MOD_PRIORITY_TSX_LAYER - 2,

    .on_rx_request = nat_on_rx_message,

    .on_rx_response = nat_on_rx_message,

    .on_tx_request = nat_on_tx_message,

    .on_tx_response = nat_on_tx_message,

};

 

13、優先級14 sips_contact_module

static pjsip_module sips_contact_module = {

    .name = {"SIPS Contact", 12 },

    .id = -1,

    .priority = PJSIP_MOD_PRIORITY_TSX_LAYER - 2,

    .on_tx_request = sips_contact_on_tx_request,

};

 

14、優先級13 endpoint_mod(pjsip_distributor.c文件)

static pjsip_module endpoint_mod = {

    .name = {"Endpoint Identifier", 19},

    .priority = PJSIP_MOD_PRIORITY_TSX_LAYER - 3,

    .on_rx_request = endpoint_lookup,

};

 

15、優先級11 idle_monitor_module

static pjsip_module idle_monitor_module = {

    .name = {"idle monitor module", 19},

    .priority = PJSIP_MOD_PRIORITY_TRANSPORT_LAYER + 3,

    .on_rx_request = idle_monitor_on_rx_request,

};

 

16、優先級10 distributor_mod(pjsip_distributor.c文件)

static pjsip_module distributor_mod = {

    .name = {"Request Distributor", 19},

    .priority = PJSIP_MOD_PRIORITY_TSX_LAYER - 6,

    .on_tx_request = record_serializer,

    .on_rx_request = distributor,

    .on_rx_response = distributor,

};

 

17、優先級8 filter_module_transport

static pjsip_module filter_module_transport = {

    .name = { "Message Filtering Transport", 27 },

    .id = -1,

    .priority = PJSIP_MOD_PRIORITY_TRANSPORT_LAYER,

    .on_rx_request = filter_on_rx_message,

};

 

18、優先級8 websocket_module

static pjsip_module websocket_module = {

    .name = { "WebSocket Transport Module", 26 },

    .id = -1,

    .priority = PJSIP_MOD_PRIORITY_TRANSPORT_LAYER,

    .on_rx_request = websocket_on_rx_msg,

    .on_rx_response = websocket_on_rx_msg,

};

 

19、優先級1 acl_module

static pjsip_module acl_module = {

    .name = { "ACL Module", 14 },

    /* This should run after a logger but before anything else */

    .priority = 1,

    .on_rx_request = acl_on_rx_msg,

};

 

20、優先級0 logging_module

static pjsip_module logging_module = {

    .name = { "HEPv3 Logging Module", 20 },

    .priority = 0,

    .on_rx_request = logging_on_rx_msg,

    .on_rx_response = logging_on_rx_msg,

    .on_tx_request = logging_on_tx_msg,

    .on_tx_response = logging_on_tx_msg,

};

 

21、優先級0 logging_module

static pjsip_module logging_module = {

    .name = { "History Module", 14 },

    .priority = 0,

    .on_rx_request = history_on_rx_msg,

    .on_rx_response = history_on_rx_msg,

    .on_tx_request = history_on_tx_msg,

    .on_tx_response = history_on_tx_msg,

};

 

22、優先級0 logging_module

static pjsip_module logging_module = {

    .name = { "Logging Module", 14 },

    .priority = 0,

    .on_rx_request = logging_on_rx_msg,

    .on_rx_response = logging_on_rx_msg,

    .on_tx_request = logging_on_tx_msg,

    .on_tx_response = logging_on_tx_msg,

};

 

版權聲明:本文爲博主(寬簡厚重,Yuesichiu)原創文章,未經博主允許不得轉載。
https://blog.csdn.net/yuesichiu/article/details/103738989

快捷入羣,請使用QQ掃二維碼,期待大家的加入!
這裏寫圖片描述

原文地址:https://blog.csdn.net/yuesichiu/article/details/103738989

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章