Sơ lược tập tin cấu hình asterisk

Một phần của tài liệu xây dựng tổng đài ip pbx (Trang 88)

Tất cả các tập tin cấu hình cho hệ thống Asterisk đều nằm tại thư mục /etc/asterisk, ngoại trừ

file system.conf cấu hình cho phần cứng TDM nằm tại thư mục /etc/dahdi. Các nội dung sau dấu chấm phẩy (;) là nội dung chú thích. Tất cả các khoảng trắng trong tập tin cấu hình đều được bỏ qua không có ý nghĩa trong file cấu hình.

Trong file cấu hình có hai phép gán thường được sử dụng, phép gán “=” dùng cho việc gán biến, phép gán “=>” dùng cho việc gán các đối tượng.

v Các kiểu ảnh hưởng trong tập tin cấu hình:

Ba kiểu cách thức hoạt động của tập tin cấu hình

Kiểu Cách hoạt động File cấu hình Ví dụ Simple Group Có hiệu lực trên từng

dòng trong file Extensions.conf

Exten=>_9XXX,1,dial(sip/$ {EXTEN},20, trT)

Option Inheritance

Dòng khai báo sau thừa kế những thông số của dòng khai báo trước Zapata.conf [channels] context=default switchtype=national signalling=fxo_ks usecallerid=yes hidecallerid=no callwaiting=yes usecallingpres=yes callwaitingcallerid=yes Complex Entity Mỗi entity nhận một ngữ cảnh Sip.conf Iax.conf [9000] type=friend username=9000 secret=123 context=incoming host=dynamic nat=yes

v Các file cấu hình thông dụng nhất: agents.conf, chan_dahdi.conf, dahdi-channels.conf, extconfig.conf, extensions.conf, features.conf ,iax.conf, meetme.conf, musiconhold.conf, mysql.conf, queues.conf, res_mysql.conf, sip.conf, voicemail.conf.

Việc trình bày chi tiết ý nghĩa các thông số trong từng file sẽ rất dài dòng và khó hiểu khi không đặt vào một ngữ cảnh cụ thể. Tuy nhiên, để có một chút khái niệm, ởđây sẽ trình bày những phần cơ bản nhất.

v Khai báo kênh SIP: Khai báo kênh sip là tạo tài khoản trong file /etc/asterisk/sip.conf Ø Các lựa chọn cho việc cấu hình:

[general]

Context: thiết lập context mặc định cho các cuộc gọi đến Server. Thiết lập mặc định của hệ thống là “default”.

Port: thiết lập potr UDP cho việc lắng nghe các connection. Mặc định là port 5060, chúng ta không nên thay đổi mặc định này nếu không thật sự cần thiết.

Bindaddr: chỉđịnh địa chỉ IP mà chúng ta mong muốn dịch vụ sip cho phép. Một máy có nhiều địa chỉ IP, chúng ta có thể chỉ định cho nó tìm đến tất cả bằng cách gán cho Bindaddr=0.0.0.0.

Maxexpiry: thời gian tối đa cho phép việc đăng kí có giá trị. Mặc định là 3600 giây, qua thời gian này việc đăng kí sẽ tựđộng timeout.

Videosupport: việc thiết lập “yes” sẽ cho phép hỗ trợ video trong giao thức SIP. Asterisk là được phép hỗ trợ video H263 từ Linphones, Microsoft Windows Messenger và Wooksung WVP-2000 videophone.

Musicclass: thiết lập mặc định lớp music on hold cho tất cả cuộc gọi SIP. Mặc định là “default”.

Accountcode: thiết lập mã tài khoản để sử dụng cho các cuộc gọi SIP từ user này, điều này có thể giúp cho việc “billing”.

Rtptimeout: là thời gian mà khi RTP stream không lưu thông trên đường truyền cuộc gọi sẽ “timeout” trước khi Asterisk kết thúc cuộc gọi.

Externip: thiết lập địa chỉ IP ngoài mạng nội bộ của Server Asterisk (gọi ra Internet hoặc ngược lại), điều này sẽ có ích cho NAT và Firewall.

