Asterisk là hệ thống chuyển mạch mềm, là phần mềm nguồn mở được viết bằng ngôn ngữ C chạy trên hệ điều hành linux thực hiện tất cả các tính năng của tổng đài PBX và hơn thế nữa.
Sách Asterisk – http://my.opera.com/asteriskvnTác Giả Lê Quốc Toàn48#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ốngAsterisk, cài đặt xong mới là bước mở đầu, để cho hệ thống Asterisk hoạt động vớitừ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à quantrọ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 ASTERISK1 GIỚI THIỆUSau khi hoàn tất phần cài đặt hệ thống asterisk, một bước quan trọng tiếp theolà 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 đầutiê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 – http://my.opera.com/asteriskvnTác Giả Lê Quốc Toàn49trong 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ìnhTất cả các file cấu hình cho hệ thống asterisk đều nằm tại thư mục /etc/asteriskngoại trừ file zaptel.conf cấu hình cho phần cứng TDM nằm tại thư mục /etc, cáchthứ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ấmphả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áncác đối tượng sau đây là một ví dụ cho file cấu hình:Extention.conf Sách Asterisk – http://my.opera.com/asteriskvnTác Giả Lê Quốc Toàn50;;Đâ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ểukhá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ìnhCó 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 eGroupCó hiệu lực trêntừng dòng trongfileExtension.confExten=>400,1,dial(sip/400)O p t i o ninheritanceDòng khai báosau thừa kếnhững thông sốkhai báo trướcZapata conf [channels]Context=From_PSTNSignalling=fxs_ksGroup=1Channel=>1C o m p l e xEntityMỗi entity nhậnmột ngữ cảnhsip.confiax.conf[cisco]Type=friendSecret=12345 Sách Asterisk – http://my.opera.com/asteriskvnTác Giả Lê Quốc Toàn51Host=192.168.16.5Context=NoiBo[xten]Type=friendSecret=6789Host=dynamicContext=NoiBo1 Simple GroupĐây là kiểu cấu hình đơn giản nhất thường sử dụng trong các fileextention.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,op3object2=> op1b,op2b,op3bTrong ví dụ trên mỗi dòng tương ứng với các toán tử khác nhau object1 có cáctoá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ácthông số cho tương ứng. Sách Asterisk – http://my.opera.com/asteriskvnTác Giả Lê Quốc Toàn52Ví dụ:Extention.conf[section]Op1=basOp2=advObject1=>1Op1=intObject1=>2Với cấu hình trên có thể giải thích như sau object1=>1 thừa hưởng hai thôngsố ở phía trên đó là op1=bas và op2=adv trong khi đó đối với object1=>2 với thôngsố op1=int được khai báo lại nên object1=>2 được thừa kế từ hai thông số op1=intvà op2=adv.3 Complex EntityVới cấu kiểu này được tổ chức thành nhiều entity, ứng với mỗi entity có nhiềuthông số được khai báo, mỗi entity ở đây chính là các section để khai báo các kênhthô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 – http://my.opera.com/asteriskvnTác Giả Lê Quốc Toàn53[entity1]Op1=value1Op2=value2[entity2]Op1=value3Op2=value4Entity1 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 choentity2.4 Cấu hình giao tiếp với mạng PSTN1 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ổngFXO 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ấuhình cho card zapata TDM01B của digium (card này hiện nay giá bán khoảng175$). Sách Asterisk – http://my.opera.com/asteriskvnTác Giả Lê Quốc Toàn54Hì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ổngPCI 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ạivà 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.confnằm trong thư mục /etc và file zapata.conf tại thư mục /etc/asterisk, cấu hình trongfile 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ấuhì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ấuHình Kết Nối Với Mạng PSTN Sách Asterisk – http://my.opera.com/asteriskvnTác Giả Lê Quốc Toàn55Để 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ạivề 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.conffxsks=1loadzone=usdefaultzone=uschannels=1/etc/asterisk/zapata.conf[channels]Group=1context=default ;cuộc gọi vào sẽ đến [default] quafile extensions.confsignalling=fxs_ks ;Sử dụng tín hiệu FXS cho kênh FXOchannel => 1 ;Đường dây điện thoại được gắn với port 1Sau khi cấu hình xong tiến hành nạp driver và nạp lại file cấu hình cho cardhoạt động như sau.Modprode zaptelModprode wcfxoZtcfg –vvvvvAsterisk -vvvvvgc5 Cấu hình Điện thoại IP SIP phone. Sách Asterisk – http://my.opera.com/asteriskvnTác Giả Lê Quốc Toàn56Trong 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 IPSIP phone, để có thông tin chi tiết hơn xin mời tham khảo chương Cấu Hình GiaoThức SIP và IAXThực hiện cấu hình trong file /etc/asterisk/sip.conf. Các máy điện thoại sẽ cấuhình trong file này trước khi quay số hay nhận cuộc gọi.1 Phần khai báo ChungTrong file sip.conf có section [general] dùng để khai báo các thông số chungcho 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ể manggiá 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 đượckhai 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àyngoạ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 – http://my.opera.com/asteriskvnTác Giả Lê Quốc Toàn57/etc/asterisk/sip.conf[general]Bindport=5060Bindaddr=0.0.0.0Context=defaultDisallow=allAllow=ulawMaxexpirey=120 Defaultexpirey=802 Khai báo kênh SIPTrong phần này sẽ khai báo các kênh sip riêng cho từng điện thoại ip sipphone, 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àyngoạ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 friendHost : Đị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. [...]... 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... trong file Extension.con f Exten=> ;40 0,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=12 345 Sách Asterisk – http://my.opera.com/asteriskvn Tác Giả Lê Quốc Tồn 64 ví dụ: /etc /asterisk/ sip.conf [8051] Type=friend Context=Tu_SIP ……………… [8052] Type=friend Context=noibo ……………… /etc /asterisk/ extention.conf [noibo] exten=>8051,1,dial(sip/8051,20) exten=>8051,2,hangup() [Tu_SIP] exten=>8052,1,dial(sip/8052,20) exten=>8052,2,hangup() Khi... cho phòng tiếp thị bán hàng. Sách Asterisk – http://my.opera.com/asteriskvn 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... Sách Asterisk – http://my.opera.com/asteriskvn 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 đã hồ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... _9xxx. Sách Asterisk – http://my.opera.com/asteriskvn Tác Giả Lê Quốc Toàn 63 CLI> show Aplications 4 Contexts - Ngữ cảnh Đầu tiên hãy hình dung như thế này, khi Cô Giáo và Sinh Viên trao đổi về môn cơ sở tin học viễn thơng có nghĩa là ngữ cảnh(context) lúc này chỉ tập trung vào lĩnh vực viễn thông mà thôi. Như vậy ngữ cảnh (context) đã được giới hạn trong một tình huống cụ thể, đối với Asterisk ở... 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 – http://my.opera.com/asteriskvn Tác Giả Lê Quốc Toàn 72 /etc /asterisk/ extention.conf [incoming] Exten=>s,1,answer() Exten=>s,2,background(LoiChao) Exten=>s,3,hangup() Exten=>1,1,playback(KyThuat) Exten=>1,2,dial(sip/8051) Exten=>2,1,playback(HanhChanh) Exten=>2,2,dial(iax2/8000) Exten=>3,1,playback(TiepThiBanHang) Exten=>3,2,dial(zap/1) ... Toàn 67 [general] Bindport=5060 Bindaddr=0.0.0.0 Context=default Disallow=all Allow=ulaw Maxexpirey=120 Defaultexpirey=80 [8051] Type=friend Secret=12 345 6 Context=NoiBo Host=dynamic Canreinvite=no [8052] Type=friend Secret=2222 Context=NoiBo Host=dynamic Canreinvite=no 2 Bước 2: Cấu hình softphone x-lite phía client cho máy 8051 Sách Asterisk – http://my.opera.com/asteriskvn Tác Giả Lê Quốc Tồ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... 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 – http://my.opera.com/asteriskvn Tác Giả Lê Quốc Tồ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ư... được sử dụng trong các file iax.conf, sip.conf. Ví dụ: Extention.conf Sách Asterisk – http://my.opera.com/asteriskvn Tá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=12 345 6 Context=NoiBo Host=dynamic [8001] Type=friend Secret=2222 Context=NoiBo Host=192.168.5.16... dụ: /etc /asterisk/ sip.conf [8051] Type=friend Context=Tu_SIP ……………… [8052] Type=friend Context=noibo ……………… /etc /asterisk/ extention.conf [noibo] exten=>8051,1,dial(sip/8051,20) exten=>8051,2,hangup() [Tu_SIP] exten=>8052,1,dial(sip/8052,20) exten=>8052,2,hangup() Khi thuê bao 8052 nhấc máy thì Asterisk chuyển cuộc gọi này đến ngữ cảnh [noibo] và chờ nhận con số quay, nếu thuê bao 8052 quay số 8051 thì số máy 8051 Sách Asterisk – http://my.opera.com/asteriskvn Tác Giả Lê Quốc . khi đi sâu hơn ở những chương sau, những gì giới thiệu Sách Asterisk – http://my.opera.com/asteriskvnTác Giả Lê Quốc Toàn49trong chương này là nền móng. đều nhắm đến mục tiêu này. 4 CẤU HÌNH HỆ THỐNG ASTERISK1 GIỚI THIỆUSau khi hoàn tất phần cài đặt hệ thống asterisk, một bước quan trọng tiếp theolà cấu