複製鏈接
請複製以下鏈接發送給好友

AVP

(數據標識名稱)

鎖定
AVP(全稱是Attribute-Value Pair),科技術語,數據標識名稱。
外文名
AVP
類    型
科技術語
全    稱
Attribute-Value Pair

AVP技術簡介

AVP(Attribute-Value Pair)
VoIP服務使用AVP資源存儲通話前轉數據,屬性-值對的操作相當於是允許了對用户的首選項(user preferences)進行訪問和操作。AVP可以看作是與標識(字符串或整數)相關聯的一個值。在OpenSER的處理過程中,AVP與事務捆綁在一起。當事務開始時,AVP被分配,當其結束時,則被釋放。
AVPs的出現創造了一些服務實現和用户或域名的用户首選項處理的新的可能性。它們可以在配置腳本中被直接使用並從MySQL數據庫中加載數據。
屬性-值對的引用與變量的引用非常相似。
$avp(id[N])
Where ID is:
l si : name —— AVP標識名稱。“s”和“i”分別表示字符串和整數。
l name —— 別名AVP的名稱。可以是字符串,也可以是整數。
例子:
$avp (i: 700)
$avp (s: blacklist)
對於瞭解Asterisk的人來説,AVPOPS模塊之於OpenSER就相當於AstDB函數之與Asterisk。然而,實現方式非常不同,AVPs更加強大,允許一些更加高級的特性,如數據庫的查詢和直接將數據插入SIP包等。

AVP相關函數

有許多與AVPs相聯繫的函數如下:
l avp_db_load:將AVPs從數據庫加載至內存
l avp_db_store:將AVPs存進數據庫
l avp_db_delete:從數據庫中刪除AVPs
l avp_db_query:進行數據庫查詢並將結果存進AVP中
l avp_delete:從內存中刪除AVPs
l avp_pushto:將AVP的值插入sip消息
l avp_check:使用一個操作符和一個值來檢查AVP的值
l avp_copy:拷貝AVP到另一個
l avp_printf:格式化一個字符串到AVP
l avp_subst:查找並替換一個值到AVP
l avp_op:允許在AVPs上進行算術操作
l is_avp_set:檢查這個AVP名字是否被設置
l avp_print:打印內存中的所有AVPs(為了debug)