asterisk 配置 mysql_Asterisk的配置详解
Asterisk的配置文件都在/etc/asterisk目錄下,重要的配置文件有:
sip.conf??????????????????????sip電話基本配置
extensions.conf????????撥號(hào)規(guī)則
voicemail.conf???????????????????配置語音信箱
meetme.conf???????????會(huì)議室
http.conf???????????????????web界面相關(guān)
manager.conf???????????web界面相關(guān)
cdr_mysql.conf???????詳單數(shù)據(jù)庫
res_mysql.conf????????mysql數(shù)據(jù)庫配置
features.conf???????????自定義按鍵配置,同時(shí)還有一些系統(tǒng)默認(rèn)的功能鍵
modules.conf??????????定義了系統(tǒng)啟動(dòng)時(shí)加載的模塊
logger.conf??????????????日志
sip--會(huì)話初始協(xié)議,通常用于voip電話,進(jìn)行呼叫建立、呼叫結(jié)束以及呼叫進(jìn)程中的協(xié)商。基本上,它幫助二個(gè)端點(diǎn)互相通話。sip不處理媒體;當(dāng)呼叫建立之后,它通過實(shí)時(shí)傳輸協(xié)議在電話之間直接傳輸媒體。
SIP使用UDP5060端口進(jìn)行通信,目前asterisk沒有TCP用于傳輸,但以后的版本可能會(huì)支持。我們所說的媒體是指端點(diǎn)之間傳輸?shù)挠糜谠诹硪欢它c(diǎn)重建你的聲音數(shù)據(jù)。同樣也指pbx音樂或聲音提示。
RTP用于在端點(diǎn)之間傳輸媒體。Asterisk中RTP使用大數(shù)字的無特權(quán)的端口(默認(rèn)10000至20000)
SIP不是第一個(gè),也不是唯一一個(gè)我們使用的VOIP協(xié)議(其它包括H.323,MGCP,IAX等),但是目前SIP似乎是硬件廠商最大的動(dòng)力。SIP協(xié)議的優(yōu)點(diǎn)是普遍的被接受和結(jié)構(gòu)靈活,簡單。
下面是基本的sip.conf配置:
1 [10001]2 type=friend; ;可以定義用戶(user)\端(peer)\朋友(friend)3 secret=10001 ;鏈接服務(wù)器的密碼4 host=dynamic; ; 動(dòng)態(tài)主機(jī)地址,需要注冊(cè)到服務(wù)器5 context=default; ;系統(tǒng)分組default 默認(rèn)不分組暗指所有6 username=10001; ;用戶名可以省略7 mailbox=10001@default ;語音信箱8 ;record_out=Always; ;去電錄音Adhoc需要時(shí),Never從不,Always總是9 ;record_in=Never ;來電錄音10 ;callgroup ;呼叫分組,默認(rèn)是"1"11 ;pickupgroup ;帶接組12 ;disallow ;不允許編碼13 port=5060; ;通信端口號(hào)14 qualify=yes; ;監(jiān)視asterisk服務(wù)器與電話之間是否延時(shí)(默認(rèn)2000可達(dá);yes也可替換毫秒)15 nat=yes; ;如果一個(gè)號(hào)碼在NAT設(shè)備后面,例如路由器或者防火墻,必須配置nat=yes,強(qiáng)迫asterisk忽略號(hào)碼的聯(lián)系信息,使用收到的包的地址信息16
17 [10002]18 type=friend; ;可以定義用戶(user)\端(peer)\朋友(friend)19 secret=10002 ;鏈接服務(wù)器的密碼20 host=dynamic; ; 動(dòng)態(tài)主機(jī)地址,需要注冊(cè)到服務(wù)器21 context=default; ;系統(tǒng)分組default 默認(rèn)不分組暗指所有22 username=10001; ;用戶名可以省略23 mailbox=10001@default ;語音信箱24 ;record_out=Always; ;去電錄音Adhoc需要時(shí),Never從不,Always總是25 ;record_in=Never ;來電錄音26 ;callgroup ;呼叫分組,默認(rèn)是"1"27 ;pickupgroup ;帶接組28 ;disallow ;不允許編碼29 port=5060; ;通信端口號(hào)30 qualify=yes; ;監(jiān)視asterisk服務(wù)器與電話之間是否延時(shí)(默認(rèn)2000可達(dá);yes也可替換毫秒)31 nat=yes; ;如果一個(gè)號(hào)碼在NAT設(shè)備后面,例如路由器或者防火墻,必須配置nat=yes,強(qiáng)迫asterisk忽略號(hào)碼的聯(lián)系信息,使用收到的包的地址信息32
33 ;context=internal 定義了指令地點(diǎn),用于控制電話的權(quán)限,以及如何處理此號(hào)碼的呼入呼叫。sip.conf中設(shè)置的context名稱和extensions.conf中的匹配。
extensions.conf的配置
1.Answer()應(yīng)用用于接聽正在振鈴的通道
2.Playback()應(yīng)用用于在通道上播放事先錄制好的語音文件。在使用Playback()應(yīng)用時(shí),系統(tǒng)不會(huì)理會(huì)來自用戶的輸入。若要使用Playback(),要指定一個(gè)文件名(不需要帶擴(kuò)展名)作為參考。要特別說明的事,您也可以在文件名上包括完整的路徑。
3.Hangup()應(yīng)用掛斷一個(gè)正在活動(dòng)的通道。
4.Background()應(yīng)用播放事先錄制好的語音文件當(dāng)主叫方按下電話鍵的時(shí)候,會(huì)中斷語音的播放,轉(zhuǎn)到與所按數(shù)字對(duì)應(yīng)的extension。Background()應(yīng)用通常用于創(chuàng)建語音菜單。
5.Goto()應(yīng)用它用于把呼叫發(fā)送到另一個(gè)context、extension以及priority
6.需要一個(gè)extension來處理主叫方?jīng)]有及時(shí)輸入的情況。如果主叫方在Background()完成語音文件播放后很久才按鍵,呼叫將被轉(zhuǎn)移到textension。需要一個(gè)用來處理非法輸入的extension,從而在主叫方按下一個(gè)無效輸入
7.Dial()應(yīng)用把不同的主叫方鏈接到一起。Dial()需要4個(gè)參數(shù)。第1個(gè)是呼叫的被叫地,由呼叫所采用的技術(shù)、反斜線、遠(yuǎn)地資源等組成。Dial()應(yīng)用的第2個(gè)參量是超時(shí),單位為秒。如果給定了超時(shí)參量,Dial()會(huì)一直對(duì)被叫地進(jìn)行呼叫,直到有人接聽,或者主叫掛斷。Dial()應(yīng)用的第3個(gè)參量是可選擇的字符串。它包含一個(gè)或多個(gè)能夠影響Dial()應(yīng)用行為的字符。選項(xiàng)的列表太長,不能在這里逐一列出。最常用的一個(gè)是字母r。如果把字母作為第 3 個(gè)參量,在通知被叫通道有來電的這段時(shí)間內(nèi),主叫方會(huì)聽到振鈴聲音。Dial( )應(yīng)用的最后一個(gè)參量是URL。如果被叫通道支持在呼叫的同時(shí)接受URL,那么所指定的 URL將被發(fā)送。這個(gè)參量很少使用。
1 [general]2 exten => 10001,1,Dial(SIP/10001);3 exten => 10002,1,Dial(SIP/10002);
簡單的例子說明:
(1)????應(yīng)答,播放語音,掛掉
exten=>s,1,answer ;?接聽
exten=>s,2,Playback(hello-world);播放語音文件
exten=>s,3,hangup();掛斷
范例:
exten=>123,1,Answer
exten=>123,2,Playback(tt-weasels)
exten=>123,3,Voicemail(44)
exten=>123,4,Hangup
這是單個(gè)名為“123”的extension的定義。但一個(gè)呼叫被安排到?extension 123,Asterisk將自己回答這個(gè)呼叫,播放一個(gè)名為“tt-weasels”的聲音文件,提示用戶是否留下語音郵件,然后掛斷電話。
應(yīng)該注意的是,Asterisk沒有關(guān)注這幾行代碼在extensions.conf文件中的順序。
語音信箱的使用和配置
在voicemail.conf中建立語音信箱
8001=>1234,8001,8001@device;
說明:箭頭左邊的8001是郵箱號(hào)碼,箭頭右邊1234是郵箱的密碼,8001是郵箱主人的名字,8001@device是郵箱所有者的Email地址
在extension.conf中添加語句
exten=>_X.,1,Dial(SIP/${EXTEN},r,10)???????? ??;呼叫連接當(dāng)前的通道
exten=>_X.,2,Voicemail(u${EXTEN}@default)?????;在十秒鐘內(nèi)沒有接聽電話,不可用的信息能被播放
exten=>_X.,102,Voicemail(b${EXTEN}@default)??;它將我們的呼叫送往語音郵件,將聽到忙的消息
電話會(huì)議的配置
[rooms]
conf=>1001,1111,2222?聲明會(huì)議室號(hào)是1001,普通用戶進(jìn)入密碼1111,管理員密碼2222
要使用web功能要配置http.conf,manager.conf
如要使用web功能,在這兩http.conf中設(shè)置:
enabled=yes
enablestatic=yes
在manager.conf中設(shè)置:
[general]
displaysystemname = yes
enabled = yes
webenabled = yes
port = 5038
[administrator]//添加asterisk
gui用戶
secret = 123456
read = system,call,log,verbose,command,agent,user,config
write = system,call,log,verbose,command,agent,user,config
[astbillman]//添加astbill用戶
secret = ab87AstBtii3
deny=0.0.0.0/0.0.0.0
;permit=81.229.203.216/255.255.255.255
permit=127.0.0.1/255.255.255.255
read = system,call,log,verbose,command,agent,user
write = system,call,log,verbose,command,agent,user
cdr_mysql.conf的配置
[global]
hostname=localhost;
dbname=asteriskcdrdb
table=cdr
password=password
user=asteriskcdruser
port=3306
sock=/var/lib/mysql/mysql.sock
userfield=1
在每次通話結(jié)束后,運(yùn)行mysql,使用asteriskcdrdb數(shù)據(jù)庫就能看到cdr表下產(chǎn)生的話單
res_mysql.conf?配置
[general]
dbhost = localhost? ?//astbill?數(shù)據(jù)庫
dbname = astbill
dbuser = astbilluser
dbpass = astbill419
dbport = 3306
dbsock = /var/lib/mysql/mysql.sock
logger.conf配置
[logfiles]
debug => debug
console => notice,warning,error
messages => notice,warning,error??//都是設(shè)置要輸出的信息。
;保存在/var/log/asterisk下
[default]
include => DID //包含DID context
include => featuremap //可以使用features.conf中定義的功能
include => parkedcalls //支持call park
exten => 1000,1,saydigits(${EXTEN})
exten =>
1000,2,Set(DYNAMIC_FEATURES=testfeature#musichold#record#unrecord)
exten => 1000,3,background(hello-world)
exten => 1000,4,waitexten(10,m)
exten => i,1,playback(pbx-invalid)
exten => i,2,goto(default,1000,1)
exten => t,1,playback(vm-goodbye)
exten => t,2,hangup()
exten => 1,1,goto(internal,s,1)
exten => _9.,1,goto(out-bound,s,1) //撥9呼外線,需另外寫out-bound context。
exten =>
500,1,voicemailmain() //收聽語音信箱內(nèi)容
exten => 500,2,hangup()
exten =>
1234,1,meetme(,IpM) //撥500加入會(huì)議,會(huì)提示輸入會(huì)議號(hào)和密碼
exten => _5XXX,1,Dial(SIP/ServerA/${EXTEN:1},30,r) //撥5呼叫serverA下的用戶
exten => _5XXX,2,Answer()
exent => _5XXX,3,hangup()
[internal]
include => featuremap
include => parkedcalls
exten => s,1,Ringing
exten => s,n,wait,2
exten => s,n,background(enter-ext-of-person)
exten => s,n,waitexten(10,m)
exten => _1XX,1,wait(3)
exten =>
_1XX,2,Set(DYNAMIC_FEATURES=testfeature#musichold#record#unrecord)
exten => _1XX,3,Dial(SIP/${EXTEN},10,tTwW)
exten => _1XX,4,playback(vm-nobodyavail)
exten => _1XX,5,voicemail(u${EXTEN}@default) //超時(shí)5秒轉(zhuǎn)語音信箱
exten => _1XX,6,hangup()
exten => _1XX,104,playback(tt-busy)
exten => _1XX,105,voicemail(b${EXTEN}@default) //用戶忙轉(zhuǎn)語音信箱
總結(jié)
以上是生活随笔為你收集整理的asterisk 配置 mysql_Asterisk的配置详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php使用mysql怎么连接浏览器_一个
- 下一篇: mysql webhook_sql 数据