是的,Asterisk 有支援各種模組,裡面可以加入像 MySQL, Postgre SQL 這類資料庫,事實上它也有內建的資料庫,Asterisk 比較接近 Sqlite,底下用實例來說明:
exten => 678,1,NoOp()
same => n,Set(COUNT=${DB(test/count)})
same => n,GotoIf($[${ISNULL(${COUNT})}]?:continue)
same => n,Set(DB(test/count)=1)
same => n,Goto(1)
same => n(continue),NoOp()
same => n,Playback(silence/1)
same => n,SayNumber(${COUNT})
same => n,Set(COUNT=$[${COUNT} + 1])
same => n,Set(DB(test/count)=${COUNT})
- 讀資料 DB(FAMILY/KEY) 如上例的 ${DB(test/count)}
- 設定 Set(DB(FAMILY/KEY)=VALUE), 如上例的 Set(DB(test/count)=${COUNT})
- 刪資料:
- DB_DELETE(FAMILY/KEY)
- DBdeltree(FAMILY)
- 檢查資料是否存在 DB_EXIST(FAMILY/KEY),如果要順便讀取其值的話,可以在呼叫後由 DB_RESULT 變數取得
- 傳回所有的 KEYs DB_KEYS(PREFIX)
所謂的 FAMILY 可以想成『資料庫』、『檔案』或是「群組」
0 意見:
張貼留言