Localnet: định nghĩa tất cả các địa chỉ IP nội. Điều này sẽ báo cho Asterisk thông điệp SIP dùng IP ngoài tại một nơi chỉ sử dụng IP nội bộ

Codec:định nghĩa tất cả các chuẩn mã hóa và giải mã mà chúng ta cho phép. Có hai trạng thái là “allow” và “disallow”. Đầu tiên nên cấm tất cả các chuẩn codec bằng cách thực hiện “disallow=all”; sau đó cho phép các chuẩn mà ta mong muốn, ví dụ “allow= ulaw”, “allow=alaw”…

Ø Định nghĩa các user:

[username]

Type: kiểu kết nối thông tin.Có 3 lựa chọn lần lượt là User, Peer hay Friend. Kiểu User chỉ

cho phép thực hiện cuộc gọi đến, kiểu Peer chỉ cho phép thực hiện cuộc gọi đi, kiểu Friend cho phép thực hiện nhận cuộc gọi đến và gửi cuộc gọi đi.

Username: thiết lập username cho việc chứng thực

Host: địa chỉ IP hay tên miền mà client kết nối với kênh này, thường dùng giá trị là “dynamic” cho tất cả các client kết nối đến. (adsbygoogle = window.adsbygoogle || []).push({});

Secret: mật khẩu để sử dụng những kênh này. Máy điện thoại phía client phải khai báo thông số trùng với thông số này thì mới sử dụng được

Callerid: thiết lập định danh caller ID

Nat: thiết lập “yes” hoặc “no” tùy theo client có nằm sau firewall hay không

Mailbox: thiết lập hộp mail cho việc kiểm tra thông điệp từ các user khác

Outgoinglimit: thiết lập số lượng tối đa cuộc gọi mà thiết bị có thể thực hiện trong một thời gian nhất định.

Incominglimit: thiết lập số lượng tối đa cuộc gọi mà thiết bị có thể khởi tạo tại một thời

điểm

Callgroup: nhóm gọi

Pickupgroup: nhóm pickup cuộc gọi

Deny: danh sách các địa chỉ IP loại khỏi máy chủ Asterisk

Permit: danh sách các địa chỉ IP được phép truy cập máy chủ Asterisk. Ø Giới thiệu Dialplan:

Dialplan được xem là trung tâm xử lý của Asterisk, nó định nghĩa tất cả các cuộc gọi vào ra trong tổng đài IP PBX, bao gồm một danh sách những cấu trúc hoặc những bước mà Asterisk sẽ thực hiện. Dialplan được cấu hình qua tập tin extensions.conf, một số khái niệm cần nắm rõ khi cấu hình dialplan:

Contexts- các ngữ cảnh:

Contexts là tên của một nhóm các nhánh, và mỗi nhánh có một ứng dụng. Như vậy, mỗi context sẽ thực hiện mốt số chức năng mà người dùng mong muốn.

Các nhánh trong các contexts khác nhau là cách ly hoàn toàn, tức là nhánh trong context này có thể giống với nhánh trong context khác nhưng Asterisk vẫn phân biệt được các nhánh này.

Context được chứa trong dấu ngoặc vuông “[]”.

Tên của context có thểđược thiết lập với các chữ cái, chữ số và dấu gạch nối.

Extensions:

Dialplan là một tập hợp gồm nhiều extension, khi một cuộc gọi tương ứng với extension nào thì ứng dụng cho cuộc gọi đó sẽđược thực hiện.

Cú pháp thực hiện extension là: exten=>name, priority, application() name: tên hoặc số.

priority: thứ tự thực hiện lệnh.

Application():ứng dụng hoặc lệnh èthực hiện hành động trong cuộc gọi.

Ta có thể thiết lập các nhánh tuỳ biến, bằng cách sử dụng những ký tự hoặc ký hiệu để đại diện cho những số co thể chúng ta mong muốn làm cho phù hợp. Những hình thức luôn bắt đầu bằng dấu gạch dưới (_).

Sau dấu gạch dưới có thể sử dụng 1 hoặc nhiều ký tự sau đây: X: những số từ 0-9.

N: những số từ 2-9. Z: mọi chữ số trừ số 0.

.(period): từ kết hợp 1 hoặc nhiều ký tự. “.”: dùng cho nhiều số.

