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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Asterisk权威指南/第五章 用户设备配置

發布時間:2023/12/10 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Asterisk权威指南/第五章 用户设备配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本章我們將研究連接到Asterisk的用戶設備,一般來說是某種形式的VoIP電話。在Asterisk中配置信道供設備使用相對來說比較簡單,但你也需要配置設備本身以使得它知道向誰發起呼叫(這已經跟Asterisk沒有關系了,每個硬件廠商都有自己的工具讓你配置設備的)。換句話說,配置一個設備分為兩個部分:1)告訴Asterisk關于設備的事情,2)告訴設備關于Asterisk的事情。

注:Asterisk跟SIP協議是什么關系
SIP是一種P2P協議,盡管在有些配置中有服務器的概念(網關作為服務器), 但協議本身還是站在P2P的角度去看問題的。 這意味著SIP電話之間是直連的, 中間不經過PBX。 但實際情況是很多SIP會話是經過服務器的, 以Asterisk為例, PBX是所有連接的中心。 當通過Asterisk撥打SIP電話的時候, 實際上有兩個呼叫: 一個是從主叫設備到Asterisk, 另一個是從Asterisk到被叫設備。 Asterisk把兩個信道連接起來了。 從SIP電話的角度來說, 你需要把它配置成所有的呼叫都要通過Asterisk, 盡管它不通過Asterisk也能連接到其他SIP電話。 SIP很復雜也很靈活, 配置看起來會有點困難, 好在Asterisk并不需要那么大的靈活性。

盡管大多數設備都有基于Web的參數配置界面,如果實際中有兩部以上的設備的話,我們建議使用基于服務器的配置過程,也就是說只需要在設備中配置文件服務器的地址。設備會找到并下載屬于自己的配置文件。比如說,從FTP服務器上下載XML文件。具體的下載過程和文件語法由設備生產商決定。本章主要是從Asterisk的角度來討論設備的配置問題。

目錄

  • 1電話命名的概念
  • 2硬電話,軟電話,和模擬電話適配器
  • 3配置Asterisk
    • 3.1信道配置文件是如何跟撥號計劃配合工作的
    • 3.2sip.conf
    • 3.3iax.conf
    • 3.4根據環境修改信道配置文件
  • 4裝載信道配置文件
    • 4.1Asterisk命令行界面
  • 5測試,確認設備已注冊
  • 6模擬電話
  • 7用于測試設備的基本撥號計劃
  • 8內部原理:第一次呼叫
  • 9結束語

電話命名的概念

在開始討論Asterisk的電話配置問題之前,我們先介紹一下有關電話命名的最佳實踐,以便將用戶、分機號和電話的概念區分開來。

在Asterisk中,系統唯一關心的是信道名。根本就沒有用戶的概念(實際上,Asterisk想在內部通過users.conf實現用戶和設備的分離;但是,一般只有Asterisk GUI用到它。通過撥號計劃在邏輯上區分更容易理解也更靈活),分機號則用于標識系統中的呼叫處理流程。例如,分機號100可以是呼叫一部電話,也可以是訪問一個語音信箱,播放一個語音提示,或者是加入一個電話會議。有可能分機100在上班時間呼叫一部電話,在休息時間呼叫另外一部電話。反過來,呼出電話在上班時間顯示一個主叫號碼,在休息時間顯示另外一個主叫號碼(很多前臺到了夜間就變成了保安崗)。

Asterisk分機號
分機號是一個很關鍵的Asterisk概念。在大多數PBX中,一個分機號就是一組數字,用來呼叫一個電話或一個服務。對Asterisk來說,分機號是撥號計劃中一組指令的名字。把分機號看成腳本名就對了。分機號可以是一組數字,也可以是一個名字(例如voicemail)。整本書都會詳細討論分機號的問題,但在那之前我們需要先配置一些電話。

區別分機號和它所做的事情是Asterisk的一個重要特性,分機100的行為實際上是由一個腳本定義的。這一特性對“辦公桌輪用”一類的需求就更有意義了。

“辦公桌輪用”允許某人登錄一個設備,然后就可以從該設備接聽他的電話了。打比方,我們有三個銷售,一般都不在辦公室,但每個月都要花幾天時間回辦公室貼發票。考慮到他們不太可能同時出現在辦公室,與其給他們每人配一部電話,不如讓他們分享一部電話(或者更進一步,讓更大的一群人分享一組電話,比如說,三部電話)。這個場景就明顯要求把用戶/分機號和實際的電話設備區分開。

