學習Asterisk——簡介

Asterisk是一款實現用戶電話交換機(PBX)功能的自由軟件、開源軟件。它提供了完善的PBX功能,能夠鏈接多種不一樣的電話終端,包括普通電話機、IP電話、軟電話等,支持多種主流的IP電話協議和系統接口。還有好比:語音信箱、會議電話、交互式語音提示和自動電話轉接等。服務器

Asterisk能夠運行在Linux或Windows等操做系統下,它支持主流VoIP協議,包括會議發起協議(SIP)、H.323,既可做爲IP電話服務器也能夠做爲IP電話和PSTN之間的轉接。還設計了一個新協議IAX,用於在Asterisk服務器之間維護話路通道。若是須要鏈接普通電話或PSTN中繼線,運行Asterisk的服務器則須要安裝相應的硬件接口板。app

Asterisk內部核心:共分爲6個部分編碼

PBX核心交換模塊操作系統

調度和IO管理模塊線程

應用調用模塊設計

編碼轉換模塊接口

動態模塊加載器模塊開源軟件

CDR生成模塊(即時呼叫詳細記錄報告)軟件

Asterisk基本呼叫流程終端

一個電話呼叫在一個通道驅動接口(如SIP通道)上到達;動態驅動在該通道上建立一個PBX通道並啓動一個PBX線程;撥號方案被執行,撥號方案在一些地方經過dial應用(app_dial.c)強制Asterisk建立一個呼叫呼出,一旦呼出Asterisk如下2個動做發生:

  1.     dial建立一個呼出的PBX通道,並請求一種通道驅動建立一個呼叫。

  2.     當呼叫被應答時,Asterisk橋接媒體流,因而第一個通道上的主叫能夠與第二個通道也就是呼出通道上的被叫通話。

相關文章
相關標籤/搜索