- 作者:james.zhu(james.zhu@hiastar.com) www.hiastar.com 微信公眾號:asterisk-cn
- Asterisk課堂-如何通過源代碼安裝方式安裝Asteisk/dahdi
- Asterisk課堂-系統(tǒng)部署環(huán)境要求
- Asterisk課堂-Asterisk技術(shù)架構(gòu)
- Asterisk課堂-撥號規(guī)則基礎(chǔ)
- Asterisk課堂-創(chuàng)建第一個撥號規(guī)則
- Asterisk課堂-撥號規(guī)則中的Contexts

現(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é)果修改語法錯誤。