所以哪些名字不適合用來給電話命名呢?像人名,比如說[SimonLeBon],就不合適,因為Joan Jett和Rick Astley也可能用那部電話。同樣,用分機號給電話命名也不適合,比如[100],因為你將來可能會把它用于分機號160,或者讓多個人分享該部電話。出于安全方面的考慮,用數字帳號名也不好,這一點會在第26章 安全中詳細談到。

一種常用的方法是用設備的MAC地址給電話命名。該標識唯一,是跟著設備走的,跟用戶和分機號都沒有關系。很多公司處于資產管理的目的會給電話貼上條形碼和其他信息,只要這些信息是關于設備,而不是關于人的,也可以用來給電話命名。

如何給電話命名取決于你,我們主要是想把電話的概念跟它的所有者,甚至是位置分離開,因為這些不在Asterisk的控制范圍內,而且隨時會變。

本書用MAC地址表示電話。你可能有自己的選擇。

但是有一點,我們關于電話命名的建議不是出于技術上的限制。你想怎樣命名都可以,只要符合Asterisk的設備命名規范(字符、數字,不能有空格)。

硬電話,軟電話,和模擬電話適配器

有三種終端設備可以提供給用戶當成電話使用。他們是硬電話、軟電話和模擬電話適配器(ATA)。

硬電話是一種設備。它看起來像辦公室電話:它有聽筒、號碼按鍵等。它直接連接到網絡,也稱為VoIP電話。

軟電話是一種運行在臺式機或筆記本上的軟件。語音要經過計算機的聲音系統,所以用這種軟件時一般用耳機效果會好些。最近也有了運行智能手機上的軟電話。軟電話的界面一般看起來像是普通電話,但不是必須的。

模擬電話適配器(ATA)使得傳統的模擬電話(或者其他模擬設備,像傳真機、無繩電話和尋呼機等)可以接入SIP網絡,一般是一個三明治大小的盒子,有一個RJ-11口(一般稱為FXS口)用來接電話機,一個RJ-45口用來接網絡,和一個電源口。有的ATA支持不止一個電話。

硬電話的優點是它在聲音方面的效果會好一些。一般質量好一點都會過濾環境噪音,保留人類語音,并調整波形。人們用傳統電話用習慣了,硬電話更容易被人接受些。還有,硬電話并不要求你打開計算機才能打電話。

缺點是,相對于很多免費的高質量軟電話來說,硬電話有點貴,也不好攜帶。另外,你的辦公桌可能不夠地方,又或者你并不總是待在一個地方。

軟電話解決了攜帶性的問題,你只要裝到你的筆記本或智能電話中就可以了。另外它的價格也很有吸引力(免費,或者30美元最多)。由于免費的緣故,你連接到Asterisk的第一個用戶設備可能就是軟電話。因為軟電話僅僅是一種軟件,表示它很容易安裝和升級,通常還包含一些使用外設的特性,像是用webcam進行視頻電話,又或者拿文件發傳真。

軟電話的缺點是它不太像一臺設備,打電話時要戴上耳機,計算機有可能會時不時地執行一些后臺任務導致CPU卡死。

ATA的優點是允許你把模擬設備接入SIP網絡,像無繩電話、尋呼機和響鈴器等。網絡不好的時候還可以接入老的線路。

ATA的缺點是有些SIP特性用不了。畢竟模擬電話技術有一百年了。

對于Asterisk來說,你選哪一種都不是問題,不管是硬電話、軟電話還是ATA。一樣的分機號可以呼叫桌面電話、筆記本上的軟電話、手機、甚至是閃光燈(有些地方響鈴器聽不見)。

配置Asterisk

本節我們將介紹如何在/etc/asterisk目錄中創建sip.conf和iax.conf文件,以定義SIP和IAX2設備和你的系統通訊所需的參數。

Asterisk允許設備以各種不同的協議和它對話(從而也包括設備之間的對話)。畢竟,SIP和IAX2協議是最歡迎也是最成熟的VoIP模塊,所以我們將專注于它們。如果是初次接觸Asterisk,你最好不要把別的協議攪和進來(像是Skinny/SCCP,Unistim,H.323,和MGCP),先把SIP和IAX2搞熟練了再說。其他協議的配置都是類似的,并且示例配置文件包含很多信息和例子,所以一旦你把基礎的東西搞定了,其他協議應該是很容易上手的。

