Sách Asterisk – http://my.opera.

com/asteriskvn

#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

Tác Giả Lê Quốc Toàn

48

Sách Asterisk – http://my.opera.com/asteriskvn

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

Tác Giả Lê Quốc Toàn

49

[section] Key=value [section2] Key=>object .opera.con 0) Zapata. .Sách Asterisk – http://my.conf [cisco] Type=friend Secret=12345 Ví dụ Exten=>400.dial(sip/40 S i m p l e Có hiệu lực trên Group từng dòng trong f file O p t i o n Dòng khai báo inheritance sau thừa kế những thông số khai báo trước Tác Giả Lê Quốc Toàn 50 . Gán giá trị cho đối tượng . gán giá trị cho biến 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.conf iax.1.. 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 Extension.conf [channels] Context=From_PSTN Signalling=fxs_ks Group=1 Channel=>1 C o m p l e x Mỗi entity nhận Entity một ngữ cảnh sip.com/asteriskvn .Đây là các dòng chú thích .

Sách Asterisk – http://my.op3 object2=> op1b. voicemail.168. meetme.conf.conf.conf.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 đó. op2b. Ví dụ : Extention.conf [section] object1=> op1. agent.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. Tác Giả Lê Quốc Toàn 51 . 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. op3b.op2.opera. 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.op2b.conf.16. op2. 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.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.com/asteriskvn Host=192. op3 trong khi đó object2 lại có các toán từ op1b.

Cấu hình thường được sử dụng trong các file iax. Ví dụ: Extention. mỗi entity ở đây chính là các section để khai báo các kênh thông tin.conf Tác Giả Lê Quốc Toàn 52 .opera.com/asteriskvn Ví dụ: Extention.Sách Asterisk – http://my.conf.conf. sip. 3 Complex Entity Với cấu kiểu này được tổ chức thành nhiều entity.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. ứng với mỗi entity có nhiều thông số được khai báo.

4 1 Cấu hình giao tiếp với mạng PSTN 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.opera. 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 – http://my. Tác Giả Lê Quốc Toàn 53 .com/asteriskvn [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.

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 Tác Giả Lê Quốc Toàn 54 .conf nằm trong thư mục /etc và file zapata.conf để cho kênh FXO hoạt động.opera.conf tại thư mục /etc/asterisk. 2 Lắp đặt card TDM01B và cấu hình.com/asteriskvn 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. 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. 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. cấu hình trong file zapata.Sách Asterisk – http://my. 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.

Đườ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.Sử dụng tín hiệu FXS cho kênh FXO .conf fxsks=1 loadzone=us defaultzone=us channels=1 /etc/asterisk/zapata.cuộc gọi vào sẽ đến [default] qua file extensions.conf.conf signalling=fxs_ks channel => 1 .conf [channels] Group=1 context=default .com/asteriskvn Để 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.old /etc/asterisk/zapata. Modprode zaptel Modprode wcfxo Ztcfg –vvvvv Asterisk -vvvvvgc 5 Cấu hình Điện thoại IP SIP phone.opera.old #cp /etc/asterisk/zapata.conf /etc/zaptel.Sách Asterisk – http://my. Tác Giả Lê Quốc Toàn 55 .conf /etc/zaptel.conf.

conf. Ví dụ: Tác Giả Lê Quốc Toàn 56 . 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. Sau đây là các thông số chính: Allow/disallow: Định nghĩa sử dụng các codec. Defaultexpirey: Thời gian mặc định để đăng ký.0.com/asteriskvn 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. Bindport: Cổng SIP UDP mà client cần kết nối đến.0 cho phép tất cả các địa chỉ IP có thể kết nối đến kênh này. Bindaddr: Địa chỉ IP mà client kết nối đến kênh 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 đó. đơn vị tính bằng giây. Register: Để kết nối giao tiếp với server khác. đơn vị tính bằng giâ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. 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. để 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.opera. Maxexpirey: Thời gian tối đa để đăng ký.0. nếu thông số này được khai báo là 0.Sách Asterisk – http://my.

0.com/asteriskvn /etc/asterisk/sip.conf [general] Bindport=5060 Bindaddr=0. 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.opera. 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.Sách Asterisk – http://my.0. Tác Giả Lê Quốc Toàn 57 . 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. Type: Kiểu kết nối thông tin user.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.

Ví dụ: /etc/asterisk/sip.Sách Asterisk – http://my.com/asteriskvn Secret : mật khẩu để sử dụng kênh này.5.opera.conf [8000] Type=friend Secret=123456 Context=NoiBo Host=dynamic [8001] Type=friend Secret=2222 Context=NoiBo Host=192. 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. Dialplan cho biết các cuộc gọi sẽ được xử lý như thế nào qua hệ thống asterisk.16 6 Giới Thiệu DialPlan Dialplan là trái tim của hệ thống asterisk. Để 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 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. 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. đó 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.168. Khác biệt Tác Giả Lê Quốc Toàn 58 .

