2015年4月26日 星期日

Kamailio pseudo variables ($)

虛擬變數 (pseudo variable, pvar,對應到內部的實際變數?) 以「$」開頭,如果需要字元「$」,寫成「$$」。有預先定義的虛擬變數及對應到 AVP (Attribute Value Pair) 或 Headers 的特殊虛擬變數,大部分由 pv 模組提供。詳細虛擬變數列表可見 Kamailio SIP Server v4.2.x (stable): Pseudo-Variables

$rc, $retcode:return code
$ru, $rd, $rU, $rp (來自 pv 模組):分別是 Request URI 及其 domain, user, port
$du (來自 pv 模組):destination URI,rewritehost() 等會設定 $du
$fd (來自 pv 模組):From domain
$td (來自 pv 模組):To domain
$sel(name):來自 pv 模組,相當於 @name
$branch(name): 取得額外分支的 name 屬性。可用 index 取得特定分支,沒有 index 代表第一個分支,-1 代表最後分支。
$var(name):自訂名為 name 的記憶體變數,值可為整數或字串,使用上比 AVP 快。

虛擬變數可以轉換成另一個值,例如字串長度、md5 值等,格式是 $(pv{transformation}),轉換用「{」、「}」包起來緊接在虛擬變數名稱後面,整個再用「(」、「)」包起來。大部分的虛擬變數轉換仍由 pv 模組提供。詳情見:http://www.kamailio.org/wiki/cookbooks/4.2.x/transformations

沒有留言:

張貼留言

SIP header Via

所有 SIP 訊息 都要有 Via,縮寫 v。一開始的 UAC 和後續途經的每個 proxy 都會疊加一個 Via 放傳送的位址,依序作為回應的路徑。 格式 sent-protocol sent-by [ ;branch= branch ][ ; 參數 ...] s...