سلام و وقت بخیر.
برای این کار، بهجز روش کدنویسی و تغییر Dialplan که نیاز به دانش تخصصی Asterisk دارد، میتوانید از ماژول Class of Service (CoS) در ایزابل استفاده کنید.
اصلاً هدف اصلی این ماژول همین است که بتوانیم کاربران و داخلیها را بر اساس سطح دسترسی موردنیاز، گروهبندی کنیم و مشخص کنیم هر گروه به چه مقصدهایی اجازه تماس داشته باشد و با چه محدودیتهایی کار کند.
برای مثال، فرض کنید در یک مجموعه سه گروه داخلی داریم:
- گروه مدیریت: امکان تماس با تمام داخلیها و شمارههای خارج از سازمان را داشته باشد.
- گروه کارمندان: امکان تماس با داخلیهای عمومی و شمارههای شهری را داشته باشد، اما به بعضی داخلیهای خاص دسترسی نداشته باشد.
- گروه محدود: فقط بتواند با داخلیهای مشخصی تماس بگیرد و امکان برقراری تماس با سایر داخلیها را نداشته باشد.
با تعریف صحیح گروهها و تنظیم قوانین دسترسی در Class of Service میتوانیم چنین ساختاری را پیادهسازی کنیم.
پیشنهاد من قبل از شروع کار
بهتر است قبل از اعمال تنظیمات، ابتدا ساختار دسترسیها را روی کاغذ مشخص کنید؛ یعنی معلوم باشد چه گروههایی داریم، هر داخلی عضو کدام گروه است و هر گروه اجازه تماس با چه داخلیهایی را دارد.
بعد از مشخصشدن این ساختار، گروهها و قوانین مربوط به آنها را در ماژول Class of Service تعریف کنید و داخلیها را در گروه مناسب قرار دهید.
نکته مهم: اگر هدف شما این است که مثلاً داخلی ۱۰۱ نتواند با داخلی ۱۰۲ تماس بگیرد، ولی سایر داخلیها همچنان بتوانند با ۱۰۲ تماس داشته باشند، باید قوانین را متناسب با همین سناریو طراحی کنید. صرفاً ایجاد گروههای مختلف کافی نیست و باید مطمئن شوید قوانین دسترسی، تماسهای داخلی موردنظر را نیز پوشش میدهند.
از طرف دیگر، اگر میخواهید یک داخلی مشخص اصلاً هیچ تماس ورودی از سایر داخلیها دریافت نکند، باید این سناریو را دقیقتر بررسی کنیم؛ چون محدودسازی تماس خروجی یک داخلی با مسدودکردن تماس ورودی به آن، دو موضوع متفاوت هستند.
در مجموع، برای مدیریت متمرکز دسترسی تماسها در Issabel 5، پیشنهاد میکنم ابتدا ماژول Class of Service را بررسی کنید. این روش در مقایسه با تغییر مستقیم Dialplan، برای سناریوهایی که ماژول بهخوبی پوشش میدهد، مدیریت سادهتری دارد و در صورت افزایش تعداد داخلیها نیز میتوان ساختار دسترسیها را منظمتر نگه داشت.