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

現(xiàn)在我們具體說明一下關(guān)contexts 幾個(gè)方面的內(nèi)容:
正確準(zhǔn)確的context 定義:context 和其他開發(fā)語言一樣,定義任何變量,要明確變量的含義,已讀,含義明確。不要使用無含義的定義,不要使用空格。另外,相同分機(jī)號(hào)碼可以分別定義在不同的context中,不會(huì)發(fā)生沖突。

注釋方式,用戶要注意配置文件中的注釋方式,語法方式和linux 其他的配置文件的方式完全相同。注意無效的注釋,可能導(dǎo)致語法錯(cuò)誤。

分機(jī)配置文件中的Context必須匹配撥號(hào)規(guī)則中的Context, 如果不能匹配,可能導(dǎo)致錯(cuò)誤-系統(tǒng)播放分機(jī)不存在。

Context中包含另外一個(gè)context,撥號(hào)規(guī)則執(zhí)行了第一個(gè)context會(huì)繼續(xù)執(zhí)行包含的context。如下舉例:用戶撥打了分機(jī)500,最后執(zhí)行到了8500, 然后進(jìn)入語音郵箱,最后掛機(jī)。

撥號(hào)規(guī)則執(zhí)行查詢順序: 首先查詢目前定義的分機(jī),然后查詢模式匹配,第三查詢include 文件,最后查詢switch 聲明。
Contexts 是撥號(hào)規(guī)則中最為核心的部分,用戶命名contexts 時(shí)一定要給定清晰度名稱,比如:internal-users, from-external,from-pstn 等等,這些都是非常好的命名習(xí)慣,不要命名一些無實(shí)際含義的名稱。另外,如果用戶在編寫contexts 時(shí)發(fā)生錯(cuò)誤,根據(jù)系統(tǒng)CLI輸出結(jié)果修改語法錯(cuò)誤。