مقدمه
یکی از امکانات قدرتمند استریسک، ماژول Queue یا صف تماس است که به شما اجازه میدهد تماسهای ورودی را بین چند اپراتور توزیع کنید. این قابلیت برای مراکز تماس (Call Center) و شرکتهای پرترافیک بسیار کاربردی است.
نحوه تعریف صف تماس در Asterisk
۱. تعریف صف در فایل queues.conf
مسیر فایل:
/etc/asterisk/queues.conf
مثال:
[sales-queue]
musicclass = default
strategy = ringall
timeout = ۱۵
retry = ۵
maxlen = ۰
announce-frequency = ۳۰
announce-holdtime = yes
member => SIP/۱۰۰۱
member => SIP/۱۰۰۲
۲. ارسال تماس به صف در Dialplan
[voipiran]
exten => 5000,1,Answer()
same => n,Queue(sales-queue)
same => n,Hangup()
۱۰ گزینه مهم در صف تماس با مثال
-
strategy – روش توزیع تماس (ringall, leastrecent, random, …)
-
timeout – مدتزمان زنگ خوردن هر اپراتور (برحسب ثانیه)
-
retry – مدتزمان انتظار برای تلاش مجدد تماس
-
maxlen – حداکثر تعداد تماسهای منتظر در صف
-
announce-frequency – فاصله زمانی اعلام پیام صف
-
announce-holdtime – اعلام زمان تقریبی انتظار به تماسگیرنده
-
musicclass – انتخاب موسیقی انتظار
-
joinempty – آیا تماسگیرنده بتواند وارد صف شود حتی اگر اپراتوری نباشد؟
-
leavewhenempty – تماسگیرنده در نبود اپراتور از صف خارج شود یا خیر؟
-
eventmemberstatus – ارسال وضعیت اپراتور به AMI برای مانیتورینگ
مثال واقعی استفاده از صف در ایزابل
در ایزابل اگر صفی به شماره ۶۰۰۰ ساخته شده باشد و بخواهیم از یک داخلی کاربر را به آن صف هدایت کنیم، میتوانیم از این مسیر در Dialplan استفاده کنیم:
[voipiran]
exten => 7000,1,Goto(from-internal-additional,6000,1)