Để sử dụng tuỳ biến trong Dialplan, đặt tuỳ biến tại tên (số).

Priorities - thứ tự ưu tiê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 số thứ tự “2” được thực hiện. Kể từ version 1.2 của Asterisk, thay vì gán một con số cụ thể cho thứ tự thực hiện thì ta co 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ẽđược thực hiện. (adsbygoogle = window.adsbygoogle || []).push({});

Application – Các hàm ứng dụng:

Đây là phần quan trọng trong Dial plan, tức là các ứ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 chỉ là nhấc gác máy… Để biết thêm về các ứng dụng cũng như các thông số kèm theo, ta dùng lệnh show application trên giao tiếp dòng lệnh của Asterisk.

Chương 6:MT SCHC NĂNG CA TNG ĐÀI PBX 1. Tạo số điện thoại cho softphone trong Free PBX

Ở đây ta sử dụng phần mềm eyeBeam và Bria Professional. Sau đó ta mở giao diện web lên và nhập địa chỉ ip của máy đang chạy server, đăng nhập user, password như hình sau:

Hình 6.1. Giao diện đăng nhập tài khoản Free PBX

Tạo sốđiện thoại cho softphone trong Free PBX:

− Vào menu PBX > PBX Settings > Extension> Chọn Generic SIP Device -> nhấn Submit.

− Nhập các thông tin sau để tạo số nội bộ:

o User extension: nhập vào số nội bộ, ví dụ số 100

o Display Name: tên người dùng tương ứng.

o Secret: gõ vào mật khẩu tạo mới

Hình 6.2. Tạo các tài khoản SIP

Tạo số nội bộ cho 2 PC trong Softphone X-lite, ví dụ số 130

− Khai báo tài khoản trong Account

o Display Name: nhập vào tên người sử dụng.

o Username: số extension tương ứng.

o Password: nhập vào mật khẩu tương ứng đã tạo ở bước 1.

o Authorization username: nhập lại số extension.

o Domain: Nhập vào IP hoặc tên của Asterisk server.

− Khi Sip phone đăng ký thành công phần màn hình của điện thoại sẽ báo như sau:

Hình 6.4. Đăng nhập thành công trên softphone

− Tương tự ta đăng ký cho softphone 2 với user 100.

− Sau khi đăng ký thành công tài khoản của 2 thuê bao thì ta thực hiện cuộc gọi bằng cách quay số 100 gọi cho 130.

2. Call waiting( cuộc gọi chờ)

Call Waiting là dịch vụ cho phép thuê bao vẫn có thể nhận được tín hiệu báo có cuộc gọi đến trong khi đang đàm thoại với thuê bao khác. Thuê bao có thể kết thúc cuộc gọi hiện hành để trả lời cuộc gọi mới, hoặc có thể tạm thời ngưng cuộc gọi hiện hành để chuyển sang nhận cuộc gọi mới.

Ta có thể kích hoạt dịch vụ này trực tiếp qua điện thoại.

• Để kích hoạt dịch vụ, thuê bao quay số *70.

3. Nhạc chờ ( Music On Hold)

Tính năng Music On Hold của Asterisk với nhiều ứng dụng thực tế rất thiết thực, một sốứng dụng tiêu biểu như trong khi chờ giữ máy đểđược gặp người khácthuê bao có thể nghe âm nhạc giải trí để quên đi thời gian chờ đợi. Khi chờ trả lời cuộc gọi thuê bao sẽ nghe âm nhạc thay vì hồi âm chuông nhưđiện thoại truyền thống, hoặc phát ra một thông điệp thông báo cho một tác vụ nào đó.

Asterisk sử dụng và hỗ trợ nhiều file định dạng khác nhau để lưu trữ dữ liệu âm thanh bao gồm Voicemail và Music On Hold. Các định dạng được hỗ trợ bao gồm: (adsbygoogle = window.adsbygoogle || []).push({});

Định dạng Mô tả

Raw Dữ liệu 16 bit tuyến tính. Pcm Dữ liệu 8 bit luật u.

Vox Dữ liệu 4 bit IMA-ADPCM.

Wav File WAV tuyến tính 16 bit ở 8KHz.

