# اولویت‌بندی داخلی‌ها در صف تماس در Asterisk با استفاده از Penalty

**URL:** <https://forum.mysup.ir/t/topic/449>\
**Category:** استریسک\
**Tags:** voip, asterisk, داخلی\
**Created:** [مارس 11، 2025، 8:47ق.ظ UTC](https://forum.mysup.ir/t/topic/449 "2025-03-11T08:47:20Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![kadkhodazade](https://forum.mysup.ir/user_avatar/forum.mysup.ir/kadkhodazade/32/1011_2.png) [@kadkhodazade](https://forum.mysup.ir/u/kadkhodazade)\
**Post date:** [مارس 11، 2025، 8:47ق.ظ UTC](https://forum.mysup.ir/t/topic/449/1 "2025-03-11T08:47:20Z")

</div>

سلام دوستان،

می‌خواهیم در **Asterisk** چند داخلی رو داخل **صف (Queue)** قرار بدم و اولویت پاسخگویی رو مشخص کنم که ابتدا تماس به داخلی‌های مهم‌تر وصل بشه. بهترین راه برای این کار استفاده از **Penalty** در تنظیمات صف هست.

### **مراحل انجام کار**

#### **۱. ویرایش `queues.conf` و تعریف صف**

ابتدا فایل `queues.conf` رو باز کنید:

`nano /etc/asterisk/queues.conf`

حالا یک صف با تنظیمات زیر ایجاد کنید:

```auto

[support]
musicclass = default
strategy = rrmemory
timeout = 15
retry = 5
wrapuptime = 10
maxlen = 0
joinempty = yes
leavewhenempty = no
ringinuse = no

member = Local/1001@from-internal,penalty=1
member = Local/1002@from-internal,penalty=2
member = Local/1003@from-internal,penalty=3

```

در مرکز تماس سیموتل سه خط آخر متن بالا را در قسمت more options صف باید وارد نمایید و تمام تظیمات صف در سیموتل در قسمت ویرایش صف است و نیاز به مراجعه به queues.conf نیست.

در این مثال:

- **`1001` با `penalty=1`** اولین اولویت را دارد و تماس ابتدا به این داخلی متصل می‌شود.
- **`1002` با `penalty=2`** اگر `1001` مشغول یا در دسترس نباشد، زنگ می‌خورد.
- **`1003` با `penalty=3`** در نهایت اگر دو داخلی اول پاسخ ندادند، تماس به این داخلی می‌رسد.

#### **۲. ذخیره و بارگذاری مجدد تنظیمات**

بعد از ذخیره فایل، دستور زیر رو برای اعمال تغییرات اجرا کنید:

`asterisk -rx "queue reload all"`

#### **۳. بررسی وضعیت صف**

برای مشاهده وضعیت صف و داخلی‌های متصل، از این دستور استفاده کنید:

`asterisk -rx "queue show support"`

### **توضیحات اضافی:**

- کانتکست **from-internal** یک کانتکست تستی است و باید کانتکست استفاده شده در مرکز تماستان برای تماس با داخلی را استفاده نمایید.
- **پارامتر Penalty** : مقدار **penalty** از 1 شروع می‌شود و هرچقدر مقدار بیشتری داشته باشد، اولویت کمتری خواهد داشت.
- **`strategy=rrmemory`** : استراتژی یادآوری ترتیب اعضای صف به صورت داینامیک است. تماس‌ها را به ترتیب داخلی‌های لیست‌شده می‌فرستد، اما **اولین داخلی آزاد را انتخاب می‌کند** و ترتیب را برای تماس بعدی **به خاطر می‌سپارد**.
- **strategy** تماس های صف می تواند **linear** هم باشد.این استراتژی تماس‌ها را **همیشه به همان ترتیب لیست‌شده** ارسال می‌کند، بدون توجه به وضعیت داخلی‌ها.
- **`wrapuptime`** : زمانی که هر داخلی بعد از اتمام تماس، برای شروع تماس جدید باید منتظر بماند.
