Sách Asterisk – />Tác Giả Lê Quốc Toàn
48
#CLI> sip show channels
#CLI> iax2 show peers
#CLI> iax2 show users
#CLI> iax2 show channels
Đến thời điểm này có thể nói chúng ta đã hoàn thành cài đặt hệ thống
Asterisk, cài đặt xong mới là bước mở đầu, để cho hệ thống Asterisk hoạt động với
từng ứng dụng cụ thể chúng sẽ tiếp tục thực hiện các giai đoạn được xem là quan
trọng nhất trong việc triển khai hệ thống Asterisk, đó là giai đoạn cấu hình hệ thống,
lên kế hoạch Diaplan. chương còn lại đều nhắm đến mục tiêu này.
4 CẤU HÌNH HỆ THỐNG ASTERISK
1 GIỚI THIỆU
Sau khi hoàn tất phần cài đặt hệ thống asterisk, một bước quan trọng tiếp theo
là cấu hình hệ thống, có thể nói đây là bước quan trọng nhất của việc khiển khai hệ
thống đến với từng ứng dụng cụ thể. Trong chương này xin giới thiệu cái nhìn đầu
tiên về việc cấu hình trước khi đi sâu hơn ở những chương sau, những gì giới thiệu
Sách Asterisk – />Tác Giả Lê Quốc Toàn
49
trong chương này là nền móng cơ bản nhưng đủ để hiểu làm thế nào hệ thống có thể
hoạt động được, nội dung chính bao gồm:
+ Thao tác cấu hình trên hệ thống tập tin của asterisk.
+ Cách cài đặt phần mềm softphone trên công nghệ sip.
+ Cấu hình cho hai máy softphone liên lạc với nhau.
+ Cấu hình phát thông điệp.
+ Quay số qua Sip và mạng PSTN.
2 Tập Tin cấu hình
Tất cả các file cấu hình cho hệ thống asterisk đều nằm tại thư mục /etc/asterisk
ngoại trừ file zaptel.conf cấu hình cho phần cứng TDM nằm tại thư mục /etc, cách
thức cấu hình giống như tập tin .ini của window vậy. Các nội dung sau dấu chấm
phảy ; là nội dung chú thích trong file cấu hình giống như chú thích trong ngôn ngữ
lập trình C là dấu //. Tất cả các khoảng trắng trong tập tin đều được bỏ qua không có
ý nghĩa trong file cấu hình.
Trong file cấu hình còn có hai phép gán rất thường xuyên được sử dụng,
phép gán “=” là dùng cho việc gán các biến, còn phép gán “=>” dùng cho việc gán
các đối tượng sau đây là một ví dụ cho file cấu hình:
Extention.conf
Sách Asterisk – />Tác Giả Lê Quốc Toàn
50
;
;Đây là các dòng chú thích
;
[section]
Key=value ; gán giá trị cho biến
[section2]
Key=>object ; Gán giá trị cho đối tượng
Cú pháp thực hiện giống nhau cho tất cả các file cấu hình nhưng có vài kiểu
khác nhau cho mỗi file cầu hình dựa vào thức cách hoạt động của chúng.
3 Các kiểu ảnh hưởng trong tập cấu hình
Có ba kiểu cách thức hoạt động của tập tin cấu hình như sau:
Kiểu Cách hoạt động File cầu hình Ví dụ
S i m p l e
Group
Có hiệu lực trên
từng dòng trong
file
Extension.con
f
Exten=>400,1,dial(sip/40
0)
O p t i o n
inheritance
Dòng khai báo
sau thừa kế
những thông số
khai báo trước
Zapata..conf [channels]
Context=From_PSTN
Signalling=fxs_ks
Group=1
Channel=>1
C o m p l e x
Entity
Mỗi entity nhận
một ngữ cảnh
sip.conf
iax.conf
[cisco]
Type=friend
Secret=12345
Sách Asterisk – />Tác Giả Lê Quốc Toàn
51
Host=192.168.16.5
Context=NoiBo
[xten]
Type=friend
Secret=6789
Host=dynamic
Context=NoiBo
1 Simple Group
Đâ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
Đây là cấu hình kiểu thừa kế thường được cấu hình trong các file zapata.conf,
agent.conf. với kiểu cấu hình này thì các dòng phía dưới có thể thừa kế các thông số
dòng phía trên, tương ứng với mỗi section các dòng phía dưới có thể thay đổi các
thông số cho tương ứng.
Sách Asterisk – />Tá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
Sách Asterisk – />Tác Giả Lê Quốc Toàn
53
[entity1]
Op1=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$).
Sách Asterisk – />Tá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
Sách Asterisk – />Tác Giả Lê Quốc Toàn
55
Để 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
Modprode wcfxo
Ztcfg –vvvvv
Asterisk -vvvvvgc
5 Cấu hình Điện thoại IP SIP phone.
Sách Asterisk – />Tá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ụ:
Sách Asterisk – />Tác Giả Lê Quốc Toàn
57
/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
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ả client kết nối đến.