WAV File WAV nén GSM ở 8 KHz.

Gsm Dữ liệu nén GSM.

G723 Định dạng G723 đơn giản với nhãn thời gian.

ü Định dạng tập tin mặc định là: 16bit, 8kHz, mono, PCM, wav file.

Hình 6.5. Upload các file nhạc chờ cho hệ thống

• Trong giao diện Web quản trị của FREE PBX, vào menu PBX > PBX Settings >Music On Hold.

• Chọn Add Music Category> nhập sốđiện thoại >Submit.

• Click vào sốđiện thoại > chọn tệp tin để tải bài hát yêu thích > nhấn Upload.

• Khi thuê bao quay sốđiện thoại vừa được cài đặt dịch vụ Music On Hold, hệ thống sẽ phát ra bài nhạc trong lúc chờ kết nối cuộc gọi.

4. Voicemail (Hộp thư thoại):

− Khi người gọi không được trả lời, máy không được kết nối mạng hay máy điện thoại đang bận, hệ

thống đều có thông điệp riêng để thông báo tình trạng của máy thuê bao được gọi và phát thông

điệp mời để lại tin nhắn.

− Mỗi hộp thưđều được quản lý bằng password và thư mục riêng.

Hình 6.6. Cấu hình dịch vụ Voicemail

ü Cấu hình:

− Trong giao diện Web quản trị của FREE PBX, vào menu PBX > PBX Settings >Extension.

− Muốn cài đặt Voicemail cho số điện thoại nào thì click vào số đó (ở đây ta chọn 130), vào

Extension> 130> Status > Enable > Password > nhấn Submit.

− Như vậy ta đã thực hiện xong phần cấu hình cho Voicemail. ü Ngữ cảnh thực hiện:

− Khimột Phone gọi cho một Softphone hoặc một Phone gọi cho một Phone khác, sau hồi chuôngnếu số điện thoại được gọi không nhấc máy sẽ có một câu thông báo yêu cầu ghi âm đến sốđiện thoại đó, ta bắt đầu thu âm sau tiếng “bíp”, thực hiện xong gác máy.

− Để nghe lại lời nhắn nhấn *97 > nhập password> nghe tin nhắn> muốn kết thúc nhấn “#”.

− Nếu một user bất kỳ muốn nghe hộp thư thoại của một user khác thì nhấn *98> password > nghe tin nhắn > nhấn # để kết thúc.

5. Conference ( Hội Nghị):

Đây là một chức năng cho phép nhiều sốđiện thoại có thể gọi vào một sốđược tạo trước, qua

ü Cấu hình: (adsbygoogle = window.adsbygoogle || []).push({});

− Trong giao diện Web quản trị của FREE PBX, vào menu PBX > PBX Settings > Conferences

− Nhấn vào Add Conference để tạo một sốđể gọi. Nhập các thông số như hình sau:

Hình 6.7. Cấu hình dịch vụ Conference

ü Ngữ cảnh thực hiện:

− Khi một sốđiện thoại nào đó gọi vào sốđược cài đặt trước ( ởđây là số 9999) thì hệ thống sẽ yêu cầu nhập password, sau khi nhập password là 123 xong thì sẽ vào phòng và nghe nhạc chờ, đợi 1 sốđiện thoại khác vào cùng phòng.

− Khi có một sốđiện thoại khác cũng gọi vào số 9999 thì hệ thống cũng yêu cầu nhập password để

vào phòng, khi sốđiện thoại này vào phòng thì lập tức số điện thoại trước đó sẽ ngừng nhạc chờ

và sẽ có một tín hiệu báo có người mới vào. Cứ như thế, hệ thống cho phép vô số số điện thoại gọi vào số 9999 và cùng trò chuyện.

6. Blacklist ( Danh sách loại trừ)

Mục đích của tính năng này là giúp thuê bao loại trừ các cuộc gọi đến của một thuê bao nào

đó, để làm được điều này ta đưa sốđiện thoại của thuê bao mà ta không muốn trả lời cuộc gọi vào trong danh sách Blacklist. Một ví dụ cụ thể như khi có một sốđiện thoại gọi điện với mục đích xấu, chúng ta muốn các số điện thoại này không được thực hiện cuộc gọi đến điện thoại của ta nữa, lúc này ta sẽđưa các sốđiện thoại đó vào danh sách Blacklist.

