P. 1
Chuong 5 Sua

Chuong 5 Sua

|Views: 4|Likes:
Published by Dung Anh Kieu

More info:

Published by: Dung Anh Kieu on Apr 04, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

01/30/2014

pdf

text

original

XÂY DỰNG HỆ THỐNG VOIP DỰA TRÊN MÃ NGUỒN MỞ ASTERISK

CHƯƠNG 5: TỔNG QUAN VỀ TỔNG ĐÀI ASTERISK
5.1 Giới thiệu Asterisk Tổng đài Asterisk là một phần mềm mã nguồn mở chạy trên nền Linux và được viết hoàn toàn bằng ngôn ngữ C, ra đời năm 1999 bởi Mark Spencer, đầu tiên được thiết kế và triển khai trên GNU/Linux nền x86 (của Intel). Nhưng hiện nay, Tổng đài Asterisk có thể chạy trên nhiều hệ điều hành khác như: MAC OSX, FreeBSD, OpenBSD và Microsoft Windows. Asterisk thực hiện được tất cả các tính năng, hoạt động như một tổng đài nội bộ PBX (Private Branch Exchange) cho phép các máy điện thoại nhánh (extension) thực hiện cuộc gọi với nhau và kết nối với các hệ thống điện thoại khác. Được bổ sung thêm nhiều tính năng của một tổng đài IP-PBX, Asterisk hỗ trợ nhiều giao thức cho VoIP như SIP, H.323, MGCP (Media Gateway Control ProtocolGiao thức điều khiển cổng phương tiện), SCCP (Signaling connection Control PartPhần tín hiệu điều khiển kết nối). Asterisk có thể kết nối với mạng IP và cũng có thể được kết nối đến mạng lưới điện thoại tồn tại thông qua hệ thống điện thoại Analog thông thường trên mạng PSTN truyền thống, bên cạnh đó Asterisk còn được tích hợp cả chuyển mạch TDM và hỗ trợ chuyển mạch trên nền VoIP. Asterisk là phần mềm mã nguồn mở, có độ tin cậy cao và có thêm nhiều chức năng mở rộng hơn so với hệ thống PBX truyền thống nên được xem là phần mềm mang tính cách mạng trên nền thoại VoIP. Phần mềm asterisk cho phép biến 1 PC thông thường chạy hệ điều hành Linux thành 1 hệ thống tổng đài điện thoại doanh nghiệp với đầy đủ các ứng dụng nhiều hơn so với tổng đài truyền thống. Là một bộ công cụ mã nguồn mở cho các ứng dụng thoại và là 1 server xử lý cuộc gọi đầy đủ chức năng. Asterisk là một nền tảng tích hợp điện thoại vi tính hóa kiến trúc mở trên nền IP. Với Asterisk thực hiện truyền thông trong phần mềm thay vì phần cứng nên cho phép các tính năng mới được thêm vào hoặc thực hiện các thay đổi theo yêu cầu sử dụng 1 cách dễ dàng trên mọi khía cạnh để đáp ứng nhu cầu. Các thành phần chức năng của Asterisk được thiết kế thành từng module riêng biệt và tách rời với phần chuyển mạch lõi, điều này tạo khả năng dễ điều chỉnh và mở rộng cao. Một trong những điểm nhấn của Asterisk là quản lý Extension.Từng bước của cuộc gọi được định nghĩa như một ứng dụng. Quay số gọi là một ứng dụng, trả lời, phát lại, hộp thư thoại … là những ví dụ về ứng dụng khác của Asterisk.

Luận văn tốt nghiệp

Trang 56

XÂY DỰNG HỆ THỐNG VOIP DỰA TRÊN MÃ NGUỒN MỞ ASTERISK

Hình 5.1: Mô hình kết nối hệ thống thoại dựa trên Asterisk Ngoài chi phí rẽ và dễ dàng thiết lập, khả năng thoại trên nền VoIP của Asterisk cho phép kết nối những vùng xa xôi, những nơi chưa có mạng cáp điện thoại PSTN truyền thống. 5.2 Cấu trúc Asterisk

