sách ASTERISK5 tiếng việt phần 7 potx

12 272 0
sách ASTERISK5 tiếng việt phần 7 potx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Sách Asterisk – http://my.opera.com/asteriskvn Tác Giả Lê Quốc Toàn 61 sẽ có thể có nhiều extension. Extenstion chính là hạt nhân để hệ thống xác định cuộc gọi cần thực hiện. Extenstion hoàn chỉnh gồm có các phần : exten => Name,priority,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.conf exten => 7325010,1,Dial(Zap/1,20) exten => 7325010,2,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ố. 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. 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 chữ u ở đây có nghĩa là “ 'u'navailable message”. 2 Priorities – Thứ tự thực hiện Sách Asterisk – http://my.opera.com/asteriskvn Tác Giả Lê Quốc Toàn 62 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 thứ tự số “2” được thực hiện, kể từ vertion 1.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. Ví dụ: /etc/asterisk/extention.conf exten=>8051,2,hangup() exten=>8051,1,dial(sip/8051,20) Ở ví dụ trên dòng có thứ tự “2” đứng trước dòng có thứ tự “1”, 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. Ví dụ : /etc/asterisk/extention.conf exten=>8051,n,dial(sip/8051,20) exten=>8051,n,hangup() Thứ tự thực hiện từng dòng 1 từ trên xuống dưới. 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, các ứng dụng như thực hiện quay số,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: 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 ở đâ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 đó, đ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. 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, ngữ cảnh được đặt trong dấu [] . /etc/asterisk/extention.conf [PhongKinhDoanh] exten => 7325010,1,Dial(SIP/${EXTEN}),20) exten => 7325010,2,Voicemail(u${EXTEN}) [PhongKyThuat] exten => _9.,1,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.com/asteriskvn Tác Giả Lê Quốc Toà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 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 Toàn 65 sẽ rung chuông trong vòng 20 giây, 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. 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, nếu thuê bao 8051 quay số 8052 thì số máy 8052 sẽ rung chuông trong vòng 20 giây, 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. 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. Sách Asterisk – http://my.opera.com/asteriskvn Tác Giả Lê Quốc Toàn 66 + 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. + Để giao tiếp với PSTN cần trang bị card FXO hoặc nhà cung cấp dịch vụ VoIP. 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.conf như sau: /etc/asterisk/sip.conf Sách Asterisk – http://my.opera.com/asteriskvn Tác Giả Lê Quốc 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=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 Sách Asterisk – http://my.opera.com/asteriskvn Tác Giả Lê Quốc Toàn 68 1. Chọn settings trên menu 2. Thực hiện khai báo cấu hình như sau: 3. Chọn apply hoặc ok để xác nhận thông tin. 4. 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. Sách Asterisk – http://my.opera.com/asteriskvn Tác Giả Lê Quốc Toàn 69 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, việc này được cấu hình trong file extention.conf 1 Thực hiện một ví dụ cơ bản. /etc/asterisk/extention.conf [incoming] Exten=>s,1,answer() Exten=>s,2,playback(hello_world) Exten=>s,3,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. Thứ tự Priority 2 hệ thống sẽ phát ra thông điệp thoại từ file âm thanh helloworld.gsm. Cuối cùng Priority 3 kết thúc cuộc gọi. 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], ngữ cảnh này được định nghĩa trong file cấu hình zapata.conf, các cuộc gọi vào được xử lý qua extention “s”, trong ví dụ trên có 3 priorities, ứng với mỗi priorities là một ứng dụng được gọi thực hiện. 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. (ví dụ các cuộc gọi vào từ giao tiếp FXO) Sách Asterisk – http://my.opera.com/asteriskvn Tác Giả Lê Quốc Toàn 70 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. Playback() Application ứng dụng này để phát một file âm thanh được thu sẵn. 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ỏ. cú pháp playback(Tenfile). Tên file có thể là dạng .gsm hoặc .wav, file âm thanh được lấy từ thư mục mặc định là (/var/lib/asterisk/sounds). Hangup() application ứng dụng kết thúc cuộc gọi. 2 Các ứng dụng dial(), background() và goto(). Để 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. 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, sau khi nhận con số từ phím nhấn máy điện thoại, 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. cú pháp của ứng dụng: exten=>extention,priority,background(TênFile) goto() : Là ứng dụng thực hiện nhảy từ context, extention, priority hiện hành đến context, extention, priority được chỉ định trong ứng dụng goto(). Cú pháp của ứng dụng goto(): /etc/asterisk/extention.conf exten=>extention,priority,goto(context,extention,priority) exten=>extention,priority,goto(extention,priority) exten=>extention,priority,goto(priority) [...]... hàng Tác Giả Lê Quốc Toàn 71 Sách Asterisk – http://my.opera.com/asteriskvn /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) Tác Giả Lê Quốc Toàn 72 .. .Sách Asterisk – http://my.opera.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, phòng hành chánh và phòng tiếp thị bán hàng Khi cuộc . sau: /etc/asterisk/extention.conf exten => 73 25010,1,Dial(Zap/1,20) exten => 73 25010,2,Voicemail(u7325010) exten => Tương ứng với mỗi ứng dụng thực hiện 73 25010 Con số nhận được khi thuê bao. gọi sẽ kết thúc. 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. Sách Asterisk –. đặt trong dấu [] . /etc/asterisk/extention.conf [PhongKinhDoanh] exten => 73 25010,1,Dial(SIP/${EXTEN}),20) exten => 73 25010,2,Voicemail(u${EXTEN}) [PhongKyThuat] exten => _9.,1,Dial(SIP/${EXTEN}) Ngoài

Ngày đăng: 07/08/2014, 17:21

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan