5.2.6.a. Giới thiệu
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.
5.2.6.b. 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:
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 ringallcho 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 đợimà đ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 đợimà 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 .