Chúng ta có thể quản lý danh sách loại trừ Blacklist thông qua giao diện FreePBX. Đầu tiên chúng ta nhấp chọn thẻBlacklist ở bên trái cửa sổ màn hình sẽ hiện ra giao diện cấu hình. Trong mục

Number, ta nhập số thuê bao mà ta không muốn nhận cuộc gọi.

Hình 6.8. Cấu hình dịch vụ Blacklist

Sau đó nhấn Submit Changesđể lưu lại thiết lập.

Số thuê bao 101 sau khi bịđưa vào danh sách loại trừ sẽ không thể gọi được đến tổng đài. Thuê bao đó sẽ nhận được thông báo “The number you have reached is not is service”.

• Đưa một số thuê bao vào danh sách loại trừ: trên điện thoại ta quay số *30 sẽ nhận

được thông báo nhập số thuê bao muốn loại trừ rồi nhấn #. Sau khi nhấn xong, ta sẽ

nhận được yêu cầu xác nhận thuê bao muốn loại trừ. Để xác nhận ta nhấn phím 1. Cuối cùng ta nhận được thông báo xác nhận đã đưa thuê bao trên vào danh sách loại trừ.

• Đưa số thuê bao gọi đến cuối cùng vào danh sách loại trừ: trên điện thoại ta quay số

*32 sẽ nhận được thông báo yêu cầu xác nhận đưa số thuê bao gọi đến cuối cùng vào danh sách loại trừ. Để xác nhận ta nhấn phím 1. Cuối cùng ta sẽ nhận được thông báo xác nhận đã đưa thuê bao trên vào danh sách loại trừ.

• Xóa một số thuê bao khỏi danh sách loại trừ: trên điện thoại ta quay số *31 sẽ nhận

được thông báo nhập số thuê bao muốn xóa khỏi danh sách rồi nhấn #. Sau khi nhấn xong, ta sẽ nghe được yêu cầu xác nhận. Để xác nhận ta nhấn phím 1. Cuối cùng ta nghe thấy thông báo đã xóa thuê bao trên khỏi danh sách loại trừ.

7. Ring Groups ( Đổ chuông nhóm)

Ring Groups là dịch vụ thiết lập các số thuê bao thành một nhóm và khi có cuộc gọi từ bên ngoài đến tồng đài thì các thuê bao trong nhóm đó sẽ cùng đổ chuông. Một ví dụ cụ thể như khi có thuê bao gọi đến số 600 là sốđiện thoại phòng chăm sóc khách hàng của một công ty, thì tất cả các

điện thoại của nhân viên trong phòng chăm sóc khách hàng sẽ đổ chuông đồng loạt, cho đến khi có một thuê bao trong nhóm nhấc máy để nhận cuộc gọi này. Để tiến hành cấu hình dịch vụ, ta chọn mục Ring Groups ở bên trái màn hình, sẽ hiện ra cửa sổ giao diện:

Hình 6.9. Cấu hình dịch vụ Ring Group

Đây là các thông số cơ bản chúng ra cần quan tâm:

Ring-Group Number:đây là sốđiện thoại đại diện của nhóm.

Group Description: tên của nhóm. (adsbygoogle = window.adsbygoogle || []).push({});

Ring Strategy: cách thức đổ chuông. Có 2 chếđộ thường sử dụng:

o Ring All:đổ chuông đồng loạt cho tất cả các thuê bao trong nhóm.

o Hunt:đổ chuông cho thuê bao đầu tiên trong nhóm, nếu thuê bao này không nhấc máy thì nó sẽ chuyển qua thuê bao kế tiếp và tiếp tục như vậy.

Ring Max: thời gian đổ chuông.

Ngoài ra, trong trường hợp không có ai trong nhóm nhấc máy trả lời cuộc gọi, ta có thể

cài đặt hệ thống Voicemail thông báo yêu cầu để lại lời nhắn thoại trong mục Destination if no

Một phần của tài liệu xây dựng tổng đài ip pbx (Trang 88)