Hình 5.2: Cấu trúc cơ bản của Asterisk

Luận văn tốt nghiệp

Trang 57

XÂY DỰNG HỆ THỐNG VOIP DỰA TRÊN MÃ NGUỒN MỞ ASTERISK Asterisk cung cấp 4 bộ API dùng cho việc giao tiếp với các module: Channel API: cho phép phần lõi PBX giao tiếp với các nguồn tín hiệu khác nhau, hỗ trợ các giao thức VoIP gồm SIP, H.323 và MGCP. Codec Translator API: cung cấp khả năng làm việc với các định dạng âm thanh mã hóa như MP3, GSM, G.7123, ADPCM... File Format API: Cho phép đọc và phát âm thanh từ các định dạng file WAV, MP3.... đem đến sự linh hoạt cho các ứng dụng trên nền Asterisk trong việc xử lý âm chuông, DTMF (âm thanh phát ra khi nhấn phím)... Application API: Có thể dùng cho ứng dụng thứ ba như thư thoại, hội đàm... cho phép viết các ứng dụng mới có thể tương tác trực tiếp với phần lõi PBX. Về cơ bản kiến trúc của Asterisk là sự kết hợp giữa nền tảng công nghệ điện thoại và ứng dụng điện thoại, công nghệ điện thoại cho VOIP như SIP, H.323, IAX, MGCP... các công nghệ điện thoại cho hệ thống chuyển mạch mạch TDM như T1, E1, ISDN và các giao tiếp đường truyền thoại Analog. Các ứng dụng thoại như chuyển mạch cuộc gọi, tương tác thoại, caller ID, voicemail, chuyển cuộc gọi… Asterisk có một số chức năng chính đóng vai trò quan trọng trong hệ thống chuyển mạch cuộc gọi. Khi khởi động hệ thống Asterisk thì chức năng Dynamic Module Loader thực hiện nạp driver của thiết bị, nạp các kênh giao tiếp, các format, codec và các ứng dụng liên quan, đồng thời các hàm API cũng được liên kết nạp vào hệ thống. Sau đó hệ thống PBX Switching Core của Asterisk chuyển sang trạng thái sẵn sàng hoạt động chuyển mạch cuộc gọi, các cuộc gọi được chuyển mạch tuỳ vào kế hoạch quay số (Dialplan) được thực hiện cấu hình trong file extension.conf. o Application Launchar: làm chức năng rung chuông thuê bao, quay số, định hướng cuộc gọi, kết nối với hộp thư thoại… o Scheduler and I/O Manager: đảm nhiệm các ứng dụng nâng cao, các chức năng được phát triển bởi cộng đồng phát triển asterisk. o Codec Translator: xác nhận các kênh nén dữ liệu ứng với các chuẩn khác nhau có thể kết hợp liên lạc được với nhau. Tất cả các cuộc gọi định hướng qua hệ thống Asterisk đều thông qua các giao tiếp như SIP, Zaptel, IAX. Nên hệ thống Asterisk phải đảm trách nhiệm vụ liên kết các giao tiếp khác nhau đó để xử lý cuộc gọi. Một cuộc gọi được xuất phát hoặc được nhận qua một giao tiếp trên kênh riêng biệt của chính nó và một kênh có thể được kết nối đến một kênh vật lý (line POTS) hay kênh logic (SIP, IAX). Khi cuộc gọi đến Asterisk qua một kênh, Dial Plan (kế hoạch đánh số) quyết định cái gì sẽ thực hiện với cuộc gọi như: quyết định trả lời cuộc gọi, được kết nối với điện thoại khác, được chuyển cuộc gọi hay được định hướng tới Voicemail. Luận văn tốt nghiệp Trang 58

