Thứ Ba, 15 tháng 3, 2016

Nghiên cứu công nghệ Voip và các ứng dụng trong tổng đài Asterisk

Báo cáo Thực tập tốt nghiệp Đại học Chương 2: Tìm hiểu Asterisk ứng dụng VoIP CHƯƠNG 2: TÌM HIỂU ASTERISK ỨNG DỤNG VOIP I. Giới thiệu Asterisk 1. Vì sao chọn phần mềm Asterisk: • Tiết kiệm chi phí (hoặc chi phí thấp hơn so với các tổng đài khác) • Asterisk được xem như là một tổng đài PBX (Private Branch eXchange) và tích hợp nhiều tính năng mới. • Ngoài những tính năng của một tổng đài PBX thông thường, Asterisk còn được tích hợp cả chuyển mạch TDM và chuyển mạch VoIP, có khả năng mở rộng đáp ứng nhu cầu cho từng ứng dụng như mở rộng giao tiếp với mạng PSTN (Public Switched Telephone Network). • Phát triển trên môi trường mở: − Asterisk có thể chạy trên các hệ điều hành khác như: Mac OS X, FreeBSD, OpenBSD và Microsoft Windowns… − Với một máy tính đã cài hệ điều hành (một trong các hệ điều hành nói trên, ở đây ta xét hệ điều hành Microsoft Windowns) và có thêm phần mềm Asterisk đã cấu hình, khi đó máy tính này sẽ có đầy đủ tính năng của một tổng đài điện thoại và có thể hơn thế. 2. Khái niệm: • Asterisk là phần mềm nguồn mở,1 hệ thống chuyển mạch mềm, được viết 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). • Asterisk là một bộ công cụ mã nguồn mở cho các ứng dụng thoại. Là server xử lí đầy đủ các chức năng cuộc gọi, thực hiện tất cả các tính năng của tổng đài PBX. • Tích hợp giao tiếp với mạng PSTN và mạng VOIP cho phép gọi ra bất cứ số điện thoại nào trên mạng PSTN. Hình 2.1: Cổng VoIP-to-PSTN bằng cách sử dụng Asterisk Báo cáo Thực tập tốt nghiệp Đại học Chương 2: Tìm hiểu Asterisk ứng dụng VoIP • ứng dụng cho điện thoại: chuyển mạch cuộc gọi, cuộc gọi hội nghị, voicemail, chuyển hướng cuộc gọi, … • Một Asterisk server được kết nối tới một mạng vùng nội hạt sẽ điều khiển các điện thoại trong mạng kết nối đến mạng khác, các điện thoại trong mạng có thể thực hiện cuộc gọi và kết nối Internet thông qua Asterisk server. • Cổng FXS dùng để Asterisk server điều khiển các điện thoại tương tự trong nội hạt. Cổng FXO và kênh T được dùng để kết nối giữa Asterisk server với mạng PSTN. Thuê bao trong mạng PSTN thực hiện cuộc gọi đến các thuê bao được quản lý bởi Asterisk server, các thuê bao của Asterisk cũng có thể thực hiện cuộc gọi đến thuê bao trong mạng PSTN. Hình 2.2: Kiến trúc của Asterisk • Một số chức năng c ủa Asterisk trong hệ thống chuyển mạch cuộc gọi: • Khi khởi động hệ thống Asterisk thì Dynamic Module Loader thực hiện nạp driver của thiết bị ,nạp các giao Hiện nay hệ thống Asterisk đang được phát triển mạnh, nhiều doanh nghiệp, công ty đã và đang triển khai hệ thống tạo liên lạc bên trong và ra cả mạng ngoài thông qua mạng máy tính, gọi điện thoại. Báo cáo Thực tập tốt nghiệp Đại học Chương 2: Tìm hiểu Asterisk ứng dụng VoIP Hình 2.3.: Sơ đồ tổng quát hệ thống. • Asterisk không chỉ giao tiếp, kết nối giữa các điện thoại với nhau mà còn có thể mở rộng kết nối đến các tổng đài khác, với IP Phone và nhiều dịch vụ như: Softswitch, Media Gateway, Voicemail Services, Conference Server, Music on hold… • Asterisk là một phần mềm nguồn mở, miễn phí, có độ tin cậy cao. II. Kiến trúc hệ thống • Asterisk là thiết bị trung gian dùng để liên kết công nghệ điện thoại và Internet. Asterisk được ứng dụng để kết nối điện thoại, đường dây điện thoại hoặc gói thoại đến một dịch vụ khác. Asterisk có độ tin cậy cao và dễ dàng triển khai cho các hệ thống ( từ hệ thống nhỏ đến các hệ thống lớn) • Asterisk hỗ trợ cho nhiều loại điện thoại với công nghệ khác nhau. Các công nghệ điện thoại: VoIP, SIP, H.323, IAX. Asterisk có thể kết nối với hầu hết loại điện thoại truyền thống mạng ISDN qua luồng T1 và E1. Các hàm API cũng được liên kết nạp vào hệ thống. • Hệ thống Asterisk PBX Switching Core chuyển sang trạng thái sẵn sàng thực hiện chuyển mạch cuộc gọi, các cuộc gọi được thực hiện tuỳ vào kế hoạch quay số (Dialplan). - Chức năng Application Launchar để rung chuông thuê bao, kết nối với hộp thư thoại hoặc gọi ra đường trung kế… - Scheduler and I/O Manager đảm nhiệm các ứng dụng nâng cao như: lập thời biểu và quản lý các cuộc gọi đến – gọi ra ngoài. Đây là các chức năng được phát triển bởi cộng đồng phát triển Asterisk. - 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 or IAX. Mọi cuộc gọi vào và Báo cáo Thực tập tốt nghiệp Đại học Chương 2: Tìm hiểu Asterisk ứng dụng VoIP ra ngoài đều được thực hiện thông qua các giao tiếp trên. Vì thế 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. • Chức năng của các giao tiếp chương trình ứng dụng (gọi là API: Application Program Interface) - Codec translator API: các hàm đảm nhiệm thực thi và giải nén các chuẩn khác nhau như: GMS, G723, Mu-Law… - Asterisk Channel API : Giao tiếp với các kênh liên lạc khác nhau, đây là đầu mối cho việc kết nối các cuộc gọi tương thích với nhiều chuần khác nhau như SIP, ISDN, H323, Zaptel… - Asterisk file format API : Asterisk tương thích với việc xử lý các loại file có định dạng khác nhau như: Mp3, WAV, GSM, AU… - Asterisk Aplication API : Bao gồm tất cả các ứng dụng được thực thi trong hệ thống Asterisk như: cuộc gọi hội nghị, VoiceMail, CallerID… • 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. III. Tính năng cơ bản Một sô tính năng cơ bản của tổng đài Asterisk: - Hiển thị số người gọi trên điện thoại của bạn 1. Caller ID 2. Call Forwarding - Caller ID cũng cho phép chúng ta xác nhận số thuê bao gọi đến. - 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. - 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. - Thực hiện việc chuyển cuộc gọi nhưng có quản lý. - Có một số điện thoại trung gian và hai thuê bao có 3. Call Parking 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. - Chức năng tương tác thoại (tổng đài trả lời tự động). - 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 Báo cáo Thực tập tốt nghiệp Đại học 4. IVR Chương 2: Tìm hiểu Asterisk ứng dụng VoIP đ ư ợc nghe thông điệp như:“Xin chào mừng bạn đã gọi đến công ty chúng XXX hãy nhấn phím 1 để gặp phòng kinh doanh, phím 2 gặp phòng kỹ thuật, phím 3 gặp phòng hỗ trợ khách hàng…” sau đó tuỳ vào sự tương tác của thuê bao gọi đến, hệ thống Asteisk sẽ định hướng cuộc gọi theo mong muốn. - Dịch vụ xem điểm thi, tiền cước điện thoại của thuê bao, tỉ giá tiền tệ hiện nay như thế nào, hay kết quả sổ số, bản tin dự báo thời tiết… tất cá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. Time and Date - Nhằm chỉ định các khoả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 giám đốc muốn 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ế hoặc không cho phép gọi ra bên ngoài. 6. Remote call pickup 7. Privacy Manager 8. Blacklist 9. Voicemail - Với tính năng này sẽ 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. - 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 một 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 cuộc gọi được -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). -Voicemail: hộp thư thoại với 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. Khi số điện thoại bị gọi bận hay ngoài vùng phủ sóng thì hệ thống asterisk định hướng trực tiếp cuộc gọi đến hộp thư thoại tương ứng đã khai báo trước. Voicemail cung cấp cho người sử dụng nhiều tính năng như: xác nhận password khi truy cập vào hộp thư thoại, Báo cáo Thực tập tốt nghiệp Đại học Chương 2: Tìm hiểu Asterisk ứng dụng VoIP gửi mail báo khi có thông điệp mới - Chức năng là 1 cuộc gọi hội nghị. 10.Call Conference -Meetme -Các cuộc họp khách hàng,họp nhóm… mà nhân viên hay bạn bè ở những địa điểm khác nhau. Cuộc gọi hội nghị này được xem như là một phương tiện chính để cắt giảm chi phí đi lại và cho phép người lao động có hiệu quả hơn bằng cách không phải đi ra ngoài văn phòng cho các cuộc họp. 11. Listening music - Chức năng nghe nhạc (nhạc chờ, các chương trình quà tặng âm nhạc). Bảng 2.3: Tính năng của hệ thống Asterisk. • Và 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, trên đây chỉ là một số tính năng thường được sử dụng. IV. Các giao thức VoIP trong Asterisk 1. IAX ( Inter-Asterisk eXchange): • IAX là một giao thức mở, ta có thể download và phát triển nó miễn phí. • Phiên bản hiện tại của nó là IAX2, nhưng tất cả các hỗ trợ cho IAX1 không còn tồn tại nữa. Vì vậy khi nói đến IAX có nghĩa là IAX2. Trong Asterisk, IAX được hỗ trợ bởi module chan_iax2. • IAX được phát triển bởi Digium với mục đích giao tiếp với các server Asterisk khác, vì thế nó được gọi là Inter-Asterisk eXchange. IAX là giao thức truyền tải (giống như SIP), sử dụng port UDP 4569 cho cả kênh tín hiệu lẫn dòng dữ liệu RTP. • IAX có khả năng kết hợp lại nhiều phiên kết nối thành một dòng dữ liệu duy nhất. Việc kết hợp này làm tăng khả năng sử dụng băng thông. Thêm vào đó việc sử dụng một header chung duy nhất làm giảm thời gian overhead cho mỗi kênh riêng lẽ. Giao thức này thích hợp khi có nhiều kênh kết nối giữa hai đầu cuối. • Vì IAX được tối ưu hóa cho thoại, nên trên thực tế nó không ưu việc lắm khi truyền tín hiệu video. Tuy nhiên, vì nó là một giao thức mở, nên các việc mở rộng dành cho các loại dữ liệu khác ngoài thoại là điều hoàn toàn có thể. • Về khía cạnh bảo mật, IAX có khả năng nhận thực bằng 3 cách khác nhau như sau: - Plain text - Mã hóa MD5 - Mã hóa trao đổi khóa RSA.

Không có nhận xét nào :

Đăng nhận xét