Một ví dụ khác

Một phần của tài liệu Nghiên cứu hoạt động và cách triển khai tổng đài IP PBX Asterisk (Trang 55 - 56)

Chúng ta hãy phát triển ví dụ đầu của chúng ta bằng các đưa ra thêm 2 ứng dụng nữa: background() và goto(). Điều chính yếu cho các hệ thống tương tác trên Asterisk là ứng dụng background(). Nó cho phép ta phát một tập tin âm thanh trong khi vẫn đang chờ để nhận các phím số đưa vào. Khi điều này xuất hiện, âm thanh đang phát sẽ ngưng lại và thực thi tiếp theo sẽ tuỳ thuộc vào các số được bấm.

Cú pháp câu lệnh ứng dụng background()

Một ứng dụng hữu ích khác là goto(). Như tên của nó, nó nhảy từ ngữ cảnh hiện tại qua một số nội bộ, một số ưu tiên đến một nội dung xác định, số nội bộ và một số ưu tiên khác.

Cú pháp ứng dụng goto():

exten=>extension, priority,goto(context,extension, priority)

Cú pháp hợp lệ của goto():

Goto(context,extension,priority) Goto(extension,priority)

Goto(priority)

Đây là một ví dụ của một công ty nhỏ với 3 phòng ban: kỹ thuật hỗ trợ, kinh doanh và huấn luyện. Chúng ta hãy tạo ra một hệ thống tương tác cho phép các người dùng có thể chọn phòng ban được gọi. Đầu tiên, chúng ta sẽ phát một đoạn chào hỏi giới thiệu giống như “bấm phím 1 để hỗ trợ kỹ thuật, phím 2 để huấn luyện, và phím 3 để gặp phòng kinh doanh”. Trong ví dụ này chúng ta không xử lý những trường hợp gõ số sai. Sau khi ta chọn một phòng ban, hệ thống sẽ phát một bản tin giống như “Bạn đang kết nối đến phòng ban…” và chuyển việc xử lý đến một ngữ cảnh tương ứng.

[incoming] exten=>s,1,Answer() exten=>s,2,Background(greeting) exten=>s,3,hangup() exten=>1,1,playback(support) exten=>1,2,goto(support,s,1) exten=>2,1,playback(training) exten=>2,2,goto(training,s,1) exten=>3,1,playback(sales) exten=>3,2,goto(sales,s,1)

Diễn giải từng bước:

Khi một người nào đó thực hiện cuộc gọi điện thoại đến hệ thống Asterisk thông qua card giao tiếp FXO (đã được cấu hình [incoming] trong zapata.conf), số “s” trong [incoming] đã được trigger. Số “s” trả lời cuộc gọi sử dụng ứng ụng background và phát một thông điệp chào, chờ nhận số. Nếu người sử dụng bấm số “1” thì hệ thống sẽ chuyển sang số “1” và phát một bản tin tương ứng “Bạn được chuyển đến phòng hỗ trợ kỹ thuật”. Tiếp theo, số “2” gởi đến [support] để xử lý tiếp…

Một phần của tài liệu Nghiên cứu hoạt động và cách triển khai tổng đài IP PBX Asterisk (Trang 55 - 56)