Thu âm lời chào

Một phần của tài liệu Nghiên cứu hoạt động và cách triển khai tổng đài IP PBX Asterisk (Trang 59)

Chúng ta tạo ra một lời chào bằng cách ghi âm một lời chào với tên được nhập vào sau khi quay số 9001, sau khi nghe tiếng bíp ta bắt đầu thu âm và khi kết thúc ta bấm nút thăng “#” để lưu lại tập tin này và phát lại tập tin để kiểm tra:

Ta tạo ra các lệnh sau trong tập tin extensions.conf:

exten=_9001.,1,answer() exten=_9001.,n,record(${EXTEN:4} t) exten=_9001.,n,playback(${EXTEN:4}) exten=_9001,n,handup() 3.8.2 Tạo ra hệ thống IVR OPERATOR=>SIP/4000 [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)

; Nếu bấm sai số thì chuyển qua số của tổng đài viên exten=>i,1,dial(${OPERATOR})

; Nếu hết thời gian thì chuyển qua số của tổng đài viên 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)

CHƯƠNG 4: XÂY DỰNG MỘT TỔNG ĐÀI THỰC TẾ

4.1 Mô tả các bước thực hiện

1. Mô tả chức năng và hoạt động của tổng đài. 2. Cấu hình phần cứng.

3. Cài đặt tổng đài Asterisk.

4. Chuẩn bị và cài đặt các thiết bị FXS, FXO. 5. Cấu hình các thông số trong tổng đài. 6. Thiết lập các Client và kiểm tra cuộc gọi.

4.2 Mô tả chức năng và hoạt động của tổng đài

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.

Một phần của tài liệu Nghiên cứu hoạt động và cách triển khai tổng đài IP PBX Asterisk (Trang 59)