OpenSIPS Dispatcher 模塊 使用指南

便於大夥學習,翻譯了官方文檔。如有不妥之處,請見諒,望聯繫。
 
目錄表:
1.管理指南
1.1 概況
1.2 依賴
1.3 導出參數( Exported Parameters)
1.4 導出函數(Exported Function)
1.5 導出MI函數
1.6 導出事件
1.7 安裝和運行
 
2. 高頻提問
 
3. 貢獻者
3.1 按提交統計
3.2  按提交活動統計
 
4. 文檔
 
正文部分:
 
1.1 概況
 
1.2 依賴
 
1.3 導出參數( Exported Parameters)
 
1.4 導出函數(Exported Function)
1.4.1  ds_select_dst(set, alg [, (flags M max_results)*])
該方法從給定的地址集中挑選一個目的地。它會覆寫SIP請求($du)的“destination URI”值。
以下是各個參數的意義:
  • set  - 分區名稱,後面跟冒號、領取到目的地址的集合ID或集合ID列表(接受變量)。如果缺少分區名稱,將使用默認分區。
  • alg  -  用於選擇目標地址的算法(接受變量):
    • “0”: 在callid上哈希
    • “1”:在“from uri“上哈希
    • “2”:在“to uri“上哈希
    • “3”:在“request uri”上哈希
    • “4”:加權輪詢(下一個目的地)
    • “5”:通過授權用戶名( authorization-username)哈希
    • “6”:隨機(使用rand())
    • “7”: 哈希PVs字符串的內容。注意:僅當設置參數hash_pvar時,此方法纔有效。
    • “8”: 選擇集合中的第一個條目
    • “9”: pvar_algo_pattern參數用於確定每個服務器上的負載。如果未指定參數,則選擇集合中的第一個條目
    • “X”: 如果未實現該算法,則選擇集合中的第一個條目
 
  • flags  M max_results  如果指定,這將是在啓動時指定的先前版本中的標誌。這些標誌是:
    • 'f'/ 'F':支持failover。
    • 'u'/'U':用戶唯一。 將指定僅uri用戶部分將用於哈希。
    • 'S'/'s':強制目的地。如果目的地址已經設置,將跳過覆寫目的地址。
    • 'D'/'d':默認。 使用目的地中的最後一個地址作爲最後一個選項來發送消息。
 
 
你也可以使用PVs指定這些標誌。這些標誌按分區保留。
第二個參數max_results表示最多隻能將max_results的最大值放入指定的avp中以進行failover操作。這樣可以有許多目的地,但 如果某個數字註定會在任何地方失敗,則可以限制無用的流量。從2.1版開始,最後一個參數可以由flags和max_results的列表表示,並用逗號分隔。你可以僅指定標誌,也可以僅指定max_results參數,但是如果要一起指定它們,則必須使用'M'字符,如下實例:flags M max_results。
 
如果設置了'flags'中的字符'f',則目標集中的其餘地址將存儲在AVP列表中。你可以使用"ds_next_dst()"來使用下一個地址來實現到所有可能目的地的串行分支。如果使用多個調度組,則根據列表中每個調度ID的位置來構造AVP列表:第一個具有較高的優先級,其次是第二個,依此類推。
 
可以在REQUEST_ROUTE,BRANCH_ROUTE和FAILURE_ROUTE中使用此函數。
 
例子 1.33  ds_select_dst 的用法
...
ds_select_dst("1", "0");
...
ds_select_dst("part2 : 1", "0", "5");
...
ds_select_dst("part3 : 1", "0", "fUsD");
...
ds_select_dst("part4 : 2,3", "0,1", "fuD M 5, fuS M 2");
...
# dispatch over multiple dispatching groups
$var(part_name) = "p4"
$var(setid) = "1, 2";
$var(alg) = "4, 2";
$var(flags) = " sFDU M 2, fuS M 3";
ds_select_dst("$var(part_name):$var(setid)","$var(alg)","$var(flags)");
...

 

1.5 導出MI函數
 
1.6 導出事件
 
1.7 安裝和運行
 
 
 
附註:持續更新
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章