Mô tả nhu cầu công ty:
+ Khoảng 50 số nội bộ, đảm bảo khả năng xử lý cuộc gọi tốt trong nội bộ.
+ Bên ngoài gọi vào số nội bộ của công ty phải qua tổng đài viên, có thể gọi trực tiếp đến một số số đặc biệt.
+ Dùng hệ thống IVR để giao tiếp với khách hàng.
+ Có cơ chế phân quyền gọi đi nội hạt, di động, liên tỉnh, quốc tế và các dịch vụ 1900… 4.3 Cấu hình phần cứng + CPU: P4 2.8 GHz + RAM: 512 MB + HDD: 80 GB Sata + Card Digium TDM400P
Đánh giá chung cấu hình: cấu hình này so với cấu hình thực tế phần cứng hiện nay là thấp. Nhưng trên thực tế tổng đài Asterisk không yêu cầu cấu hình quá cao. Cấu hình đề nghị bên trên có thể sử dụng cho công ty có khoảng 500 người dùng với mô hình phân tán khá rộng (cấu hình server Asterisk của công ty Thế Giới Di Động với 1200 nhân viên, 30 siêu thị hoạt động trên toàn quốc).
4.4 Cài đặt tổng đài Asterisk
b1. Cài đặt hệ điều hành CentOS 5.2 b2. Cài đặt các gói trong tổng đài Asterisk
b3. Cài đặt Asterisk-GUI để hỗ trợ cấu hình và quản lý tổng đài (Các bước cài đặt tham khảo Chương 2)
4.5 Chuẩn bị và cài đặt các thiết bị FXS, FXO
Chúng ta sẽ sử dụng một card giao tiếp thoại của Digium TDM400 với 1 module FXS và 1 module FXO và thực hiện các bước sau:
b1. Cài đặt board mạch TDM400P. b2. Cấu hình tập tin Zaptel.conf. b3. Cài đặt driver cho mạch giao. b4. Chạy zttest để kiểm tra các ngắt. b5. Chạy ztcfg để cấu hình driver.
b6. Cấu hình kênh ZAP trong tập tin zapata.conf. b7. Load Asterisk.
Bước 1: Cài đặt board mạch TDM400P
Hình 46: TDM400P card
TDM400P chứa các module FXS và FXO. Kết nối các module FXS (S100M - màu xanh) và FXO (Z100M - mày đỏ) đến TDM400P nếu chưa được kết nối. Các module FXS cần có thêm nguồn để cung cấp điện áp rung chuông. Nếu ta sử dụng FXS thì cần thiết kết nối card này trực tiếp đến nguồn điện 12V (giống như ổ cứng). Sử dụng nguồn điện ổn định để không làm hỏng card.
Hình 47: FXO module (S100M - màu đỏ), FXS Module (X100M - màu xanh)
TDM400P
Các module FXO và FXS
FXO module
Bước 2: Cấu hình tập tin zaptel.conf
Tập tin zaptel.conf phải được chỉnh sửa lại để cấu hình zaptel driver. Tập tin
zaptel.conf nằm trong thư mục /etc
fxsks=1 ; FXS port, đảm bảo module FXS nằm vị trí số 1. fxoks=2 ; FXO port
defaultzone=us loadzone=us
Bước 3: Tải các kernel driver
Bây giờ chúng ta tải các module zaptel và các driver của card kernel tương ứng, ta có bảng tham khảo các driver của Digium:
Card Driver Mô tả
TE410P wct4xxp 4xE1/T1-3.3V PCI
TE405P wct4xxp 4xE1/T1-5V PCI
TDM400P wctdm 4 FXS/FXO
T100P wct1xxp 1 T1
E100P wctlxxp 1 E1
X100P wcfxo 1 FXO
Bảng 3: Danh sách tham khảo các driver của Digium
Ta thực hiện các lệnh sau:
# modprobe zaptel # modprobe wctdm
Bước 4: Sử dụng tiện ích zttest
Một ứng dụng quan trọng là zttest. Nó được sử dụng để kiểm tra các ngắt (interrupt) bị thiếu trong card zaptel. Vấn đề chất lượng âm thanh thường liên quan đến các xung đột (conflict) của các ngắt.
Để kiểm tra card zaptel không chia sẽ ngắt (interrupt) với các card khác ta có thể sử dụng lệnh sau:
# cat /proc/interrupts
Ta có thể kiểm tra số các ngắt bị thiếu bằng cách sử dụng tiện ích zttest đã được biên dịch với các card zaptel.
Bước 5: Sử dụng tiện ích ztcfg để cấu hình driver
Để cấu hình driver cho card zaptel ban đầu ta phải cấu hình tập tin zaptel.conf trước sau đó mới sử dụng các cấu hình này để cấu hình driver zaptel sử dụng lệnh ztcfg.
# ztcfg
Bước 6: cấu hình tập tin zapata.conf
Sau khi cấu hình card zaptel, ta mới chỉ cấu hình cho card thôi nhưng nó còn được sử dụng cho các mục đích khác như định tuyến và SS7. Để sử dụng với Asteirsk ta phải cấu hình các kênh Zapata Astersik. Mỗi kênh trong Asterisk phải được định nghĩa, các kênh SIP được định nghĩa trong tập tin sip.conf, các kênh TDM được định nghĩa trong tập tin zapata.conf. Nó sẽ tạo ra các kênh TDM luận lý để sử dụng trong sơ đồ quay số.
signalling=fxs_ks group=1 context=incoming channel => 1 ; Kênh 1 FXS signalling=fxo_ks group=2 context=extensions
channel=> 2 ; Kênh 2 FXO
Bước 7: Load Asterisk
# asterisk -r CLI>restart now
4.6 Cấu hình các thông số trong tổng đài
Ta thực hiện cấu hình các tập tin zapata.conf. sip.conf và extentions.conf
extensions.conf [globlals] OPERATOR=SIP/4000 [incoming] exten=s,1,dial(${OPERATOR},20,tT) exten=s,n,hangup() [default] ; Số nội bộ là các số có 4 số bắt đầu từ số 4 exten=>_4XXX,1,dial(SIP/${EXTEN},20,tT) exten=>_4XXX,n,hangup() [noihat] ; Bấm số 9 để ra ngoài exten=>_9.,1,dial(ZAP/g1/${EXTEN:1},20,tT) exten=>_9.,n,hangup() [duongdai] exten=>_90[2-8].,1,dial(ZAP/g1/${EXTEN:1},20,tT) exten=>_90[2-8].,n,hangup() [didong] exten=>_909. 1,dial(ZAP/g1/${EXTEN:1},20,tT) exten=>_909..,n,hangup() [dichvu] exten=>_91[8,9]00.,1,dial(ZAP/g1/${EXTEN:1},20,tT) exten=>_91[8,9]00.,n,hangup() [quocte] exten=>_900.,1,dial(ZAP/g1/${EXTEN:1},20,tT) exten=>_900.,n,hangup() [menu] exten=>s,1,background(mainmenu) exten=>1,1,goto(sales,s,1) exten=>2,1,goto(techsupport,s,1) exten=>3,1,goto(training,s,1) exten=>i,1,dial(${OPERATOR}) exten=>t,1, dial(${OPERATOR}) [sales] exten=s,1,dial(SIP/4001,20,tT) [techsupport] exten=s,1,dial(SIP/4002,20,tT) [training] exten=s,1,dial(SIP/4003,20,tT) … sip.conf [4000] type=friend context=default;noihat context=didong;duongdai [4001] type=friend context=default;noihat context=didong;duongdai [4002] type=friend context=default;noihat context=didong [4003] type=friend context=default;noihat [4004] type=friend context=default;noihat … zapata.conf [channels] context=incoming signalling=fxs_ks group=1 channel => 1 context=extensions signalling=fxo_ks group=2 channel => 2
4.7 Thiết lập các Client và kiểm tra cuộc gọi
Để kiểm tra cuộc gọi nội bộ dùng softphone ta tiến hành cấu hình các thông số của tổng đài bằng phần mềm X-lite.
+ Cài đặt và khởi động chương trình X-lite. + Vào mục SIP Account Settings…
+ Thiết lập các thông số để kết nối một số nội bộ vào trong tổng đài
Hình 48: Thiết lập các thông số X-lite
Các thông số cần thiết lập bao gồm: - User name: là số nội bộ (extension).
- Password: là mật khẩu của số nội bộ (secret).
- Authorization user name: là số nội bộ
(extension).
- Domain: là IP của Server cài đặt Asterisk, nếu
cùng trong mạng LAN thì IP này là IP của Server Asterisk, nếu cấu hình qua internet thì IP này là một IP WAN mặt ngoài sau khi đã NAT vào trong Server Asterisk nội bộ.
Cài đặt tương tự cho các số khác trong hệ thống để nhận và thực hiện các cuộc gọi.
CHƯƠNG 5: ĐÁNH GIÁ CHUNG VÀ HƯỚNG MỞ CỦA ĐỀ TÀI
5.1 Đánh giá chung
Nhìn chung tổng đài IP PBX Asterisk là một giải pháp cung cấp tổng đài điện thoại khá hoàn hảo, các công ty có mô hình phân bố rộng, địa bàn lớn có thể áp dụng triển khai cho kết quả khá tốt. Sau đây ta đánh giá chung lại các ưu điểm và nhược điểm của tổng đài này.
5.1.1 Ưu điểm
Nền tảng mã nguồn mở chạy trên nền Linux và cộng đồng sử dụng lớn giúp việc hoàn thiện hệ thống tốt hơn trong khi vẫn đảm bảo tính linh hoạt và tự do trong việc phát triển hệ thống.
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.
Xây dựng hệ thống với chi phí thấp.
Giàu tính năng (IVR, ACD, Voicemail…).
Khả năng kết nối trong địa bàn rộng lớn, 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. 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.
…
5.1.2 Những điểm hạn chế
Tính ổn định không cao bằng điện thoại truyền thống. Do hệ thống phụ thuộc nhiều vào Server, đường truyền Internet, bị chặn bởi Firewall, hoạt động của NAT địa chỉ mạng... Khi các vấn đề này không được giải quyết một cách hợp lý sẽ sinh ra sự không ổn định trong hoạt động.
Thói quen sử dụng softphone (điện thoại thông qua PC - X-lite) không nhiều, việc sử dụng softphone để gọi điện thoại không tiện lợi bằng điện thoại truyền thống trong khi việc đầu tư IP Phone phải đòi hỏi có mạng Internet và chi phí khá cao cho thiết bị này.
QoS thấp. Việc đánh giá và cải thiện QoS tăng chất lượng của giải pháp đòi hỏi phải xây dựng một hệ thống mạng WAN có chất lượng. Có các đường thuê kênh riêng (Lease line) giữa các chi nhánh làm tăng chi phí vận hành hệ thống. Nếu các vấn đề trên xuất hiện thì hệ thống IP PBX gặp nhiều trở ngại trong việc sử dụng hiệu quả hệ thống. Thực tế trong khi hoạt động khi hệ thống không đáp ứng đuợc yêu cầu của doanh nghiệp lập tức giải pháp IP PBX gặp nhiều khó khăn và phải bàn lại tính khả thi cũng như tính hiệu quả trong đầu tư.
5.1 Hướng mở của đề tài
Vì thời gian làm luận văn có hạn, cũng như kiến thức về môi trường Linux và tổng đài Asterisk không sâu nên luận văn dừng lại ở mức độ xây dựng một tổng đài, cấu hình và vận hành các chức năng trong tổng đài Asterisk. Khi triển khai thực tế có rất nhiều khó khăn về mặt xử lý kỹ thuật mạng cũng như đảm bảo QoS và bảo mật hệ thống, sửa lỗi trong các cấu hình đặc thù mạng thực tế của từng công ty.
Hướng mở của đề tài là triển khai thành một mạng IP PBX Asterisk trong thực tế, có sửa các lỗi và cơ chế đảm bảo QoS và bảo mật hệ thống. Ngoài ra tổng đài Asterisk còn giúp ta xây dựng nên một trung tâm hỗ trợ khách hàng (Call Center). Đây làm một ứng dụng rất mạnh của tổng đài Asterisk mang lại nhiều lợi ích cho doanh nghiệp trong việc hỗ trợ và phục vụ khách hàng cũng như phát triển một trung tâm bán hàng trực tuyến cho công ty.
Một lần nữa em xin chân thành cảm ơn sự định hướng và chỉ bảo chân tình của Thầy Phạm Đình Nguyên đã hỗ trợ và tạo nhiều điều kiện để em hoàn thành được luận văn này.
TÀI LIỆU THAM KHẢO
+ http://www.asterisk.org/ + http://www.digium.com/
+ Asterisk PBX Configuration Guide - Flavio E. Gonçalves. + Asterisk The Future of Telephony - O’Reilly.
+ Trixbox2 Without Tears - Ben Sharif.