com/asteriskvn vớ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. Dialplan được cấu hình qua tập tin extension. để hiểu sâu hơn về dialplan xin mời tham khảo hai chương Dialplan. 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.conf rỗ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?.Sách Asterisk – http://my. 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 hiện như _9xxx. 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. Tác Giả Lê Quốc Toàn 59 .conf.opera. 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. 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. 1 Extentions Dialplan là một tập gồm nhiều extention.

hangup() “exten=>” giống nhau cho mỗi dòng thực hiện trong dialplan.conf exten=>8051. đượ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. 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.opera. Trong mỗi ngữ cảnh Tác Giả Lê Quốc Toàn 60 .2. 8051 là số điện thoại mà thuê bao quay hay là extention.20) exten=>8051. Ví dụ : /etc/asterisk/extention.Sách Asterisk – http://my.com/asteriskvn Các dạng của extention. 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.1. Extension là thành phần mà asterisk thực hiện theo.dial(sip/8051.

1. 2 là các “priority” thứ tự được thực hiện 1 rồi tới 2… Trong ví dụ của chúng ta con số 7325010 sẽ được gửi đến kênh zap/1 rung chuông tối đa 20 giây.Sách Asterisk – http://my.Voicemail(u7325010) exten => Tương ứng với mỗi ứng dụng thực hiện 7325010 Con số nhận được khi thuê bao chủ gọi quay số.application( ) Name (Tên ký tự hoặc con số) của extension Priority (Mỗi extension có thể bao gồm nhiều bước mỗi bước được gọi là “priority”) Application (or command) Thực hiện một ứng dụng cụ thể nào đó cho cuộc gọi Một ví dụ cụ thể như sau: /etc/asterisk/extention. chữ u ở đây có nghĩa là “ 'u'navailable 2 Priorities – Thứ tự thực hiện Tác Giả Lê Quốc Toàn 61 .conf exten => 7325010.com/asteriskvn sẽ có thể có nhiều extension. Extenstion hoàn chỉnh gồm có các phần : exten => Name.opera.20) exten => 7325010.priority. Nếu sau 20 giây không trả lời thì cuộc gọi sẽ được định hướng đến hộp thư thoại u7325010 message”.1.2. Extenstion chính là hạt nhân để hệ thống xác định cuộc gọi cần thực hiện.Dial(Zap/1.

com/asteriskvn Priorities là thứ tự thực hiện các ứng dụng trong dialplan.n. Ví dụ: /etc/asterisk/extention.n.Sách Asterisk – http://my.1.conf exten=>8051.hangup() exten=>8051.2.hangup() Thứ tự thực hiện từng dòng 1 từ trên xuống dưới. khi thứ tự “1” được thực hiện thì kế tiếp là ứng dụng tại thứ tự số “2” được thực hiện. 3 Aplications – Các hàm ứng dụng Đây là phần quan trọng trong diaplan tức là ứng dụng nào sẽ được thực hiện trên mỗi dòng.opera.dial(sip/8051.trả lời cuộc gọi hay đơn giản là nhấc gác máy để biết thêm thông tin về các ứng dụng cũng như các thông số kèm theo thì hãy dùng lệnh show Aplications trên giao tiếp dòng lệnh của asterisk: Tác Giả Lê Quốc Toàn 62 . các ứng dụng như thực hiện quay số. Ví dụ : /etc/asterisk/extention.2 của Asterisk thay vì sử dụng gán một con số cụ thể cho thứ tự thực hiện như trên thì ở đây có 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ẽ thực hiện.20) Ở ví dụ trên dòng có thứ tự “2” đứng trước dòng có thứ tự “1”.conf exten=>8051. nhưng khi thực hiện diaplan thì dòng có thứ tự Priorities “1” ưu tiên thực hiện trước bất kể thứ tự sắp xếp như thế nào.dial(sip/8051.20) exten=>8051. kể từ vertion 1.