信道配置文件,像是sip.conf和iax.conf,包含信道驅動(chan_sip.so、chan_iax2.so等)的配置,以及電話設備跟Asterisk聯系(或交互)所需信息和憑據。

有關信道驅動的公用信息包含在位于配置文件頂部的[general]段中。所有段名是用方括號括起來的,設備名也是。段名(或設備名,對我們來說是一樣的)后面的所有東西都歸屬于該段。[generla]段也能用于定義設備配置的缺省值,該值可以被設備段或模板中的值覆蓋。Asterisk也硬編碼了一下缺省值,所以盡管一些設置是必須的,另一些則可以忽略,只要你覺得缺省值沒問題的話。

Asterisk將會以下列順序檢查參數:
  • 檢查設備段
  • 檢查設備段的模板
  • 檢查[general]段
  • 使用硬編碼的缺省值
  • 這表示說,沒有設置某個參數的值并不意味著該參數沒有設置。如果你不放心,你可以在設備段或模板中顯式設置某個參數。
    往后面讀,這一概念你會有切實體會的。

    信道配置文件是如何跟撥號計劃配合工作的

    盡管我們還沒有討論過撥號計劃,如果能夠設想信道配置文件(sip.conf,ias.conf)和撥號計劃(extensions.conf)的關系的話,還是很有用的。撥號計劃是一個Asterisk系統的心臟:它控制呼叫邏輯是如何應用到信道中的連接的,比如當一個設備撥打分機號101時系統做什么,當一個外部入局呼叫到達時系統做什么,等等。信道配置文件和撥號計劃都參與系統的呼叫處理過程。圖 5.1,“sip.conf和extensions.conf的關系”用圖形化的方式表示了sip.conf和extensions.conf的關系。

    當一個呼叫到達Asterisk時,系統先是找到該協議(該次呼叫所使用的協議)所對應的信道配置文件,然后找到該呼叫所對應的設備段。信道配置文件也會處理認證問題,以及定義撥號計劃中的處理入口。

    一旦Asterisk確定了如何處理該呼叫,它會把呼叫控制交給撥號計劃中相應的上下文(context)。信道配置文件中的context參數就是撥號計劃中的處理入口(其中包含了處理呼叫所需的信息)。

    反過來,如果系統對撥打分機號101的處理就是撥打另外一部電話的話,該撥號請求也會用到信道配置文件,以確定認證信息、編碼等。

    要記住的關鍵點是信道配置文件不僅控制呼叫如何進入系統,也控制呼叫如何離開系統。所以,比方說,如果一部電話呼叫另一部電話,信道配置文件不僅用于把呼叫交給撥號計劃,也控制著如何把呼叫從撥號計劃交給目標設備。

    sip.conf

    SIP信道模塊無疑是Asterisk的信道模塊中最成熟和特性最豐富的。這是由于SIP的廣泛流行,它已經“接管”了VoIP/電信行業,并且已經在成千上萬的設備和PBX中實現了。如果你看一下Asterisk源代碼的./configs目錄中的sip.conf.sample文件,你會注意到有大量的選項可供使用。幸運的是,大多數選項都有缺省值,所以對于大多數標準SIP電話來說,你只需要創建一個非常簡單的配置文件就可以把它連接到Asterisk了。

    你要做的第一件事就是在/etc/asterisk目錄下創建一個名為sip.conf的配置文件。

    在該文件中粘貼或打入下列信息:

    [general] context=unauthenticated ;>

    打開你剛創建的sip.conf文件,我們會逐項解釋。

    我們創建了四個段,第一個是[general]段。所有信道配置文件的頂部都有這么一個標準段,命名也是固定的。[general]段包含和該協議有關的一般性配置選項,也可以用來定義缺省參數。

    例如,我們把缺省上下文定義為unauthenticated,以確保我們明確定義了如何處理未授權的呼叫。我們稱之為“unauthenticated”的意思就是

    總結

    以上是生活随笔為你收集整理的Asterisk权威指南/第五章 用户设备配置的全部內容,希望文章能夠幫你解決所遇到的問題。

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