Trong giai đoạn phát triển hiện nay, nhiều doanh nghiệp đã thay đổi và phát triển nhiều chi nhánh với địa bàn hoạt động rộng lớn. Cùng với sự phát triển của các giải pháp IP, sự phát triển của hệ thống mạng truyền dữ liệu đặc biệt là Internet. Tất cả đã tạo điều kiện để những giải pháp trên nền IP hình thành và phát triển. Một trong số đó là giải pháp IP PBX Asterisk cung cấp cho doanh nghiệp giải pháp điện thoại trên nền VoIP, phù hợp với chi phí và yêu cầu hoạt động của doanh nghiệp.
Khoá luận tốt nghiệp nghiên cứu về hoạt động và cách triển khai tổng đài IP PBX Asterisk. Được chi làm 5 chương chính:
Chương 1: Tổng quan về tổng đài IP PBX Asterisk: trình bày các khái niệm chung cơ bản liên quan đến tổng đài IP PBX Asterisk.
Chương 2: Cài đặt tổng đài IP PBX Asterisk: hướng dẫn để cài đặt thành công một tổng đài IP PBX Asterisk, các công cụ hỗ trợ trong việc cấu hình và vận hành tổng đài.
Chương 3: Tìm hiểu cách cấu hình Asterisk: nghiên cứu sâu hơn về cách cấu hình các chức năng trong tổng đài IP PBX Asterisk.
Chương 4: Xây dựng một tổng đài thực tế: các bước xây dựng một tổng đài IP PBX Asterisk thực tế xuất phát từ yêu cầu của một doanh nghiệp.
Chương 5: Đánh giá chung và hướng mở của đề tài.
68 trang |
Chia sẻ: tuandn | Lượt xem: 3612 | Lượt tải: 4
Bạn đang xem trước 20 trang tài liệu Khóa luận Nghiên cứu hoạt động và triển khai mạng IP PBX Asterisk, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
LỜI MỞ ĐẦU
Trong giai đoạn phát triển hiện nay, nhiều doanh nghiệp đã thay đổi và phát triển nhiều chi nhánh với địa bàn hoạt động rộng lớn. Cùng với sự phát triển của các giải pháp IP, sự phát triển của hệ thống mạng truyền dữ liệu đặc biệt là Internet. Tất cả đã tạo điều kiện để những giải pháp trên nền IP hình thành và phát triển. Một trong số đó là giải pháp IP PBX Asterisk cung cấp cho doanh nghiệp giải pháp điện thoại trên nền VoIP, phù hợp với chi phí và yêu cầu hoạt động của doanh nghiệp.
Khoá luận tốt nghiệp nghiên cứu về hoạt động và cách triển khai tổng đài IP PBX Asterisk. Được chi làm 5 chương chính:
Chương 1: Tổng quan về tổng đài IP PBX Asterisk: trình bày các khái niệm chung cơ bản liên quan đến tổng đài IP PBX Asterisk.
Chương 2: Cài đặt tổng đài IP PBX Asterisk: hướng dẫn để cài đặt thành công một tổng đài IP PBX Asterisk, các công cụ hỗ trợ trong việc cấu hình và vận hành tổng đài.
Chương 3: Tìm hiểu cách cấu hình Asterisk: nghiên cứu sâu hơn về cách cấu hình các chức năng trong tổng đài IP PBX Asterisk.
Chương 4: Xây dựng một tổng đài thực tế: các bước xây dựng một tổng đài IP PBX Asterisk thực tế xuất phát từ yêu cầu của một doanh nghiệp.
Chương 5: Đánh giá chung và hướng mở của đề tài.
Khi viết cuốn Khóa luận tốt nghiệp này em đã hết sức cố gắng để được hoàn chỉnh, nhưng do kiến thức còn hạn chế trong môi trường Linux và tổng đài Asterisk nên chắc chắn sẽ không tránh khỏi thiếu sót, vì vậy em rất mong nhận được sự góp ý của quý Thầy Cô và các bạn.
Em xin chân thành cảm ơn các Thầy Cô giáo của Học viện Công nghệ Bưu chính Viễn thông - Cơ sở Tp. Hồ Chí Minh, đặc biệt là khoa Viễn thông 2 đã đào tạo, giáo dục em học hỏi được nhiều kiến thức quan trọng và bổ ích. Em cũng xin gởi lời cảm ơn chân thành đến Thầy Phạm Đình Nguyên, người Thầy đã định hướng và giúp đỡ em rất nhiều để hoàn thành cuốn khóa luận này.
TPHCM, ngày 30 tháng 9 năm 2008
Sinh viên thực hiện
Trần Hoàng Vinh
MỤC LỤC
CHƯƠNG I: TỔNG QUAN VỀ TỔNG ĐÀI IP PBX ASTERISK 1
1.1 Giới thiệu Asterisk - Asterisk là gì? 1
1.1.1 Vai trò của Digium đối với Asterisk 1
1.1.2 Dự án Zapata và các mối quan hệ của nó với Asterisk 2
1.2 Vì sao chọn Asterisk? 2
1.2.1 Giảm chi phí một cách mạnh mẽ 2
1.2.2 Môi trường phát triển nhanh chóng và dễ dàng 2
1.2.3 Giàu tính năng 3
1.2.4 Nội dung động trên điện thoại 3
1.2.5 Kiểu quay số linh hoạt và mạnh 3
1.2.6 Mã nguồn mở chạy trên nền Linux 3
1.2.7 Các giới hạn trong kiến trúc của Asterisk 3
1.3 Kiến trúc của Asterisk 4
1.3.1 Các kênh 4
1.3.2 Codec và chuyển dịch codec 5
1.3.3 Các giao thức 5
1.3.4 Các ứng dụng 5
1.4 Mô tả tổng quan tổng đài IP PBX Asterisk 6
1.5 So sánh giữa các loại tổng đài 7
1.5.1 Điện thoại sử dụng mô hình PBX/Softswitch cũ 7
1.5.2 Điện thoại dùng hệ thống Asterisk 7
1.6 Xây dựng một hệ thống kiểm tra 8
1.6.1 Một FXO, một FXS 8
1.6.2 Nhà cung cấp dịch vụ VoIP, ATA 8
1.6.3 Board FXO không đắt tiền, ATA 8
1.7 Một số ứng dụng của Asterisk 9
1.7.1 IP PBX 9
1.7.2 Sử dụng IP trong các tổng đài PBX cũ 10
1.7.3 Bỏ qua chi phí gọi điện thoại đường dài 11
1.7.4 Server ứng dụng (IVR, điện thoại hội nghị, Voicemail) 11
1.7.5 Media Gateway 12
1.7.6 Trung tâm giao tiếp chăm sóc khách hàng - Contact Center Platform (Call Center) 13
1.8 VoIP với Asterisk 13
1.8.1 Các ưu điểm của VoIP 13
1.8.1.a Tính hội tụ 13
1.8.1.b Chi phí cơ sở hạ tầng 14
1.8.1.c Tiêu chuẩn mở 14
1.8.1.d Sự tích hợp giữa máy tính và điện thoại 14
1.8.2 Kiến trúc VoIP của Asterisk 14
1.8.3 Các giao thức VoIP và mô hình OSI 15
1.8.4 Làm sao để chọn một giao thức? 16
1.8.4.a SIP - giao thức thiết lập phiên 16
1.8.4.b IAX - Inter Asterisk eXchange 16
1.8.4.c Giao thức điều khiển cổng phương tiện MGCP 17
1.8.4.d H.323 17
1.8.4.e Bảng so sách các giao thức 17
1.8.5 User, Peer và Friend 17
1.8.6 Các codec và chuyển đổi codec 18
1.8.7 Làm sao để chọn một codec phù hợp 18
1.8.8 Phần mào đầu do phần Header của giao thức 18
1.8.9 Kỹ thuật lưu lượng 19
1.8.9.a Sự đơn giản hoá 19
1.8.9.b Phương pháp Erlang B 19
1.8.10 Giảm băng thông yêu cầu cho VoIP 20
1.8.10.a Nén RTP Header 20
1.8.10.b IAX2 trunk mode 21
1.8.10.c Giảm VoIP tải 21
CHƯƠNG 2: CÀI ĐẶT TỔNG ĐÀI IP PBX ASTERISK 22
2.1 Cái đặt từng phần 22
2.1.1 Cài đặt hệ điều hành CentOS 22
2.1.2 Cài đặt các gói trong tổng đài Asterisk 27
2.1.2.a Chuẩn bị các tập tin trước khi cài đặt 27
2.1.2.b Compiling và cài đặt các gói 28
2.1.2.c Cài đặt Asterisk-GUI 31
2.2 Giới thiệu Trixbox các thành phần 32
2.2.1 Cài đặt Trixbox 32
2.3 Các hỗ trợ trong vận hành và cấu hình Asterisk 35
2.3.1 Một số lệnh chính trong CLI của Asterisk 35
2.3.1.a Các lệnh chung 35
2.3.1.b Các lệnh cho SIP 35
2.3.1.c Quản trị Server 35
2.3.2 Các công cụ hỗ trợ vận hành và cấu hình Asterisk 36
2.3.2.a Phần mềm Putty 36
2.3.2.b Phần mềm WINSCP 37
CHƯƠNG 3: TÌM HIỂU CÁCH CẤU HÌNH ASTERISK 38
3.1 Tìm hiểu các tập tin cấu hình trong Asterisk 38
3.2 Ngữ pháp của Asterisk 38
3.2.1 Nhóm đơn 39
3.2.2 Các tùy chọn đối tượng kiểu ngữ pháp thừa kế 39
3.2.3 Dạng thực thể phức hợp 40
3.3 Tìm hiểu cấu hình một giao tiếp PSTN 40
3.3.1 Cài đặt X100P 41
3.3.2 Cài và cấu hình driver card X100P 41
3.4 Tìm hiểu cấu hình điện thoại IP SIP 41
3.4.1 Phần chung [general] 41
3.4.2 Phần Client 42
3.5 Tim hiều sơ đồ quay số 43
3.5.1 Số nội bộ (Extensions) 43
3.5.1.a Một số mẫu số (pattern) 43
3.5.1.b Các ví dụ về số nội bộ (extensions) 44
3.5.2 Số ưu tiên (Priorities) 44
3.5.3 Ứng dụng (Applications) 44
3.5.4 Ngữ cảnh (Contexts) 45
3.6 Tìm hiểu cách tạo một sơ đồ quay số 46
3.6.1 Ví dụ cơ bản 46
3.6.2 Một ví dụ khác 46
3.6.3 Các kênh cầu nối sử dụng ứng dụng dial() 47
3.7 Tìm hiểu cách tạo một hệ thống IVR 48
3.7.1 Ứng dụng background() 48
3.7.2 Ứng dụng record() 48
3.7.3 Ứng dụng playback() 49
3.7.4 Ứng dụng read() 49
3.7.5 Ứng dụng gotoif() 49
3.8 Xây dụng một hệ thống IVR 49
3.8.1 Thu âm lời chào 50
3.8.2 Tạo ra hệ thống IVR 50
CHƯƠNG 4: XÂY DỰNG MỘT TỔNG ĐÀI THỰC TẾ 51
4.1 Mô tả các bước thực hiện 51
4.2 Mô tả chức năng và hoạt động của tổng đài 51
4.3 Cấu hình phần cứng 51
4.4 Cài đặt tổng đài Asterisk 51
4.5 Chuẩn bị và cài đặt các thiết bị FXS, FXO 51
4.6 Cấu hình các thông số trong tổng đài 55
4.7 Thiết lập các Client và kiểm tra cuộc gọi 56
CHƯƠNG 5: ĐÁNH GIÁ CHUNG VÀ HƯỚNG MỞ CỦA ĐỀ TÀI 57
5.1 Đánh giá chung 57
5.1.1 Ưu điểm 57
5.1.2 Những điểm hạn chế 57
5.1 Hướng mở của đề tài 58
TÀI LIỆU THAM KHẢO 59
MỤC LỤC CÁC HÌNH
Hình 1: Kiến trúc của Asterisk 4
Hình 2: Tổng quan tổng đài IP PBX Asterisk 6
Hình 3: Điện thoại sử dụng mô hình PBX/Softswitch cũ 7
Hình 4: Điện thoại dùng hệ thống Asterisk 7
Hình 5: Hệ thống Asterisk 1x1 8
Hình 6: Tổng đài IP PBX 9
Hình 7: Sự tích hợp Asterisk với hệ thống tổng đài PBX cũ 10
Hình 8: Bỏ qua chi phí gọi điện thoại đường dài 11
Hình 9: Asterisk như một server ứng dụng 11
Hình 10: Asterisk như một media gateway 12
Hình 11: Asterisk hoạt động như một Trung tâm giao tiếp 13
Hình 12: Kiến trúc VoIP của Asterisk 15
Hình 13: VoIP trong mô hình OSI 15
Hình 14: Cài đặt CentOS - Khởi động việc cài đặt 22
Hình 15: Cài đặt CentOS - Giao diện bắt đầu cài đặt CentOS 22
Hình 16: Cài đặt CentOS - Chọn ngôn ngữ 23
Hình 17: Cài đặt CentOS - Chọn kiểu bàn phím 23
Hình 18: Cài đặt CentOS - Cấu hình thiết lập ổ cứng và phân vùng ổ cứng 23
Hình 19: Cài đặt CentOS - Phân vùng ổ cứng cho CentOS 24
Hình 20: Cài đặt CentOS - Thiết lập địa chỉ IP 24
Hình 21: Cài đặt CentOS - Chọn múi giờ 25
Hình 22: Cài đặt CentOS - Nhập password Console cho hệ thống 25
Hình 23: Cài đặt CentOS - Chọn cách cài đặt 25
Hình 24: Cài đặt CentOS - Chọn các gói hỗ trợ cho Asterisk 26
Hình 25: Cài đặt CentOS - Chọn kiểu loader khởi động 26
Hình 26: Cài đặt CentOS - Chuẩn bị cài đặt 27
Hình 27: Cài đặt CentOS - Quá trình cài đặt 27
Hình 28: Tải các gói cài đặt Asterisk 28
Hình 29: Khi chạy configure cho compile 29
Hình 30: Tuỳ chọn menu sau khi tạo menu bằng lệnh make menuselect 29
Hình 31: Sau khi dùng lệnh make install thành công 30
Hình 32: Tạo các tập tin cấu hình mẫu 30
Hình 33: Tạo các tài liệu chương trình của Asterisk 30
Hình 34: Cài đặt asterisk-addons 31
Hình 35: Giao diện bắt đầu cài đặt Trixbox 33
Hình 36: Chọn loại bàn phím 33
Hình 37: Chọn Vủng thời gian cho hệ thống 33
Hình 38: Password để cấu hình Asterisk 34
Hình 39: Tiến trình cài đặt Trixbox 1 34
Hình 40: Tiến trình cài đặt Trixbox 2 34
Hình 41: Giao diện cấu hình qua Web của Trixbox 34
Hình 42: Giao diện phần mềm Putty - Đăng nhập 36
Hình 43: Giao diện phần mềm Putty - Cửa sổ lệnh 36
Hình 44: Giao diện phần mềm WINSCP - Đăng nhập 37
Hình 45: Giao diện phần mềm WINSCP - Sử dụng 37
Hình 46: TDM400P card 52
Hình 47: FXO module (S100M - màu đỏ), FXS Module (X100M - màu xanh) 52
Hình 48: Thiết lập các thông số X-lite 56
MỤC LỤC CÁC BẢNG
Bảng 1: Bảng so sách các giao thức 17
Bảng 2: Các kiểu ngữ pháp trong Asterisk 39
Bảng 3: Danh sách tham khảo các driver của Digium 53
TỪ VIẾT TẮT
ACD Automatic call distribution Phân phối cuộc gọi tự động
CTI Computer telephony integration Thiết bị kết hợp máy tính điện thoại
DSP Digital Signal Processors Bộ xử lý tín hiệu số
GPL General Public License Bản quyền thuộc cộng đồng
IVR Interactive Voice Response Đáp ứng tương tác thoại
LCR Least Cost Routing Định tuyến chi phí thấp
MGCP Media Gateway Control Protocol Giao thức điều khiển cổng phương tiện
RTP Real Time Protocol Giao thức thời gian thực
TCP Transmission Control Protocol Giao thức điều khiển truyền tải
UDP User Data Protocol Giao thức gói dữ liệu người dùng
CHƯƠNG I: TỔNG QUAN VỀ TỔNG ĐÀI IP PBX ASTERISK
1.1 Giới thiệu Asterisk - Asterisk là gì?
Asterisk là một “phần mềm mã nguồn mở” được cài đặt một lần trên một máy tính PC có các giao tiếp tương ứng đi kèm với phần cứng, có thể được sử dụng như là một PBX với đầy đủ tính năng cho người sử dụng gia đình, công ty, các nhà cung cấp dịch vụ VoIP và viễn thông. Asterisk còn là một cộng đồng mã nguồn mở và là một sản phẩm thương mại của Digium. Sử dụng miễn phí và thay đổi tự do để phù hợp với các yêu cầu của mình. Asterisk cho phép khả năng kết nối thời gian thực giữa mạng PSTN và các mạng VoIP. Vì Asterisk có nhiều tính năng hơn một tổng đài PBX, ta không chỉ có những nâng cấp cho tổng đài PBX đang tồn tại mà còn có thể có nhiều thứ mới như:
Kết nối các nhân viên làm việc từ nhà đến một văn phòng PBX thông qua mạng Internet.
Kết nối nhiều văn phòng ở nhiều nơi khác nhau trên nền mạng IP, mạng riêng hay ngay cả mạng internet.
Cho phép các nhân viên có thể tích hợp Web và email với Voicemail.
Xây dựng các ứng dụng giống như IVR cho phép các kết nối đến hệ thống hàng đợi của bạn hay các ứng dụng khác.
Cho phép các nhân viên làm việc di động truy cập vào PBX của công ty từ bất kỳ nơi nào với chỉ một kết nối băng thông rộng hay kết nối VPN.
Và nhiều thứ khác nữa…
Asterisk bao gồm nhiều tài nguyên cao cấp chỉ tìm thấy trong các hệ thống cao cấp ví dụ như:
Nhạc chờ cho các khách hàng khi đang đợi trong các hàng đợi cuộc gọi, dòng hỗ trợ phương tiện và các file MP3.
Các hàng đợi cuộc gọi, nơi mà một nhóm agent có thể trả lời các cuộc điện thoại và giám sát các hàng đợi.
Tích hợp với văn bản qua giọng nói và nhận dạng thoại.
Các dữ liệu chi tiết được chuyển đổi từ dạng tập tin văn bản và các cơ sở dữ liệu SQL.
Khả năng kết nối PSTN thông qua cả 2 dạng đường dây số và tương tự.
1.1.1 Vai trò của Digium đối với Asterisk
Digium một công ty ở Huntsville Alabama là người tạo ra và là nhà phát triển chính của Asterisk. Bên cạnh việc trở thành nhà tài trợ chính của sự phát triển của Asterisk. Digium còn sản xuất ra các card giao tiếp điện thoại và những phần cứng khác cho các tổng đài PBX Asterisk.
Digium đưa ra Asterisk với 3 dạng bản quyền khác nhau:
+ Asterisk bản quyền thuộc cộng đồng (General Public License GPL). Đây là dạng được sử dụng nhiều nhất. Nó bao gồm tất cả các tính năng, miễn phí trong sử dụng và tự do thay đổi tuân theo các luật bản quyền mà GPL đưa ra.
+ Asterisk phiên bản thương mại: là một phiên bản mới gần đây. Nó không có một số các tính năng mở rộng trong GPL. Phiên bản thương mại được sử dụng trong một vài công ty không thể sử dụng phiên bản GPL, hầu hết là vì họ không muốn đưa mã nguồn của họ đi kèm với Asterisk. Phiên bản GPL yêu cầu bất kỳ sự phát triển nào trong phiên bản GPL phải được công khai mã nguồn.
+ Asterisk OEM: hầu hết được sử dụng bởi các nhà sản xuất PBX khi họ không muốn cộng đồng biết phần mềm của sản phẩm của họ xuất thân từ Asterisk.
1.1.2 Dự án Zapata và các mối quan hệ của nó với Asterisk
Dự án Zapata được phát triển bởi Jim Dixon người còn có trách nhiệm trong việc phát triển phần cứng được sử dụng trong Asterisk. Chú ý rằng phần cứng cũng là mã nguồn mở và vì thế nó có thể được sử dụng bởi bất kỳ công ty nào khác. Digium, Sangoma và Varion là một vài công ty sản xuất card chính cho tổng đài Asterisk PBX. Có thể tham khảo dự án Zapata tại địa chỉ:
Chức năng chính của phần cứng Asterisk là sử dụng bộ xử lý CPU của máy tính để xử lý âm thanh, triệt nhiễu và chuyển đổi mã. Ngược với hầu hết các card hiện tại sử dụng bộ xử lý tín hiệu số (DSP - Digital Signal Processors) để thực hiện những công việc này. Quyết định sử dụng bộ xử lý CPU của máy tính làm giảm giá thành của mạch một cách nhanh chóng. Vì thế các bản mạch của Digium rẽ hơn nhiều lần so với các các bản mạch đang tồn tại khác ví dụ như của Dialogicm Aculab và những công ty khác, vì chúng không cần yêu cầu các DSP đắt tiền. Vấn đề của các bản mạch này là chúng yêu cầu nhiều CPU và một CPU yếu có thể làm ảnh hưởng đến chất lượng thoại.
1.2 Vì sao chọn Asterisk?
1.2.1 Giảm chi phí một cách mạnh mẽ
Nếu so sánh một tổng đài PBX truyền thống với Asterisk với các giao tiếp số và điện thoại. Asterisk chỉ rẽ hơn một ít so với các tổng đài PBX này. Tuy nhiên, Asterisk thật sự không cần trả tiền khi thêm vào các chức năng như voicemail, ACD, IVR và CTI. Với những tính năng cao cấp này thì Asterisk rẽ hơn nhiều lần so với PBX truyền thống. Còn khi đem so sách tổng đài PBX Asterisk với tổng đài PBX tương tự giá rẽ thì không công bằng bởi vì nó có rất nhiều tính nằng mà trong các hệ thống PBX tương tự không có.
Điểm lợi dể thấy nhất từ phía khách hàng là tính độc lập của Asterisk. Một vài nhà sản xuất ngày nay không cần phải gởi cho khách hàng mật khẩu hay tài liệu cấu hình gì cả. Với Asterisk bạn có thể làm gì tùy thích, người sử dụng được hoàn toàn tự do và hơn nữa nó có thể truy cập với giao diện chuẩn.
1.2.2 Môi trường phát triển nhanh chóng và dễ dàng
Asterisk có thể được mở rộng bằng cách sử dụng các ngôn ngữ kịch bản giống như PHP và Perl với các giao diện AMI và AGI. Asterisk là mã nguồn mở và mã nguồn của nó có thể được chỉnh sửa bởi người sử dụng. Mã nguồn được viết hầu hết trên ngôn ngữ lập trình ANSI C.
1.2.3 Giàu tính năng
Asterisk có hàng loạt các chức năng mà không thể tìm thấy hoặc là tùy chọn trong các tổng đài PBX truyền thống (ví dụ như voicemail, CTI, ACD, IVR, nhạc chờ và ghi âm).
1.2.4 Nội dung động trên điện thoại
Asterisk được lập trình trên ngôn ngữ C và các ngôn ngữ thông thường khác trong môi trường phát triển ngày nay. Khả năng cung cấp nội dung động hầu như không có giới hạn.
1.2.5 Kiểu quay số linh hoạt và mạnh
Một điểm mạnh nữa của Asterisk nếu như bạn so sánh với các tổng đài PBX, ngay cả những thứ đơn giản như LCR (Định tuyến chi phí thấp Least Cost Routing) không có trong PBX hay là tùy chọn. Thì với Asterisk thì việc lựa chọn tuyến tốt nhất dễ dàng và chính xác.
1.2.6 Mã nguồn mở chạy trên nền Linux
Một trong những tính năng mạnh nhất của Asterisk là cộng đồng của nó. Khi bạn truy cập vào wiki (www.voip-info.org), các danh sách phân phối email và các diễn đàn. Việc đệ trình Asterisk thường nhanh chóng và bất kỳ lỗi gì của nó đều tìm ra. Asterisk có thể là phần mềm điện thoại PBX được kiểm tra nhiều nhất trên thế giới. Từ các phiên bản 1.0 đến 1.2 có hơn 3000 sự thay đổi và các lỗi trong mã nguồn được sửa chửa. Tiến trình này đảm bảo rằng ta có một mã vừa có tính ổn định vừa hầu như không có lỗi.
1.2.7 Các giới hạn trong kiến trúc của Asterisk
Một vài giới hạn trong Asterisk đến từ việc sử dụng trong mô hình thiết kế điện thoại Zapata. Trong kiểu thiết kế này, Asterisk sử dụng CPU của máy tính để xứ lý các kênh thoại thay vì sử dụng các card DSP chuyên dụng thường thấy trong các hệ thống khác. Mặc dù điều này cho phép nó giảm nhiều chi phí trong giao diện phần cứng. Một hệ thống trở nên phụ thuộc vào CPU của máy tính. Asterisk nên chạy trên một máy tính chuyên dụng và có cấu hình phần cứng phù hợp với xử lý thoại. Thường nên sử dụng Asterisk trên một VLAN độc lập để tránh broadcast tiêu tốn nhiều băng thông của CPU (bão broadcast từ các vòng lặp hay của virus). Một vài card giao tiếp mới từ nhiều nhà cung cấp bao giờ cũng bao gồm cả DSP để triệt nhiễu, codec và đảm nhiệm các tính năng khác. Nó làm cho Asterisk tốt hơn.
1.3 Kiến trúc của Asterisk
Hình 1: Kiến trúc của Asterisk
Hình trên mô tả kiến trúc cả Asterisk. Tiếp theo chúng ta sẽ giải thích các thành phần liên quan đến kiến trúc như các kênh, codec mã hóa giải mã và các ứng dụng.
1.3.1 Các kênh
Một kênh tương đương với 1 line thoại, nhưng trong định dạng số nó thường bao gồm bởi một hệ thống báo hiệu tương tự hoặc số hay sự kết hợp của codec và các giao thức báo hiệu (ví dụ như SIP-GSM, IAX - quy luật µ). Ban đầu tất cả các kết nối điện thoại là tương tự và có nhiều tiếng dội và nhiễu. Sau đó, hầu hết các hệ thống đều chuyển đổi qua các hệ thống số, với âm thoại tương tự được chuyển đổi thành dạng số bởi PCM trong hầu hết các trường hợp. Kiểu này cho phép việc truyền dẫn với tốc độ 64kbps không cần nén.
Phần cứng TDM hỗ trợ:
Card Zaptel (thường do Digium sản xuất)
+ Wildcard T410P - 4 giao tiếp E1/T1 (chỉ sử dụng PCI 3.3 V)
+ Wildcard T405P - 4 giao tiếp E1/T1 (chỉ sử dụng PCI 5.0 V)
+ TE110P - 1 cổng giao tiếp E1/T1
+ TDM400P - 4 giao tiếp analog FXO or FXS
+ TDM2400 - 24 cỗng FXS or FXO
Các board trên sử dụng các driver kênh chan_zap
+ Card Linux
+ Quicknet Phonejack và linejack có thể được sử dụng
+ Card ISDN và các driver
+ ISDN4Linux - driver cũ, không khuyến khích sử dụng
+ ISDN CAPI
+ Voicetronix: 4,8 và 16 cổng analog. Bây giờ họ còn sản xuất các card E1/T1. Những card này cũng sử dụng các driver kênh chan_zap
1.3.2 Codec và chuyển dịch codec
Chúng ta thường cố gắng để có nhiều kết nối có thể trên một mạng dữ liệu. Codec cho phép các tính năng mới trong thoại số. Bộ nén tính hiệu là một phần quan trọng nhất, Vì nó cho phép tỉ lệ nén 8-1. Những tính năng khác bao gồm bộ phát hiện thoại, bộ giấu mất gói mất và bộ tạo cân bằng nhiễu. Những codec trên đều có bên trong Asterisk và những codec này có thể được chuyển đổi từ dạng này sang dạng khác. Bên trong Asterisk sử dụng một slinear như định dạng dòng khi nó cần chuyển đổi từ một codec này đến một codec khác. Một vài codec trong Asterisk được hỗ trợ chỉ cho kiểu pass-through và những kiểu codec này không thể dịch được.
Hỗ trợ các codec sau:
+ G.711 ulaw (USA) - (64 Kbps)
+ G.711 alaw (Europe) - (64 Kbps)
+ G.723.1 - chỉ cho kiểu pass-through
+ G.726 - (16/24/32/40kbps)
+ G.729 - cần bản quyền (8Kbps)
+ GSM - (12-13 Kbps)
+ iLBC - (15 Kbps)
+ LPC10 - (2.5 Kbps)
+ Speex - (2.15-44.2 Kbps)
1.3.3 Các giao thức
Gần đây giao thức báo hiệu SIP thường được sử dụng. H.323 được sử dụng trong các hệ thống VoIP cũ và hầu hết các hệ thống cũ dùng giao thức này. IAX là một chọn lựa khác đang trở nên phổ biến vì chúng làm việc tốt với NAT Tranversal và có thể tiết kiệm được băng thông.
Asterisk hỗ trợ các giao thức:
+ SIP
+ H323
+ IAXv1 e v2
+ MGCP
+ SCCP (Cisco Skinny)
+ Nortel unistim
1.3.4 Các ứng dụng
Để làm cấu nối từ một điện thoại này đến một điện thoạ