1.. Như vậy ngữ cảnh (context) đã được giới hạn trong một tình huống cụ thể.Dial(SIP/${EXTEN}).20) exten => 7325010.com/asteriskvn CLI> show Aplications 4 Contexts .Dial(SIP/${EXTEN}) Ngoài ta đối với việc cấu hình cho các kênh thoại thì ngữ cảnh ở đây là việc xử lý các cuộc gọi tương ứng với kênh đó qua kế hoạch diaplan.Sách Asterisk – http://my.opera. /etc/asterisk/extention.Voicemail(u${EXTEN}) [PhongKyThuat] exten => _9.1. Ví dụ khi gọi đến tổng đài Asterisk có một thông điệp thông báo như sau “Chào mừng các Bạn gọi đến công ty chúng tôi hãy nhấn phím 1 để gặp phòng kinh doanh phím 2 gặp phòng kỹ thuật…” khi người gọi chọn phím 1 thì hệ thống sẽ chuyển đến một ngữ cảnh (context) là [PhongKinhDoanh] khi người gọi nhấn phím 2 thì hệ thống sẽ định hướng cuộc gọi qua ngữ cảnh (context) [PhongKyThuat] như vậy ứng với mỗi trường hợp hệ thống sẽ có ngữ cảnh khác nhau. điều này rõ ràng rằng trong hệ thống sẽ có rất nhiều ngữ cảnh(context) khác nhau. Tác Giả Lê Quốc Toàn 63 .conf [PhongKinhDoanh] exten => 7325010. 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.Ngữ cảnh Đầu tiên hãy hình dung như thế này.2. ngữ cảnh được đặt trong dấu [] . đối với Asterisk ở đây cũng thế khi nói đến ngữ cảnh (context) thì thường quan tâm đến trường hợp cụ thể nào đó.

