Host=192.168.16.5 Context=NoiBo [xten] Type=friend Secret=6789 Host=dynamic Context=NoiBo Đây là kiểu cấu hình đơn giản nhất thường sử dụng trong các file extention.conf, meetme.conf, vo
Trang 1Host=192.168.16.5 Context=NoiBo
[xten]
Type=friend Secret=6789 Host=dynamic Context=NoiBo
Đây là kiểu cấu hình đơn giản nhất thường sử dụng trong các file extention.conf, meetme.conf, voicemail.conf tương ứng với mỗi dòng khai báo là một đối tượng có ý nghĩa trên dòng đó
Ví dụ :
Extention.conf [section]
object1=> op1,op2,op3 object2=> op1b,op2b,op3b Trong ví dụ trên mỗi dòng tương ứng với các toán tử khác nhau object1 có các toán từ op1, op2, op3 trong khi đó object2 lại có các toán từ op1b, op2b, op3b
2 Option inheritance
Trang 2Tác Giả Lê Quốc Toàn
52
Ví dụ:
Extention.conf [section]
Op1=bas Op2=adv Object1=>1 Op1=int Object1=>2
Với cấu hình trên có thể giải thích như sau object1=>1 thừa hưởng hai thông
số ở phía trên đó là op1=bas và op2=adv trong khi đó đối với object1=>2 với thông
số op1=int được khai báo lại nên object1=>2 được thừa kế từ hai thông số op1=int
và op2=adv
3 Complex Entity
Với cấu kiểu này được tổ chức thành nhiều entity, ứng với mỗi entity có nhiều thông số được khai báo, mỗi entity ở đây chính là các section để khai báo các kênh thông tin Cấu hình thường được sử dụng trong các file iax.conf, sip.conf
Ví dụ:
Extention.conf
Trang 3Op1=value1 Op2=value2 [entity2]
Op1=value3 Op2=value4 Entity1 có các giá trị value1 và value2 cho thông số op1 và op2, trong khi đó cũng là thông số op1 và op 2 nhưng có các giá trị khác là value3 và value4 cho entity2
4 Cấu hình giao tiếp với mạng PSTN
1 Ngữ cảnh kết nối
Để kết nối với mạng PSTN chúng ta cần phải có một card TDM với Cổng FXO và một đường dây điện thoại hoặc có thể là một tổng đài nội bộ PBX Có nhiều nhà sản xuất phần cứng khác nhau nhưng trong phần cấu hình dưới dây là cấu hình cho card zapata TDM01B của digium (card này hiện nay giá bán khoảng 175$)
Trang 4Tác Giả Lê Quốc Toàn
54
Hình Giao tiếp với FXO và FXS
Ở hình trên chúng ta đang tiến hành cấu hình cho port FXO
2 Lắp đặt card TDM01B và cấu hình.
Trước khi lắp đặt card TDM01B hãy tắt nguồn máy tính và kiểm tra cổng PCI có tương thích để gắn vào hay không Sau khi hoàn tất hãy bật máy tính trở lại
và chuẩn bị cấu hình cho card hoạt động
Cấu hình cho card hoạt động thông qua hai file cấu hình đó là file zaptel.conf nằm trong thư mục /etc và file zapata.conf tại thư mục /etc/asterisk, cấu hình trong file zapata.conf để cho kênh FXO hoạt động.
Tại thời điểm này chỉ ở mức cơ bản nên không giải thích kỹ các thông số cấu
hình một cách chi tiết, nếu muốn tham khảo thêm kỹ hơn xin mời xem chương Cấu Hình Kết Nối Với Mạng PSTN
Trang 5Để giữ lại các cấu hình cũ nên lưu lại để đề phòng bất trắc cần khôi phục lại
về sau bằng lệnh:
#cp /etc/zaptel.conf /etc/zaptel.conf.old
#cp /etc/asterisk/zapata.conf /etc/asterisk/zapata.conf.old
/etc/zaptel.conf fxsks=1
loadzone=us defaultzone=us channels=1
/etc/asterisk/zapata.conf [channels]
Group=1 context=default ;cuộc gọi vào sẽ đến [default] qua file extensions.conf
signalling=fxs_ks ;Sử dụng tín hiệu FXS cho kênh FXO channel => 1 ;Đường dây điện thoại được gắn với port 1
Sau khi cấu hình xong tiến hành nạp driver và nạp lại file cấu hình cho card hoạt động như sau
Modprode zaptel
Trang 6Tác Giả Lê Quốc Toàn
56
Trong phần này cũng sẽ giới thiệu cấu hình khai báo đơn giản điện thoại IP
SIP phone, để có thông tin chi tiết hơn xin mời tham khảo chương Cấu Hình Giao Thức SIP và IAX
Thực hiện cấu hình trong file /etc/asterisk/sip.conf Các máy điện thoại sẽ cấu
hình trong file này trước khi quay số hay nhận cuộc gọi
1 Phần khai báo Chung
Trong file sip.conf có section [general] dùng để khai báo các thông số chung cho tất cả các kênh sip trong toàn bộ tập tin này, nhưng các thông số đó có thể mang giá trị khác trong phần khai báo trên các kênh riêng để phù hợp với kênh đó
Sau đây là các thông số chính:
Allow/disallow: Định nghĩa sử dụng các codec.
Bindaddr: Địa chỉ IP mà client kết nối đến kênh này, nếu thông số này được
khai báo là 0.0.0.0 cho phép tất cả các địa chỉ IP có thể kết nối đến kênh này
Context : Tất cả các cuộc gọi mặc định sẽ được chuyển đến ngữ cảnh này
ngoại trừ phần dưới file cấu hình có khai báo ngữ cảnh khác
Bindport: Cổng SIP UDP mà client cần kết nối đến.
Maxexpirey: Thời gian tối đa để đăng ký, đơn vị tính bằng giây.
Defaultexpirey: Thời gian mặc định để đăng ký, đơn vị tính bằng giây.
Register: Để kết nối giao tiếp với server khác.
Ví dụ:
Trang 7/etc/asterisk/sip.conf [general]
Bindport=5060 Bindaddr=0.0.0.0 Context=default Disallow=all Allow=ulaw Maxexpirey=120 Defaultexpirey=80
2 Khai báo kênh SIP
Trong phần này sẽ khai báo các kênh sip riêng cho từng điện thoại ip sip phone, tất nhiên các thông số trong phần [general] sẽ có hiệu lực trên các kênh này ngoại trừ tại phần khai báo các kênh này khai báo lại thông số ở phần trên
Sau đây là các thông số dành khai báo riêng cho từng kênh SIP:
[name]: đây là phần khai báo máy điện thoại extention ip sip, có thể là ký tự
nhưng thường là các con số quay vì trên các phím điện thoại thường là các con số
mà thôi
Type: Kiểu kết nối thông tin user, peer hay friend
Trang 8Tác Giả Lê Quốc Toàn
58
Secret : mật khẩu để sử dụng kênh này Máy điện thoại phía client phải khai
báo trùng với thông số này thì mới sử dụng được
Ví dụ:
/etc/asterisk/sip.conf [8000]
Type=friend Secret=123456 Context=NoiBo Host=dynamic
[8001]
Type=friend Secret=2222 Context=NoiBo Host=192.168.5.16
6 Giới Thiệu 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 như thế nào dialplan hoạt động
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
Trang 9vớ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õ vào dialplan hay không?
Trong phần này sẽ tập trung đi vào thực hiện diaplan ở mức nền tảng thực hiện cuộc gọi trước khi đi sâu tìm hiểu kỹ ở những chương sau
Dialplan được cấu hình qua tập tin extension.conf, liên quan đến việc cấu hình dialplan có những khái niệm cần nắm đó là:
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
Ở đây chỉ đề cập đến những khái niệm cơ bản, để hiểu sâu hơn về dialplan xin mời tham khảo hai chương Dialplan Trước khi cấu hình hãy lưu lại tập tin extention.conf gốc và thực hiện trên file extention.conf rỗng
1 Extentions
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 extention có thể đơn giản với một đích danh cụ thể như 8051, letoan hay là một chuỗi so mẫu được thực
Trang 10Tác Giả Lê Quốc Toàn
60
Các dạng của extention
Ví dụ :
/etc/asterisk/extention.conf exten=>8051,1,dial(sip/8051,20) exten=>8051,2,hangup()
“exten=>” giống nhau cho mỗi dòng thực hiện trong dialplan, 8051 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ố 8051 thì đỗ chuông máy ip sip
8051 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