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

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

注釋方式,用戶(hù)要注意配置文件中的注釋方式,語(yǔ)法方式和linux 其他的配置文件的方式完全相同。注意無(wú)效的注釋?zhuān)赡軐е抡Z(yǔ)法錯誤。

分機配置文件中的Context必須匹配撥號規則中的Context, 如果不能匹配,可能導致錯誤-系統播放分機不存在。

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

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