1.dial(sip/8052.com/asteriskvn ví dụ: /etc/asterisk/sip.Sách Asterisk – http://my.2.20) exten=>8052. nếu thuê bao 8052 quay số 8051 thì số máy 8051 Tác Giả Lê Quốc Toàn 64 .conf [8051] Type=friend Context=Tu_SIP ……………… [8052] Type=friend Context=noibo ……………… /etc/asterisk/extention.opera.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.dial(sip/8051.20) exten=>8051.2.hangup() [Tu_SIP] exten=>8052.1.conf [noibo] exten=>8051.

com/asteriskvn sẽ rung chuông trong vòng 20 giây. Khi thuê bao 8051 nhấc máy thì Asterisk chuyển cuộc gọi này đến ngữ cảnh [Tu_SIP] và chờ nhận con số quay.opera. nếu thuê bao 8051 quay số 8052 thì số máy 8052 sẽ rung chuông trong vòng 20 giây. Tác Giả Lê Quốc Toàn 65 .Sách Asterisk – http://my. 7 Ngữ cảnh thực hành ứng dụng Hình Ngữ cảnh thực hành ứng dụng Trong phần thực hành này chúng ta cần trang bị những thiết bị sau: + Máy tính server asterisk. nếu qua 20 giây mà thuê bao 8051 không nhấc máy thì cuộc gọi sẽ kết thúc. nếu qua 20 giây mà thuê bao 8052 không nhấc máy thì cuộc gọi sẽ kết thúc.

+ Để giao tiếp với PSTN cần trang bị card FXO hoặc nhà cung cấp dịch vụ VoIP.conf Tác Giả Lê Quốc Toàn 66 .opera.conf như sau: /etc/asterisk/sip. 1 Bước 1: Cấu hình cho hai sip phone X-lite 8051 và 8052 bằng cách cấu hình trên file sip.com/asteriskvn + Hai máy tính client cài đặt hai softphone X-lite nối mạng với máy tính server asterisk.Sách Asterisk – http://my.

com/asteriskvn [general] Bindport=5060 Bindaddr=0.opera.0.0 Context=default Disallow=all Allow=ulaw Maxexpirey=120 Defaultexpirey=80 [8051] Type=friend Secret=123456 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 Tác Giả Lê Quốc Toàn 67 .0.Sách Asterisk – http://my.

Chọn apply hoặc ok để xác nhận thông tin. Thực hiện khai báo cấu hình như sau: 3. Chọn settings trên menu 2.opera. Tác Giả Lê Quốc Toàn 68 . 4.Sách Asterisk – http://my. Tại đây softphone có thể kết nối với server asterisk 3 Bước 3 : Lập lại bước hai để khai báo máy điện thoại softphone 8052 8 Tạo diaplan.com/asteriskvn 1.

Extention “s” là một extention đặc biệt thực hiện xử lý các cuộc gọi vào khi con số được quay của thuê bao đến hệ thống asterisk là không biết trước. trong ví dụ trên có 3 priorities. Giải thích đoạn lệnh trên: Một cuộc gọi nhận từ cổng giao tiếp FXO được gửi đến ngữ cảnh [incoming]. các cuộc gọi vào được xử lý qua extention “s”. /etc/asterisk/extention. ứng với mỗi priorities là một ứng dụng được gọi thực hiện.com/asteriskvn Bây giờ tới phần để cho các máy điện thoại đã khai báo trên có thể thực hiện các cuộc gọi với nhau thì chúng ta tiến hành thực hiện dialplan.playback(hello_world) Exten=>s.conf [incoming] Exten=>s. Cuối cùng Priority 3 kết thúc cuộc gọi. ngữ cảnh này được định nghĩa trong file cấu hình zapata.opera.1.conf. Thứ tự Priority 2 hệ thống sẽ phát ra thông điệp thoại từ file âm thanh helloworld.Sách Asterisk – http://my.conf 1 Thực hiện một ví dụ cơ bản.3. việc này được cấu hình trong file extention.2. (ví dụ các cuộc gọi vào từ giao tiếp FXO) Tác Giả Lê Quốc Toàn 69 .gsm.answer() Exten=>s.hangup() Thứ tự Priority 1 thực hiện ứng dụng trả lời cuộc gọi cho tất cả các cuộc gọi đến sau đó chuyển qua thứ tự Priority kế tiếp.

2 Các ứng dụng dial().priority. cú pháp playback(Tenfile). priority hiện hành đến context. asterisk sẽ ngắt phát thông điệp và xử lý chuyển đến số thứ tự priority tương ứng với con số nhận được.priority) exten=>extention.goto(context.priority) exten=>extention.opera. extention. Playback() Application ứng dụng này để phát một file âm thanh được thu sẵn.goto(priority) Tác Giả Lê Quốc Toàn 70 . Cú pháp của ứng dụng goto(): /etc/asterisk/extention. background() và goto().goto(extention. Background() : Ứng dụng này thực hiện phát một file âm thanh và chờ nhận con số từ phím nhấn của máy điện thoại.Sách Asterisk – http://my. Hangup() application ứng dụng kết thúc cuộc gọi. sau khi nhận con số từ phím nhấn máy điện thoại. priority được chỉ định trong ứng dụng goto().priority. Khi ứng dụng playback() thực thi thì tất cả các con số được gửi đến từ điện thoại ấn phím đều bị loại bỏ.com/asteriskvn Answer() Application thực hiện trả lời cuộc gọi trong trạng thái cuộc gọi đang rung chuông hoặc một số ứng dụng trả lời cuộc gọi trước khi xử lý cuộc gọi.conf exten=>extention.gsm hoặc . Để thực hiện dialplan thêm phần uyển chuyển hơn xin giới thiệu thêm 3 ứng dụng cơ bản nữa trong thực hiện dialplan. cú pháp của ứng dụng: exten=>extention.wav.background(TênFile) goto() : Là ứng dụng thực hiện nhảy từ context.priority.extention. Tên file có thể là dạng .priority. extention. file âm thanh được lấy từ thư mục mặc định là (/var/lib/asterisk/sounds).

1) Exten=>2.playback(HanhChanh) Exten=>2.com/asteriskvn Sau đây là một đoạn lệnh minh họa cho ứng dụng của một công ty gồm 3 phòng ban đó là phòng kỹ thuật.2.hangup() Exten=>1. phòng hành chánh và phòng tiếp thị bán hàng.conf [incoming] Exten=>s.2. thay vì chuyển đến ngữ cảnh tương ứng thì thực hiện quay trực tiếp đến số điện thoại của phòng ban đó.playback(KyThuat) Exten=>1. phím 2 đến phòng hành chánh và phím 3 đến phòng tiếp thị bán hàng” sau khi người gọi nhấn phím tương ứng với 1.s. /etc/asterisk/extention.goto(kythuat.1.Sách Asterisk – http://my. Thông điệp “Chào mừng gọi đến công ty ABC của chúng tôi mời nhấn phím 1 để chuyển đến phòng Kỹ thuật.opera.1. Tác Giả Lê Quốc Toàn 71 .2. Khi cuộc gọi đến công ty thì hệ thống asterisk sẽ phát thông điệp mời nhấn số để chọn phòng ban cần liên lạc.3 thì sẽ được thông báo và chuyển đến phòng ban tương ứng.goto(HanhChanh.2.2.1) Exten=>3.goto(TiepThiBanHang.1.background(LoiChao) Exten=>s.playback(TiepThiBanHang) Exten=>3.s. iax2/8000 cho phòng Hành Chánh và gọi đến zap/1 cho phòng tiếp thị bán hàng. để minh họa cho ứng dụng dial() chúng ta cải thiện đoạn dialplan trên.s.answer() Exten=>s. Ví dụ thực hiện quay số SIP/8051 cho phòng kỹ thuật.1.3.1) Dial() : Ứng dụng thực hiện quay số điện thoại.

1.Sách Asterisk – http://my.playback(TiepThiBanHang) Exten=>3.2.1.opera.2.2.1.conf [incoming] Exten=>s.com/asteriskvn /etc/asterisk/extention.dial(zap/1) Tác Giả Lê Quốc Toàn 72 .3.playback(KyThuat) Exten=>1.dial(sip/8051) Exten=>2.2.1.answer() Exten=>s.background(LoiChao) Exten=>s.playback(HanhChanh) Exten=>2.hangup() Exten=>1.dial(iax2/8000) Exten=>3.

Sign up to vote on this title
UsefulNot useful