XÂY DỰNG HỆ THỐNG VOIP DỰA TRÊN MÃ NGUỒN MỞ ASTERISK Asterisk cũng cung cấp nhiều ứng dụng khác nhau. Các ứng dụng này sẵn sàng cho Dial Plan khi xử lý cuộc gọi vào. Dial plan và các ứng dụng được lựa chọn để sử dụng trong kế hoạch đánh số quyết định Asterisk thi hành những hành động nào. Ngoài ra, Asterisk còn có thư viện Asterisk Gateway Interface (AGI, tương tự như CGI) - cơ chế kích hoạt ứng dụng bên ngoài, cho phép viết kịch bản phức tạp với một số ngôn ngữ như PHP hay Perl. 5.3 Các tính năng mà Asterisk hỗ trợ Dưới đây chỉ là một số tính năng thường được sử dụng trong Asterisk. Còn rất nhiều tính năng nữa mà hệ thống Asterisk có thể cung cấp cho người sử dụng. 5.3.1 Voicemail Đây là tính năng cho phép hệ thống nhận các thông điệp tin nhắn thoại, mỗi máy điện thoại được khai báo trong hệ thống Asterisk cho phép khai báo thêm chức năng hộp thư thoại. Mỗi khi số điện thoại bận thì hệ thống Astreisk định hướng trực tiếp các cuộc gọi đến hộp thư thoại tương ứng đã khai báo trước. Các tính năng Voicemail như: Voicemail transfer: Tính năng cho phép bạn chuyển cuộc gọi vào hộp thư thoại khi bạn không rảnh để nghe. Voicemail dial: Nếu bạn không muốn điện thoại của người nhận đổ chuông (tránh làm phiền không cần thiết), bạn có thể nói trực tiếp vào Voicemail của người nhận. Người nhận sau đó sẽ nghe lại thông tin của bạn từ Voicemail 5.3.2 Call Farwarding (chuyển hướng cuộc gọi) Đây là tính năng thường được sử dụng trong hệ thống Asterisk.Chức năng này cho phép chuyển một cuộc gọi đến một hay nhiều số máy điện thoại được định trước. Một số trường hợp cần chuyển cuộc gọi như: chuyển cuộc gọi khi bận, chuyển cuộc gọi khi không trả lời, chuyển cuộc gọi tức thời, chuyển cuộc gọi với thời gian định trước … 5.3.3 Caller ID (Hiển thị số gọi) Chức năng này cho biết số điện thoại của người gọi đến máy điện thoại của bạn sẽ được hiển thị nhằm biết được ai đang gọi tới. Caller ID cho phép chúng ta xác nhận số thuê bao gọi đến có nghĩa là dựa vào Caller ID chúng ta có tiếp nhận hay không tiếp nhận cuộc gọi từ phía hệ thống Asterisk. Ngăn một số cuộc gọi ngoài ý muốn. 5.3.4 Conference Call (Đàm thoại nhiều người) Chức năng này cho phép ta thực hiện cuộc đàm thoại tới nhiều người chỉ để Luận văn tốt nghiệp Trang 59

