Đề tài Công nghệ Voip và các tiện ích của nó

MỤC LỤC

DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH 4

KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT 5

CHƯƠNG 1: TỔNG QUAN VỀ VOIP 1

I. Giới thiệu VoIP 1

1. Khái niệm: 1

2. Ưu và Khyết của VoIP: 1

II. Các thiết bị dùng trong VoIP: 2

1. VoIP phone 2

2. Softphone 2

3. Card giao tiếp với PSTN 2

4. ATA (Analog Telephone Adaptors) 2

III.Ưu điểm sử dụng tổng đài IP-PBX so với PBX truyền thống. 3

CHƯƠNG 2: TÌM HIỂU ASTERISK ỨNG DỤNG VOIP 11

I. Giới thiệu Asterisk 11

II. Kiến trúc hệ thống 13

III. Tính năng cơ bản 14

IV. Các giao thức VoIP trong Asterisk 16

1. IAX ( Inter-Asterisk eXchange): 16

2. SIP: 17

3. H.323: 18

4. MGCP (Media Gateway Control Protocol): 19

5. Skinny/SCCP: 20

6. UNISTIM: 20

V. Ngữ cảnh ứng dụng tổng đài IP 20

1. Kết nối IP PBX với PBX: 20

2. Kết nỗi giữa các server Asterisk: 20

3. Các ứng dụng IVR,VoiceMail,Conference Call: 21

CHƯƠNG 3: CẤU HÌNH THÀNH PHẦN CỦA ASTERISK 33

I. Tổ Chức Thư Mục của Asterisk: 33

1. Một số thư mục được sử dụng bởi ASTERISK: 33

2. Các tập tin cấu hình của Asterisk: 34

II. Quản lí các User và Dialplan 34

1. Quản lí User: 34

2. Khái niệm Dialplan 35

3. Tìm hiểu Dial plan 35

1. Lập trình ứng dụng qua Asterisk Manager API (AMI) 37

2. Asterisk RealTime 38

CHƯƠNG 4: CÁC ỨNG DỤNG DIAL PLAN CƠ BẢN 33

I. Ứng dụng hộp thư thoại (Voicemail) 33

II. Ứng dụng ngữ cảnh (IVR ) 34

III. Ghi âm cuộc gọi 34

IV. Test ứng dụng qua AGI & FastAgi 35

1. AGI: 35

2. Fast Agi: 36

CHƯƠNG 5: TRIỂN KHAI VÀI TÍNH NĂNG CỦA TỔNG ĐÀI 33

I. Mô tả mô hình hệ thống 33

1. Demo chức năng gọi nội bộ. 33

2. Demo chức năng ghi âm cuộc gọi 33

3. Demo chức năng đọc file âm thanh trên máy local 33

4. Demo chức năng TextToSpeech 35

II. Cài đặt hệ thống 36

1. Cài đặt server – hệ điều hàng Centos 5.6 36

2. Cài đặt các gói Asterisk phiên bản 1.6.2.0 36

3. Phần mềm FAST AGI Server: 37

4. Cài đặt softphone 37

5. Cài đặt putty 38

III. Kết quả xây dựng hệ thống 39

ĐÁNH GIÁ CHUNG VÀ XU HƯỚNG PHÁT TRIỂN ĐỀ TÀI 45

DANH MỤC TÀI LIỆU THAM KHẢO 45

 

 

