tai lieu thuc hanh tong dai voip tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về tất cả các lĩnh...
Trang 1TỔNG ðÀI VOIP
Trang 2TỔNG QUAN VỀ ASTERISK
3.1 Giới thiệu Asterisk:
Asterisk là phần mềm nguồn mở ñược viết bằng ngôn ngữ C chạy trên hệ ñiều hành Linux thực hiện tất cả các tính năng của tổng ñài PBX và hơn thế nữa Asterisk ra ñời vào năm 1999 bởi một sinh viên sinh năm 1977 tên là Mark Spencer Anh ta viết phần mềm này ban ñầu với mục ñích hỗ trợ cho công ty của mình trong việc liên lạc ñàm thoại
Asterisk là một phần mềm mang tính cách mạng, tin cậy và miễn phí ñã biến một máy tính thông thường chạy Linux thành một hệ thống ñiện thoại doanh nghiệp mạnh mẽ Asterisk là một bộ công cụ mã nguồn mở cho các ứng dụng thoại và là một 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 hoá kiến trúc mở Nhiều hệ thống Asterisk ñã ñược cài ñặt thành công trên khắp thế giới Công nghệ Asterisk ñang phục vụ cho nhiều doanh nghiệp Asterisk ñem ñến cho người sử dụng tất cả các tính năng và ứng dụng của hệ thống tổng ñài PBX và cung cấp nhiều tính năng mà tổng ñài PBX thông thường không có ñược
Hiện nay Asterisk trên ñà phát triển nhanh ñược rất nhiều doanh nghiệp triển khai ứng dụng cho công ty của mình ðây là xu thế tất yếu của người sử dụng ñiện thoại, vì các công ty ñều có mạng máy tính và cần liên lạc với nhau trong công việc giữa các phòng ban hoặc chi nhánh và cần một chi phí thấp thậm chí không phải tốn chi phí khi thực hiện các cuộc gọi trên mạng nội bộ của công ty Không gói gọn thông tin liên lạc trong công ty mà các ứng dụng giao tiếp với mạng PSTN hoặc mạng VoIP cho phép gọi ra bất cứ số ñiện thoại nào có trên mạng PSTN
Trang 33.2 Kiến trúc Asterisk
Hình 3.1:Kiến trúc Asterisk
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 cho VoIP như SIP, H323, 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
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( Application Programming Interface) 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) Application Launchar ñể 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… Scheduler and I/O Manager ñảm nhiệm các ứng dụng nâng cao 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
Hệ thống cũng bao gồm 4 chức năng API chính:
Trang 4o Codec translator API: các hàm thực thi, giải nén các chuẩn như G711, G729…
o Asterisk Channel API : Giao tiếp với các kênh liên lạc khác nhau
o Asterisk file format API : xử lý các loại file có ñịnh dạng như Mp3, wav, gsm…
o Asterisk Aplication API : Bao gồm tất cả các ứng dụng ñược thực thi trong hệ thống Asterisk như voicemail, callerID…
3.3 Thiết bị VoIP
3.3.1 VoIP Phone
ñể bàn thông thường nhưng dành cho VoIP, cần phải thực hiện cấu hình trước khi
sử dụng
Lưu ý một số tính năng khi thực hiện mua thiết bị ñiện thoại VoIP:
o Low bandwidth: Hỗ trợ Codec, G729 là tốt nhất hiện nay
o Web Interface: Phải có giao tiếp thiết lập cấu hình thân thiện dễ sử dụng
o Audio Interface: Có speaker phone hay không?
Trang 5Hình 3.2 : ðiện thoại IP AT-530
Trang 6Hình 3.4: ðiện Thoại Softphone X-lite
3.3.3 Card giao tiếp với PSTN
Muốn cho phép các máy ñiện thoại nội bộ trong hệ thống Asterisk kết nối
và thực hiện cuộc gọi với mạng PSTN chúng ta cần phải có thiết bị phần cứng tương thích Thiết bị phần cứng sử dụng cho hệ thống Asterisk do chính tác giả lập công ty Digium phân phối, ñây cũng chính là ý tưởng lớn trong việc phân phối phần mềm Asterisk là hệ thống nguồn mở sử dụng miễn phí
Thiết bị phần cứng thường ký hiệu bắt ñầu bằng cụm từ TDMxyB trong ñó
x là module FXS, y là số Module FXO, ví dụ card TDM11B có nghĩa là có 1 port FXS và 1 port FXO
Trang 7
Hình 3.5: Card TDM400P
Hình3.6: Card TDM11B
Trang 83.3.4 ATA analog Adapter
ATA là thiết bị kết nối với ñiện thoại Analog thông thường ñến mạng VoIP, một thiết bị ATA gồm có hai loại port: RJ-11 ñể kết nối với máy ñiện thoại analog thông thường còn RJ-45 ñể kết nối với mạng VoIP
ATA thực sự là thiết bị FXS chuyển ñổi tín hiệu Analog sang tín hiệu số sử dụng cho mạng VoIP, ñể tận dụng máy ñiện thoại Analog nên trang bị thiết bị ATA thay vì phải trang bị ñiện thoại VoIP
Thiết bị ATA sử dụng với giao thức IAX ñược Digium phân phối là thiết
bị ATA ñược sử dụng rộng rãi với Asterisk có tên gọi là IAXy
Hình 3.7: Thiết bị Cisco ATA186
Trang 9Hình 3.8:Thiết bị ATA286
3.3.5 Gateway
Là thiết bị ñược sử sụng ñể kết nối giữa mạng IP và mạng PSTN Gateway
có chức năng như một Trunk chuyển cuộc gọi từ mạng IP ra PSTN và ngược lại Mỗi Gateway sẽ hỗ trợ các loại cổng sau:
o Cổng FXO: FXO (Foreign Exchange Office) là cổng 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… Dùng ñể kết nối với ñường dây ñiện thoại từ Bưu ñiện
o 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 -48V
DC ñến máy ñiện thoại Analog trong suốt thời gian ñàm thoại và cung cấp 90V
AC ñể phát ñiện áp rung chuông
Trang 10o Cổng Ethenet (RJ-45)dùng ñể kết nối với máy tính khi cấu
hình Gateway
Hình 3.9: Gateway Linksys SPA3102
3.3.6 Codes
Thuật Toán codecs (Compressor / De-compressor) là một tập các quy luật ñược sử dụng ñể chuyển ñổi các tín hiệu thoại dạng Analog sang tín hiệu số và ngược lại
Có nhiều thuật toán codec ñể thực hiện chuyển ñổi tín hiệu analog sang tín hiệu số dạng nhị phân (0,1) như G711, GSM, G729…Ứng với mỗi thuật toán có những ưu ñiểm riêng, ñặc biệt là việc tối ưu sử dụng băng thông trên ñường truyền
Trang 11Asterisk có thể hoạt ñộng với nhiều ñịnh dạng file và chuẩn nén khác nhau Bởi vì nó là một phần mềm với cấu trúc mở nên nó dễ dàng hoạt ñộng với các ñịnh dạng file và codec thêm vào
Có hai chuẩn nén PCM 64kbps phổ biến, luật A và luật U Cả hai ñiều sử dụng nén logarit ñể ñạt ñược 12 ñến 13 bit cho việc nén tuyến tính 8 bit Nén logarit làm giảm các tần số cao hay âm lượng lớn Luật A tốt hơn trong việc nén tín hiệu mức thấp và có tỉ số nén tín hiệu trên nhiễu tốt hơn Luật U thường ñược
sử dụng ở Bắc Mỹ, còn luật A thường ñược sử dụng ở châu Âu
Asterisk cung cấp việc chuyển ñổi hoàn hảo giữa các chuẩn nén với nhau Các chuẩn nén gồm có:
Hình 3.10: Các thuật toán codec
Thêm vào ñó, các chuẩn nén khác như G.723.1 và G.729 có thể ñi qua một cách trong suốt Thông thường, người ta sử dụng bộ nén và giải nén luật A, luật U hay tuyến tính cho băng DTMF Hầu hết các chuẩn nén có ñộ mất mát dữ liệu tương ñối lớn khi truyền fax
Mục tiêu cuối cùng là các thuật toán ñưa ra phải ñảm bảo chất lượng cuộc gọi nhất và tiết kiệm băng thông nhất
Trang 12G729 là thuật toán codec tốt nhất hiện nay trong hệ thống VoIP Với hệ thống Asterisk ñể sử dụng thuật toán này cần phải mua bản quyền sử dụng vì ñây
là codec không miễn phí sử dụng
3.4 Các yếu tố ảnh hưởng ñến chất lượng dịch vụ (QoS–Quality of Services)
Các yếu tố ảnh hưởng ñến chất lượng của dịch vụ, ñối với VoIP ñó là các yếu tố ảnh hưởng ñến chất lượng tín hiệu thoại
3.4.1 ðộ Trễ
Thoại là dịch vụ mang tính thời gian thực rất cao vì thế trễ là yếu tố ảnh hưởng rất lớn ñến chất lượng dịch vụ Trễ ñược ñịnh nghĩa là khoảng thời gian tính từ lúc tín hiệu thoại ñi từ miệng người nói tới tai người nghe Trễ là yếu tố không thể tránh khỏi, ñộ trễ ñối với mạng ñiện thoại truyền thống (mạng PSTN) khoảng từ 50ms ñến 70ms, theo khiến nghị của ITU-T ñể ñảm bảo chất lượng cho
hệ thống VoIP thì ñộ trễ từ ñầu phát tới ñầu thu hoặc ngược lại không ñược vượt quá 150ms, khi mà ñộ trễ vượt quá 400ms ñến 500ms thì không thể chấp nhận ñược
Các nguyên nhân gây ra trễ bao gồm : Trễ trên mạng lưới, trễ trên bộ mã hóa giải mã, trễ trong quá trình ñóng gói, trễ bộ ñệm, trễ xử lý tiếng nói…
3.4.2 ðộ Trượt (JITTER)
Nguyên nhân gây ra trượt là gói tín hiệu thoại trong quá trình truyền từ nguồn ñến ñích sẽ gặp phải những ñiều kiện khác nhau trên mạng lưới do ñó thường ñến ñích với những khoảng trễ khác nhau ðây là tính không ñồng nhất của trễ Một nguyên nhân khác của trượt ñối với ứng dụng PC to PC là do việc sử dụng hệ ñiều hành phi thời gian thực, các gói tin thoại phải ñợi hệ ñiều hành xử lý trong những khoảng thời gian khác nhau khi mà hệ ñiều hành ñang phải xử lý ñối với các ứng dụng khác
ðể loại bỏ tính không ñồng nhất của trễ, người ta thiết kế các bộ ñệm trễ (Jitter Buffer) tại nơi ñến của các gói tin, các gói tin ñến với các khoảng cách khác nhau về thời gian ñược lưu tại bộ ñệm rồi phát khỏi bộ ñệm với khoảng trễ như
Trang 13nhau Khi bộ ựệm có kắch thước càng lớn thì khả năng loại bỏ tắnh không ựồng nhất càng lớn, tuy nhiên việc sử dụng bộ ựệm sẽ gây ra hiện tượng trễ trong ứng dụng thoại, do ựó cần có bài toán cân ựối giữa ựộ trễ và ựộ trượt
Ngoài 2 nguyên nhân trên còn một số nguyên nhân nữa ảnh hưởng ựến chất lượng thoại như ựộ mất gói, giới hạn băng thông, tiếng vọng
Hình 3.11: Nguyên nhân gây ra jitter
3.4.3 Mất gói
Mất gói gây ra mất thông tin, mất thông tin là một thông số QoS không ựược ựề cập thường xuyên như là băng thông và trễ, ựặc biệt ựối với mạng Internet đó là vì bản chất tự nhiên ựược thừa nhận của mạng Internet là Ộcố gắng tối ựaỢ Nếu các gói IP không ựến ựược ựắch thì Internet không hề bị ựổ lỗi vì ựã làm mất chúng điều này không có nghĩa là ứng dụng sẽ tất yếu bị lỗi, bởi vì nếu
Trang 14các thông tin bị mất vẫn cần thiết ñối với ứng dụng thì nó sẽ tự yêu cầu bên gởi gởi lại bản sao của thông tin bị mất Bản thân mạng không hỗ trợ chuyện này, bởi
vì bản sao của thông tin bị mất không ñược lưu lại ở bất cứ nút nào của mạng
Hầu hết mất gói là do các lỗi ở trên mạng Ví dụ một kết nối bị hỏng thì tất
cả các bit ñang truyền liên kết này sẽ không thể tới ñược ñích Nếu một nút mạng,
ví dụ như bộ ñịnh tuyến hỏng, thì tất cả các bit hiện ñang ở trong bộ ñệm và ñang ñược xử lí bởi nút ñó sẽ biến mất không ñể lại dấu vết Do những loại hư hỏng này trên mạng có thể xảy ra bất cứ lúc nào, nên một số gói tin trên mạng bị mất là ñiều không thể tránh khỏi
Tác ñộng của mất thông tin tùy thuộc vào loại ứng dụng ðiều khiển lỗi trên mạng là một quá trình gồm hai bước, mà bước ñầu tiên là xác ñịnh lỗi Bước thứ hai là khắc phục lỗi, nó có thể ñơn giản là bên gởi truyền lại ñơn vị ñã mất thông tin Một vài ứng dụng, ñặc biệt là ứng dụng thời gian thực, không thể ñạt hiệu quả khắc phục lỗi bằng cách gởi lại ñơn vị tin bị lỗi Các ứng dụng không phải là thời gian thực thì thích hợp hơn ñối với cách truyền lại thông tin bị lỗi
Vì những lí do này, các thông số QoS mất thông tin không những nên ñịnh
rõ một giới hạn trên ñối với ảnh hưởng của lỗi mà nên cho phép người sử dụng xác ñịnh xem có sửa lỗi bằng cách truyền lại hay không Tuy nhiên hầu hết các mạng (ñặc biệt là mạng IP) chỉ cung cấp phương tiện vận chuyển thụ ñộng, còn xác ñịnh lỗi, khắc phục lỗi thường ñược ñể lại cho ứng dụng của người sử dụng
Mạng IP hoạt ñộng trên cơ chế “cố gắng tối ña” nên ñộ tin cậy không cao, mất gói thường xảy ra, ñôi khi xảy ra nghẽn mạng và các gói phải nằm trong hàng ñợi của các nút mạng, xấu hơn là có thể rớt do tràn bộ ñệm hoặc do ñộ ưu tiên của gói thấp bị bộ ñịnh tuyến loại bỏ ðể truyền tin cậy dữ liệu trong mạng IP người ta phải sử dụng cơ chế phát lại ñể truyền lại các gói bị mất, nó có thể thực hiện ở lớp giao vận Cơ chế phát lại ñược kích hoạt khi ñầu cuối nhận ñược bản tin thông báo mất gói Tuy nhiên, việc phát lại có nhược ñiểm lớn là trễ ðối với các ứng dụng thời gian thực như thoại thì cơ chế phát lại không thể ứng dụng ñược
Trang 15Gói thực chất ựược xác ựịnh là mất khi trễ ựầu cuối- ựầu cuối của gói vượt khỏi quá thời gian quy ựịnh Như vậy, mất gói là gói không bao giờ ựến ựắch (thời gian trễ bằng vô cùng) nhưng cũng có thể là gói mặc dù ựến ựắch nhưng sau thời ựiểm quy ựịnh ựặt ra của chúng (trường hợp này là mất gói do trễ) Số của gói mất
sẽ giảm khi tăng trễ bộ ựệm nghĩa là tăng thời gian trễ cho phép của gói Tuy nhiên, tăng trễ bộ ựệm ựồng nghĩa với tăng trễ ựầu cuối- ựầu cuối (mà ựiều này lại ảnh hưởng ựến chất lượng, ựến ựộ cảm nhận của người nghe) Do ựó cần phải có
sự cân nhắc thỏa ựáng giữa hai con số này
Mất gói làm gián ựoạn các ựoạn thoại, gây nên các âm như click, mất tiếng ( trong khoảng rất ngắn) hoặc mất âm làm cho ựoạn thoại không hiểu ựược Vì mất gói là ựiều không thể tránh khỏi, lưu lượng thoại cho phép có thể mất một số gói, nhưng tỷ lệ mất gói này vượt quá 5% thì nó sẽ ảnh hưởng ựáng kể ựến chất lượng thoại Do vậy phải có biện pháp ựể giảm ảnh hưởng của mất gói ựến chất lượng thoại đó là kỹ thuật che giấu mất gói hay rộng hơn là kỹ thuật khôi phục mất gói, nghĩa là làm cho người nghe không cảm nhận thấy khó chịu do tác ựộng của mất gói gây nên
Trang 16Thi Công Tổng đài Chương 4: Cài đặt Tổng đài
4.1 Yêu Cầu Về Thiết Bị:
Một máy tắnh cài hệ ựiều hành Linux(Centos4.5) dùng làm tổng ựài, 3 máy tắnh cài phần mềm Softphone (X-lite) dùng như ựiện thoại IP
Một Switch ựể kết nối mạng LAN (Local Area Network)
Một Router ựể kết nối Internet
Một Gateway (Linksys SPA3102) dùng ựể kết nối giữa mạng Internet và
mạng ựiện thoại truyền thống (PSTN-Public Switching Telephone
Network)
Dây Cable mạng, Headphone
4.2 Mô Hình Hệ Thống Tổng đài:
Hình 4.1: Mô hình hệ thống tổng ựài
Trang 174.3 Cài đặt Tổng đài :
4.3.1 Cài Hệ điều Hành Linux- CentOS4.5 và Phần Mềm Asterisk
Bước 1: Fomat ựĩa cứng, tạo phân vùng mới, chọn chế ựộ Boot CD trong
CMOS, sau ựó ựưa ựĩa chứa hệ ựiều hành vào cài ựặt
Bước 2:Quá trình cài ựặt bắt ựầu ựược tiến hành :
o Khi chương trình khởi ựộng, sẻ hiện thị màn hình
ựòi hỏi cấu hình cao, nhưng nếu bạn muốn làm việc ở chế ựộ ựồ họa hay bảo ựảm cho hệ thống chạy trơn tru với các ứng dụng yêu cầu phải có hai phân vùng partition
- Partition chắnh: chứa thư mục gốc (/)
- Partition swap: ựược dùng làm không gian hóa ựổi khi vùng nhớ chắnh ựã sử dụng hết
Hình 4.2: Chế ựộ tùy chỉnh
Trang 18Hình 4.3: Chọn kiểu gõ bàn phím US
Hình 4.4: Phân vùng partition Swap
Trang 19Hình 4.5: Phân vùng partition (/)
Hình 4.6: Chọn Time Zone-Asia/Saigon
Trang 20Hình 4.7: Cấu hình ñịa chỉ IP cho tổng ñài
Trang 21Hình 4.8: Cài Password cho tài khoản Root
Hình 4.9: Các gói dữ liệu của tổng ñài ñang ñược cài ñặt
Trang 22Hình 4.10: Quá Trình cài ñặt hoàn tất hệ thông Reboot lại
Hình 4.11: Log on vào hệ thống
Hình 4.12: Thông báo hệ thống ñã hoạt ñộng
Trang 234.3.2 Cài đặt và Updates Các Gói Cho Tổng đài:
Từ một máy tắnh bất kỳ cùng lớp mạng với tổng ựài, ta mở trình duyệt
Internet, nhập http://ựịa chỉ IP của tổng ựài, ta sẽ truy cập vào hệ thống
tổng ựài
Hình 4.13: Log on vào User mode
để vào cấu hình tổng ựài ta phải vào tài khoản Admin, từ giao diện ở hình
4.13, ta Click vào chữ ỘSwitchỢ ở góc trên bên phải ựể chuyển qua tài
khoản Admin
Trang 24Hình 4.14: Nhập tài khoản truy cập vào Admin mode
Hình 4.15: Log on vào Admin Mode
Trang 25Ở chế ñộ Admin Mode, ñầu tiên ta sẻ tiến hành tải các gói của tổng ñài
về cài ñặt Từ giao diện hình 4.15 ta click vào Tab “Packages” sau ñó tiến hành cài các gói cần thiết
Hình 4.16: Cài và updates các gói cho tổng ñài
Ta click vào Tab “FreePBX” như hình dưới ñể cấu hình thuê bao và các thông số của tổng ñài
Hình 4.17: Vào FreePBX