XÂY DỰNG HỆ THỐNG VOIP DỰA TRÊN MÃ NGUỒN MỞ ASTERISK thông báo một nội dung như nhau … thay vì gọi cho từng người để thông báo nhằm để tiết kiệm thời gian và tránh sự bất tiện. Các cuộc đàm thoại nhiều người được thiết lập cho phép người nhận cuộc gọi tham gia đàm thoại xuyên suốt cuộ gọi đó hoặc có thể được thiết lập để người nhận cuộc gọi chỉ được phép nghe mà không thoại được. Ngoài ra chúng ta có thể có phép người gọi gọi tới những người khác và thêm họ vào tham gia cuộc đàm thoại. 5.3.5 Interactive Voice Responese (IVR) Interactive Voice Responese (IVR) hay Autometed Attendant (AA) đều là chức năng tương tác thoại (hệ thống trả lời tự động). Chức năng tương tác thoại có rất nhiều ứng dụng trong thực tế, khi gọi điện thoại đến một cơ quan hay xí nghiệp, thuê bao thường nghe thông điệp như: “Xin chào mừng bạn đã gọi đến công ty chúng tôi, hãy nhấn phím 1 để gặp phòng kinh doanh, phím 2 gặp phòng kỹ thuật …” sau đó tùy vào sự tương tác của thuê bao gọi đến, hệ thống Astreisk sẽ định hướng cuộc gọi theo mong muốn. Khi muốn xem điểm thi, muốn biết tiền cước điện thoại của thuê bao, muốn biết tỉ giá ngoại tệ hiện nay như thế nào, hay kết quả sổ số… Tất cả những mong muốn trên đều có thể thực hiện qua chức năng tương tác thoại. 5.3.6 Time and Date Chức năng này cho phép vào từng thời gian cụ thể cuộc gọi sẽ định hướng đến một số điện thoại hay một chức năng cụ thể khác. Ví dụ: trong công ty chỉ cho phép nhân viên sử dụng máy điện thoại trong giờ hành chính, còn ngoài giờ thì sẽ hạn chế hay không cho phép gọi ra bên ngoài. 5.3.7 Call pickup Đây là tính năng cho phép chúng ta từ máy điện thoại này có thể nhận cuộc gọi từ máy điện thoại khác đang rung chuông. 5.3.8 Call parking Đây là chức năng chuyển cuộc gọi có quản lý. Có một số điện thoại trung gian và hai thuê bao có thể gặp nhau khi thuê bao được gọi nhấn vào số điện thoại mà thuê bao chủ gọi đang chờ trên đó và từ đây có thể gặp nhau và đàm thoại. 5.3.9 Privacy Manager Khi một người chủ doanh nghiệp triển khai Asterisk cho hệ thống điện thoại của công ty mình nhưng lại không muốn nhân viên trong công ty gọi đi ra ngoài trò chuyện với bạn bè, khi đó Asterisk cung cấp 1 tính năng tiện dụng là chỉ cho phép số điện thoại được lập trình được phép gọi đến những số máy cố định nào đó thôi, còn những số không có trong danh sách định sẵn sẽ không thực hiện được cuộc gọi.

Luận văn tốt nghiệp

Trang 60

XÂY DỰNG HỆ THỐNG VOIP DỰA TRÊN MÃ NGUỒN MỞ ASTERISK 5.3.10 Backlist Backlist cũng giống như Privacy Manager nhưng có một sự khác biệt là những máy điện thoại nằm trong danh sách sẽ không gọi được đến máy của mình (sử dụng trong tình trạng hay bị quấy rối điện thoại) 5.3.11 Call Recording Asterisk có khả năng để ghi âm các cuộc gọi. Tính năng này được sử dụng để chứng minh nội dung cuộc gọi làm thõa mản một yêu cầu nào đó của khách hàng khi cần thiết cũng như khả năng giúp đỡ trong các trường hợp có liên quan đến pháp luật. 5.3.12 Call Detail Records Asterisk giữ lại các dữ liệu chi tiết cuộc gọi đầy đủ. Thông tin này có thể chứa trong một tệp phẳng (flat file), hoặc database để lưu trữ và tra cứu hiệu quả. Sử dụng thông tin này chúng ta có thể giám sát việc sử dụng của hệ thống Asterisk. 5.4 Các định dạng hệ thống quản lý file của Asterisk Asterisk hỗ trợ nhiều định dạng file để cấu hình hệ thống, setup, lưu trữ dữ liệu hệ thống … và file âm thanh khác nhau sử dụng để lưu trữ dữ liệu âm thanh bao gồm voicemail và music on hold. Các định dạng được hỗ trợ bao gồm: Định dạng Mô tả Raw Dữ liệu 16 bit tuyến tính Pcm Dữ liệu 8 bit luật Vox Dữ liệu 4 bit IMA-ADPCM Wav File wav tuyến tính 16 bit ở tần số 8Khz WAV File WAV nén GSM ở 8Khz Gsm Dữ liệu nén GSM G723 Định dạng g723 đơn giản với nhãn thời gian Bảng 5.1 Các định dạng file Asterisk hỗ trợ Thư mục /etc/asterisk /usr/sbin Mô tả Chứa tất cả các file cấu hình trừ /etc/zapel.conf Các đoạn mã và file thwucj thi của Asterisk bao gồm asterisk, astman, astgenkey và safe_asterisk Các đối tượng nhị phân riêng của cấu trúc Asterisk Trang 61

