日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Asterisk 学习进阶 2

發布時間:2023/12/10 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Asterisk 学习进阶 2 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Asterisk 學習進階-2

這兒只是把添加的用戶配置列出來。

[830]

type=friend?????????????????? ; Friends place calls and receive calls

context=830????????? ; Context for incoming calls from this user

;secret=blahpoly

host=dynamic?????????????? ; This peer register with us

;dtmfmode=rfc2833???????????? ; Choices are inband, rfc2833, or info

username=830???????????????????? ; Username to use in INVITE until peer registers

; Normally you do NOT need to set this parameter

;disallow=all

;allow=ulaw???????????????????? ; dtmfmode=inband only works with ulaw or alaw!

;progressinband=no????????????? ; Polycom phones don't work properly with "never"

?

[808]

type=friend?????????????????? ; Friends place calls and receive calls

context=808????????? ; Context for incoming calls from this user

;secret=blahpoly

host=dynamic?????????????? ; This peer register with us

;dtmfmode=rfc2833???????????? ; Choices are inband, rfc2833, or info

username=808???????????????????? ; Username to use in INVITE until peer registers

; Normally you do NOT need to set this parameter

;disallow=all

;allow=ulaw???????????????????? ; dtmfmode=inband only works with ulaw or alaw!

;progressinband=no????????????? ; Polycom phones don't work properly with "never"

?

主要是定義了一個用戶,號碼分別為808,830。他們所處的撥號規則段分別為808,830。接著添加撥號規則的段。如下:

[830]

exten => s,1,Wait(1)??????????????????? ; Wait a second, just for fun

exten => s,n,Answer?????????????????? ; Answer the line

exten => s,n,Set(TIMEOUT(digit)=5)?? ; Set Digit Timeout to 5 seconds

exten => s,n,Set(TIMEOUT(response)=10) ; Set Response Timeout to 10 seconds

exten => s,n(restart),BackGround(demo-congrats)???? ; Play a congratulatory message

exten => s,n(instruct),BackGround(demo-instruct)???? ; Play some instructions

exten => s,n,WaitExten??????????????? ; Wait for an extension to be dialed.

?

exten => 2,1,BackGround(demo-moreinfo)? ; Give some more information.

exten => 2,n,Goto(s,instruct)

?

exten => 3,1,Set(LANGUAGE()=fr)??????????? ; Set language to french

exten => 3,n,Goto(s,restart)???????? ; Start with the congratulations

?

exten => 1000,1,Goto(default,s,1)

?

exten => 808,1,Goto(default,s,1)

?

exten => 500,1,VoicemailMain()

?

[808]

exten => s,1,Wait(1)??????????????????? ; Wait a second, just for fun

exten => s,n,Answer?????????????????? ; Answer the line

exten => s,n,Set(TIMEOUT(digit)=5)?? ; Set Digit Timeout to 5 seconds

exten => s,n,Set(TIMEOUT(response)=10) ; Set Response Timeout to 10 seconds

exten => s,n(restart),BackGround(demo-congrats)???? ; Play a congratulatory message

exten => s,n(instruct),BackGround(demo-instruct)???? ; Play some instructions

exten => s,n,WaitExten??????????????? ; Wait for an extension to be dialed.

?

exten => 2,1,BackGround(demo-moreinfo)? ; Give some more information.

exten => 2,n,Goto(s,instruct)

?

exten => 3,1,Set(LANGUAGE()=fr)??????????? ; Set language to french

exten => 3,n,Goto(s,restart)???????? ; Start with the congratulations

?

exten => 1000,1,Goto(default,s,1)

?

exten => 600,1,MeetMe(600,i,123456)

?

?

exten => 830,1,Voicemail(830@default)

;exten => 830,1,Dial(SIP/830,3)

exten => _[58]30,2,SayDigits(${EXTERN})

exten => 830,102,Playback(priv-recordintro)

exten => 830,103,Playback(spy-h323)

exten => 830,104,Hangup()

?

為什么撥號規則段加了那么多東西,后面再慢慢解釋。其實對于我們簡單的通話而言,根本不需要那么多,向下面這樣就足夠了。

[808]

exten => s,1,Wait(1)??????????????????? ; Wait a second, just for fun

exten => s,n,Answer?????????????????? ; Answer the line

exten => 830,n,Dial(SIP/830,3)

exten => 830,n,Hangup()

只看這些就簡潔多了吧,而且基本工作正常,解釋一下,客戶端(例如800)在sip里面進行了配置,其屬于808這個context,故他的所有撥號動作都在808里面進行了定義。當用戶呼叫830的時候,他就跳到830這個擴展段,進行撥號。看dial這個函數很清晰,但是他的功能確實強大無比,例如現在我們撥的是sip用戶,萬一我們需要撥打h323用戶怎么辦?那就變成dial(h323/**,),.依此類推,所有的通道都可以采用同樣的格式進行定義。

?????? 這兒當然也可以制定的復雜一些,例如遇忙時候轉語音什么的,在我們的實現中,遇忙跳轉到N+101擴展,我們則定義一個忙轉的擴展,如下

[808]

exten => s,1,Wait(1)??????????????????? ; Wait a second, just for fun

exten => s,2,Answer?????????????????? ; Answer the line

exten => 830,3,Dial(SIP/830,3)

exten => 830,4,Hangup()

exten => 830,104,Voicemail(830@default)

?

這樣遇忙的時候,則會轉移到語音郵件留言,有了上面的基礎,你就可以隨心所欲進行擴充了,還可以組建會議電話,呼叫等待,更多的功能就留給你進行挖掘了。

下面簡單介紹一下語音信箱的配置,語音信箱的配置關鍵兩個文件voicemail.conf和撥號規則文件extensions.conf.

Voicemail.conf 中要增加用于存放語音的郵箱,在asterisk中有專門的語法格式來申明:

Mailbox => password, name, email.

這只是一個最簡單的格式,還有很多選項沒有列出,如果感興趣可以參閱相關文檔,這里只是給出一個概念。Mailbox是郵箱的編號,通常符合關聯設置的擴展號碼。后面的password,name和email的意義就比較清晰了。

例如我們在voicemail的default context申明一個 101 => 123456, jone,?. 然后在相對應的extensions.conf中當用戶忙時或者相應超時調用這個郵箱:

Exten => 101,1,dial(${JONE},10,r)

Exten => 101,2,voicemail(u101@default)

Exten => 101,102,voicemail(b101@default)

接下來就是接收語音郵件了,同樣在extensions.conf中加入一條語句:

Exten => 500,1,voicemailmain(),讓用戶通過撥打500來收聽語音郵件。


原文地址http://hi.baidu.com/zengshengwen/item/d25b274c22c13eed1f19bc19

?

總結

以上是生活随笔為你收集整理的Asterisk 学习进阶 2的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。