docx47 trang | Chia sẻ: netpro | Lượt xem: 4271 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Công nghệ Voip và các tiện ích của nó, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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 ứ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. 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. 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à 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. Tính năng cơ bản Một sô tính năng cơ bản của tổng đài Asterisk: Caller ID - Hiển thị số người gọi trên điện thoại của bạn - Caller ID cũng cho phép chúng ta xác nhận số thuê bao gọi đến. Call Forwarding - 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. Call Parking - 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ó 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. IVR - 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 đượ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. 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. Remote call pickup - 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. 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 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 Blacklist -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 -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, gửi mail báo khi có thông điệp mới Call Conference -Meetme - Chức năng là 1 cuộc gọi hội nghị. -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. 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. Các giao thức VoIP trong Asterisk 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. Điều này tất nhiên không mã hóa phần header giữa hai đầu cuối. Có nhiều giải pháp sử dụng mạng riêng ảo (VPN) và các phần mềm mã hóa khác đã được sử dụng, đòi hỏi đầu cuối phải thiết lập trước các phương pháp tunnel và hoạt động. Trong tương lai, IAX có thể mã hóa dòng dữ liệu giữa hai đầu cuối sử dụng việc trao đổi khóa RSA hoặc trao đổi hóa động tại thời điểm thiết lập cuộc gọi. Điều này rất hấp dẫn vì nó có tính bảo mật khá cao, đặc biệt trong các lĩnh vực đòi hỏi tính bảo mật như ngân hàng. IAX và NAT: + IAX2 được thiết kế để tương thích với các thiết bị sử dụng giao thức NAT. Việc sử dụng duy nhất một port UDP cho cả tín hiệu báo hiệu và truyền dẫn dẫn đến tăng cườg tính năng bảo mật của firewall. Điều này làm cho IAX là một trong các giao thức bảo mật tốt nhất cho mạng. SIP: Sự ra đời của SIP đã giúp phát triển mạnh VoIP. SIP có ưu điểm là nó là giao thức đơn giản, có cấu trúc syntax khá giống với các giao thức như HTTP hay SMTP. SIP được hỗ trợ bởi module trong Asterisk là chan_sip.so module. SIP được phát triển bởi IETF vào tháng 2-1996. Ban đầu SIP chỉ có chức năng yêu cầu thiết lập cuộc gọi. Vào tháng 3-1999, phiên bản thứ 11 có tên gọi là SIP RFC 2543 ra đời. SIP được coi như là giao thức thông dụng của VoIP. Tất cả các user và doanh nghiệp đều có xu hướng hỗ trợ SIP. Ngày nay,SIP hỗ trợ thêm cả những chức năng không có trong VoIP như video, âm nhạc và các dịch vụ multimedia thời gian thực khác. Về khía cạnh bảo mật, SIP sử dụng hệ thống challenge/response để nhận thực user. Khởi đầu là câu lệnh INVITE được gởi đển proxy để đến các thiết bị đầu cuối mong muốn. Proxy lúc này sẽ gởi đến một gói tin là 407 Proxy Authorization Request, chứa các ký tự được cài đặt một các ngẫu nhiên thường được gọi là “nonce”. Con số này được xem như là password để tạo ra mã MD5 được gởi ngược trở lại cho lệnh INVITE. Giả sử mã MD5 phù hợp với mã mà proxy tạo ra, client được xác thực. Hình 2.4: Mô hình hoạt động SIP. DoS (Denial of Service) được xem như phương thức tấn công thông dụng nhất trên mạng VoIP. Một phiên tấn công DoS sẽ diễn ra khi có một số lượng lớn các lời mời INVITE không hợp lệ đến proxy server để làm quá tải hệ thống. SIP có một vài phương thức để giảm thiểu tác động của DoS nhưng không thể hoàn toàn phòng ngừa nó. Một lược đồ hỗ trợ tính bảo mật được cài đặt thêm bởi SIP là mật mã phương thức truyền tải (TLS- Transport Layer Security). Nó được sử dụng để thiết lập kết nối giữa người gọi và domain. Yêu cầu được gởi một cách bí mật đến đầu cuối, dựa trên các chính sách bảo mật của mạng. Lưu ý rằng phương thức mật mã không nằm trong khả năng của SIP và phải được kết hợp một cách độc lập. SIP và NAT: Một trong những vấn đề lớn nhất khi triển khai SIP là truyền tải thông qua lớp NAT. Bởi vì SIP mật mã thông tin địa chỉ trong cấu trúc khung của nó. NAT ở lớp mạng sẽ không nhận đúng địa chỉ này.Vì thế dòng dữ liệu sẽ không được truyền tải đúng như mong muốn. Như vậy, các firewall được tích hợp chức năng NAT sẽ loại bỏ các kết nối SIP này. H.323: H323 được phát triển bởi ITU từ tháng 5-1996, để hỗ trợ truyền thoại, video, dữ liệu ,fax… trong mạng IP trong khi vẫn duy trì kết nối với mạng PSTN truyền thống. Từ thời điểm đó, H323 đã có một vài phiên bản với các tính năng bổ sung cho phép nó hoạt động trong một mạng thuần VoIP và các mạng phân bố khác. Dù có nhiều tranh cãi xung quanh việc sử dụng H323 hay là SIP .Trên thực tế mạng VoIP, H323 có vài trò cao nhất nhưng trên hệ thống Asterisk, SIP vẫn là sự lựa chọn số 1. Hai phiên bản của H323 được hỗ trợ trong Asterisk được hỗ trợ bởi 2 module chan_h323.so và chan_oh323.so. Về khía cạnh bảo mật. H323 là một giao thức có tính bảo mật tương đối cao.Vì H323 sử dụng RTP để kết nối media, nó không hỗ trợ mật mã. Việc sử dụng VPN hay các phương pháp tunnel khác giữa đầu cuối là cách thức thông dụng nhất để đảm bảo tính bảo mật. Tất nhiên là nó cũng gây ra một vài vấn đề. Khi VoIP được sử dụng cho các lĩnh vực đòi hỏi tính bảo mật cao như ngân hàng, đòi hỏi giao thức VoIP phải hỗ trợ một phương pháp mật mã mạnh. H323 và NAT: H323 cũng gặp những vấn đề tương tự như SIP khi triển khai với NAT. Phương pháp đơn giản nhất là cho forward những port nhất định qua thiết bị tích hợp NAT đối với các client nội bộ. Để tiếp nhận cuộc gọi, TCP port 1720 phải luôn được forward. Thêm vào đó, port UDP cho các dữ liệu RTP và RTCP cũng phải được forward. Những client cũ như MS Netmeeting cũng yêu cầu forward port TCP cho việc tunnel của giao thức H245. Nếu có một số lượng các client đằng sau thiết bị có tích hợp NAT, chúng ta phải sử dụng gatekeeper chạy proxy mode. Gatekeeper sẽ cần một Interface liên lạc với một mạng IP subnet và mạng Internet. H323 client trên mạng riêng sẽ đăng ký đến gatekeeper, sau đó gatekeeper sẽ gọi cuộc gọi thay mặt cho client. Các client bên ngoài muốn gọi bên trong cũng phải thực hiện thủ tục đăng ký đến proxy server. Hình 2.5: Mô hình điều khiển cuộc gọi H.323 Vào thời điểm hiện tại, Asterisk không thể đóng vai trò gatekeeper, chúng ta phải sử dụng các ứng dụng độc lập như Open H323 Gatekeeper. MGCP (Media Gateway Control Protocol): MGCP được thiết kế để đơn giản hóa thiết bị đầu cuối .Nó được định nghĩa bởi IETF. MGCP được tiến hành khá nhanh nhưng không có tính khả dụng bằng SIP và IAX. Việc thực hiện xử lý đều được tiến hành tại media gateway và call agent. Không giống như SIP, MGCP sử dụng cấu trúc tập trung. Cuộc gọi MGCP không thể được tiến hành trực tiếp mà phải đi qua controller. Hình 2.6 : Giao thức MGCP Asterisk hỗ trợ MGCP qua module chan_mgcp.so và đầu cuối được đinh nghĩa thông qua file cấu hình mgcp.conf. Bởi vì Asterisk cung cấp các cuộc gọi cơ bản nên nó không thể giả lập MGCP phone. Nếu có một MGCP phone, chúng ta có thể sử dụng chúng với Asterisk. Tuy nhiên không thể xem MGCP phone như một sản phẩm của hệ thống Asterisk vì nó đã có những chuẩn riêng. Skinny/SCCP: Là giao thức mặc định cho các đầu cuối của Cisco Call Manager PBX. Skinny được hỗ trợ bởi Asterisk .Nếu chúng ta kết nối Cisco phoen đến Asterisk, thông thường chúng ta mặc định sử dụng giao thức SIP. UNISTIM: Là giao thức hỗ trợ của Nortel cho VoIP, cũng đã được bổ sung vào Asterisk. Điều đáng nói ở đây là Asterisk là tổng đài PBX đầu tiên hỗ trợ đầu cuối IP cho cả hai nhà sản xuất lớn nhất trên lĩnh vực VoIP là Nortel và Cisco. Ngữ cảnh ứng dụng tổng đài IP 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. Hình 2.7: Kết nối IP PBX với PBX Ngoài ra để tăng khả năng liên lạc với mạng PSTN và VoIP khác, Công Ty sẽ đăng ký kết nối dịch vụ với nhà cung cấp dịch vụ VoIP. 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. Hình 2.8 : Kết nối các server Asterisk Ví dụ Công ty Mẹ có trụ sở đặt tại nước Mỹ và có các Chi nhánh đặt tại Việt Nam với hai địa điểm là Hà Nội và thành phố Hồ Chí Minh. 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ể. Các ứng dụng IVR,VoiceMail,Conference Call: Hình 2.9 : Các ứng dụng của tổng đài IP Ứ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. Một ví dụ cho ứng dụng tương tác thoại đó là cho biết kết quả sổ số, kiểm tra cước cuộc, dịch vụ giải trí – tra cứu thông tin thông qua số 19001260. Ứng dụng VoiceMail thu nhận những tin nhắn thoại từ phía thuê bao giống như chức năng hộp thư thoại của Bưu Điện Chức năng cuộc gọi hội nghị được thiết lập cho nhiều máy điện thoại cùng nói chuyện với nhau. Phân phối cuộc gọi tự động ACD ACD (Automatic Call Distribution): Phân phối cuộc gọi tự động. Chức năng được ứ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 này, hệ thống tổng đài sẽ bớt tình trạng tắt nghẽn khi có nhiều cuộc gọi cùng lúc. Hình 2.10: Phân phối cuộc gọi ACD Giả sử một Công ty hệ thống điện thoại có khả năng tiếp nhận cùng một lúc 10 cuộc gọi,nếu có thêm cuộc gọi thứ 11 gọi đến thì hệ thống giải quyết như thế nào? Bình thường thì sẽ nghe tín hiệu bận như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ài hát hay do asterisk cung cấp và khi nào một trong mười số điện thoại đang gọi trở về trạng thái rỗi thì cuộc gọi đang chờ sẽ được trả lời. Giống như chức năng của dịch vụ: dịch vụ hỗ trợ thông tin 1080, dịch vụ hẹn giờ 116 của Bưu Điện, dịch vụ hỗ trợ khách hàng của các tổng đài điện thoại. CHƯƠNG 3: CẤU HÌNH THÀNH PHẦN CỦA ASTERISK Tổ Chức Thư Mục của Asterisk: Một số thư mục được sử dụng bởi ASTERISK: Cd /etc/asterisk/ Chứa các tập tin cấu hình ASTERISK. Tuy nhiên tập tin zaptel.conf lại nằm trong thư mục /etc/. zaptel.conf được dùng để cấu hình thực hiện liên lạc giữa máy tính và môi trường điện thoại truyền thống. Cd /usr/lib/asterisk/modules/ Chứa tất cả các module được khởi động bởi ASTERISK. Các ứng dụng chương trình, codecs, formats, và các kênh thoại. Mặc định ASTERISK sẽ khởi động tất cả các modules lúc khởi động. Cd /var/lib/asterisk Chứa đựng tập tin astdb và các thư mục con khác. Tập tin astdb chứa thông tin về cơ sở dữ liệu của ASTERISK bao gồm các thư mục chính: agi-bin/ : Chứa các custom scripts, như là các ứng dụng AGI. Firmware : Chứa các thông tin về các thiết bị gắn kết với ASTERISK. mohmp3 : Chứa tập tin mp3 cho chức năng Music on Hold sounds : Tất cả các thông báo từ hệ thống ASTERISK đều nằm trong thư mục sounds. Cd /var/spool/asterisk/ Chứa một số thư mục con như outgoing/, qcall/, tmp/, và voicemail/ Hình 3.1: Cấu trúc thư mục var Thư mục tmp/ được dùng để lưu trữ các thông tin tạm thời cho các quá trình như sao chép, hoặc ngăn cản hai quá trình ghi và đọc tập tin cùng một lúc. Tất cả các voicemail và các lời chào đều chứa trong thư mục voicemail. Cd /var/run/ Chứa tất cả thông tin về các tiến trình đang hoạt động trong hệ thống, bao gồm ASTERISK (đặt biệt là trong tập tin asterisk.conf). Cd /var/log/asterisk/ Chứa các thông tin logs của ASTERISK. Các thông tin này có thể được hiệu chỉnh trong logger.conf trong thư mục /etc/asterisk/. Các tập tin cấu hình của Asterisk: Các file cấu hình cho hệ thống asterisk đều nằm tại thư mục /etc/asterisk Ví dụ như: extensions.conf sip.conf voicemail.conf asterisk.conf……. Tuy nhiên, file zaptel.conf cấu hình cho phần cứng TDM nằm tại thư mục /etc, cách thức cấu hình giống như tập tin .ini của window. Quản lí các User và Dialplan Quản lí User: User là những tài khoản người dùng trong một hệ thống. User dùng để xác định người sử dụng, nhằm cấp quyền sử dụng tương ứng khi người dùng sử dụng hệ thống. Thường thì trong một hệ thống, hoặc một chương trình có nhiều người sử dụng thì sẽ có sự phân quyền cho các người dùng để khai thác, sử dụng tài nguyên hiệu quả. Như vậy khi phân quyền chính là việc tạo ra các loại user khác nhau, với mỗi nhóm loại user sẽ được cấp những quyền tương ứng. User root đóng vai trò là admin, người có quyền cao nhất trong hệ thống. Một user khi muốn login vào hệ thống phải có account trong hệ thống mới login vào được. Như vậy, Khi user muốn login vào hệ thống thì phải đăng ký account. Sau khi đăng ký thành công, thì user sẽ dùng account đó login vào hệ thống để thực hiện các quyền tương ứng với user. Khái niệm Dialplan Dialplan là trái tim của hệ thống ASTERISK. Dialplan cho biết các cuộc gọi sẽ được xử lý như thế nào qua hệ thống ASTERISK. Dialplan bao gồm tập hợp các dòng lệnh hay các ứng dụng theo một trình tự nào đó mà hệ thống phải thực hiện để đáp ứng nhu cầu chuyển mạch cuộc gọi. Để hiểu rõ và cấu hình thành công hệ thống ASTERISK thì điều kiện tiên quyết là phải biết cách thức họat động của một Dialplan như thế nào. Dialplan là công việc thiết lập cho hoạt động của hệ thống như định hướng các cuộc gọi vào và ra hệ thống, đó là một danh sách các bước hay các lệnh liên tục nhau để thực hiện một tác vụ nào đó mà hệ thống phải thực hiện theo. Khác biệt với các hệ thống điện thoại truyền thống tất cả các công việc cấu hình hệ thống đều là từ phía người sử dụng. Hệ thống chúng ta có hoàn chỉnh tốt hay không phụ thuộc rất nhiều vào việc chúng ta hiểu rõ Dialplan hay không?. Trong phần này sẽ tập trung đi vào việc tìm hiểu cấu trúc diaplan ở mức nền tảng thực hiện trước khi đi sâu tìm hiểu kỹ ở những phần sau. Tìm hiểu Dial plan Được cấu hình qua tập tin extension.conf, với các khái niệm về: Extentions: Điện thoại nội bộ Priorities: Thứ tự thực hiện Applications: Các ứng dụng Contexts: Các ngữ cảnh Dialplan là một tập gồm nhiều extention, khi một cuộc gọi tương ứng với extention nào thì ứng dụng cho cuộc gọi đó sẽ được thực hiện. /etc/asterisk/extention.conf exten=>101,1,dial(sip/101,20) exten=>101,2,hangup() “exten=>” giống nhau cho mỗi dòng thực hiện trong dialplan, 101 là số điện thoại mà thuê bao quay hay là extention, còn các con số 1 và 2 là các priorites tức là thứ tự thực hiện các lệnh. Khi thuê bao quay số 101 thì đỗ chuông máy ip sip 101 nếu trong vòng 20 giây mà thuê bao không nhấc máy thì kết thúc cuộc gọi. Extension là thành phần mà asterisk thực hiện theo, được kích hoạt khi có cuộc gọi vào extension chính là con số mà thuê bao đó cần gọi. Trong mỗi ngữ cảnh sẽ có thể có nhiều extension. Extenstion chính là hạt nhân để hệ thống xác định cuộc gọi cần thực hiện. Extenstion hoàn chỉnh gồm có các phần : exten => Name,priority,application( ) Giải thích: Name hay number s: Start. Được dùng như việc bắt đầu một extensions, thay thế cho một tên hoặc một số cụ thể. t: Timeout. Được dùng trong trường hợp cuộc gọi đến một user chưa active. Cũng được dùng để gác máy - hangup trong trường hợp bận - idle. T: AbsoluteTimeout. Được dùng trong trường hợp cuộc gọi bị gác máy - hangup. h: Hangup. Được dùng để xoá một cuộc gọi. Dùng để phát lời chào tạm biệt trước khi gác máy - hangup. i: Được dùng trong trường hợp extension không có trong một Context hoặc IVR menu. · Priority (Mỗi extension có thể bao gồm nhiều bước mỗi bước được gọi là “priority”) · Application (or command) Thực hiện một ứng dụng cụ thể nào đó cho cuộc gọi Một ví dụ cụ thể như sau: /etc/asterisk/extention.conf exten => 7325010,1,Dial(Zap/1,20) exten => 7325010,2,Voicemail(u7325010) exten => Tương ứng với mỗi ứng dụng thực hiện 7325010 Con số nhận được khi thuê bao chủ gọi quay số. 1, 2 là các “priority” thứ tự được thực hiện 1 rồi tới 2… Trong ví dụ của chúng ta con số 7325010 sẽ được gửi đến kênh zap/1 rung chuông tối đa 20 giây. Nếu sau 20 giây không trả lời thì cuộc gọi sẽ được định hướng đến hộp thư thoại u7325010 chữ u ở đây có nghĩa là “'u'navailable message”. Priorities – Thứ tự thực hiện Priorities là thứ tự thực hiện các ứng dụng trong dialplan, khi thứ tự “1” được thực hiện thì kế tiếp là ứng dụng tại thứ tự số “2” được thực hiện, kể từ vertion 1.2 của Asterisk thay vì sử dụng gán một con số cụ thể cho thứ tự thực hiện như trên thì ở đây có thể gán ký tự “n” cho mọi dòng “exten=>” điều này sẽ nói với asterisk là ứng dụng với thứ tự tiếp theo sẽ thực hiện. Ví dụ: /etc/asterisk/extention.conf exten=>8051,,hangup() exten=>8051,1,dial(sip/8051,20) Ở ví dụ trên dòng có thứ tự “2” đứng trước dòng có thứ tự “1”, nhưng khi thực hiện diaplan thì dòng có thứ tự Priorities “1” ưu tiên thực hiện trước bất kể thứ tự sắp xếp như thế nào. Ví dụ : /etc/asterisk/extention.conf exten=>8051,n,dial(sip/8051,20) exten=>8051,n,hangup() Thứ tự thực hiện từng dòng 1 từ trên xuống dưới. Aplications – Các hàm ứng dụng Đây là phần quan trọng trong diaplan tức là ứng dụng nào sẽ được thực hiện trên mỗi dòng, các ứng dụng như thực hiện quay số,trả lời cuộc gọi hay đơn giản là nhấc gác máy để biết thêm thông tin về các ứng dụng cũng như các thông số kèm theo thì hãy dùng lệnh show Aplications trên giao tiếp dòng lệnh của asterisk: show Aplication Trong phần xây dựng Dialplan ta sẽ tìm hiểu kỹ các Aplication này. Contexts - Ngữ cảnh Ví dụ khi gọi đến tổng đài Asterisk có một thông điệp thông báo như sau “Chào mừng các Bạn gọi đến Hệ thống tra cứu điể

Các file đính kèm theo tài liệu này:

  • docxNghiên cứu công nghệ VoIP và các ứng dụng cơ bản trogn tổng đài Asterisk.docx