/usr/lib/asterisk

Luận văn tốt nghiệp

XÂY DỰNG HỆ THỐNG VOIP DỰA TRÊN MÃ NGUỒN MỞ ASTERISK /ủ/lib/asterisk Các module thời gian thực cho các ứng dụng, điều khiển kênh, bộ nén và giải nén, định dạng file,… Các file mào đầu cần thiết cho xây dựng các ứng dụng của Asterisk, điều khiển kênh và các module hoạt động Chứa tập tin astdb và một số thư mục con. Tập tin astdb chứa đựng thông tin cơ sở dữ liệu của Asterisk Các đoạn mã AGI dùng bởi ứng dụng dial plan AGI Các hình được tham chiếu bở các ứng dụng hay bởi các dial plan Các khóa public/private được sử dụng trong Asterisk cho xác thực chữ ký điện tử RSA. IAX sử dụng keys được lưu trữ ở thư mục này. Các file MP3 được sử dụng cho chức năng Music on hold. Cấu hình cho Music on hold được chứa trong thư mục này Chứa các file âm thanh, cảnh báo… được sử dụng bởi các ứng dụng của Asterisk. Nội dung của các file chứa trong thư mục được liệt kê qua tập tin sounds.txt hoặc tập tin mở rộng sounds-extra.txt Các file process ID (pid) cho tất cả các tiến trình đang chạy trong hệ thống gồm cả Asterisk. Mỗi hệ điều hành thì thư mục /var/run có thể khác. Primary Process Identifiler (PID) của các ứng dụng asterisk đang thực thi Hệ thống tên được sử dụng bởi Asterisk để cho phép điều khiển từ xa Các file chạy thời gian thực cho voicemail, các cuộc gọi ra ngoài,… Asterisk điều khiển thư mục này cho các Trang 62

/usr/include/asterisk

/var/lib/asterisk

/var/lib/astreisk/agi-bin /var/lib/astreisk/images /var/lib/astreisk/keys

/var/lib/astreisk/mohmp3

/var/lib/astreisk/sounds

/var/run

/var/run/asterisk.pid /var/run/asterisk/ctl /var/spool/asterisk /var/spool/asterisk/outgoing Luận văn tốt nghiệp

XÂY DỰNG HỆ THỐNG VOIP DỰA TRÊN MÃ NGUỒN MỞ ASTERISK cuộc gọi ra ngoài. Một cuộc gọi ra sẽ lưu kết quả vào một file trong thư mục này. Asterisk phân tích file được tạo ra và thiết lập cuộc gọi. Nếu như cuộc gọi được trả lời nó sẽ chuyển tới Asterisk PBX /var/spool/asterisk/qcall Được sử dụng để từ chối ứng dụng qcall. /var/spool/asterisk/vm Hộp thư thoại, thông báo và các thư mục /var/log/asterisk Chứa tất cả các tập tin nhật ký (tập tin log). Có thể tùy biến các loại thông tin được lưu trong các tập tin log khác nhau qua tập tin cấu hình /etc/asterisk/logger.conf /var/log/asterisk/cdr-csv Lưu chi tiết cuộc gọi CDR, thông tin mặc định về chi tiết thông tin cuộc gọi được lưu trữ trong tập tin Master.csv. Nhưng thường thì ứng với mỗi mã account sẽ tạo một thư mục riêng để lưu chi tiết cuộc gọi cho máy đó. Bảng 5.2: File hệ thống quản lý của Asterisk 5.5 Các khái niệm trong hệ thống Asterisk 5.5.1 FXO và FXS FXO (Foreign Exchange Office) là thiết bị nhận tín hiệu từ tổng đài gửi đến như dòng chuông, tín hiệu nhấc gác máy, tín hiệu mời quay số, gửi và nhận tín hiệu thoại… FXO giống như máy Fax hay modem dial - up 56k vậy. Dùng để kết nối với đường dây điện thoại. FXS (Foreign Exchange Station) là thiết bị tại nơi cung cấp đường dây điện thoại, thiết bị FXS sẽ cung cấp tín hiệu mời quay số (dialtone), dòng chuông, hồi âm chuông (ring tone). Trong đường dây Analog FXS cung cấp dòng chuông và điện áp cho điện thoại hoạt động ví dụ FXS cung cấp điện áp - 48VDC đến máy điện thoại Analog trong suốt thời gian đàm thoại và cung cấp 90VAC (20hz) để phát điện áp rung chuông. Thiết bị FXS phát còn thiết bị FXO nhận. Card TDM sử dụng trong hệ thống Asterisk thường tích hợp vừa thiết bị FXO vừa là thiết bị FXS (Giống bộ ATA) FXO để kết nối với đường dây điện thoại còn FXS dùng để kết nối với máy điện thoại Analog thông thường dùng để chuyển mạch cuộc gọi TDM qua hệ thống Asterisk.

