Hàng đợi (Queue)

Một phần của tài liệu xây dựng trung tâm quà tặng âm nhạc trên nền asterisk (Trang 75 - 77)

Hàng đợi tạo ra một chỗ logic để xếp các caller vào cho đến khi chúng ta sẵn sàng trả lời cuộc gọi.Hàng đợi là một cung cụ rất mềm dẻo và mạnh mẽ cho các hệ thống dịch vụ khách hàng.

Cấu hình:

Tất cả các cấu hình liên quan đến hàng đợi, nằm trong tập tin

/etc/astersik/queues.conf. Để định nghĩa một hàng đợi, chúng ta bắt đầu bằng tên hàng đợi, đƣợc đặt trong dấu ngoặc vuông “[]”.Đây cũng là số để các extension khác có thể truy cập vào queue thông qua số này.Do đó tốt nhất nên đặt tên hàng đợi dƣới dạng số .Ví dụ: [1000].

Sau đó chúng ta phải thiết lập các tham số cho hàng đợi.Đầu tiên là nhạc chờ trong hàng đợi, chúng ta sẽ chỉ ra class chứa những tập tin âm thanh đã upload lên hệ thống (nhƣ mô tả trong phần Music On Hold):

music = music_class

Tiếp theo chúng ta định nghĩa một thông báo, nếu nhƣ chúng ta muốn.Điều này giúp phát một tập tin âm thanh thông báo đến các điện thoại viên (agent) khi anh ta (cô ta ) trả lời cuộc gọi đến từ hàng đợi. Chức năng này sẽ hữu ích nếu chúng ta có các agent trả lời nhiều hàng đợi, nó sẽ giúp thông báo cho agent biết cuộc gọi này đi từ hàng đợi nào tới . Nếu muốn dùng, phải chắc chắn rằng chúng ta có tập tin âm thanh: /var/lib/asterisk/sounds/<ten_file>.<extension>.Thiết lập chức năng này bằng câu lệnh:

Chương III : Các mô hình ứng dụng và cấu hình hoạt động cho Asterisk

announce= <tên_file>

Bây giờ chúng ta cần cấu hình qui luật đổ chuông cho các agent trong hàng đợi . Chúng ta nên quyết định điều này dựa vào đặc thù của công việc mà hàng đợi đó phải làm.Ví dụ nếu thiết lập chức năng ringall cho hàng đợi, ta dùng:

strategy = ringall

Khi đó,nếu một cuộc gọi đƣợc vào hàng đợi, tất cả các điện thoại của các agent trong hàng đợi mà đang rỗi đều đổ chuông và sẵn sàng nhận cuộc gọi .

Tiếp theo chúng ta thiết lập timeout. Đây là thời lƣợng mà mỗi cuộc gọi sẽ đổ chông trƣớc khi hàng đợi xem xét cuộc gọi không đƣợc trả lời .Chúng ta nên thiết lập thời gian này đủ lớn để các agent đủ thời gian nhấc máy và trả lời điện thoại .Giá trị thƣờng dùng là 15ms :

timeout=15

Bây giờ chúng ta thiết lập thời gian đợi trƣớc khi bắt đầu thử lại sau khi đổ chuông hết tất cả các extension trong hàng đợi mà không đƣợc trả lời .Giá trị thƣờng dùng là 0.

retry=0

Tiếp theo chúng ta thiết lập giới hạn bao nhiêu cuộc gọi đƣợc xếp vào hàng đợi.Nếu chúng ta muốn cho phép mọi cuộc gọi đều vào hàng đợi, thì thiết lập giá trị 0:

maxlen=0

Cuối cùng, chúng ta định nghĩa các thành viên trong hàng đợi.Đơn giản chúng ta chỉ cần thêm các dòng lệnh theo định dạng nhƣ sau:

member => agent/extension_number member => agent/extension_number

Trong đó, extension_number là các số của agent mà ta đã định nghĩa trong tập tin agents.conf

Và cứ nhƣ thế ta tiếp tục địng nghĩa các hàng đợi khác với các tham số phù hợp để đáp ứng nhu cầu đề ra . Số lƣợng hàng đợi chúng ta định nghĩa có thể là không giới hạn, chỉ phụ thộc vào nguồn tài nguyên của server .

Chương IV : Xây dựng trung tâm quà tặng âm nhạc trên nền Asterisk

Chương IV

XÂY DỰNG TRUNG TÂM QUÀ TẶNG ÂM NHẠC TRÊN NỀN ASTERISK

Một phần của tài liệu xây dựng trung tâm quà tặng âm nhạc trên nền asterisk (Trang 75 - 77)