本章節(jié)重點介紹asterisk撥號規(guī)則中的contexts. 在以前的介紹中,我們解釋了contexts 的含義。視頻中介紹了如何使用contexts 和相關(guān)使用方式。
現(xiàn)在我們具體說明一下關(guān)contexts 幾個方面的內(nèi)容:
正確準(zhǔn)確的context 定義:context 和其他開發(fā)語言一樣,定義任何變量,要明確變量的含義,已讀,含義明確。不要使用無含義的定義,不要使用空格。另外,相同分機號碼可以分別定義在不同的context中,不會發(fā)生沖突。
注釋方式,用戶要注意配置文件中的注釋方式,語法方式和linux 其他的配置文件的方式完全相同。注意無效的注釋,可能導(dǎo)致語法錯誤。
分機配置文件中的Context必須匹配撥號規(guī)則中的Context, 如果不能匹配,可能導(dǎo)致錯誤-系統(tǒng)播放分機不存在。
Context中包含另外一個context,撥號規(guī)則執(zhí)行了第一個context會繼續(xù)執(zhí)行包含的context。如下舉例:用戶撥打了分機500,最后執(zhí)行到了8500, 然后進入語音郵箱,最后掛機。
撥號規(guī)則執(zhí)行查詢順序: 首先查詢目前定義的分機,然后查詢模式匹配,第三查詢include 文件,最后查詢switch 聲明。
Contexts 是撥號規(guī)則中最為核心的部分,用戶命名contexts 時一定要給定清晰度名稱,比如:internal-users, from-external,from-pstn 等等,這些都是非常好的命名習(xí)慣,不要命名一些無實際含義的名稱。另外,如果用戶在編寫contexts 時發(fā)生錯誤,根據(jù)系統(tǒng)CLI輸出結(jié)果修改語法錯誤。