Luận văn tốt nghiệp

Trang 63

XÂY DỰNG HỆ THỐNG VOIP DỰA TRÊN MÃ NGUỒN MỞ ASTERISK Tóm lại: FXS được kết nối với FXO giống với đường dây điện thoại nối với máy điện thoại. FXS cung cấp nguồn cho điện thoại FXO (điện thoại Analog).

Hình 5.3: a) Máy điện thoại vai trò FXO kết nối với FXS(PSTN) b) PBX kết nối với FXO và FXS. c) ATA đóng vai trò như FXS để kết nối với máy điện thoại vai trò FXO. Báo hiệu Analog giữa đầu cuối và tổng đài Khi chúng ta nhấc mấy điện thoại để gọi thì nghe tín hiệu mời quay số, khi cuộc gọi gọi đầu bên kia bị bận thì chúng ta nghe tín hiệu bận (busy tone) các loại tín hiệu như vậy gọi là các tín hiệu báo hiệu Analog. Các tín hiệu như: mời quay số, tín hiệu bận, rung chuông, trạng thái nhấc gác máy. Các loại tín hiệu trên được trao đổi giữa thiết bị FXO và FXS. Có nhiều phương thức báo hiệu khác nhau ứng với từng nơi sử dụng, vì thế tại nơi kết nối với đường dây điện thoại cần xem xét họ đang sử dụng phương thức báo hiệu gì, từ đó chúng ta khai thác loại tín hiệu báo hiệu cho thích hợp, các phương thức báo hiệu như Loop Start, Ground Start. Một minh họa cho việc sử dụng sai phương thức báo hiệu là khi chúng ta khai báo phương thức báo hiệu giữa hệ thống Asterisk và đường dây điện thoại khác nhau thì dẫn đến Asterisk sẽ không nhận biết được tín hiệu gác máy, điều này sẽ làm cho asterisk không báo giờ giải tỏa được cuộc gọi để thực hiện cuộc gọi mới. 5.5.2 RTP và NAT Các cuộc gọi trên Internet với giao thức SIP được chia thành các gói thoại và được chuyển qua giao thức RTP (Real Time Protocol). RTP là giao thức không chỉ thực hiện chuyển các gói thoại qua Internet mà còn có cả video nữa. Một cuộc gọi thông thường có hai hướng thông tin là nhận và phát, RTP làm việc chuyển các gói dữ liệu thoại cũng trên hai hướng. Luận văn tốt nghiệp Trang 64

XÂY DỰNG HỆ THỐNG VOIP DỰA TRÊN MÃ NGUỒN MỞ ASTERISK NAT Network Address Translators là một trở ngại lớn trong giao thức RTP. Mạng sử dụng NAT là một mạng chia sẻ nhiều địa chỉ IP nội bộ với một địa chỉ IP Công cộng để kết nối với thế giới bên ngoài. NAT dùng để chia sẻ nhiều máy tính trong mạng LAN nội bộ sử dụng được Internet, nhưng cũng chính vì thế mà các máy tính nội bộ gặp khó khăn trong việc thực hiện cuộc gọi VoIP qua Internet. Đó chính là vấn để trở ngại khi truyền thoại qua giao thức RTP.

Hình 5.4: Hoạt động của NAT Trong Giao thức RTP như chúng ta đã biết đó là thoại được chuyển trên hai đường khác nhau là đường phát và đường thu, vấn đề NAT nằm ở chỗ tín hiệu thoại từ bên ngoài vào bên trong qua giao thức RTP không thực hiện được còn chiều ngược lại thì thực hiện tốt. Hay nói cách khác vấn đề NAT làm cho các cuộc gọi từ Internet đàm thoại vào các máy nội bộ qua NAT thì không nghe được, còn trong trường hợp các cuộc gọi từ các máy nội bộ ra các máy internet thì nghe tốt. Vấn đề NAT trên được giải quyết trong Asterisk bằng việc khai báo thông số NAT = YES trong cấu hình kênh giao thức SIP. 5.5.3 IAX – Inter Asterisk Exchange IAX là giao thức báo hiệu VoIP được phát triển bởi tác giả của phần mềm Asterisk để khắc phục những hạn chế trong giao thức SIP. Không giống như giao thức SIP chuyển tải thoại và báo hiệu trên hai kênh khác nhau (out of band), IAX chuyển tải thoại và báo hiệu trên cùng một kênh (in band). IAX giải quyết được vấn đề NAT đề cập trên phần giao thức SIP. Mặc khác IAX là giao thức tối ưu trong việc sử dụng băng thông, cho phép nhiều gói dữ liệu thoại trên cùng một IP header, cơ chế chuyển tải nhiều cuộc gọi trên cùng một gói IP được gọi là trung kế (Trunk).

Luận văn tốt nghiệp

Trang 65

XÂY DỰNG HỆ THỐNG VOIP DỰA TRÊN MÃ NGUỒN MỞ ASTERISK Tóm lại: IAX là giao thức dành cho VoIP mới nhất cho đến thời điểm này với nhiều ưu điểm hấp dẫn như: + Tối thiểu sử dụng băng thông. + Trong suốt với NAT. + Hiệu quả với cơ chế trung kế. 5.6 Các mô hình ứng dụng Asterisk 5.6.1 Tổng đài VoIP IP-PBX Đây là hệ thống chuyển mạch VoIP được xây dựng phục vụ các công ty có nhu cầu thực hiện trên nền tảng mạng nội bộ đã triển khai. Thay vì lắp đặt một hệ thống PBX cho nhu cầu liên lạc nội bộ thì nên lắp đặt hệ thống VoIP điều này sẽ làm giảm chi phí đáng kể. Hệ thống có thể liên lạc với mạng PSTN qua card giao tiếp TDM hoặc các gateway. Sau đây là các bước một cuộc gọi điện thoại thông thường sử dụng VoIP qua mạng chuyển mạch gói. Khi bạn nhấc tổ hợp, tín hiệu sẽ gửi tới tổng đài IP PBX. Tổng đài IP PBX nhận tín hiệu và gửi âm mời quay số để bạn biết rằng bạn đã có kết nối tới PBX. Bạn sẽ quay số mà bạn muốn nói chuyện, các con số này sau đó sẽ lưu trữ tạm thời bởi tổng đài IP PBX. Khi bạn nhập xong số, tổng đài IP PBX sẽ kiểm tra để chắc chắn rằng số đó có hợp lệ hay không. Tổng đài IP PBX xác định lược đồ (Map) của số đó. Theo sơ đồ, số được gán tới địa chỉ IP của thiết bị khác được gọi IP Host. IP Host thông thường cũng là một tổng đài IP PBX số khác, kết nối trực tiếp tới hệ thống điện thoại của số bạn. Một phiên được thiết lập giữa tổng đài IP PBX khu vực của bạn và IP Host khu vực khác. Bạn nói trong một khoảng thời gian. Trong suốt quá trình hội thoại, tổng đài IP PBX khu vực bạn và IP Host truyền các gói dữ liệu qua lại. Mỗi một hệ thống phải sử dụng cùng giao thức để liên lạc. Mỗi hệ thống sẽ thực thi thành hai kênh, mỗi kênh cho một hướng. Khi bạn kết thúc cuộc nói chuyện và đặt máy xuống, ngắt kết nối giữa điện thoại của bạn và tổng đài IP PBX, đường line của bạn được giải phóng. Tổng đài IP PBX gửi tín hiệu tới IP Host kết thúc một phiên (Session) làm việc, IP Host cũng kết thúc tại phía nó.

Luận văn tốt nghiệp

Trang 66

XÂY DỰNG HỆ THỐNG VOIP DỰA TRÊN MÃ NGUỒN MỞ ASTERISK Ngay sau đó phiên làm việc chấm dứt, tổng đài IP PBX sẽ xoá các số từ bộ nhớ.

Hình 5.5: Mô hình tổng đài IP-PBX ứng dụng Asterisk 5.6.2 Kết nối IP PBX với PBX Một ngữ cảnh đặt ra ở đây là hiện tại công ty đã trang bị hệ thống PBX bây giờ cần trang bị thêm để đáp ứng nhu cầu liên lạc trong công ty sao cho với chi phí thấp nhất, giải pháp để thực hiện đó là trang bị hệ thống Asterisk và kết nối với hệ thống PBX đang tồn tại qua luồng E1. Ngoài ra để tăng khả năng liên lạc với mạng PSTN và VoIP khác, công ty có thể thực hiện kết nối với nhà cung cấp dịch vụ VoIP.

Hình 5.6: Mô hình kết nối IP-PBX và PBX Luận văn tốt nghiệp Trang 67

XÂY DỰNG HỆ THỐNG VOIP DỰA TRÊN MÃ NGUỒN MỞ ASTERISK 5.6.3 Kết nối giữa các server Asterisk

Hình 5.7: Kết nối giữa các server Asterisk Phương pháp trên ứng dụng rất hiệu quả cho các công ty nằm rãi rác ở các vị trị địa lý khác nhau nhằm giảm chi phí đường dài. Ví dụ công ty mẹ có trụ sở đặt tại nước Mỹ và các chi nhánh đặt tại Việt Nam với các địa điểm thành phố Hồ Chí Minh và Hà Nội. Thông qua mạng WAN của công ty các cuộc gọi nội bộ giữa các vị trí khác nhau sẽ làm giảm chi phí đáng kể. 5.6.4 Các ứng dụng IVR, VoiceMail, Điện Thoại Hội Nghị

Hình 5.8: Triển khai server ứng dụng IVR, Voicemail, Conference call Ứng dụng thực hiện các server kết nối với hệ thống PSTN hay tổng đài PBX để triển khai các ứng dụng như tương tác thoại IVR.. Ứng dụng VoiceMail thu nhận

Luận văn tốt nghiệp

Trang 68

XÂY DỰNG HỆ THỐNG VOIP DỰA TRÊN MÃ NGUỒN MỞ ASTERISK những tin nhắn thoại từ phía thuê bao. Còn chức năng điện thoại hội nghị thiết lập cho nhiều máy điện thoại cùng nói chuyện với nhau. 5.6.5 Chức năng phân phối cuộc gọi tự động ACD

Hình 5.9: Chức năng phân phối cuộc gọi tự động ACD Đây là chức năng ứng dụng cho nhu cầu chăm sóc khách hàng hay nhận phản hồi từ phía khách hàng. Với chức năng phân phối cuộc gọi sẽ đưa thuê bao vào hàng đợi để chờ trả lời, trong khi chờ trả lời cuộc gọi thuê bao có thể nghe những bản nhạc chờ do Asterisk cung cấp, trong lúc này nếu một trong số điện thoại trở về trạng thái rỗi thì cuộc gọi đang chờ sẽ được trả lời.

Luận văn tốt nghiệp

Trang 69

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->