٪85 تخفیف

دانلود کتاب آموزشی Issabel 101: Introduction to Issabel جلد اول

دسته‌بندی: برچسب: تاریخ به روز رسانی: 6 دی 1404 تعداد بازدید: 541 بازدید

دوره 100% عملی و کاربردی تدریس شده

پشتیبانی واتساپ

قیمت اصلی: ۲,۰۰۰,۰۰۰ تومان بود.قیمت فعلی: ۳۰۰,۰۰۰ تومان.

torobpay
هر قسط با ترب‌پی: ۷۵,۰۰۰ تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.

دوره Issabel 101: Introduction to Issabel برای آشنایی با اصول پایه‌ای و قابلیت‌های سیستم Issabel طراحی شده است. این دوره به کاربران جدید کمک می‌کند تا مهارت‌های اولیه نصب، پیکربندی و مدیریت سیستم‌های تلفنی و VoIP را کسب کنند. سرفصل‌های این دوره ممکن است شامل موارد زیر باشد:


بخش 1. آشنایی با Issabel

 

فصل 1. Issabel چیست؟

  • معرفی Issabel به‌عنوان یک سیستم مدیریت ارتباطات و تلفن مبتنی بر VoIP
  • توضیح اینکه Issabel به‌عنوان یک پلتفرم ارتباطی مبتنی بر Asterisk است
  • بررسی ویژگی‌های منحصر به فرد Issabel در مقایسه با سایر سیستم‌های PBX

فصل 2. تاریخچه Issabel

  • تاریخچه پیدایش Issabel و توسعه آن
  • بررسی روند تکامل Issabel از نسخه‌های اولیه تا نسخه‌های کنونی
  • اشاره به جامعه توسعه‌دهندگان و مشارکت‌های آن‌ها در پروژه Issabel

فصل 3. ویژگی‌های اصلی Issabel

  • رابط کاربری گرافیکی (GUI) و قابلیت‌های مدیریت از راه دور
  • پشتیبانی از پروتکل‌های VoIP (SIP، IAX)
  • امکانات برای مدیریت تماس‌ها، گزارش‌گیری و نظارت بر کیفیت خدمات
  • قابلیت یکپارچگی با دیگر سیستم‌ها (CRM، نرم‌افزارهای تماس، سیستم‌های ایمیل و FAX)
  • امنیت سیستم و قابلیت پشتیبان‌گیری

فصل 4. تفاوت Issabel با Asterisk

  • شرح تفاوت‌های کلیدی بین Issabel و Asterisk (Issabel به‌عنوان یک رابط گرافیکی برای Asterisk)
  • معرفی قابلیت‌های گرافیکی Issabel در مقابل تنظیمات خط فرمان در Asterisk
  • بررسی مزایای استفاده از Issabel برای کاربران مبتدی و محیط‌های تجاری کوچک و متوسط

فصل 5. کاربردهای Issabel در مراکز تماس و سیستم‌های VoIP

  • استفاده از Issabel در راه‌اندازی و مدیریت سیستم‌های VoIP
  • پیاده‌سازی Issabel در مراکز تماس و سازمان‌ها
  • بررسی ویژگی‌های Issabel برای مدیریت تماس‌های ورودی و خروجی، مسیردهی، و گروه‌های تماس
  • استفاده از Issabel برای تسهیل ارتباطات داخلی سازمان‌ها و بهبود کیفیت خدمات

فصل 6. مزایای استفاده از Issabel

  • هزینه‌های پایین‌تر در مقایسه با سیستم‌های سنتی PBX
  • انعطاف‌پذیری در پیکربندی و یکپارچگی با سیستم‌های دیگر
  • توانایی گسترش به سیستم‌های بزرگ‌تر و پشتیبانی از تعداد زیادی کاربر
  • پشتیبانی از فناوری‌های پیشرفته مثل تماس صوتی و تصویری، فکس و ایمیل

فصل 7. چالش‌ها و محدودیت‌های Issabel

  • محدودیت‌ها در برخی قابلیت‌ها نسبت به سیستم‌های اختصاصی و تجاری
  • مشکلات امنیتی ممکن در صورت پیکربندی نادرست
  • نیاز به آشنایی با تنظیمات فنی Asterisk برای کار با برخی از ویژگی‌ها

2. نصب و راه‌اندازی Issabel

 

فصل 1. الزامات سخت‌افزاری و نرم‌افزاری

  • حداقل الزامات سخت‌افزاری برای نصب Issabel (پردازنده، حافظه، فضای ذخیره‌سازی)
  • الزامات نرم‌افزاری (نسخه‌های پشتیبانی‌شده از سیستم‌عامل‌ها)
  • انتخاب سرور فیزیکی یا استفاده از ماشین مجازی
  • تهیه نسخه‌های پشتیبان از داده‌ها قبل از نصب (در صورت نصب روی سیستم‌های موجود)

فصل 2. نصب سیستم‌عامل پایه (CentOS یا مشابه)

  • دانلود نسخه مناسب سیستم‌عامل (CentOS 7/8 یا دیگر توزیع‌های مناسب)
  • مراحل نصب سیستم‌عامل بر روی سرور یا ماشین مجازی
  • پیکربندی اولیه سیستم‌عامل (IP ثابت، DNS و Gateway)
  • به‌روزرسانی و نصب پکیج‌های ضروری (بسته‌های ضروری برای نصب Issabel)

فصل 3. نصب Issabel

  • دانلود نسخه مناسب Issabel از سایت رسمی
  • نصب از طریق دستورهای خط فرمان یا با استفاده از اسکریپت‌های نصب
  • بررسی پیش‌نیازها و وابستگی‌های نصب (نصب نرم‌افزارهای وابسته مانند Asterisk)
  • راه‌اندازی خودکار پس از نصب Issabel و بررسی وضعیت نصب

فصل 4. پیکربندی تنظیمات اولیه پس از نصب

  • ورود به رابط کاربری گرافیکی Issabel
  • تنظیمات اولیه مانند زبان، منطقه زمانی و تنظیمات امنیتی
  • پیکربندی تنظیمات شبکه (IP Address، DNS و Gateway)
  • تنظیمات فایروال و باز کردن پورت‌های مورد نیاز (SIP، IAX، HTTP، HTTPS)

فصل 5. آشنایی با رابط کاربری گرافیکی (GUI) Issabel

  • بررسی اجزای مختلف رابط کاربری Issabel
  • آموزش کار با منوها و ابزارهای مدیریتی
  • نحوه دسترسی به بخش‌های مختلف مانند Extensions، Trunks، Reports و Call Center

فصل 6. پیکربندی اتصال به شبکه

  • تنظیمات اولیه اتصال به شبکه داخلی یا اینترنت
  • بررسی مشکلات اتصال شبکه و عیب‌یابی (Ping، Traceroute)
  • استفاده از DHCP یا Static IP در پیکربندی شبکه

فصل 7. پیکربندی دسترسی‌های کاربران و امنیت

  • ایجاد و مدیریت حساب‌های کاربری مختلف برای مدیریت سیستم
  • تنظیمات دسترسی برای کاربران مختلف با استفاده از سطوح دسترسی
  • پیکربندی امنیتی اولیه مانند تنظیمات فایروال و دسترسی به منابع سیستم
  • فعال‌سازی و پیکربندی SSH برای دسترسی از راه دور (در صورت نیاز)

فصل 8. آماده‌سازی برای نصب افزونه‌ها و ماژول‌های اضافی

  • نصب و پیکربندی ماژول‌های پیش‌فرض Issabel (مانند Call Center، Voicemail، IVR)
  • نصب ماژول‌های اضافی مانند Email، FAX و غیره
  • بررسی و نصب به‌روزرسانی‌های امنیتی و سیستم

فصل 9. عیب‌یابی مشکلات نصب و پیکربندی

  • بررسی لاگ‌ها برای شناسایی مشکلات احتمالی در مراحل نصب
  • روش‌های حل مشکلات نصب (پایگاه داده‌ها، فایروال، مشکلات شبکه)
  • استفاده از ابزارهای خط فرمان برای عیب‌یابی (systemctl، journalctl، netstat)

فصل 10. پشتیبان‌گیری و بازیابی سیستم در مراحل نصب

  • ایجاد نسخه پشتیبان از تنظیمات اولیه و فایل‌های پیکربندی
  • آموزش استفاده از ابزارهای پشتیبان‌گیری (tar، rsync)
  • نحوه بازیابی سیستم پس از مشکلات نصب یا پیکربندی نادرست

3. پیکربندی پایه

 

فصل 1. تنظیمات شبکه

  • تنظیم IP Address (آدرس IP ثابت یا DHCP)
  • پیکربندی DNS (Domain Name System)
  • تنظیم Gateway برای اتصال به اینترنت
  • تنظیم Subnet Mask برای تقسیم‌بندی شبکه

فصل 2. تنظیمات فایروال و امنیت شبکه

  • فعال‌سازی Firewall و پیکربندی قوانینی برای محدود کردن دسترسی‌ها
  • تنظیم Port Forwarding برای خدمات خاص (مثل SIP و IAX)
  • بررسی تنظیمات SELinux و تنظیمات امنیتی

فصل 3. مدیریت کاربران و دسترسی‌ها

  • ایجاد کاربران در سیستم و تخصیص مجوزهای مختلف
  • تنظیم گروه‌های کاربران و دسترسی‌های مختلف به بخش‌های مختلف سیستم (مانند مدیریت تماس‌ها یا مشاهده گزارش‌ها)
  • ایجاد Role-based Access Control (RBAC) برای تفکیک دسترسی‌ها
  • تنظیم رمز عبور امن برای کاربران

فصل 4. آشنایی با ساختار داخلی Issabel

  • توضیح ماژول‌ها (Modules) و نقش آن‌ها در سیستم Issabel
  • معرفی Asterisk Manager Interface (AMI) و ارتباط آن با Issabel
  • توضیح ساختار قالب‌های پیکربندی و فایل‌های مربوطه در سیستم
  • معرفی نحوه عملکرد Database (MySQL) برای ذخیره‌سازی تنظیمات و اطلاعات تماس‌ها

فصل 5. تنظیمات زمان و تاریخ

  • تنظیم NTP Server (Network Time Protocol) برای همگام‌سازی زمان سیستم
  • تنظیم منطقه زمانی (Timezone) بر اساس موقعیت جغرافیایی

فصل 6. پیکربندی زبان و تنظیمات محلی

  • انتخاب زبان رابط کاربری (مانند انگلیسی یا زبان‌های دیگر)
  • تنظیمات مربوط به فرمت تاریخ، ساعت و اعداد
  • پیکربندی آلارم‌ها و هشدارها به زبان‌های مختلف

فصل 7. پیکربندی ارسال و دریافت ایمیل

  • تنظیمات SMTP برای ارسال ایمیل‌های گزارشات و هشدارها
  • پیکربندی IMAP/POP3 برای دریافت ایمیل‌ها و ارجاع به سیستم‌های دیگر

فصل 8. پیکربندی تنظیمات سیستم

  • تنظیمات مربوط به System Updates (به‌روزرسانی خودکار سیستم)
  • پیکربندی Backup Settings برای ایجاد نسخه پشتیبان منظم از سیستم
  • تنظیمات System Logs برای ذخیره‌سازی و مانیتورینگ فعالیت‌ها
  • تنظیمات Power Management برای کاهش مصرف انرژی

4. پیکربندی سیستم تلفنی

 

فصل 1. معرفی مفاهیم SIP و IAX

  • تفاوت‌های اصلی SIP و IAX
  • پروتکل‌های SIP و IAX در ارتباطات VoIP
  • مزایا و معایب هر یک از این پروتکل‌ها
  • کاربردهای مختلف SIP و IAX در سیستم‌های تلفنی

فصل 2. پیکربندی SIP Trunk

  • معرفی SIP Trunk و کاربرد آن برای اتصال به ارائه‌دهندگان خدمات VoIP
  • نحوه ایجاد و پیکربندی یک SIP Trunk جدید در Issabel
  • تنظیمات مورد نیاز برای اتصال به یک سرویس‌دهنده SIP
  • تنظیمات امنیتی (رمزنگاری، احراز هویت) برای Trunk های SIP
  • تست اتصال SIP و رفع مشکلات اتصال

فصل 3. پیکربندی IAX Trunk

  • تفاوت‌ها و کاربردهای IAX نسبت به SIP
  • نحوه تنظیم و پیکربندی IAX Trunk در Issabel
  • معرفی IAX2 و مزایای آن نسبت به IAX1
  • تنظیمات شبکه و امنیت برای IAX Trunk

فصل 4. ایجاد و مدیریت خطوط داخلی (Extensions)

  • تعریف و ایجاد Extensions برای کاربران مختلف
  • نحوه پیکربندی انواع Extensions (دستگاه‌های فیزیکی، نرم‌افزاری، SIP)
  • تنظیمات مربوط به رمزگذاری تماس‌ها و ویژگی‌های پیشرفته Extensions
  • ایجاد گروه‌های Extensions برای تخصیص خطوط به گروه‌های خاص

فصل 5. پیکربندی Dial Plan

  • مفهوم Dial Plan و اهمیت آن در مدیریت تماس‌ها
  • نحوه تعریف و پیکربندی Dial Plan در Issabel
  • پیکربندی تنظیمات Dial Plan برای مسیردهی تماس‌ها
  • استفاده از الگوهای شماره‌گیری و محدودیت‌های تماس در Dial Plan

فصل 6. تنظیمات ورود و خروج تماس‌ها

  • نحوه پیکربندی تماس‌های ورودی (Inbound Routes) و تماس‌های خروجی (Outbound Routes)
  • مدیریت نحوه مسیردهی تماس‌های ورودی به Extensions و IVR
  • تنظیمات برای مسیردهی تماس‌های خروجی به Trunks مختلف
  • ایجاد و تنظیم قوانین برای محدود کردن دسترسی تماس‌های خروجی

فصل 7. پیکربندی Call Forwarding و Call Blocking

  • آموزش پیکربندی قابلیت Call Forwarding برای خطوط داخلی
  • تنظیمات مختلف برای فوروارد تماس‌ها به شماره‌های داخلی یا خارجی
  • آموزش تنظیم قوانین مسدود سازی تماس‌ها (Call Blocking) برای جلوگیری از تماس‌های ناخواسته

فصل 8. پیکربندی Voicemail

  • نحوه پیکربندی و تنظیم Voicemail برای Extensions مختلف
  • تنظیمات پیکربندی Voicemail (پیام خوش‌آمدگویی، حداکثر طول پیام، اعلام پیام جدید)
  • مدیریت Voicemail از طریق ایمیل و پنل مدیریت Issabel
  • آموزش نحوه استفاده از قابلیت‌های پیشرفته Voicemail مانند گروه‌بندی پیام‌ها و ارسال ایمیل

فصل 9. تنظیمات مربوط به تماس‌های کنفرانس (Conference Calls)

  • نحوه تنظیم و پیکربندی اتاق‌های کنفرانس در Issabel
  • آموزش ویژگی‌های پیشرفته برای کنترل تعداد افراد حاضر در کنفرانس
  • تنظیمات امنیتی برای کنفرانس‌ها (کد دسترسی، قفل کنفرانس)
  • تنظیمات کیفیت تماس برای کنفرانس‌های صوتی

فصل 10. پیکربندی قوانین کال‌بک (Call Back) و تماس خودکار

  • تعریف و تنظیم قوانین Call Back برای کاربران
  • نحوه پیکربندی سیستم تماس خودکار برای پاسخگویی به درخواست‌ها
  • تنظیمات مربوط به محدودیت‌های Call Back برای گروه‌های خاص

فصل 11. تنظیمات ویژگی‌های پیشرفته

  • تنظیمات Caller ID و تغییرات آن در تماس‌های ورودی و خروجی
  • استفاده از ویژگی‌های پیشرفته مانند Call Parking و Call Transfer
  • پیکربندی کنترل دسترسی به خطوط و تماس‌ها بر اساس سطح دسترسی کاربران

فصل 12. آزمایش و رفع مشکلات پیکربندی سیستم تلفنی

  • نحوه تست تماس‌های داخلی و خارجی برای اطمینان از عملکرد صحیح
  • ابزارهای تست درون سیستم Issabel (مانند تست SIP)
  • تکنیک‌های رفع مشکلات برای اتصال به Trunks و Extensions

5. تنظیمات IVR (Interactive Voice Response)

 

فصل 1. مفاهیم اولیه IVR

  • تعریف IVR و نقش آن در سیستم‌های تلفنی
  • مزایای استفاده از IVR در مدیریت تماس‌ها
  • ارتباط IVR با سیستم‌های PBX و VoIP

فصل 2. طراحی منوی صوتی (IVR Menu)

  • نحوه طراحی منوهای صوتی بر اساس نیازهای کسب‌وکار
  • تعیین گزینه‌های منو برای انتخاب‌های مختلف کاربر
  • استفاده از صداهای از پیش ضبط‌شده یا ضبط پیام‌های صوتی جدید
  • ایجاد سلسله مراتب در منوها (منوهای چند سطحی)

فصل 3. ایجاد و تنظیم IVR در Issabel

  • نحوه ورود به بخش تنظیمات IVR در رابط کاربری Issabel
  • ایجاد یک IVR جدید از طریق رابط گرافیکی
  • تنظیم پیام خوش‌آمدگویی و دستورالعمل‌های منو

فصل 4. تنظیم گزینه‌های ورودی کاربر (DTMF Input)

  • پیکربندی کلیدهای ورودی برای دسترسی به گزینه‌های مختلف
  • تعیین اقدامات مختلف برای هر ورودی عددی (مثلاً انتقال به داخلی خاص یا اجرای یک عملیات دیگر)

فصل 5. مسیر دهی تماس‌ها بر اساس انتخاب‌های کاربر

  • ایجاد قوانین مسیردهی تماس‌ها پس از انتخاب هر گزینه توسط کاربر
  • مسیردهی تماس‌ها به داخلی‌ها، صف‌ها، گروه‌های تماس یا سرورهای خارج از سیستم
  • پیکربندی Timeout برای درخواست ورودی کاربر در صورت عدم پاسخ

فصل 6. تنظیم پیام‌های صوتی (Audio Prompts)

  • ضبط پیام‌های صوتی اختصاصی برای منوی IVR
  • انتخاب پیام‌های از پیش ضبط‌شده یا استفاده از متن به صدا (TTS)
  • نحوه بارگذاری فایل‌های صوتی (فرمت‌های قابل قبول مانند WAV یا MP3)

فصل 7. تعریف ساعات کاری (Time Conditions) برای IVR

  • تنظیم IVR برای تشخیص ساعات کاری و مسیردهی تماس‌ها بر اساس زمان
  • پیکربندی IVR برای مسیردهی تماس‌ها به تیم‌های مختلف در ساعات کاری و غیرکاری

فصل 8. پیکربندی گام‌های ورودی پیشرفته

  • استفاده از ویژگی‌های پیچیده مانند Queue, Voicemail و Call Forwarding در IVR
  • ایجاد تعاملی با کاربر (مثلاً درخواست شماره حساب یا وارد کردن اطلاعات دیگر)

فصل 9. آزمایش و رفع اشکال IVR

  • نحوه تست عملکرد منوی IVR پس از پیکربندی
  • بررسی و تحلیل گزارش‌های تماس برای شناسایی مشکلات IVR
  • اصلاح اشکالات متداول مانند مشکلات در مسیر دهی تماس‌ها یا پیام‌های صوتی

فصل 10. بهینه‌سازی عملکرد IVR

  • راهکارهایی برای بهبود تجربه کاربری (UX) و تسهیل دسترسی
  • استفاده از زبان‌های مختلف برای کاربرانی با زبان‌های مختلف
  • کاهش زمان انتظار و اتوماسیون فرایندها برای کاهش هزینه‌ها و بهبود بهره‌وری
[cdb_course_lessons title=”بخش 1. آشنایی با Issabel”][cdb_course_lesson title=”فصل 1. Issabel چیست؟”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”معرفی Issabel به‌عنوان یک سیستم مدیریت ارتباطات و تلفن مبتنی بر VoIP” subtitle=”توضیحات کامل”]Issabel یک سیستم مدیریت ارتباطات و تلفن مبتنی بر VoIP است که به‌عنوان یک توزیع متن‌باز از Asterisk توسعه یافته و امکانات کاملی برای راه‌اندازی مرکز تماس (Call Center) و سیستم‌های تلفنی سازمانی فراهم می‌کند. این سیستم به مدیران شبکه امکان مدیریت تماس‌ها، تنظیمات VoIP، مسیر‌یابی تماس‌ها، راه‌اندازی IVR، گزارش‌گیری و کنترل امنیت را می‌دهد.


ویژگی‌های اصلی Issabel

  • پشتیبانی از پروتکل SIP و IAX
    Issabel از پروتکل‌های استاندارد SIP و IAX پشتیبانی می‌کند که امکان ارتباط با انواع ترانک‌ها (SIP Trunks) و تجهیزات VoIP را فراهم می‌کند.
  • مدیریت مرکز تماس (Call Center Management)
    با استفاده از ماژول مرکز تماس، امکان مدیریت صف‌های تماس، مانیتورینگ اپراتورها و ایجاد گزارش‌های تماس فراهم است.
  • پشتیبانی از PBX مبتنی بر Asterisk
    هسته اصلی Issabel بر پایه Asterisk طراحی شده است که یک موتور تلفنی قدرتمند و انعطاف‌پذیر برای مدیریت ارتباطات است.
  • رابط کاربری تحت وب
    دارای یک رابط کاربری تحت وب است که امکان مدیریت تنظیمات، مانیتورینگ تماس‌ها، مدیریت داخلی‌ها و سایر قابلیت‌ها را از طریق مرورگر فراهم می‌کند.
  • پشتیبانی از ماژول‌های سفارشی و افزونه‌ها
    امکان نصب افزونه‌های مختلف برای توسعه قابلیت‌های Issabel وجود دارد، از جمله ماژول‌های مدیریت تماس، نظارت بر عملکرد سیستم و امنیت.
  • مدیریت تماس‌های ورودی و خروجی
    تنظیم مسیرهای تماس برای مدیریت تماس‌های ورودی و خروجی، تعریف DIDها و تنظیم قابلیت‌هایی مانند انتقال تماس، فورواردینگ و ضبط مکالمات.
  • سیستم گزارش‌گیری و مانیتورینگ
    ارائه گزارش‌های دقیق از تماس‌ها، نمودارهای آماری و امکان مانیتورینگ تماس‌های جاری.
  • پشتیبانی از فکس و ایمیل صوتی (Voicemail to Email)
    امکان ارسال پیام‌های صوتی به ایمیل و مدیریت سرویس‌های فکس دیجیتال.

مقایسه Issabel با سیستم‌های مشابه

ویژگی‌ها Issabel FreePBX 3CX Elastix (قدیمی)
متن‌باز بودن بله بله خیر بله (توقف توسعه)
پشتیبانی از SIP/IAX بله بله بله بله
رابط گرافیکی تحت وب بله بله بله بله
مدیریت مرکز تماس بله (ماژول اختصاصی) بله (افزونه تجاری) بله (تجاری) بله
پشتیبانی از WebRTC بله بله بله خیر
پشتیبانی از ماژول‌های شخصی‌سازی بله بله خیر بله

کاربردهای Issabel در سازمان‌ها

  • سیستم تلفنی سازمانی
    برای شرکت‌ها و سازمان‌هایی که نیاز به یک سیستم VoIP حرفه‌ای با قابلیت‌های پیشرفته مدیریت تماس دارند.
  • مراکز تماس (Call Centers)
    برای مراکز تماس که نیاز به مدیریت صف‌های تماس، نظارت بر عملکرد اپراتورها و گزارش‌گیری دقیق دارند.
  • سازمان‌های دولتی و خصوصی
    برای سازمان‌هایی که به یک سیستم ارتباطی مطمئن و مقیاس‌پذیر نیاز دارند.
  • شرکت‌های ارائه‌دهنده خدمات VoIP
    برای شرکت‌هایی که می‌خواهند سرویس‌های VoIP و ارتباطات تلفنی را به مشتریان خود ارائه دهند.

جمع‌بندی

Issabel یک راهکار جامع برای مدیریت ارتباطات سازمانی مبتنی بر VoIP است که قابلیت‌های پیشرفته‌ای در زمینه مدیریت تماس‌ها، مانیتورینگ، گزارش‌گیری و امنیت ارائه می‌دهد. این سیستم به‌عنوان جایگزین Elastix توسعه یافته و همچنان یکی از محبوب‌ترین سیستم‌های تلفنی متن‌باز محسوب می‌شود. تنظیمات و پیکربندی‌های آن به‌صورت کامندی و گرافیکی قابل انجام بوده و برای انواع سازمان‌ها و مراکز تماس مناسب است.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”Issabel به‌عنوان یک پلتفرم ارتباطی مبتنی بر Asterisk” subtitle=”توضیحات کامل”]Issabel یک سیستم ارتباطی متن‌باز است که بر پایه Asterisk توسعه یافته و امکانات کاملی برای مدیریت تماس‌های VoIP، مراکز تلفنی (PBX)، و سیستم‌های ارتباطی سازمانی ارائه می‌دهد. Asterisk به‌عنوان موتور اصلی پردازش تماس در Issabel عمل می‌کند و قابلیت‌هایی مانند مسیریابی تماس‌ها، ضبط مکالمات، کنفرانس صوتی، صف‌های تماس، IVR و دیگر قابلیت‌های تلفنی را فراهم می‌سازد.


نقش Asterisk در Issabel

Asterisk یک نرم‌افزار متن‌باز برای ایجاد و مدیریت سیستم‌های تلفنی است که توسط Digium توسعه یافته است. این نرم‌افزار هسته‌ی اصلی سیستم‌های VoIP محسوب می‌شود و بسیاری از توزیع‌های PBX از جمله Issabel، FreePBX و Elastix بر پایه آن طراحی شده‌اند.

Issabel از Asterisk به‌عنوان موتور پردازش تماس‌های صوتی استفاده می‌کند و امکانات مدیریتی گسترده‌ای را از طریق یک رابط کاربری گرافیکی تحت وب به کاربران ارائه می‌دهد. در واقع، Issabel محیطی کاربرپسند برای مدیریت Asterisk ایجاد می‌کند و به مدیران شبکه این امکان را می‌دهد که بدون نیاز به دانش عمیق از Asterisk، یک سیستم تلفنی کامل را پیکربندی و مدیریت کنند.


ویژگی‌های کلیدی Issabel مبتنی بر Asterisk

  • مدیریت آسان Asterisk از طریق رابط گرافیکی
    Issabel امکان مدیریت تنظیمات Asterisk را بدون نیاز به ویرایش دستی فایل‌های پیکربندی فراهم می‌کند. تمامی قابلیت‌های Asterisk، مانند مدیریت داخلی‌ها، مسیریابی تماس‌ها و صف‌های تماس، از طریق محیط گرافیکی Issabel قابل تنظیم هستند.
  • پشتیبانی از VoIP و پروتکل‌های استاندارد (SIP و IAX2)
    Issabel از پروتکل‌های SIP و IAX2 که توسط Asterisk پشتیبانی می‌شوند، استفاده می‌کند. این پروتکل‌ها امکان برقراری ارتباط بین سیستم‌های تلفنی، ترانک‌های VoIP و تجهیزات سخت‌افزاری مانند IP Phone‌ها را فراهم می‌کنند.
  • پیکربندی مرکز تماس (Call Center) با استفاده از Asterisk
    Issabel دارای ماژول Call Center است که از قابلیت‌های Asterisk برای مدیریت صف‌های تماس، نظارت بر اپراتورها و گزارش‌گیری تماس‌ها استفاده می‌کند.
  • پشتیبانی از ماژول‌های اختصاصی Asterisk
    Issabel قابلیت نصب و استفاده از ماژول‌های مختلف Asterisk را دارد که امکان افزودن قابلیت‌های جدید مانند WebRTC، ضبط تماس‌های پیشرفته، و امنیت تماس‌ها را فراهم می‌کند.
  • سیستم پیام‌گیر صوتی (Voicemail) و ارسال ایمیل صوتی
    با استفاده از قابلیت‌های داخلی Asterisk، Issabel امکان ضبط پیام‌های صوتی و ارسال آن‌ها به ایمیل کاربران را فراهم می‌کند.
  • مدیریت صف‌ها و تماس‌های خروجی (Outbound و Inbound Calling)
    Issabel از مکانیزم‌های Queue و Ring Groups در Asterisk استفاده می‌کند تا تماس‌های ورودی را مدیریت کرده و بین داخلی‌های مختلف توزیع کند. همچنین امکان تنظیم شماره‌گیری خودکار (Auto Dialer) و کمپین‌های تماس برای مراکز تماس را دارد.

معماری Issabel و ارتباط آن با Asterisk

Issabel از معماری لایه‌ای برای مدیریت تماس‌ها استفاده می‌کند که در آن Asterisk به‌عنوان هسته‌ی پردازش تماس‌ها عمل کرده و سایر ماژول‌های Issabel به‌عنوان لایه‌های مدیریتی و کاربردی روی آن اجرا می‌شوند.

اجزای اصلی معماری Issabel:

  1. Asterisk (موتور تلفنی): هسته پردازش تماس‌ها، مدیریت داخلی‌ها، مسیریابی تماس و ارتباط با سخت‌افزارهای VoIP.
  2. رابط مدیریتی Issabel: یک محیط گرافیکی برای مدیریت تنظیمات Asterisk، داخلی‌ها، صف‌های تماس، ترانک‌ها و دیگر قابلیت‌های ارتباطی.
  3. ماژول‌های تلفنی و ارتباطی: شامل IVR، Call Center، Voicemail، Recording و دیگر ماژول‌های موردنیاز سازمان‌ها.
  4. پشتیبانی از پایگاه داده (MySQL / MariaDB): برای ذخیره اطلاعات تماس‌ها، داخلی‌ها، لاگ‌های سیستم و تنظیمات مدیریتی.

پیکربندی Asterisk در Issabel (دستی و کامندی)

ویرایش تنظیمات داخلی‌ها در Asterisk

فایل پیکربندی داخلی‌ها در مسیر زیر قرار دارد:

/etc/asterisk/extensions.conf

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

[internal-users]
exten => 1001,1,Dial(SIP/1001,20)
exten => 1001,n,Voicemail(1001@default)
exten => 1001,n,Hangup()

سپس باید سرویس Asterisk را ریستارت کرد:

systemctl restart asterisk
اضافه کردن داخلی جدید از طریق Issabel GUI
  1. ورود به پنل مدیریت Issabel
  2. رفتن به بخش PBX Configuration
  3. انتخاب Extensions
  4. کلیک روی Add New Extension و انتخاب SIP Device
  5. وارد کردن اطلاعات داخلی، مانند شماره داخلی، رمز عبور، و Caller ID
  6. ذخیره تنظیمات و اعمال تغییرات (Apply Config)

جمع‌بندی

Issabel یک پلتفرم ارتباطی مبتنی بر Asterisk است که تمامی قابلیت‌های این موتور پردازش تماس را از طریق یک رابط گرافیکی تحت وب در اختیار مدیران شبکه قرار می‌دهد. این سیستم از SIP/IAX2، صف‌های تماس، Voicemail، ضبط تماس، IVR و Call Center پشتیبانی می‌کند و امکان مدیریت آسان Asterisk را بدون نیاز به ویرایش دستی فایل‌های پیکربندی فراهم می‌کند. ترکیب قدرت Asterisk با امکانات مدیریتی Issabel باعث شده است که این پلتفرم به یکی از محبوب‌ترین سیستم‌های VoIP برای سازمان‌ها و مراکز تماس تبدیل شود.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”بررسی ویژگی‌های منحصر به فرد Issabel در مقایسه با سایر سیستم‌های PBX” subtitle=”توضیحات کامل”]Issabel یکی از قدرتمندترین و محبوب‌ترین سیستم‌های PBX مبتنی بر Asterisk است که امکانات گسترده‌ای برای مدیریت تماس‌های VoIP، مراکز تلفن و ارتباطات سازمانی فراهم می‌کند. در مقایسه با سایر سیستم‌های PBX متن‌باز مانند FreePBX، FusionPBX و 3CX، Issabel دارای ویژگی‌های منحصر به فردی است که آن را به گزینه‌ای ایده‌آل برای بسیاری از سازمان‌ها تبدیل کرده است.


1. رابط کاربری یکپارچه و مدیریت آسان

یکی از ویژگی‌های کلیدی Issabel، رابط کاربری ساده و یکپارچه آن است که در مقایسه با FreePBX و FusionPBX، تنظیمات سیستم را به‌صورت کاربرپسند و بدون نیاز به ویرایش مستقیم فایل‌های Asterisk فراهم می‌کند.

ویژگی‌های برتر رابط کاربری Issabel:

  • پنل مدیریتی تحت وب با دسترسی آسان به تمامی تنظیمات
  • مدیریت داخلی‌ها، ترانک‌ها، IVR و صف‌های تماس از طریق رابط گرافیکی
  • داشبورد پیشرفته برای مشاهده وضعیت تماس‌ها، ترافیک VoIP و منابع سیستم
  • امکان شخصی‌سازی محیط کاربری و گزارش‌گیری پیشرفته

مقایسه با سایر PBX‌ها:

  • FreePBX دارای رابط کاربری گرافیکی مشابهی است اما برخی قابلیت‌های آن در نسخه رایگان محدود هستند.
  • FusionPBX مبتنی بر FreeSWITCH است و پیچیدگی بیشتری در پیکربندی دارد.
  • 3CX یک راهکار تجاری است که امکانات محدودی در نسخه رایگان ارائه می‌دهد.

2. پشتیبانی داخلی از مرکز تماس (Call Center) بدون نیاز به افزونه‌های اضافی

یکی از قابلیت‌های متمایز Issabel، ماژول Call Center داخلی است که به‌صورت پیش‌فرض در سیستم وجود دارد. این ویژگی به مدیران اجازه می‌دهد بدون نیاز به خرید افزونه‌های جداگانه، سیستم مرکز تماس حرفه‌ای را راه‌اندازی کنند.

ویژگی‌های Call Center در Issabel:

  • پشتیبانی از صف‌های تماس (Call Queues) و مدیریت اپراتورها
  • سیستم گزارش‌گیری و نظارت زنده بر اپراتورها
  • امکان راه‌اندازی کمپین‌های تماس خروجی (Outbound Campaigns)
  • پشتیبانی از WebRTC برای پاسخگویی از طریق مرورگر

مقایسه با سایر PBX‌ها:

  • FreePBX برای راه‌اندازی مرکز تماس به افزونه‌های پولی نیاز دارد.
  • FusionPBX دارای قابلیت‌های Call Center است، اما به پیکربندی پیچیده‌تری نیاز دارد.
  • 3CX در نسخه رایگان، قابلیت‌های محدودی برای مراکز تماس دارد.

3. ماژول‌های کاربردی و امنیتی داخلی

Issabel علاوه بر مدیریت PBX، دارای ماژول‌های امنیتی و مدیریتی داخلی است که در بسیاری از PBX‌های متن‌باز دیگر وجود ندارند یا نیاز به نصب افزونه‌های جانبی دارند.

ماژول‌های کاربردی داخلی Issabel:

  • فایروال و سیستم تشخیص نفوذ (Fail2Ban) برای امنیت SIP Trunk و جلوگیری از حملات Brute-Force
  • مدیریت ضبط تماس‌ها و دسترسی به فایل‌های ضبط‌شده از طریق پنل گرافیکی
  • سیستم فکس داخلی (Hylafax) برای ارسال و دریافت فکس از طریق VoIP
  • ماژول یکپارچه‌سازی با CRM برای مدیریت ارتباطات مشتریان

مقایسه با سایر PBX‌ها:

  • FreePBX برخی از این ویژگی‌ها را دارد، اما فایروال SIP و ضبط تماس نیاز به تنظیمات دستی دارد.
  • FusionPBX امکانات امنیتی کمتری به‌صورت پیش‌فرض دارد.
  • 3CX بیشتر بر امنیت تجاری متمرکز است، اما امکانات کمتری در نسخه رایگان ارائه می‌دهد.

4. پشتیبانی از ارتباطات ویدئویی و WebRTC

یکی دیگر از ویژگی‌های منحصر به فرد Issabel، پشتیبانی بومی از WebRTC است که امکان تماس صوتی و تصویری از طریق مرورگرهای وب را فراهم می‌کند.

ویژگی‌های WebRTC در Issabel:

  • امکان برقراری تماس صوتی و تصویری از طریق مرورگر بدون نیاز به نرم‌افزار اضافی
  • پشتیبانی از تماس‌های SIP و IAX2 برای ارتباط با دیگر سیستم‌های VoIP
  • سازگاری با IP Phoneها، Softphoneها و اپلیکیشن‌های موبایل

مقایسه با سایر PBX‌ها:

  • FreePBX از WebRTC پشتیبانی می‌کند اما نیاز به تنظیمات دستی دارد.
  • FusionPBX نیز WebRTC را پشتیبانی می‌کند، اما پیکربندی آن پیچیده‌تر است.
  • 3CX WebRTC را در نسخه رایگان به‌طور محدود ارائه می‌دهد.

5. تنظیمات و پیکربندی آسان SIP Trunk و مسیرهای تماس (Call Routing)

Issabel امکان مدیریت ترانک‌های SIP و مسیریابی تماس‌ها را به‌صورت ساده و گرافیکی فراهم می‌کند. این قابلیت باعث می‌شود سازمان‌ها بتوانند به راحتی ارتباطات خود را با اپراتورهای VoIP برقرار کنند.

تنظیمات SIP Trunk در Issabel (روش دستی و کامندی)

ویرایش فایل تنظیمات SIP در Asterisk:
مسیر فایل تنظیمات SIP در Issabel:

/etc/asterisk/sip.conf

برای افزودن یک SIP Trunk جدید، می‌توان تنظیمات زیر را به این فایل اضافه کرد:

[myprovider]
type=peer
host=sip.provider.com
username=myuser
secret=mypassword
context=from-trunk
qualify=yes
insecure=port,invite

سپس برای اعمال تغییرات، Asterisk را ریستارت کنید:

systemctl restart asterisk

تنظیم SIP Trunk از طریق Issabel GUI:

  1. ورود به پنل مدیریت Issabel
  2. رفتن به PBX ConfigurationTrunks
  3. کلیک روی Add SIP Trunk
  4. وارد کردن اطلاعات Hostname، Username و Password
  5. ذخیره تنظیمات و کلیک روی Apply Config

جمع‌بندی

Issabel به‌عنوان یک سیستم PBX مبتنی بر Asterisk، ویژگی‌های منحصربه‌فردی را در مقایسه با سایر PBXهای متن‌باز و تجاری ارائه می‌دهد. این سیستم علاوه بر مدیریت تماس‌های VoIP، دارای ماژول‌های داخلی برای مرکز تماس، امنیت، WebRTC، ضبط تماس و مدیریت فکس است. همچنین، رابط کاربری ساده و یکپارچه آن باعث می‌شود که راه‌اندازی و مدیریت آن نسبت به FreePBX، FusionPBX و 3CX راحت‌تر باشد. این قابلیت‌ها Issabel را به یک گزینه ایده‌آل برای سازمان‌ها و مراکز تماس حرفه‌ای تبدیل کرده است.[/cdb_course_lesson][cdb_course_lesson title=”فصل 2. تاریخچه Issabel”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”تاریخچه پیدایش Issabel و توسعه آن” subtitle=”توضیحات کامل”]Issabel یک سیستم PBX متن‌باز مبتنی بر Asterisk است که پس از توقف توسعه Elastix به وجود آمد. این سیستم به‌عنوان جایگزین مستقیم Elastix 4 معرفی شد و توانست با حفظ ویژگی‌های آن، امکانات جدید و بهبودیافته‌ای را ارائه دهد. در ادامه به بررسی تاریخچه پیدایش و توسعه Issabel پرداخته می‌شود.


1. Elastix و پایه‌گذاری اولیه (2006 – 2016)

Elastix یکی از محبوب‌ترین سیستم‌های PBX متن‌باز مبتنی بر Asterisk بود که در سال 2006 معرفی شد. این سیستم توسط PaloSanto Solutions توسعه یافت و به دلیل رابط کاربری ساده، یکپارچه‌سازی با ماژول‌های مدیریت مرکز تماس، فکس و امنیت، به یکی از گزینه‌های محبوب در حوزه VoIP و تلفن‌های تحت شبکه (IP-PBX) تبدیل شد.

ویژگی‌های کلیدی Elastix:

  • مبتنی بر Asterisk با مدیریت آسان‌تر
  • رابط کاربری تحت وب برای تنظیمات سیستم
  • پشتیبانی از فکس، ایمیل و پیام‌رسانی یکپارچه (Unified Communications)
  • مدیریت داخلی‌ها، ترانک‌های SIP و صف‌های تماس
  • ماژول‌های مرکز تماس و گزارش‌گیری پیشرفته

در طول سال‌ها، نسخه‌های مختلف Elastix منتشر شد، اما در سال 2016، پروژه Elastix با تغییر اساسی مواجه شد. شرکت 3CX که توسعه‌دهنده یک سیستم PBX اختصاصی بود، مالکیت Elastix را به دست آورد و پشتیبانی از نسخه متن‌باز آن را متوقف کرد. این اقدام باعث شد که بسیاری از کاربران و توسعه‌دهندگان به دنبال یک جایگزین جدید باشند.


2. ظهور Issabel به‌عنوان جایگزین Elastix (2017)

پس از توقف Elastix، تیمی از توسعه‌دهندگان مستقل که در گذشته روی این پروژه کار کرده بودند، تصمیم گرفتند یک انشعاب (Fork) از نسخه آخر Elastix 4 ایجاد کنند. این پروژه در سال 2017 با نام Issabel معرفی شد.

دلایل ایجاد Issabel:

  • حفظ قابلیت‌های Elastix و جلوگیری از انحصاری شدن آن
  • ادامه توسعه یک PBX متن‌باز و رایگان
  • بهینه‌سازی و به‌روزرسانی هسته Elastix 4
  • افزودن ویژگی‌های جدید و بهبود عملکرد

ویژگی‌های اولیه Issabel (بر پایه Elastix 4):

  • همان رابط کاربری گرافیکی Elastix
  • پشتیبانی از Asterisk 13
  • یکپارچه‌سازی با فکس، ایمیل و ماژول‌های مرکز تماس
  • بهینه‌سازی امنیت و بهبود پشتیبانی از WebRTC

3. توسعه و به‌روزرسانی‌های Issabel (2018 – تاکنون)

پس از انتشار نسخه اولیه، Issabel به‌سرعت به‌عنوان جایگزین رسمی Elastix مورد استقبال قرار گرفت. تیم توسعه‌دهنده بر بهبود عملکرد، افزایش امنیت و اضافه کردن قابلیت‌های جدید تمرکز کرد.

مهم‌ترین به‌روزرسانی‌ها در Issabel:

2018:

  • انتشار نسخه پایدار Issabel 4 بر پایه CentOS 7
  • بهبود ماژول Call Center و امکانات گزارش‌گیری
  • رفع باگ‌های امنیتی و بهینه‌سازی Asterisk

2019 – 2020:

  • به‌روزرسانی به Asterisk 16
  • بهبود ماژول WebRTC برای تماس‌های مستقیم از مرورگر
  • پشتیبانی از Fail2Ban برای جلوگیری از حملات SIP

2021 – 2022:

  • بهینه‌سازی ماژول SIP Trunking
  • افزایش پشتیبانی از کدک‌های صوتی جدید
  • امکان یکپارچه‌سازی با CRMها مانند Vtiger و SuiteCRM

2023 – 2024:

  • پشتیبانی از Asterisk 18 و نسخه‌های جدیدتر
  • ارتقاء امنیت و مدیریت پیشرفته فایروال
  • بهینه‌سازی پردازش تماس‌ها برای کاهش Latency و Jitter

4. وضعیت کنونی و آینده Issabel

امروزه Issabel یکی از بهترین گزینه‌های متن‌باز برای سیستم‌های PBX و VoIP محسوب می‌شود و بسیاری از شرکت‌ها و سازمان‌ها از آن برای مدیریت تماس‌های تلفنی و مراکز تماس خود استفاده می‌کنند.

مزایای Issabel در مقایسه با Elastix و سایر PBXها:

  • متن‌باز و رایگان بدون نیاز به لایسنس
  • پشتیبانی مداوم و به‌روزرسانی‌های امنیتی
  • یکپارچگی با سیستم‌های مرکز تماس و مدیریت ارتباط با مشتری (CRM)
  • پشتیبانی از Asterisk و قابلیت سفارشی‌سازی بالا

برنامه‌های آینده Issabel:

  • پشتیبانی از Asterisk 20 و نسخه‌های بالاتر
  • بهینه‌سازی هوش مصنوعی در تحلیل تماس‌ها
  • افزایش امنیت SIP و TLS برای ارتباطات رمزگذاری‌شده
  • بهبود سازگاری با IPv6 و شبکه‌های ابری

جمع‌بندی

Issabel به‌عنوان یک Fork از Elastix 4، از سال 2017 تاکنون توانسته جایگاه خود را به‌عنوان یک سیستم PBX متن‌باز و قابل‌اعتماد تثبیت کند. این پلتفرم با ارائه امکاناتی مانند مدیریت تماس‌ها، ضبط مکالمات، فایروال SIP، ماژول مرکز تماس و WebRTC توانسته جایگزین مناسبی برای Elastix و سایر PBXهای متن‌باز باشد. توسعه مداوم این سیستم نشان می‌دهد که Issabel همچنان در حال رشد بوده و گزینه‌ای عالی برای سازمان‌ها و کسب‌وکارهای کوچک و بزرگ محسوب می‌شود.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”بررسی روند تکامل Issabel از نسخه‌های اولیه تا نسخه‌های کنونی” subtitle=”توضیحات کامل”]Issabel یک سیستم PBX نرم‌افزاری (Private Branch Exchange) بر پایه Asterisk است که برای ارتباطات VoIP، تماس‌های تلفنی و مدیریت تماس‌ها استفاده می‌شود. این سیستم ابتدا با هدف ارائه راه‌حل‌های ارتباطی به کسب‌وکارها و سازمان‌ها طراحی شد و از زمان انتشار اولین نسخه آن در سال ۲۰۱۵، به مرور زمان ویژگی‌ها و قابلیت‌های جدیدی به آن افزوده شد.

با توجه به تاریخ تکامل Issabel، روند به‌روزرسانی و توسعه آن به شرح زیر بوده است:

نسخه‌های اولیه Issabel (نسخه 1.x تا 3.x)

  • نسخه 1.x: اولین نسخه Issabel بر پایه Asterisk 1.8 توسعه یافت و به سرعت مورد استقبال کاربران قرار گرفت. این نسخه برای مدیریت تماس‌های VoIP طراحی شد و ویژگی‌هایی مانند PBX، مدیریت تماس‌ها، و تنظیمات پایه‌ای مانند اضافه کردن خط تلفن و تنظیمات SIP را شامل می‌شد.
  • نسخه 2.x: در نسخه دوم، تغییرات عمده‌ای در رابط کاربری ایجاد شد تا تجربه کاربری بهتری برای مدیران سیستم و کاربران نهایی فراهم شود. همچنین، بهبودهای زیادی در قابلیت‌های پیکربندی و مدیریت تماس‌ها اعمال شد. این نسخه از ویژگی‌های پیشرفته‌ای مانند پشتیبانی از ماژول‌های مختلف برای مدیریت اتصالات VoIP، IVR، و Queue ها برخوردار بود.
  • نسخه 3.x: در این نسخه، Issabel از یک سیستم توزیع شده و مدیریت منابع پیشرفته‌تر بهره برد. ویژگی‌های جدیدی از جمله پشتیبانی از سیستم‌های جدیدتر SIP و قابلیت‌های گرافیکی برای مدیریت سیستم‌های تماس، گزارش‌گیری و تجزیه و تحلیل تماس‌ها افزوده شدند.

نسخه‌های کنونی Issabel (نسخه 4.x و بالاتر)

  • نسخه 4.x: این نسخه با تمرکز بر بهبود امنیت و عملکرد توسعه یافته است. امکانات جدید شامل پیاده‌سازی دقیق‌تر امنیت تماس‌ها و پشتیبانی از فناوری‌های جدید VoIP مانند WebRTC و بروزرسانی‌های مداوم Asterisk می‌شود. همچنین، بهبود در بخش پیکربندی SIP Trunks، Failover و Redundancy باعث افزایش پایداری و مقیاس‌پذیری سیستم شده است.
  • نسخه 5.x و بالاتر: در نسخه‌های بعدی، Issabel همچنان در حال به‌روزرسانی است و قابلیت‌های جدیدی به آن افزوده می‌شود. این نسخه‌ها به ویژه بر روی قابلیت‌های یکپارچگی با سیستم‌های خارجی مانند CRMها و سیستم‌های مدیریت تماس‌های پیشرفته‌تر تمرکز دارند. علاوه بر آن، کارایی در پشتیبانی از تماس‌های هم‌زمان بیشتر و همچنین پیکربندی‌های دقیق‌تر برای VoIP Providers و SIP Trunks نیز بهبود یافته است.

ویژگی‌های کلیدی تکامل Issabel

  • رابط کاربری پیشرفته: از نسخه‌های ابتدایی تا کنونی، رابط کاربری Issabel با هدف ساده‌تر کردن مدیریت و پیکربندی سیستم به‌طور مستمر بهبود یافته است. این شامل ایجاد داشبوردهای گرافیکی، گزارش‌های عملکردی و تسهیل دسترسی به تنظیمات پیشرفته است.
  • مدیریت SIP Trunks: قابلیت‌های مدیریت SIP Trunks از ابتدا با هدف تسهیل اتصال به VoIP Providers و شبکه‌های خارجی در دسترس بودند. با گذشت زمان، این قابلیت بهبود یافت و ویژگی‌های پیشرفته‌تری مانند Failover، Redundancy و NAT Traversal به آن افزوده شد.
  • پشتیبانی از ویژگی‌های VoIP جدید: از ویژگی‌های جدید WebRTC و افزوده شدن امکانات پیشرفته به VoIP مانند ضبط تماس‌ها و امنیت تماس‌ها گرفته تا پشتیبانی از پروتکل‌های جدید در نسخه‌های جدید Issabel، همواره به روزرسانی‌ها این سیستم را برای کاربران جذاب‌تر کرده است.

جمع‌بندی

در کل، روند تکامل Issabel از نسخه‌های اولیه تا نسخه‌های کنونی شامل پیشرفت‌های قابل توجهی در بخش‌های مختلف مانند امنیت، رابط کاربری، مدیریت SIP Trunks و پشتیبانی از ویژگی‌های جدید VoIP بوده است. این سیستم از یک PBX ساده به یک سیستم پیچیده‌تر با قابلیت‌های پیشرفته برای مدیریت تماس‌ها و امنیت تبدیل شده و به عنوان یک انتخاب محبوب در میان سازمان‌ها برای راه‌اندازی سیستم‌های تلفن مبتنی بر VoIP شناخته می‌شود.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”اشاره به جامعه توسعه‌دهندگان و مشارکت‌های آن‌ها در پروژه Issabel” subtitle=”توضیحات کامل”]پروژه Issabel از ابتدای کار به عنوان یک نرم‌افزار متن‌باز (Open Source) برای برقراری ارتباطات VoIP و مدیریت تماس‌های تلفنی با پشتیبانی از Asterisk آغاز شد. این ویژگی متن‌باز بودن باعث شد که جامعه‌ای بزرگ از توسعه‌دهندگان، مهندسان و متخصصان مختلف در سراسر جهان به آن ملحق شوند و پروژه را به سمت رشد و تکامل بیشتر هدایت کنند.

پروژه‌های متن‌باز به طور معمول از مشارکت‌های جامعه توسعه‌دهندگان برای بهبود و ارتقای کد منبع خود بهره می‌برند. Issabel نیز از این قاعده مستثنی نبوده است و توسعه‌دهندگان زیادی به صورت داوطلبانه در پروژه شرکت کرده‌اند و قابلیت‌های جدیدی به آن افزوده‌اند.


نقش جامعه توسعه‌دهندگان در Issabel

  • گزارش مشکلات و بهبودها: جامعه توسعه‌دهندگان نقش اصلی را در شناسایی مشکلات و پیشنهاد راه‌حل‌ها ایفا می‌کند. کاربران و توسعه‌دهندگان گزارشات خطا و مشکلاتی که با نسخه‌های مختلف Issabel دارند را به تیم اصلی توسعه گزارش می‌دهند. این گزارشات معمولاً در سیستم‌های ردیابی باگ مانند GitHub ثبت می‌شوند.
  • ارائه کد و ویژگی‌های جدید: بسیاری از ویژگی‌های جدید Issabel به کمک توسعه‌دهندگانی که کدهای خود را به پروژه اضافه می‌کنند، شکل گرفته است. این ویژگی‌ها ممکن است شامل بهبود امنیت، قابلیت‌های جدید VoIP، بهینه‌سازی عملکرد و حتی به‌روزرسانی‌های رابط کاربری باشد. تیم‌های مختلف توسعه‌دهنده به صورت مستقل در این پروژه همکاری می‌کنند و کدهای جدید را برای بررسی و ادغام در نسخه‌های جدید پیشنهاد می‌دهند.
  • مستندسازی و آموزش: مستندسازی یکی از بخش‌های کلیدی برای رشد یک پروژه متن‌باز است. جامعه توسعه‌دهندگان در Issabel علاوه بر کدنویسی، در تهیه مستندات فنی، راهنماهای نصب و پیکربندی، و آموزش‌های کاربردی برای کاربران و مدیران سیستم نیز فعال است. این مستندات در قالب ویدئوها، مقالات و مطالب موجود در وب‌سایت رسمی Issabel ارائه می‌شوند.
  • پشتیبانی و رفع مشکلات کاربران: یکی از ویژگی‌های برجسته در جوامع متن‌باز، پشتیبانی فعال از کاربران است. توسعه‌دهندگان و مهندسان Issabel در فروم‌ها و تالارهای گفتگو، به سوالات و مشکلات کاربران پاسخ می‌دهند و آن‌ها را در حل مشکلات راهنمایی می‌کنند. این پشتیبانی برای کاربران جدید و همچنین سازمان‌هایی که قصد استفاده از Issabel را دارند، بسیار مفید است.

نحوه مشارکت در پروژه Issabel

پروژه Issabel به توسعه‌دهندگان این امکان را می‌دهد که به راحتی در پروژه مشارکت کنند. این مشارکت می‌تواند به یکی از طرق زیر صورت گیرد:

  • افزودن ویژگی‌های جدید: توسعه‌دهندگان می‌توانند با پیشنهاد و ایجاد ویژگی‌های جدید در زمینه‌هایی مانند بهینه‌سازی VoIP، مدیریت SIP Trunks، امنیت تماس‌ها و … به بهبود Issabel کمک کنند.
  • برطرف کردن اشکالات و باگ‌ها: مشارکت در پروژه‌های متن‌باز معمولاً شامل رفع اشکالات گزارش‌شده توسط کاربران است. این بخش از توسعه بسیار حیاتی است، زیرا خطاهای کد می‌توانند تأثیرات زیادی بر عملکرد و قابلیت اطمینان سیستم داشته باشند.
  • ارتقای امنیت: یکی از جنبه‌های مهم توسعه در Issabel، امنیت است. جامعه توسعه‌دهندگان به‌طور مداوم در حال بررسی و پیشنهاد روش‌های جدید برای بهبود امنیت سیستم هستند تا از تهدیدات سایبری جلوگیری شود.

جمع‌بندی

جامعه توسعه‌دهندگان نقش بسیار مهمی در پیشرفت و تکامل پروژه Issabel داشته‌اند. مشارکت‌های آن‌ها در بهبود کد، رفع اشکالات، افزودن ویژگی‌های جدید و تهیه مستندات فنی موجب رشد این پروژه و تبدیل آن به یکی از گزینه‌های محبوب در حوزه VoIP و PBXهای متن‌باز شده است. همکاری‌های پیوسته این جامعه باعث حفظ کیفیت و امنیت بالای سیستم‌های تحت پوشش Issabel شده و به این پروژه کمک می‌کند تا همچنان به نیازهای روزافزون کاربران و سازمان‌ها پاسخ دهد.[/cdb_course_lesson][cdb_course_lesson title=”فصل 3. ویژگی‌های اصلی Issabel”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”رابط کاربری گرافیکی (GUI) و قابلیت‌های مدیریت از راه دور” subtitle=”توضیحات کامل”]در دنیای امروز، رابط کاربری گرافیکی (GUI) به عنوان ابزاری مهم برای تعامل کاربر با سیستم‌های نرم‌افزاری در نظر گرفته می‌شود. در پروژه Issabel نیز، رابط کاربری گرافیکی از اهمیت بالایی برخوردار است و باعث می‌شود که مدیران سیستم‌ها بتوانند به راحتی تنظیمات را پیکربندی و مدیریت کنند. این رابط کاربری گرافیکی علاوه بر سادگی، قابلیت‌هایی را برای مدیریت از راه دور نیز فراهم کرده است که به مدیران این امکان را می‌دهد تا سیستم را از هر مکانی کنترل و تنظیم کنند.


ویژگی‌های رابط کاربری گرافیکی Issabel

  1. رابط کاربری ساده و کاربرپسند:
    رابط کاربری Issabel طراحی شده است تا برای مدیران سیستم، حتی کسانی که تجربه زیادی در کار با سیستم‌های VoIP ندارند، ساده و قابل فهم باشد. منوها و گزینه‌های مختلف به وضوح نمایش داده می‌شوند و امکان دسترسی سریع به تنظیمات و ابزارها فراهم می‌شود.
  2. مدیریت تماس‌ها و مدیریت SIP Trunks:
    در رابط کاربری گرافیکی Issabel، مدیران سیستم می‌توانند به راحتی SIP Trunks را مدیریت کنند. این امکان به مدیران اجازه می‌دهد که ارتباطات VoIP را از طریق رابط وب کنترل کنند. همچنین، تنظیمات مختلف تماس‌ها از جمله تنظیمات Dial Plan، IVR، و Queueها به راحتی قابل تنظیم هستند.
  3. گزارش‌ها و نظارت بر عملکرد سیستم:
    یکی دیگر از ویژگی‌های مفید رابط کاربری Issabel، قابلیت مشاهده گزارش‌ها و آمارهای تماس است. مدیران می‌توانند به‌طور زنده مشاهده کنند که چند تماس در حال حاضر برقرار است، وضعیت SIP Trunks را بررسی کنند و آمار مربوط به زمان‌های انتظار، زمان تماس و … را مشاهده نمایند. این گزارش‌ها به کمک مدیران در تجزیه و تحلیل عملکرد سیستم و بهبود آن می‌آید.
  4. پیکربندی مدیریت تماس‌های ورودی و خروجی:
    در رابط کاربری Issabel، مدیران می‌توانند پیکربندی‌های مربوط به مسیرهای ورودی و خروجی (Inbound and Outbound Routes) را به راحتی انجام دهند. این بخش شامل تنظیمات برای مدیریت تماس‌های ورودی از شماره‌های مختلف و همچنین مدیریت شماره‌های خروجی برای تماس‌های VoIP است.

قابلیت‌های مدیریت از راه دور در Issabel

  1. دسترسی از راه دور (Remote Access):
    یکی از قابلیت‌های برجسته Issabel، امکان مدیریت سیستم از هر مکان و در هر زمانی است. با استفاده از رابط وب، مدیران سیستم می‌توانند بدون نیاز به حضور فیزیکی در سرور، تمامی تنظیمات و پیکربندی‌ها را انجام دهند. این ویژگی به‌ویژه برای سازمان‌هایی که چندین شعبه دارند یا تیم‌های مدیریت IT که به مکان‌های مختلف نیاز دارند، بسیار مفید است.
  2. دسترسی به کنترل پنل از طریق HTTPS:
    برای امنیت بیشتر، ارتباط با کنترل پنل Issabel از طریق HTTPS انجام می‌شود که به این معنی است که تمامی اطلاعات در حال انتقال از طریق این پورتال، رمزگذاری شده‌اند. این ویژگی به جلوگیری از دسترسی غیرمجاز و حملات سایبری کمک می‌کند.
  3. پیکربندی و کنترل از راه دور از طریق SSH:
    در کنار رابط گرافیکی، مدیران می‌توانند از SSH برای دسترسی به سرور و انجام تنظیمات از راه دور استفاده کنند. این امکان برای انجام کارهای پیشرفته‌تری مانند پیکربندی فایل‌های سیستمی و انجام دستورات CLI ضروری است. مدیران سیستم می‌توانند از طریق SSH به راحتی به سرور متصل شوند و تنظیمات عمیق‌تری را اعمال کنند.
  4. مدیریت و نظارت بر وضعیت سیستم از راه دور:
    مدیران سیستم می‌توانند با استفاده از ابزارهای نظارتی Issabel، وضعیت سیستم را از راه دور بررسی کنند. این ابزارها شامل مانیتورینگ تماس‌ها، وضعیت سخت‌افزاری، و گزارشات عملکرد سیستم می‌شوند که همه از طریق رابط وب قابل دسترسی هستند.

تنظیمات و پیکربندی‌ها

برای پیکربندی قابلیت‌های رابط کاربری گرافیکی Issabel، برخی از تنظیمات را می‌توان از طریق GUI انجام داد، در حالی که برخی دیگر ممکن است نیاز به تغییرات در فایل‌های پیکربندی داشته باشند. در اینجا یک نمونه از پیکربندی‌ها آورده شده است:

  1. دسترسی از راه دور: برای فعال‌سازی دسترسی از راه دور، مدیران باید تنظیمات SSL را در فایل پیکربندی انجام دهند.مسیر فایل:
    /etc/httpd/conf.d/ssl.conf

    دستور تنظیمات (برای فعال‌سازی HTTPS):

    sudo nano /etc/httpd/conf.d/ssl.conf
    

    در این فایل، باید آدرس IP یا دامنه خود را در بخش مربوط به VirtualHost وارد کنید. سپس وب‌سرور Apache را ریستارت کنید:

    sudo systemctl restart httpd
    
  2. پیکربندی SSH: برای دسترسی از راه دور به سرور از طریق SSH، فایل تنظیمات SSH باید اصلاح شود.مسیر فایل:
    /etc/ssh/sshd_config

    دستور پیکربندی SSH:

    sudo nano /etc/ssh/sshd_config
    

    گزینه‌های PermitRootLogin و PasswordAuthentication را بر اساس نیاز تنظیم کنید.

    سپس SSH را ریستارت کنید:

    sudo systemctl restart sshd
    

جمع‌بندی

رابط کاربری گرافیکی (GUI) در Issabel یکی از ویژگی‌های کلیدی است که مدیریت آسان و کارآمد سیستم VoIP را برای مدیران فراهم می‌کند. این رابط، علاوه بر سادگی، قابلیت‌های مختلفی مانند مدیریت تماس‌ها، SIP Trunks و نظارت بر عملکرد سیستم را ارائه می‌دهد. همچنین، قابلیت‌های مدیریت از راه دور به مدیران این امکان را می‌دهد تا سیستم را از هر مکانی کنترل کنند، با استفاده از HTTPS و SSH امنیت بالا در دسترسی‌های از راه دور فراهم می‌شود. این ویژگی‌ها Issabel را به ابزاری قدرتمند و قابل اعتماد برای سازمان‌ها تبدیل کرده است.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”پشتیبانی از پروتکل‌های VoIP (SIP، IAX)” subtitle=”توضیحات کامل”]پروتکل‌های VoIP مانند SIP و IAX از مهم‌ترین پروتکل‌ها برای ارتباطات صوتی از طریق اینترنت هستند. در Issabel، این پروتکل‌ها به‌طور کامل پشتیبانی می‌شوند و به مدیران سیستم امکان می‌دهند تا تماس‌های VoIP را به‌صورت بهینه و پایدار مدیریت کنند. در این قسمت به بررسی پشتیبانی از این دو پروتکل و نحوه پیکربندی آن‌ها در Issabel خواهیم پرداخت.


پروتکل SIP

SIP (Session Initiation Protocol) یکی از پرکاربردترین پروتکل‌ها در ارتباطات VoIP است. این پروتکل برای برقراری، مدیریت و خاتمه تماس‌ها در شبکه‌های VoIP استفاده می‌شود. Issabel از SIP برای برقراری تماس‌های صوتی و تصویری پشتیبانی می‌کند.

  1. پیکربندی SIP در Issabel: برای پیکربندی SIP در Issabel از طریق رابط گرافیکی، ابتدا به بخش “PBX” و سپس “Trunks” بروید. در اینجا می‌توانید یک SIP Trunk جدید اضافه کرده و تنظیمات آن را وارد کنید. تنظیمات شامل جزئیات زیر می‌باشد:
    • SIP Server: آدرس سرور SIP
    • Username: نام کاربری حساب SIP
    • Password: رمز عبور حساب SIP

    همچنین می‌توانید از بخش “Extensions” برای ایجاد اکانت‌های SIP استفاده کنید.

  2. پیکربندی SIP از طریق خط فرمان: برای پیکربندی SIP در Issabel از طریق خط فرمان، فایل تنظیمات SIP باید ویرایش شود. مسیر فایل پیکربندی SIP به‌طور پیش‌فرض در زیر قرار دارد:مسیر فایل:
    /etc/asterisk/sip.conf

    دستور ویرایش فایل:

    sudo nano /etc/asterisk/sip.conf
    

    در این فایل، تنظیمات مربوط به SIP Trunk و SIP Extension را می‌توان وارد کرد. به عنوان مثال، برای پیکربندی یک SIP Trunk ساده، تنظیمات زیر را می‌توان به فایل اضافه کرد:

    [my-sip-trunk]
    type=peer
    host=sip.provider.com
    username=my-username
    secret=my-password
    fromuser=my-username
    context=from-trunk
    

    پس از اعمال تغییرات، برای بارگذاری مجدد پیکربندی SIP دستور زیر را اجرا کنید:

    sudo asterisk -rx "sip reload"
    

پروتکل IAX

IAX (Inter-Asterisk Exchange) یک پروتکل اختصاصی برای ارتباطات VoIP است که به‌ویژه در ارتباطات بین سرورهای Asterisk و دیگر سیستم‌ها به کار می‌رود. IAX برخلاف SIP، از یک پورت واحد برای ارسال داده‌ها و سیگنال‌ها استفاده می‌کند که باعث کاهش مشکلات NAT و فایروال می‌شود.

  1. پیکربندی IAX در Issabel: مانند SIP، IAX نیز در Issabel از طریق رابط گرافیکی قابل پیکربندی است. برای پیکربندی یک IAX Trunk، ابتدا به بخش “PBX” و سپس “Trunks” بروید و “IAX2” را به عنوان نوع trunk انتخاب کنید. تنظیمات مورد نیاز شامل:
    • IAX Server: آدرس سرور IAX
    • Username: نام کاربری حساب IAX
    • Password: رمز عبور حساب IAX
  2. پیکربندی IAX از طریق خط فرمان: مانند SIP، برای پیکربندی IAX از طریق خط فرمان نیز باید فایل پیکربندی مربوطه را ویرایش کنید. مسیر فایل پیکربندی IAX در Issabel به شکل زیر است:مسیر فایل:
    /etc/asterisk/iax.conf

    دستور ویرایش فایل:

    sudo nano /etc/asterisk/iax.conf
    

    برای اضافه کردن تنظیمات یک IAX Trunk، می‌توانید به فایل پیکربندی این مقادیر را اضافه کنید:

    [my-iax-trunk]
    type=peer
    host=iax.provider.com
    username=my-username
    secret=my-password
    context=from-trunk
    

    پس از اعمال تغییرات، برای بارگذاری مجدد پیکربندی IAX دستور زیر را اجرا کنید:

    sudo asterisk -rx "iax2 reload"
    

مقایسه SIP و IAX

هر دو پروتکل SIP و IAX در ارتباطات VoIP استفاده می‌شوند، اما تفاوت‌های عمده‌ای بین آن‌ها وجود دارد:

  1. SIP:
    • معمولاً برای ارتباطات بین دستگاه‌های مختلف استفاده می‌شود.
    • به‌طور گسترده‌ای توسط سرویس‌دهندگان VoIP و تجهیزات تلفنی پشتیبانی می‌شود.
    • از چندین پورت برای انتقال سیگنال و داده‌ها استفاده می‌کند که ممکن است مشکلات NAT و فایروال را ایجاد کند.
  2. IAX:
    • به‌طور خاص برای ارتباطات بین سرورهای Asterisk و سیستم‌های مشابه طراحی شده است.
    • فقط از یک پورت برای سیگنال‌ها و داده‌ها استفاده می‌کند که مشکلات NAT و فایروال را کاهش می‌دهد.
    • سرعت و کیفیت بالاتری در انتقال داده‌ها از شبکه‌های کندتر و با تاخیر زیاد دارد.

جمع‌بندی

پروتکل‌های SIP و IAX هرکدام ویژگی‌های خاص خود را دارند و Issabel از هر دو پروتکل به‌طور کامل پشتیبانی می‌کند. SIP به‌عنوان یک پروتکل عمومی برای ارتباطات VoIP شناخته می‌شود و به‌راحتی در بسیاری از شبکه‌ها و سرویس‌دهندگان قابل استفاده است. در حالی که IAX بیشتر برای ارتباطات داخلی و بین سرورهای Asterisk مناسب است. پیکربندی هر دو پروتکل از طریق رابط گرافیکی و خط فرمان در Issabel ممکن است و مدیران سیستم می‌توانند با توجه به نیازهای خود این تنظیمات را به‌سادگی انجام دهند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”امکانات برای مدیریت تماس‌ها، گزارش‌گیری و نظارت بر کیفیت خدمات” subtitle=”توضیحات کامل”]یکی از جنبه‌های مهم هر سیستم ارتباطی VoIP، مدیریت موثر تماس‌ها و نظارت بر کیفیت خدمات است. در Issabel، ابزارهایی برای مدیریت تماس‌ها، ثبت گزارش‌ها و نظارت بر کیفیت خدمات ارائه شده است. این امکانات به مدیران سیستم این امکان را می‌دهد که از عملکرد سیستم VoIP اطمینان حاصل کرده و مشکلات را شناسایی و رفع کنند.


مدیریت تماس‌ها در Issabel

برای مدیریت تماس‌ها در Issabel، ابزارهای مختلفی مانند IVR، Queueها، و Call Routing وجود دارند که به شما امکان می‌دهند تماس‌ها را به‌طور مؤثر و کارآمد مدیریت کنید.

  1. IVR (Interactive Voice Response):
    • IVR به کاربران این امکان را می‌دهد که با انتخاب گزینه‌های مختلف در منوی صوتی، به بخش‌های مختلف هدایت شوند.
    • برای تنظیم IVR، وارد منوی “PBX” و سپس “IVR” شوید.
    • برای تنظیم از طریق رابط گرافیکی، گزینه “Add IVR” را انتخاب کرده و منوی صوتی خود را پیکربندی کنید.
  2. Queueها (Call Queues):
    • Queueها به شما این امکان را می‌دهند که تماس‌ها را بین نمایندگان توزیع کنید و ترتیب دریافت تماس‌ها را مدیریت کنید.
    • برای پیکربندی Queue، وارد “PBX” و سپس “Queues” شوید و یک Queue جدید ایجاد کنید.
    • تنظیمات شامل انتخاب نمایندگان، حداکثر زمان انتظار تماس‌ها و نحوه توزیع تماس‌ها می‌باشد.
  3. Call Routing (مسیر یابی تماس‌ها):
    • با استفاده از “Call Routing” می‌توانید تماس‌ها را به‌طور خودکار به مقصد مورد نظر هدایت کنید.
    • برای پیکربندی مسیر یابی، وارد “PBX” و سپس “Outbound Routes” یا “Inbound Routes” شوید.
    • در اینجا می‌توانید مسیرهای ورودی و خروجی تماس‌ها را تنظیم کنید.
  4. پیکربندی تماس‌ها از طریق خط فرمان:
    • برای انجام پیکربندی تماس‌ها از طریق خط فرمان، می‌توانید از فایل‌های پیکربندی Asterisk استفاده کنید.
    • مسیر فایل‌ها:
      /etc/asterisk/extensions.conf

    دستور ویرایش فایل:

    sudo nano /etc/asterisk/extensions.conf
    

    برای پیکربندی یک Route ساده، می‌توانید خطوط زیر را به فایل اضافه کنید:

    [incoming-routes]
    exten => _X.,1,Dial(SIP/${EXTEN})
    

گزارش‌گیری و نظارت بر تماس‌ها

یکی از بخش‌های حیاتی در هر سیستم VoIP، نظارت بر تماس‌ها و جمع‌آوری گزارش‌های دقیق است. در Issabel، ابزارهای متعددی برای گزارش‌گیری وجود دارد که به شما این امکان را می‌دهد تا کیفیت خدمات خود را ارزیابی کرده و مشکلات را شناسایی کنید.

  1. گزارش‌گیری تماس‌ها (Call Reports):
    • Issabel به‌طور خودکار گزارشی از تمامی تماس‌ها ثبت می‌کند که شامل جزئیات مربوط به زمان تماس، مدت زمان، هزینه‌ها و دیگر ویژگی‌های تماس است.
    • برای دسترسی به گزارش‌ها، به منوی “Reports” بروید و “Call Detail Records (CDR)” را انتخاب کنید.
    • شما می‌توانید فیلترهایی مانند تاریخ، مدت زمان تماس و نوع تماس را برای جستجو و تجزیه‌وتحلیل داده‌ها اعمال کنید.
  2. گزارش‌گیری از عملکرد سیستم (System Performance Reports):
    • Issabel همچنین گزارش‌هایی از عملکرد سیستم فراهم می‌کند که شامل استفاده از منابع، خطاهای سیستم و وضعیت سرویس‌ها است.
    • برای مشاهده این گزارش‌ها، به منوی “Reports” بروید و “System Reports” را انتخاب کنید.
  3. پیکربندی گزارش‌گیری از طریق خط فرمان:
    • برای تنظیم گزارش‌گیری تماس‌ها در Asterisk، شما می‌توانید از پیکربندی‌های CDR (Call Detail Records) استفاده کنید.
    • مسیر فایل:
      /etc/asterisk/cdr.conf

    دستور ویرایش فایل:

    sudo nano /etc/asterisk/cdr.conf
    

    در این فایل می‌توانید تنظیمات گزارش‌گیری را به شکل زیر پیکربندی کنید:

    [general]
    enable=yes
    loguniqueid=yes
    

    همچنین می‌توانید برای مشاهده گزارش‌های CDR از دستور زیر استفاده کنید:

    asterisk -rx "cdr show reports"
    

نظارت بر کیفیت خدمات (QoS)

نظارت بر کیفیت خدمات (QoS) در سیستم‌های VoIP از اهمیت زیادی برخوردار است. در Issabel، ابزارهایی برای نظارت بر کیفیت تماس‌ها و شناسایی مشکلات در شبکه مانند تاخیر، از دست رفتن بسته‌ها و jitter وجود دارد.

  1. Ntopng (نظارت بر ترافیک شبکه):
    • Ntopng یک ابزار برای نظارت بر ترافیک شبکه است که می‌تواند اطلاعاتی درباره کیفیت تماس‌های VoIP فراهم کند.
    • برای نصب Ntopng در Issabel، از دستور زیر استفاده کنید:
    sudo apt-get install ntopng
    

    پس از نصب، می‌توانید به آدرس IP سرور خود رفته و از رابط وب برای نظارت بر ترافیک استفاده کنید.

  2. Monitor Calls (نظارت بر تماس‌ها):
    • برای نظارت بر تماس‌های VoIP، شما می‌توانید از ابزار “Asterisk CLI” استفاده کنید.
    • برای مشاهده وضعیت تماس‌ها در زمان واقعی، دستور زیر را وارد کنید:
    sudo asterisk -rvv
    

    همچنین برای مشاهده جزئیات تماس‌های در حال انجام می‌توانید از دستور زیر استفاده کنید:

    asterisk -rx "core show channels"
    

جمع‌بندی

در Issabel، امکانات بسیاری برای مدیریت تماس‌ها، گزارش‌گیری و نظارت بر کیفیت خدمات وجود دارد. این امکانات شامل مدیریت تماس‌ها از طریق IVR، Queueها و Call Routing، گزارش‌گیری از تماس‌ها و عملکرد سیستم، و نظارت بر کیفیت خدمات (QoS) با استفاده از ابزارهایی مانند Ntopng و Asterisk CLI است. پیکربندی این ابزارها از طریق رابط گرافیکی و خط فرمان در دسترس است و مدیران سیستم می‌توانند با استفاده از این ابزارها عملکرد سیستم خود را به‌طور مؤثر مدیریت کنند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”قابلیت یکپارچگی با دیگر سیستم‌ها (CRM، نرم‌افزارهای تماس، سیستم‌های ایمیل و FAX)” subtitle=”توضیحات کامل”]یکی از ویژگی‌های مهم در هر سیستم تلفنی و ارتباطی، قابلیت یکپارچگی با دیگر سیستم‌هاست. در Issabel، این امکان فراهم شده است که بتوانید سیستم تلفنی خود را با سیستم‌های مختلف مانند CRM (مدیریت ارتباط با مشتری)، نرم‌افزارهای تماس، سیستم‌های ایمیل و FAX یکپارچه کنید. این یکپارچگی‌ها به شما این امکان را می‌دهند که بهره‌وری و کارایی سیستم‌های مختلف را افزایش دهید و به‌صورت یکپارچه و بدون نیاز به جابجایی میان ابزارهای مختلف، عملیات مختلف را انجام دهید.


یکپارچگی با سیستم‌های CRM

سیستم‌های CRM (Customer Relationship Management) برای مدیریت ارتباطات با مشتریان طراحی شده‌اند و یکپارچگی آن‌ها با Issabel می‌تواند به‌طور چشمگیری بهره‌وری را افزایش دهد. با این یکپارچگی، می‌توان اطلاعات تماس مشتریان را به‌طور خودکار در سیستم تلفنی وارد کرد و اطلاعات تماس‌ها، یادداشت‌ها و تاریخچه تماس‌ها را در سیستم CRM ذخیره کرد.

  1. یکپارچگی با سیستم‌های CRM مانند SugarCRM و Vtiger:
    • Issabel از طریق ماژول‌های اضافی از جمله “Issabel CRM” می‌تواند با سیستم‌های CRM یکپارچه شود.
    • با استفاده از این ماژول، اطلاعات تماس‌ها به‌صورت خودکار در سیستم CRM ذخیره می‌شود و کاربران می‌توانند مستقیماً از داخل CRM تماس‌ها را مدیریت کنند.
  2. پیکربندی یکپارچگی CRM در Issabel:
    • برای نصب و پیکربندی سیستم CRM در Issabel، ابتدا باید ماژول‌های مربوطه را از مخازن نصب کنید.
    • برای نصب ماژول Issabel CRM، دستور زیر را در ترمینال وارد کنید:
    sudo yum install issabel-crm
    
  3. پیکربندی از طریق رابط گرافیکی:
    • پس از نصب ماژول، وارد بخش “CRM” در داشبورد Issabel شوید.
    • در اینجا می‌توانید تنظیمات اتصال به سیستم CRM (مانند SugarCRM یا Vtiger) را انجام دهید و پیکربندی‌های مورد نیاز را اعمال کنید.

یکپارچگی با نرم‌افزارهای تماس

نرم‌افزارهای تماس به‌عنوان ابزاری برای مدیریت و انجام تماس‌های تلفنی استفاده می‌شوند. سیستم Issabel به‌راحتی می‌تواند با نرم‌افزارهایی مانند Zoiper، X-Lite و MicroSIP یکپارچه شود.

  1. یکپارچگی با نرم‌افزارهای SIP:
    • برای یکپارچه‌سازی Issabel با نرم‌افزارهای SIP مانند Zoiper، کافی است تنظیمات SIP Trunk را در Issabel انجام داده و مشخصات آن را در نرم‌افزار تماس وارد کنید.
    • مراحل انجام تنظیمات SIP:
      • ابتدا وارد منوی “PBX” و سپس “Trunks” شوید.
      • یک SIP Trunk جدید ایجاد کرده و اطلاعات مربوط به سرور SIP و پورت‌ها را وارد کنید.
      • پس از ذخیره تنظیمات، این تنظیمات را در نرم‌افزار تماس خود وارد کنید.

    پیکربندی SIP در Issabel: مسیر فایل تنظیمات SIP:
    /etc/asterisk/sip.conf

    برای پیکربندی SIP Trunk به صورت دستی از طریق خط فرمان، دستور زیر را وارد کنید:

    sudo nano /etc/asterisk/sip.conf
    

    در این فایل می‌توانید تنظیمات Trunk خود را به‌صورت زیر اضافه کنید:

    [mytrunk]
    type=peer
    host=sip.provider.com
    username=yourusername
    secret=yourpassword
    

یکپارچگی با سیستم‌های ایمیل

سیستم‌های ایمیل برای ارسال و دریافت ایمیل‌ها مورد استفاده قرار می‌گیرند. در Issabel، این قابلیت وجود دارد که بتوانید سیستم تلفنی خود را با سیستم‌های ایمیل یکپارچه کرده و تماس‌ها و پیغام‌های صوتی را از طریق ایمیل دریافت و ارسال کنید.

  1. ارسال پیام‌های صوتی به ایمیل:
    • می‌توانید تماس‌های ضبط‌شده را به‌صورت خودکار به ایمیل ارسال کنید. برای این کار، تنظیمات مربوط به ارسال ایمیل در Issabel باید پیکربندی شود.
    • برای پیکربندی ارسال ایمیل، وارد “System Settings” و سپس “Email Settings” شوید.
    • در اینجا می‌توانید تنظیمات SMTP سرور خود را وارد کنید و پس از آن تماس‌ها و پیام‌های صوتی را به‌صورت خودکار به ایمیل ارسال کنید.
  2. پیکربندی ارسال ایمیل در Issabel: مسیر فایل تنظیمات ایمیل:
    /etc/asterisk/voicemail.conf

    برای پیکربندی ارسال ایمیل از طریق Asterisk:

    sudo nano /etc/asterisk/voicemail.conf
    

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

    [general]
    emailbody=Voicemail received
    emailnotify=yes
    

یکپارچگی با سیستم‌های FAX

سیستم‌های FAX به‌طور گسترده در سازمان‌ها و شرکت‌ها برای ارسال و دریافت اسناد استفاده می‌شوند. Issabel از قابلیت یکپارچگی با سیستم‌های FAX از طریق پروتکل‌های T.38 و سیستم‌های FAX نرم‌افزاری مانند Hylafax پشتیبانی می‌کند.

  1. یکپارچگی با Hylafax:
    • Hylafax یک سیستم نرم‌افزاری برای ارسال و دریافت FAX است که می‌تواند به‌طور یکپارچه با Issabel کار کند.
    • برای یکپارچگی Issabel با Hylafax، باید ماژول Hylafax را نصب کرده و تنظیمات آن را انجام دهید.
    • برای نصب Hylafax، از دستور زیر استفاده کنید:
    sudo yum install hylafax
    
  2. پیکربندی یکپارچگی FAX در Issabel:
    • بعد از نصب Hylafax، باید مسیر فایل تنظیمات FAX را بررسی کنید. مسیر فایل تنظیمات FAX:
      /etc/asterisk/fax.conf

    برای ویرایش تنظیمات FAX:

    sudo nano /etc/asterisk/fax.conf
    

    در این فایل می‌توانید تنظیمات مربوط به ارسال و دریافت FAX را پیکربندی کنید:

    [general]
    faxdetect=yes
    

جمع‌بندی

در Issabel، قابلیت‌های یکپارچگی با دیگر سیستم‌ها مانند CRM، نرم‌افزارهای تماس، سیستم‌های ایمیل و FAX وجود دارد که به شما این امکان را می‌دهند که سیستم تلفنی خود را با سایر ابزارهای مورد استفاده در سازمان یکپارچه کنید. این یکپارچگی‌ها شامل ارتباط با سیستم‌های CRM برای ذخیره‌سازی اطلاعات تماس، اتصال به نرم‌افزارهای SIP برای مدیریت تماس‌ها، ارسال و دریافت ایمیل‌ها برای پیغام‌های صوتی، و یکپارچگی با سیستم‌های FAX برای ارسال و دریافت اسناد می‌باشند. پیکربندی این امکانات از طریق رابط گرافیکی و خط فرمان امکان‌پذیر است و تمامی تنظیمات در فایل‌های مربوطه قابل تغییر و تنظیم می‌باشند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”امنیت سیستم و قابلیت پشتیبان‌گیری” subtitle=”توضیحات کامل”]امنیت سیستم‌های تلفنی VoIP مانند Issabel از اهمیت بالایی برخوردار است زیرا این سیستم‌ها می‌توانند هدف حملات سایبری مختلف قرار بگیرند. همچنین، پشتیبان‌گیری از اطلاعات و تنظیمات سیستم، از جمله تماس‌ها، پیام‌های صوتی، و تنظیمات سیستم، برای اطمینان از حفظ داده‌ها در صورت بروز مشکلات یا خرابی سیستم حیاتی است. در این بخش، به بررسی ویژگی‌های امنیتی Issabel و روش‌های پشتیبان‌گیری آن خواهیم پرداخت.


امنیت سیستم در Issabel

برای محافظت از سیستم Issabel در برابر تهدیدات امنیتی، چندین ویژگی و تکنیک مختلف امنیتی در این سیستم گنجانده شده است. از جمله این ویژگی‌ها می‌توان به موارد زیر اشاره کرد:

  1. فایروال و محدود کردن دسترسی‌ها:
    • در Issabel، می‌توان از فایروال برای محدود کردن دسترسی به سرویس‌های مختلف استفاده کرد. فایروال برای جلوگیری از دسترسی‌های غیرمجاز به سیستم اهمیت زیادی دارد.
    • برای تنظیمات فایروال، می‌توانید از ابزارهای استاندارد مانند iptables استفاده کنید.

    پیکربندی فایروال: مسیر فایل تنظیمات فایروال:
    /etc/sysconfig/iptables

    برای ویرایش این فایل و اعمال تنظیمات فایروال، دستور زیر را وارد کنید:

    sudo nano /etc/sysconfig/iptables
    

    برای باز کردن پورت‌های خاص مانند SIP (5060) و IAX (4569) در فایروال، می‌توانید از دستورات زیر استفاده کنید:

    -A INPUT -p udp --dport 5060 -j ACCEPT
    -A INPUT -p udp --dport 4569 -j ACCEPT
    
  2. رمزگذاری تماس‌ها:
    • برای حفاظت از اطلاعات تماس، Issabel از تکنیک‌های رمزگذاری مانند TLS برای SIP Trunks و SRTP برای رمزگذاری تماس‌های صوتی پشتیبانی می‌کند.
    • برای فعال کردن رمزگذاری TLS، شما باید در تنظیمات SIP خود، گزینه tls را فعال کنید.

    پیکربندی TLS در Issabel: مسیر فایل تنظیمات SIP:
    /etc/asterisk/sip.conf

    برای فعال‌سازی TLS در فایل تنظیمات SIP، دستور زیر را وارد کنید:

    sudo nano /etc/asterisk/sip.conf
    

    سپس، تنظیمات زیر را اضافه کنید:

    [general]
    tlsenable=yes
    tlsbindaddr=0.0.0.0
    tlscertfile=/etc/asterisk/keys/asterisk.pem
    tlscafile=/etc/asterisk/keys/ca.crt
    
  3. احراز هویت دو مرحله‌ای (2FA):
    • برای افزایش امنیت دسترسی به سیستم Issabel، می‌توانید از احراز هویت دو مرحله‌ای (2FA) استفاده کنید.
    • برای فعال‌سازی 2FA، از ماژول‌های اضافی مانند Google Authenticator می‌توانید استفاده کنید.
    • در این حالت، پس از وارد کردن رمز عبور، باید یک کد تایید از برنامه Google Authenticator وارد کنید.

قابلیت پشتیبان‌گیری در Issabel

پشتیبان‌گیری منظم از سیستم‌های VoIP برای جلوگیری از از دست دادن اطلاعات مهم نظیر تنظیمات SIP Trunk، تماس‌های ضبط‌شده و پیکربندی‌های سیستم ضروری است. در Issabel، ابزارهایی برای انجام پشتیبان‌گیری خودکار یا دستی از سیستم وجود دارد.

  1. پشتیبان‌گیری از تنظیمات سیستم:
    • برای پشتیبان‌گیری از تنظیمات Issabel، می‌توانید از ابزارهای داخلی مانند Backup & Restore استفاده کنید که به شما این امکان را می‌دهد تا تنظیمات و اطلاعات سیستم را به‌راحتی ذخیره کرده و در صورت نیاز به بازیابی، از آن استفاده کنید.
    • برای دسترسی به این ابزار، وارد رابط کاربری Issabel شوید و به بخش “Backup & Restore” بروید.
  2. پشتیبان‌گیری از پایگاه داده:
    • برای پشتیبان‌گیری از پایگاه داده، می‌توانید از دستورات MySQL استفاده کنید تا یک نسخه پشتیبان از داده‌های Issabel تهیه کنید.
    • برای پشتیبان‌گیری از پایگاه داده، دستور زیر را وارد کنید:
    mysqldump -u root -p --all-databases > /var/backups/issabel_backup.sql
    

    این دستور یک نسخه پشتیبان از تمام پایگاه‌های داده سیستم تهیه می‌کند.

  3. پشتیبان‌گیری از فایل‌های ضبط تماس:
    • برای پشتیبان‌گیری از فایل‌های ضبط تماس، می‌توانید از ابزارهایی مانند rsync استفاده کنید تا این فایل‌ها را به یک سرور پشتیبان منتقل کنید.
    • دستور پشتیبان‌گیری از فایل‌های ضبط تماس:
    rsync -av /var/spool/asterisk/monitor/ /path/to/backup/folder/
    
  4. پشتیبان‌گیری از تنظیمات Asterisk:
    • برای پشتیبان‌گیری از تنظیمات Asterisk که در Issabel استفاده می‌شود، می‌توانید از ابزار tar برای فشرده‌سازی و ذخیره این تنظیمات استفاده کنید.
    • دستور پشتیبان‌گیری از تنظیمات Asterisk:
    tar -czf /path/to/backup/asterisk_config_backup.tar.gz /etc/asterisk/
    
  5. پشتیبان‌گیری خودکار با استفاده از Cron:
    • برای انجام پشتیبان‌گیری به‌صورت منظم، می‌توانید از Cron برای زمان‌بندی این عملیات استفاده کنید.
    • برای ایجاد یک کران جاب برای پشتیبان‌گیری روزانه، دستور زیر را وارد کنید:
    sudo crontab -e
    

    سپس دستور پشتیبان‌گیری روزانه را اضافه کنید:

    0 2 * * * /usr/bin/mysqldump -u root -p --all-databases > /var/backups/issabel_backup.sql
    

جمع‌بندی

امنیت و پشتیبان‌گیری در Issabel بخش‌های حیاتی برای تضمین حفظ داده‌ها و محافظت در برابر تهدیدات امنیتی هستند. برای امنیت سیستم، می‌توان از روش‌هایی نظیر فایروال، رمزگذاری تماس‌ها با استفاده از TLS و SRTP، و احراز هویت دو مرحله‌ای استفاده کرد. همچنین، پشتیبان‌گیری منظم از تنظیمات سیستم، پایگاه داده و فایل‌های ضبط تماس با استفاده از ابزارهایی مانند MySQL Dump و Rsync از اهمیت ویژه‌ای برخوردار است. با این روش‌ها می‌توان از اطلاعات و تنظیمات سیستم Issabel محافظت کرده و در صورت بروز مشکلات، به‌راحتی آن‌ها را بازیابی کرد.[/cdb_course_lesson][cdb_course_lesson title=”فصل 4. تفاوت Issabel با Asterisk”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”شرح تفاوت‌های کلیدی بین Issabel و Asterisk (Issabel به‌عنوان یک رابط گرافیکی برای Asterisk)” subtitle=”توضیحات کامل”]Asterisk و Issabel هر دو ابزارهای پیشرفته‌ای برای مدیریت سیستم‌های تلفنی VoIP هستند، اما با تفاوت‌های قابل‌توجهی در سطح عملکرد و قابلیت‌ها از یکدیگر متمایز می‌شوند. Asterisk یک سیستم تلفنی منبع باز است که قابلیت‌های فراوانی را برای ایجاد و مدیریت سیستم‌های VoIP فراهم می‌کند. در حالی که Issabel به‌عنوان یک رابط کاربری گرافیکی (GUI) برای Asterisk طراحی شده است، به کاربران این امکان را می‌دهد تا با استفاده از یک رابط کاربری ساده‌تر، به مدیریت و پیکربندی Asterisk بپردازند.


Asterisk: سیستم تلفنی منبع باز

Asterisk به‌عنوان یک سیستم تلفنی منبع باز، هسته‌ی اصلی بسیاری از سیستم‌های تلفنی VoIP و PBX است. این نرم‌افزار به‌طور گسترده برای پیاده‌سازی ارتباطات تلفنی، تماس‌های صوتی، و پیاده‌سازی خدمات VoIP در کسب‌وکارهای مختلف مورد استفاده قرار می‌گیرد.

  1. ویژگی‌ها و قابلیت‌ها:
    • انعطاف‌پذیری بالا: Asterisk به‌عنوان یک سیستم تلفنی منبع باز، به کاربران این امکان را می‌دهد که به‌طور کامل آن را سفارشی‌سازی کرده و ویژگی‌های مختلفی مانند مدیریت تماس، سیستم‌های پاسخ‌گوی خودکار (IVR)، صندوق پستی صوتی، سیستم‌های صف تماس (Queue)، و غیره را پیاده‌سازی کنند.
    • پشتیبانی از پروتکل‌های VoIP: Asterisk از پروتکل‌های مختلف VoIP مانند SIP و IAX پشتیبانی می‌کند و به کاربران این امکان را می‌دهد که با استفاده از این پروتکل‌ها، تماس‌های صوتی را برقرار کنند.
    • عدم رابط کاربری گرافیکی (GUI): Asterisk در اصل یک ابزار خط فرمان است که برای پیکربندی و مدیریت آن به دستورات CLI نیاز است. این امر برای کاربرانی که آشنایی با خط فرمان دارند مناسب است، اما ممکن است برای برخی از کاربران مبتدی دشوار باشد.
  2. پیکربندی و مدیریت:
    • برای پیکربندی Asterisk، کاربران باید فایل‌های پیکربندی مختلف مانند sip.conf و extensions.conf را ویرایش کنند.
    • بسیاری از تنظیمات و پیکربندی‌ها از طریق دستورات خط فرمان یا ویرایش مستقیم فایل‌ها انجام می‌شود که ممکن است نیاز به تخصص در مدیریت سیستم‌های لینوکس و VoIP داشته باشد.

Issabel: رابط کاربری گرافیکی برای Asterisk

Issabel یک سیستم نرم‌افزاری است که به‌عنوان یک رابط کاربری گرافیکی برای Asterisk طراحی شده است. هدف اصلی Issabel این است که فرآیندهای پیچیده پیکربندی و مدیریت Asterisk را ساده‌سازی کرده و به کاربران این امکان را بدهد که به‌راحتی از ویژگی‌های قدرتمند Asterisk استفاده کنند.

  1. ویژگی‌ها و قابلیت‌ها:
    • رابط کاربری گرافیکی (GUI): Issabel به‌عنوان یک رابط کاربری گرافیکی برای Asterisk عمل می‌کند و تمامی تنظیمات و پیکربندی‌های مختلف را از طریق یک رابط کاربری بصری و ساده ارائه می‌دهد. این رابط کاربری برای کسانی که آشنایی با خط فرمان ندارند، بسیار کاربرپسند است.
    • مدیریت ساده تماس‌ها و کاربران: Issabel به‌کاربران این امکان را می‌دهد که تماس‌ها، کاربران و دستگاه‌های تلفنی را به‌راحتی مدیریت کنند. این کار به کمک فرم‌ها و رابط‌های گرافیکی ساده و قابل درک انجام می‌شود.
    • ویژگی‌های اضافی: علاوه بر ویژگی‌های اصلی Asterisk، Issabel ابزارهایی برای مدیریت تماس‌ها، ضبط تماس، گزارش‌گیری، مدیریت صندوق پستی صوتی، و تنظیمات پیشرفته PBX نیز ارائه می‌دهد.
    • مدیریت از راه دور: Issabel امکانات مدیریت از راه دور را فراهم می‌کند که به مدیران این امکان را می‌دهد تا از هر نقطه‌ای به سیستم دسترسی داشته و آن را مدیریت کنند.
  2. پیکربندی و مدیریت:
    • در Issabel، بیشتر تنظیمات و پیکربندی‌ها از طریق پنل مدیریتی انجام می‌شود که به کاربران اجازه می‌دهد تا بدون نیاز به ویرایش فایل‌های پیکربندی دستی، تنظیمات سیستم را اعمال کنند.
    • همچنین، بسیاری از وظایف پیچیده که در Asterisk نیاز به دستورات CLI دارند، در Issabel از طریق صفحات تنظیمات گرافیکی انجام می‌شود.

تفاوت‌های کلیدی

  1. رابط کاربری:
    • Asterisk فاقد رابط کاربری گرافیکی است و تنها از طریق خط فرمان و ویرایش فایل‌های پیکربندی قابل مدیریت است.
    • Issabel با ارائه یک رابط کاربری گرافیکی (GUI) فرآیند پیکربندی و مدیریت Asterisk را برای کاربران ساده‌تر می‌کند.
  2. سطح دسترسی و پیکربندی:
    • Asterisk برای تنظیمات نیاز به دانش عمیق از خط فرمان و فایل‌های پیکربندی دارد.
    • Issabel به‌عنوان یک رابط گرافیکی، بسیاری از تنظیمات را به‌صورت بصری و از طریق فرم‌ها و منوهای گرافیکی قابل دسترسی می‌کند.
  3. ویژگی‌های اضافی:
    • Asterisk ویژگی‌های پیشرفته‌ای برای مدیریت تماس‌ها، IVR، صف تماس‌ها و سایر قابلیت‌های VoIP دارد، اما نیاز به تنظیمات دستی و پیکربندی پیچیده دارد.
    • Issabel علاوه بر ارائه دسترسی آسان به ویژگی‌های Asterisk، ابزارهایی برای گزارش‌گیری، نظارت بر کیفیت تماس‌ها، مدیریت صندوق پستی صوتی، و تنظیمات اضافی را نیز ارائه می‌دهد.
  4. کاربران هدف:
    • Asterisk بیشتر برای مدیران سیستم و متخصصان VoIP مناسب است که آشنایی با خط فرمان دارند.
    • Issabel برای کسانی که به دنبال یک راه‌حل ساده و گرافیکی برای مدیریت Asterisk هستند، مناسب‌تر است.

جمع‌بندی

Asterisk و Issabel هر دو ابزارهای قدرتمند در دنیای VoIP هستند، اما با رویکردهای متفاوت. Asterisk یک سیستم تلفنی منبع باز است که انعطاف‌پذیری بسیار بالایی دارد، اما برای مدیریت و پیکربندی آن نیاز به دانش فنی و تسلط بر خط فرمان است. در مقابل، Issabel به‌عنوان یک رابط کاربری گرافیکی برای Asterisk، فرآیندهای پیکربندی و مدیریت را ساده‌تر کرده و به کاربران این امکان را می‌دهد که بدون نیاز به تخصص فنی، از ویژگی‌های پیشرفته Asterisk استفاده کنند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”معرفی قابلیت‌های گرافیکی Issabel در مقابل تنظیمات خط فرمان در Asterisk” subtitle=”توضیحات کامل”]Asterisk و Issabel هر دو به‌عنوان ابزارهای قدرتمند در حوزه VoIP شناخته می‌شوند. Asterisk در اصل یک سیستم تلفنی منبع باز است که به‌طور گسترده برای پیاده‌سازی سیستم‌های PBX و VoIP مورد استفاده قرار می‌گیرد، اما نیاز به پیکربندی از طریق خط فرمان دارد. در مقابل، Issabel به‌عنوان یک رابط گرافیکی برای Asterisk، امکانات و قابلیت‌های آن را از طریق یک رابط کاربری ساده و بصری به کاربران ارائه می‌دهد. در این بخش، به بررسی قابلیت‌های گرافیکی Issabel و نحوه مقایسه آن با تنظیمات خط فرمان در Asterisk خواهیم پرداخت.


قابلیت‌های گرافیکی Issabel

Issabel به‌عنوان یک سیستم مدیریت VoIP مبتنی بر Asterisk، قابلیت‌های گرافیکی بسیار کاربردی و ساده‌ای را برای پیکربندی و مدیریت سیستم ارائه می‌دهد. این قابلیت‌ها به‌ویژه برای کاربرانی که به خط فرمان آشنایی ندارند یا تمایل به استفاده از رابط گرافیکی دارند، بسیار مفید است.

  1. رابط کاربری گرافیکی (GUI):
    • Issabel یک رابط کاربری گرافیکی بسیار ساده و کاربرپسند برای مدیریت سیستم‌های Asterisk فراهم می‌آورد.
    • این رابط شامل داشبوردهایی برای نمایش وضعیت کلی سیستم، تماس‌ها، صف‌ها و کاربران است.
    • دسترسی به تنظیمات مختلف از طریق منوهای قابل دسترس، فرم‌ها و صفحات تنظیمات انجام می‌شود.
  2. مدیریت کاربران و تلفن‌ها:
    • از طریق GUI می‌توان به‌راحتی کاربران جدید اضافه کرد، تنظیمات آن‌ها را ویرایش کرد و دستگاه‌های تلفنی را مدیریت نمود.
    • می‌توان کاربران را در گروه‌های مختلف قرار داد، برای آن‌ها ویژگی‌های خاص تعیین کرد و همچنین دسترسی به ویژگی‌های مختلف سیستم را تنظیم نمود.
  3. پیکربندی VoIP و پروتکل‌ها:
    • Issabel امکان پیکربندی و مدیریت پروتکل‌های VoIP مانند SIP و IAX را از طریق صفحات تنظیمات گرافیکی فراهم می‌کند.
    • کاربران می‌توانند تنظیمات مربوط به NAT، کدک‌ها، DTMF و سایر ویژگی‌های مرتبط با پروتکل‌های VoIP را به‌سادگی تنظیم کنند.
  4. مدیریت تماس‌ها و صف‌ها:
    • مدیریت صف‌های تماس، IVR، ضبط تماس‌ها، مسیریابی تماس‌ها، و مدیریت تماس‌ها از طریق پنل گرافیکی Issabel به‌راحتی امکان‌پذیر است.
    • این تنظیمات شامل تعریف مسیرهای ورودی و خروجی، صف‌ها و گروه‌های تماس می‌شود.
  5. گزارش‌گیری و نظارت:
    • Issabel امکانات گزارش‌گیری و نظارت بر کیفیت تماس‌ها، میزان مصرف منابع، و وضعیت سیستم را به‌طور گرافیکی فراهم می‌آورد.
    • این گزارش‌ها می‌توانند شامل اطلاعاتی مانند تعداد تماس‌های ورودی و خروجی، کیفیت تماس‌ها، و وضعیت سیستم باشند.

تنظیمات خط فرمان در Asterisk

در مقابل، Asterisk به‌عنوان یک سیستم تلفنی کاملاً منبع باز، بیشتر بر اساس دستورات خط فرمان و فایل‌های پیکربندی کار می‌کند. این امر می‌تواند برای مدیران سیستم‌هایی که آشنایی به خط فرمان دارند مناسب باشد، اما برای کاربران مبتدی می‌تواند پیچیده باشد.

  1. پیکربندی دستی فایل‌ها:
    • برای پیکربندی Asterisk، باید فایل‌های مختلف پیکربندی مانند sip.conf, extensions.conf, iax.conf و manager.conf ویرایش شوند.
    • این فایل‌ها باید به‌صورت دستی و با دقت ویرایش شوند تا ویژگی‌های مختلف Asterisk تنظیم گردد.
    • برای مثال، برای تنظیمات SIP در Asterisk، باید فایل sip.conf ویرایش شود که شامل اطلاعات مربوط به کاربران SIP و تنظیمات NAT، کدک‌ها و ویژگی‌های دیگر است.
    nano /etc/asterisk/sip.conf
    

    در این فایل، می‌توانید کاربران SIP و پروفایل‌های مختلف آن‌ها را به‌طور دستی پیکربندی کنید.

  2. دستورات CLI:
    • Asterisk همچنین از یک رابط خط فرمان برای مدیریت سیستم استفاده می‌کند. این دستورات شامل اجرای عملیات مختلف مانند بارگذاری ماژول‌ها، بررسی وضعیت سیستم، مشاهده تماس‌ها و اجرای تست‌ها می‌شود.

    برای مثال، دستور زیر برای مشاهده وضعیت سیستم Asterisk استفاده می‌شود:

    asterisk -r
    

    پس از وارد شدن به محیط خط فرمان Asterisk، می‌توانید وضعیت مختلف سیستم مانند وضعیت خطوط SIP، کانال‌ها، و تماس‌ها را مشاهده کنید.

  3. ماژول‌ها و ماژول‌های قابل تنظیم:
    • Asterisk امکان بارگذاری و پیکربندی ماژول‌های مختلف را از طریق خط فرمان فراهم می‌آورد. این ماژول‌ها می‌توانند ویژگی‌های مختلف مانند سیستم‌های IVR، صف‌ها، ضبط تماس‌ها و غیره را پیاده‌سازی کنند.
  4. تست و عیب‌یابی:
    • در Asterisk، برای تست و عیب‌یابی سیستم، کاربران باید از دستورات CLI برای بررسی وضعیت تماس‌ها، تنظیمات شبکه، خطاها و لاگ‌ها استفاده کنند.

    برای بررسی وضعیت تماس‌ها می‌توان از دستور زیر استفاده کرد:

    core show channels
    

مقایسه قابلیت‌های گرافیکی Issabel و تنظیمات خط فرمان Asterisk

ویژگی Issabel (GUI) Asterisk (CLI)
رابط کاربری گرافیکی و کاربرپسند خط فرمان
مدیریت کاربران و تلفن‌ها از طریق فرم‌ها و پنل‌ها ویرایش فایل‌های پیکربندی
پیکربندی پروتکل‌ها تنظیمات گرافیکی برای SIP و IAX ویرایش فایل‌های sip.conf و iax.conf
مدیریت تماس‌ها و صف‌ها از طریق رابط گرافیکی ساده ویرایش فایل‌ها و تنظیمات دستی
گزارش‌گیری و نظارت گزارش‌گیری گرافیکی و نظارت بر سیستم استفاده از دستورات CLI برای بررسی وضعیت
نیاز به تخصص مناسب برای کاربران مبتدی نیاز به آشنایی با خط فرمان و پیکربندی دستی

جمع‌بندی

در نهایت، Issabel و Asterisk هر دو ابزارهای بسیار قدرتمند برای مدیریت سیستم‌های تلفنی VoIP هستند. Issabel با ارائه یک رابط کاربری گرافیکی (GUI)، فرآیندهای پیکربندی و مدیریت سیستم را برای کاربران ساده‌تر کرده و به کسانی که آشنایی با خط فرمان ندارند این امکان را می‌دهد که از تمامی قابلیت‌های Asterisk بهره‌برداری کنند. در مقابل، Asterisk به‌عنوان یک سیستم منبع باز و مبتنی بر خط فرمان، بیشتر برای کاربران متخصص و کسانی که تجربه کار با خط فرمان دارند مناسب است.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”بررسی مزایای استفاده از Issabel برای کاربران مبتدی و محیط‌های تجاری کوچک و متوسط” subtitle=”توضیحات کامل”]Issabel یک سیستم مبتنی بر Asterisk است که به‌ویژه برای کاربران مبتدی و محیط‌های تجاری کوچک و متوسط طراحی شده است. این سیستم با ارائه یک رابط کاربری گرافیکی (GUI) بسیار ساده و کاربرپسند، بسیاری از پیچیدگی‌های Asterisk را مخفی کرده و به کاربران این امکان را می‌دهد که بدون نیاز به دانش عمیق از خط فرمان، سیستم‌های VoIP را مدیریت و پیکربندی کنند. در این بخش، به بررسی مزایای استفاده از Issabel برای این گروه‌ها می‌پردازیم.


1. رابط کاربری گرافیکی ساده و قابل دسترس

Issabel با استفاده از یک رابط کاربری گرافیکی، امکان مدیریت سیستم‌های VoIP را برای کاربران مبتدی بسیار ساده می‌کند. از آنجا که کاربران نیاز به نوشتن دستورات پیچیده یا ویرایش فایل‌های پیکربندی دستی ندارند، فرآیند پیکربندی سیستم به‌راحتی از طریق فرم‌ها و منوهای گرافیکی انجام می‌شود.

  • اضافه کردن کاربر جدید: در Issabel برای افزودن یک کاربر جدید، فقط کافی است اطلاعات کاربر را وارد کرده و تنظیمات مختلف از جمله شماره تلفن و ویژگی‌ها را انتخاب کنید.
  • مدیریت تماس‌ها و صف‌ها: ایجاد صف‌های تماس، گروه‌های تماس، تنظیمات IVR و مسیریابی تماس‌ها از طریق یک داشبورد گرافیکی قابل انجام است.

به عنوان مثال، برای اضافه کردن یک کاربر جدید در Issabel، می‌توان به راحتی از طریق رابط کاربری به بخش “Users” رفته و کاربران را مدیریت کرد.


2. مقرون به‌صرفه بودن و آسانی در پیاده‌سازی برای محیط‌های تجاری کوچک و متوسط

در محیط‌های تجاری کوچک و متوسط، نیاز به یک سیستم تلفنی با هزینه کم و نصب ساده وجود دارد. Issabel این ویژگی‌ها را ارائه می‌دهد، زیرا نصب آن بسیار ساده است و نیازی به پیکربندی پیچیده یا سخت‌افزار گران‌قیمت ندارد. همچنین، با استفاده از این سیستم می‌توان یک سیستم تلفنی مقیاس‌پذیر و کارآمد را به‌راحتی پیاده‌سازی کرد.

  • نصب ساده: نصب Issabel تنها چند مرحله ساده دارد و پس از نصب، تمامی تنظیمات از طریق پنل گرافیکی قابل انجام است.
  • پشتیبانی از SIP Trunks و VoIP: کاربران می‌توانند از پروتکل‌های VoIP مختلف نظیر SIP برای اتصال به سرویس‌دهندگان تلفنی و پیاده‌سازی سیستم تلفنی خود استفاده کنند.

برای نصب Issabel، کافی است دستورالعمل‌های موجود در مستندات رسمی را دنبال کرده و سیستم را از طریق فایل ISO نصب کنید.


3. مدیریت از راه دور

یکی از ویژگی‌های مهم Issabel، قابلیت مدیریت سیستم از راه دور است. این امکان به مدیران سیستم این اجازه را می‌دهد که به‌راحتی سیستم VoIP خود را بدون نیاز به حضور فیزیکی در محل کنترل کنند.

  • دسترسی از راه دور: با استفاده از رابط وب، مدیران سیستم می‌توانند از هر مکانی به سیستم وصل شوند و آن را مدیریت کنند.
  • پشتیبانی از VPN: در صورتی که امنیت بیشتری مورد نیاز باشد، می‌توان از VPN برای دسترسی ایمن به رابط کاربری Issabel استفاده کرد.

برای مدیریت Issabel از راه دور، کافی است تنظیمات دسترسی به رابط وب را در فایل /etc/httpd/conf/httpd.conf انجام دهید و سپس از طریق مرورگر به رابط وب دسترسی پیدا کنید.

nano /etc/httpd/conf/httpd.conf

4. گزارش‌گیری و نظارت بر سیستم

Issabel امکانات گرافیکی مناسبی برای گزارش‌گیری و نظارت بر کیفیت خدمات ارائه می‌دهد. این ویژگی‌ها برای محیط‌های تجاری کوچک و متوسط که نیاز به نظارت دقیق و به‌موقع دارند بسیار مفید است.

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

5. پشتیبانی از چندین پروتکل VoIP

Issabel از پروتکل‌های VoIP مختلف مانند SIP و IAX پشتیبانی می‌کند. این به کاربران این امکان را می‌دهد که به‌راحتی به سرویس‌دهندگان مختلف VoIP متصل شده و تنظیمات مربوط به پروتکل‌ها را به‌سادگی انجام دهند.

  • پیکربندی SIP: کاربران می‌توانند تنظیمات SIP را از طریق رابط گرافیکی Issabel پیکربندی کنند.
  • پیکربندی IAX: علاوه بر SIP، Issabel همچنین از IAX پشتیبانی می‌کند که برای برخی محیط‌های تجاری بسیار مناسب است.

برای پیکربندی SIP در Issabel، مسیر تنظیمات sip.conf در Asterisk باید ویرایش شود که به‌صورت گرافیکی در بخش “Trunks” قابل انجام است.


6. پشتیبانی از ویژگی‌های پیشرفته مانند IVR و Queue ها

Issabel امکانات پیشرفته‌ای مانند سیستم‌های IVR (Interactive Voice Response) و Queue (صف تماس‌ها) را برای بهبود تجربه کاربری و افزایش بهره‌وری سیستم تلفنی فراهم می‌آورد.

  • سیستم IVR: با استفاده از رابط کاربری گرافیکی Issabel، می‌توان سیستم IVR را برای مدیریت تماس‌ها و هدایت آن‌ها به قسمت‌های مختلف تنظیم کرد.
  • صف تماس‌ها (Queue): امکان ایجاد صف تماس و مدیریت اولویت‌ها، زمان انتظار و ویژگی‌های مختلف صف‌ها به‌راحتی از طریق Issabel انجام می‌شود.

جمع‌بندی

استفاده از Issabel برای کاربران مبتدی و محیط‌های تجاری کوچک و متوسط مزایای زیادی به همراه دارد. این سیستم با فراهم آوردن یک رابط کاربری گرافیکی ساده و کاربرپسند، نصب آسان، پشتیبانی از پروتکل‌های VoIP مختلف و قابلیت‌های پیشرفته مانند گزارش‌گیری و مدیریت از راه دور، تجربه کاربری بسیار خوبی را برای مدیران سیستم فراهم می‌آورد. همچنین، Issabel با ارائه امکان مدیریت ساده و مقیاس‌پذیر، برای کسب‌وکارهای کوچک و متوسط گزینه‌ای مقرون به‌صرفه و کارآمد است.[/cdb_course_lesson][cdb_course_lesson title=”فصل 5. کاربردهای Issabel در مراکز تماس و سیستم‌های VoIP”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”استفاده از Issabel در راه‌اندازی و مدیریت سیستم‌های VoIP” subtitle=”توضیحات کامل”]Issabel یک سیستم تلفنی مبتنی بر Asterisk است که با ارائه یک رابط کاربری گرافیکی (GUI) امکانات متعددی را برای راه‌اندازی، پیکربندی و مدیریت سیستم‌های VoIP در اختیار کاربران می‌گذارد. در این بخش به بررسی نحوه استفاده از Issabel در راه‌اندازی و مدیریت سیستم‌های VoIP می‌پردازیم و تنظیمات مختلف آن را از طریق رابط گرافیکی و دستورات خط فرمان (CLI) توضیح می‌دهیم.


1. نصب Issabel

اولین مرحله برای استفاده از Issabel، نصب آن بر روی سرور است. این کار به راحتی با استفاده از فایل ISO رسمی Issabel انجام می‌شود.

مراحل نصب:

  1. دانلود فایل ISO از وب‌سایت رسمی Issabel
  2. بوت سیستم از روی ISO و پیروی از مراحل نصب گرافیکی
  3. تنظیمات اولیه شامل زبان، شبکه و دیگر پیکربندی‌های سیستم

پس از نصب، سیستم آماده است تا از طریق رابط گرافیکی برای پیکربندی و مدیریت استفاده شود.


2. پیکربندی SIP Trunk

برای راه‌اندازی سیستم VoIP و اتصال به ارائه‌دهندگان خدمات تلفنی، باید یک SIP Trunk پیکربندی شود. Issabel به‌صورت گرافیکی این امکان را فراهم می‌آورد که بتوانید به راحتی SIP Trunk خود را تنظیم کرده و ارتباطات خارجی را برقرار کنید.

گام‌های پیکربندی SIP Trunk در Issabel:

  1. وارد پنل مدیریت Issabel شوید.
  2. به بخش “PBX” رفته و گزینه “Trunks” را انتخاب کنید.
  3. گزینه “Add SIP Trunk” را انتخاب کنید.
  4. در فرم بازشده اطلاعات مربوط به SIP Trunk را وارد کنید، شامل:
    • نام Trunk
    • آدرس IP یا دامنه ارائه‌دهنده
    • شماره پورت SIP (معمولاً 5060)
    • اطلاعات احراز هویت (Username و Password)

در اینجا یک مثال ساده از تنظیمات SIP Trunk در فایل sip.conf آورده شده است:

nano /etc/asterisk/sip.conf

در این فایل، تنظیمات مشابه زیر را وارد می‌کنید:

[MySIPTrunk]
type=friend
host=sip.provider.com
port=5060
username=myusername
secret=mypassword
fromuser=myusername
fromdomain=sip.provider.com
context=incoming

3. پیکربندی داخلی‌ها (Extensions)

برای راه‌اندازی داخلی‌ها و ارتباطات داخلی در سیستم VoIP، نیاز به پیکربندی داخلی‌ها دارید. این کار از طریق رابط کاربری Issabel به راحتی انجام می‌شود.

گام‌های پیکربندی داخلی‌ها:

  1. به بخش “PBX” رفته و گزینه “Extensions” را انتخاب کنید.
  2. گزینه “Add Extension” را انتخاب کنید.
  3. در فرم مربوطه اطلاعات داخلی را وارد کنید، مانند:
    • شماره داخلی
    • نوع دستگاه (مثل SIP Phone)
    • رمز عبور
    • آدرس MAC برای دستگاه‌های خاص
  4. پس از وارد کردن اطلاعات، تنظیمات را ذخیره کنید.

در صورت نیاز به پیکربندی دستی، می‌توانید فایل extensions.conf را ویرایش کرده و تنظیمات داخلی‌ها را به‌صورت دستی وارد کنید:

nano /etc/asterisk/extensions.conf

برای یک داخلی جدید به‌طور مثال:

[internal]
exten => 1001,1,Dial(SIP/1001)
exten => 1002,1,Dial(SIP/1002)

4. پیکربندی IVR (Interactive Voice Response)

IVR یکی از ویژگی‌های پرکاربرد است که به شما امکان می‌دهد تماس‌ها را به‌طور خودکار به قسمت‌های مختلف هدایت کنید. Issabel این امکان را از طریق رابط گرافیکی فراهم می‌آورد.

گام‌های پیکربندی IVR:

  1. به بخش “PBX” بروید و گزینه “IVR” را انتخاب کنید.
  2. گزینه “Add IVR” را انتخاب کنید.
  3. در فرم بازشده، تنظیمات مربوط به IVR را وارد کنید:
    • نام IVR
    • پیام خوشامدگویی
    • انتخاب گزینه‌های منو برای هدایت تماس‌ها
    • زمان انتظار

برای پیکربندی دستی IVR در Asterisk، می‌توانید فایل extensions.conf را ویرایش کنید:

nano /etc/asterisk/extensions.conf

برای اضافه کردن یک IVR جدید:

[ivr-menu]
exten => s,1,Answer()
exten => s,n,Wait(1)
exten => s,n,Background(welcome-message)
exten => 1,1,Dial(SIP/1001)
exten => 2,1,Dial(SIP/1002)

5. مدیریت صف تماس‌ها (Queue)

صف تماس‌ها (Queue) به شما این امکان را می‌دهد که تماس‌ها را بین کارکنان مختلف تقسیم کنید. Issabel امکان پیکربندی صف تماس‌ها را از طریق رابط گرافیکی فراهم می‌کند.

گام‌های پیکربندی صف تماس‌ها:

  1. وارد پنل Issabel شوید و به بخش “PBX” بروید.
  2. گزینه “Queues” را انتخاب کرده و سپس “Add Queue” را کلیک کنید.
  3. در فرم بازشده، تنظیمات مختلفی مانند:
    • نام صف
    • اولویت تماس‌ها
    • مدت زمان انتظار
    • تخصیص شماره داخلی‌ها
  4. پس از تنظیم، ذخیره کنید.

برای پیکربندی دستی صف تماس‌ها، فایل queues.conf را ویرایش کنید:

nano /etc/asterisk/queues.conf

مثال:

[SupportQueue]
musicclass=default
strategy=ringall
member => SIP/1001
member => SIP/1002

6. پشتیبانی از Fax (T.38)

یکی دیگر از ویژگی‌های مهم Issabel، پشتیبانی از ارسال و دریافت فکس با استفاده از پروتکل T.38 است. این ویژگی در بسیاری از سازمان‌ها مورد نیاز است.

گام‌های پیکربندی فکس:

برای پیکربندی ارسال و دریافت فکس در Issabel، باید مطمئن شوید که مودم فکس و سرویس‌دهنده VoIP شما از پروتکل T.38 پشتیبانی می‌کند. برای تنظیمات فکس، می‌توانید از گزینه “Fax” در بخش “PBX” استفاده کنید.


جمع‌بندی

استفاده از Issabel در راه‌اندازی و مدیریت سیستم‌های VoIP، از طریق رابط گرافیکی ساده و قابل‌فهم، امکان مدیریت سیستم‌های پیچیده VoIP را برای کاربران فراهم می‌کند. با استفاده از این سیستم می‌توان به‌راحتی تنظیمات مختلفی مانند SIP Trunk، داخلی‌ها، IVR، صف تماس‌ها و فکس را پیکربندی و مدیریت کرد. همچنین، استفاده از دستورهای خط فرمان برای تنظیمات پیچیده‌تر در کنار پیکربندی‌های گرافیکی، به انعطاف‌پذیری سیستم کمک می‌کند و تجربه کاربری بهتری را برای مدیران سیستم ایجاد می‌کند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”پیاده‌سازی Issabel در مراکز تماس و سازمان‌ها” subtitle=”توضیحات کامل”]پیاده‌سازی Issabel در مراکز تماس و سازمان‌ها به مدیران سیستم این امکان را می‌دهد که یک سیستم VoIP قدرتمند، انعطاف‌پذیر و مقیاس‌پذیر را برای ارتباطات داخلی و خارجی سازمان خود راه‌اندازی کنند. این سیستم به‌ویژه در سازمان‌ها و مراکز تماس به دلیل امکانات گسترده‌اش در زمینه مدیریت تماس‌ها، صف‌ها، گزارش‌گیری، IVR و پشتیبانی از پروتکل‌های مختلف VoIP بسیار مفید است.

در این بخش به بررسی نحوه پیاده‌سازی Issabel در مراکز تماس و سازمان‌ها، تنظیمات مربوطه و تنظیمات مدیریتی آن خواهیم پرداخت. همچنین، تمام تنظیمات و پیکربندی‌ها به‌صورت کامندی و گرافیکی به همراه مسیر فایل‌های مربوطه آورده خواهد شد.


1. نصب و پیکربندی Issabel

برای پیاده‌سازی Issabel، اولین گام نصب آن روی سرور است. در اینجا به توضیح مراحل نصب و پیکربندی آن می‌پردازیم.

مراحل نصب:

  1. دانلود فایل ISO از وب‌سایت رسمی Issabel.
  2. بوت سیستم از روی ISO و طی کردن مراحل نصب گرافیکی.
  3. تنظیمات اولیه شامل پیکربندی شبکه، زمان و زبان.

پس از نصب، به داشبورد Issabel دسترسی خواهید داشت و می‌توانید به‌راحتی تنظیمات مختلف را انجام دهید.


2. پیکربندی SIP Trunk

برای اتصال به ارائه‌دهندگان خدمات تلفنی و برقراری تماس‌های خارجی، باید یک SIP Trunk پیکربندی شود. این تنظیمات می‌تواند از طریق رابط گرافیکی یا با استفاده از دستورات خط فرمان انجام شود.

گام‌های پیکربندی SIP Trunk از طریق رابط گرافیکی:

  1. وارد پنل مدیریت Issabel شوید.
  2. به بخش “PBX” بروید و “Trunks” را انتخاب کنید.
  3. گزینه “Add SIP Trunk” را انتخاب کنید.
  4. اطلاعات SIP Trunk از قبیل:
    • نام Trunk
    • آدرس IP یا دامنه ارائه‌دهنده
    • شماره پورت SIP (معمولاً 5060)
    • اطلاعات احراز هویت (Username و Password)

پیکربندی دستی SIP Trunk در فایل sip.conf:

nano /etc/asterisk/sip.conf

مثال تنظیمات:

[MySIPTrunk]
type=friend
host=sip.provider.com
port=5060
username=myusername
secret=mypassword
fromuser=myusername
fromdomain=sip.provider.com
context=incoming

3. پیکربندی داخلی‌ها (Extensions)

برای ارتباطات داخلی، باید داخلی‌ها (Extensions) پیکربندی شوند. این کار می‌تواند به‌راحتی از طریق رابط گرافیکی Issabel انجام شود.

گام‌های پیکربندی داخلی‌ها:

  1. به بخش “PBX” بروید و “Extensions” را انتخاب کنید.
  2. گزینه “Add Extension” را انتخاب کنید.
  3. اطلاعات داخلی از جمله شماره داخلی، نوع دستگاه (SIP Phone)، رمز عبور و آدرس MAC را وارد کنید.

پیکربندی دستی داخلی‌ها در فایل extensions.conf:

nano /etc/asterisk/extensions.conf

برای اضافه کردن یک داخلی جدید:

[internal]
exten => 1001,1,Dial(SIP/1001)
exten => 1002,1,Dial(SIP/1002)

4. پیکربندی IVR (Interactive Voice Response)

IVR یکی از امکانات مفید برای مدیریت تماس‌های ورودی است. با استفاده از IVR، می‌توان تماس‌ها را به‌طور خودکار به بخش‌های مختلف هدایت کرد.

گام‌های پیکربندی IVR:

  1. به بخش “PBX” بروید و “IVR” را انتخاب کنید.
  2. گزینه “Add IVR” را انتخاب کنید.
  3. اطلاعات مربوط به پیام خوشامدگویی و گزینه‌های منو را وارد کنید.

پیکربندی دستی IVR در فایل extensions.conf:

nano /etc/asterisk/extensions.conf

مثال IVR:

[ivr-menu]
exten => s,1,Answer()
exten => s,n,Wait(1)
exten => s,n,Background(welcome-message)
exten => 1,1,Dial(SIP/1001)
exten => 2,1,Dial(SIP/1002)

5. پیکربندی صف تماس‌ها (Queue)

برای مدیریت تماس‌های ورودی و توزیع آن‌ها بین اعضای تیم، صف تماس‌ها (Queue) به‌طور گسترده‌ای استفاده می‌شود.

گام‌های پیکربندی صف تماس‌ها از طریق رابط گرافیکی:

  1. به بخش “PBX” بروید و “Queues” را انتخاب کنید.
  2. گزینه “Add Queue” را انتخاب کنید.
  3. تنظیمات مربوط به صف شامل:
    • اولویت تماس‌ها
    • مدت زمان انتظار
    • تخصیص اعضای صف
  4. پس از تکمیل تنظیمات، ذخیره کنید.

پیکربندی دستی صف تماس‌ها در فایل queues.conf:

nano /etc/asterisk/queues.conf

مثال:

[SupportQueue]
musicclass=default
strategy=ringall
member => SIP/1001
member => SIP/1002

6. گزارش‌گیری و نظارت بر کیفیت تماس‌ها

Issabel ابزارهای قدرتمندی برای نظارت بر کیفیت تماس‌ها و گزارش‌گیری دارد. با استفاده از این ابزارها، مدیران می‌توانند به‌طور دقیق تماس‌ها، زمان انتظار، کیفیت صدا و سایر پارامترهای مرتبط با تماس‌ها را پیگیری کنند.

گزارش‌گیری در Issabel:

  1. به بخش “Reports” بروید.
  2. گزینه “Call Reports” را انتخاب کنید تا گزارشات مربوط به تماس‌ها را مشاهده کنید.
  3. برای نظارت دقیق‌تر بر کیفیت تماس‌ها، می‌توان از ابزارهایی مانند “Asterisk CLI” برای بررسی logهای تماس استفاده کرد.

دستورات CLI برای نظارت بر کیفیت تماس‌ها:

برای مشاهده لاگ تماس‌ها:

asterisk -rvv

برای بررسی کیفیت تماس‌ها:

sip show peer <peername>

7. پشتیبانی از Fax (T.38)

در مراکز تماس و سازمان‌ها ممکن است نیاز به ارسال و دریافت فکس نیز وجود داشته باشد. Issabel پشتیبانی کامل از پروتکل T.38 برای ارسال و دریافت فکس‌ها فراهم می‌آورد.

پیکربندی فکس:

برای پیکربندی فکس، از گزینه “Fax” در بخش “PBX” استفاده کنید.


جمع‌بندی

پیاده‌سازی Issabel در مراکز تماس و سازمان‌ها به‌راحتی امکان‌پذیر است و می‌تواند تمام نیازهای ارتباطی سازمان را برآورده کند. از امکانات آن می‌توان به پیکربندی SIP Trunk، داخلی‌ها، IVR، صف تماس‌ها، نظارت بر کیفیت تماس‌ها و پشتیبانی از فکس اشاره کرد. استفاده از رابط گرافیکی Issabel برای مدیران سیستم مبتدی مناسب است، در حالی که دستورات خط فرمان برای کاربران پیشرفته‌تر نیز در دسترس است. با این قابلیت‌ها، Issabel یک راه‌حل جامع و کارآمد برای مراکز تماس و سازمان‌ها به‌شمار می‌آید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”بررسی ویژگی‌های Issabel برای مدیریت تماس‌های ورودی و خروجی، مسیردهی، و گروه‌های تماس” subtitle=”توضیحات کامل”]Issabel به‌عنوان یک سیستم VoIP منبع باز مبتنی بر Asterisk، قابلیت‌های فراوانی را برای مدیریت تماس‌های ورودی و خروجی، مسیردهی و ایجاد گروه‌های تماس فراهم می‌آورد. این سیستم به‌ویژه برای کسب‌وکارهایی که نیاز به مدیریت تماس‌های زیاد دارند، مناسب است. در این بخش به بررسی ویژگی‌های مختلف Issabel در زمینه مسیردهی تماس‌ها، مدیریت تماس‌های ورودی و خروجی، و پیکربندی گروه‌های تماس خواهیم پرداخت و تنظیمات مربوطه را هم به‌صورت کامندی شرح می‌دهیم.


1. مدیریت تماس‌های ورودی (Inbound Calls)

یکی از ویژگی‌های اصلی Issabel، مدیریت تماس‌های ورودی از منابع مختلف مانند خطوط SIP و PSTN است. این سیستم به‌راحتی می‌تواند تماس‌ها را از شماره‌های ورودی به مقصدهای مختلف مسیردهی کند.

گام‌های پیکربندی تماس‌های ورودی از طریق رابط گرافیکی:

  1. وارد بخش “PBX” شوید.
  2. گزینه “Inbound Routes” را انتخاب کنید.
  3. گزینه “Add Incoming Route” را انتخاب کنید.
  4. تنظیمات مانند شماره DID (Direct Inward Dial) و مقصد تماس (Extension یا Queue) را وارد کنید.

پیکربندی دستی تماس‌های ورودی در فایل extensions.conf:

برای مسیردهی تماس‌های ورودی به داخلی خاص یا گروه تماس، فایل extensions.conf را ویرایش می‌کنیم.

nano /etc/asterisk/extensions.conf

پیکربندی مسیردهی تماس ورودی به داخلی 1001:

[incoming]
exten => 1234567890,1,Dial(SIP/1001)
exten => 1234567890,n,Hangup()

این کد تماس‌های ورودی به شماره 1234567890 را به داخلی 1001 مسیردهی می‌کند.


2. مدیریت تماس‌های خروجی (Outbound Calls)

Issabel همچنین امکانات متعددی برای مدیریت تماس‌های خروجی فراهم می‌آورد، به‌ویژه برای محیط‌های تجاری که به تماس‌های خروجی نیاز دارند. می‌توان از شماره‌های مشخص برای تماس‌ها استفاده کرده و آن‌ها را به‌راحتی مسیردهی کرد.

گام‌های پیکربندی تماس‌های خروجی از طریق رابط گرافیکی:

  1. وارد بخش “PBX” شوید.
  2. گزینه “Outbound Routes” را انتخاب کنید.
  3. گزینه “Add Outgoing Route” را انتخاب کنید.
  4. شماره‌های مقصد و انتخاب ترانک را وارد کنید.

پیکربندی دستی تماس‌های خروجی در فایل extensions.conf:

nano /etc/asterisk/extensions.conf

پیکربندی تماس‌های خروجی:

[outgoing]
exten => _9X.,1,Dial(SIP/TrunkName/${EXTEN:1})
exten => _9X.,n,Hangup()

در این مثال، تماس‌های خروجی که با عدد 9 شروع می‌شوند، به ترانک SIP که نام آن “TrunkName” است، مسیردهی می‌شوند.


3. مسیردهی تماس‌ها با استفاده از IVR (Interactive Voice Response)

IVR به مدیران این امکان را می‌دهد که تماس‌های ورودی را به بخش‌های مختلف مسیردهی کنند. این ویژگی در محیط‌های بزرگ که نیاز به مسیردهی دقیق تماس‌ها دارند، بسیار مفید است.

گام‌های پیکربندی IVR از طریق رابط گرافیکی:

  1. وارد بخش “PBX” شوید.
  2. گزینه “IVR” را انتخاب کنید.
  3. گزینه “Add IVR” را انتخاب کنید.
  4. نام منو، پیام خوش‌آمدگویی و گزینه‌های شماره‌گیری را تنظیم کنید.

پیکربندی دستی IVR در فایل extensions.conf:

nano /etc/asterisk/extensions.conf

پیکربندی IVR:

[ivr-menu]
exten => s,1,Answer()
exten => s,n,Background(WelcomeMessage)
exten => 1,1,GoTo(internal,1001,1)
exten => 2,1,GoTo(internal,1002,1)
exten => t,1,Hangup()

در این مثال، تماس ورودی ابتدا به IVR هدایت می‌شود و بعد از شنیدن پیام خوش‌آمدگویی، کاربر می‌تواند برای داخلی‌های مختلف شماره‌گیری کند.


4. گروه‌های تماس (Ring Groups)

گروه‌های تماس به‌ویژه در سازمان‌های بزرگ که تماس‌ها باید به‌طور همزمان یا چرخشی به چندین داخلی مسیردهی شود، بسیار مفید است. در Issabel، این قابلیت به‌راحتی از طریق رابط گرافیکی و یا کدهای دستی پیکربندی می‌شود.

گام‌های پیکربندی گروه‌های تماس از طریق رابط گرافیکی:

  1. وارد بخش “PBX” شوید.
  2. گزینه “Ring Groups” را انتخاب کنید.
  3. گزینه “Add Ring Group” را انتخاب کنید.
  4. شماره گروه تماس و اعضای گروه را انتخاب کنید.

پیکربندی دستی گروه تماس در فایل extensions.conf:

nano /etc/asterisk/extensions.conf

پیکربندی گروه تماس:

[callgroups]
exten => 600,1,Dial(SIP/1001&SIP/1002&SIP/1003)
exten => 600,n,Hangup()

در این مثال، تماس‌های ورودی به گروه تماس 600، به‌طور همزمان به داخلی‌های 1001، 1002 و 1003 مسیردهی می‌شود.


5. پیکربندی صف تماس‌ها (Queues)

صف‌های تماس به‌ویژه برای بخش‌های پشتیبانی مشتریان و فروش ضروری هستند. با استفاده از صف‌ها می‌توان تماس‌ها را به‌صورت بهینه به اعضای تیم تخصیص داد.

گام‌های پیکربندی صف تماس‌ها از طریق رابط گرافیکی:

  1. وارد بخش “PBX” شوید.
  2. گزینه “Queues” را انتخاب کنید.
  3. گزینه “Add Queue” را انتخاب کنید.
  4. شماره صف و اعضای صف را مشخص کنید.

پیکربندی دستی صف تماس‌ها در فایل queues.conf:

nano /etc/asterisk/queues.conf

پیکربندی صف تماس:

[SupportQueue]
musicclass=default
strategy=ringall
member => SIP/1001
member => SIP/1002

در این مثال، تماس‌های ورودی به صف “SupportQueue” به‌طور همزمان به داخلی‌های 1001 و 1002 مسیردهی می‌شود.


جمع‌بندی

Issabel قابلیت‌های گسترده‌ای برای مدیریت تماس‌های ورودی و خروجی، مسیردهی تماس‌ها، و تنظیم گروه‌ها و صف‌های تماس ارائه می‌دهد. این ویژگی‌ها از طریق رابط گرافیکی و دستورات کامندی قابل پیکربندی هستند. تنظیمات مرتبط با IVR، گروه‌های تماس و صف‌ها به سازمان‌ها این امکان را می‌دهند که تماس‌ها را به‌طور مؤثر و بهینه مدیریت کنند. با استفاده از این ابزارها، مدیران می‌توانند کیفیت خدمات و پاسخگویی به تماس‌ها را به‌طور قابل توجهی بهبود دهند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”استفاده از Issabel برای تسهیل ارتباطات داخلی سازمان‌ها و بهبود کیفیت خدمات” subtitle=”توضیحات کامل”]Issabel یک پلتفرم قوی برای مدیریت ارتباطات VoIP است که می‌تواند به‌طور قابل‌توجهی فرآیند ارتباطات داخلی در سازمان‌ها را بهبود دهد و کیفیت خدمات را ارتقا دهد. این سیستم قابلیت‌هایی همچون مسیردهی تماس‌ها، تماس‌های داخلی، گروه‌های تماس، IVR، پیام‌های انتظار و نظارت بر کیفیت تماس‌ها را فراهم می‌آورد که همگی می‌توانند به بهبود بهره‌وری و ارتباطات درون سازمانی کمک کنند. در این بخش، به بررسی روش‌های مختلف استفاده از Issabel برای تسهیل ارتباطات داخلی و بهبود کیفیت خدمات می‌پردازیم و پیکربندی‌های لازم را به همراه دستورات کامندی و مسیر فایل‌ها شرح می‌دهیم.


1. مدیریت تماس‌های داخلی

Issabel این امکان را می‌دهد که تماس‌های داخلی میان کارکنان به‌راحتی برقرار شوند. این قابلیت می‌تواند با استفاده از “Extensions” (داخلی‌ها) به‌سادگی تنظیم شود. این تنظیمات به‌ویژه در سازمان‌هایی که نیاز به ارتباطات سریع و موثر دارند، مفید است.

گام‌های پیکربندی تماس‌های داخلی از طریق رابط گرافیکی:

  1. وارد بخش “PBX” شوید.
  2. گزینه “Extensions” را انتخاب کنید.
  3. گزینه “Add Extension” را انتخاب کنید.
  4. نوع داخلی (SIP یا IAX2) را انتخاب کرده و شماره داخلی و رمز عبور را وارد کنید.

پیکربندی دستی برای تماس‌های داخلی در فایل extensions.conf:

nano /etc/asterisk/extensions.conf

پیکربندی تماس داخلی:

[internal]
exten => 1001,1,Dial(SIP/1001)
exten => 1002,1,Dial(SIP/1002)

2. استفاده از IVR برای تسهیل تماس‌های داخلی

IVR (Interactive Voice Response) یک سیستم خودکار است که تماس‌های ورودی را با استفاده از منوهای صوتی به مقصد مناسب هدایت می‌کند. این ویژگی در سازمان‌های بزرگ که نیاز به مسیردهی تماس‌ها به بخش‌های مختلف دارند، بسیار مفید است.

گام‌های پیکربندی IVR از طریق رابط گرافیکی:

  1. وارد بخش “PBX” شوید.
  2. گزینه “IVR” را انتخاب کنید.
  3. گزینه “Add IVR” را انتخاب کنید.
  4. نام و تنظیمات منوی صوتی را وارد کرده و تماس‌های ورودی را به بخش‌های مختلف مسیردهی کنید.

پیکربندی دستی برای IVR در فایل extensions.conf:

nano /etc/asterisk/extensions.conf

پیکربندی IVR:

[ivr-menu]
exten => s,1,Answer()
exten => s,n,Background(main-menu)
exten => 1,1,GoTo(internal,1001,1)
exten => 2,1,GoTo(internal,1002,1)
exten => t,1,Hangup()

3. گروه‌های تماس داخلی (Ring Groups)

گروه‌های تماس در Issabel به شما این امکان را می‌دهند که چندین داخلی را در یک گروه جمع کرده و تماس‌ها را به‌طور همزمان یا چرخشی به اعضای گروه مسیردهی کنید. این ویژگی می‌تواند در تیم‌های پشتیبانی یا بخش‌های خدمات مشتریان به‌ویژه مفید باشد.

گام‌های پیکربندی گروه‌های تماس از طریق رابط گرافیکی:

  1. وارد بخش “PBX” شوید.
  2. گزینه “Ring Groups” را انتخاب کنید.
  3. گزینه “Add Ring Group” را انتخاب کنید.
  4. شماره گروه تماس، اعضای گروه و تنظیمات مسیردهی تماس‌ها را وارد کنید.

پیکربندی دستی گروه تماس‌ها در فایل extensions.conf:

nano /etc/asterisk/extensions.conf

پیکربندی گروه تماس:

[callgroups]
exten => 600,1,Dial(SIP/1001&SIP/1002&SIP/1003)
exten => 600,n,Hangup()

4. پیام‌های انتظار و نظارت بر کیفیت تماس‌ها

برای بهبود کیفیت تماس‌ها، می‌توان از پیام‌های انتظار (Hold Music) و نظارت بر کیفیت تماس‌ها استفاده کرد. این ویژگی به کارکنان این امکان را می‌دهد که هنگام انتظار برای پاسخ‌گویی از سوی فرد دیگر، تجربه بهتری داشته باشند. همچنین نظارت بر کیفیت تماس‌ها به مدیران این امکان را می‌دهد که مشکلات ارتباطی را شناسایی و رفع کنند.

گام‌های پیکربندی پیام‌های انتظار از طریق رابط گرافیکی:

  1. وارد بخش “PBX” شوید.
  2. گزینه “Music on Hold” را انتخاب کنید.
  3. گزینه “Add Music on Hold” را انتخاب کنید.
  4. فایل موسیقی را بارگذاری کرده و آن را به گروه تماس‌های داخلی اختصاص دهید.

پیکربندی دستی پیام‌های انتظار در فایل musiconhold.conf:

nano /etc/asterisk/musiconhold.conf

پیکربندی موسیقی انتظار:

[default]
mode=files
directory=/var/lib/asterisk/moh

نظارت بر کیفیت تماس‌ها با استفاده از دستور sip show channels:

asterisk -rvv
sip show channels

5. گزارش‌گیری و تجزیه و تحلیل تماس‌ها

برای بهبود ارتباطات و کیفیت خدمات، استفاده از ابزارهای گزارش‌گیری و تجزیه و تحلیل تماس‌ها ضروری است. Issabel امکاناتی برای مشاهده وضعیت تماس‌ها، مدت زمان تماس، و سایر اطلاعات تماس فراهم می‌آورد که می‌توان از آن‌ها برای ارزیابی عملکرد سیستم و بهبود فرآیندها استفاده کرد.

دستورات CLI برای گزارش‌گیری تماس‌ها:

برای مشاهده وضعیت SIP peers:

sip show peers

برای مشاهده جزئیات تماس‌ها:

asterisk -rx "core show channels"

6. پیکربندی صف تماس‌ها (Queues) برای بهبود کیفیت خدمات

صف‌های تماس (Queues) به مدیران این امکان را می‌دهند که تماس‌ها را به‌طور بهینه به نمایندگان اختصاص دهند. این قابلیت به‌ویژه در سازمان‌هایی با حجم بالای تماس کاربرد دارد و می‌تواند به بهبود زمان پاسخگویی و توزیع مؤثر تماس‌ها کمک کند.

گام‌های پیکربندی صف تماس‌ها از طریق رابط گرافیکی:

  1. وارد بخش “PBX” شوید.
  2. گزینه “Queues” را انتخاب کنید.
  3. گزینه “Add Queue” را انتخاب کنید.
  4. تنظیمات صف شامل اولویت تماس‌ها، استراتژی توزیع تماس، و تخصیص اعضای صف را وارد کنید.

پیکربندی دستی صف تماس‌ها در فایل queues.conf:

nano /etc/asterisk/queues.conf

پیکربندی صف:

[SupportQueue]
musicclass=default
strategy=ringall
member => SIP/1001
member => SIP/1002

جمع‌بندی

Issabel یک ابزار قدرتمند برای تسهیل ارتباطات داخلی سازمان‌ها و بهبود کیفیت خدمات است. با استفاده از قابلیت‌هایی همچون مسیردهی تماس‌ها، گروه‌های تماس، IVR، صف‌های تماس و نظارت بر کیفیت تماس‌ها، می‌توان عملکرد ارتباطی سازمان را بهبود بخشید. تنظیمات و پیکربندی‌های مختلف در این سیستم به‌راحتی از طریق رابط گرافیکی و یا دستورات خط فرمان قابل انجام است و مدیران می‌توانند با تنظیمات بهینه، بهره‌وری و کیفیت خدمات خود را ارتقا دهند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 6. مزایای استفاده از Issabel”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”هزینه‌های پایین‌تر در مقایسه با سیستم‌های سنتی PBX” subtitle=”توضیحات کامل”]یکی از مزایای برجسته Issabel نسبت به سیستم‌های سنتی PBX، هزینه‌های پایین‌تر آن است. این سیستم مبتنی بر نرم‌افزار است و برخلاف سیستم‌های سخت‌افزاری قدیمی که نیاز به تجهیزات گران‌قیمت و نگهداری دارند، می‌توان آن را با حداقل هزینه‌های اولیه راه‌اندازی و نگهداری کرد. همچنین، Issabel امکانات گسترده‌ای را برای مدیریت تماس‌ها، تنظیمات داخلی، و ارتباطات VoIP فراهم می‌آورد که در مقایسه با راه‌حل‌های سنتی مقرون به صرفه‌تر است.


1. عدم نیاز به تجهیزات سخت‌افزاری گران‌قیمت

در سیستم‌های سنتی PBX، نیاز به تجهیزات سخت‌افزاری پیچیده از جمله سوئیچ‌ها، سرورها و خطوط تلفنی است که هزینه‌های بالایی به همراه دارد. اما در Issabel، تمام عملکردهای سیستم بر روی سرورهای معمولی و با استفاده از نرم‌افزار انجام می‌شود، که هزینه‌ها را به‌طور چشمگیری کاهش می‌دهد.

گام‌های پیکربندی Issabel بدون نیاز به سخت‌افزار اضافی:

  1. برای نصب Issabel روی سرور، ابتدا نیاز به سیستم‌عامل Linux دارید.
  2. با استفاده از دستورات زیر، می‌توانید Issabel را روی سرور نصب کنید:
wget https://sourceforge.net/projects/issabel/files/latest/download -O /tmp/issabel.iso
sudo mount -o loop /tmp/issabel.iso /mnt
cd /mnt
sudo ./install.sh

مسیر فایل برای نصب در این حالت به‌صورت پیش‌فرض /mnt خواهد بود.


2. کاهش هزینه‌های نگهداری و پشتیبانی

در سیستم‌های سنتی، تعمیرات و نگهداری تجهیزات سخت‌افزاری از جمله سوئیچ‌ها و خطوط تلفنی، نیازمند تیم فنی متخصص و منابع اضافی است. در مقابل، Issabel به دلیل استفاده از زیرساخت‌های نرم‌افزاری، به راحتی قابل پشتیبانی است و هزینه‌های نگهداری را به‌شدت کاهش می‌دهد.

پیکربندی و تنظیمات برای کاهش هزینه‌های نگهداری:

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

# بررسی وضعیت سرویس‌های Asterisk
systemctl status asterisk

# بررسی وضعیت سرویس Issabel
systemctl status issabel

این دستورات به شما امکان می‌دهند تا به‌سرعت مشکلات را شناسایی کرده و از تیم فنی کمک بگیرید بدون اینکه نیاز به تماس با تأمین‌کنندگان سخت‌افزاری داشته باشید.


3. کاهش هزینه‌های ارتباطات VoIP

یکی از مزایای برجسته Issabel، پشتیبانی از پروتکل‌های VoIP است که به کسب‌وکارها این امکان را می‌دهد تا تماس‌های تلفنی را از طریق اینترنت انجام دهند. این کار به‌ویژه در مقایسه با خطوط PSTN که هزینه‌های بالایی دارند، مقرون به صرفه است.

پیکربندی ترانک SIP برای اتصال به VoIP Provider:

برای اتصال به یک سرویس‌دهنده VoIP، ابتدا باید یک ترانک SIP در Issabel ایجاد کنید. در اینجا نحوه پیکربندی ترانک SIP به‌صورت دستی آورده شده است:

  1. فایل پیکربندی ترانک SIP را باز کنید:
nano /etc/asterisk/sip.conf
  1. در این فایل، تنظیمات ترانک SIP را اضافه کنید:
[VoIPProvider]
type=peer
host=voip.provider.com
username=yourusername
password=yourpassword
context=from-trunk
disallow=all
allow=ulaw
insecure=port,invite
  1. بعد از ویرایش فایل، باید سرویس Asterisk را برای اعمال تغییرات ری‌استارت کنید:
systemctl restart asterisk

این تنظیمات به‌طور مؤثر هزینه‌های ارتباطی را کاهش می‌دهند و تماس‌ها را از طریق اینترنت انجام می‌دهند.


4. مقیاس‌پذیری و توسعه آسان

در سیستم‌های سنتی PBX، برای افزایش تعداد خطوط یا کاربران جدید نیاز به خرید تجهیزات اضافی است که هزینه‌های زیادی را به‌همراه دارد. در مقابل، Issabel به راحتی مقیاس‌پذیر است و شما می‌توانید با اضافه کردن ترانک‌ها، داخلی‌ها یا افزونه‌های جدید به‌راحتی ظرفیت سیستم خود را افزایش دهید، بدون اینکه نیازی به تغییر سخت‌افزار داشته باشید.

گام‌های پیکربندی برای اضافه کردن داخلی جدید:

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

  1. فایل پیکربندی داخلی‌ها را باز کنید:
nano /etc/asterisk/extensions.conf
  1. شماره داخلی جدید را به تنظیمات اضافه کنید:
[internal]
exten => 1001,1,Dial(SIP/1001)
exten => 1001,n,Hangup()
  1. بعد از اعمال تغییرات، سرویس Asterisk را ری‌استارت کنید:
systemctl restart asterisk

این روش به شما این امکان را می‌دهد که به راحتی تعداد داخلی‌ها و کاربران را افزایش دهید بدون نیاز به تغییرات بزرگ در سخت‌افزار.


5. گزارش‌دهی و نظارت بر مصرف

یکی دیگر از مزایای Issabel، امکان نظارت و گزارش‌دهی دقیق از مصرف منابع است که به مدیران این امکان را می‌دهد تا به‌راحتی مصرف خطوط و تماس‌ها را کنترل کنند. این گزارش‌ها می‌توانند به کاهش هزینه‌ها کمک کنند.

دستورات نظارتی برای بررسی وضعیت تماس‌ها و مصرف منابع:

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

# مشاهده تماس‌های فعال
asterisk -rx "core show channels"

# بررسی میزان مصرف منابع توسط Asterisk
asterisk -rx "core show memory"

این دستورات به شما اطلاعات دقیقی از مصرف منابع و وضعیت تماس‌ها ارائه می‌دهند، که به مدیران کمک می‌کند تا هزینه‌ها را مدیریت کنند.


جمع‌بندی

Issabel با فراهم آوردن یک راه‌حل نرم‌افزاری برای مدیریت تماس‌ها، هزینه‌های مرتبط با تجهیزات سخت‌افزاری، نگهداری و پشتیبانی، و هزینه‌های ارتباطات VoIP را به‌شدت کاهش می‌دهد. این سیستم به‌ویژه برای سازمان‌های کوچک و متوسط که نیاز به یک سیستم VoIP مقرون به صرفه دارند، انتخاب بسیار مناسبی است. با استفاده از تنظیمات ساده و پیکربندی‌های قابل تنظیم، می‌توان Issabel را به‌راحتی گسترش داد و هزینه‌ها را به حداقل رساند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”انعطاف‌پذیری در پیکربندی و یکپارچگی با سیستم‌های دیگر” subtitle=”توضیحات کامل”]یکی از ویژگی‌های برجسته Issabel، انعطاف‌پذیری بالای آن در پیکربندی و یکپارچگی با سایر سیستم‌ها است. این نرم‌افزار به‌راحتی با انواع سیستم‌ها و ابزارهای مختلف سازگار می‌شود و امکان گسترش و سفارشی‌سازی آن را برای نیازهای خاص سازمان‌ها فراهم می‌آورد. از جمله این سیستم‌ها می‌توان به سیستم‌های CRM، ابزارهای اتوماسیون، سیستم‌های نظارت بر عملکرد و حتی سایر سرورهای VoIP اشاره کرد.

در این بخش، به بررسی برخی از امکانات انعطاف‌پذیر Issabel و نحوه یکپارچگی آن با سیستم‌های مختلف خواهیم پرداخت.


1. پیکربندی و یکپارچگی Issabel با سیستم‌های CRM

یکی از رایج‌ترین یکپارچگی‌ها برای Issabel، اتصال به سیستم‌های CRM است که باعث بهبود بهره‌وری و کیفیت تعامل با مشتریان می‌شود. با این یکپارچگی، اطلاعات تماس‌ها به‌طور خودکار در سیستم CRM ثبت می‌شود و از این طریق می‌توان به‌راحتی جزئیات تماس‌ها و وضعیت مشتریان را مشاهده کرد.

برای یکپارچگی Issabel با یک سیستم CRM مانند vTiger، مراحل زیر را دنبال کنید:

  1. ابتدا باید ماژول CRM Integration را در Issabel نصب کنید. برای این کار از دستورات زیر استفاده کنید:
cd /tmp
wget https://example.com/vtiger-crm-integration.tar.gz
tar -xzvf vtiger-crm-integration.tar.gz
cp -r vtiger-crm-integration /var/www/html/
chown -R apache:apache /var/www/html/vtiger-crm-integration

مسیر فایل‌ها برای نصب ماژول به‌صورت پیش‌فرض /var/www/html/vtiger-crm-integration خواهد بود.

  1. سپس تنظیمات اتصال به سیستم CRM را در فایل extensions.conf انجام دهید. به‌عنوان مثال، برای اتصال به vTiger CRM:
nano /etc/asterisk/extensions.conf

در این فایل، تنظیمات زیر را اضافه کنید:

[crm_integration]
exten => _X.,1,Set(CRM_NUMBER=${CALLERID(num)})
exten => _X.,n,System(curl -X POST -d "number=${CRM_NUMBER}" http://your-crm-server.com/api/receive_call)
exten => _X.,n,Dial(SIP/your-extension)
  1. بعد از اعمال تغییرات، سرویس Asterisk را ری‌استارت کنید:
systemctl restart asterisk

این تنظیمات باعث می‌شود که به محض دریافت تماس، اطلاعات شماره تماس به سیستم CRM ارسال شود.


2. یکپارچگی با سیستم‌های نظارت بر عملکرد

Issabel قابلیت یکپارچگی با ابزارهای نظارت بر عملکرد شبکه و سرور را فراهم می‌کند. به‌عنوان مثال، می‌توان از ابزارهایی مثل Zabbix برای نظارت بر وضعیت سیستم و سرورهای VoIP استفاده کرد.

برای یکپارچگی Issabel با Zabbix، ابتدا باید نصب Zabbix Agent را انجام دهید:

  1. نصب Zabbix Agent:
apt-get update
apt-get install zabbix-agent
  1. سپس تنظیمات Zabbix Agent را برای نظارت بر سیستم Issabel انجام دهید:
nano /etc/zabbix/zabbix_agentd.conf

در این فایل، آدرس سرور Zabbix را وارد کنید:

Server=your-zabbix-server.com
Hostname=issabel-server
  1. سرویس Zabbix Agent را ری‌استارت کنید:
systemctl restart zabbix-agent

این تنظیمات باعث می‌شود که وضعیت سیستم Issabel توسط Zabbix مانیتور شود و مدیران سیستم بتوانند مشکلات و ناهماهنگی‌ها را شناسایی کنند.


3. یکپارچگی Issabel با سایر سرورهای VoIP

اگر سازمان شما از چندین سرور VoIP استفاده می‌کند، Issabel این امکان را فراهم می‌آورد تا با سرورهای VoIP دیگر به‌راحتی یکپارچه شود. برای این کار می‌توانید از ترانک‌های SIP برای اتصال به سرورهای دیگر استفاده کنید.

برای یکپارچگی Issabel با یک سرور VoIP خارجی، می‌توانید مراحل زیر را دنبال کنید:

  1. پیکربندی ترانک SIP در Issabel:
nano /etc/asterisk/sip.conf

در این فایل، تنظیمات ترانک SIP را به‌صورت زیر وارد کنید:

[external-voip-server]
type=peer
host=external-voip-server.com
username=your-username
password=your-password
context=from-trunk
disallow=all
allow=ulaw
  1. تنظیمات داخلی‌ها را به‌روزرسانی کنید تا تماس‌ها از سرور VoIP خارجی نیز قابل دریافت باشند:
nano /etc/asterisk/extensions.conf

در این فایل، تنظیمات زیر را اضافه کنید:

[from-trunk]
exten => _X.,1,Dial(SIP/${EXTEN}@external-voip-server)
exten => _X.,n,Hangup()
  1. سپس سرویس Asterisk را ری‌استارت کنید:
systemctl restart asterisk

این تنظیمات به شما این امکان را می‌دهند که تماس‌های ورودی و خروجی را از طریق سرور VoIP خارجی برقرار کنید.


4. پیکربندی یکپارچگی با ابزارهای اتوماسیون

Issabel همچنین امکان یکپارچگی با سیستم‌های اتوماسیون را نیز فراهم می‌آورد. به‌عنوان مثال، برای اتصال به سیستم اتوماسیون مانند Ansible، می‌توانید از API های Issabel برای مدیریت تنظیمات و عملیات مختلف استفاده کنید.

برای یکپارچگی با Ansible، ابتدا باید از API Issabel استفاده کنید. به‌عنوان مثال، برای دسترسی به تنظیمات Asterisk از طریق API، می‌توانید از دستور زیر استفاده کنید:

curl -X POST -d "username=admin&password=yourpassword" http://your-issabel-server.com/api/login

بعد از ورود به API، می‌توانید دستورات مختلف را برای مدیریت تنظیمات Issabel از طریق Ansible اجرا کنید.


جمع‌بندی

انعطاف‌پذیری Issabel در پیکربندی و یکپارچگی با سیستم‌های مختلف، این امکان را به سازمان‌ها می‌دهد که به‌راحتی نیازهای خاص خود را برآورده کنند. از یکپارچگی با سیستم‌های CRM تا نظارت بر عملکرد سرورها و حتی اتصال به سایر سرورهای VoIP، Issabel به‌طور مؤثر می‌تواند با سیستم‌های دیگر ارتباط برقرار کند و عملکرد کلی سازمان را بهبود بخشد. پیکربندی این یکپارچگی‌ها به‌صورت کامندی و با استفاده از ابزارهای مختلف مانند Zabbix، Ansible و سیستم‌های CRM، راه‌حل‌هایی مقرون به صرفه و کارآمد را برای سازمان‌ها به ارمغان می‌آورد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”توانایی گسترش به سیستم‌های بزرگ‌تر و پشتیبانی از تعداد زیادی کاربر” subtitle=”توضیحات کامل”]یکی از ویژگی‌های کلیدی Issabel، توانایی گسترش آن به سیستم‌های بزرگ‌تر و پشتیبانی از تعداد زیادی کاربر است. این نرم‌افزار می‌تواند در محیط‌هایی با تعداد کاربران بالا به‌خوبی عملکرد داشته باشد و نیازهای پیچیده سازمان‌های بزرگ را برآورده کند. این ویژگی به‌ویژه برای سازمان‌هایی با شعب مختلف، دفاتر دورکار، یا نیاز به مقیاس‌پذیری بالا اهمیت دارد.

در این بخش، به بررسی نحوه گسترش Issabel به سیستم‌های بزرگ‌تر و پشتیبانی از تعداد زیادی کاربر خواهیم پرداخت. این گسترش شامل تنظیمات مربوط به مقیاس‌پذیری، مدیریت منابع، و پیکربندی برای تعداد زیاد کاربران است.


1. پیکربندی برای مقیاس‌پذیری در Issabel

برای گسترش Issabel و پشتیبانی از تعداد بیشتری کاربر، باید برخی تنظیمات مربوط به منابع سیستم، ترانک‌های VoIP، و پیکربندی‌های شبکه را بهینه کرد.

1.1 تنظیمات منابع سیستم

برای گسترش Issabel به‌خوبی و اطمینان از عملکرد بهینه آن با تعداد زیادی کاربر، باید به‌دقت منابع سیستم (مانند CPU، RAM و ذخیره‌سازی) را مدیریت کنید. برخی از تنظیمات رایج برای بهبود عملکرد در سیستم‌های بزرگ‌تر شامل:

  • استفاده از Load Balancing برای توزیع بار بین سرورها
  • افزایش تعداد کانال‌های VoIP
  • استفاده از Clustering برای توزیع منابع Asterisk در چند سرور

برای افزایش ظرفیت سرور Issabel، ابتدا باید برخی تنظیمات در فایل پیکربندی Asterisk انجام دهید.

1.2 پیکربندی Asterisk برای مقیاس‌پذیری

در فایل پیکربندی Asterisk (/etc/asterisk/asterisk.conf)، باید تنظیمات منابع را به‌طور صحیح اعمال کنید. برای افزایش ظرفیت، ممکن است بخواهید تعداد کانال‌های VoIP را افزایش دهید یا Load Balancer را تنظیم کنید.

nano /etc/asterisk/asterisk.conf

در این فایل، می‌توانید تنظیمات مربوط به مدیریت منابع و شبکه را تغییر دهید. به‌عنوان مثال، برای بهینه‌سازی عملکرد Asterisk در سیستم‌های بزرگ‌تر، از تنظیمات زیر استفاده کنید:

[options]
; افزایش ظرفیت پردازش تماس‌ها
maxcalls=1000
; تنظیمات برای Load Balancing
loadbalance=yes

همچنین می‌توانید منابع سیستم را برای پشتیبانی از کاربران بیشتر تنظیم کنید.

1.3 تنظیمات شبکه برای پشتیبانی از تعداد زیاد کاربران

برای اطمینان از عملکرد خوب سیستم در شبکه‌های با ترافیک بالا، باید تنظیمات شبکه را نیز بهینه کنید. این شامل استفاده از پروتکل‌های مناسب برای VoIP مانند SIP و IAX2، تنظیمات NAT Traversal، و بهینه‌سازی کیفیت تماس‌ها است.

تنظیمات مربوط به NAT Traversal در فایل sip.conf:

nano /etc/asterisk/sip.conf

در این فایل، می‌توانید NAT Traversal را برای سرور Issabel تنظیم کنید:

[nat]
externip=your.external.ip.address
localnet=your.local.network.mask

با این تنظیمات، سرور Issabel قادر خواهد بود تماس‌های ورودی و خروجی را به‌خوبی مدیریت کند حتی در محیط‌هایی با NAT.


2. افزایش تعداد کاربران و پشتیبانی از تماس‌های همزمان

در محیط‌های سازمانی بزرگ، ممکن است نیاز به پشتیبانی از تعداد زیادی کاربر و تماس همزمان باشد. برای این کار، باید پیکربندی‌های Asterisk و Issabel را به‌گونه‌ای انجام دهید که بتواند با بار اضافی و تعداد تماس‌های همزمان کنار بیاید.

2.1 افزایش ظرفیت کانال‌های VoIP

برای پشتیبانی از تماس‌های همزمان بیشتر، می‌توانید تعداد کانال‌های VoIP را افزایش دهید. این کار می‌تواند از طریق پیکربندی ترانک‌های SIP یا IAX2 انجام شود.

در فایل sip.conf، تنظیمات ترانک را به‌صورت زیر اضافه کنید:

nano /etc/asterisk/sip.conf
[voip-trunk]
type=peer
host=your-voip-provider.com
username=your-username
password=your-password
disallow=all
allow=ulaw
maxchannels=500

در اینجا، گزینه maxchannels=500 تعیین می‌کند که حداکثر تعداد کانال‌های VoIP که به‌طور همزمان قابل استفاده است، 500 کانال خواهد بود.

2.2 استفاده از Load Balancing برای تماس‌های همزمان

اگر تعداد کاربران و تماس‌های همزمان بسیار زیاد است، بهتر است از Load Balancer برای توزیع بار تماس‌ها بین چند سرور استفاده کنید. برای این کار، می‌توانید از راهکارهای مختلف Load Balancing مانند HAProxy یا Nginx استفاده کنید.

نصب HAProxy به‌عنوان Load Balancer:

apt-get install haproxy

پیکربندی HAProxy برای توزیع بار بین سرورهای Issabel:

nano /etc/haproxy/haproxy.cfg

در این فایل، باید تنظیمات زیر را اضافه کنید:

frontend voip_front
  bind *:5060
  default_backend voip_back

backend voip_back
  server issabel1 your-issabel-server1-ip:5060 check
  server issabel2 your-issabel-server2-ip:5060 check

این تنظیمات باعث می‌شود که تماس‌ها بین چند سرور توزیع شوند و بار ترافیکی کاهش یابد.


3. یکپارچگی با سیستم‌های مدیریت و نظارت

برای مدیریت و نظارت بر تعداد زیاد کاربران و تماس‌های همزمان، استفاده از ابزارهای نظارت مانند Zabbix و Nagios بسیار مفید خواهد بود. این ابزارها می‌توانند به شما کمک کنند تا عملکرد سیستم را در زمان واقعی مانیتور کنید و مشکلات احتمالی را شناسایی کنید.

3.1 نصب Zabbix برای نظارت بر Issabel

برای نصب Zabbix و نظارت بر سرور Issabel، ابتدا باید Zabbix Agent را نصب کنید:

apt-get install zabbix-agent

سپس فایل پیکربندی Zabbix Agent را ویرایش کنید:

nano /etc/zabbix/zabbix_agentd.conf

در این فایل، باید تنظیمات سرور Zabbix را وارد کنید:

Server=your-zabbix-server.com
Hostname=issabel-server

در نهایت، سرویس Zabbix Agent را راه‌اندازی کنید:

systemctl restart zabbix-agent

این تنظیمات به شما این امکان را می‌دهند که وضعیت سرور Issabel را در Zabbix مشاهده کنید و از مشکلات احتمالی مطلع شوید.


جمع‌بندی

برای گسترش Issabel به سیستم‌های بزرگ‌تر و پشتیبانی از تعداد زیادی کاربر، باید تنظیمات مربوط به منابع سیستم، شبکه و پیکربندی Asterisk به‌درستی انجام شوند. افزایش ظرفیت سرور، استفاده از Load Balancing، پشتیبانی از تماس‌های همزمان و یکپارچگی با ابزارهای نظارتی می‌توانند به شما کمک کنند تا به‌طور مؤثر تعداد زیادی تماس و کاربر را مدیریت کنید. پیکربندی صحیح این تنظیمات باعث می‌شود که Issabel بتواند به‌خوبی در محیط‌های سازمانی با بار زیاد و نیازهای مقیاس‌پذیری بالا عمل کند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”پشتیبانی از فناوری‌های پیشرفته مثل تماس صوتی و تصویری، فکس و ایمیل” subtitle=”توضیحات کامل”]Issabel از فناوری‌های پیشرفته‌ای مانند تماس صوتی و تصویری، فکس و ارسال ایمیل پشتیبانی می‌کند. این ویژگی‌ها به‌ویژه برای سازمان‌هایی که نیاز به برقراری تماس‌های حرفه‌ای، ارسال و دریافت فکس، یا مدیریت ارتباطات از طریق ایمیل دارند، اهمیت دارند. در این بخش، به نحوه پیکربندی و استفاده از این ویژگی‌ها در Issabel خواهیم پرداخت.


1. پشتیبانی از تماس صوتی و تصویری

برای پشتیبانی از تماس‌های صوتی و تصویری، Issabel از پروتکل‌هایی مانند SIP و WebRTC استفاده می‌کند. این قابلیت‌ها به کاربران این امکان را می‌دهند که تماس‌های صوتی و تصویری با کیفیت بالا برقرار کنند.

1.1 پیکربندی SIP برای تماس‌های صوتی

در ابتدا، باید تنظیمات SIP برای تماس‌های صوتی در Issabel را انجام دهید. این تنظیمات شامل اضافه کردن ترانک‌های SIP و پیکربندی کدک‌ها برای بهینه‌سازی کیفیت تماس هستند.

برای پیکربندی SIP در Issabel، ابتدا فایل sip.conf را ویرایش کنید:

nano /etc/asterisk/sip.conf

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

[general]
context=default
allowguest=no
disallow=all
allow=ulaw,alaw,g729
srvlookup=yes

[mytrunk]
type=peer
host=sip.example.com
username=myusername
secret=mypassword
fromuser=myusername
fromdomain=sip.example.com
context=from-trunk

این تنظیمات به‌طور پایه تماس‌های صوتی را پیکربندی می‌کنند و از کدک‌های ulaw، alaw و g729 برای تماس‌ها استفاده می‌کنند.

1.2 پیکربندی تماس تصویری با WebRTC

برای تماس‌های تصویری، Issabel از WebRTC استفاده می‌کند. WebRTC به کاربران این امکان را می‌دهد که بدون نیاز به نصب نرم‌افزارهای اضافی، تماس‌های تصویری برقرار کنند. برای استفاده از WebRTC، باید Asterisk را با پشتیبانی از WebRTC پیکربندی کنید.

ابتدا باید فایل http.conf را ویرایش کنید تا Issabel بتواند از WebRTC پشتیبانی کند:

nano /etc/asterisk/http.conf

سپس تنظیمات زیر را در این فایل اضافه کنید:

[general]
enabled=yes
bindaddr=0.0.0.0
bindport=8088

در این مرحله، WebRTC در سرور Issabel فعال شده و کاربران می‌توانند از طریق مرورگر خود تماس‌های صوتی و تصویری برقرار کنند.


2. پشتیبانی از فکس

Issabel همچنین از قابلیت ارسال و دریافت فکس پشتیبانی می‌کند. برای این کار، از سرویس HylaFAX یا Asterisk Fax استفاده می‌شود. این سرویس‌ها به شما این امکان را می‌دهند که فکس‌ها را ارسال و دریافت کنید.

2.1 نصب و پیکربندی HylaFAX

برای نصب HylaFAX در Issabel، ابتدا باید پکیج‌های لازم را نصب کنید:

apt-get install hylafax-server

پس از نصب، باید فایل پیکربندی config مربوط به HylaFAX را ویرایش کنید:

nano /etc/hylafax/hyla.conf

در این فایل، می‌توانید تنظیمات مربوط به مودم فکس و پیکربندی‌های سرور HylaFAX را اعمال کنید. به‌عنوان مثال، برای تنظیم یک مودم خاص برای ارسال فکس، از تنظیمات زیر استفاده کنید:

ModemDevice: /dev/ttyS0
2.2 تنظیم Asterisk برای ارسال و دریافت فکس

در Asterisk، برای استفاده از فکس، باید پیکربندی‌هایی را انجام دهید. ابتدا، فایل fax.conf را ویرایش کنید:

nano /etc/asterisk/fax.conf

سپس تنظیمات زیر را برای استفاده از فکس اعمال کنید:

[general]
faxdetect=yes
faxextension=*98

این تنظیمات اجازه می‌دهند که تماس‌های ورودی و خروجی فکس از طریق این شماره خاص (*98) شناسایی و مدیریت شوند.


3. پشتیبانی از ایمیل

Issabel همچنین از ارسال ایمیل پشتیبانی می‌کند که برای ارسال هشدارها، گزارش‌ها و تنظیمات تماس‌های صوتی و تصویری استفاده می‌شود. برای پیکربندی ایمیل در Issabel، می‌توانید از سرویس‌های SMTP مانند Postfix یا Exim استفاده کنید.

3.1 پیکربندی ارسال ایمیل با Postfix

برای پیکربندی ارسال ایمیل در Issabel، ابتدا باید سرویس Postfix را نصب کنید:

apt-get install postfix

سپس باید فایل پیکربندی main.cf را ویرایش کنید:

nano /etc/postfix/main.cf

در این فایل، تنظیمات مربوط به سرور ایمیل را وارد کنید. به‌عنوان مثال، برای تنظیم سرور SMTP به‌شکل زیر عمل کنید:

relayhost = [smtp.example.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
3.2 پیکربندی ارسال ایمیل از طریق Asterisk

برای ارسال ایمیل از Asterisk، باید از ماژول mailcmd استفاده کنید. ابتدا، فایل پیکربندی Asterisk را ویرایش کنید:

nano /etc/asterisk/asterisk.conf

سپس تنظیمات ایمیل را در این فایل وارد کنید:

[general]
mailcmd=/usr/sbin/sendmail

این تنظیمات به Asterisk اجازه می‌دهند که ایمیل‌ها را از طریق سرویس Postfix ارسال کند.


جمع‌بندی

Issabel از فناوری‌های پیشرفته‌ای مانند تماس صوتی و تصویری، فکس و ارسال ایمیل پشتیبانی می‌کند که می‌توانند در بسیاری از محیط‌های کسب‌وکار مفید باشند. با پیکربندی صحیح، کاربران می‌توانند از این قابلیت‌ها به‌خوبی استفاده کنند. از طریق تنظیمات SIP برای تماس‌های صوتی، WebRTC برای تماس‌های تصویری، HylaFAX برای ارسال و دریافت فکس، و Postfix برای ارسال ایمیل‌ها، می‌توان عملکرد سیستم را برای محیط‌های تجاری گسترش داد.[/cdb_course_lesson][cdb_course_lesson title=”فصل 7. چالش‌ها و محدودیت‌های Issabel”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”محدودیت‌ها در برخی قابلیت‌ها نسبت به سیستم‌های اختصاصی و تجاری” subtitle=”توضیحات کامل”]در حالی که Issabel به عنوان یک سیستم مبتنی بر نرم‌افزار با ویژگی‌های گسترده برای مدیریت تماس‌های VoIP و ارتباطات کسب‌وکار ارائه می‌شود، هنوز محدودیت‌هایی در برخی قابلیت‌ها نسبت به سیستم‌های اختصاصی و تجاری دارد. این محدودیت‌ها می‌توانند بر کارکرد و مقیاس‌پذیری سیستم تاثیرگذار باشند، به‌ویژه در محیط‌های بسیار بزرگ و پیچیده که نیاز به عملکرد بسیار بالا و یکپارچگی پیشرفته دارند.


1. محدودیت در مقیاس‌پذیری

سیستم‌های تجاری اختصاصی مانند Cisco Unified Communications یا Avaya به طور معمول می‌توانند به‌راحتی مقیاس‌پذیری بالاتری را فراهم کنند. Issabel، اگرچه بسیار کارآمد است، اما در مقیاس‌های بسیار بزرگ (با هزاران کاربر و تماس همزمان) ممکن است با مشکلاتی در عملکرد مواجه شود. برای استفاده در مقیاس‌های بزرگ، ممکن است نیاز به تنظیمات خاصی برای بهینه‌سازی کارایی وجود داشته باشد.

1.1 پیکربندی مقیاس‌پذیری در Issabel

برای بهبود عملکرد در مقیاس‌های بزرگ، ابتدا باید اطمینان حاصل کنید که سیستم شما به‌درستی برای بارهای سنگین پیکربندی شده است. برای تنظیمات اولیه در زمینه مقیاس‌پذیری، می‌توانید فایل پیکربندی /etc/asterisk/asterisk.conf را ویرایش کرده و پارامترهای مربوط به منابع سخت‌افزاری و شبکه را بهینه‌سازی کنید.

nano /etc/asterisk/asterisk.conf

در این فایل، می‌توانید پارامترهای زیر را برای بهبود عملکرد و مقیاس‌پذیری پیکربندی کنید:

[general]
maxload=5
memlock=yes
ulimit=-1

در این تنظیمات:

  • maxload=5 میزان بار مجاز برای سیستم را تنظیم می‌کند.
  • memlock=yes برای قفل کردن حافظه و جلوگیری از بارگذاری صفحات حافظه به روی دیسک است.
  • ulimit=-1 به سیستم اجازه می‌دهد تا به‌صورت نامحدود از منابع استفاده کند.

2. محدودیت در قابلیت‌های پیشرفته و ویژگی‌های اضافی

سیستم‌های اختصاصی معمولاً قابلیت‌های پیشرفته‌تری نسبت به Issabel دارند. به‌عنوان مثال، ویژگی‌هایی مانند تماس‌های تصویری با کیفیت بسیار بالا، پشتیبانی از پروتکل‌های مختلف و امنیت پیشرفته و پشتیبانی از درگاه‌های مختلف تماس به‌طور پیش‌فرض در سیستم‌های تجاری و اختصاصی پیاده‌سازی می‌شود. Issabel، با وجود پشتیبانی از بسیاری از ویژگی‌ها، در برخی موارد ممکن است نیاز به نصب ماژول‌های اضافی داشته باشد تا بتواند ویژگی‌های مشابه را ارائه دهد.

2.1 پیکربندی تماس تصویری با کیفیت بالا در Issabel

برای ارائه تماس‌های تصویری با کیفیت بالا، باید از پروتکل‌هایی مانند WebRTC استفاده کرد. تنظیمات مربوط به WebRTC در Issabel باید به‌طور دستی پیکربندی شوند.

برای فعال کردن WebRTC در Issabel، ابتدا فایل http.conf را ویرایش کنید:

nano /etc/asterisk/http.conf

سپس تنظیمات زیر را برای فعال‌سازی WebRTC در این فایل اعمال کنید:

[general]
enabled=yes
bindaddr=0.0.0.0
bindport=8088

این تنظیمات به Issabel اجازه می‌دهند که تماس‌های تصویری با استفاده از WebRTC را پشتیبانی کند.

2.2 پیکربندی امنیت در Issabel

در سیستم‌های تجاری و اختصاصی، معمولاً امنیت در سطح بالاتری نسبت به Issabel ارائه می‌شود. برای بهبود امنیت در Issabel، باید از تکنیک‌هایی مانند TLS و SRTP برای رمزگذاری تماس‌ها استفاده کرد.

برای فعال‌سازی SRTP در Issabel، باید فایل sip.conf را ویرایش کرده و تنظیمات زیر را اعمال کنید:

nano /etc/asterisk/sip.conf

سپس در بخش مربوط به تنظیمات ترانک‌ها و خطوط، موارد زیر را اضافه کنید:

[general]
encryption=yes
srtdial=yes

[mytrunk]
type=peer
host=sip.example.com
username=myusername
secret=mypassword
encryption=yes

این تنظیمات برای فعال‌سازی رمزگذاری تماس‌ها با استفاده از SRTP و TLS است که به‌ویژه در محیط‌های تجاری مهم می‌باشد.


3. محدودیت در یکپارچگی با سیستم‌های خارجی

در برخی از سیستم‌های اختصاصی و تجاری، قابلیت یکپارچگی با سایر سیستم‌های سازمانی مانند CRM‌ها، ERP‌ها و سیستم‌های مدیریت منابع انسانی (HRM) به‌طور پیش‌فرض و با امکانات بیشتری ارائه می‌شود. در Issabel، این قابلیت‌ها باید از طریق نصب ماژول‌ها و پیکربندی دستی پیاده‌سازی شوند.

3.1 یکپارچگی با CRM

برای اتصال Issabel به یک سیستم CRM مانند Zoho CRM یا Salesforce، می‌توانید از API‌های موجود استفاده کنید. به‌عنوان مثال، برای یکپارچگی با Zoho CRM از طریق Zoho API باید فایل‌های پیکربندی API را ایجاد کنید.

ابتدا، فایل /etc/asterisk/extensions_custom.conf را ویرایش کنید:

nano /etc/asterisk/extensions_custom.conf

سپس یک Dialplan برای ارتباط با Zoho ایجاد کنید:

[zoho-integration]
exten => _X.,1,NoOp(Connecting to Zoho CRM)
 same => n,AGI(zoho_integration.agi)

در این مثال، از یک اسکریپت AGI برای اتصال به Zoho استفاده می‌شود.


جمع‌بندی

در حالی که Issabel یک سیستم VoIP بسیار مقرون به صرفه و انعطاف‌پذیر است، برخی از ویژگی‌ها و قابلیت‌ها که در سیستم‌های اختصاصی و تجاری به‌طور پیش‌فرض موجود هستند، در Issabel نیاز به پیکربندی دستی دارند. این محدودیت‌ها بیشتر در زمینه مقیاس‌پذیری، قابلیت‌های پیشرفته مانند تماس‌های تصویری با کیفیت بالا، امنیت و یکپارچگی با سیستم‌های دیگر قابل مشاهده هستند. با این حال، با استفاده از ماژول‌ها و تنظیمات خاص، می‌توان بسیاری از این محدودیت‌ها را برطرف کرده و عملکرد Issabel را بهبود بخشید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”مشکلات امنیتی ممکن در صورت پیکربندی نادرست” subtitle=”توضیحات کامل”]در هنگام پیکربندی سیستم‌های VoIP مانند Issabel، اگر اقدامات امنیتی به درستی انجام نشوند، می‌تواند مشکلات جدی ایجاد شود. برخی از این مشکلات شامل دسترسی غیرمجاز، حملات DoS (Denial of Service)، SRTP که رمزگذاری نشده است، حملات Brute Force و سایر تهدیدات امنیتی است که می‌تواند باعث اختلال در عملکرد و امنیت سیستم شود. این مشکلات معمولاً ناشی از پیکربندی نادرست سیستم، استفاده از پروتکل‌های ضعیف، یا عدم به‌روزرسانی منظم نرم‌افزارها است.

در این بخش، به بررسی مشکلات امنیتی معمول و نحوه جلوگیری از آن‌ها در Issabel خواهیم پرداخت. تمام پیکربندی‌ها و تنظیمات به‌صورت کامندی و با ذکر مسیر فایل‌های مربوطه ارائه خواهند شد.


1. دسترسی غیرمجاز به سیستم

یکی از بزرگ‌ترین تهدیدات امنیتی در سیستم‌های VoIP، دسترسی غیرمجاز به سرور است. این دسترسی‌ها می‌تواند از طریق تلاش برای ورود به سیستم از طریق SSH یا Telnet صورت گیرد. برای جلوگیری از این خطرات باید تنظیمات دسترسی به سیستم و پروتکل‌ها به‌درستی پیکربندی شوند.

1.1 پیکربندی محدود کردن دسترسی SSH

برای محدود کردن دسترسی SSH به سرور، باید فایل پیکربندی SSH را ویرایش کنید:

nano /etc/ssh/sshd_config

در این فایل، می‌توانید دسترسی به SSH را به‌صورت زیر محدود کنید:

PermitRootLogin no
PasswordAuthentication no
AllowUsers myuser

توضیحات:

  • PermitRootLogin no از ورود مستقیم با کاربر root جلوگیری می‌کند.
  • PasswordAuthentication no تنها اجازه استفاده از کلید SSH برای ورود به سیستم را می‌دهد.
  • AllowUsers myuser فقط به کاربر myuser اجازه ورود می‌دهد.

سپس باید سرویس SSH را ریستارت کنید:

systemctl restart sshd

2. حملات Brute Force به سیستم‌های SIP

در حملات Brute Force، مهاجم سعی می‌کند با استفاده از رمزهای عبور مختلف به سیستم SIP دسترسی پیدا کند. این نوع حملات ممکن است باعث باز شدن درب‌های امنیتی شود و به سرقت اطلاعات یا اختلال در سیستم منجر گردد.

2.1 پیکربندی محدود کردن تلاش‌های ناموفق ورود به SIP

برای جلوگیری از حملات Brute Force بر روی SIP، می‌توانید از ماژول Fail2Ban استفاده کنید. Fail2Ban از حملات Brute Force جلوگیری می‌کند و با مسدود کردن آی‌پی‌های مشکوک از بروز حملات جلوگیری می‌نماید.

ابتدا، باید فایل پیکربندی Fail2Ban را ویرایش کنید:

nano /etc/fail2ban/jail.local

سپس بخش‌های مربوط به Asterisk را اضافه کنید:

[asterisk-iptables]
enabled  = true
port     = 5060,5061
filter   = asterisk
logpath  = /var/log/asterisk/messages
maxretry = 3

در این تنظیمات:

  • port پورت‌های SIP را که باید محافظت شوند مشخص می‌کند.
  • maxretry تعداد تلاش‌های ناموفق ورود قبل از مسدود کردن آی‌پی را تعیین می‌کند.

سپس باید Fail2Ban را راه‌اندازی مجدد کنید:

systemctl restart fail2ban

3. عدم رمزگذاری تماس‌ها (SRTP)

رمزگذاری تماس‌ها به‌ویژه در سیستم‌های VoIP برای محافظت از محتوای تماس‌ها ضروری است. اگر رمزگذاری صحیح پیاده‌سازی نشود، تماس‌ها می‌توانند به‌راحتی شنود شوند. برای جلوگیری از این مشکل، باید SRTP را برای رمزگذاری تماس‌ها پیکربندی کنید.

3.1 پیکربندی SRTP در Issabel

برای فعال کردن SRTP در Issabel، باید فایل sip.conf را ویرایش کرده و پیکربندی‌های زیر را اضافه کنید:

nano /etc/asterisk/sip.conf

در این فایل، بخش مربوط به SIP را به شکل زیر ویرایش کنید:

[general]
encryption=yes
srtdial=yes

[mytrunk]
type=peer
host=sip.example.com
username=myusername
secret=mypassword
encryption=yes

در این تنظیمات:

  • encryption=yes برای فعال کردن رمزگذاری در تمامی تماس‌ها.
  • srtdial=yes برای فعال‌سازی SRTP برای تماس‌ها.

4. حملات Denial of Service (DoS)

حملات DoS می‌توانند باعث قطع دسترسی به سرویس VoIP شوند. این حملات معمولاً با ارسال درخواست‌های زیاد و غیرضروری به سرور، منابع سرور را مصرف کرده و باعث کند شدن یا قطع کامل سرویس می‌شوند.

4.1 پیکربندی جلوگیری از حملات DoS

برای کاهش احتمال بروز حملات DoS، باید از iptables برای محدود کردن تعداد درخواست‌های ورودی به سیستم استفاده کنید.

ابتدا فایل iptables را ویرایش کرده و قوانینی برای محدود کردن تعداد درخواست‌ها اضافه کنید:

nano /etc/iptables/rules.v4

سپس قوانینی مانند زیر را برای جلوگیری از حملات DoS اضافه کنید:

-A INPUT -p tcp --dport 5060 -m state --state NEW -m recent --set
-A INPUT -p tcp --dport 5060 -m state --state NEW -m recent --update --seconds 60 --hitcount 10 -j DROP

در این تنظیمات:

  • این قوانین ترافیک SIP را محدود می‌کنند و از ارسال بیش از 10 درخواست به پورت 5060 در یک دقیقه جلوگیری می‌کنند.

سپس باید سرویس iptables را ریستارت کنید:

systemctl restart iptables

جمع‌بندی

در صورت پیکربندی نادرست، سیستم Issabel می‌تواند در معرض انواع مشکلات امنیتی قرار گیرد. این مشکلات شامل دسترسی غیرمجاز به سرور، حملات Brute Force به سیستم‌های SIP، عدم رمزگذاری تماس‌ها، و حملات DoS است. با اعمال پیکربندی‌های مناسب مانند محدود کردن دسترسی SSH، استفاده از Fail2Ban برای مقابله با حملات Brute Force، فعال کردن SRTP برای رمزگذاری تماس‌ها، و جلوگیری از حملات DoS با استفاده از iptables، می‌توان امنیت سیستم VoIP را به‌طور قابل‌توجهی افزایش داد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”نیاز به آشنایی با تنظیمات فنی Asterisk برای کار با برخی از ویژگی‌ها” subtitle=”توضیحات کامل”]Asterisk یکی از محبوب‌ترین نرم‌افزارهای PBX (Private Branch Exchange) است که برای مدیریت تماس‌های VoIP و PSTN در سیستم‌های تلفنی استفاده می‌شود. این نرم‌افزار با ویژگی‌های گسترده‌ای مانند IVR (Interactive Voice Response)، ضبط تماس‌ها، کنفرانس صوتی، انتقال تماس و بسیاری دیگر، به‌طور ویژه در سیستم‌های تلفنی تجاری و تجاری-مقیاس کوچک کاربرد دارد. برای استفاده از برخی ویژگی‌های Asterisk، پیکربندی‌های خاصی باید در فایل‌های پیکربندی انجام شود.

در این بخش، به برخی از ویژگی‌های پرکاربرد Asterisk پرداخته و تنظیمات فنی مربوط به آن‌ها را به‌طور جامع و کاربردی بررسی خواهیم کرد.


1. پیکربندی IVR (Interactive Voice Response)

یکی از ویژگی‌های پرکاربرد Asterisk، سیستم IVR است که به کاربران این امکان را می‌دهد که با وارد کردن اعداد بر اساس منوها و دستورات صوتی، به بخش‌های مختلف سیستم متصل شوند.

1.1 تنظیمات IVR در Asterisk

برای پیکربندی IVR، باید فایل extensions.conf را ویرایش کنید:

nano /etc/asterisk/extensions.conf

در این فایل، بخش مربوط به IVR را به شکل زیر اضافه کنید:

[ivr-menu]
exten => s,1,Answer()
exten => s,n,Background(custom/welcome) ; صدای خوش‌آمدگویی
exten => s,n,WaitExten()

exten => 1,1,Dial(SIP/100,20)   ; اتصال به داخلی 100
exten => 2,1,Dial(SIP/200,20)   ; اتصال به داخلی 200
exten => t,1,Hangup()           ; قطع تماس در صورت وارد نکردن عدد
exten => i,1,Playback(vm-goodbye) ; پخش پیغام در صورت وارد کردن شماره اشتباه

در این تنظیمات:

  • بخش exten => s,n,Background(custom/welcome) برای پخش صدای خوش‌آمدگویی است.
  • گزینه‌های 1 و 2 برای انتخاب داخلی‌ها و تماس با آن‌ها استفاده می‌شود.
  • در صورت وارد نکردن شماره یا وارد کردن شماره اشتباه، تماس قطع می‌شود یا پیامی پخش می‌شود.

سپس برای اعمال تغییرات، Asterisk را ریستارت کنید:

asterisk -rx "reload"

2. ضبط تماس‌ها

ضبط تماس‌ها یکی دیگر از ویژگی‌های کاربردی Asterisk است که به شما این امکان را می‌دهد که تمام یا بخشی از تماس‌ها را به‌صورت خودکار ضبط کنید.

2.1 پیکربندی ضبط تماس‌ها در Asterisk

برای فعال کردن ضبط تماس‌ها، باید فایل extensions.conf را ویرایش کرده و تغییرات زیر را اعمال کنید:

nano /etc/asterisk/extensions.conf

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

[general]
recording = yes

[default]
exten => 100,1,Answer()
exten => 100,n,Set(MONITOR_EXEC=/usr/bin/sox)
exten => 100,n,Monitor(wav,${UNIQUEID},m)  ; ضبط تماس‌ها به فرمت wav
exten => 100,n,Dial(SIP/100)
exten => 100,n,Hangup()

در این تنظیمات:

  • MONITOR_EXEC دستور ضبط را تعریف می‌کند.
  • Monitor(wav,${UNIQUEID},m) تماس‌ها را در فرمت wav ضبط می‌کند.

ضبط تماس‌ها به‌طور پیش‌فرض در پوشه /var/spool/asterisk/monitor/ ذخیره می‌شود.


3. پیکربندی کنفرانس صوتی

Asterisk همچنین از کنفرانس‌های صوتی پشتیبانی می‌کند که به کاربران این امکان را می‌دهد که به‌طور همزمان در یک تماس گروهی شرکت کنند.

3.1 پیکربندی کنفرانس صوتی در Asterisk

برای پیکربندی کنفرانس صوتی، باید فایل meetme.conf را ویرایش کنید:

nano /etc/asterisk/meetme.conf

در این فایل، کنفرانس صوتی را به شکل زیر پیکربندی کنید:

[general]
conf_time=300
announce_user_count=yes
announce_conf_exit=yes

[default]
conf1 = 1234

سپس برای پیکربندی تماس با کنفرانس در فایل extensions.conf، کد زیر را اضافه کنید:

nano /etc/asterisk/extensions.conf
[conference]
exten => 1234,1,Answer()
exten => 1234,n,MeetMe(1234)
exten => 1234,n,Hangup()

در این تنظیمات:

  • MeetMe(1234) به کاربران اجازه می‌دهد که وارد کنفرانس با شماره 1234 شوند.

4. پیکربندی انتقال تماس (Call Forwarding)

انتقال تماس یا Call Forwarding یکی از ویژگی‌های مفید است که در مواقعی که یک کاربر مشغول است یا به دلایلی نمی‌تواند به تماس‌ها پاسخ دهد، استفاده می‌شود.

4.1 پیکربندی انتقال تماس در Asterisk

برای پیکربندی انتقال تماس، باید تنظیمات مربوطه را در فایل extensions.conf انجام دهید:

nano /etc/asterisk/extensions.conf

در این فایل، کد زیر را برای انتقال تماس به شماره دیگری اضافه کنید:

[default]
exten => 100,1,Answer()
exten => 100,n,Dial(SIP/100)
exten => 100,n,VoiceMail(100@default) ; انتقال به صندوق صوتی در صورت عدم پاسخ
exten => 100,n,Hangup()

در این تنظیمات:

  • VoiceMail(100@default) تماس را به صندوق صوتی داخلی 100 هدایت می‌کند.

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

exten => 100,n,Dial(SIP/200) ; انتقال تماس به داخلی 200

جمع‌بندی

آشنایی با تنظیمات فنی Asterisk برای ویژگی‌هایی مانند IVR، ضبط تماس‌ها، کنفرانس صوتی، و انتقال تماس به شما این امکان را می‌دهد که سیستم تلفنی خود را به‌طور کامل سفارشی‌سازی کنید. پیکربندی‌های مختلفی که در این بخش بررسی کردیم، شامل فایل‌های extensions.conf و meetme.conf برای مدیریت تماس‌ها و ویژگی‌های مختلف هستند. به کمک این تنظیمات، می‌توانید قابلیت‌های پیشرفته‌ای مانند کنفرانس‌های صوتی، انتقال تماس‌ها، و سیستم‌های IVR را در سیستم Asterisk فعال کنید.[/cdb_course_lesson][/cdb_course_lessons]

[cdb_course_lessons title=”بخش 2. نصب و راه‌اندازی Issabel”][cdb_course_lesson title=”فصل 1. الزامات سخت‌افزاری و نرم‌افزاری”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”حداقل الزامات سخت‌افزاری برای نصب Issabel” subtitle=”توضیحات کامل”]برای نصب و راه‌اندازی سیستم PBX Issabel، نیاز به سخت‌افزار مناسب است تا بتواند به‌درستی عمل کرده و عملکرد بهینه‌ای ارائه دهد. در این بخش، به حداقل الزامات سخت‌افزاری برای نصب Issabel می‌پردازیم که شامل پردازنده، حافظه و فضای ذخیره‌سازی می‌شود.


1. پردازنده (CPU)

پردازنده یکی از اصلی‌ترین اجزای سخت‌افزاری است که بر روی عملکرد سیستم تاثیرگذار است. برای نصب Issabel، پردازنده باید حداقل الزامات زیر را داشته باشد:

  • حداقل: پردازنده با سرعت 1 گیگاهرتز (GHz) تک هسته‌ای.
  • پیشنهاد شده: پردازنده دو هسته‌ای 2 گیگاهرتز یا بالاتر.
  • توصیه‌شده برای سیستم‌های با حجم تماس بالا: پردازنده چهار هسته‌ای یا بیشتر با سرعت 2 گیگاهرتز به بالا.

2. حافظه (RAM)

حافظه یا RAM برای عملکرد سیستم و اجرای همزمان چندین فرآیند بسیار اهمیت دارد. مقدار حافظه RAM بسته به تعداد کاربران و تماس‌های همزمان متفاوت است:

  • حداقل: 1 گیگابایت RAM.
  • پیشنهاد شده: 2 گیگابایت RAM یا بیشتر.
  • توصیه‌شده برای سیستم‌های با حجم تماس بالا: 4 گیگابایت RAM یا بیشتر.

3. فضای ذخیره‌سازی (Disk Space)

فضای ذخیره‌سازی برای نصب Issabel و ذخیره‌سازی اطلاعات تماس، ضبط‌ها، گزارش‌ها و سایر داده‌ها مورد نیاز است. مقدار فضای ذخیره‌سازی بستگی به تعداد کاربران، تماس‌های ضبط‌شده و سایر اطلاعات دارد.

  • حداقل: 10 گیگابایت فضای ذخیره‌سازی SSD یا HDD.
  • پیشنهاد شده: 20 گیگابایت یا بیشتر برای نصب سیستم و ذخیره‌سازی داده‌ها.
  • توصیه‌شده برای سیستم‌های با حجم تماس بالا: 40 گیگابایت یا بیشتر به همراه استفاده از SSD برای بهبود سرعت عملکرد سیستم.

4. کارت شبکه (Network Interface)

برای برقراری ارتباطات VoIP و استفاده از سرویس‌های شبکه، داشتن یک کارت شبکه با سرعت مناسب بسیار ضروری است.

  • حداقل: کارت شبکه 100 مگابیت بر ثانیه.
  • پیشنهاد شده: کارت شبکه گیگابیتی (1 گیگابیت بر ثانیه) برای عملکرد بهتر در شبکه‌های بزرگ‌تر.

5. پیکربندی‌های سیستم

در برخی موارد، ممکن است نیاز به انجام تنظیمات خاصی در سیستم عامل یا پیکربندی‌های سخت‌افزاری برای نصب Issabel داشته باشید. برای مثال، اگر از سیستم‌های مجازی‌سازی مانند VMware یا VirtualBox استفاده می‌کنید، نیاز به تخصیص منابع به‌صورت مجازی دارید.


تنظیمات سیستم عامل و نصب Issabel

برای نصب Issabel بر روی سیستم، ابتدا باید سیستم عامل مناسب (مانند CentOS یا RHEL) نصب شود و سپس بسته‌های نرم‌افزاری لازم را بر اساس دستورالعمل‌های زیر نصب کنید.

1. نصب سیستم عامل CentOS

ابتدا CentOS را روی سیستم نصب کنید. برای نصب، از نسخه‌ای که پشتیبانی از بسته‌های نرم‌افزاری Asterisk و Issabel را دارد، مانند CentOS 7 یا CentOS 8 استفاده کنید.

برای نصب CentOS 7، دستورات زیر را به ترتیب اجرا کنید:

# به‌روزرسانی سیستم:
yum update -y

# نصب بسته‌های ضروری:
yum groupinstall "Development Tools" -y
yum install wget -y

پس از نصب سیستم عامل، برای نصب Issabel، ابتدا مخزن بسته‌ها را وارد کنید و سپس اقدام به نصب کنید.

2. نصب Issabel

برای نصب Issabel، دستور زیر را اجرا کنید:

# دریافت فایل نصب Issabel:
wget http://cdn.issabel.org/issabel/iso/Issabel-4.0.0-x86_64-DVD.iso

# نصب Issabel:
dd if=Issabel-4.0.0-x86_64-DVD.iso of=/dev/sda bs=4M

توجه داشته باشید که در اینجا /dev/sda باید مسیر دیسک شما باشد. پس از نصب، سیستم را ریستارت کرده و به صفحه تنظیمات Issabel وارد شوید.

3. تنظیمات شبکه و آدرس IP

برای پیکربندی شبکه، فایل ifcfg-eth0 را ویرایش کنید تا آدرس IP ثابت تنظیم شود:

nano /etc/sysconfig/network-scripts/ifcfg-eth0

مقدارهای زیر را تنظیم کنید:

DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8

پس از ویرایش، تنظیمات شبکه را با دستور زیر اعمال کنید:

systemctl restart network

جمع‌بندی

در این بخش، الزامات سخت‌افزاری حداقلی برای نصب Issabel شامل پردازنده، حافظه، فضای ذخیره‌سازی و کارت شبکه بررسی شد. برای نصب و پیکربندی Issabel، لازم است سیستم عاملی مانند CentOS را نصب کرده و سپس از طریق مخزن‌های مناسب اقدام به نصب Issabel کنید. در نهایت، تنظیمات شبکه و آدرس IP ثابت باید انجام شود تا سیستم آماده به کار باشد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”الزامات نرم‌افزاری (نسخه‌های پشتیبانی‌شده از سیستم‌عامل‌ها)” subtitle=”توضیحات کامل”]برای نصب و اجرای Issabel، نیاز به سیستم‌عامل‌هایی است که پشتیبانی از نرم‌افزارهای مربوطه مانند Asterisk و سایر سرویس‌های VoIP را داشته باشند. در این بخش، به الزامات نرم‌افزاری Issabel و نسخه‌های پشتیبانی‌شده از سیستم‌عامل‌ها می‌پردازیم.


1. سیستم‌عامل‌های پشتیبانی‌شده

Issabel به‌طور رسمی از سیستم‌عامل‌های لینوکسی خاص پشتیبانی می‌کند. برای بهترین عملکرد، باید نسخه‌های به‌روز از این سیستم‌عامل‌ها استفاده شود. در زیر سیستم‌عامل‌های پشتیبانی‌شده برای نصب Issabel آورده شده است:

  • CentOS:
    • نسخه‌های پشتیبانی‌شده: CentOS 7 و CentOS 8.
    • توضیحات: CentOS یکی از محبوب‌ترین سیستم‌عامل‌های لینوکس است که برای اجرای Issabel به‌طور رسمی پشتیبانی می‌شود. این سیستم‌عامل به‌خاطر پایداری و امنیت بالا انتخاب مناسبی برای سرورهای PBX است.
  • Red Hat Enterprise Linux (RHEL):
    • نسخه‌های پشتیبانی‌شده: RHEL 7 و RHEL 8.
    • توضیحات: نسخه‌های RHEL به‌طور معمول برای محیط‌های تولیدی و سازمانی انتخاب می‌شوند. اگر به دنبال یک سیستم‌عامل تجاری با پشتیبانی رسمی هستید، RHEL گزینه‌ای مناسب است.
  • Debian:
    • نسخه‌های پشتیبانی‌شده: Debian 9 و Debian 10.
    • توضیحات: Debian به‌عنوان یک سیستم‌عامل پایدار و با امنیت بالا شناخته می‌شود و برای کسانی که نیاز به پیکربندی و کنترل بیشتر بر روی سیستم دارند، انتخاب خوبی است.
  • Ubuntu:
    • نسخه‌های پشتیبانی‌شده: Ubuntu 18.04 LTS و Ubuntu 20.04 LTS.
    • توضیحات: Ubuntu یکی دیگر از توزیع‌های لینوکسی است که برای بسیاری از کاربران لینوکس راحت است. این سیستم‌عامل به‌ویژه برای توسعه‌دهندگان و کسانی که با رابط کاربری ساده‌تر کار می‌کنند، مناسب است.

2. نسخه‌های پشتیبانی‌شده از Asterisk

Asterisk، به‌عنوان هسته اصلی نرم‌افزار PBX در Issabel، به‌طور مستقیم با سیستم‌عامل‌های مختلف و نسخه‌های مختلف هماهنگ می‌شود. برای کارایی بهینه، نسخه‌های مشخصی از Asterisk باید نصب شود.

  • Asterisk 13.x: این نسخه برای سیستم‌های پایدار و مورد تایید در بیشتر نصب‌ها استفاده می‌شود.
  • Asterisk 16.x: نسخه جدیدتری از Asterisk که قابلیت‌های بهتری را ارائه می‌دهد و پشتیبانی از تکنولوژی‌های نوین VoIP را دارد.
  • Asterisk 18.x: نسخه‌ای که برای کار با ویژگی‌های جدیدتر و پیشرفته‌تر در نظر گرفته شده است. این نسخه برای نصب بر روی سرورهای جدیدتر با کارایی بالاتر توصیه می‌شود.

3. پشتیبانی از نسخه‌های PHP

برای کار با رابط کاربری Issabel و سرویس‌های وب آن، نسخه‌های خاصی از PHP لازم است. برای عملکرد بهینه و به‌روز بودن سیستم، باید نسخه مناسب از PHP را نصب کنید:

  • PHP 7.3.x یا بالاتر: این نسخه از PHP به‌طور پیش‌فرض برای نسخه‌های جدید Issabel و رابط کاربری آن توصیه می‌شود.
  • PHP 5.6.x: برای نصب‌های قدیمی‌تر Issabel، نسخه PHP 5.6 ممکن است مورد نیاز باشد.

4. پیکربندی نرم‌افزارهای مورد نیاز

برای نصب Issabel، باید به‌طور دستی برخی نرم‌افزارها و پکیج‌های اضافی را نیز نصب کنید. این نرم‌افزارها معمولاً شامل بسته‌های ارتباطی و مدیریت سرویس‌ها هستند.

نصب برخی از بسته‌های ضروری:
# نصب بسته‌های ضروری:
yum install -y gcc wget bzip2 curl make autoconf

# نصب پکیج‌های مورد نیاز برای Asterisk:
yum install -y libxml2 libncurses5 libsqlite3-dev
نصب PHP:
# نصب PHP 7.3:
yum install -y php php-cli php-common php-mysqlnd php-fpm php-xml php-mbstring php-json
نصب سرویس‌های ضروری:
# نصب سرویس‌های اضافی:
yum install -y mariadb-server httpd

جمع‌بندی

در این بخش، به الزامات نرم‌افزاری Issabel پرداخته شد. سیستم‌عامل‌های لینوکس پشتیبانی‌شده برای نصب Issabel شامل CentOS، RHEL، Debian و Ubuntu هستند. همچنین نسخه‌های مختلف Asterisk و PHP برای عملکرد بهینه سیستم باید نصب شوند. در نهایت، نصب بسته‌ها و نرم‌افزارهای ضروری برای پیکربندی کامل Issabel شامل Asterisk و سرویس‌های اضافی نیز شرح داده شد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”انتخاب سرور فیزیکی یا استفاده از ماشین مجازی” subtitle=”توضیحات کامل”]در هنگام راه‌اندازی Issabel برای یک کسب‌وکار یا سیستم VoIP، یکی از تصمیمات مهم انتخاب نوع سرور است. آیا باید از سرور فیزیکی استفاده کنید یا از ماشین‌های مجازی (VMs)? این تصمیم تأثیر زیادی بر عملکرد، مقیاس‌پذیری، مدیریت، و هزینه‌های سیستم شما خواهد داشت. در این بخش به بررسی مزایا و معایب هرکدام می‌پردازیم.


1. مزایا و معایب استفاده از سرور فیزیکی

مزایا:

  • عملکرد بهتر و منابع اختصاصی: در سرور فیزیکی تمامی منابع سیستم برای برنامه‌های شما در دسترس خواهند بود. این امر به‌ویژه برای برنامه‌هایی که نیاز به پردازش زیاد دارند (مانند تماس‌های VoIP و پردازش‌های سنگین) مفید است.
  • پایداری بیشتر: سرورهای فیزیکی معمولاً برای عملکرد طولانی‌مدت طراحی شده‌اند و در مقایسه با ماشین‌های مجازی، دچار مشکلات کمتری از نظر منابع سیستم می‌شوند.
  • انعطاف‌پذیری در سخت‌افزار: می‌توانید سخت‌افزار را مطابق با نیازهای خود انتخاب کنید و عملکرد بهینه‌ای را برای کاربردهای خاص بدست آورید.

معایب:

  • هزینه‌های بیشتر: برای تهیه و نگهداری سرورهای فیزیکی باید هزینه‌های بیشتری پرداخت کنید. علاوه بر هزینه خرید سخت‌افزار، هزینه‌های انرژی، فضای فیزیکی، و نگهداری نیز به این هزینه‌ها افزوده می‌شوند.
  • مقیاس‌پذیری پایین‌تر: در صورت نیاز به مقیاس‌پذیری یا افزودن سرور، باید سخت‌افزار جدید خریداری و پیکربندی کنید که ممکن است زمان‌بر و گران باشد.

پیکربندی سرور فیزیکی: برای نصب Issabel بر روی سرور فیزیکی، ابتدا باید سیستم‌عامل و نرم‌افزارهای مورد نیاز را نصب کرده و سرور را پیکربندی کنید. به عنوان مثال، برای نصب CentOS 7 به‌عنوان سیستم‌عامل پایه، باید دستورهای زیر را اجرا کنید:

# به‌روزرسانی سیستم
yum update -y

# نصب پکیج‌های ضروری
yum install -y wget curl gcc make autoconf bzip2

# نصب Asterisk و سرویس‌های مورد نیاز
yum install -y asterisk asterisk-voicemail asterisk-sounds

این تنظیمات به‌طور معمول در سرورهای فیزیکی استفاده می‌شوند.


2. مزایا و معایب استفاده از ماشین مجازی

مزایا:

  • مقیاس‌پذیری راحت‌تر: ماشین‌های مجازی به شما این امکان را می‌دهند که به‌راحتی منابع را تغییر دهید یا تعداد سرورهای جدید اضافه کنید، بدون اینکه نیازی به خرید سخت‌افزار جدید باشد.
  • کاهش هزینه‌ها: ماشین‌های مجازی به شما این امکان را می‌دهند که چندین سیستم را روی یک سرور فیزیکی اجرا کنید. این امر موجب کاهش هزینه‌ها برای سخت‌افزار و فضای فیزیکی می‌شود.
  • انعطاف‌پذیری بیشتر: با استفاده از ماشین‌های مجازی می‌توانید سرورهای مجازی جدید بسازید و در صورت نیاز به‌راحتی آن‌ها را از بین ببرید. همچنین، قابلیت حمل‌پذیری میان سرورها فراهم می‌شود.

معایب:

  • عملکرد کمتری نسبت به سرور فیزیکی: استفاده از ماشین‌های مجازی می‌تواند بر عملکرد سیستم تأثیر بگذارد، زیرا منابع بین چندین VM تقسیم می‌شود و ممکن است منابع مورد نیاز برای پردازش‌های سنگین موجود نباشد.
  • محدودیت منابع: در صورتی که منابع سرور فیزیکی به اندازه کافی قوی نباشند، ممکن است با مشکلاتی در تخصیص منابع روبه‌رو شوید.

پیکربندی ماشین مجازی: برای نصب Issabel بر روی ماشین مجازی، باید یک hypervisor مانند VMware یا VirtualBox را نصب کنید و سپس یک ماشین مجازی جدید بسازید. پس از ایجاد ماشین مجازی، مراحل نصب و پیکربندی مشابه سرور فیزیکی است.

به‌طور مثال، برای نصب Issabel بر روی یک ماشین مجازی با استفاده از VMware، باید مراحل زیر را دنبال کنید:

  1. ساخت ماشین مجازی جدید:
    • از VMware vSphere یا VMware Workstation استفاده کنید.
    • یک ماشین مجازی با منابع مشخص مانند 2 هسته پردازنده، 4GB رم، و 40GB فضای دیسک ایجاد کنید.
  2. نصب سیستم‌عامل (CentOS 7):
    • سی‌دی نصب CentOS را به ماشین مجازی متصل کنید و فرآیند نصب را شروع کنید.
  3. پیکربندی Issabel: پس از نصب سیستم‌عامل، می‌توانید Issabel را همان‌طور که در سرور فیزیکی توضیح داده شد، نصب و پیکربندی کنید:
# نصب پکیج‌های ضروری
yum install -y wget curl gcc make autoconf bzip2

# نصب Asterisk
yum install -y asterisk

# نصب Issabel
yum install -y issabel

جمع‌بندی

انتخاب بین سرور فیزیکی یا ماشین مجازی بستگی به نیازهای خاص سازمان شما دارد. اگر عملکرد بالا، پایداری و استفاده از منابع اختصاصی اهمیت دارد، سرور فیزیکی گزینه بهتری است. اما اگر به مقیاس‌پذیری، کاهش هزینه‌ها و انعطاف‌پذیری نیاز دارید، استفاده از ماشین‌های مجازی می‌تواند گزینه مناسبی باشد. در هر دو حالت، پیکربندی صحیح سیستم‌عامل و نرم‌افزارهای ضروری برای اجرای Issabel ضروری است.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”تهیه نسخه‌های پشتیبان از داده‌ها قبل از نصب (در صورت نصب روی سیستم‌های موجود)” subtitle=”توضیحات کامل”]قبل از نصب Issabel روی یک سیستم موجود، اهمیت زیادی دارد که از تمامی داده‌ها، تنظیمات سیستم و پیکربندی‌ها نسخه پشتیبان تهیه کنید. این اقدام می‌تواند از از دست رفتن اطلاعات حیاتی جلوگیری کرده و امکان بازیابی سیستم به حالت قبلی در صورت بروز مشکل را فراهم کند. در این بخش، مراحل تهیه نسخه‌های پشتیبان قبل از نصب Issabel روی سیستم‌های موجود شرح داده می‌شود.


1. تهیه نسخه پشتیبان از سیستم‌عامل و پیکربندی‌ها

اولین قدم در تهیه نسخه پشتیبان، ایجاد کپی از تنظیمات سیستم‌عامل است. اگر سیستم شما قبلاً روی سرور فیزیکی یا ماشین مجازی دیگری نصب است و شما قصد دارید Issabel را روی آن نصب کنید، باید از تمامی فایل‌ها و پیکربندی‌های موجود نسخه پشتیبان تهیه کنید.

نصب و استفاده از ابزار rsync برای بکاپ‌گیری:

ابزار rsync یکی از بهترین ابزارهای لینوکس برای انجام بکاپ‌گیری است. با استفاده از rsync می‌توانید به‌راحتی فایل‌ها و دایرکتوری‌ها را از یک مکان به مکان دیگر کپی کنید.

برای نصب rsync (در صورت نبودن در سیستم):

# نصب rsync در CentOS / RHEL:
yum install -y rsync

# نصب rsync در Ubuntu / Debian:
apt-get install -y rsync
بکاپ‌گیری از دایرکتوری‌ها و فایل‌ها:

برای تهیه نسخه پشتیبان از دایرکتوری‌های مهم سیستم مانند /etc، /var و /home که شامل پیکربندی‌ها و داده‌های کاربری هستند، دستور rsync به‌صورت زیر استفاده می‌شود:

# بکاپ‌گیری از دایرکتوری‌های مهم سیستم:
rsync -av --progress /etc /home /var /backup-directory/

در اینجا، /backup-directory/ باید مسیر مقصدی باشد که نسخه پشتیبان در آن ذخیره خواهد شد.


2. تهیه نسخه پشتیبان از پایگاه‌های داده (Database Backups)

اگر روی سیستم‌تان پایگاه داده‌هایی مانند MySQL یا PostgreSQL اجرا می‌شود، باید از آن‌ها نیز نسخه پشتیبان تهیه کنید. برای این کار می‌توانید از ابزارهای مخصوص بکاپ‌گیری مانند mysqldump یا pg_dump استفاده کنید.

بکاپ‌گیری از پایگاه داده MySQL یا MariaDB:

برای تهیه نسخه پشتیبان از پایگاه داده MySQL یا MariaDB، از دستور mysqldump به شکل زیر استفاده کنید:

# بکاپ‌گیری از تمام پایگاه‌های داده MySQL یا MariaDB:
mysqldump --all-databases --single-transaction --quick --lock-tables=false > /backup-directory/mysql-backup.sql

در این دستور:

  • --all-databases تمام پایگاه‌های داده موجود را پشتیبان‌گیری می‌کند.
  • --single-transaction اطمینان می‌دهد که پایگاه داده در حین بکاپ‌گیری در حالت Consistent باقی بماند.
  • /backup-directory/mysql-backup.sql مسیر فایل بکاپ است که باید آن را مطابق با نیاز خود تغییر دهید.
بکاپ‌گیری از پایگاه داده PostgreSQL:

برای تهیه نسخه پشتیبان از پایگاه داده PostgreSQL، از دستور pg_dumpall استفاده می‌شود:

# بکاپ‌گیری از تمام پایگاه‌های داده PostgreSQL:
pg_dumpall > /backup-directory/postgresql-backup.sql

3. تهیه نسخه پشتیبان از تنظیمات شبکه و سرویس‌ها

اگر سیستم شما از سرویس‌های شبکه‌ای مانند Apache, Nginx, SSH, یا FTP استفاده می‌کند، باید تنظیمات پیکربندی این سرویس‌ها را نیز پشتیبان‌گیری کنید.

پشتیبان‌گیری از تنظیمات سرویس‌ها:
  1. تنظیمات Apache یا Nginx:
    • مسیرهای پیکربندی به‌طور معمول در /etc/httpd/ یا /etc/nginx/ قرار دارند.
    • دستور پشتیبان‌گیری:
      rsync -av /etc/httpd /etc/nginx /backup-directory/
      
  2. تنظیمات SSH:
    • پیکربندی SSH معمولاً در فایل /etc/ssh/sshd_config قرار دارد.
      rsync -av /etc/ssh/sshd_config /backup-directory/
      
  3. تنظیمات DNS یا DHCP:
    • فایل‌های پیکربندی DNS در /etc/named/ یا /etc/dhcp/ قرار دارند.
      rsync -av /etc/named /etc/dhcp /backup-directory/
      

4. تهیه نسخه پشتیبان از فایل‌های مهم کاربری

اگر سیستم شما شامل داده‌های کاربری مهم است، باید نسخه پشتیبان از این فایل‌ها نیز تهیه کنید. این فایل‌ها معمولاً در دایرکتوری‌های /home یا /var/www قرار دارند.

بکاپ‌گیری از داده‌های کاربری:
# بکاپ‌گیری از دایرکتوری‌های داده‌های کاربری:
rsync -av /home /var/www /backup-directory/

5. تهیه نسخه پشتیبان از پیکربندی‌های Issabel (در صورت نصب قبلی)

اگر سیستم شما قبلاً Issabel را نصب کرده است و می‌خواهید آن را دوباره نصب کنید، باید از تمام پیکربندی‌های Issabel نسخه پشتیبان تهیه کنید.

برای پشتیبان‌گیری از پیکربندی‌های Issabel، فایل‌های پیکربندی در مسیر /etc/asterisk/ قرار دارند. این فایل‌ها شامل تنظیمات VoIP و سایر پارامترهای مربوط به Asterisk می‌باشند.

# بکاپ‌گیری از فایل‌های پیکربندی Issabel:
rsync -av /etc/asterisk /backup-directory/

جمع‌بندی

تهیه نسخه پشتیبان از داده‌ها قبل از نصب Issabel روی سیستم‌های موجود یک اقدام حیاتی است. این فرآیند شامل پشتیبان‌گیری از تنظیمات سیستم‌عامل، پایگاه‌های داده، سرویس‌های شبکه، داده‌های کاربری و پیکربندی‌های Issabel می‌شود. استفاده از ابزارهایی مانند rsync و mysqldump برای بکاپ‌گیری از این فایل‌ها و پایگاه‌های داده به شما کمک می‌کند که در صورت بروز مشکل، به‌راحتی سیستم را بازیابی کنید و اطلاعات مهم خود را از دست ندهید.[/cdb_course_lesson][cdb_course_lesson title=”فصل 2. نصب سیستم‌عامل پایه (CentOS یا مشابه)”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”دانلود نسخه مناسب سیستم‌عامل (CentOS 7/8 یا دیگر توزیع‌های مناسب)” subtitle=”توضیحات کامل”]برای نصب Issabel، ابتدا باید نسخه مناسب سیستم‌عامل را انتخاب و دانلود کنید. Issabel به‌طور معمول روی توزیع‌های مختلف لینوکس مانند CentOS و Red Hat Enterprise Linux (RHEL) اجرا می‌شود. در این بخش، مراحل دانلود نسخه مناسب سیستم‌عامل و نصب آن برای Issabel شرح داده می‌شود.


1. انتخاب سیستم‌عامل مناسب برای نصب Issabel

بیشترین توزیع‌های لینوکس که برای نصب Issabel توصیه می‌شوند عبارتند از:

  • CentOS 7 یا 8: این نسخه‌ها بیشتر با Issabel سازگار هستند و پشتیبانی بهتری برای نرم‌افزارهای مورد نیاز دارند.
  • RHEL (Red Hat Enterprise Linux): اگر از یک توزیع تجاری استفاده می‌کنید، RHEL نیز گزینه مناسبی برای نصب Issabel است.

نکته: CentOS 8 به‌طور رسمی به پایان پشتیبانی رسید و از آن به بعد توصیه می‌شود از CentOS Stream یا نسخه‌های مشابه مانند AlmaLinux یا Rocky Linux استفاده کنید.


2. دانلود نسخه مناسب CentOS

برای نصب Issabel، نسخه مناسب CentOS را می‌توانید از وب‌سایت رسمی آن دانلود کنید. در اینجا روش‌های مختلف دانلود آورده شده است:

دانلود CentOS 7

برای دانلود CentOS 7، به سایت رسمی CentOS بروید و فایل ISO مربوطه را دانلود کنید.

دانلود CentOS Stream (برای نسخه‌های جدیدتر)

برای نصب روی نسخه‌های جدیدتر، می‌توانید CentOS Stream را دانلود کنید.


3. دانلود نسخه مناسب برای RHEL

اگر از RHEL استفاده می‌کنید، ابتدا باید از طریق اشتراک RHEL خود به سایت Red Hat وارد شوید و نسخه مناسب سیستم‌عامل را دانلود کنید.

  • لینک دانلود RHEL (برای ثبت‌نام و اشتراک): RHEL Download

4. دانلود و ساخت USB Bootable (برای نصب روی سرور فیزیکی)

برای نصب سیستم‌عامل روی سرور فیزیکی، بعد از دانلود فایل ISO، باید یک USB Bootable بسازید. برای این کار از ابزارهایی مانند Rufus یا dd استفاده کنید.

استفاده از Rufus (در ویندوز):
  1. دانلود و نصب Rufus: Rufus Download
  2. ساخت USB Bootable:
    • پس از نصب Rufus، USB Flash را به کامپیوتر متصل کرده و نرم‌افزار Rufus را باز کنید.
    • فایل ISO دانلود شده از CentOS را در Rufus انتخاب کنید.
    • گزینه‌های پیش‌فرض را تایید کرده و روی “Start” کلیک کنید.
استفاده از dd (در لینوکس):

اگر از لینوکس استفاده می‌کنید، می‌توانید از دستور dd برای ساخت USB Bootable استفاده کنید. دستور زیر را در ترمینال وارد کنید:

sudo dd if=/path/to/centos.iso of=/dev/sdX bs=4M status=progress

در این دستور، /path/to/centos.iso مسیر فایل ISO دانلودی است و /dev/sdX باید با دستگاه USB شما (مثلاً /dev/sdb) جایگزین شود.


5. مراحل نصب سیستم‌عامل روی سرور یا ماشین مجازی

پس از دانلود و ساخت USB Bootable، شما می‌توانید سیستم‌عامل را روی سرور فیزیکی یا ماشین مجازی نصب کنید.

نصب روی سرور فیزیکی:
  • سیستم را از USB Bootable بوت کنید.
  • نصب CentOS را از طریق دستورالعمل‌های روی صفحه آغاز کنید.
  • در حین نصب، تنظیمات زبان، منطقه، پارتیشن‌بندی و شبکه را انجام دهید.
نصب روی ماشین مجازی:
  • از نرم‌افزارهایی مانند VirtualBox یا VMware برای ایجاد یک ماشین مجازی جدید استفاده کنید.
  • فایل ISO دانلود شده را به عنوان رسانه نصب در ماشین مجازی بارگذاری کنید.
  • سیستم را از ISO بوت کرده و دستورالعمل‌های نصب را دنبال کنید.

جمع‌بندی

برای نصب Issabel، انتخاب و دانلود نسخه مناسب سیستم‌عامل از اهمیت بالایی برخوردار است. CentOS 7 یا 8، و همچنین CentOS Stream گزینه‌های پیشنهادی برای نصب هستند. پس از دانلود فایل ISO، شما می‌توانید از ابزارهایی مانند Rufus یا dd برای ساخت USB Bootable استفاده کنید و سپس سیستم‌عامل را روی سرور فیزیکی یا ماشین مجازی نصب کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”مراحل نصب سیستم‌عامل بر روی سرور یا ماشین مجازی” subtitle=”توضیحات کامل”]برای نصب سیستم‌عامل بر روی سرور فیزیکی یا ماشین مجازی، ابتدا باید فایل ISO سیستم‌عامل (CentOS یا هر توزیع لینوکس دیگری) را دانلود کرده و USB Bootable بسازید. سپس مراحل نصب را دنبال کنید. در این بخش، مراحل نصب سیستم‌عامل بر روی هر دو نوع سرور فیزیکی و ماشین مجازی شرح داده می‌شود.


1. نصب سیستم‌عامل بر روی سرور فیزیکی

الف) آماده‌سازی USB Bootable

قبل از هر چیزی، باید USB Bootable را ایجاد کنید. برای این کار، فایل ISO سیستم‌عامل (CentOS یا دیگر توزیع‌های مناسب) را از سایت رسمی دانلود کرده و با استفاده از ابزارهایی مانند Rufus (برای ویندوز) یا dd (برای لینوکس) یک USB Bootable بسازید.

استفاده از Rufus (در ویندوز):

  • دانلود و نصب Rufus: Rufus Download
  • ساخت USB Bootable:
    • USB Flash را به کامپیوتر متصل کنید و نرم‌افزار Rufus را باز کنید.
    • فایل ISO دانلود شده را در Rufus انتخاب کنید.
    • تنظیمات پیش‌فرض را تایید کرده و روی “Start” کلیک کنید.

استفاده از dd (در لینوکس):

sudo dd if=/path/to/centos.iso of=/dev/sdX bs=4M status=progress

در این دستور، /path/to/centos.iso مسیر فایل ISO و /dev/sdX دستگاه USB است.


ب) نصب سیستم‌عامل

بعد از ایجاد USB Bootable، مراحل نصب سیستم‌عامل روی سرور فیزیکی به شرح زیر است:

  1. بوت از USB:
    • USB Flash را به سرور متصل کنید.
    • سیستم را روشن کنید و وارد BIOS یا UEFI شوید (با فشردن کلید‌هایی مانند F2، ESC یا DEL در هنگام راه‌اندازی).
    • ترتیب بوت را تغییر دهید تا سیستم از USB بوت شود.
  2. شروع نصب سیستم‌عامل:
    • پس از بوت شدن، صفحه نصب سیستم‌عامل نمایش داده می‌شود.
    • گزینه “Install CentOS” را انتخاب کنید.
    • تنظیمات زبان، منطقه و کیبورد را انتخاب کنید.
  3. پارتیشن‌بندی دیسک‌ها:
    • در مرحله پارتیشن‌بندی، گزینه “Automatic” را انتخاب کنید یا می‌توانید پارتیشن‌بندی دستی انجام دهید.
    • انتخاب کنید که سیستم به صورت یکپارچه یا جداگانه نصب شود.
  4. تنظیمات شبکه:
    • تنظیمات شبکه مانند آدرس IP، DNS و Gateway را وارد کنید.
    • اطمینان حاصل کنید که شبکه به درستی پیکربندی شده باشد.
  5. انتخاب نرم‌افزار و بسته‌ها:
    • می‌توانید انتخاب کنید که کدام بسته‌های نرم‌افزاری در طول نصب نصب شوند. معمولاً انتخاب گزینه “Minimal Install” برای سیستم‌های سرور توصیه می‌شود.
  6. پیکربندی سیستم‌عامل:
    • تنظیمات کاربر و رمز عبور را برای حساب root و کاربران دیگر وارد کنید.
    • پس از اتمام نصب، سیستم‌عامل به‌طور خودکار راه‌اندازی می‌شود.
  7. ریستارت و شروع استفاده:
    • پس از نصب، سیستم را ریستارت کرده و USB را از سیستم جدا کنید.
    • سیستم‌عامل نصب‌شده آماده استفاده است.

2. نصب سیستم‌عامل بر روی ماشین مجازی

الف) ایجاد ماشین مجازی

برای نصب سیستم‌عامل روی ماشین مجازی، از نرم‌افزارهایی مانند VirtualBox یا VMware استفاده می‌شود.

  1. نصب نرم‌افزار ماشین مجازی:
    • برای نصب VirtualBox، به سایت VirtualBox Download مراجعه کرده و نسخه مناسب سیستم‌عامل خود را دانلود کنید.
    • پس از دانلود، نرم‌افزار را نصب کنید.
  2. ایجاد ماشین مجازی جدید:
    • نرم‌افزار VirtualBox را باز کنید و روی گزینه “New” کلیک کنید.
    • یک نام برای ماشین مجازی وارد کرده و نوع سیستم‌عامل (Linux) و نسخه (CentOS) را انتخاب کنید.
    • میزان حافظه (RAM) را تنظیم کنید (حداقل 1GB برای نصب CentOS توصیه می‌شود).
  3. پیکربندی هارد دیسک مجازی:
    • در مرحله بعد، یک دیسک سخت مجازی (VDI) ایجاد کنید.
    • اندازه دیسک را انتخاب کنید (حداقل 10GB فضای آزاد پیشنهاد می‌شود).
  4. انتخاب فایل ISO:
    • پس از ایجاد ماشین مجازی، روی آن کلیک راست کرده و گزینه “Settings” را انتخاب کنید.
    • در بخش “Storage”، دیسک CD/DVD را انتخاب کرده و فایل ISO دانلودی از CentOS را بارگذاری کنید.

ب) نصب سیستم‌عامل

پس از تنظیمات ماشین مجازی، مراحل نصب مشابه نصب روی سرور فیزیکی خواهد بود:

  1. راه‌اندازی ماشین مجازی:
    • ماشین مجازی را روشن کرده و از فایل ISO بوت می‌شود.
  2. شروع نصب سیستم‌عامل:
    • مانند نصب روی سرور فیزیکی، مراحل نصب سیستم‌عامل را دنبال کنید.
    • انتخاب زبان، پارتیشن‌بندی و تنظیمات شبکه مشابه مراحل نصب سرور فیزیکی است.
  3. پیکربندی و نصب:
    • تنظیمات مربوط به پارتیشن‌بندی، شبکه و بسته‌های نرم‌افزاری را انجام دهید.
    • پس از اتمام نصب، ماشین مجازی را ریستارت کنید.

جمع‌بندی

برای نصب سیستم‌عامل روی سرور فیزیکی یا ماشین مجازی، ابتدا باید USB Bootable بسازید. سپس سیستم‌عامل را از طریق بوت نصب کنید. مراحل نصب شامل تنظیمات زبان، پارتیشن‌بندی دیسک‌ها، تنظیمات شبکه و پیکربندی سیستم‌عامل است. در نهایت، سیستم را ریستارت کرده و آماده استفاده می‌شود.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”پیکربندی اولیه سیستم‌عامل (IP ثابت، DNS و Gateway)” subtitle=”توضیحات کامل”]برای پیکربندی IP ثابت، DNS و Gateway در سیستم‌عامل‌های مبتنی بر لینوکس (مانند CentOS یا RHEL) باید فایل‌های پیکربندی شبکه را ویرایش کرده و سرویس شبکه را ریستارت کنید. در این بخش، دستورالعمل‌های کامندی برای تنظیمات شبکه، DNS و Gateway آورده شده است.


1. تنظیم IP ثابت (Static IP)

الف) ویرایش فایل پیکربندی شبکه

در سیستم‌های CentOS یا RHEL، تنظیمات شبکه در فایل‌های موجود در مسیر /etc/sysconfig/network-scripts/ قرار دارد. برای تنظیم IP ثابت، باید فایل پیکربندی مربوط به رابط شبکه (interface) را ویرایش کنید.

دستور برای ویرایش فایل پیکربندی:

sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

ب) تنظیمات IP ثابت

در این فایل، تنظیمات مربوط به IP ثابت را به شکل زیر وارد کنید:

DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100      # IP ثابت دلخواه
NETMASK=255.255.255.0     # Subnet Mask
GATEWAY=192.168.1.1      # Gateway
DNS1=8.8.8.8             # DNS اصلی
DNS2=8.8.4.4             # DNS دوم

توضیح موارد:

  • DEVICE=eth0: نام رابط شبکه (ممکن است بسته به نام رابط، تغییر کند).
  • BOOTPROTO=static: به این معنی است که IP به صورت ثابت (Static) تنظیم شده است.
  • ONBOOT=yes: شبکه در هنگام بوت سیستم فعال می‌شود.
  • IPADDR: آدرس IP ثابت که می‌خواهید به دستگاه اختصاص دهید.
  • NETMASK: Subnet Mask برای شبکه.
  • GATEWAY: Gateway پیش‌فرض برای دسترسی به شبکه‌های خارجی.
  • DNS1 و DNS2: DNSهایی که برای نام‌گذاری دامنه‌ها استفاده می‌شود.

ج) ذخیره تغییرات

پس از ویرایش فایل، تغییرات را ذخیره کنید و از ویرایشگر خارج شوید. در ویرایشگر vi، برای ذخیره و خروج از فایل، کلیدهای زیر را بزنید:

  1. فشردن Esc
  2. تایپ :wq و فشردن Enter

2. تنظیم DNS

الف) ویرایش فایل resolv.conf برای تنظیم DNS

برای تنظیم DNS، فایل /etc/resolv.conf را باید ویرایش کنید. این فایل شامل اطلاعات مربوط به DNS سرورها است.

دستور برای ویرایش فایل resolv.conf:

sudo vi /etc/resolv.conf

ب) تنظیم DNS

در این فایل، DNSهای موردنظر را اضافه کنید:

nameserver 8.8.8.8    # DNS اصلی
nameserver 8.8.4.4    # DNS دوم

ج) ذخیره تغییرات

تغییرات را ذخیره کرده و از ویرایشگر خارج شوید (مثل دستور قبل).


3. تنظیم Gateway پیش‌فرض

الف) پیکربندی Gateway در فایل network-scripts

در فایل /etc/sysconfig/network-scripts/ifcfg-eth0 که در ابتدا ویرایش کرده‌ایم، برای تنظیم Gateway، باید مقدار GATEWAY را مشخص کنید. در صورتی که تنظیمات IP ثابت انجام شده باشد، Gateway معمولاً در همین فایل پیکربندی می‌شود.

ب) ریستارت شبکه برای اعمال تغییرات

برای اعمال تغییرات، باید سرویس شبکه را ریستارت کنید. این کار با دستور زیر انجام می‌شود:

sudo systemctl restart network

ج) بررسی پیکربندی

برای اطمینان از اینکه تنظیمات به درستی اعمال شده است، می‌توانید وضعیت شبکه را با استفاده از دستور ip یا ifconfig بررسی کنید.

دستور برای بررسی تنظیمات IP و Gateway:

ip addr show

برای بررسی گیت‌وی:

ip route show

جمع‌بندی

پیکربندی IP ثابت، DNS و Gateway در سیستم‌عامل‌های لینوکس نیاز به ویرایش فایل‌های پیکربندی مربوطه دارد. ابتدا فایل پیکربندی شبکه /etc/sysconfig/network-scripts/ifcfg-eth0 برای تنظیم IP ثابت و Gateway و سپس فایل /etc/resolv.conf برای تنظیم DNSها ویرایش می‌شود. پس از ذخیره تغییرات، باید سرویس شبکه را ریستارت کرده و با استفاده از دستورات ip addr show و ip route show وضعیت شبکه بررسی گردد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”به‌روزرسانی و نصب پکیج‌های ضروری (بسته‌های ضروری برای نصب Issabel)” subtitle=”توضیحات کامل”]برای نصب Issabel و استفاده از قابلیت‌های آن، سیستم شما باید دارای پکیج‌های ضروری باشد. در این بخش، مراحل به‌روزرسانی سیستم و نصب پکیج‌های ضروری مانند Apache, PHP, MariaDB و دیگر بسته‌های مورد نیاز توضیح داده شده است. تمامی دستورات به صورت کامندی نوشته می‌شوند و مسیر فایل‌های پیکربندی ذکر خواهد شد.


1. به‌روزرسانی سیستم

قبل از نصب پکیج‌ها، مهم است که سیستم به‌روز باشد تا از آخرین نسخه‌های پکیج‌ها و اصلاحات امنیتی استفاده کنید. برای به‌روزرسانی سیستم در CentOS و RHEL، دستور زیر را وارد کنید:

دستور به‌روزرسانی سیستم:

sudo yum update -y

این دستور سیستم را به آخرین نسخه‌های موجود به‌روزرسانی می‌کند.


2. نصب پکیج‌های ضروری برای Issabel

برای نصب Issabel، به پکیج‌های متعددی مانند Apache، PHP، MariaDB و پکیج‌های دیگر نیاز دارید. مراحل نصب هرکدام از این پکیج‌ها به صورت جداگانه آورده شده است.

الف) نصب Apache (وب سرور)

برای نصب Apache در سیستم، از دستور زیر استفاده کنید:

دستور نصب Apache:

sudo yum install httpd -y

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

sudo systemctl enable httpd
sudo systemctl start httpd

ب) نصب PHP

Issabel به نسخه‌ای از PHP نیاز دارد که قابلیت تعامل با Apache و MariaDB را داشته باشد. برای نصب PHP و برخی از ماژول‌های ضروری آن، دستور زیر را وارد کنید:

دستور نصب PHP و ماژول‌ها:

sudo yum install php php-cli php-common php-mysqlnd php-mbstring php-xml php-pdo php-gd -y

ج) نصب MariaDB (بانک اطلاعاتی)

Issabel از MariaDB برای ذخیره‌سازی داده‌ها استفاده می‌کند. برای نصب MariaDB، دستور زیر را وارد کنید:

دستور نصب MariaDB:

sudo yum install mariadb-server mariadb -y

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

sudo systemctl enable mariadb
sudo systemctl start mariadb

د) نصب پکیج‌های ضروری دیگر

بسته‌های اضافی که ممکن است برای پیکربندی Issabel به آن‌ها نیاز داشته باشید را می‌توان با دستور زیر نصب کرد:

دستور نصب پکیج‌های ضروری:

sudo yum install wget curl unzip net-tools -y

3. بررسی نصب پکیج‌ها

پس از نصب پکیج‌ها، می‌توانید با استفاده از دستورات زیر بررسی کنید که آیا پکیج‌ها به درستی نصب شده‌اند یا خیر.

دستور بررسی نصب Apache:

httpd -v

دستور بررسی نصب PHP:

php -v

دستور بررسی نصب MariaDB:

mysql -V

4. پیکربندی فایل‌ها و تنظیمات

برای پیکربندی اولیه Apache و MariaDB برای Issabel، نیاز به ویرایش فایل‌های پیکربندی خواهیم داشت.

الف) پیکربندی Apache

برای اطمینان از عملکرد صحیح Apache با Issabel، باید فایل پیکربندی Apache را ویرایش کنید.

ویرایش فایل پیکربندی Apache:

sudo vi /etc/httpd/conf/httpd.conf

در این فایل، اطمینان حاصل کنید که تنظیمات زیر به درستی وارد شده است:

  • ServerName باید با آدرس IP یا نام دامنه شما تنظیم شده باشد.
  • مطمئن شوید که فایروال اجازه دسترسی به پورت 80 (HTTP) و 443 (HTTPS) را می‌دهد.

ب) پیکربندی MariaDB

MariaDB باید برای استفاده با Issabel پیکربندی شود. اولین قدم تنظیمات امنیتی MariaDB است که می‌توان با دستور زیر انجام داد:

تنظیمات امنیتی اولیه برای MariaDB:

sudo mysql_secure_installation

در این مرحله، از شما خواسته می‌شود که پسورد ریشه (root) را تنظیم کنید و دیگر تنظیمات امنیتی را اعمال کنید.


جمع‌بندی

برای نصب Issabel و راه‌اندازی سیستم به صورت صحیح، باید ابتدا سیستم را به‌روزرسانی کنید و سپس پکیج‌های ضروری مانند Apache، PHP، MariaDB و پکیج‌های جانبی را نصب کنید. پس از نصب پکیج‌ها، تنظیمات مربوط به Apache و MariaDB باید پیکربندی شوند تا هماهنگ با نیازهای Issabel عمل کنند. همچنین، باید فایل‌های پیکربندی را ویرایش کرده و سرویس‌ها را ریستارت کنید تا تغییرات اعمال شوند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 3. نصب Issabel”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”دانلود نسخه مناسب Issabel از سایت رسمی” subtitle=”توضیحات کامل”]برای شروع نصب Issabel، باید نسخه مناسب از سایت رسمی آن دانلود شود. در این بخش، مراحل دانلود و انتخاب نسخه مناسب شرح داده شده است.


1. بازدید از سایت رسمی Issabel

برای دانلود آخرین نسخه Issabel، به وب‌سایت رسمی آن مراجعه کنید. لینک مستقیم برای دانلود نسخه‌ها در سایت موجود است.

آدرس سایت رسمی Issabel: https://www.issabel.org/download/

2. انتخاب نسخه مناسب برای سیستم‌عامل

قبل از دانلود، باید نسخه مناسب برای سیستم‌عامل خود را انتخاب کنید. Issabel معمولاً برای نسخه‌های مختلف CentOS و RHEL منتشر می‌شود. نسخه‌ای را انتخاب کنید که با سیستم‌عامل شما سازگار باشد.

الف) نسخه‌های قابل انتخاب:

  • CentOS 7/8: نسخه‌های این سیستم‌عامل معمولاً برای نصب Issabel مناسب هستند.
  • دیگر توزیع‌ها: اگر از توزیع‌های دیگر مانند Debian یا Ubuntu استفاده می‌کنید، ممکن است نیاز به پیکربندی‌های اضافی داشته باشید.

3. دانلود نسخه ISO

پس از انتخاب نسخه مناسب، می‌توانید فایل ISO آن را برای نصب دانلود کنید. لینک دانلود برای نسخه‌های مختلف به صورت مستقیم در سایت رسمی موجود است. پس از دانلود فایل ISO، آن را به یک USB یا دیسک برای نصب روی سرور یا ماشین مجازی انتقال دهید.


4. تأیید نسخه دانلود شده

پس از دانلود، بهتر است که نسخه‌ای که دریافت کرده‌اید را بررسی کنید تا مطمئن شوید که فایل به درستی دانلود شده است. برای این کار، از دستور sha256sum برای بررسی صحت فایل ISO استفاده کنید.

دستور بررسی فایل ISO:

sha256sum /path/to/your/downloaded/iso

مقدار هش بدست آمده باید با مقدار هش ارائه‌شده در سایت رسمی Issabel مطابقت داشته باشد.


جمع‌بندی

برای نصب Issabel، ابتدا باید نسخه مناسب از سایت رسمی آن دانلود شود. این نسخه باید با سیستم‌عامل شما سازگار باشد و پس از دانلود، فایل ISO برای نصب آماده شود. برای اطمینان از صحت دانلود، از دستور بررسی هش استفاده کنید تا فایل دریافتی معتبر باشد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”نصب از طریق دستورهای خط فرمان یا با استفاده از اسکریپت‌های نصب” subtitle=”توضیحات کامل”]برای نصب Issabel، شما می‌توانید از دو روش استفاده کنید: نصب از طریق دستورهای خط فرمان یا با استفاده از اسکریپت‌های نصب که به‌طور خودکار پیکربندی‌ها و تنظیمات را انجام می‌دهند. در این بخش، نحوه نصب از هر دو روش توضیح داده خواهد شد.


1. نصب با استفاده از دستورهای خط فرمان

اولین روش برای نصب Issabel، استفاده از دستورات خط فرمان است. این روش مناسب برای کاربرانی است که تمایل دارند نصب و پیکربندی را به‌صورت دستی و کنترل‌شده انجام دهند.

مراحل نصب:

  1. آپدیت سیستم: قبل از شروع، بهتر است سیستم را با استفاده از دستورات زیر آپدیت کنید:
    yum update -y
    
  2. نصب پیش‌نیازها: برای نصب Issabel، نیاز به برخی پکیج‌ها دارید که باید آن‌ها را نصب کنید:
    yum install -y wget net-tools perl
    
  3. دانلود فایل نصب Issabel: پس از نصب پیش‌نیازها، باید فایل ISO یا بسته نصب Issabel را از سایت رسمی دانلود کنید. برای این کار، از دستور wget استفاده کنید:
    wget https://www.issabel.org/download/issabel-latest.iso
    
  4. نصب Issabel: فایل ISO را به طور کامل دانلود کرده و آن را به دیسک بوت‌پذیر یا USB منتقل کنید. سپس سیستم را از طریق دیسک یا USB راه‌اندازی کنید و مراحل نصب را به طور خودکار دنبال کنید.

2. نصب با استفاده از اسکریپت‌های نصب

نصب Issabel از طریق اسکریپت‌های نصب روشی سریع و راحت برای نصب است که تمام مراحل نصب و پیکربندی را به‌طور خودکار انجام می‌دهد.

مراحل نصب با اسکریپت:

  1. دانلود اسکریپت نصب: اسکریپت نصب Issabel را از سایت رسمی یا منابع معتبر دانلود کنید.
    wget https://www.issabel.org/download/issabel-installer.sh
    
  2. اجرا اسکریپت نصب: پس از دانلود، اسکریپت را با دستورات زیر اجرا کنید:
    chmod +x issabel-installer.sh
    ./issabel-installer.sh
    
  3. پیکربندی خودکار: اسکریپت به طور خودکار نصب را انجام داده و تمام پیکربندی‌های لازم را طبق تنظیمات پیش‌فرض انجام می‌دهد. این شامل تنظیمات شبکه، نصب سرویس‌ها و پیکربندی نرم‌افزارهای لازم است.

جمع‌بندی

در نصب Issabel، می‌توان از دو روش استفاده کرد: نصب از طریق دستورهای خط فرمان که شامل مراحل دستی است و نصب از طریق اسکریپت‌های نصب که پیکربندی‌ها را به‌طور خودکار انجام می‌دهد. نصب از طریق دستور خط فرمان نیاز به کنترل بیشتر روی جزئیات نصب دارد، در حالی که اسکریپت نصب، فرآیند را به‌صورت خودکار و سریع انجام می‌دهد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”بررسی پیش‌نیازها و وابستگی‌های نصب (نصب نرم‌افزارهای وابسته مانند Asterisk)” subtitle=”توضیحات کامل”]برای نصب Issabel به‌طور صحیح و بدون مشکل، لازم است که برخی نرم‌افزارهای وابسته به درستی نصب شوند. یکی از اصلی‌ترین وابستگی‌ها، Asterisk است که یک سیستم VoIP است و برای عملکرد صحیح Issabel به آن نیاز است. در این بخش، پیش‌نیازها و وابستگی‌های ضروری برای نصب Issabel بررسی می‌شوند.


1. پیش‌نیازهای عمومی

قبل از شروع نصب Issabel، اطمینان حاصل کنید که سیستم شما دارای پیش‌نیازهای زیر است:

  • سیستم‌عامل: CentOS 7/8 یا هر توزیع Linux مشابه
  • فضای ذخیره‌سازی: حداقل 10 گیگابایت فضای آزاد
  • حافظه: حداقل 2 گیگابایت RAM
  • پردازنده: پردازنده حداقل 1 هسته‌ای 1.5 GHz

نصب پکیج‌های ضروری:

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

yum install -y wget net-tools perl

این پکیج‌ها برای نصب نرم‌افزارهای وابسته به Issabel ضروری هستند.

2. نصب Asterisk

Asterisk یکی از اجزای ضروری برای عملکرد Issabel است. Asterisk یک سرویس VoIP است که برای برقراری تماس‌ها و مدیریت اتصالات استفاده می‌شود. برای نصب Asterisk، مراحل زیر را دنبال کنید:

مراحل نصب Asterisk:

  1. نصب پیش‌نیازهای Asterisk:Asterisk نیاز به برخی از ابزارها و کتابخانه‌ها دارد. ابتدا این پیش‌نیازها را نصب کنید:
    yum install -y gcc gcc-c++ make libxml2-devel ncurses-devel libjpeg-devel
    
  2. دانلود Asterisk:پس از نصب پیش‌نیازها، باید Asterisk را از وب‌سایت رسمی دانلود کنید:
    wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16.9.0.tar.gz
    
  3. استخراج فایل:فایل فشرده دانلود شده را استخراج کنید:
    tar xzvf asterisk-16.9.0.tar.gz
    cd asterisk-16.9.0
    
  4. ساخت و نصب Asterisk:حالا زمان آن است که Asterisk را بسازید و نصب کنید. از دستور زیر برای این کار استفاده کنید:
    ./configure
    make
    make install
    
  5. تنظیمات اولیه Asterisk:پس از نصب Asterisk، نیاز به پیکربندی اولیه آن است. می‌توانید فایل پیکربندی asterisk.conf را ویرایش کنید تا تنظیمات شبکه و اجزای دیگر را تعیین کنید:مسیر فایل پیکربندی:
    /etc/asterisk/asterisk.conf
    

    برای ویرایش فایل:

    nano /etc/asterisk/asterisk.conf
    

    در این فایل می‌توانید تنظیمات مانند نام کاربری، گروه و محل ذخیره فایل‌ها را مشخص کنید.

3. نصب سایر نرم‌افزارهای وابسته

علاوه بر Asterisk، برخی نرم‌افزارها و ابزارهای دیگر نیز ممکن است برای نصب Issabel ضروری باشند. این ابزارها شامل پایگاه داده‌ها و نرم‌افزارهای مربوط به ارتباطات است.

نصب MariaDB (پایگاه داده):

برای ذخیره‌سازی داده‌ها، Issabel نیاز به یک پایگاه داده دارد. MariaDB یک پایگاه داده رایگان و قدرتمند است که باید نصب شود.

  1. نصب MariaDB:برای نصب MariaDB، از دستور زیر استفاده کنید:
    yum install -y mariadb-server
    
  2. راه‌اندازی MariaDB:پس از نصب، MariaDB را شروع کنید و آن را فعال کنید:
    systemctl start mariadb
    systemctl enable mariadb
    

نصب PHP (برای رابط وب‌کاربری Issabel):

برای استفاده از رابط وب‌کاربری Issabel، به PHP نیاز دارید. برای نصب PHP، دستور زیر را اجرا کنید:

yum install -y php php-mysql php-mbstring

جمع‌بندی

برای نصب Issabel، باید نرم‌افزارهای وابسته‌ای همچون Asterisk، MariaDB و PHP را نصب کنید. Asterisk به‌عنوان یک نرم‌افزار VoIP ضروری است که برای مدیریت تماس‌ها و ارتباطات به‌کار می‌رود. همچنین، MariaDB برای ذخیره‌سازی داده‌ها و PHP برای فراهم آوردن رابط وب‌کاربری استفاده می‌شود. نصب این نرم‌افزارها نیاز به پیکربندی‌های خاصی دارد که باید طبق دستورالعمل‌ها انجام شود تا سیستم به درستی راه‌اندازی شود.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”راه‌اندازی خودکار پس از نصب Issabel و بررسی وضعیت نصب” subtitle=”توضیحات کامل”]پس از نصب Issabel، نیاز است که سیستم به‌صورت خودکار پس از بوت شدن راه‌اندازی شود و بررسی‌هایی صورت گیرد تا اطمینان حاصل شود که همه‌چیز به درستی نصب و پیکربندی شده است. در این بخش، مراحل راه‌اندازی خودکار و بررسی وضعیت نصب Issabel به تفصیل شرح داده می‌شود.


1. راه‌اندازی خودکار Issabel پس از بوت شدن سیستم

برای اطمینان از اینکه Issabel پس از راه‌اندازی سیستم به‌طور خودکار اجرا شود، باید سرویس‌های مربوطه به‌صورت خودکار فعال شوند. این کار با استفاده از دستور systemctl انجام می‌شود. برای انجام این تنظیمات، مراحل زیر را دنبال کنید.

تنظیمات سیستم برای راه‌اندازی خودکار

  1. فعال کردن سرویس‌های Issabel:ابتدا باید سرویس‌های Issabel مانند Asterisk و سرویس‌های مرتبط دیگر را برای راه‌اندازی خودکار پس از بوت شدن سیستم فعال کنید. دستور زیر را برای این کار وارد کنید:
    systemctl enable asterisk
    systemctl enable httpd
    systemctl enable mysqld
    

    این دستورات باعث می‌شوند که سرویس‌های asterisk (برای VoIP)، httpd (برای وب سرور Issabel) و mysqld (برای پایگاه داده) به‌طور خودکار پس از راه‌اندازی سیستم اجرا شوند.

  2. راه‌اندازی مجدد سیستم:پس از انجام تنظیمات، سیستم را ری‌استارت کنید تا تغییرات اعمال شوند:
    reboot
    
  3. بررسی وضعیت سرویس‌ها:پس از راه‌اندازی مجدد سیستم، برای بررسی اینکه سرویس‌ها به درستی راه‌اندازی شده‌اند یا خیر، از دستور systemctl status استفاده کنید:
    systemctl status asterisk
    systemctl status httpd
    systemctl status mysqld
    

    این دستورات وضعیت هر سرویس را نشان می‌دهند و می‌توانید از آن‌ها برای اطمینان از عملکرد صحیح سرویس‌ها استفاده کنید.


2. بررسی وضعیت نصب Issabel

پس از نصب Issabel و فعال‌سازی سرویس‌ها، لازم است که وضعیت نصب بررسی شود تا اطمینان حاصل شود که تمام اجزای سیستم به‌درستی کار می‌کنند.

بررسی وضعیت Asterisk

برای بررسی وضعیت Asterisk و مطمئن شدن از اینکه سرویس Asterisk در حال اجراست، می‌توانید از دستور زیر استفاده کنید:

asterisk -rx "core show version"

این دستور نسخه Asterisk را نمایش می‌دهد و نشان می‌دهد که آیا Asterisk به‌درستی نصب شده است یا خیر.

بررسی وضعیت وب‌سرور (HTTPD)

برای بررسی وضعیت وب‌سرور Issabel، باید بررسی کنید که سرویس httpd در حال اجرا باشد. برای این کار، از دستور زیر استفاده کنید:

systemctl status httpd

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

Active: active (running) since ...

بررسی وضعیت پایگاه داده (MariaDB)

برای بررسی وضعیت پایگاه داده MariaDB، از دستور زیر استفاده کنید:

systemctl status mariadb

اگر پایگاه داده به‌درستی فعال باشد، وضعیت آن باید active (running) باشد.

دسترسی به رابط وب Issabel

پس از اطمینان از راه‌اندازی صحیح سرویس‌ها، می‌توانید به رابط وب Issabel دسترسی پیدا کنید. مرورگر خود را باز کرده و آدرس آی‌پی سرور خود را وارد کنید:

http://<IP-Server>

اگر نصب و پیکربندی به درستی انجام شده باشد، باید صفحه ورود Issabel نمایش داده شود.


3. اطمینان از عملکرد صحیح سیستم

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

  • بررسی لاگ‌ها: بررسی فایل‌های لاگ می‌تواند به شناسایی مشکلات کمک کند. برای مشاهده لاگ‌های Asterisk، دستور زیر را وارد کنید:
    tail -f /var/log/asterisk/full
    
  • بررسی وضعیت شبکه: اطمینان حاصل کنید که شبکه به درستی پیکربندی شده باشد و سرویس‌های شبکه (مانند DNS، Gateway) به‌درستی کار کنند.برای بررسی وضعیت شبکه، از دستور زیر استفاده کنید:
    ifconfig
    

    این دستور اطلاعات مربوط به وضعیت شبکه را نمایش می‌دهد.


جمع‌بندی

پس از نصب Issabel، برای راه‌اندازی خودکار سیستم پس از بوت شدن باید سرویس‌های مربوطه را با استفاده از systemctl enable فعال کنید. همچنین، پس از راه‌اندازی سیستم، با استفاده از دستورات مختلف می‌توانید وضعیت سرویس‌ها مانند Asterisk، HTTPD و MariaDB را بررسی کنید. برای اطمینان از عملکرد صحیح سیستم، بررسی لاگ‌ها و وضعیت شبکه نیز پیشنهاد می‌شود.[/cdb_course_lesson][cdb_course_lesson title=”فصل 4. پیکربندی تنظیمات اولیه پس از نصب”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”ورود به رابط کاربری گرافیکی Issabel” subtitle=”توضیحات کامل”]رابط کاربری گرافیکی Issabel به شما این امکان را می‌دهد که مدیریت سیستم، پیکربندی‌ها، و تنظیمات مختلف را به راحتی انجام دهید. برای دسترسی به این رابط کاربری، شما باید ابتدا سیستم را به درستی نصب کرده و اطمینان حاصل کنید که سرویس‌های مورد نیاز در حال اجرا هستند. در این بخش، مراحل ورود به رابط کاربری گرافیکی Issabel توضیح داده خواهد شد.


1. اطمینان از اجرای سرویس‌های وب و شبکه

قبل از اینکه بتوانید وارد رابط کاربری گرافیکی Issabel شوید، باید اطمینان حاصل کنید که سرویس وب (HTTPD) به درستی راه‌اندازی شده و در دسترس است.

بررسی وضعیت سرویس HTTPD

برای بررسی وضعیت سرویس وب سرور Issabel، از دستور زیر استفاده کنید:

systemctl status httpd

اگر سرویس HTTPD به درستی در حال اجرا باشد، باید پیامی مشابه به این دریافت کنید:

Active: active (running) since ...

اگر سرویس HTTPD در حال اجرا نیست، می‌توانید آن را با استفاده از دستور زیر راه‌اندازی کنید:

systemctl start httpd

همچنین می‌توانید سرویس HTTPD را برای شروع خودکار در هر بار بوت کردن سیستم فعال کنید:

systemctl enable httpd

2. دسترسی به رابط کاربری از طریق مرورگر وب

برای دسترسی به رابط کاربری گرافیکی Issabel، باید از مرورگر وب استفاده کنید و آدرس آی‌پی سرور Issabel را وارد کنید. فرض کنید آی‌پی سرور شما 192.168.1.100 باشد، در این صورت URL به صورت زیر خواهد بود:

http://192.168.1.100

با وارد کردن این آدرس در نوار آدرس مرورگر خود، باید صفحه ورود به رابط کاربری Issabel ظاهر شود.


3. ورود به رابط کاربری

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

  • نام کاربری: admin
  • کلمه عبور: admin

اطلاعات ورود را وارد کرده و سپس بر روی دکمه “Login” کلیک کنید تا به داشبورد Issabel منتقل شوید.


4. تنظیمات و پیکربندی‌ها از طریق رابط کاربری

پس از ورود به رابط کاربری Issabel، می‌توانید تنظیمات مختلف سیستم را از طریق منوهای موجود پیکربندی کنید. برخی از گزینه‌های مهم که می‌توانید از طریق رابط گرافیکی تنظیم کنید عبارتند از:

  • پیکربندی SIP Trunks
  • مدیریت تماس‌ها (Call Routing)
  • مدیریت کاربران و گروه‌های تماس
  • تنظیمات امنیتی
  • گزارشات و لاگ‌ها

5. دسترسی به رابط کاربری از راه دور

اگر نیاز به دسترسی به رابط کاربری Issabel از خارج از شبکه محلی دارید، باید اطمینان حاصل کنید که پورت HTTP (پورت 80) یا HTTPS (پورت 443) در فایروال سرور شما باز است. برای باز کردن این پورت‌ها، می‌توانید از دستورات زیر استفاده کنید:

برای پورت 80 (HTTP):

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

برای پورت 443 (HTTPS):

firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload

پس از انجام این تنظیمات، شما قادر خواهید بود از طریق اینترنت یا شبکه‌های دیگر به رابط کاربری Issabel دسترسی پیدا کنید.


جمع‌بندی

برای ورود به رابط کاربری گرافیکی Issabel، ابتدا باید اطمینان حاصل کنید که سرویس‌های وب (HTTPD) به درستی اجرا می‌شوند. سپس با وارد کردن آدرس آی‌پی سرور در مرورگر وب و استفاده از نام کاربری و کلمه عبور پیش‌فرض، می‌توانید وارد رابط کاربری شوید. از این رابط برای پیکربندی و مدیریت سیستم استفاده خواهید کرد. همچنین برای دسترسی از راه دور باید اطمینان حاصل کنید که پورت‌های HTTP یا HTTPS در فایروال باز هستند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”تنظیمات اولیه مانند زبان، منطقه زمانی و تنظیمات امنیتی” subtitle=”توضیحات کامل”]پس از ورود به رابط کاربری گرافیکی Issabel، اولین قدم برای پیکربندی سیستم تنظیم زبان، منطقه زمانی و تنظیمات امنیتی است. این تنظیمات به شما این امکان را می‌دهند که سیستم خود را مطابق با نیازهای محلی و امنیتی تنظیم کنید.


1. تنظیم زبان سیستم

برای تغییر زبان رابط کاربری، باید تنظیمات زبان را در قسمت پیکربندی رابط کاربری انجام دهید. به طور پیش‌فرض، Issabel به زبان انگلیسی نصب می‌شود. اگر نیاز به تغییر زبان دارید، مراحل زیر را دنبال کنید:

گام اول: ورود به منوی “Settings”

در داشبورد Issabel، به منوی “Settings” بروید و سپس گزینه “Language” را انتخاب کنید.

گام دوم: انتخاب زبان

در صفحه “Language Settings”، از لیست زبان‌های موجود، زبان مورد نظر خود را انتخاب کنید (مثلاً “فارسی” یا “Arabic”).

گام سوم: ذخیره تنظیمات

پس از انتخاب زبان، بر روی دکمه “Save” کلیک کنید تا تغییرات ذخیره شوند. رابط کاربری به زبان جدید تغییر خواهد کرد.


2. تنظیم منطقه زمانی

برای تنظیم منطقه زمانی مناسب، باید مراحل زیر را دنبال کنید:

گام اول: ورود به منوی “System Settings”

در داشبورد Issabel، به منوی “System Settings” بروید و سپس گزینه “Time” را انتخاب کنید.

گام دوم: انتخاب منطقه زمانی

در صفحه تنظیمات زمان، از منوی کشویی “Time Zone” منطقه زمانی خود را انتخاب کنید. به عنوان مثال، اگر در ایران هستید، منطقه زمانی “Asia/Tehran” را انتخاب کنید.

گام سوم: ذخیره تنظیمات

پس از انتخاب منطقه زمانی، بر روی دکمه “Save” کلیک کنید تا تنظیمات ذخیره شوند.


3. تنظیمات امنیتی

تنظیمات امنیتی برای حفاظت از سیستم در برابر حملات و تهدیدات خارجی بسیار مهم است. در این بخش، تنظیمات اولیه امنیتی را بررسی خواهیم کرد.

گام اول: تنظیم کلمه عبور قوی برای حساب‌های کاربری

یکی از اولین اقداماتی که باید انجام دهید، تغییر کلمه عبور پیش‌فرض برای حساب‌های کاربری است. برای این کار:

  1. به منوی “Admin” بروید و سپس گزینه “Users” را انتخاب کنید.
  2. کاربر مورد نظر را انتخاب کنید (به‌طور پیش‌فرض، حساب “admin” است).
  3. در صفحه ویرایش کاربر، کلمه عبور جدیدی وارد کرده و آن را ذخیره کنید.

گام دوم: فعال‌سازی فایروال

برای افزایش امنیت سرور، باید فایروال را پیکربندی کنید تا تنها درخواست‌های مجاز به سیستم وارد شوند. برای این کار از دستور زیر استفاده کنید:

systemctl start firewalld
systemctl enable firewalld

گام سوم: پیکربندی فایروال

برای باز کردن پورت‌های لازم (مانند پورت HTTP و HTTPS) و مسدود کردن پورت‌های غیرضروری، از دستور زیر استفاده کنید:

برای پورت 80 (HTTP):

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

برای پورت 443 (HTTPS):

firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload

برای مسدود کردن پورت‌های غیرضروری، از دستور زیر استفاده کنید:

firewall-cmd --zone=public --remove-port=22/tcp --permanent
firewall-cmd --reload

این دستور پورت SSH را مسدود می‌کند.

گام چهارم: پیکربندی SSH برای دسترسی امن

برای امن‌تر کردن دسترسی به سرور از طریق SSH، تنظیمات SSH را به گونه‌ای پیکربندی کنید که تنها از آدرس‌های IP خاصی به سرور دسترسی داده شود:

  1. فایل پیکربندی SSH را با دستور زیر باز کنید:
nano /etc/ssh/sshd_config
  1. گزینه PermitRootLogin را به no تغییر دهید تا ورود به سیستم با حساب root از طریق SSH غیرممکن شود:
PermitRootLogin no
  1. برای محدود کردن دسترسی به SSH از IP‌های خاص، می‌توانید گزینه AllowUsers را در فایل SSH تنظیم کنید:
AllowUsers yourusername@your_ip_address
  1. پس از اعمال تغییرات، سرویس SSH را دوباره راه‌اندازی کنید:
systemctl restart sshd

جمع‌بندی

در این بخش، تنظیمات اولیه سیستم شامل تنظیم زبان، منطقه زمانی و پیکربندی‌های امنیتی بررسی شد. با تغییر زبان رابط کاربری، تنظیم منطقه زمانی و اعمال تغییرات امنیتی مانند تغییر کلمه عبور پیش‌فرض و فعال‌سازی فایروال، شما می‌توانید سیستم خود را آماده استفاده و مدیریت کنید. این اقدامات به امنیت سیستم کمک کرده و دسترسی‌های غیرمجاز را محدود می‌کند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”پیکربندی تنظیمات شبکه (IP Address، DNS و Gateway)” subtitle=”توضیحات کامل”]برای پیکربندی تنظیمات شبکه مانند آدرس IP ثابت، DNS و Gateway در Issabel، باید فایل‌های پیکربندی شبکه را ویرایش کرده و سپس تنظیمات را اعمال کنید. در این بخش، به نحوه انجام این پیکربندی‌ها به‌صورت کامندی پرداخته می‌شود.


1. پیکربندی آدرس IP ثابت

در ابتدا، باید فایل پیکربندی شبکه را ویرایش کنید تا آدرس IP ثابت برای سرور یا ماشین مجازی خود تعیین کنید.

گام اول: ویرایش فایل پیکربندی شبکه

برای پیکربندی آدرس IP ثابت، به فایل پیکربندی شبکه سیستم بروید:

nano /etc/sysconfig/network-scripts/ifcfg-eth0

در این فایل، مقادیر زیر را وارد کنید:

TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.100   # آدرس IP ثابت مورد نظر
NETMASK=255.255.255.0  # Subnet Mask
GATEWAY=192.168.1.1   # Gateway
DNS1=8.8.8.8          # DNS اول
DNS2=8.8.4.4          # DNS دوم (اختیاری)

گام دوم: ذخیره و بستن فایل

پس از وارد کردن اطلاعات مورد نظر، تغییرات را ذخیره کرده و فایل را ببندید.

گام سوم: راه‌اندازی مجدد شبکه

برای اعمال تغییرات، شبکه را مجدداً راه‌اندازی کنید:

systemctl restart network

2. پیکربندی DNS

در صورتی که نیاز به تغییر تنظیمات DNS دارید، فایل /etc/resolv.conf را ویرایش کنید تا DNS مناسب را برای سرور خود تنظیم کنید.

گام اول: ویرایش فایل resolv.conf

برای پیکربندی DNS، فایل resolv.conf را با دستور زیر باز کنید:

nano /etc/resolv.conf

در این فایل، DNS‌های مورد نظر را وارد کنید:

nameserver 8.8.8.8   # DNS اول
nameserver 8.8.4.4   # DNS دوم

گام دوم: ذخیره و بستن فایل

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


3. پیکربندی Gateway

برای پیکربندی Gateway پیش‌فرض، تنظیمات آن را در فایل پیکربندی شبکه که قبلاً باز کرده‌اید (مثلاً /etc/sysconfig/network-scripts/ifcfg-eth0) انجام دادید. با این حال، اگر نیاز به بررسی یا تغییر آن دارید، می‌توانید به راحتی از طریق خط فرمان آن را تنظیم کنید.

گام اول: بررسی Gateway پیش‌فرض

برای بررسی پیکربندی Gateway پیش‌فرض، از دستور زیر استفاده کنید:

ip route show

اگر نیاز به تغییر Gateway پیش‌فرض دارید، می‌توانید از دستور زیر برای افزودن یا تغییر آن استفاده کنید:

route add default gw 192.168.1.1

در اینجا، 192.168.1.1 آدرس Gateway شما است.


جمع‌بندی

در این بخش، نحوه پیکربندی آدرس IP ثابت، DNS و Gateway در سیستم‌عامل Issabel بررسی شد. ابتدا فایل پیکربندی شبکه را ویرایش کرده و آدرس IP ثابت و دیگر تنظیمات شبکه را تعیین کردیم. سپس DNS‌های مورد نظر را در فایل resolv.conf وارد کرده و Gateway پیش‌فرض را پیکربندی کردیم. این تنظیمات به شما این امکان را می‌دهند که شبکه سرور خود را به‌طور صحیح و مطابق با نیازهای شبکه سازمانی پیکربندی کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”تنظیمات فایروال و باز کردن پورت‌های مورد نیاز (SIP، IAX، HTTP، HTTPS)” subtitle=”توضیحات کامل”]برای استفاده از Issabel به‌طور کامل، نیاز است که برخی پورت‌ها برای پروتکل‌های مختلف باز شوند تا سرویس‌های ارتباطی مثل SIP، IAX، HTTP و HTTPS به درستی کار کنند. در این بخش، به تنظیمات فایروال و باز کردن پورت‌های مورد نیاز پرداخته خواهد شد.


1. بررسی وضعیت فایروال

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

systemctl status firewalld

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

systemctl start firewalld

برای اطمینان از راه‌اندازی مجدد فایروال پس از بوت سیستم، از دستور زیر استفاده کنید:

systemctl enable firewalld

2. باز کردن پورت‌های مورد نیاز

در این مرحله، پورت‌های مورد نیاز برای SIP، IAX، HTTP و HTTPS را باز خواهیم کرد.

2.1 باز کردن پورت SIP (5060)

پورت SIP برای ارتباطات VoIP ضروری است. برای باز کردن این پورت در فایروال، دستور زیر را وارد کنید:

firewall-cmd --zone=public --add-port=5060/udp --permanent
firewall-cmd --reload

2.2 باز کردن پورت IAX (4569)

پورت IAX برای ارتباطات IAX بین سرورها و کاربران استفاده می‌شود. برای باز کردن این پورت در فایروال، دستور زیر را وارد کنید:

firewall-cmd --zone=public --add-port=4569/udp --permanent
firewall-cmd --reload

2.3 باز کردن پورت HTTP (80)

پورت HTTP برای دسترسی به رابط کاربری وب از طریق مرورگر استفاده می‌شود. برای باز کردن این پورت در فایروال، دستور زیر را وارد کنید:

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

2.4 باز کردن پورت HTTPS (443)

پورت HTTPS برای دسترسی امن به رابط کاربری وب از طریق مرورگر استفاده می‌شود. برای باز کردن این پورت در فایروال، دستور زیر را وارد کنید:

firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload

3. بررسی پیکربندی فایروال

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

firewall-cmd --list-all

این دستور، لیستی از پورت‌های باز‌شده و دیگر تنظیمات فایروال را نمایش می‌دهد.


4. تنظیمات اضافی فایروال (اختیاری)

اگر نیاز به باز کردن پورت‌های بیشتری دارید، می‌توانید از دستورات مشابه برای پیکربندی فایروال استفاده کنید. به‌عنوان مثال، برای باز کردن پورت‌های دیگری مثل SSH یا RDP:

firewall-cmd --zone=public --add-port=22/tcp --permanent   # برای SSH
firewall-cmd --zone=public --add-port=3389/tcp --permanent  # برای RDP
firewall-cmd --reload

جمع‌بندی

در این بخش، نحوه پیکربندی فایروال برای باز کردن پورت‌های SIP (5060)، IAX (4569)، HTTP (80) و HTTPS (443) بررسی شد. این پورت‌ها برای عملکرد صحیح Issabel ضروری هستند. همچنین، روش‌های بررسی وضعیت فایروال و تغییر تنظیمات برای باز کردن پورت‌های اضافی نیز توضیح داده شد. تنظیمات فایروال مناسب به شما این امکان را می‌دهند که ارتباطات شبکه به‌صورت امن و پایدار برقرار شود و دسترسی به رابط کاربری Issabel به‌طور کامل فراهم گردد.[/cdb_course_lesson][cdb_course_lesson title=”فصل 5. آشنایی با رابط کاربری گرافیکی (GUI) Issabel”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”بررسی اجزای مختلف رابط کاربری Issabel” subtitle=”توضیحات کامل”]رابط کاربری Issabel به‌عنوان یک سیستم مدیریت ارتباطات یکپارچه، شامل ابزارهایی برای مدیریت تماس‌ها، تنظیمات سیستم، کاربران و بسیاری از ویژگی‌های دیگر است. این رابط کاربری، کاربر را قادر می‌سازد تا به راحتی سیستم را پیکربندی کرده و مدیریت کند. در این بخش، اجزای مختلف رابط کاربری Issabel را بررسی خواهیم کرد.


1. صفحه ورود به سیستم (Login Page)

در ابتدا، برای ورود به رابط کاربری Issabel، باید نام کاربری و رمز عبور خود را وارد کنید. به‌طور پیش‌فرض، نام کاربری admin و رمز عبور تنظیم‌شده در طول نصب خواهد بود. پس از ورود موفق، به داشبورد اصلی هدایت می‌شوید.


2. داشبورد (Dashboard)

داشبورد Issabel، صفحه اصلی پس از ورود به سیستم است که اطلاعات کلی و وضعیت سیستم را نمایش می‌دهد. در این صفحه می‌توانید آمار تماس‌ها، وضعیت سیستم و هشدارها را مشاهده کنید.

ویژگی‌ها:

  • گراف‌ها و آمارها: نمایش گراف‌های تماس‌ها، وضعیت SIP Trunks و اطلاعات عمومی از سیستم.
  • دسترسی سریع: دسترسی سریع به تنظیمات و ویژگی‌های مختلف از طریق منوهای کشویی.
  • وضعیت سیستم: اطلاعاتی مانند وضعیت سرور، وضعیت SIP Trunks، شبکه و فایروال در این بخش قابل مشاهده است.

3. منوی بالایی (Top Navigation Menu)

منوی بالایی شامل بخش‌های مختلفی است که دسترسی به آن‌ها برای مدیریت سیستم ضروری است. این بخش‌ها شامل تنظیمات سیستم، مدیریت کاربران، مدیریت تماس‌ها و بسیاری از قابلیت‌های دیگر است.

بخش‌های منوی بالایی:

  • Dashboard: برای بازگشت به داشبورد اصلی.
  • PBX: شامل تنظیمات مرتبط با سیستم PBX مثل مدیریت Extentions، Queue‌ها، IVR‌ها، Dialplan‌ها و غیره.
  • Reports: برای مشاهده گزارش‌های تماس‌ها، وضعیت سیستم و نظارت بر عملکرد.
  • System: شامل تنظیمات سیستم، پیکربندی سرور، پشتیبان‌گیری و دیگر تنظیمات فنی.
  • Applications: برای اضافه کردن و مدیریت برنامه‌ها و پلاگین‌های اضافی.
  • User Management: برای مدیریت کاربران سیستم و دسترسی‌های آن‌ها.

4. پنل کنترل (Control Panel)

در این بخش، مدیر سیستم می‌تواند تنظیمات و پیکربندی‌های مختلف مربوط به بخش‌های مختلف Issabel را مدیریت کند. این پنل شامل گزینه‌هایی برای ایجاد و مدیریت Extensions، Queue‌ها، IVR‌ها، و تنظیمات تماس است.

بخش‌های پنل کنترل:

  • Extensions: اضافه کردن، حذف و مدیریت داخلی‌ها.
  • Ring Groups: ایجاد گروه‌های تماس برای رینگ کردن همزمان چند خط.
  • IVR: پیکربندی سیستم پاسخگوی خودکار (Interactive Voice Response).
  • Call Routing: تنظیمات مسیریابی تماس‌ها برای هدایت تماس‌ها به مقصد صحیح.
  • Conferences: مدیریت کنفرانس‌های صوتی برای برقراری تماس‌های گروهی.

5. تنظیمات شبکه (Network Settings)

این بخش شامل تنظیمات مربوط به شبکه است که به شما این امکان را می‌دهد که آدرس IP، DNS و Gateway سیستم را پیکربندی کنید. همچنین، در اینجا می‌توانید تنظیمات مربوط به فایروال و پورت‌ها را مدیریت کنید.

ویژگی‌ها:

  • Static IP Configuration: پیکربندی آدرس IP ثابت.
  • DNS Configuration: تنظیم DNS برای سیستم.
  • Firewall Management: مدیریت تنظیمات فایروال و باز کردن پورت‌های مورد نیاز.

6. گزارش‌ها و گزارش‌گیری (Reports)

Issabel ابزارهایی برای گزارش‌گیری از تماس‌ها و سیستم فراهم می‌آورد. در این بخش، می‌توانید گزارشی از تماس‌های ورودی و خروجی، وضعیت سیستم و استفاده از منابع مشاهده کنید.

ویژگی‌ها:

  • Call Reports: نمایش گزارشات تماس‌ها از جمله زمان‌ها، شماره‌ها و مدت زمان تماس.
  • System Reports: گزارشاتی از وضعیت کلی سیستم، بار سرور و منابع.
  • User Reports: گزارشی از فعالیت کاربران مختلف در سیستم.

7. مدیریت کاربران (User Management)

این بخش به مدیر سیستم این امکان را می‌دهد که دسترسی‌های مختلف را به کاربران اختصاص دهد. شما می‌توانید دسترسی‌ها را برای انجام تنظیمات مختلف در سیستم یا مشاهده گزارشات مدیریت کنید.

ویژگی‌ها:

  • Create Users: ایجاد کاربران جدید با تنظیمات خاص.
  • Assign Permissions: اختصاص دسترسی‌ها به کاربران برای بخش‌های مختلف سیستم.
  • Edit Users: ویرایش اطلاعات و تنظیمات کاربران.

8. مدیریت SIP Trunks و VoIP Providers

در این بخش، می‌توانید SIP Trunks و VoIP Providers خود را برای برقراری ارتباطات تلفنی پیکربندی کنید. این ابزار امکان ارتباط با سرویس‌دهندگان مختلف VoIP را فراهم می‌کند.

ویژگی‌ها:

  • SIP Trunk Configuration: تنظیمات مربوط به SIP Trunks.
  • VoIP Providers: پیکربندی پرووایدرهای VoIP و برقراری ارتباطات تلفنی.

جمع‌بندی

رابط کاربری Issabel ابزارهای فراوانی برای مدیریت و پیکربندی سیستم ارائه می‌دهد. از داشبورد اصلی برای مشاهده وضعیت کلی سیستم گرفته تا پنل‌های مختلف برای مدیریت تماس‌ها، کاربران، SIP Trunks و تنظیمات شبکه. این رابط کاربری، به‌طور جامع و کاربرپسند طراحی شده است تا مدیران سیستم بتوانند به راحتی به تمام ویژگی‌ها و تنظیمات سیستم دسترسی پیدا کنند و آن‌ها را پیکربندی کنند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”آموزش کار با منوها و ابزارهای مدیریتی” subtitle=”توضیحات کامل”]در این بخش به بررسی منوها و ابزارهای مدیریتی موجود در رابط کاربری Issabel خواهیم پرداخت. این ابزارها به شما این امکان را می‌دهند که بتوانید تمام جنبه‌های سیستم PBX خود را مدیریت و پیکربندی کنید.


1. منوهای اصلی Issabel

منوهای اصلی Issabel در نوار بالای صفحه به‌صورت کشویی قرار دارند که دسترسی به تمام ویژگی‌ها و ابزارهای مدیریتی را فراهم می‌کند. این منوها به شرح زیر هستند:

1.1 Dashboard

این بخش به‌عنوان صفحه اصلی و ورودی سیستم است. در داشبورد می‌توانید آمار کلی سیستم، وضعیت سرویس‌ها و گزارشات مهم را مشاهده کنید. همچنین امکان دسترسی سریع به قسمت‌های مختلف از اینجا وجود دارد.

1.2 PBX

این منو برای مدیریت تنظیمات سیستم PBX است. در این بخش، می‌توانید کارهای مختلفی از جمله اضافه کردن داخلی‌ها، مدیریت خطوط ورودی و خروجی، تنظیمات IVR و غیره را انجام دهید.

1.3 Reports

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

1.4 System

این بخش تنظیمات عمومی سیستم را در بر می‌گیرد، از جمله مدیریت سرویس‌ها، تنظیمات امنیتی، پشتیبان‌گیری و بازیابی، و تنظیمات شبکه.

1.5 Applications

در این منو می‌توانید برنامه‌ها و پلاگین‌های اضافی را برای توسعه عملکرد Issabel نصب و مدیریت کنید.

1.6 User Management

این منو به شما این امکان را می‌دهد که کاربران سیستم را مدیریت کنید. می‌توانید کاربران جدید اضافه کرده، دسترسی‌ها را تخصیص دهید و دسترسی‌های موجود را ویرایش کنید.


2. ابزارهای مدیریتی Issabel

ابزارهای مدیریتی Issabel برای انجام تنظیمات دقیق و مدیریت هر قسمت از سیستم PBX طراحی شده‌اند. این ابزارها شامل مدیریت تماس‌ها، مدیریت کاربران، تنظیمات شبکه، و پیکربندی سیستم‌های VoIP هستند.

2.1 مدیریت داخلی‌ها (Extensions)

در بخش PBX، گزینه‌ای برای مدیریت داخلی‌ها وجود دارد. از این قسمت می‌توانید داخلی‌های جدید ایجاد کرده و تنظیمات مربوط به هر داخلی را انجام دهید.

دستورالعمل:

برای ایجاد یک داخلی جدید، می‌توانید از دستور زیر در خط فرمان استفاده کنید:

asterisk -rx "dialplan add extension 100"

مسیر فایل برای ویرایش تنظیمات داخلی‌ها معمولاً به این صورت است:

/var/www/html/admin/modules/voicemail/voicemail.conf

2.2 مدیریت IVR (Interactive Voice Response)

IVR یک ویژگی مهم است که به کاربران امکان می‌دهد تا با سیستم تماس گیرنده از طریق منوهای خودکار تعامل داشته باشند. برای پیکربندی IVR در Issabel، از منوی PBX به بخش IVR بروید و تنظیمات مربوط به آن را انجام دهید.

2.3 مدیریت Queues و Ring Groups

این ابزار برای ایجاد گروه‌های تماس و صف‌های تماس استفاده می‌شود. از این طریق می‌توانید تماس‌ها را به گروه‌ها و صف‌های مختلف هدایت کنید تا کاربران مختلف بتوانند به آن‌ها پاسخ دهند.

2.4 مدیریت پیکربندی SIP Trunks

برای استفاده از VoIP و برقراری ارتباطات تلفنی، باید SIP Trunks را پیکربندی کنید. این ابزار به شما این امکان را می‌دهد که تنظیمات SIP Trunk را برای اتصال به سرویس‌دهندگان مختلف VoIP مدیریت کنید.

دستورالعمل برای پیکربندی SIP Trunk:
nano /etc/asterisk/sip.conf

در این فایل می‌توانید تنظیمات مربوط به SIP Trunks خود را وارد کنید.

2.5 مدیریت گزارشات تماس (Call Reports)

گزارش‌های تماس به شما این امکان را می‌دهند که آمار دقیق از تماس‌های ورودی و خروجی سیستم بدست آورید. این گزارش‌ها شامل جزئیاتی مثل مدت زمان تماس‌ها، شماره‌های تماس‌گیرنده، و وضعیت تماس‌ها است.

2.6 مدیریت کاربران (User Management)

در این بخش می‌توانید کاربران جدید بسازید، دسترسی‌های آن‌ها را تنظیم کنید و نقش‌های مختلف را به کاربران اختصاص دهید.


3. نحوه استفاده از ابزارهای مدیریتی

برای استفاده موثر از این ابزارها، باید با تنظیمات دقیق هر بخش آشنا شوید. در اینجا نحوه استفاده از برخی از مهم‌ترین ابزارها را توضیح خواهیم داد:

3.1 تنظیمات داخلی‌ها (Extensions)

برای اضافه کردن داخلی‌ها و مدیریت تنظیمات آن‌ها، ابتدا به بخش PBX > Extensions بروید. سپس می‌توانید داخلی‌های جدید اضافه کنید یا تنظیمات موجود را تغییر دهید.

نمونه تنظیمات برای یک داخلی جدید:
[100]
type=friend
host=dynamic
secret=secretpassword
context=default

این تنظیمات را می‌توانید در فایل extensions.conf در مسیر زیر قرار دهید:

/etc/asterisk/extensions.conf

3.2 تنظیمات SIP Trunks

برای پیکربندی SIP Trunks، فایل‌های sip.conf و extensions.conf را در مسیر زیر ویرایش کنید:

nano /etc/asterisk/sip.conf
nano /etc/asterisk/extensions.conf

3.3 پیکربندی IVR

برای پیکربندی IVR و تنظیم منوهای صوتی، به مسیر PBX > IVR بروید و مراحل لازم را طی کنید. می‌توانید پیام‌های صوتی را اضافه کنید و تنظیمات مربوط به مسیریابی تماس‌ها را انجام دهید.


جمع‌بندی

در این بخش، منوها و ابزارهای مدیریتی Issabel معرفی شدند که به مدیران سیستم این امکان را می‌دهند تا تنظیمات مختلف سیستم PBX خود را به‌صورت کاربرپسند و دقیق مدیریت کنند. از مدیریت داخلی‌ها و SIP Trunks تا پیکربندی IVR و گزارش‌گیری، همه ابزارهای لازم برای تنظیم و بهینه‌سازی سیستم در دسترس قرار دارند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”نحوه دسترسی به بخش‌های مختلف مانند Extensions، Trunks، Reports و Call Center” subtitle=”توضیحات کامل”]در این بخش به بررسی نحوه دسترسی به بخش‌های مختلف Issabel خواهیم پرداخت. این بخش‌ها برای مدیریت و پیکربندی ویژگی‌های مختلف سیستم PBX طراحی شده‌اند و از طریق رابط کاربری گرافیکی قابل دسترسی هستند. همچنین، برخی تنظیمات و کدهای مربوط به این بخش‌ها نیز آورده می‌شود.


1. دسترسی به بخش Extensions

برای مدیریت و پیکربندی داخلی‌ها (Extensions) در Issabel، ابتدا باید وارد رابط کاربری وب‌سایت Issabel شوید و سپس به بخش PBX > Extensions بروید.

گام‌های دسترسی:

  1. از منوی سمت چپ، گزینه PBX را انتخاب کنید.
  2. در زیر منوی PBX، گزینه Extensions را انتخاب کنید.
  3. در این بخش می‌توانید داخلی‌های جدید اضافه کنید، آن‌ها را ویرایش کرده و مدیریت کنید.
دستورالعمل برای ایجاد یک داخلی جدید در خط فرمان:

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

nano /etc/asterisk/extensions.conf

در این فایل می‌توانید تنظیمات داخلی‌ها را به صورت زیر وارد کنید:

[100]
type=friend
host=dynamic
secret=secretpassword
context=default

2. دسترسی به بخش Trunks

برای پیکربندی و مدیریت SIP Trunks، باید وارد بخش PBX > Trunks شوید.

گام‌های دسترسی:

  1. از منوی سمت چپ، گزینه PBX را انتخاب کنید.
  2. سپس به Trunks بروید.
  3. در این بخش می‌توانید SIP Trunks جدید اضافه کرده و یا تنظیمات آن‌ها را ویرایش کنید.
دستورالعمل برای پیکربندی SIP Trunk:

برای پیکربندی SIP Trunk به‌صورت دستی، فایل sip.conf را در مسیر زیر ویرایش کنید:

nano /etc/asterisk/sip.conf

نمونه تنظیمات برای یک SIP Trunk جدید:

[MyTrunk]
type=peer
host=example.com
username=myusername
secret=mypassword
context=from-trunk

3. دسترسی به بخش Reports

برای مشاهده گزارش‌ها و آمار سیستم، به بخش Reports در Issabel بروید. این بخش به شما کمک می‌کند تا گزارش‌های تماس‌ها، استفاده از منابع و وضعیت سیستم را مشاهده کنید.

گام‌های دسترسی:

  1. از منوی اصلی، گزینه Reports را انتخاب کنید.
  2. در این بخش، می‌توانید گزارش‌های مختلف از جمله Call Reports، Queue Reports و System Reports را مشاهده کنید.
دستورالعمل برای مشاهده گزارش تماس‌ها:

در این بخش می‌توانید با استفاده از رابط کاربری گرافیکی، گزارشی از تماس‌های ورودی و خروجی را مشاهده کنید. این گزارش‌ها شامل جزئیات زمان تماس، شماره تماس‌گیرنده و مدت زمان تماس‌ها است.


4. دسترسی به بخش Call Center

برای مدیریت سیستم تماس مرکز تماس (Call Center)، باید وارد بخش PBX > Call Center شوید. در این بخش، می‌توانید صف‌های تماس، گروه‌ها، و تنظیمات مربوط به ارتباطات را مدیریت کنید.

گام‌های دسترسی:

  1. از منوی سمت چپ، گزینه PBX را انتخاب کنید.
  2. سپس به Call Center بروید.
  3. در این بخش می‌توانید صف‌های تماس (Queues)، گروه‌های تماس (Call Groups) و تنظیمات مربوط به عملکرد مرکز تماس را پیکربندی کنید.
دستورالعمل برای پیکربندی صف تماس‌ها (Queue):

برای پیکربندی صف تماس‌ها به‌صورت دستی، فایل queues.conf را ویرایش کنید:

nano /etc/asterisk/queues.conf

نمونه تنظیمات برای یک صف تماس جدید:

[SupportQueue]
musicclass=default
strategy=leastrecent
timeout=15
retry=5

جمع‌بندی

در این بخش به بررسی نحوه دسترسی به بخش‌های مختلف مانند Extensions، Trunks، Reports و Call Center پرداخته شد. این بخش‌ها از مهم‌ترین ابزارهای مدیریتی Issabel هستند و به مدیران سیستم این امکان را می‌دهند که بتوانند به‌راحتی تنظیمات مختلف سیستم را مدیریت کرده و گزارش‌های مورد نیاز خود را مشاهده کنند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 6. پیکربندی اتصال به شبکه”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”تنظیمات اولیه اتصال به شبکه داخلی یا اینترنت” subtitle=”توضیحات کامل”]برای پیکربندی اتصال به شبکه داخلی یا اینترنت در سیستم‌هایی مانند Issabel، باید چند مرحله را طی کنید تا اتصال به شبکه به درستی انجام شود. این تنظیمات شامل تعیین آدرس IP ثابت، پیکربندی DNS، و تنظیمات Gateway هستند که در زیر مراحل آن را توضیح خواهیم داد.


1. تنظیم آدرس IP ثابت

برای تنظیم آدرس IP ثابت در سیستم‌های مبتنی بر لینوکس، باید فایل تنظیمات شبکه را ویرایش کنید. در سیستم‌هایی مانند CentOS 7 یا 8، از ابزار nmcli یا فایل‌های پیکربندی برای تنظیم IP استفاده می‌شود.

گام‌های دسترسی:

  1. وارد سیستم شوید.
  2. فایل تنظیمات شبکه را ویرایش کنید: مسیر فایل: /etc/sysconfig/network-scripts/ifcfg-eth0
دستورالعمل برای پیکربندی IP ثابت:

برای پیکربندی IP ثابت به‌صورت دستی، فایل مربوط به رابط شبکه را به شکل زیر ویرایش کنید:

nano /etc/sysconfig/network-scripts/ifcfg-eth0

در این فایل تنظیمات زیر را اضافه یا تغییر دهید:

DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4

در اینجا:

  • IPADDR آدرس IP ثابت شما است.
  • NETMASK به‌طور معمول 255.255.255.0 خواهد بود.
  • GATEWAY آدرس دروازه شبکه است.
  • DNS1 و DNS2 آدرس سرورهای DNS برای نام‌گذاری دامنه‌ها هستند.

بعد از اعمال تغییرات، رابط شبکه را دوباره راه‌اندازی کنید:

systemctl restart network

2. پیکربندی DNS

برای تنظیم DNS در سیستم، به فایل /etc/resolv.conf مراجعه کنید که اطلاعات مربوط به سرورهای DNS را ذخیره می‌کند.

گام‌های دسترسی:

  1. فایل /etc/resolv.conf را ویرایش کنید:
nano /etc/resolv.conf
  1. در این فایل، آدرس‌های DNS را اضافه کنید:
nameserver 8.8.8.8
nameserver 8.8.4.4

این آدرس‌ها مربوط به سرورهای DNS عمومی گوگل هستند. می‌توانید از هر سرور DNS دیگری که در اختیار دارید، استفاده کنید.


3. تنظیم Gateway

در صورتی که می‌خواهید اتصال به اینترنت از طریق یک Gateway صورت گیرد، باید تنظیمات مربوط به Gateway را در فایل تنظیمات شبکه انجام دهید. این کار معمولاً به‌طور خودکار از طریق فایل /etc/sysconfig/network-scripts/ifcfg-eth0 انجام می‌شود، اما اگر نیاز به تنظیمات دستی دارید، باید به این شکل عمل کنید:

گام‌های دسترسی:

  1. فایل تنظیمات ifcfg-eth0 را ویرایش کنید:
nano /etc/sysconfig/network-scripts/ifcfg-eth0
  1. خط مربوط به GATEWAY را اضافه یا اصلاح کنید:
GATEWAY=192.168.1.1

سپس شبکه را دوباره راه‌اندازی کنید:

systemctl restart network

جمع‌بندی

در این بخش نحوه پیکربندی اتصال به شبکه داخلی یا اینترنت از طریق تنظیم آدرس IP ثابت، DNS، و Gateway شرح داده شد. این تنظیمات به شما کمک می‌کنند تا سیستم خود را به شبکه داخلی یا اینترنت متصل کنید و ارتباطات شبکه‌ای به‌درستی برقرار شوند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”بررسی مشکلات اتصال شبکه و عیب‌یابی (Ping، Traceroute)” subtitle=”توضیحات کامل”]در فرآیند عیب‌یابی مشکلات اتصال شبکه، ابزارهای مختلفی مانند ping و traceroute به کمک می‌آیند. این ابزارها به شما کمک می‌کنند تا مشکلات شبکه را شناسایی و مسیر اتصال به مقصد را بررسی کنید. در ادامه، به توضیح نحوه استفاده از این ابزارها و بررسی مشکلات مربوط به اتصال شبکه می‌پردازیم.


1. استفاده از دستور Ping

دستور ping یکی از ساده‌ترین و مؤثرترین ابزارهای عیب‌یابی در شبکه است که برای بررسی وضعیت دسترسی به یک دستگاه یا سرور در شبکه استفاده می‌شود. این دستور با ارسال بسته‌های ICMP به مقصد مشخص، بررسی می‌کند که آیا مقصد در دسترس است یا خیر.

گام‌های استفاده:

برای استفاده از دستور ping، تنها کافیست آدرس IP مقصد را وارد کنید:

ping 192.168.1.1

در اینجا، 192.168.1.1 آدرس IP مقصد است. این دستور بسته‌های ICMP را به مقصد ارسال کرده و مدت زمان پاسخ را نشان می‌دهد.

تحلیل خروجی:
  • اگر مقصد در دسترس باشد، پاسخ‌های Reply from نمایش داده می‌شوند که نشان‌دهنده موفقیت آمیز بودن اتصال است.
  • اگر مقصد در دسترس نباشد، پیام‌هایی مانند Destination Host Unreachable یا Request Timed Out نشان داده می‌شود.

مثال:

ping 8.8.8.8

در اینجا، شما به سرور DNS گوگل که آدرس آن 8.8.8.8 است، پینگ ارسال می‌کنید تا بررسی کنید آیا اتصال اینترنتی به درستی برقرار است یا خیر.


2. استفاده از دستور Traceroute

ابزار traceroute برای پیگیری مسیر یک بسته از مبدا تا مقصد در شبکه استفاده می‌شود. این ابزار مسیر عبور بسته‌ها از روترها و سرورهای میانه را به‌صورت گام به گام نمایش می‌دهد و زمان تأخیر در هر گام را نشان می‌دهد.

گام‌های استفاده:

برای استفاده از دستور traceroute به مقصد خاص، دستور زیر را وارد کنید:

traceroute 8.8.8.8

در اینجا، 8.8.8.8 آدرس IP مقصد است. این دستور مسیر بسته‌های ارسالی را از مبدا تا مقصد با نمایش گام‌های مختلف و زمان تأخیر در هر گام نشان می‌دهد.

تحلیل خروجی:
  • هر خط از خروجی مربوط به یک روتر یا گام از مسیر است.
  • در هر گام، زمان تأخیر برای رسیدن بسته به مقصد از هر روتر را مشاهده خواهید کرد.
  • اگر در هر گامی زمان زیادی مشاهده شود یا به‌طور کلی مسیر به‌طور کامل قطع شود، ممکن است مشکل در شبکه یا در روتر مربوطه وجود داشته باشد.

مثال:

traceroute google.com

در اینجا، شما مسیر بسته‌ها را به سمت سایت گوگل بررسی می‌کنید تا ببینید کدام بخش از شبکه ممکن است دچار مشکل شده باشد.


3. رفع مشکلات اتصال

با استفاده از ping و traceroute، می‌توانید مشکلات مختلفی را در شبکه شناسایی کنید. در اینجا چند مشکل رایج و نحوه رفع آن‌ها آمده است:

مشکلات رایج:

  • مشکل در DNS: اگر در هنگام استفاده از ping با پیام “Name or service not known” مواجه شدید، احتمالاً مشکل مربوط به تنظیمات DNS است.
    • برای رفع این مشکل، اطمینان حاصل کنید که سرور DNS به‌درستی پیکربندی شده است (فایل /etc/resolv.conf را بررسی کنید).
  • مشکل در اتصال به روتر یا Gateway: اگر ping به Gateway یا آدرس‌های داخلی کار نمی‌کند، ممکن است کابل شبکه قطع باشد یا تنظیمات آدرس IP اشتباه باشد.
    • در این صورت، اتصال فیزیکی و تنظیمات شبکه را بررسی کنید.
  • مشکل در مسیریابی (Routing): اگر traceroute مسیر را قطع کند یا زمان تأخیر زیادی را در مسیر نشان دهد، ممکن است مشکل در تنظیمات مسیریابی یا در سرورهای میانه باشد.
    • برای رفع این مشکل، تنظیمات روترها را بررسی کرده و مطمئن شوید که مسیرهای لازم به‌درستی پیکربندی شده‌اند.

جمع‌بندی

ابزارهای ping و traceroute ابزارهای مفیدی برای عیب‌یابی مشکلات اتصال شبکه هستند. ping به شما امکان می‌دهد تا بررسی کنید که آیا دستگاه مورد نظر در دسترس است یا خیر، و traceroute به شما مسیر عبور بسته‌ها و زمان تأخیر در هر گام را نشان می‌دهد. با استفاده از این ابزارها می‌توانید مشکلات متداول شبکه را شناسایی و برطرف کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”استفاده از DHCP یا Static IP در پیکربندی شبکه” subtitle=”توضیحات کامل”]در پیکربندی شبکه، دو روش اصلی برای تخصیص آدرس IP به دستگاه‌ها وجود دارد: DHCP (Dynamic Host Configuration Protocol) و Static IP. هر کدام از این روش‌ها مزایا و محدودیت‌های خاص خود را دارند و انتخاب بین آن‌ها بستگی به نیازهای شبکه دارد. در این بخش، به تفاوت‌های بین این دو روش، نحوه پیکربندی و موارد استفاده‌ی هر یک پرداخته خواهد شد.


1. DHCP (Dynamic Host Configuration Protocol)

DHCP یک پروتکل شبکه است که به‌طور خودکار آدرس‌های IP را به دستگاه‌ها اختصاص می‌دهد. این پروتکل به مدیر شبکه این امکان را می‌دهد که بدون نیاز به تنظیم دستی آدرس‌های IP، دستگاه‌ها را به شبکه متصل کند. این روش برای شبکه‌های بزرگ که نیاز به مدیریت تعداد زیادی دستگاه دارند بسیار مفید است.

مزایای استفاده از DHCP:

  • مدیریت ساده: آدرس‌های IP به‌صورت خودکار تخصیص می‌یابند و نیازی به پیکربندی دستی برای هر دستگاه وجود ندارد.
  • کاهش خطاهای انسانی: تخصیص خودکار IP‌ها از اشتباهات احتمالی در پیکربندی جلوگیری می‌کند.
  • مناسب برای شبکه‌های بزرگ: در شبکه‌های بزرگ که تعداد زیادی دستگاه به شبکه متصل می‌شوند، استفاده از DHCP باعث سهولت در مدیریت می‌شود.

گام‌های تنظیم DHCP:

  1. برای پیکربندی DHCP در سیستم، ابتدا فایل تنظیمات شبکه را باز کنید:
    sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
    
  2. مقادیر زیر را برای پیکربندی DHCP وارد کنید:
    DEVICE=eth0
    BOOTPROTO=dhcp      # استفاده از DHCP
    ONBOOT=yes          # فعال بودن رابط در هنگام بوت
    
  3. پس از ذخیره کردن تغییرات، رابط شبکه را مجدداً راه‌اندازی کنید:
    sudo systemctl restart network
    

تحلیل پیکربندی:

  • BOOTPROTO=dhcp: این تنظیم به سیستم می‌گوید که آدرس IP خود را از سرور DHCP دریافت کند.
  • ONBOOT=yes: این تنظیم باعث می‌شود که رابط شبکه در هنگام بوت سیستم فعال شود.

2. Static IP (آدرس IP ثابت)

Static IP به معنای تخصیص دستی یک آدرس IP خاص به دستگاه است. در این روش، آدرس IP به‌طور ثابت به دستگاه اختصاص می‌یابد و تغییر نخواهد کرد مگر اینکه توسط مدیر شبکه تغییر داده شود. این روش معمولاً برای سرورها یا دستگاه‌هایی که به اتصال ثابت نیاز دارند، مانند سرورهای VoIP، وب‌سرورها یا دستگاه‌های شبکه حساس، توصیه می‌شود.

مزایای استفاده از Static IP:

  • ثبات و قابلیت پیش‌بینی: آدرس IP ثابت است و تغییر نخواهد کرد، که این ویژگی برای دستگاه‌هایی که نیاز به دسترسی ثابت دارند بسیار مناسب است.
  • راحتی در پیکربندی سرورها: برای دستگاه‌های سروری که باید همیشه در دسترس باشند، استفاده از Static IP بسیار مفید است.
  • مدیریت آسان‌تر: آدرس‌های IP ثابت برای شبکه‌های کوچک یا متوسط که نیازی به تغییرات زیاد ندارند، بسیار کارا است.

گام‌های تنظیم Static IP:

  1. فایل تنظیمات شبکه را برای ویرایش باز کنید:
    sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
    
  2. مقادیر زیر را برای پیکربندی IP ثابت وارد کنید:
    DEVICE=eth0
    BOOTPROTO=static     # استفاده از IP ثابت
    IPADDR=192.168.1.100 # آدرس IP ثابت
    NETMASK=255.255.255.0 # ماسک شبکه
    GATEWAY=192.168.1.1   # آدرس Gateway
    DNS1=8.8.8.8          # DNS اول
    DNS2=8.8.4.4          # DNS دوم
    ONBOOT=yes            # فعال بودن رابط در هنگام بوت
    
  3. پس از ذخیره تغییرات، رابط شبکه را مجدداً راه‌اندازی کنید:
    sudo systemctl restart network
    

تحلیل پیکربندی:

  • BOOTPROTO=static: این تنظیم باعث می‌شود که آدرس IP ثابت به دستگاه اختصاص یابد.
  • IPADDR: آدرس IP ثابت که به دستگاه اختصاص داده می‌شود.
  • NETMASK: ماسک شبکه برای تعیین محدوده آدرس‌های IP مجاز در شبکه.
  • GATEWAY: آدرس روتر (Gateway) برای دسترسی به شبکه‌های خارجی.
  • DNS1 و DNS2: آدرس سرورهای DNS برای ترجمه نام‌های دامنه به آدرس‌های IP.

3. مقایسه DHCP و Static IP

ویژگی DHCP Static IP
مدیریت خودکار، نیازی به تنظیم دستی ندارد دستی و نیاز به تنظیمات دقیق دارد
ثبات آدرس IP آدرس IP تغییر می‌کند آدرس IP ثابت و بدون تغییر
مناسب برای شبکه‌های بزرگ و متغیر دستگاه‌های سروری یا ثابت
سهولت پیکربندی سریع و آسان نیاز به پیکربندی دقیق دارد
خطرات احتمال تغییر آدرس IP و مشکلات در شبکه نیاز به مدیریت دقیق آدرس‌ها

جمع‌بندی

انتخاب بین DHCP و Static IP به نیازهای شبکه بستگی دارد. اگر نیاز به مدیریت راحت‌تر و خودکار آدرس‌های IP دارید، DHCP انتخاب مناسبی است. اما اگر به ثبات و قابلیت پیش‌بینی آدرس IP نیاز دارید (مثلاً برای سرورها)، Static IP مناسب‌تر خواهد بود. برای هر دو روش، مراحل پیکربندی به‌طور دقیق در سیستم‌عامل‌های مبتنی بر لینوکس از طریق ویرایش فایل‌های پیکربندی شبکه قابل انجام است.[/cdb_course_lesson][cdb_course_lesson title=”فصل 7. پیکربندی دسترسی‌های کاربران و امنیت”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”ایجاد و مدیریت حساب‌های کاربری مختلف برای مدیریت سیستم” subtitle=”توضیحات کامل”]در سیستم‌عامل‌های لینوکس، مدیریت حساب‌های کاربری برای اعطای دسترسی به منابع مختلف و اجرای عملیات مدیریتی بسیار مهم است. در این بخش، به نحوه ایجاد، حذف و مدیریت حساب‌های کاربری برای مدیریت سیستم در محیط لینوکس پرداخته خواهد شد.


1. ایجاد حساب کاربری جدید

برای ایجاد یک حساب کاربری جدید، از دستور useradd استفاده می‌شود. این دستور به شما امکان می‌دهد تا یک کاربر جدید ایجاد کرده و تنظیمات مربوط به آن را مشخص کنید.

گام‌های ایجاد حساب کاربری:

  1. برای ایجاد یک حساب کاربری به نام username، دستور زیر را وارد کنید:
    sudo useradd username
    
  2. برای تعیین رمز عبور برای حساب کاربری جدید، از دستور passwd استفاده کنید:
    sudo passwd username
    

    این دستور از شما درخواست می‌کند تا رمز عبور جدید را وارد کرده و آن را تایید کنید.

تنظیمات اضافی برای کاربر:

  • Home Directory: به‌طور پیش‌فرض، زمانی که یک کاربر جدید ایجاد می‌شود، دایرکتوری خانه‌ای برای او در مسیر /home/username ساخته می‌شود.
  • Shell: به‌طور پیش‌فرض، شل bash برای کاربر جدید انتخاب می‌شود. اگر بخواهید شل دیگری را انتخاب کنید، می‌توانید با استفاده از گزینه -s شل مورد نظر را تعیین کنید.مثال:
    sudo useradd -m -s /bin/zsh username
    

    در اینجا:

    • -m: دایرکتوری خانه برای کاربر ساخته می‌شود.
    • -s /bin/zsh: شل zsh به جای شل پیش‌فرض bash به کاربر اختصاص داده می‌شود.

2. اضافه کردن کاربر به گروه‌های مختلف

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

دستور اضافه کردن کاربر به گروه:

برای اضافه کردن یک کاربر به گروه، از دستور usermod به همراه گزینه -aG استفاده می‌کنیم:

sudo usermod -aG groupname username

مثال:

sudo usermod -aG sudo username

در اینجا، کاربر username به گروه sudo اضافه می‌شود، که به او دسترسی مدیریت (root) را می‌دهد.


3. حذف حساب کاربری

برای حذف یک حساب کاربری از سیستم، از دستور userdel استفاده می‌شود. این دستور به‌طور پیش‌فرض فقط کاربر را حذف می‌کند و دایرکتوری خانه و فایل‌های کاربر حذف نمی‌شوند.

دستور حذف کاربر:

  1. برای حذف یک کاربر از سیستم:
    sudo userdel username
    
  2. اگر بخواهید دایرکتوری خانه و فایل‌های کاربر را نیز حذف کنید، از گزینه -r استفاده کنید:
    sudo userdel -r username
    

4. تغییر اطلاعات کاربری

برای تغییر اطلاعات کاربری مانند نام کاربری، گروه پیش‌فرض یا شل، از دستور usermod استفاده می‌شود.

تغییر نام کاربری:

برای تغییر نام کاربری، از دستور usermod به شکل زیر استفاده کنید:

sudo usermod -l newusername oldusername

تغییر شل پیش‌فرض:

برای تغییر شل پیش‌فرض یک کاربر، از گزینه -s استفاده کنید:

sudo usermod -s /bin/bash username

تغییر گروه پیش‌فرض:

برای تغییر گروه پیش‌فرض یک کاربر، از گزینه -g استفاده کنید:

sudo usermod -g newgroup username

5. مشاهده اطلاعات حساب‌های کاربری

برای مشاهده اطلاعات مربوط به یک کاربر، از دستور id یا getent استفاده می‌شود.

مشاهده اطلاعات کاربر:

  1. برای مشاهده شناسه کاربری و گروه‌های کاربری یک کاربر:
    id username
    
  2. برای مشاهده تمام کاربران سیستم:
    getent passwd
    

6. محدود کردن دسترسی‌ها

برای محدود کردن دسترسی‌های کاربری، می‌توان از تنظیمات مختلفی مانند محدود کردن تعداد تلاش‌های ورود ناموفق، تنظیم محدودیت‌های زمانی برای ورود به سیستم و… استفاده کرد.

محدود کردن تعداد تلاش‌های ورود ناموفق:

برای محدود کردن تلاش‌های ناموفق ورود به سیستم، می‌توان از پیکربندی‌های PAM (Pluggable Authentication Modules) استفاده کرد.

  1. پیکربندی PAM برای محدود کردن تلاش‌های ناموفق در فایل /etc/pam.d/system-auth انجام می‌شود.دستور زیر را برای ویرایش فایل تنظیمات استفاده کنید:
    sudo nano /etc/pam.d/system-auth
    
  2. سپس خط زیر را به این فایل اضافه کنید تا تعداد تلاش‌های ناموفق محدود شود:
    auth required pam_tally2.so deny=3 onerr=fail unlock_time=600
    

    این تنظیمات، تعداد تلاش‌های ورود ناموفق را به 3 محدود می‌کند و بعد از 600 ثانیه (10 دقیقه) حساب کاربری را دوباره فعال می‌کند.


جمع‌بندی

مدیریت حساب‌های کاربری در سیستم‌های لینوکس یکی از بخش‌های اساسی برای کنترل دسترسی‌ها و منابع است. با استفاده از دستورات useradd، usermod و userdel می‌توان حساب‌های کاربری را ایجاد، ویرایش و حذف کرد. همچنین، با اضافه کردن کاربران به گروه‌های مختلف، می‌توان دسترسی‌های آن‌ها را به منابع مختلف تنظیم کرد. برای امنیت بیشتر، می‌توان محدودیت‌هایی برای تلاش‌های ناموفق ورود به سیستم اعمال کرد تا از دسترسی غیرمجاز جلوگیری شود.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”تنظیمات دسترسی برای کاربران مختلف با استفاده از سطوح دسترسی” subtitle=”توضیحات کامل”]در سیستم‌های لینوکس، دسترسی به فایل‌ها و دایرکتوری‌ها با استفاده از سطوح دسترسی کنترل می‌شود. این سطوح دسترسی مشخص می‌کنند که چه کسی قادر به خواندن، نوشتن یا اجرای یک فایل است. در این بخش، نحوه تنظیم و مدیریت سطوح دسترسی برای کاربران مختلف به صورت جزئی توضیح داده می‌شود.


1. مدیریت سطوح دسترسی فایل‌ها و دایرکتوری‌ها

در لینوکس، هر فایل یا دایرکتوری دارای سه نوع دسترسی اصلی است:

  • خواندن (Read – r): اجازه دسترسی به محتوای فایل یا فهرست محتویات یک دایرکتوری.
  • نوشتن (Write – w): اجازه تغییر یا اصلاح محتویات فایل یا افزودن و حذف فایل‌ها در یک دایرکتوری.
  • اجرا (Execute – x): اجازه اجرای فایل به عنوان یک برنامه یا اسکریپت.

همچنین، دسترسی‌ها به سه دسته اصلی تقسیم می‌شوند:

  • مالک فایل (Owner): فردی که فایل را ایجاد کرده است.
  • گروه (Group): گروهی از کاربران که به فایل دسترسی دارند.
  • دیگران (Others): سایر کاربران که در هیچ‌کدام از دسته‌های بالا قرار ندارند.

دستورات برای مشاهده دسترسی‌ها:

برای مشاهده دسترسی‌های یک فایل یا دایرکتوری، از دستور ls -l استفاده می‌شود:

ls -l filename

خروجی این دستور به شکل زیر خواهد بود:

-rwxr-xr-x 1 owner group 1234 Jan 1 12:00 filename

در اینجا:

  • -rwxr-xr-x: دسترسی‌ها را نشان می‌دهد.
    • r: خواندن
    • w: نوشتن
    • x: اجرا
    • در اینجا، مالک فایل می‌تواند بخواند، بنویسد و اجرا کند. گروه و دیگران می‌توانند فقط فایل را بخوانند و اجرا کنند.

2. تغییر سطوح دسترسی با استفاده از دستور chmod

دستور chmod برای تغییر سطوح دسترسی فایل‌ها و دایرکتوری‌ها استفاده می‌شود.

دستور کلی برای chmod:

chmod [options] mode file

نحوه نوشتن سطوح دسترسی:

سطوح دسترسی می‌توانند به صورت نمادین یا عددی تنظیم شوند.

  • نمادین: استفاده از r, w, x و علامت‌های +, -, = برای افزودن، حذف یا تنظیم دسترسی‌ها.
    • مثال:
      chmod u+x filename
      

      این دستور دسترسی اجرای فایل را به مالک (user) می‌دهد.

      chmod g-w filename
      

      این دستور دسترسی نوشتن را از گروه (group) حذف می‌کند.

      chmod o=r filename
      

      این دستور دسترسی‌ها را برای دیگران (others) فقط به خواندن تغییر می‌دهد.

  • عدد: در روش عددی، به هر سطح دسترسی عددی اختصاص داده می‌شود:
    • خواندن (r): 4
    • نوشتن (w): 2
    • اجرا (x): 1

    با این روش، شما مجموع دسترسی‌ها را به صورت عددی تنظیم می‌کنید. به عنوان مثال:

    • 7 (4+2+1) برای دسترسی کامل (خواندن، نوشتن، اجرا)
    • 5 (4+1) برای خواندن و اجرا
    • 6 (4+2) برای خواندن و نوشتن

    دستور استفاده از روش عددی:

    chmod 755 filename
    

    در اینجا:

    • 7: مالک فایل به تمام دسترسی‌ها (خواندن، نوشتن و اجرا) دسترسی دارد.
    • 5: گروه فقط دسترسی خواندن و اجرا دارد.
    • 5: دیگران نیز فقط دسترسی خواندن و اجرا دارند.

3. تغییر مالک و گروه با استفاده از دستور chown

دستور chown برای تغییر مالک و گروه یک فایل یا دایرکتوری استفاده می‌شود.

دستور کلی برای chown:

chown [options] owner:group file

مثال‌ها:

  • تغییر مالک فایل:
    sudo chown newowner filename
    
  • تغییر گروه فایل:
    sudo chown :newgroup filename
    
  • تغییر مالک و گروه همزمان:
    sudo chown newowner:newgroup filename
    

4. اعطای دسترسی به گروه‌ها با استفاده از دستور chmod

برای اینکه گروه‌ها بتوانند به یک فایل یا دایرکتوری دسترسی پیدا کنند، ابتدا باید دسترسی‌های مورد نظر را به آن گروه اختصاص دهید.

مثال‌ها:

  • برای اعطای دسترسی خواندن، نوشتن و اجرای فایل به گروه:
    sudo chmod g+rwx filename
    
  • برای حذف دسترسی نوشتن از گروه:
    sudo chmod g-w filename
    

5. پیکربندی دسترسی‌ها با استفاده از umask

دستور umask برای تعیین پیش‌فرض سطوح دسترسی برای فایل‌های جدید ایجاد شده استفاده می‌شود. به‌طور پیش‌فرض، فایل‌ها با دسترسی 666 (خواندن و نوشتن برای مالک، گروه و دیگران) و دایرکتوری‌ها با دسترسی 777 ایجاد می‌شوند. با استفاده از umask می‌توانید این پیش‌فرض‌ها را تغییر دهید.

تنظیم umask:

برای تغییر پیش‌فرض دسترسی‌ها، از دستور umask به صورت زیر استفاده کنید:

umask 027

در اینجا:

  • 0 برای مالک که هیچ محدودیتی ندارد.
  • 2 برای گروه که دسترسی نوشتن ندارد.
  • 7 برای دیگران که هیچ دسترسی ندارند.

6. مدیریت دسترسی‌ها با استفاده از ACL (Access Control Lists)

Access Control Lists (ACLs) به شما این امکان را می‌دهند که دسترسی‌های بیشتری به کاربران و گروه‌ها اختصاص دهید.

فعال‌سازی ACL:

برای فعال‌سازی ACL، ابتدا باید پکیج acl را نصب کنید:

sudo apt-get install acl   # برای سیستم‌های مبتنی بر Debian/Ubuntu
sudo yum install acl       # برای سیستم‌های مبتنی بر Red Hat/CentOS

استفاده از ACL برای دادن دسترسی‌های خاص:

برای افزودن دسترسی به یک فایل یا دایرکتوری با استفاده از ACL، دستور زیر را وارد کنید:

setfacl -m u:username:rwx filename

در اینجا، این دستور دسترسی خواندن، نوشتن و اجرای فایل را به کاربر username می‌دهد.


جمع‌بندی

مدیریت دسترسی به فایل‌ها و دایرکتوری‌ها یکی از مهم‌ترین جنبه‌های امنیت سیستم‌های لینوکس است. با استفاده از دستورات chmod، chown، umask و setfacl می‌توانید سطوح دسترسی مختلفی برای کاربران، گروه‌ها و دیگران تنظیم کنید. این دستورات امکان تغییر دسترسی‌های فایل‌ها و دایرکتوری‌ها را به‌صورت بسیار دقیق و کاربردی فراهم می‌کنند و به شما کمک می‌کنند تا کنترل کاملی بر منابع سیستم داشته باشید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”پیکربندی امنیتی اولیه مانند تنظیمات فایروال و دسترسی به منابع سیستم” subtitle=”توضیحات کامل”]پیکربندی امنیتی سیستم‌ها یکی از مهم‌ترین اقداماتی است که باید در مراحل اولیه پس از نصب انجام شود. این پیکربندی‌ها شامل تنظیمات فایروال، محدود کردن دسترسی به منابع سیستم، و ایجاد یک لایه حفاظتی در برابر تهدیدات مختلف می‌باشد. در این بخش، نحوه تنظیمات فایروال و پیکربندی دسترسی به منابع سیستم به‌طور کامل توضیح داده می‌شود.


1. تنظیمات فایروال (Firewall Configuration)

فایروال یک لایه امنیتی است که ترافیک ورودی و خروجی شبکه را مدیریت کرده و از حملات احتمالی جلوگیری می‌کند. در سیستم‌های لینوکس، معمولاً از firewalld یا iptables برای پیکربندی فایروال استفاده می‌شود.

1.1. استفاده از firewalld برای پیکربندی فایروال

firewalld یک ابزار مدیریتی برای تنظیم فایروال است که به‌طور پیش‌فرض در بسیاری از توزیع‌های لینوکس موجود است. برای تنظیم فایروال، از دستورات زیر استفاده می‌کنیم.

شروع و فعال‌سازی firewalld:

ابتدا مطمئن شوید که firewalld نصب و فعال است:

sudo systemctl start firewalld       # راه‌اندازی فایروال
sudo systemctl enable firewalld      # فعال کردن فایروال در هنگام بوت سیستم
بررسی وضعیت firewalld:

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

sudo firewall-cmd --state
باز کردن پورت‌های مورد نیاز:

برای استفاده از سرویس‌های خاص مانند SIP، HTTP، HTTPS و SSH، لازم است پورت‌های مربوطه در فایروال باز شوند.

  • باز کردن پورت 22 برای SSH:
    sudo firewall-cmd --permanent --add-port=22/tcp
    
  • باز کردن پورت 80 برای HTTP:
    sudo firewall-cmd --permanent --add-port=80/tcp
    
  • باز کردن پورت 443 برای HTTPS:
    sudo firewall-cmd --permanent --add-port=443/tcp
    
  • باز کردن پورت 5060 برای SIP:
    sudo firewall-cmd --permanent --add-port=5060/udp
    

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

sudo firewall-cmd --reload
مشاهده پورت‌های باز:

برای مشاهده پورت‌های باز در فایروال:

sudo firewall-cmd --list-all

1.2. استفاده از iptables برای پیکربندی فایروال

اگر از iptables استفاده می‌کنید، می‌توانید تنظیمات فایروال را با استفاده از دستورات زیر انجام دهید.

  • اجازه دسترسی به پورت SSH (پورت 22):
    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    
  • اجازه دسترسی به پورت HTTP (پورت 80):
    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    
  • اجازه دسترسی به پورت HTTPS (پورت 443):
    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    
  • اجازه دسترسی به پورت SIP (پورت 5060):
    sudo iptables -A INPUT -p udp --dport 5060 -j ACCEPT
    
ذخیره تغییرات:

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

sudo service iptables save

2. تنظیمات دسترسی به منابع سیستم

برای افزایش امنیت سیستم و جلوگیری از دسترسی غیرمجاز به منابع سیستم، می‌توانید دسترسی‌ها را محدود کنید. این کار به‌ویژه در مواردی که چندین کاربر یا سرویس به سیستم دسترسی دارند، اهمیت زیادی دارد.

2.1. مدیریت دسترسی کاربران با استفاده از sudo

برای اعطای دسترسی‌های مدیریتی به کاربران خاص، از sudo استفاده می‌شود. ابتدا باید اطمینان حاصل کنید که کاربرانی که نیاز به دسترسی مدیریتی دارند، در گروه sudo قرار دارند.

افزودن کاربر به گروه sudo:
sudo usermod -aG sudo username

2.2. محدود کردن دسترسی به دایرکتوری‌ها با استفاده از ACL

برای دسترسی به فایل‌ها و دایرکتوری‌ها می‌توانید از Access Control Lists (ACL) استفاده کنید تا دسترسی‌ها را به‌طور دقیق‌تر تنظیم کنید.

افزودن دسترسی خاص به یک کاربر:

برای افزودن دسترسی خواندن، نوشتن و اجرای یک فایل برای کاربر خاص از دستور setfacl استفاده کنید:

setfacl -m u:username:rwx /path/to/file
مشاهده ACLهای اعمال‌شده:

برای مشاهده ACLهای یک فایل یا دایرکتوری از دستور زیر استفاده کنید:

getfacl /path/to/file

2.3. محدود کردن دسترسی به SSH

برای افزایش امنیت سرویس SSH، می‌توانید تنظیمات زیر را در فایل پیکربندی /etc/ssh/sshd_config اعمال کنید.

غیرفعال کردن ورود root از طریق SSH:

در فایل /etc/ssh/sshd_config، دستور زیر را اضافه کنید:

PermitRootLogin no
تغییر پورت پیش‌فرض SSH:

به منظور افزایش امنیت، می‌توانید پورت پیش‌فرض SSH را تغییر دهید. برای این کار، دستور زیر را در فایل پیکربندی sshd_config وارد کنید:

Port 2222

بعد از اعمال تغییرات، سرویس SSH را مجدداً راه‌اندازی کنید:

sudo systemctl restart sshd

3. استفاده از SELinux برای مدیریت دسترسی‌ها

SELinux (Security-Enhanced Linux) یک سیاست امنیتی است که به‌طور پیش‌فرض در بسیاری از توزیع‌های لینوکس فعال است. با استفاده از SELinux، می‌توانید دسترسی‌ها و مجوزهای سیستم را به‌طور دقیق‌تری مدیریت کنید.

وضعیت SELinux:

برای بررسی وضعیت SELinux از دستور زیر استفاده کنید:

getenforce

برای تغییر وضعیت SELinux:

sudo setenforce 0   # غیرفعال کردن SELinux
sudo setenforce 1   # فعال کردن SELinux

3.1. پیکربندی SELinux برای برنامه‌ها

برای پیکربندی SELinux برای یک برنامه خاص، می‌توانید از دستور semanage استفاده کنید:

semanage port -a -t http_port_t -p tcp 8080

جمع‌بندی

پیکربندی فایروال و دسترسی به منابع سیستم از مهم‌ترین اقدامات برای حفظ امنیت در سیستم‌های لینوکس هستند. با استفاده از ابزارهای فایروال مانند firewalld یا iptables، می‌توانید ترافیک شبکه را کنترل کنید و پورت‌های ضروری را باز کنید. همچنین، با استفاده از ابزارهایی مانند sudo، ACL و SELinux می‌توانید دسترسی‌ها و مجوزهای مختلف را برای کاربران و سرویس‌ها مدیریت کنید. این اقدامات به شما کمک می‌کنند تا از سیستم خود در برابر تهدیدات مختلف محافظت کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”فعال‌سازی و پیکربندی SSH برای دسترسی از راه دور (در صورت نیاز)” subtitle=”توضیحات کامل”]SSH (Secure Shell) یک پروتکل شبکه‌ای است که برای اتصال امن به سیستم‌های راه دور استفاده می‌شود. این پروتکل برای مدیریت سرورها و سیستم‌های لینوکسی از راه دور بسیار مفید است. در این بخش نحوه فعال‌سازی و پیکربندی SSH برای دسترسی از راه دور به‌صورت امن توضیح داده می‌شود.


1. نصب و فعال‌سازی SSH

در ابتدا، برای فعال‌سازی SSH، باید اطمینان حاصل کنید که سرویس SSH بر روی سیستم نصب و در حال اجرا است.

1.1. نصب SSH در صورت نیاز

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

sudo yum install openssh-server     # در CentOS/Red Hat
sudo apt-get install openssh-server # در Ubuntu/Debian

1.2. فعال‌سازی و شروع سرویس SSH

برای اطمینان از فعال بودن سرویس SSH و راه‌اندازی آن در هنگام بوت سیستم، از دستورات زیر استفاده کنید:

sudo systemctl start sshd          # راه‌اندازی SSH
sudo systemctl enable sshd         # فعال‌سازی SSH در هنگام بوت

1.3. بررسی وضعیت سرویس SSH

برای بررسی وضعیت سرویس SSH، از دستور زیر استفاده کنید:

sudo systemctl status sshd         # نمایش وضعیت SSH

2. پیکربندی SSH

برای ایمن‌سازی دسترسی SSH و محدود کردن دسترسی‌ها، تنظیمات مختلفی در فایل پیکربندی sshd_config وجود دارد.

2.1. ویرایش فایل پیکربندی SSH

فایل پیکربندی SSH در مسیر /etc/ssh/sshd_config قرار دارد. برای ویرایش آن، از ویرایشگر متنی nano یا vim استفاده کنید:

sudo nano /etc/ssh/sshd_config

در این فایل، تنظیمات مختلفی وجود دارد که می‌توان آن‌ها را برای افزایش امنیت پیکربندی کرد.

تغییر پورت پیش‌فرض SSH:

پورت پیش‌فرض برای SSH پورت 22 است. برای افزایش امنیت، می‌توانید پورت دیگری را برای SSH انتخاب کنید.

Port 2222
غیرفعال کردن ورود به سیستم با کاربر root:

برای جلوگیری از دسترسی به سیستم از طریق کاربر root، باید گزینه PermitRootLogin را به no تغییر دهید.

PermitRootLogin no
استفاده از احراز هویت با کلید عمومی (Public Key Authentication):

برای امنیت بیشتر، می‌توانید از احراز هویت با کلید عمومی به‌جای پسورد استفاده کنید. این کار را با فعال‌سازی گزینه PasswordAuthentication به no انجام دهید.

PasswordAuthentication no
محدود کردن دسترسی به کاربران خاص:

اگر می‌خواهید تنها کاربران خاصی بتوانند به سیستم از طریق SSH دسترسی پیدا کنند، می‌توانید گزینه AllowUsers را اضافه کنید:

AllowUsers user1 user2

پس از اعمال تغییرات، فایل را ذخیره کرده و ویرایشگر را ببندید.

2.2. ریستارت سرویس SSH

برای اعمال تغییرات در پیکربندی، باید سرویس SSH را ریستارت کنید:

sudo systemctl restart sshd

3. اتصال از راه دور به سرور با استفاده از SSH

برای اتصال به سرور از راه دور، از دستور ssh استفاده می‌شود. اتصال به سرور از طریق SSH به این صورت خواهد بود:

ssh username@server_ip_address -p 2222

در این دستور:

  • username: نام کاربری که دسترسی به آن دارید.
  • server_ip_address: آدرس IP سرور.
  • -p 2222: پورت SSH که در تنظیمات قبلی تغییر داده‌اید (در صورت استفاده از پورت غیر پیش‌فرض).

جمع‌بندی

با استفاده از سرویس SSH، می‌توان به‌طور امن از راه دور به سرورها و سیستم‌های لینوکسی دسترسی پیدا کرد. با نصب و فعال‌سازی SSH و سپس پیکربندی مناسب آن از طریق ویرایش فایل sshd_config، می‌توان امنیت سیستم را بهبود بخشید. تنظیمات مانند تغییر پورت پیش‌فرض، غیرفعال کردن ورود با کاربر root، و استفاده از کلید عمومی برای احراز هویت، به شما کمک می‌کنند تا از سیستم خود در برابر حملات احتمالی محافظت کنید.[/cdb_course_lesson][cdb_course_lesson title=”فصل 8. آماده‌سازی برای نصب افزونه‌ها و ماژول‌های اضافی”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”نصب و پیکربندی ماژول‌های پیش‌فرض Issabel (مانند Call Center، Voicemail، IVR)” subtitle=”توضیحات کامل”]یکی از ویژگی‌های مهم Issabel، امکان استفاده از ماژول‌های مختلف برای مدیریت تماس‌ها و ارتباطات صوتی است. در این بخش، نحوه نصب و پیکربندی برخی از ماژول‌های پیش‌فرض Issabel مانند Call Center، Voicemail و IVR شرح داده می‌شود. این ماژول‌ها به شما کمک می‌کنند تا بتوانید تماس‌ها را به‌طور مؤثرتر مدیریت کرده و تجربه بهتری برای کاربران ایجاد کنید.


1. نصب ماژول‌های پیش‌فرض Issabel

Issabel به‌طور پیش‌فرض شامل ماژول‌هایی برای مدیریت مرکز تماس (Call Center)، صندوق صوتی (Voicemail) و سیستم پاسخگوی خودکار (IVR) است. برای نصب این ماژول‌ها می‌توانید از رابط کاربری گرافیکی یا دستورالعمل‌های خط فرمان استفاده کنید.

1.1. نصب ماژول‌ها از طریق رابط کاربری گرافیکی

  1. وارد بخش Modules در داشبورد Issabel شوید.
  2. از قسمت Module Admin، لیست ماژول‌های نصب‌نشده را مشاهده کنید.
  3. بر روی Install کلیک کنید تا ماژول‌های مورد نظر مانند Call Center، Voicemail و IVR نصب شوند.

1.2. نصب ماژول‌ها از طریق خط فرمان

برای نصب ماژول‌ها از طریق خط فرمان، می‌توانید دستور زیر را وارد کنید:

sudo yum install issabel-callcenter issabel-voicemail issabel-ivr

این دستورات ماژول‌های مورد نیاز را نصب خواهند کرد. در صورتی که نسخه‌های جدیدتر موجود باشد، می‌توانید آن‌ها را از مخازن Issabel نصب کنید.


2. پیکربندی ماژول Call Center

ماژول Call Center در Issabel به شما این امکان را می‌دهد که مرکز تماس خود را مدیریت کرده و تماس‌ها را بر اساس صف‌ها و قوانین مختلف توزیع کنید.

2.1. تنظیمات اولیه Call Center

برای پیکربندی این ماژول، ابتدا وارد بخش Call Center از داشبورد Issabel شوید.

  1. از منوی Applications، گزینه Call Center را انتخاب کنید.
  2. در بخش Call Center Management، تنظیمات اولیه مانند انتخاب صندوق پست صوتی، صف‌ها و زمان‌بندی‌ها را تنظیم کنید.

2.2. ایجاد صف‌های تماس

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

  1. وارد بخش Call Center شوید.
  2. بر روی Queues کلیک کرده و گزینه Add Queue را انتخاب کنید.
  3. در فرم باز شده، اطلاعات صف مانند نام، مدت زمان انتظار، تعداد نمایندگان و اولویت صف را وارد کنید.

2.3. پیکربندی پاسخ‌دهندگان خودکار (IVR) در Call Center

ماژول Call Center می‌تواند با IVR تلفیق شود. در قسمت تنظیمات IVR می‌توانید انتخاب کنید که چگونه تماس‌ها به صف‌ها یا نمایندگان مختلف هدایت شوند.


3. پیکربندی Voicemail

ماژول Voicemail به شما این امکان را می‌دهد که پیام‌های صوتی را برای تماس‌گیرندگان ذخیره کنید و آن‌ها را مدیریت کنید.

3.1. پیکربندی Voicemail در Issabel

  1. از بخش Applications، گزینه Voicemail را انتخاب کنید.
  2. در این بخش می‌توانید پیام‌ها را به صندوق‌های صوتی مختلف اختصاص دهید.
  3. برای افزودن صندوق صوتی جدید، بر روی Add Voicemail Box کلیک کنید.
  4. اطلاعات صندوق صوتی مانند شماره صندوق، رمز عبور و سایر تنظیمات را وارد کنید.

3.2. تنظیمات پیشرفته Voicemail

در تنظیمات پیشرفته Voicemail می‌توانید موارد زیر را تنظیم کنید:

  • مدت زمان ضبط پیام.
  • انتخاب فایل‌های صوتی خوش‌آمدگویی.
  • تنظیمات برای ارسال ایمیل پیام‌های صوتی به کاربران.

4. پیکربندی IVR (Interactive Voice Response)

IVR به کاربران این امکان را می‌دهد که از طریق یک سیستم خودکار با منوهای صوتی تماس برقرار کنند.

4.1. ایجاد یک سیستم IVR

برای ایجاد سیستم IVR، مراحل زیر را دنبال کنید:

  1. از منوی Applications، گزینه IVR را انتخاب کنید.
  2. بر روی Add IVR کلیک کنید تا یک سیستم IVR جدید ایجاد کنید.
  3. اطلاعات مورد نیاز مانند نام، منوهای صوتی، و تنظیمات مرتبط با مسیریابی تماس‌ها را وارد کنید.

4.2. پیکربندی منوهای صوتی IVR

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

  • هدایت تماس به صف‌ها.
  • ارسال تماس به صندوق پست صوتی.
  • انتقال به یک شماره داخلی.

جمع‌بندی

نصب و پیکربندی ماژول‌های پیش‌فرض Issabel مانند Call Center، Voicemail و IVR برای ایجاد یک سیستم ارتباطی کارآمد بسیار مهم است. ماژول Call Center به شما این امکان را می‌دهد که تماس‌ها را بر اساس صف‌ها و قوانین مختلف توزیع کنید. ماژول Voicemail پیام‌های صوتی را برای کاربران ذخیره کرده و مدیریت می‌کند، و IVR به شما کمک می‌کند تا یک سیستم خودکار برای پاسخگویی به تماس‌ها ایجاد کنید. تنظیمات این ماژول‌ها می‌تواند از طریق رابط کاربری گرافیکی یا دستورات خط فرمان انجام شود و به شما امکان مدیریت کامل سیستم را می‌دهد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”نصب ماژول‌های اضافی مانند Email، FAX و غیره” subtitle=”توضیحات کامل”]در Issabel، شما می‌توانید ماژول‌های اضافی مانند ایمیل (Email)، فکس (FAX) و سایر ماژول‌ها را نصب و پیکربندی کنید تا عملکرد سیستم خود را گسترش دهید. این ماژول‌ها امکانات بیشتری را برای مدیریت ارتباطات و ذخیره‌سازی داده‌ها به سیستم اضافه می‌کنند.


1. نصب ماژول Email

ماژول Email در Issabel به شما این امکان را می‌دهد که ایمیل‌ها را مدیریت کنید و همچنین از قابلیت‌هایی مانند ارسال ایمیل برای اطلاع‌رسانی در مورد پیام‌های صوتی و وضعیت سیستم استفاده کنید.

1.1. نصب ماژول Email از طریق خط فرمان

برای نصب ماژول ایمیل، می‌توانید از دستور زیر استفاده کنید:

sudo yum install issabel-email

این دستور ماژول Email را به‌صورت خودکار نصب خواهد کرد.

1.2. پیکربندی ماژول Email

پس از نصب، برای پیکربندی ایمیل‌ها باید تنظیمات SMTP را در سیستم خود وارد کنید. تنظیمات مورد نیاز را می‌توانید در فایل پیکربندی main.conf که در مسیر /etc/postfix/ قرار دارد، وارد کنید.

برای ویرایش فایل، دستور زیر را وارد کنید:

sudo nano /etc/postfix/main.cf

و تنظیمات SMTP را به‌صورت زیر وارد کنید:

relayhost = [smtp.example.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous

بعد از اعمال تغییرات، سرویس postfix را ریستارت کنید:

sudo systemctl restart postfix

2. نصب ماژول FAX

ماژول FAX به شما این امکان را می‌دهد که فکس‌ها را ارسال و دریافت کنید. این ماژول به‌ویژه برای استفاده در محیط‌های کاری که نیاز به ارسال فکس‌های متعدد دارند، مفید است.

2.1. نصب ماژول FAX از طریق خط فرمان

برای نصب ماژول فکس، دستور زیر را وارد کنید:

sudo yum install issabel-fax

این دستور ماژول FAX را به‌صورت خودکار نصب خواهد کرد.

2.2. پیکربندی ماژول FAX

بعد از نصب ماژول، برای پیکربندی آن باید از رابط کاربری گرافیکی Issabel استفاده کنید. برای این کار، وارد بخش FAX از منوی Applications شوید.

  1. وارد بخش Fax Configuration شوید.
  2. تنظیمات مربوط به فکس‌ها مانند شماره فکس، تنظیمات ارسال و دریافت فکس و اطلاعات SMTP را وارد کنید.

2.3. پیکربندی ارسال و دریافت فکس

  • برای ارسال فکس، شما می‌توانید از بخش Send Fax در منوی FAX استفاده کنید.
  • برای دریافت فکس، باید فکس‌های دریافتی را به صندوق‌های صوتی خاصی هدایت کنید.

3. نصب ماژول‌های دیگر (مانند Video Conference و سایر ماژول‌ها)

Issabel همچنین این امکان را به شما می‌دهد که ماژول‌های دیگری مانند Video Conference را نصب و پیکربندی کنید تا بتوانید از امکانات تماس ویدیویی نیز بهره‌مند شوید.

3.1. نصب ماژول Video Conference

برای نصب ماژول Video Conference، دستور زیر را وارد کنید:

sudo yum install issabel-videoconference

پس از نصب، برای پیکربندی این ماژول باید وارد بخش Video Conference شوید و تنظیمات مختلفی را مانند ایجاد اتاق‌های ویدیویی، انتخاب تعداد شرکت‌کنندگان، و تنظیمات کیفیت ویدیو وارد کنید.


جمع‌بندی

نصب و پیکربندی ماژول‌های اضافی مانند Email، FAX و سایر ماژول‌ها در Issabel به شما این امکان را می‌دهد که ویژگی‌های سیستم ارتباطی خود را گسترش دهید. ماژول Email برای مدیریت ایمیل‌ها و اطلاع‌رسانی استفاده می‌شود، در حالی که ماژول FAX به شما این امکان را می‌دهد که فکس ارسال و دریافت کنید. همچنین، امکان نصب ماژول‌های دیگر مانند Video Conference نیز وجود دارد که می‌توانید از آن‌ها برای تماس‌های ویدیویی و ارتباطات بصری استفاده کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”بررسی و نصب به‌روزرسانی‌های امنیتی و سیستم” subtitle=”توضیحات کامل”]برای اطمینان از عملکرد بهینه و حفظ امنیت سیستم، باید به‌طور منظم به‌روزرسانی‌های امنیتی و سیستم را نصب کنید. در Issabel، این فرآیند می‌تواند از طریق دستورات خط فرمان انجام شود.


1. بررسی به‌روزرسانی‌های موجود

برای بررسی به‌روزرسانی‌های موجود برای سیستم و پکیج‌های نصب‌شده، می‌توانید از دستور زیر استفاده کنید:

sudo yum check-update

این دستور لیستی از به‌روزرسانی‌های موجود را برای تمام پکیج‌ها نمایش خواهد داد. به‌روزرسانی‌ها ممکن است شامل اصلاحات امنیتی، بهبود عملکرد یا ویژگی‌های جدید باشند.


2. نصب به‌روزرسانی‌ها

برای نصب به‌روزرسانی‌های موجود، دستور زیر را وارد کنید:

sudo yum update

این دستور به‌روزرسانی‌های موجود برای سیستم و تمام پکیج‌ها را به‌طور خودکار نصب خواهد کرد. اگر بخواهید فقط به‌روزرسانی‌های امنیتی را نصب کنید، می‌توانید از دستور زیر استفاده کنید:

sudo yum update --security

این دستور فقط به‌روزرسانی‌های امنیتی را نصب خواهد کرد و از نصب به‌روزرسانی‌های عمومی خودداری می‌کند.


3. نصب به‌روزرسانی‌های پکیج‌های خاص (اختیاری)

اگر می‌خواهید یک پکیج خاص را به‌روز کنید، می‌توانید از دستور زیر استفاده کنید:

sudo yum update <package_name>

برای مثال، برای به‌روزرسانی Asterisk می‌توانید دستور زیر را وارد کنید:

sudo yum update asterisk

4. پیکربندی خودکار به‌روزرسانی‌ها

برای اطمینان از نصب خودکار به‌روزرسانی‌ها و جلوگیری از بروز مشکلات امنیتی، می‌توانید تنظیمات خودکار به‌روزرسانی را در سیستم فعال کنید.

  1. فایل تنظیمات را با دستور زیر باز کنید:
sudo nano /etc/yum/yum-cron.conf
  1. در این فایل، مقدار گزینه update_cmd را به default تغییر دهید تا به‌روزرسانی‌ها به‌صورت خودکار نصب شوند.
update_cmd = default
  1. بعد از اعمال تغییرات، فایل را ذخیره کرده و خارج شوید. سپس سرویس cron را ریستارت کنید تا تغییرات اعمال شوند:
sudo systemctl restart yum-cron

5. بررسی وضعیت به‌روزرسانی‌ها

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

sudo systemctl status yum-cron

این دستور وضعیت سرویس yum-cron را نمایش می‌دهد و به شما کمک می‌کند تا مطمئن شوید که به‌روزرسانی‌ها به‌طور خودکار اجرا می‌شوند.


جمع‌بندی

برای حفظ امنیت و عملکرد صحیح Issabel، باید به‌طور منظم به‌روزرسانی‌های امنیتی و سیستم را نصب کنید. این کار را می‌توان با استفاده از دستور yum update انجام داد. همچنین، می‌توانید به‌روزرسانی‌های خاص را نصب کنید و حتی تنظیمات خودکار به‌روزرسانی را پیکربندی کنید تا به‌روزرسانی‌ها به‌صورت خودکار انجام شوند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 9. عیب‌یابی مشکلات نصب و پیکربندی”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”بررسی لاگ‌ها برای شناسایی مشکلات احتمالی در مراحل نصب” subtitle=”توضیحات کامل”]در هر مرحله از نصب سیستم‌عامل یا نرم‌افزارها، لاگ‌ها می‌توانند به عنوان ابزار مهمی برای شناسایی مشکلات احتمالی و رفع آن‌ها عمل کنند. در Issabel و سایر سیستم‌های مبتنی بر لینوکس، لاگ‌ها شامل اطلاعات دقیق درباره مراحل مختلف نصب، مشکلات و ارورها هستند که می‌توانند برای عیب‌یابی مفید باشند.


1. لاگ‌های سیستم در مسیر /var/log

لاگ‌های عمومی سیستم در مسیر /var/log ذخیره می‌شوند. در اینجا برخی از مهم‌ترین لاگ‌ها که برای شناسایی مشکلات احتمالی در مراحل نصب مفید هستند آورده شده است:

  • /var/log/messages: این فایل شامل لاگ‌های عمومی سیستم است و بیشتر مشکلات عمومی سیستم مانند کرش‌ها، مشکلات شبکه و دسترسی‌ها در آن ثبت می‌شود.
  • /var/log/secure: این فایل لاگ شامل اطلاعات مربوط به امنیت سیستم، مانند تلاش‌های ورود ناموفق یا موفق، تغییرات در مجوزها و فعالیت‌های مشکوک است.
  • /var/log/yum.log: این فایل لاگ مربوط به نصب و به‌روزرسانی‌های پکیج‌ها است. می‌توانید در آن مشکلات مربوط به نصب پکیج‌های خاص یا وابستگی‌های ناتمام را بررسی کنید.
  • /var/log/asterisk: این فایل لاگ مربوط به برنامه Asterisk است و می‌تواند برای شناسایی مشکلات در نصب یا پیکربندی Asterisk مفید باشد.

2. بررسی لاگ‌های YUM برای مشکلات نصب پکیج‌ها

اگر در هنگام نصب یا به‌روزرسانی پکیج‌ها با مشکلاتی مواجه شده‌اید، می‌توانید لاگ‌های مربوط به YUM را بررسی کنید. برای این کار، دستور زیر را وارد کنید:

sudo cat /var/log/yum.log

این فایل تمام فعالیت‌های مربوط به نصب، به‌روزرسانی و حذف پکیج‌ها را شامل می‌شود. در صورتی که در این فرآیند خطا یا مشکلی پیش بیاید، این لاگ کمک‌کننده خواهد بود.


3. بررسی لاگ‌های Asterisk

Asterisk به عنوان یکی از بخش‌های اصلی Issabel، تمامی فعالیت‌ها و مشکلات خود را در فایل‌های لاگ خود ثبت می‌کند. برای بررسی لاگ‌های Asterisk، به مسیر /var/log/asterisk/ بروید. شما می‌توانید فایل‌های مختلف مانند full, messages, warnings را بررسی کنید.

برای مشاهده لاگ‌های Asterisk از دستور زیر استفاده کنید:

sudo cat /var/log/asterisk/full

این فایل شامل تمام فعالیت‌های ثبت‌شده توسط Asterisk است، از جمله ارتباطات، ورودی‌ها و خروجی‌ها.


4. بررسی لاگ‌های سرویس‌های خاص

برای بررسی مشکلات مربوط به سرویس‌ها و ماژول‌های خاص، می‌توانید لاگ‌های هر سرویس را به‌صورت جداگانه بررسی کنید. برای مثال:

  • Apache Logs (اگر استفاده می‌شود):
    مسیر لاگ‌ها معمولاً در /var/log/httpd/ است.

    sudo cat /var/log/httpd/error_log
    
  • MySQL Logs (اگر استفاده می‌شود):
    مسیر لاگ‌ها معمولاً در /var/log/mysqld.log است.

    sudo cat /var/log/mysqld.log
    

5. استفاده از ابزارهای عیب‌یابی شبکه

در صورتی که مشکل مربوط به اتصال شبکه است، می‌توانید از ابزارهای عیب‌یابی شبکه مانند ping و traceroute برای شناسایی مشکلات ارتباطی استفاده کنید.

  • Ping برای بررسی اتصال به یک میزبان خاص:
    ping <IP_Address_or_Domain>
    
  • Traceroute برای بررسی مسیر شبکه تا یک میزبان:
    traceroute <IP_Address_or_Domain>
    

6. بررسی وضعیت سرویس‌ها

برای بررسی وضعیت سرویس‌ها و اطمینان از راه‌اندازی صحیح آن‌ها، می‌توانید از دستور systemctl استفاده کنید:

sudo systemctl status <service_name>

برای مثال، برای بررسی وضعیت سرویس Asterisk:

sudo systemctl status asterisk

جمع‌بندی

برای شناسایی مشکلات احتمالی در مراحل نصب، بررسی لاگ‌های مختلف سیستم از جمله /var/log/messages، /var/log/yum.log، و /var/log/asterisk/ می‌تواند مفید باشد. همچنین، ابزارهای عیب‌یابی شبکه و بررسی وضعیت سرویس‌ها با دستور systemctl نیز می‌توانند به شناسایی و رفع مشکلات کمک کنند. بررسی دقیق لاگ‌ها و وضعیت سرویس‌ها می‌تواند مشکلات نصب یا پیکربندی را به‌طور مؤثر شناسایی و رفع کند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”روش‌های حل مشکلات نصب (پایگاه داده‌ها، فایروال، مشکلات شبکه)” subtitle=”توضیحات کامل”]در حین نصب Issabel یا هر سیستم‌عاملی مشابه، ممکن است مشکلات مختلفی به‌ویژه در زمینه‌های پایگاه داده، فایروال و شبکه پیش آید. در این قسمت، به بررسی و حل این مشکلات خواهیم پرداخت.


1. مشکلات پایگاه داده

یکی از مشکلات رایج در هنگام نصب Issabel یا Asterisk می‌تواند مربوط به پایگاه داده MySQL باشد. برخی از مشکلات متداول در این زمینه شامل عدم اتصال به پایگاه داده، پیکربندی اشتباه یا مشکلات ناشی از نبود پایگاه داده است.

مشکلات و راه‌حل‌ها:

  • عدم توانایی در اتصال به پایگاه داده:این مشکل می‌تواند به دلیل عدم نصب MySQL یا MariaDB ایجاد شود. برای بررسی وضعیت پایگاه داده، از دستور زیر استفاده کنید:
    sudo systemctl status mysqld
    

    اگر سرویس پایگاه داده فعال نباشد، از دستور زیر برای راه‌اندازی آن استفاده کنید:

    sudo systemctl start mysqld
    
  • بررسی لاگ‌های پایگاه داده:در صورت بروز مشکلات در ارتباط با پایگاه داده، می‌توانید لاگ‌های MySQL یا MariaDB را بررسی کنید. مسیر لاگ‌ها به‌طور معمول /var/log/mysqld.log است.برای مشاهده لاگ‌ها از دستور زیر استفاده کنید:
    sudo cat /var/log/mysqld.log
    
  • تجدید پیکربندی پایگاه داده:در صورتی که پایگاه داده به درستی پیکربندی نشده باشد، باید آن را مجدداً پیکربندی کنید. برای این کار می‌توانید از دستور زیر برای تنظیم مجدد پایگاه داده استفاده کنید:
    sudo mysql_secure_installation
    

2. مشکلات فایروال

فایروال یکی دیگر از موانع شایع در نصب سیستم‌های VoIP مانند Issabel است. به‌طور معمول، فایروال ممکن است پورت‌های ضروری مانند SIP، IAX، HTTP و HTTPS را مسدود کند.

مشکلات و راه‌حل‌ها:

  • باز کردن پورت‌های مورد نیاز در فایروال:پورت‌های مورد نیاز برای ارتباط سیستم‌عامل Issabel و Asterisk عبارتند از:
    • SIP: 5060-5061
    • IAX: 4569
    • HTTP: 80
    • HTTPS: 443

    برای باز کردن این پورت‌ها در فایروال، از دستورات زیر استفاده کنید:

    sudo firewall-cmd --zone=public --add-port=5060/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=5060/udp --permanent
    sudo firewall-cmd --zone=public --add-port=5061/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=5061/udp --permanent
    sudo firewall-cmd --zone=public --add-port=4569/udp --permanent
    sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
    

    سپس برای اعمال تغییرات، فایروال را بارگذاری مجدد کنید:

    sudo firewall-cmd --reload
    
  • غیرفعال کردن موقت فایروال:اگر می‌خواهید به طور موقت فایروال را غیرفعال کنید تا مشکلات مربوط به فایروال را بررسی کنید، می‌توانید دستور زیر را اجرا کنید:
    sudo systemctl stop firewalld
    

    بعد از رفع مشکل، فایروال را مجدداً فعال کنید:

    sudo systemctl start firewalld
    

3. مشکلات شبکه

مشکلات شبکه می‌توانند یکی از دلایل اصلی بروز خطا در مراحل نصب و پیکربندی باشند. این مشکلات ممکن است شامل عدم اتصال به اینترنت یا شبکه داخلی، تنظیمات اشتباه IP، DNS یا Gateway باشد.

مشکلات و راه‌حل‌ها:

  • بررسی اتصال شبکه:برای بررسی اتصال شبکه، ابتدا از دستور ping استفاده کنید تا مطمئن شوید که دستگاه شما به اینترنت متصل است:
    ping 8.8.8.8
    

    اگر نتوانستید به این آدرس دسترسی پیدا کنید، ممکن است مشکل از تنظیمات شبکه باشد.

  • بررسی تنظیمات IP ثابت و DNS:بررسی کنید که تنظیمات شبکه شما به درستی پیکربندی شده باشد. برای تنظیم IP ثابت، می‌توانید فایل پیکربندی شبکه را ویرایش کنید. به‌طور معمول این فایل‌ها در مسیر /etc/sysconfig/network-scripts/ قرار دارند.برای ویرایش فایل شبکه، از دستور زیر استفاده کنید:
    sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
    

    در این فایل، تنظیمات زیر را به‌طور صحیح وارد کنید:

    DEVICE=eth0
    BOOTPROTO=static
    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    DNS2=8.8.4.4
    

    سپس تغییرات را ذخیره کرده و شبکه را مجدداً راه‌اندازی کنید:

    sudo systemctl restart network
    
  • استفاده از ابزار Traceroute برای بررسی مسیر شبکه:در صورتی که اتصال به اینترنت برقرار نیست، از دستور traceroute برای بررسی مسیر تا سرور مقصد استفاده کنید:
    traceroute 8.8.8.8
    

    این ابزار مسیر شبکه شما تا آدرس مقصد را نشان می‌دهد و به شناسایی مشکلات در مسیر کمک می‌کند.


جمع‌بندی

برای حل مشکلات نصب Issabel، باید مراحل مختلف از جمله بررسی پایگاه داده، فایروال و مشکلات شبکه را بررسی کرد. از بررسی وضعیت پایگاه داده با استفاده از systemctl status mysqld تا باز کردن پورت‌های فایروال با دستور firewall-cmd، هر کدام از این مراحل می‌توانند در شناسایی و رفع مشکلات نصب کمک‌کننده باشند. همچنین، بررسی تنظیمات شبکه و استفاده از ابزارهای عیب‌یابی مانند ping و traceroute می‌تواند مشکلات اتصال به اینترنت یا شبکه داخلی را شناسایی و حل کند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”استفاده از ابزارهای خط فرمان برای عیب‌یابی (systemctl، journalctl، netstat)” subtitle=”توضیحات کامل”]در فرآیند نصب و پیکربندی سیستم‌ها مانند Issabel، ممکن است مشکلاتی به وجود آید که نیاز به عیب‌یابی داشته باشد. برای این منظور، ابزارهای خط فرمانی مختلفی وجود دارند که می‌توانند در شناسایی و رفع مشکلات کمک کنند. در این قسمت، به بررسی سه ابزار قدرتمند برای عیب‌یابی می‌پردازیم: systemctl، journalctl و netstat.


1. استفاده از systemctl

systemctl ابزاری است که برای مدیریت سرویس‌ها و واحدهای سیستم در سیستم‌عامل‌های مبتنی بر systemd استفاده می‌شود. این ابزار به‌ویژه برای مدیریت وضعیت سرویس‌ها، راه‌اندازی و متوقف کردن آن‌ها، و همچنین بررسی خطاهای سرویس‌ها بسیار مفید است.

بررسی وضعیت سرویس‌ها

برای بررسی وضعیت یک سرویس خاص مانند MySQL یا Asterisk از دستور زیر استفاده کنید:

sudo systemctl status <service_name>

به عنوان مثال، برای بررسی وضعیت سرویس MySQL:

sudo systemctl status mysqld

این دستور اطلاعاتی درباره وضعیت سرویس (فعال یا غیرفعال) و هرگونه خطا یا مشکل مربوط به آن را نمایش می‌دهد.

راه‌اندازی و توقف سرویس‌ها

برای راه‌اندازی یا متوقف کردن یک سرویس، می‌توانید از دستورات زیر استفاده کنید:

  • راه‌اندازی سرویس:
    sudo systemctl start <service_name>
    
  • توقف سرویس:
    sudo systemctl stop <service_name>
    

مشاهده فهرست سرویس‌های فعال

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

sudo systemctl list-units --type=service

2. استفاده از journalctl

journalctl ابزاری است که برای مشاهده لاگ‌ها و پیام‌های سیستمی استفاده می‌شود. این ابزار می‌تواند برای بررسی مشکلات سیستم در حین نصب یا پیکربندی کاربردی باشد.

مشاهده لاگ‌های سیستم

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

sudo journalctl

این دستور تمام لاگ‌ها را نمایش می‌دهد. اگر می‌خواهید فقط لاگ‌های مربوط به یک سرویس خاص را ببینید، از گزینه -u استفاده کنید. به‌عنوان مثال، برای مشاهده لاگ‌های مربوط به سرویس Asterisk:

sudo journalctl -u asterisk

مشاهده لاگ‌های جدیدترین پیام‌ها

برای مشاهده آخرین پیام‌های ثبت شده در سیستم، از گزینه -f استفاده کنید:

sudo journalctl -f

این دستور مشابه دستور tail -f عمل می‌کند و آخرین لاگ‌ها را به‌طور مداوم نمایش می‌دهد.

فیلتر کردن لاگ‌ها بر اساس زمان

برای مشاهده لاگ‌های سیستم در یک بازه زمانی خاص، می‌توانید از گزینه‌های --since و --until استفاده کنید. به‌عنوان مثال، برای مشاهده لاگ‌ها از ساعت 2 بعدازظهر تا 4 بعدازظهر:

sudo journalctl --since "14:00" --until "16:00"

3. استفاده از netstat

netstat ابزاری است که برای بررسی وضعیت اتصالات شبکه و پورت‌های باز در سیستم استفاده می‌شود. این ابزار می‌تواند برای شناسایی مشکلات شبکه، اتصالات غیرمجاز یا پورت‌های بسته مفید باشد.

نمایش پورت‌های باز و اتصالات شبکه

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

sudo netstat -tuln

این دستور پورت‌های فعال TCP و UDP را که در حال استفاده هستند، نمایش می‌دهد.

مشاهده اتصالات به پورت‌های خاص

برای مشاهده اتصالات مربوط به یک پورت خاص، می‌توانید از دستور زیر استفاده کنید. به‌عنوان مثال، برای بررسی اتصالات مرتبط با پورت SIP (پورت 5060):

sudo netstat -an | grep 5060

نمایش آدرس‌های IP و پورت‌های متصل

برای مشاهده آدرس‌های IP و پورت‌های متصل به سیستم، از دستور زیر استفاده کنید:

sudo netstat -anp

این دستور به شما اجازه می‌دهد که ببینید چه فرآیندهایی به پورت‌های مختلف متصل هستند.


جمع‌بندی

در هنگام نصب و پیکربندی سیستم‌ها، ابزارهای خط فرمان مانند systemctl، journalctl و netstat می‌توانند به‌طور قابل توجهی به شما در شناسایی مشکلات و عیب‌یابی کمک کنند. استفاده از systemctl برای مدیریت سرویس‌ها، journalctl برای مشاهده لاگ‌ها و خطاهای سیستمی، و netstat برای بررسی وضعیت اتصالات شبکه و پورت‌ها، به شما امکان می‌دهد تا مشکلات سیستم را شناسایی کرده و آن‌ها را برطرف کنید. این ابزارها به‌ویژه در هنگام نصب نرم‌افزارهایی مانند Issabel بسیار مفید و کاربردی هستند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 10. پشتیبان‌گیری و بازیابی سیستم در مراحل نصب”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”ایجاد نسخه پشتیبان از تنظیمات اولیه و فایل‌های پیکربندی” subtitle=”توضیحات کامل”]ایجاد نسخه پشتیبان از تنظیمات اولیه و فایل‌های پیکربندی یکی از مراحل حیاتی در مدیریت سیستم‌ها است که به شما این امکان را می‌دهد که در صورت بروز مشکلات یا نیاز به بازگشت به وضعیت قبلی، بتوانید به‌راحتی تنظیمات سیستم را بازیابی کنید. در این قسمت، به بررسی روش‌های مختلف ایجاد نسخه پشتیبان از تنظیمات و فایل‌های پیکربندی Issabel خواهیم پرداخت.


1. ایجاد نسخه پشتیبان از فایل‌های پیکربندی مهم

در سیستم‌های مانند Issabel، بسیاری از فایل‌های پیکربندی مهم برای عملکرد درست سیستم وجود دارند که باید از آن‌ها نسخه پشتیبان تهیه شود. این فایل‌ها شامل تنظیمات شبکه، سرویس‌ها، پیکربندی SIP، Asterisk و سایر ماژول‌ها هستند. مهم‌ترین این فایل‌ها در مسیرهای زیر قرار دارند:

  • فایل‌های پیکربندی Asterisk:
    /etc/asterisk/
    
  • فایل‌های پیکربندی Issabel:
    /etc/issabel/
    

برای ایجاد نسخه پشتیبان از این فایل‌ها، می‌توانید از دستور tar استفاده کنید تا تمامی فایل‌های مورد نظر را فشرده و ذخیره کنید.

دستور پشتیبان‌گیری از فایل‌ها:

sudo tar -czvf /backup/issabel_config_backup.tar.gz /etc/asterisk /etc/issabel

در این دستور:

  • tar -czvf برای فشرده‌سازی فایل‌ها به‌صورت .tar.gz استفاده می‌شود.
  • /backup/issabel_config_backup.tar.gz مسیری است که نسخه پشتیبان در آن ذخیره می‌شود.
  • /etc/asterisk /etc/issabel مسیر فایل‌های پیکربندی مورد نظر برای پشتیبان‌گیری است.

2. پشتیبان‌گیری از پایگاه داده‌ها

اگر سیستم شما از پایگاه داده‌ها برای ذخیره اطلاعات استفاده می‌کند (مانند MySQL یا MariaDB)، باید از پایگاه داده‌ها نیز نسخه پشتیبان تهیه شود. برای این کار، می‌توانید از ابزار mysqldump برای ایجاد نسخه پشتیبان از دیتابیس استفاده کنید.

دستور پشتیبان‌گیری از پایگاه داده MySQL:

sudo mysqldump -u root -p --all-databases > /backup/mysql_backup.sql

در این دستور:

  • -u root نام کاربری پایگاه داده است.
  • -p برای درخواست رمز عبور پایگاه داده است.
  • --all-databases برای پشتیبان‌گیری از تمامی پایگاه داده‌ها است.
  • /backup/mysql_backup.sql مسیر و نام فایل پشتیبان پایگاه داده است.

3. پشتیبان‌گیری از تنظیمات شبکه و سیستم

برای پشتیبان‌گیری از تنظیمات شبکه (مانند IP ثابت، DNS، و Gateway) می‌توانید فایل‌های پیکربندی شبکه را نیز نسخه‌برداری کنید. این فایل‌ها معمولاً در مسیرهای زیر قرار دارند:

  • فایل پیکربندی شبکه:
    /etc/sysconfig/network-scripts/ifcfg-eth0
    /etc/resolv.conf
    

برای ایجاد نسخه پشتیبان از این فایل‌ها، از دستور cp استفاده کنید:

دستور پشتیبان‌گیری از تنظیمات شبکه:

sudo cp /etc/sysconfig/network-scripts/ifcfg-eth0 /backup/ifcfg-eth0.backup
sudo cp /etc/resolv.conf /backup/resolv.conf.backup

4. پشتیبان‌گیری از تنظیمات فایروال

اگر تنظیمات فایروال در سیستم شما وجود دارد (مثلاً با استفاده از firewalld یا iptables)، باید از آن‌ها نیز نسخه پشتیبان تهیه کنید. برای پشتیبان‌گیری از تنظیمات فایروال در firewalld، می‌توانید از دستور زیر استفاده کنید:

دستور پشتیبان‌گیری از تنظیمات فایروال:

sudo firewall-cmd --list-all > /backup/firewall_rules_backup.txt

برای iptables، می‌توانید از دستور زیر برای ذخیره قوانین فایروال استفاده کنید:

sudo iptables-save > /backup/iptables_backup.rules

5. استفاده از Cron برای پشتیبان‌گیری منظم

برای اطمینان از این که پشتیبان‌گیری به‌صورت منظم انجام می‌شود، می‌توانید از Cron Jobs برای برنامه‌ریزی انجام پشتیبان‌گیری‌ها به‌طور اتوماتیک استفاده کنید. برای این کار، فایل cron را ویرایش کنید:

ویرایش فایل Cron:

sudo crontab -e

سپس برای پشتیبان‌گیری روزانه، این خط را اضافه کنید:

0 2 * * * tar -czvf /backup/issabel_config_backup_$(date +\%F).tar.gz /etc/asterisk /etc/issabel
0 3 * * * mysqldump -u root -p --all-databases > /backup/mysql_backup_$(date +\%F).sql

این دستورات به‌طور خودکار پشتیبان‌گیری روزانه از تنظیمات Issabel و پایگاه داده را در ساعت 2 و 3 بامداد انجام خواهند داد.


جمع‌بندی

ایجاد نسخه پشتیبان از تنظیمات اولیه و فایل‌های پیکربندی یک بخش حیاتی از مدیریت سیستم است که باید به‌طور منظم انجام شود. با استفاده از دستورات خط فرمان مانند tar، mysqldump، و cp، می‌توان به‌راحتی از فایل‌ها، پایگاه داده‌ها و تنظیمات سیستم نسخه پشتیبان تهیه کرد. همچنین با استفاده از Cron Jobs می‌توان پشتیبان‌گیری‌های منظم و خودکار را تنظیم کرد تا از دست رفتن داده‌ها یا تنظیمات در آینده جلوگیری شود.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”آموزش استفاده از ابزارهای پشتیبان‌گیری (tar، rsync)” subtitle=”توضیحات کامل”]پشتیبان‌گیری از داده‌ها و تنظیمات سیستم بخش حیاتی از مدیریت سرورها و سیستم‌ها است. برای انجام این کار می‌توان از ابزارهای مختلفی استفاده کرد که دو ابزار مهم و پرکاربرد در لینوکس برای پشتیبان‌گیری، tar و rsync هستند. در این بخش، به آموزش استفاده از این ابزارها برای انجام پشتیبان‌گیری خواهیم پرداخت.


1. ابزار tar برای پشتیبان‌گیری

ابزار tar یکی از رایج‌ترین و ساده‌ترین ابزارهای پشتیبان‌گیری در لینوکس است. این ابزار به شما این امکان را می‌دهد که فایل‌ها و پوشه‌ها را فشرده کرده و به‌عنوان یک نسخه پشتیبان ذخیره کنید. استفاده از tar برای پشتیبان‌گیری به‌ویژه زمانی مفید است که بخواهید حجم فایل‌ها را کاهش داده و فضای ذخیره‌سازی را بهینه کنید.

دستور پشتیبان‌گیری با tar:

sudo tar -czvf /backup/backup_name.tar.gz /path/to/directory_or_files

در این دستور:

  • tar ابزار فشرده‌سازی است.
  • -c برای ایجاد یک آرشیو جدید است.
  • -z برای فشرده‌سازی فایل‌ها به فرمت .gz است.
  • -v برای نمایش فایل‌هایی است که در حال فشرده‌سازی هستند (اختیاری).
  • -f برای تعیین نام فایل آرشیو استفاده می‌شود.
  • /backup/backup_name.tar.gz مسیر و نام فایل پشتیبان فشرده شده است.
  • /path/to/directory_or_files مسیری است که از آن باید نسخه پشتیبان تهیه شود.

مثال:

اگر بخواهید از پوشه /etc/issabel نسخه پشتیبان بگیرید، دستور به‌صورت زیر خواهد بود:

sudo tar -czvf /backup/issabel_config_backup.tar.gz /etc/issabel

2. ابزار rsync برای پشتیبان‌گیری

rsync یک ابزار قدرتمند برای همگام‌سازی و پشتیبان‌گیری است که ویژگی‌های زیادی برای مقایسه و انتقال فایل‌ها به شما می‌دهد. برخلاف tar، که تمام فایل‌ها را فشرده و ذخیره می‌کند، rsync فقط تغییرات و فایل‌های جدید را کپی کرده و می‌تواند از آنها نسخه پشتیبان تهیه کند. این ویژگی باعث می‌شود که rsync برای پشتیبان‌گیری‌های مکرر و منظم مناسب باشد.

دستور پشتیبان‌گیری با rsync:

sudo rsync -av --delete /path/to/source/ /path/to/destination/

در این دستور:

  • rsync ابزار همگام‌سازی فایل‌ها است.
  • -a به معنای حالت آرشیو است که به‌صورت پیش‌فرض از رکوردهای مالکیت، مجوزها و تایم‌استمپ‌ها همگام‌سازی می‌کند.
  • -v برای نمایش جزئیات عملیات همگام‌سازی است.
  • --delete فایل‌های حذف‌شده از مقصد را هم حذف می‌کند (اختیاری).
  • /path/to/source/ مسیر منبع است که باید نسخه پشتیبان از آن گرفته شود.
  • /path/to/destination/ مسیر مقصد است که نسخه پشتیبان در آن ذخیره می‌شود.

مثال:

برای پشتیبان‌گیری از پوشه /etc/issabel به مقصد /backup/issabel, دستور به شکل زیر خواهد بود:

sudo rsync -av --delete /etc/issabel/ /backup/issabel/

3. پشتیبان‌گیری خودکار با استفاده از Cron Jobs

برای اطمینان از پشتیبان‌گیری منظم و خودکار، می‌توانید از Cron Jobs استفاده کنید. Cron یک ابزار زمان‌بندی است که به شما این امکان را می‌دهد که دستورات خاصی را به‌طور اتوماتیک در زمان‌های مشخص اجرا کنید.

ویرایش فایل Cron:

sudo crontab -e

سپس برای انجام پشتیبان‌گیری روزانه از tar یا rsync، می‌توانید دستورات زیر را اضافه کنید:

  • برای پشتیبان‌گیری روزانه با tar:
    0 2 * * * tar -czvf /backup/issabel_config_backup_$(date +\%F).tar.gz /etc/issabel
    
  • برای پشتیبان‌گیری روزانه با rsync:
    0 3 * * * rsync -av --delete /etc/issabel/ /backup/issabel/
    

این دستورات به‌طور خودکار پشتیبان‌گیری را در ساعت 2 و 3 بامداد انجام خواهند داد.


جمع‌بندی

ابزارهای tar و rsync دو ابزار قوی برای پشتیبان‌گیری در لینوکس هستند. tar برای فشرده‌سازی و ذخیره‌سازی آرشیوهای پشتیبان استفاده می‌شود، در حالی که rsync برای همگام‌سازی و پشتیبان‌گیری منظم از تغییرات فایل‌ها بسیار مناسب است. با استفاده از این ابزارها و برنامه‌ریزی پشتیبان‌گیری خودکار با Cron Jobs، می‌توان اطمینان حاصل کرد که اطلاعات مهم به‌طور منظم و خودکار پشتیبان‌گیری می‌شوند و در صورت نیاز به بازیابی، به‌راحتی قابل دسترسی هستند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”نحوه بازیابی سیستم پس از مشکلات نصب یا پیکربندی نادرست” subtitle=”توضیحات کامل”]پس از نصب یا پیکربندی سیستم، ممکن است با مشکلاتی مواجه شوید که باعث اختلال در عملکرد یا حتی عدم راه‌اندازی صحیح سیستم شوند. این مشکلات ممکن است شامل نصب نادرست، پیکربندی نادرست یا تغییرات غیرمنتظره در فایل‌ها و تنظیمات باشد. برای حل این مشکلات و بازیابی سیستم، راهکارهایی وجود دارد که می‌توان از آن‌ها بهره برد.


1. بازیابی از نسخه‌های پشتیبان

اگر از قبل نسخه پشتیبان از تنظیمات و داده‌ها گرفته‌اید، می‌توانید با استفاده از نسخه پشتیبان سیستم را به حالت پیشین بازگردانید.

استفاده از پشتیبان tar:

برای بازیابی از یک پشتیبان گرفته‌شده با استفاده از ابزار tar، از دستور زیر استفاده کنید:

sudo tar -xzvf /path/to/backup_name.tar.gz -C /path/to/restore_directory

این دستور پشتیبان فشرده‌شده را از فایل tar استخراج کرده و آن را در مسیر مقصد (که ممکن است همان مسیر اصلی فایل‌ها باشد) باز می‌گرداند.

استفاده از پشتیبان rsync:

اگر از ابزار rsync برای پشتیبان‌گیری استفاده کرده‌اید، می‌توانید به‌راحتی از آن برای بازگرداندن داده‌ها به مسیر اصلی استفاده کنید:

sudo rsync -av /path/to/backup/ /path/to/restore/

در این دستور، داده‌ها از پشتیبان به مقصد موردنظر (مثلاً /etc/issabel) منتقل می‌شوند.


2. استفاده از لاگ‌ها برای شناسایی مشکلات

لاگ‌ها می‌توانند اطلاعات مهمی را درباره مشکلات سیستم و خطاها فراهم کنند. بررسی دقیق لاگ‌ها می‌تواند به شناسایی مشکل و رفع آن کمک کند.

بررسی لاگ‌ها با journalctl:

برای مشاهده لاگ‌ها و پیگیری مشکلات نصب یا پیکربندی نادرست، می‌توان از دستور journalctl استفاده کرد.

sudo journalctl -xe

این دستور خطاها و هشدارهایی که در زمان اجرا یا راه‌اندازی سیستم رخ داده است را نمایش می‌دهد.

بررسی لاگ‌ها در فایل‌های سیستم:

بسته به نوع مشکل، شما ممکن است نیاز به بررسی لاگ‌های خاصی داشته باشید. برای مثال، لاگ‌های مربوط به سرویس Asterisk می‌توانند در مسیر /var/log/asterisk قرار داشته باشند:

sudo tail -f /var/log/asterisk/full

این دستور آخرین خطاها و پیام‌ها در لاگ Asterisk را به شما نشان خواهد داد.


3. بازنشانی پیکربندی‌ها به حالت پیش‌فرض

در صورتی که تغییرات پیکربندی باعث بروز مشکل شده باشد، ممکن است نیاز به بازنشانی تنظیمات به حالت پیش‌فرض داشته باشید. برای این کار، معمولاً فایل‌های پیکربندی اصلی را می‌توان با فایل‌های پیش‌فرض جایگزین کرد.

بازنشانی فایل‌های پیکربندی در Issabel:

اگر بخواهید فایل‌های پیکربندی Issabel را به حالت پیش‌فرض بازگردانید، می‌توانید به مسیرهای زیر بروید و فایل‌ها را با نسخه‌های پیش‌فرض جایگزین کنید:

  • برای بازنشانی فایل‌های پیکربندی Asterisk:
    sudo cp /etc/asterisk/asterisk.conf.default /etc/asterisk/asterisk.conf
    sudo cp /etc/asterisk/sip.conf.default /etc/asterisk/sip.conf
    
  • برای بازنشانی فایل‌های پیکربندی Issabel:
    sudo cp /etc/issabel/issabel.conf.default /etc/issabel/issabel.conf
    

4. استفاده از ابزارهای خط فرمان برای عیب‌یابی

برای رفع مشکلات مربوط به سیستم‌عامل یا سرویس‌های اجراشده، ابزارهای خط فرمان می‌توانند کمک زیادی کنند. به‌ویژه ابزارهایی مانند systemctl، netstat و ss می‌توانند در شناسایی مشکلات کمک کنند.

بررسی وضعیت سرویس‌ها با systemctl:

برای بررسی وضعیت سرویس‌ها (مانند Asterisk یا Issabel)، از دستور systemctl استفاده کنید:

sudo systemctl status asterisk

این دستور وضعیت سرویس Asterisk را نمایش می‌دهد و در صورت بروز مشکل، پیغام‌های خطا و وضعیت سرویس را به شما نشان خواهد داد.

استفاده از netstat برای بررسی پورت‌ها:

برای بررسی وضعیت پورت‌های سیستم و اطمینان از اینکه سرویس‌های مورد نیاز در حال اجرا هستند، از دستور netstat استفاده کنید:

sudo netstat -tuln

این دستور لیستی از پورت‌های باز و سرویس‌های در حال اجرا را نمایش می‌دهد.


5. بررسی مشکلات شبکه و ارتباطات

یکی از دلایل رایج مشکلات نصب یا پیکربندی نادرست، مشکلات شبکه است. برای بررسی اتصال شبکه، می‌توانید از ابزارهای ping و traceroute استفاده کنید.

تست اتصال با ping:

برای بررسی اتصال به یک آدرس IP یا دامنه، از دستور ping استفاده کنید:

ping 8.8.8.8

این دستور اتصال به سرور DNS گوگل را بررسی می‌کند.

بررسی مسیر شبکه با traceroute:

برای بررسی مسیر شبکه و شناسایی مشکلات احتمالی، از دستور traceroute استفاده کنید:

traceroute 8.8.8.8

این دستور مسیر انتقال بسته‌ها به سرور مقصد را نمایش می‌دهد و می‌تواند برای شناسایی نقاط اختلال مفید باشد.


جمع‌بندی

برای بازیابی سیستم پس از مشکلات نصب یا پیکربندی نادرست، از روش‌های مختلفی می‌توان استفاده کرد. از جمله این روش‌ها می‌توان به بازیابی از نسخه‌های پشتیبان، بررسی لاگ‌ها، بازنشانی پیکربندی‌ها به حالت پیش‌فرض، استفاده از ابزارهای خط فرمان برای عیب‌یابی و بررسی مشکلات شبکه اشاره کرد. با استفاده از این ابزارها و تکنیک‌ها، می‌توان مشکلات نصب و پیکربندی سیستم را شناسایی و برطرف کرده و سیستم را به حالت عملیاتی بازگرداند.[/cdb_course_lesson][/cdb_course_lessons]

[cdb_course_lessons title=”بخش 2. نصب و راه‌اندازی Issabel”][cdb_course_lesson title=”فصل 1. الزامات سخت‌افزاری و نرم‌افزاری”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”حداقل الزامات سخت‌افزاری برای نصب Issabel” subtitle=”توضیحات کامل”]برای نصب و راه‌اندازی سیستم PBX Issabel، نیاز به سخت‌افزار مناسب است تا بتواند به‌درستی عمل کرده و عملکرد بهینه‌ای ارائه دهد. در این بخش، به حداقل الزامات سخت‌افزاری برای نصب Issabel می‌پردازیم که شامل پردازنده، حافظه و فضای ذخیره‌سازی می‌شود.


1. پردازنده (CPU)

پردازنده یکی از اصلی‌ترین اجزای سخت‌افزاری است که بر روی عملکرد سیستم تاثیرگذار است. برای نصب Issabel، پردازنده باید حداقل الزامات زیر را داشته باشد:

  • حداقل: پردازنده با سرعت 1 گیگاهرتز (GHz) تک هسته‌ای.
  • پیشنهاد شده: پردازنده دو هسته‌ای 2 گیگاهرتز یا بالاتر.
  • توصیه‌شده برای سیستم‌های با حجم تماس بالا: پردازنده چهار هسته‌ای یا بیشتر با سرعت 2 گیگاهرتز به بالا.

2. حافظه (RAM)

حافظه یا RAM برای عملکرد سیستم و اجرای همزمان چندین فرآیند بسیار اهمیت دارد. مقدار حافظه RAM بسته به تعداد کاربران و تماس‌های همزمان متفاوت است:

  • حداقل: 1 گیگابایت RAM.
  • پیشنهاد شده: 2 گیگابایت RAM یا بیشتر.
  • توصیه‌شده برای سیستم‌های با حجم تماس بالا: 4 گیگابایت RAM یا بیشتر.

3. فضای ذخیره‌سازی (Disk Space)

فضای ذخیره‌سازی برای نصب Issabel و ذخیره‌سازی اطلاعات تماس، ضبط‌ها، گزارش‌ها و سایر داده‌ها مورد نیاز است. مقدار فضای ذخیره‌سازی بستگی به تعداد کاربران، تماس‌های ضبط‌شده و سایر اطلاعات دارد.

  • حداقل: 10 گیگابایت فضای ذخیره‌سازی SSD یا HDD.
  • پیشنهاد شده: 20 گیگابایت یا بیشتر برای نصب سیستم و ذخیره‌سازی داده‌ها.
  • توصیه‌شده برای سیستم‌های با حجم تماس بالا: 40 گیگابایت یا بیشتر به همراه استفاده از SSD برای بهبود سرعت عملکرد سیستم.

4. کارت شبکه (Network Interface)

برای برقراری ارتباطات VoIP و استفاده از سرویس‌های شبکه، داشتن یک کارت شبکه با سرعت مناسب بسیار ضروری است.

  • حداقل: کارت شبکه 100 مگابیت بر ثانیه.
  • پیشنهاد شده: کارت شبکه گیگابیتی (1 گیگابیت بر ثانیه) برای عملکرد بهتر در شبکه‌های بزرگ‌تر.

5. پیکربندی‌های سیستم

در برخی موارد، ممکن است نیاز به انجام تنظیمات خاصی در سیستم عامل یا پیکربندی‌های سخت‌افزاری برای نصب Issabel داشته باشید. برای مثال، اگر از سیستم‌های مجازی‌سازی مانند VMware یا VirtualBox استفاده می‌کنید، نیاز به تخصیص منابع به‌صورت مجازی دارید.


تنظیمات سیستم عامل و نصب Issabel

برای نصب Issabel بر روی سیستم، ابتدا باید سیستم عامل مناسب (مانند CentOS یا RHEL) نصب شود و سپس بسته‌های نرم‌افزاری لازم را بر اساس دستورالعمل‌های زیر نصب کنید.

1. نصب سیستم عامل CentOS

ابتدا CentOS را روی سیستم نصب کنید. برای نصب، از نسخه‌ای که پشتیبانی از بسته‌های نرم‌افزاری Asterisk و Issabel را دارد، مانند CentOS 7 یا CentOS 8 استفاده کنید.

برای نصب CentOS 7، دستورات زیر را به ترتیب اجرا کنید:

# به‌روزرسانی سیستم:
yum update -y

# نصب بسته‌های ضروری:
yum groupinstall "Development Tools" -y
yum install wget -y

پس از نصب سیستم عامل، برای نصب Issabel، ابتدا مخزن بسته‌ها را وارد کنید و سپس اقدام به نصب کنید.

2. نصب Issabel

برای نصب Issabel، دستور زیر را اجرا کنید:

# دریافت فایل نصب Issabel:
wget http://cdn.issabel.org/issabel/iso/Issabel-4.0.0-x86_64-DVD.iso

# نصب Issabel:
dd if=Issabel-4.0.0-x86_64-DVD.iso of=/dev/sda bs=4M

توجه داشته باشید که در اینجا /dev/sda باید مسیر دیسک شما باشد. پس از نصب، سیستم را ریستارت کرده و به صفحه تنظیمات Issabel وارد شوید.

3. تنظیمات شبکه و آدرس IP

برای پیکربندی شبکه، فایل ifcfg-eth0 را ویرایش کنید تا آدرس IP ثابت تنظیم شود:

nano /etc/sysconfig/network-scripts/ifcfg-eth0

مقدارهای زیر را تنظیم کنید:

DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8

پس از ویرایش، تنظیمات شبکه را با دستور زیر اعمال کنید:

systemctl restart network

جمع‌بندی

در این بخش، الزامات سخت‌افزاری حداقلی برای نصب Issabel شامل پردازنده، حافظه، فضای ذخیره‌سازی و کارت شبکه بررسی شد. برای نصب و پیکربندی Issabel، لازم است سیستم عاملی مانند CentOS را نصب کرده و سپس از طریق مخزن‌های مناسب اقدام به نصب Issabel کنید. در نهایت، تنظیمات شبکه و آدرس IP ثابت باید انجام شود تا سیستم آماده به کار باشد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”الزامات نرم‌افزاری (نسخه‌های پشتیبانی‌شده از سیستم‌عامل‌ها)” subtitle=”توضیحات کامل”]برای نصب و اجرای Issabel، نیاز به سیستم‌عامل‌هایی است که پشتیبانی از نرم‌افزارهای مربوطه مانند Asterisk و سایر سرویس‌های VoIP را داشته باشند. در این بخش، به الزامات نرم‌افزاری Issabel و نسخه‌های پشتیبانی‌شده از سیستم‌عامل‌ها می‌پردازیم.


1. سیستم‌عامل‌های پشتیبانی‌شده

Issabel به‌طور رسمی از سیستم‌عامل‌های لینوکسی خاص پشتیبانی می‌کند. برای بهترین عملکرد، باید نسخه‌های به‌روز از این سیستم‌عامل‌ها استفاده شود. در زیر سیستم‌عامل‌های پشتیبانی‌شده برای نصب Issabel آورده شده است:

  • CentOS:
    • نسخه‌های پشتیبانی‌شده: CentOS 7 و CentOS 8.
    • توضیحات: CentOS یکی از محبوب‌ترین سیستم‌عامل‌های لینوکس است که برای اجرای Issabel به‌طور رسمی پشتیبانی می‌شود. این سیستم‌عامل به‌خاطر پایداری و امنیت بالا انتخاب مناسبی برای سرورهای PBX است.
  • Red Hat Enterprise Linux (RHEL):
    • نسخه‌های پشتیبانی‌شده: RHEL 7 و RHEL 8.
    • توضیحات: نسخه‌های RHEL به‌طور معمول برای محیط‌های تولیدی و سازمانی انتخاب می‌شوند. اگر به دنبال یک سیستم‌عامل تجاری با پشتیبانی رسمی هستید، RHEL گزینه‌ای مناسب است.
  • Debian:
    • نسخه‌های پشتیبانی‌شده: Debian 9 و Debian 10.
    • توضیحات: Debian به‌عنوان یک سیستم‌عامل پایدار و با امنیت بالا شناخته می‌شود و برای کسانی که نیاز به پیکربندی و کنترل بیشتر بر روی سیستم دارند، انتخاب خوبی است.
  • Ubuntu:
    • نسخه‌های پشتیبانی‌شده: Ubuntu 18.04 LTS و Ubuntu 20.04 LTS.
    • توضیحات: Ubuntu یکی دیگر از توزیع‌های لینوکسی است که برای بسیاری از کاربران لینوکس راحت است. این سیستم‌عامل به‌ویژه برای توسعه‌دهندگان و کسانی که با رابط کاربری ساده‌تر کار می‌کنند، مناسب است.

2. نسخه‌های پشتیبانی‌شده از Asterisk

Asterisk، به‌عنوان هسته اصلی نرم‌افزار PBX در Issabel، به‌طور مستقیم با سیستم‌عامل‌های مختلف و نسخه‌های مختلف هماهنگ می‌شود. برای کارایی بهینه، نسخه‌های مشخصی از Asterisk باید نصب شود.

  • Asterisk 13.x: این نسخه برای سیستم‌های پایدار و مورد تایید در بیشتر نصب‌ها استفاده می‌شود.
  • Asterisk 16.x: نسخه جدیدتری از Asterisk که قابلیت‌های بهتری را ارائه می‌دهد و پشتیبانی از تکنولوژی‌های نوین VoIP را دارد.
  • Asterisk 18.x: نسخه‌ای که برای کار با ویژگی‌های جدیدتر و پیشرفته‌تر در نظر گرفته شده است. این نسخه برای نصب بر روی سرورهای جدیدتر با کارایی بالاتر توصیه می‌شود.

3. پشتیبانی از نسخه‌های PHP

برای کار با رابط کاربری Issabel و سرویس‌های وب آن، نسخه‌های خاصی از PHP لازم است. برای عملکرد بهینه و به‌روز بودن سیستم، باید نسخه مناسب از PHP را نصب کنید:

  • PHP 7.3.x یا بالاتر: این نسخه از PHP به‌طور پیش‌فرض برای نسخه‌های جدید Issabel و رابط کاربری آن توصیه می‌شود.
  • PHP 5.6.x: برای نصب‌های قدیمی‌تر Issabel، نسخه PHP 5.6 ممکن است مورد نیاز باشد.

4. پیکربندی نرم‌افزارهای مورد نیاز

برای نصب Issabel، باید به‌طور دستی برخی نرم‌افزارها و پکیج‌های اضافی را نیز نصب کنید. این نرم‌افزارها معمولاً شامل بسته‌های ارتباطی و مدیریت سرویس‌ها هستند.

نصب برخی از بسته‌های ضروری:
# نصب بسته‌های ضروری:
yum install -y gcc wget bzip2 curl make autoconf

# نصب پکیج‌های مورد نیاز برای Asterisk:
yum install -y libxml2 libncurses5 libsqlite3-dev
نصب PHP:
# نصب PHP 7.3:
yum install -y php php-cli php-common php-mysqlnd php-fpm php-xml php-mbstring php-json
نصب سرویس‌های ضروری:
# نصب سرویس‌های اضافی:
yum install -y mariadb-server httpd

جمع‌بندی

در این بخش، به الزامات نرم‌افزاری Issabel پرداخته شد. سیستم‌عامل‌های لینوکس پشتیبانی‌شده برای نصب Issabel شامل CentOS، RHEL، Debian و Ubuntu هستند. همچنین نسخه‌های مختلف Asterisk و PHP برای عملکرد بهینه سیستم باید نصب شوند. در نهایت، نصب بسته‌ها و نرم‌افزارهای ضروری برای پیکربندی کامل Issabel شامل Asterisk و سرویس‌های اضافی نیز شرح داده شد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”انتخاب سرور فیزیکی یا استفاده از ماشین مجازی” subtitle=”توضیحات کامل”]در هنگام راه‌اندازی Issabel برای یک کسب‌وکار یا سیستم VoIP، یکی از تصمیمات مهم انتخاب نوع سرور است. آیا باید از سرور فیزیکی استفاده کنید یا از ماشین‌های مجازی (VMs)? این تصمیم تأثیر زیادی بر عملکرد، مقیاس‌پذیری، مدیریت، و هزینه‌های سیستم شما خواهد داشت. در این بخش به بررسی مزایا و معایب هرکدام می‌پردازیم.


1. مزایا و معایب استفاده از سرور فیزیکی

مزایا:

  • عملکرد بهتر و منابع اختصاصی: در سرور فیزیکی تمامی منابع سیستم برای برنامه‌های شما در دسترس خواهند بود. این امر به‌ویژه برای برنامه‌هایی که نیاز به پردازش زیاد دارند (مانند تماس‌های VoIP و پردازش‌های سنگین) مفید است.
  • پایداری بیشتر: سرورهای فیزیکی معمولاً برای عملکرد طولانی‌مدت طراحی شده‌اند و در مقایسه با ماشین‌های مجازی، دچار مشکلات کمتری از نظر منابع سیستم می‌شوند.
  • انعطاف‌پذیری در سخت‌افزار: می‌توانید سخت‌افزار را مطابق با نیازهای خود انتخاب کنید و عملکرد بهینه‌ای را برای کاربردهای خاص بدست آورید.

معایب:

  • هزینه‌های بیشتر: برای تهیه و نگهداری سرورهای فیزیکی باید هزینه‌های بیشتری پرداخت کنید. علاوه بر هزینه خرید سخت‌افزار، هزینه‌های انرژی، فضای فیزیکی، و نگهداری نیز به این هزینه‌ها افزوده می‌شوند.
  • مقیاس‌پذیری پایین‌تر: در صورت نیاز به مقیاس‌پذیری یا افزودن سرور، باید سخت‌افزار جدید خریداری و پیکربندی کنید که ممکن است زمان‌بر و گران باشد.

پیکربندی سرور فیزیکی: برای نصب Issabel بر روی سرور فیزیکی، ابتدا باید سیستم‌عامل و نرم‌افزارهای مورد نیاز را نصب کرده و سرور را پیکربندی کنید. به عنوان مثال، برای نصب CentOS 7 به‌عنوان سیستم‌عامل پایه، باید دستورهای زیر را اجرا کنید:

# به‌روزرسانی سیستم
yum update -y

# نصب پکیج‌های ضروری
yum install -y wget curl gcc make autoconf bzip2

# نصب Asterisk و سرویس‌های مورد نیاز
yum install -y asterisk asterisk-voicemail asterisk-sounds

این تنظیمات به‌طور معمول در سرورهای فیزیکی استفاده می‌شوند.


2. مزایا و معایب استفاده از ماشین مجازی

مزایا:

  • مقیاس‌پذیری راحت‌تر: ماشین‌های مجازی به شما این امکان را می‌دهند که به‌راحتی منابع را تغییر دهید یا تعداد سرورهای جدید اضافه کنید، بدون اینکه نیازی به خرید سخت‌افزار جدید باشد.
  • کاهش هزینه‌ها: ماشین‌های مجازی به شما این امکان را می‌دهند که چندین سیستم را روی یک سرور فیزیکی اجرا کنید. این امر موجب کاهش هزینه‌ها برای سخت‌افزار و فضای فیزیکی می‌شود.
  • انعطاف‌پذیری بیشتر: با استفاده از ماشین‌های مجازی می‌توانید سرورهای مجازی جدید بسازید و در صورت نیاز به‌راحتی آن‌ها را از بین ببرید. همچنین، قابلیت حمل‌پذیری میان سرورها فراهم می‌شود.

معایب:

  • عملکرد کمتری نسبت به سرور فیزیکی: استفاده از ماشین‌های مجازی می‌تواند بر عملکرد سیستم تأثیر بگذارد، زیرا منابع بین چندین VM تقسیم می‌شود و ممکن است منابع مورد نیاز برای پردازش‌های سنگین موجود نباشد.
  • محدودیت منابع: در صورتی که منابع سرور فیزیکی به اندازه کافی قوی نباشند، ممکن است با مشکلاتی در تخصیص منابع روبه‌رو شوید.

پیکربندی ماشین مجازی: برای نصب Issabel بر روی ماشین مجازی، باید یک hypervisor مانند VMware یا VirtualBox را نصب کنید و سپس یک ماشین مجازی جدید بسازید. پس از ایجاد ماشین مجازی، مراحل نصب و پیکربندی مشابه سرور فیزیکی است.

به‌طور مثال، برای نصب Issabel بر روی یک ماشین مجازی با استفاده از VMware، باید مراحل زیر را دنبال کنید:

  1. ساخت ماشین مجازی جدید:
    • از VMware vSphere یا VMware Workstation استفاده کنید.
    • یک ماشین مجازی با منابع مشخص مانند 2 هسته پردازنده، 4GB رم، و 40GB فضای دیسک ایجاد کنید.
  2. نصب سیستم‌عامل (CentOS 7):
    • سی‌دی نصب CentOS را به ماشین مجازی متصل کنید و فرآیند نصب را شروع کنید.
  3. پیکربندی Issabel: پس از نصب سیستم‌عامل، می‌توانید Issabel را همان‌طور که در سرور فیزیکی توضیح داده شد، نصب و پیکربندی کنید:
# نصب پکیج‌های ضروری
yum install -y wget curl gcc make autoconf bzip2

# نصب Asterisk
yum install -y asterisk

# نصب Issabel
yum install -y issabel

جمع‌بندی

انتخاب بین سرور فیزیکی یا ماشین مجازی بستگی به نیازهای خاص سازمان شما دارد. اگر عملکرد بالا، پایداری و استفاده از منابع اختصاصی اهمیت دارد، سرور فیزیکی گزینه بهتری است. اما اگر به مقیاس‌پذیری، کاهش هزینه‌ها و انعطاف‌پذیری نیاز دارید، استفاده از ماشین‌های مجازی می‌تواند گزینه مناسبی باشد. در هر دو حالت، پیکربندی صحیح سیستم‌عامل و نرم‌افزارهای ضروری برای اجرای Issabel ضروری است.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”تهیه نسخه‌های پشتیبان از داده‌ها قبل از نصب (در صورت نصب روی سیستم‌های موجود)” subtitle=”توضیحات کامل”]قبل از نصب Issabel روی یک سیستم موجود، اهمیت زیادی دارد که از تمامی داده‌ها، تنظیمات سیستم و پیکربندی‌ها نسخه پشتیبان تهیه کنید. این اقدام می‌تواند از از دست رفتن اطلاعات حیاتی جلوگیری کرده و امکان بازیابی سیستم به حالت قبلی در صورت بروز مشکل را فراهم کند. در این بخش، مراحل تهیه نسخه‌های پشتیبان قبل از نصب Issabel روی سیستم‌های موجود شرح داده می‌شود.


1. تهیه نسخه پشتیبان از سیستم‌عامل و پیکربندی‌ها

اولین قدم در تهیه نسخه پشتیبان، ایجاد کپی از تنظیمات سیستم‌عامل است. اگر سیستم شما قبلاً روی سرور فیزیکی یا ماشین مجازی دیگری نصب است و شما قصد دارید Issabel را روی آن نصب کنید، باید از تمامی فایل‌ها و پیکربندی‌های موجود نسخه پشتیبان تهیه کنید.

نصب و استفاده از ابزار rsync برای بکاپ‌گیری:

ابزار rsync یکی از بهترین ابزارهای لینوکس برای انجام بکاپ‌گیری است. با استفاده از rsync می‌توانید به‌راحتی فایل‌ها و دایرکتوری‌ها را از یک مکان به مکان دیگر کپی کنید.

برای نصب rsync (در صورت نبودن در سیستم):

# نصب rsync در CentOS / RHEL:
yum install -y rsync

# نصب rsync در Ubuntu / Debian:
apt-get install -y rsync
بکاپ‌گیری از دایرکتوری‌ها و فایل‌ها:

برای تهیه نسخه پشتیبان از دایرکتوری‌های مهم سیستم مانند /etc، /var و /home که شامل پیکربندی‌ها و داده‌های کاربری هستند، دستور rsync به‌صورت زیر استفاده می‌شود:

# بکاپ‌گیری از دایرکتوری‌های مهم سیستم:
rsync -av --progress /etc /home /var /backup-directory/

در اینجا، /backup-directory/ باید مسیر مقصدی باشد که نسخه پشتیبان در آن ذخیره خواهد شد.


2. تهیه نسخه پشتیبان از پایگاه‌های داده (Database Backups)

اگر روی سیستم‌تان پایگاه داده‌هایی مانند MySQL یا PostgreSQL اجرا می‌شود، باید از آن‌ها نیز نسخه پشتیبان تهیه کنید. برای این کار می‌توانید از ابزارهای مخصوص بکاپ‌گیری مانند mysqldump یا pg_dump استفاده کنید.

بکاپ‌گیری از پایگاه داده MySQL یا MariaDB:

برای تهیه نسخه پشتیبان از پایگاه داده MySQL یا MariaDB، از دستور mysqldump به شکل زیر استفاده کنید:

# بکاپ‌گیری از تمام پایگاه‌های داده MySQL یا MariaDB:
mysqldump --all-databases --single-transaction --quick --lock-tables=false > /backup-directory/mysql-backup.sql

در این دستور:

  • --all-databases تمام پایگاه‌های داده موجود را پشتیبان‌گیری می‌کند.
  • --single-transaction اطمینان می‌دهد که پایگاه داده در حین بکاپ‌گیری در حالت Consistent باقی بماند.
  • /backup-directory/mysql-backup.sql مسیر فایل بکاپ است که باید آن را مطابق با نیاز خود تغییر دهید.
بکاپ‌گیری از پایگاه داده PostgreSQL:

برای تهیه نسخه پشتیبان از پایگاه داده PostgreSQL، از دستور pg_dumpall استفاده می‌شود:

# بکاپ‌گیری از تمام پایگاه‌های داده PostgreSQL:
pg_dumpall > /backup-directory/postgresql-backup.sql

3. تهیه نسخه پشتیبان از تنظیمات شبکه و سرویس‌ها

اگر سیستم شما از سرویس‌های شبکه‌ای مانند Apache, Nginx, SSH, یا FTP استفاده می‌کند، باید تنظیمات پیکربندی این سرویس‌ها را نیز پشتیبان‌گیری کنید.

پشتیبان‌گیری از تنظیمات سرویس‌ها:
  1. تنظیمات Apache یا Nginx:
    • مسیرهای پیکربندی به‌طور معمول در /etc/httpd/ یا /etc/nginx/ قرار دارند.
    • دستور پشتیبان‌گیری:
      rsync -av /etc/httpd /etc/nginx /backup-directory/
      
  2. تنظیمات SSH:
    • پیکربندی SSH معمولاً در فایل /etc/ssh/sshd_config قرار دارد.
      rsync -av /etc/ssh/sshd_config /backup-directory/
      
  3. تنظیمات DNS یا DHCP:
    • فایل‌های پیکربندی DNS در /etc/named/ یا /etc/dhcp/ قرار دارند.
      rsync -av /etc/named /etc/dhcp /backup-directory/
      

4. تهیه نسخه پشتیبان از فایل‌های مهم کاربری

اگر سیستم شما شامل داده‌های کاربری مهم است، باید نسخه پشتیبان از این فایل‌ها نیز تهیه کنید. این فایل‌ها معمولاً در دایرکتوری‌های /home یا /var/www قرار دارند.

بکاپ‌گیری از داده‌های کاربری:
# بکاپ‌گیری از دایرکتوری‌های داده‌های کاربری:
rsync -av /home /var/www /backup-directory/

5. تهیه نسخه پشتیبان از پیکربندی‌های Issabel (در صورت نصب قبلی)

اگر سیستم شما قبلاً Issabel را نصب کرده است و می‌خواهید آن را دوباره نصب کنید، باید از تمام پیکربندی‌های Issabel نسخه پشتیبان تهیه کنید.

برای پشتیبان‌گیری از پیکربندی‌های Issabel، فایل‌های پیکربندی در مسیر /etc/asterisk/ قرار دارند. این فایل‌ها شامل تنظیمات VoIP و سایر پارامترهای مربوط به Asterisk می‌باشند.

# بکاپ‌گیری از فایل‌های پیکربندی Issabel:
rsync -av /etc/asterisk /backup-directory/

جمع‌بندی

تهیه نسخه پشتیبان از داده‌ها قبل از نصب Issabel روی سیستم‌های موجود یک اقدام حیاتی است. این فرآیند شامل پشتیبان‌گیری از تنظیمات سیستم‌عامل، پایگاه‌های داده، سرویس‌های شبکه، داده‌های کاربری و پیکربندی‌های Issabel می‌شود. استفاده از ابزارهایی مانند rsync و mysqldump برای بکاپ‌گیری از این فایل‌ها و پایگاه‌های داده به شما کمک می‌کند که در صورت بروز مشکل، به‌راحتی سیستم را بازیابی کنید و اطلاعات مهم خود را از دست ندهید.[/cdb_course_lesson][cdb_course_lesson title=”فصل 2. نصب سیستم‌عامل پایه (CentOS یا مشابه)”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”دانلود نسخه مناسب سیستم‌عامل (CentOS 7/8 یا دیگر توزیع‌های مناسب)” subtitle=”توضیحات کامل”]برای نصب Issabel، ابتدا باید نسخه مناسب سیستم‌عامل را انتخاب و دانلود کنید. Issabel به‌طور معمول روی توزیع‌های مختلف لینوکس مانند CentOS و Red Hat Enterprise Linux (RHEL) اجرا می‌شود. در این بخش، مراحل دانلود نسخه مناسب سیستم‌عامل و نصب آن برای Issabel شرح داده می‌شود.


1. انتخاب سیستم‌عامل مناسب برای نصب Issabel

بیشترین توزیع‌های لینوکس که برای نصب Issabel توصیه می‌شوند عبارتند از:

  • CentOS 7 یا 8: این نسخه‌ها بیشتر با Issabel سازگار هستند و پشتیبانی بهتری برای نرم‌افزارهای مورد نیاز دارند.
  • RHEL (Red Hat Enterprise Linux): اگر از یک توزیع تجاری استفاده می‌کنید، RHEL نیز گزینه مناسبی برای نصب Issabel است.

نکته: CentOS 8 به‌طور رسمی به پایان پشتیبانی رسید و از آن به بعد توصیه می‌شود از CentOS Stream یا نسخه‌های مشابه مانند AlmaLinux یا Rocky Linux استفاده کنید.


2. دانلود نسخه مناسب CentOS

برای نصب Issabel، نسخه مناسب CentOS را می‌توانید از وب‌سایت رسمی آن دانلود کنید. در اینجا روش‌های مختلف دانلود آورده شده است:

دانلود CentOS 7

برای دانلود CentOS 7، به سایت رسمی CentOS بروید و فایل ISO مربوطه را دانلود کنید.

دانلود CentOS Stream (برای نسخه‌های جدیدتر)

برای نصب روی نسخه‌های جدیدتر، می‌توانید CentOS Stream را دانلود کنید.


3. دانلود نسخه مناسب برای RHEL

اگر از RHEL استفاده می‌کنید، ابتدا باید از طریق اشتراک RHEL خود به سایت Red Hat وارد شوید و نسخه مناسب سیستم‌عامل را دانلود کنید.

  • لینک دانلود RHEL (برای ثبت‌نام و اشتراک): RHEL Download

4. دانلود و ساخت USB Bootable (برای نصب روی سرور فیزیکی)

برای نصب سیستم‌عامل روی سرور فیزیکی، بعد از دانلود فایل ISO، باید یک USB Bootable بسازید. برای این کار از ابزارهایی مانند Rufus یا dd استفاده کنید.

استفاده از Rufus (در ویندوز):
  1. دانلود و نصب Rufus: Rufus Download
  2. ساخت USB Bootable:
    • پس از نصب Rufus، USB Flash را به کامپیوتر متصل کرده و نرم‌افزار Rufus را باز کنید.
    • فایل ISO دانلود شده از CentOS را در Rufus انتخاب کنید.
    • گزینه‌های پیش‌فرض را تایید کرده و روی “Start” کلیک کنید.
استفاده از dd (در لینوکس):

اگر از لینوکس استفاده می‌کنید، می‌توانید از دستور dd برای ساخت USB Bootable استفاده کنید. دستور زیر را در ترمینال وارد کنید:

sudo dd if=/path/to/centos.iso of=/dev/sdX bs=4M status=progress

در این دستور، /path/to/centos.iso مسیر فایل ISO دانلودی است و /dev/sdX باید با دستگاه USB شما (مثلاً /dev/sdb) جایگزین شود.


5. مراحل نصب سیستم‌عامل روی سرور یا ماشین مجازی

پس از دانلود و ساخت USB Bootable، شما می‌توانید سیستم‌عامل را روی سرور فیزیکی یا ماشین مجازی نصب کنید.

نصب روی سرور فیزیکی:
  • سیستم را از USB Bootable بوت کنید.
  • نصب CentOS را از طریق دستورالعمل‌های روی صفحه آغاز کنید.
  • در حین نصب، تنظیمات زبان، منطقه، پارتیشن‌بندی و شبکه را انجام دهید.
نصب روی ماشین مجازی:
  • از نرم‌افزارهایی مانند VirtualBox یا VMware برای ایجاد یک ماشین مجازی جدید استفاده کنید.
  • فایل ISO دانلود شده را به عنوان رسانه نصب در ماشین مجازی بارگذاری کنید.
  • سیستم را از ISO بوت کرده و دستورالعمل‌های نصب را دنبال کنید.

جمع‌بندی

برای نصب Issabel، انتخاب و دانلود نسخه مناسب سیستم‌عامل از اهمیت بالایی برخوردار است. CentOS 7 یا 8، و همچنین CentOS Stream گزینه‌های پیشنهادی برای نصب هستند. پس از دانلود فایل ISO، شما می‌توانید از ابزارهایی مانند Rufus یا dd برای ساخت USB Bootable استفاده کنید و سپس سیستم‌عامل را روی سرور فیزیکی یا ماشین مجازی نصب کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”مراحل نصب سیستم‌عامل بر روی سرور یا ماشین مجازی” subtitle=”توضیحات کامل”]برای نصب سیستم‌عامل بر روی سرور فیزیکی یا ماشین مجازی، ابتدا باید فایل ISO سیستم‌عامل (CentOS یا هر توزیع لینوکس دیگری) را دانلود کرده و USB Bootable بسازید. سپس مراحل نصب را دنبال کنید. در این بخش، مراحل نصب سیستم‌عامل بر روی هر دو نوع سرور فیزیکی و ماشین مجازی شرح داده می‌شود.


1. نصب سیستم‌عامل بر روی سرور فیزیکی

الف) آماده‌سازی USB Bootable

قبل از هر چیزی، باید USB Bootable را ایجاد کنید. برای این کار، فایل ISO سیستم‌عامل (CentOS یا دیگر توزیع‌های مناسب) را از سایت رسمی دانلود کرده و با استفاده از ابزارهایی مانند Rufus (برای ویندوز) یا dd (برای لینوکس) یک USB Bootable بسازید.

استفاده از Rufus (در ویندوز):

  • دانلود و نصب Rufus: Rufus Download
  • ساخت USB Bootable:
    • USB Flash را به کامپیوتر متصل کنید و نرم‌افزار Rufus را باز کنید.
    • فایل ISO دانلود شده را در Rufus انتخاب کنید.
    • تنظیمات پیش‌فرض را تایید کرده و روی “Start” کلیک کنید.

استفاده از dd (در لینوکس):

sudo dd if=/path/to/centos.iso of=/dev/sdX bs=4M status=progress

در این دستور، /path/to/centos.iso مسیر فایل ISO و /dev/sdX دستگاه USB است.


ب) نصب سیستم‌عامل

بعد از ایجاد USB Bootable، مراحل نصب سیستم‌عامل روی سرور فیزیکی به شرح زیر است:

  1. بوت از USB:
    • USB Flash را به سرور متصل کنید.
    • سیستم را روشن کنید و وارد BIOS یا UEFI شوید (با فشردن کلید‌هایی مانند F2، ESC یا DEL در هنگام راه‌اندازی).
    • ترتیب بوت را تغییر دهید تا سیستم از USB بوت شود.
  2. شروع نصب سیستم‌عامل:
    • پس از بوت شدن، صفحه نصب سیستم‌عامل نمایش داده می‌شود.
    • گزینه “Install CentOS” را انتخاب کنید.
    • تنظیمات زبان، منطقه و کیبورد را انتخاب کنید.
  3. پارتیشن‌بندی دیسک‌ها:
    • در مرحله پارتیشن‌بندی، گزینه “Automatic” را انتخاب کنید یا می‌توانید پارتیشن‌بندی دستی انجام دهید.
    • انتخاب کنید که سیستم به صورت یکپارچه یا جداگانه نصب شود.
  4. تنظیمات شبکه:
    • تنظیمات شبکه مانند آدرس IP، DNS و Gateway را وارد کنید.
    • اطمینان حاصل کنید که شبکه به درستی پیکربندی شده باشد.
  5. انتخاب نرم‌افزار و بسته‌ها:
    • می‌توانید انتخاب کنید که کدام بسته‌های نرم‌افزاری در طول نصب نصب شوند. معمولاً انتخاب گزینه “Minimal Install” برای سیستم‌های سرور توصیه می‌شود.
  6. پیکربندی سیستم‌عامل:
    • تنظیمات کاربر و رمز عبور را برای حساب root و کاربران دیگر وارد کنید.
    • پس از اتمام نصب، سیستم‌عامل به‌طور خودکار راه‌اندازی می‌شود.
  7. ریستارت و شروع استفاده:
    • پس از نصب، سیستم را ریستارت کرده و USB را از سیستم جدا کنید.
    • سیستم‌عامل نصب‌شده آماده استفاده است.

2. نصب سیستم‌عامل بر روی ماشین مجازی

الف) ایجاد ماشین مجازی

برای نصب سیستم‌عامل روی ماشین مجازی، از نرم‌افزارهایی مانند VirtualBox یا VMware استفاده می‌شود.

  1. نصب نرم‌افزار ماشین مجازی:
    • برای نصب VirtualBox، به سایت VirtualBox Download مراجعه کرده و نسخه مناسب سیستم‌عامل خود را دانلود کنید.
    • پس از دانلود، نرم‌افزار را نصب کنید.
  2. ایجاد ماشین مجازی جدید:
    • نرم‌افزار VirtualBox را باز کنید و روی گزینه “New” کلیک کنید.
    • یک نام برای ماشین مجازی وارد کرده و نوع سیستم‌عامل (Linux) و نسخه (CentOS) را انتخاب کنید.
    • میزان حافظه (RAM) را تنظیم کنید (حداقل 1GB برای نصب CentOS توصیه می‌شود).
  3. پیکربندی هارد دیسک مجازی:
    • در مرحله بعد، یک دیسک سخت مجازی (VDI) ایجاد کنید.
    • اندازه دیسک را انتخاب کنید (حداقل 10GB فضای آزاد پیشنهاد می‌شود).
  4. انتخاب فایل ISO:
    • پس از ایجاد ماشین مجازی، روی آن کلیک راست کرده و گزینه “Settings” را انتخاب کنید.
    • در بخش “Storage”، دیسک CD/DVD را انتخاب کرده و فایل ISO دانلودی از CentOS را بارگذاری کنید.

ب) نصب سیستم‌عامل

پس از تنظیمات ماشین مجازی، مراحل نصب مشابه نصب روی سرور فیزیکی خواهد بود:

  1. راه‌اندازی ماشین مجازی:
    • ماشین مجازی را روشن کرده و از فایل ISO بوت می‌شود.
  2. شروع نصب سیستم‌عامل:
    • مانند نصب روی سرور فیزیکی، مراحل نصب سیستم‌عامل را دنبال کنید.
    • انتخاب زبان، پارتیشن‌بندی و تنظیمات شبکه مشابه مراحل نصب سرور فیزیکی است.
  3. پیکربندی و نصب:
    • تنظیمات مربوط به پارتیشن‌بندی، شبکه و بسته‌های نرم‌افزاری را انجام دهید.
    • پس از اتمام نصب، ماشین مجازی را ریستارت کنید.

جمع‌بندی

برای نصب سیستم‌عامل روی سرور فیزیکی یا ماشین مجازی، ابتدا باید USB Bootable بسازید. سپس سیستم‌عامل را از طریق بوت نصب کنید. مراحل نصب شامل تنظیمات زبان، پارتیشن‌بندی دیسک‌ها، تنظیمات شبکه و پیکربندی سیستم‌عامل است. در نهایت، سیستم را ریستارت کرده و آماده استفاده می‌شود.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”پیکربندی اولیه سیستم‌عامل (IP ثابت، DNS و Gateway)” subtitle=”توضیحات کامل”]برای پیکربندی IP ثابت، DNS و Gateway در سیستم‌عامل‌های مبتنی بر لینوکس (مانند CentOS یا RHEL) باید فایل‌های پیکربندی شبکه را ویرایش کرده و سرویس شبکه را ریستارت کنید. در این بخش، دستورالعمل‌های کامندی برای تنظیمات شبکه، DNS و Gateway آورده شده است.


1. تنظیم IP ثابت (Static IP)

الف) ویرایش فایل پیکربندی شبکه

در سیستم‌های CentOS یا RHEL، تنظیمات شبکه در فایل‌های موجود در مسیر /etc/sysconfig/network-scripts/ قرار دارد. برای تنظیم IP ثابت، باید فایل پیکربندی مربوط به رابط شبکه (interface) را ویرایش کنید.

دستور برای ویرایش فایل پیکربندی:

sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

ب) تنظیمات IP ثابت

در این فایل، تنظیمات مربوط به IP ثابت را به شکل زیر وارد کنید:

DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100      # IP ثابت دلخواه
NETMASK=255.255.255.0     # Subnet Mask
GATEWAY=192.168.1.1      # Gateway
DNS1=8.8.8.8             # DNS اصلی
DNS2=8.8.4.4             # DNS دوم

توضیح موارد:

  • DEVICE=eth0: نام رابط شبکه (ممکن است بسته به نام رابط، تغییر کند).
  • BOOTPROTO=static: به این معنی است که IP به صورت ثابت (Static) تنظیم شده است.
  • ONBOOT=yes: شبکه در هنگام بوت سیستم فعال می‌شود.
  • IPADDR: آدرس IP ثابت که می‌خواهید به دستگاه اختصاص دهید.
  • NETMASK: Subnet Mask برای شبکه.
  • GATEWAY: Gateway پیش‌فرض برای دسترسی به شبکه‌های خارجی.
  • DNS1 و DNS2: DNSهایی که برای نام‌گذاری دامنه‌ها استفاده می‌شود.

ج) ذخیره تغییرات

پس از ویرایش فایل، تغییرات را ذخیره کنید و از ویرایشگر خارج شوید. در ویرایشگر vi، برای ذخیره و خروج از فایل، کلیدهای زیر را بزنید:

  1. فشردن Esc
  2. تایپ :wq و فشردن Enter

2. تنظیم DNS

الف) ویرایش فایل resolv.conf برای تنظیم DNS

برای تنظیم DNS، فایل /etc/resolv.conf را باید ویرایش کنید. این فایل شامل اطلاعات مربوط به DNS سرورها است.

دستور برای ویرایش فایل resolv.conf:

sudo vi /etc/resolv.conf

ب) تنظیم DNS

در این فایل، DNSهای موردنظر را اضافه کنید:

nameserver 8.8.8.8    # DNS اصلی
nameserver 8.8.4.4    # DNS دوم

ج) ذخیره تغییرات

تغییرات را ذخیره کرده و از ویرایشگر خارج شوید (مثل دستور قبل).


3. تنظیم Gateway پیش‌فرض

الف) پیکربندی Gateway در فایل network-scripts

در فایل /etc/sysconfig/network-scripts/ifcfg-eth0 که در ابتدا ویرایش کرده‌ایم، برای تنظیم Gateway، باید مقدار GATEWAY را مشخص کنید. در صورتی که تنظیمات IP ثابت انجام شده باشد، Gateway معمولاً در همین فایل پیکربندی می‌شود.

ب) ریستارت شبکه برای اعمال تغییرات

برای اعمال تغییرات، باید سرویس شبکه را ریستارت کنید. این کار با دستور زیر انجام می‌شود:

sudo systemctl restart network

ج) بررسی پیکربندی

برای اطمینان از اینکه تنظیمات به درستی اعمال شده است، می‌توانید وضعیت شبکه را با استفاده از دستور ip یا ifconfig بررسی کنید.

دستور برای بررسی تنظیمات IP و Gateway:

ip addr show

برای بررسی گیت‌وی:

ip route show

جمع‌بندی

پیکربندی IP ثابت، DNS و Gateway در سیستم‌عامل‌های لینوکس نیاز به ویرایش فایل‌های پیکربندی مربوطه دارد. ابتدا فایل پیکربندی شبکه /etc/sysconfig/network-scripts/ifcfg-eth0 برای تنظیم IP ثابت و Gateway و سپس فایل /etc/resolv.conf برای تنظیم DNSها ویرایش می‌شود. پس از ذخیره تغییرات، باید سرویس شبکه را ریستارت کرده و با استفاده از دستورات ip addr show و ip route show وضعیت شبکه بررسی گردد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”به‌روزرسانی و نصب پکیج‌های ضروری (بسته‌های ضروری برای نصب Issabel)” subtitle=”توضیحات کامل”]برای نصب Issabel و استفاده از قابلیت‌های آن، سیستم شما باید دارای پکیج‌های ضروری باشد. در این بخش، مراحل به‌روزرسانی سیستم و نصب پکیج‌های ضروری مانند Apache, PHP, MariaDB و دیگر بسته‌های مورد نیاز توضیح داده شده است. تمامی دستورات به صورت کامندی نوشته می‌شوند و مسیر فایل‌های پیکربندی ذکر خواهد شد.


1. به‌روزرسانی سیستم

قبل از نصب پکیج‌ها، مهم است که سیستم به‌روز باشد تا از آخرین نسخه‌های پکیج‌ها و اصلاحات امنیتی استفاده کنید. برای به‌روزرسانی سیستم در CentOS و RHEL، دستور زیر را وارد کنید:

دستور به‌روزرسانی سیستم:

sudo yum update -y

این دستور سیستم را به آخرین نسخه‌های موجود به‌روزرسانی می‌کند.


2. نصب پکیج‌های ضروری برای Issabel

برای نصب Issabel، به پکیج‌های متعددی مانند Apache، PHP، MariaDB و پکیج‌های دیگر نیاز دارید. مراحل نصب هرکدام از این پکیج‌ها به صورت جداگانه آورده شده است.

الف) نصب Apache (وب سرور)

برای نصب Apache در سیستم، از دستور زیر استفاده کنید:

دستور نصب Apache:

sudo yum install httpd -y

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

sudo systemctl enable httpd
sudo systemctl start httpd

ب) نصب PHP

Issabel به نسخه‌ای از PHP نیاز دارد که قابلیت تعامل با Apache و MariaDB را داشته باشد. برای نصب PHP و برخی از ماژول‌های ضروری آن، دستور زیر را وارد کنید:

دستور نصب PHP و ماژول‌ها:

sudo yum install php php-cli php-common php-mysqlnd php-mbstring php-xml php-pdo php-gd -y

ج) نصب MariaDB (بانک اطلاعاتی)

Issabel از MariaDB برای ذخیره‌سازی داده‌ها استفاده می‌کند. برای نصب MariaDB، دستور زیر را وارد کنید:

دستور نصب MariaDB:

sudo yum install mariadb-server mariadb -y

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

sudo systemctl enable mariadb
sudo systemctl start mariadb

د) نصب پکیج‌های ضروری دیگر

بسته‌های اضافی که ممکن است برای پیکربندی Issabel به آن‌ها نیاز داشته باشید را می‌توان با دستور زیر نصب کرد:

دستور نصب پکیج‌های ضروری:

sudo yum install wget curl unzip net-tools -y

3. بررسی نصب پکیج‌ها

پس از نصب پکیج‌ها، می‌توانید با استفاده از دستورات زیر بررسی کنید که آیا پکیج‌ها به درستی نصب شده‌اند یا خیر.

دستور بررسی نصب Apache:

httpd -v

دستور بررسی نصب PHP:

php -v

دستور بررسی نصب MariaDB:

mysql -V

4. پیکربندی فایل‌ها و تنظیمات

برای پیکربندی اولیه Apache و MariaDB برای Issabel، نیاز به ویرایش فایل‌های پیکربندی خواهیم داشت.

الف) پیکربندی Apache

برای اطمینان از عملکرد صحیح Apache با Issabel، باید فایل پیکربندی Apache را ویرایش کنید.

ویرایش فایل پیکربندی Apache:

sudo vi /etc/httpd/conf/httpd.conf

در این فایل، اطمینان حاصل کنید که تنظیمات زیر به درستی وارد شده است:

  • ServerName باید با آدرس IP یا نام دامنه شما تنظیم شده باشد.
  • مطمئن شوید که فایروال اجازه دسترسی به پورت 80 (HTTP) و 443 (HTTPS) را می‌دهد.

ب) پیکربندی MariaDB

MariaDB باید برای استفاده با Issabel پیکربندی شود. اولین قدم تنظیمات امنیتی MariaDB است که می‌توان با دستور زیر انجام داد:

تنظیمات امنیتی اولیه برای MariaDB:

sudo mysql_secure_installation

در این مرحله، از شما خواسته می‌شود که پسورد ریشه (root) را تنظیم کنید و دیگر تنظیمات امنیتی را اعمال کنید.


جمع‌بندی

برای نصب Issabel و راه‌اندازی سیستم به صورت صحیح، باید ابتدا سیستم را به‌روزرسانی کنید و سپس پکیج‌های ضروری مانند Apache، PHP، MariaDB و پکیج‌های جانبی را نصب کنید. پس از نصب پکیج‌ها، تنظیمات مربوط به Apache و MariaDB باید پیکربندی شوند تا هماهنگ با نیازهای Issabel عمل کنند. همچنین، باید فایل‌های پیکربندی را ویرایش کرده و سرویس‌ها را ریستارت کنید تا تغییرات اعمال شوند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 3. نصب Issabel”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”دانلود نسخه مناسب Issabel از سایت رسمی” subtitle=”توضیحات کامل”]برای شروع نصب Issabel، باید نسخه مناسب از سایت رسمی آن دانلود شود. در این بخش، مراحل دانلود و انتخاب نسخه مناسب شرح داده شده است.


1. بازدید از سایت رسمی Issabel

برای دانلود آخرین نسخه Issabel، به وب‌سایت رسمی آن مراجعه کنید. لینک مستقیم برای دانلود نسخه‌ها در سایت موجود است.

آدرس سایت رسمی Issabel: https://www.issabel.org/download/

2. انتخاب نسخه مناسب برای سیستم‌عامل

قبل از دانلود، باید نسخه مناسب برای سیستم‌عامل خود را انتخاب کنید. Issabel معمولاً برای نسخه‌های مختلف CentOS و RHEL منتشر می‌شود. نسخه‌ای را انتخاب کنید که با سیستم‌عامل شما سازگار باشد.

الف) نسخه‌های قابل انتخاب:

  • CentOS 7/8: نسخه‌های این سیستم‌عامل معمولاً برای نصب Issabel مناسب هستند.
  • دیگر توزیع‌ها: اگر از توزیع‌های دیگر مانند Debian یا Ubuntu استفاده می‌کنید، ممکن است نیاز به پیکربندی‌های اضافی داشته باشید.

3. دانلود نسخه ISO

پس از انتخاب نسخه مناسب، می‌توانید فایل ISO آن را برای نصب دانلود کنید. لینک دانلود برای نسخه‌های مختلف به صورت مستقیم در سایت رسمی موجود است. پس از دانلود فایل ISO، آن را به یک USB یا دیسک برای نصب روی سرور یا ماشین مجازی انتقال دهید.


4. تأیید نسخه دانلود شده

پس از دانلود، بهتر است که نسخه‌ای که دریافت کرده‌اید را بررسی کنید تا مطمئن شوید که فایل به درستی دانلود شده است. برای این کار، از دستور sha256sum برای بررسی صحت فایل ISO استفاده کنید.

دستور بررسی فایل ISO:

sha256sum /path/to/your/downloaded/iso

مقدار هش بدست آمده باید با مقدار هش ارائه‌شده در سایت رسمی Issabel مطابقت داشته باشد.


جمع‌بندی

برای نصب Issabel، ابتدا باید نسخه مناسب از سایت رسمی آن دانلود شود. این نسخه باید با سیستم‌عامل شما سازگار باشد و پس از دانلود، فایل ISO برای نصب آماده شود. برای اطمینان از صحت دانلود، از دستور بررسی هش استفاده کنید تا فایل دریافتی معتبر باشد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”نصب از طریق دستورهای خط فرمان یا با استفاده از اسکریپت‌های نصب” subtitle=”توضیحات کامل”]برای نصب Issabel، شما می‌توانید از دو روش استفاده کنید: نصب از طریق دستورهای خط فرمان یا با استفاده از اسکریپت‌های نصب که به‌طور خودکار پیکربندی‌ها و تنظیمات را انجام می‌دهند. در این بخش، نحوه نصب از هر دو روش توضیح داده خواهد شد.


1. نصب با استفاده از دستورهای خط فرمان

اولین روش برای نصب Issabel، استفاده از دستورات خط فرمان است. این روش مناسب برای کاربرانی است که تمایل دارند نصب و پیکربندی را به‌صورت دستی و کنترل‌شده انجام دهند.

مراحل نصب:

  1. آپدیت سیستم: قبل از شروع، بهتر است سیستم را با استفاده از دستورات زیر آپدیت کنید:
    yum update -y
    
  2. نصب پیش‌نیازها: برای نصب Issabel، نیاز به برخی پکیج‌ها دارید که باید آن‌ها را نصب کنید:
    yum install -y wget net-tools perl
    
  3. دانلود فایل نصب Issabel: پس از نصب پیش‌نیازها، باید فایل ISO یا بسته نصب Issabel را از سایت رسمی دانلود کنید. برای این کار، از دستور wget استفاده کنید:
    wget https://www.issabel.org/download/issabel-latest.iso
    
  4. نصب Issabel: فایل ISO را به طور کامل دانلود کرده و آن را به دیسک بوت‌پذیر یا USB منتقل کنید. سپس سیستم را از طریق دیسک یا USB راه‌اندازی کنید و مراحل نصب را به طور خودکار دنبال کنید.

2. نصب با استفاده از اسکریپت‌های نصب

نصب Issabel از طریق اسکریپت‌های نصب روشی سریع و راحت برای نصب است که تمام مراحل نصب و پیکربندی را به‌طور خودکار انجام می‌دهد.

مراحل نصب با اسکریپت:

  1. دانلود اسکریپت نصب: اسکریپت نصب Issabel را از سایت رسمی یا منابع معتبر دانلود کنید.
    wget https://www.issabel.org/download/issabel-installer.sh
    
  2. اجرا اسکریپت نصب: پس از دانلود، اسکریپت را با دستورات زیر اجرا کنید:
    chmod +x issabel-installer.sh
    ./issabel-installer.sh
    
  3. پیکربندی خودکار: اسکریپت به طور خودکار نصب را انجام داده و تمام پیکربندی‌های لازم را طبق تنظیمات پیش‌فرض انجام می‌دهد. این شامل تنظیمات شبکه، نصب سرویس‌ها و پیکربندی نرم‌افزارهای لازم است.

جمع‌بندی

در نصب Issabel، می‌توان از دو روش استفاده کرد: نصب از طریق دستورهای خط فرمان که شامل مراحل دستی است و نصب از طریق اسکریپت‌های نصب که پیکربندی‌ها را به‌طور خودکار انجام می‌دهد. نصب از طریق دستور خط فرمان نیاز به کنترل بیشتر روی جزئیات نصب دارد، در حالی که اسکریپت نصب، فرآیند را به‌صورت خودکار و سریع انجام می‌دهد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”بررسی پیش‌نیازها و وابستگی‌های نصب (نصب نرم‌افزارهای وابسته مانند Asterisk)” subtitle=”توضیحات کامل”]برای نصب Issabel به‌طور صحیح و بدون مشکل، لازم است که برخی نرم‌افزارهای وابسته به درستی نصب شوند. یکی از اصلی‌ترین وابستگی‌ها، Asterisk است که یک سیستم VoIP است و برای عملکرد صحیح Issabel به آن نیاز است. در این بخش، پیش‌نیازها و وابستگی‌های ضروری برای نصب Issabel بررسی می‌شوند.


1. پیش‌نیازهای عمومی

قبل از شروع نصب Issabel، اطمینان حاصل کنید که سیستم شما دارای پیش‌نیازهای زیر است:

  • سیستم‌عامل: CentOS 7/8 یا هر توزیع Linux مشابه
  • فضای ذخیره‌سازی: حداقل 10 گیگابایت فضای آزاد
  • حافظه: حداقل 2 گیگابایت RAM
  • پردازنده: پردازنده حداقل 1 هسته‌ای 1.5 GHz

نصب پکیج‌های ضروری:

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

yum install -y wget net-tools perl

این پکیج‌ها برای نصب نرم‌افزارهای وابسته به Issabel ضروری هستند.

2. نصب Asterisk

Asterisk یکی از اجزای ضروری برای عملکرد Issabel است. Asterisk یک سرویس VoIP است که برای برقراری تماس‌ها و مدیریت اتصالات استفاده می‌شود. برای نصب Asterisk، مراحل زیر را دنبال کنید:

مراحل نصب Asterisk:

  1. نصب پیش‌نیازهای Asterisk:Asterisk نیاز به برخی از ابزارها و کتابخانه‌ها دارد. ابتدا این پیش‌نیازها را نصب کنید:
    yum install -y gcc gcc-c++ make libxml2-devel ncurses-devel libjpeg-devel
    
  2. دانلود Asterisk:پس از نصب پیش‌نیازها، باید Asterisk را از وب‌سایت رسمی دانلود کنید:
    wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16.9.0.tar.gz
    
  3. استخراج فایل:فایل فشرده دانلود شده را استخراج کنید:
    tar xzvf asterisk-16.9.0.tar.gz
    cd asterisk-16.9.0
    
  4. ساخت و نصب Asterisk:حالا زمان آن است که Asterisk را بسازید و نصب کنید. از دستور زیر برای این کار استفاده کنید:
    ./configure
    make
    make install
    
  5. تنظیمات اولیه Asterisk:پس از نصب Asterisk، نیاز به پیکربندی اولیه آن است. می‌توانید فایل پیکربندی asterisk.conf را ویرایش کنید تا تنظیمات شبکه و اجزای دیگر را تعیین کنید:مسیر فایل پیکربندی:
    /etc/asterisk/asterisk.conf
    

    برای ویرایش فایل:

    nano /etc/asterisk/asterisk.conf
    

    در این فایل می‌توانید تنظیمات مانند نام کاربری، گروه و محل ذخیره فایل‌ها را مشخص کنید.

3. نصب سایر نرم‌افزارهای وابسته

علاوه بر Asterisk، برخی نرم‌افزارها و ابزارهای دیگر نیز ممکن است برای نصب Issabel ضروری باشند. این ابزارها شامل پایگاه داده‌ها و نرم‌افزارهای مربوط به ارتباطات است.

نصب MariaDB (پایگاه داده):

برای ذخیره‌سازی داده‌ها، Issabel نیاز به یک پایگاه داده دارد. MariaDB یک پایگاه داده رایگان و قدرتمند است که باید نصب شود.

  1. نصب MariaDB:برای نصب MariaDB، از دستور زیر استفاده کنید:
    yum install -y mariadb-server
    
  2. راه‌اندازی MariaDB:پس از نصب، MariaDB را شروع کنید و آن را فعال کنید:
    systemctl start mariadb
    systemctl enable mariadb
    

نصب PHP (برای رابط وب‌کاربری Issabel):

برای استفاده از رابط وب‌کاربری Issabel، به PHP نیاز دارید. برای نصب PHP، دستور زیر را اجرا کنید:

yum install -y php php-mysql php-mbstring

جمع‌بندی

برای نصب Issabel، باید نرم‌افزارهای وابسته‌ای همچون Asterisk، MariaDB و PHP را نصب کنید. Asterisk به‌عنوان یک نرم‌افزار VoIP ضروری است که برای مدیریت تماس‌ها و ارتباطات به‌کار می‌رود. همچنین، MariaDB برای ذخیره‌سازی داده‌ها و PHP برای فراهم آوردن رابط وب‌کاربری استفاده می‌شود. نصب این نرم‌افزارها نیاز به پیکربندی‌های خاصی دارد که باید طبق دستورالعمل‌ها انجام شود تا سیستم به درستی راه‌اندازی شود.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”راه‌اندازی خودکار پس از نصب Issabel و بررسی وضعیت نصب” subtitle=”توضیحات کامل”]پس از نصب Issabel، نیاز است که سیستم به‌صورت خودکار پس از بوت شدن راه‌اندازی شود و بررسی‌هایی صورت گیرد تا اطمینان حاصل شود که همه‌چیز به درستی نصب و پیکربندی شده است. در این بخش، مراحل راه‌اندازی خودکار و بررسی وضعیت نصب Issabel به تفصیل شرح داده می‌شود.


1. راه‌اندازی خودکار Issabel پس از بوت شدن سیستم

برای اطمینان از اینکه Issabel پس از راه‌اندازی سیستم به‌طور خودکار اجرا شود، باید سرویس‌های مربوطه به‌صورت خودکار فعال شوند. این کار با استفاده از دستور systemctl انجام می‌شود. برای انجام این تنظیمات، مراحل زیر را دنبال کنید.

تنظیمات سیستم برای راه‌اندازی خودکار

  1. فعال کردن سرویس‌های Issabel:ابتدا باید سرویس‌های Issabel مانند Asterisk و سرویس‌های مرتبط دیگر را برای راه‌اندازی خودکار پس از بوت شدن سیستم فعال کنید. دستور زیر را برای این کار وارد کنید:
    systemctl enable asterisk
    systemctl enable httpd
    systemctl enable mysqld
    

    این دستورات باعث می‌شوند که سرویس‌های asterisk (برای VoIP)، httpd (برای وب سرور Issabel) و mysqld (برای پایگاه داده) به‌طور خودکار پس از راه‌اندازی سیستم اجرا شوند.

  2. راه‌اندازی مجدد سیستم:پس از انجام تنظیمات، سیستم را ری‌استارت کنید تا تغییرات اعمال شوند:
    reboot
    
  3. بررسی وضعیت سرویس‌ها:پس از راه‌اندازی مجدد سیستم، برای بررسی اینکه سرویس‌ها به درستی راه‌اندازی شده‌اند یا خیر، از دستور systemctl status استفاده کنید:
    systemctl status asterisk
    systemctl status httpd
    systemctl status mysqld
    

    این دستورات وضعیت هر سرویس را نشان می‌دهند و می‌توانید از آن‌ها برای اطمینان از عملکرد صحیح سرویس‌ها استفاده کنید.


2. بررسی وضعیت نصب Issabel

پس از نصب Issabel و فعال‌سازی سرویس‌ها، لازم است که وضعیت نصب بررسی شود تا اطمینان حاصل شود که تمام اجزای سیستم به‌درستی کار می‌کنند.

بررسی وضعیت Asterisk

برای بررسی وضعیت Asterisk و مطمئن شدن از اینکه سرویس Asterisk در حال اجراست، می‌توانید از دستور زیر استفاده کنید:

asterisk -rx "core show version"

این دستور نسخه Asterisk را نمایش می‌دهد و نشان می‌دهد که آیا Asterisk به‌درستی نصب شده است یا خیر.

بررسی وضعیت وب‌سرور (HTTPD)

برای بررسی وضعیت وب‌سرور Issabel، باید بررسی کنید که سرویس httpd در حال اجرا باشد. برای این کار، از دستور زیر استفاده کنید:

systemctl status httpd

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

Active: active (running) since ...

بررسی وضعیت پایگاه داده (MariaDB)

برای بررسی وضعیت پایگاه داده MariaDB، از دستور زیر استفاده کنید:

systemctl status mariadb

اگر پایگاه داده به‌درستی فعال باشد، وضعیت آن باید active (running) باشد.

دسترسی به رابط وب Issabel

پس از اطمینان از راه‌اندازی صحیح سرویس‌ها، می‌توانید به رابط وب Issabel دسترسی پیدا کنید. مرورگر خود را باز کرده و آدرس آی‌پی سرور خود را وارد کنید:

http://<IP-Server>

اگر نصب و پیکربندی به درستی انجام شده باشد، باید صفحه ورود Issabel نمایش داده شود.


3. اطمینان از عملکرد صحیح سیستم

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

  • بررسی لاگ‌ها: بررسی فایل‌های لاگ می‌تواند به شناسایی مشکلات کمک کند. برای مشاهده لاگ‌های Asterisk، دستور زیر را وارد کنید:
    tail -f /var/log/asterisk/full
    
  • بررسی وضعیت شبکه: اطمینان حاصل کنید که شبکه به درستی پیکربندی شده باشد و سرویس‌های شبکه (مانند DNS، Gateway) به‌درستی کار کنند.برای بررسی وضعیت شبکه، از دستور زیر استفاده کنید:
    ifconfig
    

    این دستور اطلاعات مربوط به وضعیت شبکه را نمایش می‌دهد.


جمع‌بندی

پس از نصب Issabel، برای راه‌اندازی خودکار سیستم پس از بوت شدن باید سرویس‌های مربوطه را با استفاده از systemctl enable فعال کنید. همچنین، پس از راه‌اندازی سیستم، با استفاده از دستورات مختلف می‌توانید وضعیت سرویس‌ها مانند Asterisk، HTTPD و MariaDB را بررسی کنید. برای اطمینان از عملکرد صحیح سیستم، بررسی لاگ‌ها و وضعیت شبکه نیز پیشنهاد می‌شود.[/cdb_course_lesson][cdb_course_lesson title=”فصل 4. پیکربندی تنظیمات اولیه پس از نصب”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”ورود به رابط کاربری گرافیکی Issabel” subtitle=”توضیحات کامل”]رابط کاربری گرافیکی Issabel به شما این امکان را می‌دهد که مدیریت سیستم، پیکربندی‌ها، و تنظیمات مختلف را به راحتی انجام دهید. برای دسترسی به این رابط کاربری، شما باید ابتدا سیستم را به درستی نصب کرده و اطمینان حاصل کنید که سرویس‌های مورد نیاز در حال اجرا هستند. در این بخش، مراحل ورود به رابط کاربری گرافیکی Issabel توضیح داده خواهد شد.


1. اطمینان از اجرای سرویس‌های وب و شبکه

قبل از اینکه بتوانید وارد رابط کاربری گرافیکی Issabel شوید، باید اطمینان حاصل کنید که سرویس وب (HTTPD) به درستی راه‌اندازی شده و در دسترس است.

بررسی وضعیت سرویس HTTPD

برای بررسی وضعیت سرویس وب سرور Issabel، از دستور زیر استفاده کنید:

systemctl status httpd

اگر سرویس HTTPD به درستی در حال اجرا باشد، باید پیامی مشابه به این دریافت کنید:

Active: active (running) since ...

اگر سرویس HTTPD در حال اجرا نیست، می‌توانید آن را با استفاده از دستور زیر راه‌اندازی کنید:

systemctl start httpd

همچنین می‌توانید سرویس HTTPD را برای شروع خودکار در هر بار بوت کردن سیستم فعال کنید:

systemctl enable httpd

2. دسترسی به رابط کاربری از طریق مرورگر وب

برای دسترسی به رابط کاربری گرافیکی Issabel، باید از مرورگر وب استفاده کنید و آدرس آی‌پی سرور Issabel را وارد کنید. فرض کنید آی‌پی سرور شما 192.168.1.100 باشد، در این صورت URL به صورت زیر خواهد بود:

http://192.168.1.100

با وارد کردن این آدرس در نوار آدرس مرورگر خود، باید صفحه ورود به رابط کاربری Issabel ظاهر شود.


3. ورود به رابط کاربری

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

  • نام کاربری: admin
  • کلمه عبور: admin

اطلاعات ورود را وارد کرده و سپس بر روی دکمه “Login” کلیک کنید تا به داشبورد Issabel منتقل شوید.


4. تنظیمات و پیکربندی‌ها از طریق رابط کاربری

پس از ورود به رابط کاربری Issabel، می‌توانید تنظیمات مختلف سیستم را از طریق منوهای موجود پیکربندی کنید. برخی از گزینه‌های مهم که می‌توانید از طریق رابط گرافیکی تنظیم کنید عبارتند از:

  • پیکربندی SIP Trunks
  • مدیریت تماس‌ها (Call Routing)
  • مدیریت کاربران و گروه‌های تماس
  • تنظیمات امنیتی
  • گزارشات و لاگ‌ها

5. دسترسی به رابط کاربری از راه دور

اگر نیاز به دسترسی به رابط کاربری Issabel از خارج از شبکه محلی دارید، باید اطمینان حاصل کنید که پورت HTTP (پورت 80) یا HTTPS (پورت 443) در فایروال سرور شما باز است. برای باز کردن این پورت‌ها، می‌توانید از دستورات زیر استفاده کنید:

برای پورت 80 (HTTP):

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

برای پورت 443 (HTTPS):

firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload

پس از انجام این تنظیمات، شما قادر خواهید بود از طریق اینترنت یا شبکه‌های دیگر به رابط کاربری Issabel دسترسی پیدا کنید.


جمع‌بندی

برای ورود به رابط کاربری گرافیکی Issabel، ابتدا باید اطمینان حاصل کنید که سرویس‌های وب (HTTPD) به درستی اجرا می‌شوند. سپس با وارد کردن آدرس آی‌پی سرور در مرورگر وب و استفاده از نام کاربری و کلمه عبور پیش‌فرض، می‌توانید وارد رابط کاربری شوید. از این رابط برای پیکربندی و مدیریت سیستم استفاده خواهید کرد. همچنین برای دسترسی از راه دور باید اطمینان حاصل کنید که پورت‌های HTTP یا HTTPS در فایروال باز هستند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”تنظیمات اولیه مانند زبان، منطقه زمانی و تنظیمات امنیتی” subtitle=”توضیحات کامل”]پس از ورود به رابط کاربری گرافیکی Issabel، اولین قدم برای پیکربندی سیستم تنظیم زبان، منطقه زمانی و تنظیمات امنیتی است. این تنظیمات به شما این امکان را می‌دهند که سیستم خود را مطابق با نیازهای محلی و امنیتی تنظیم کنید.


1. تنظیم زبان سیستم

برای تغییر زبان رابط کاربری، باید تنظیمات زبان را در قسمت پیکربندی رابط کاربری انجام دهید. به طور پیش‌فرض، Issabel به زبان انگلیسی نصب می‌شود. اگر نیاز به تغییر زبان دارید، مراحل زیر را دنبال کنید:

گام اول: ورود به منوی “Settings”

در داشبورد Issabel، به منوی “Settings” بروید و سپس گزینه “Language” را انتخاب کنید.

گام دوم: انتخاب زبان

در صفحه “Language Settings”، از لیست زبان‌های موجود، زبان مورد نظر خود را انتخاب کنید (مثلاً “فارسی” یا “Arabic”).

گام سوم: ذخیره تنظیمات

پس از انتخاب زبان، بر روی دکمه “Save” کلیک کنید تا تغییرات ذخیره شوند. رابط کاربری به زبان جدید تغییر خواهد کرد.


2. تنظیم منطقه زمانی

برای تنظیم منطقه زمانی مناسب، باید مراحل زیر را دنبال کنید:

گام اول: ورود به منوی “System Settings”

در داشبورد Issabel، به منوی “System Settings” بروید و سپس گزینه “Time” را انتخاب کنید.

گام دوم: انتخاب منطقه زمانی

در صفحه تنظیمات زمان، از منوی کشویی “Time Zone” منطقه زمانی خود را انتخاب کنید. به عنوان مثال، اگر در ایران هستید، منطقه زمانی “Asia/Tehran” را انتخاب کنید.

گام سوم: ذخیره تنظیمات

پس از انتخاب منطقه زمانی، بر روی دکمه “Save” کلیک کنید تا تنظیمات ذخیره شوند.


3. تنظیمات امنیتی

تنظیمات امنیتی برای حفاظت از سیستم در برابر حملات و تهدیدات خارجی بسیار مهم است. در این بخش، تنظیمات اولیه امنیتی را بررسی خواهیم کرد.

گام اول: تنظیم کلمه عبور قوی برای حساب‌های کاربری

یکی از اولین اقداماتی که باید انجام دهید، تغییر کلمه عبور پیش‌فرض برای حساب‌های کاربری است. برای این کار:

  1. به منوی “Admin” بروید و سپس گزینه “Users” را انتخاب کنید.
  2. کاربر مورد نظر را انتخاب کنید (به‌طور پیش‌فرض، حساب “admin” است).
  3. در صفحه ویرایش کاربر، کلمه عبور جدیدی وارد کرده و آن را ذخیره کنید.

گام دوم: فعال‌سازی فایروال

برای افزایش امنیت سرور، باید فایروال را پیکربندی کنید تا تنها درخواست‌های مجاز به سیستم وارد شوند. برای این کار از دستور زیر استفاده کنید:

systemctl start firewalld
systemctl enable firewalld

گام سوم: پیکربندی فایروال

برای باز کردن پورت‌های لازم (مانند پورت HTTP و HTTPS) و مسدود کردن پورت‌های غیرضروری، از دستور زیر استفاده کنید:

برای پورت 80 (HTTP):

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

برای پورت 443 (HTTPS):

firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload

برای مسدود کردن پورت‌های غیرضروری، از دستور زیر استفاده کنید:

firewall-cmd --zone=public --remove-port=22/tcp --permanent
firewall-cmd --reload

این دستور پورت SSH را مسدود می‌کند.

گام چهارم: پیکربندی SSH برای دسترسی امن

برای امن‌تر کردن دسترسی به سرور از طریق SSH، تنظیمات SSH را به گونه‌ای پیکربندی کنید که تنها از آدرس‌های IP خاصی به سرور دسترسی داده شود:

  1. فایل پیکربندی SSH را با دستور زیر باز کنید:
nano /etc/ssh/sshd_config
  1. گزینه PermitRootLogin را به no تغییر دهید تا ورود به سیستم با حساب root از طریق SSH غیرممکن شود:
PermitRootLogin no
  1. برای محدود کردن دسترسی به SSH از IP‌های خاص، می‌توانید گزینه AllowUsers را در فایل SSH تنظیم کنید:
AllowUsers yourusername@your_ip_address
  1. پس از اعمال تغییرات، سرویس SSH را دوباره راه‌اندازی کنید:
systemctl restart sshd

جمع‌بندی

در این بخش، تنظیمات اولیه سیستم شامل تنظیم زبان، منطقه زمانی و پیکربندی‌های امنیتی بررسی شد. با تغییر زبان رابط کاربری، تنظیم منطقه زمانی و اعمال تغییرات امنیتی مانند تغییر کلمه عبور پیش‌فرض و فعال‌سازی فایروال، شما می‌توانید سیستم خود را آماده استفاده و مدیریت کنید. این اقدامات به امنیت سیستم کمک کرده و دسترسی‌های غیرمجاز را محدود می‌کند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”پیکربندی تنظیمات شبکه (IP Address، DNS و Gateway)” subtitle=”توضیحات کامل”]برای پیکربندی تنظیمات شبکه مانند آدرس IP ثابت، DNS و Gateway در Issabel، باید فایل‌های پیکربندی شبکه را ویرایش کرده و سپس تنظیمات را اعمال کنید. در این بخش، به نحوه انجام این پیکربندی‌ها به‌صورت کامندی پرداخته می‌شود.


1. پیکربندی آدرس IP ثابت

در ابتدا، باید فایل پیکربندی شبکه را ویرایش کنید تا آدرس IP ثابت برای سرور یا ماشین مجازی خود تعیین کنید.

گام اول: ویرایش فایل پیکربندی شبکه

برای پیکربندی آدرس IP ثابت، به فایل پیکربندی شبکه سیستم بروید:

nano /etc/sysconfig/network-scripts/ifcfg-eth0

در این فایل، مقادیر زیر را وارد کنید:

TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.100   # آدرس IP ثابت مورد نظر
NETMASK=255.255.255.0  # Subnet Mask
GATEWAY=192.168.1.1   # Gateway
DNS1=8.8.8.8          # DNS اول
DNS2=8.8.4.4          # DNS دوم (اختیاری)

گام دوم: ذخیره و بستن فایل

پس از وارد کردن اطلاعات مورد نظر، تغییرات را ذخیره کرده و فایل را ببندید.

گام سوم: راه‌اندازی مجدد شبکه

برای اعمال تغییرات، شبکه را مجدداً راه‌اندازی کنید:

systemctl restart network

2. پیکربندی DNS

در صورتی که نیاز به تغییر تنظیمات DNS دارید، فایل /etc/resolv.conf را ویرایش کنید تا DNS مناسب را برای سرور خود تنظیم کنید.

گام اول: ویرایش فایل resolv.conf

برای پیکربندی DNS، فایل resolv.conf را با دستور زیر باز کنید:

nano /etc/resolv.conf

در این فایل، DNS‌های مورد نظر را وارد کنید:

nameserver 8.8.8.8   # DNS اول
nameserver 8.8.4.4   # DNS دوم

گام دوم: ذخیره و بستن فایل

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


3. پیکربندی Gateway

برای پیکربندی Gateway پیش‌فرض، تنظیمات آن را در فایل پیکربندی شبکه که قبلاً باز کرده‌اید (مثلاً /etc/sysconfig/network-scripts/ifcfg-eth0) انجام دادید. با این حال، اگر نیاز به بررسی یا تغییر آن دارید، می‌توانید به راحتی از طریق خط فرمان آن را تنظیم کنید.

گام اول: بررسی Gateway پیش‌فرض

برای بررسی پیکربندی Gateway پیش‌فرض، از دستور زیر استفاده کنید:

ip route show

اگر نیاز به تغییر Gateway پیش‌فرض دارید، می‌توانید از دستور زیر برای افزودن یا تغییر آن استفاده کنید:

route add default gw 192.168.1.1

در اینجا، 192.168.1.1 آدرس Gateway شما است.


جمع‌بندی

در این بخش، نحوه پیکربندی آدرس IP ثابت، DNS و Gateway در سیستم‌عامل Issabel بررسی شد. ابتدا فایل پیکربندی شبکه را ویرایش کرده و آدرس IP ثابت و دیگر تنظیمات شبکه را تعیین کردیم. سپس DNS‌های مورد نظر را در فایل resolv.conf وارد کرده و Gateway پیش‌فرض را پیکربندی کردیم. این تنظیمات به شما این امکان را می‌دهند که شبکه سرور خود را به‌طور صحیح و مطابق با نیازهای شبکه سازمانی پیکربندی کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”تنظیمات فایروال و باز کردن پورت‌های مورد نیاز (SIP، IAX، HTTP، HTTPS)” subtitle=”توضیحات کامل”]برای استفاده از Issabel به‌طور کامل، نیاز است که برخی پورت‌ها برای پروتکل‌های مختلف باز شوند تا سرویس‌های ارتباطی مثل SIP، IAX، HTTP و HTTPS به درستی کار کنند. در این بخش، به تنظیمات فایروال و باز کردن پورت‌های مورد نیاز پرداخته خواهد شد.


1. بررسی وضعیت فایروال

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

systemctl status firewalld

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

systemctl start firewalld

برای اطمینان از راه‌اندازی مجدد فایروال پس از بوت سیستم، از دستور زیر استفاده کنید:

systemctl enable firewalld

2. باز کردن پورت‌های مورد نیاز

در این مرحله، پورت‌های مورد نیاز برای SIP، IAX، HTTP و HTTPS را باز خواهیم کرد.

2.1 باز کردن پورت SIP (5060)

پورت SIP برای ارتباطات VoIP ضروری است. برای باز کردن این پورت در فایروال، دستور زیر را وارد کنید:

firewall-cmd --zone=public --add-port=5060/udp --permanent
firewall-cmd --reload

2.2 باز کردن پورت IAX (4569)

پورت IAX برای ارتباطات IAX بین سرورها و کاربران استفاده می‌شود. برای باز کردن این پورت در فایروال، دستور زیر را وارد کنید:

firewall-cmd --zone=public --add-port=4569/udp --permanent
firewall-cmd --reload

2.3 باز کردن پورت HTTP (80)

پورت HTTP برای دسترسی به رابط کاربری وب از طریق مرورگر استفاده می‌شود. برای باز کردن این پورت در فایروال، دستور زیر را وارد کنید:

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

2.4 باز کردن پورت HTTPS (443)

پورت HTTPS برای دسترسی امن به رابط کاربری وب از طریق مرورگر استفاده می‌شود. برای باز کردن این پورت در فایروال، دستور زیر را وارد کنید:

firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload

3. بررسی پیکربندی فایروال

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

firewall-cmd --list-all

این دستور، لیستی از پورت‌های باز‌شده و دیگر تنظیمات فایروال را نمایش می‌دهد.


4. تنظیمات اضافی فایروال (اختیاری)

اگر نیاز به باز کردن پورت‌های بیشتری دارید، می‌توانید از دستورات مشابه برای پیکربندی فایروال استفاده کنید. به‌عنوان مثال، برای باز کردن پورت‌های دیگری مثل SSH یا RDP:

firewall-cmd --zone=public --add-port=22/tcp --permanent   # برای SSH
firewall-cmd --zone=public --add-port=3389/tcp --permanent  # برای RDP
firewall-cmd --reload

جمع‌بندی

در این بخش، نحوه پیکربندی فایروال برای باز کردن پورت‌های SIP (5060)، IAX (4569)، HTTP (80) و HTTPS (443) بررسی شد. این پورت‌ها برای عملکرد صحیح Issabel ضروری هستند. همچنین، روش‌های بررسی وضعیت فایروال و تغییر تنظیمات برای باز کردن پورت‌های اضافی نیز توضیح داده شد. تنظیمات فایروال مناسب به شما این امکان را می‌دهند که ارتباطات شبکه به‌صورت امن و پایدار برقرار شود و دسترسی به رابط کاربری Issabel به‌طور کامل فراهم گردد.[/cdb_course_lesson][cdb_course_lesson title=”فصل 5. آشنایی با رابط کاربری گرافیکی (GUI) Issabel”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”بررسی اجزای مختلف رابط کاربری Issabel” subtitle=”توضیحات کامل”]رابط کاربری Issabel به‌عنوان یک سیستم مدیریت ارتباطات یکپارچه، شامل ابزارهایی برای مدیریت تماس‌ها، تنظیمات سیستم، کاربران و بسیاری از ویژگی‌های دیگر است. این رابط کاربری، کاربر را قادر می‌سازد تا به راحتی سیستم را پیکربندی کرده و مدیریت کند. در این بخش، اجزای مختلف رابط کاربری Issabel را بررسی خواهیم کرد.


1. صفحه ورود به سیستم (Login Page)

در ابتدا، برای ورود به رابط کاربری Issabel، باید نام کاربری و رمز عبور خود را وارد کنید. به‌طور پیش‌فرض، نام کاربری admin و رمز عبور تنظیم‌شده در طول نصب خواهد بود. پس از ورود موفق، به داشبورد اصلی هدایت می‌شوید.


2. داشبورد (Dashboard)

داشبورد Issabel، صفحه اصلی پس از ورود به سیستم است که اطلاعات کلی و وضعیت سیستم را نمایش می‌دهد. در این صفحه می‌توانید آمار تماس‌ها، وضعیت سیستم و هشدارها را مشاهده کنید.

ویژگی‌ها:

  • گراف‌ها و آمارها: نمایش گراف‌های تماس‌ها، وضعیت SIP Trunks و اطلاعات عمومی از سیستم.
  • دسترسی سریع: دسترسی سریع به تنظیمات و ویژگی‌های مختلف از طریق منوهای کشویی.
  • وضعیت سیستم: اطلاعاتی مانند وضعیت سرور، وضعیت SIP Trunks، شبکه و فایروال در این بخش قابل مشاهده است.

3. منوی بالایی (Top Navigation Menu)

منوی بالایی شامل بخش‌های مختلفی است که دسترسی به آن‌ها برای مدیریت سیستم ضروری است. این بخش‌ها شامل تنظیمات سیستم، مدیریت کاربران، مدیریت تماس‌ها و بسیاری از قابلیت‌های دیگر است.

بخش‌های منوی بالایی:

  • Dashboard: برای بازگشت به داشبورد اصلی.
  • PBX: شامل تنظیمات مرتبط با سیستم PBX مثل مدیریت Extentions، Queue‌ها، IVR‌ها، Dialplan‌ها و غیره.
  • Reports: برای مشاهده گزارش‌های تماس‌ها، وضعیت سیستم و نظارت بر عملکرد.
  • System: شامل تنظیمات سیستم، پیکربندی سرور، پشتیبان‌گیری و دیگر تنظیمات فنی.
  • Applications: برای اضافه کردن و مدیریت برنامه‌ها و پلاگین‌های اضافی.
  • User Management: برای مدیریت کاربران سیستم و دسترسی‌های آن‌ها.

4. پنل کنترل (Control Panel)

در این بخش، مدیر سیستم می‌تواند تنظیمات و پیکربندی‌های مختلف مربوط به بخش‌های مختلف Issabel را مدیریت کند. این پنل شامل گزینه‌هایی برای ایجاد و مدیریت Extensions، Queue‌ها، IVR‌ها، و تنظیمات تماس است.

بخش‌های پنل کنترل:

  • Extensions: اضافه کردن، حذف و مدیریت داخلی‌ها.
  • Ring Groups: ایجاد گروه‌های تماس برای رینگ کردن همزمان چند خط.
  • IVR: پیکربندی سیستم پاسخگوی خودکار (Interactive Voice Response).
  • Call Routing: تنظیمات مسیریابی تماس‌ها برای هدایت تماس‌ها به مقصد صحیح.
  • Conferences: مدیریت کنفرانس‌های صوتی برای برقراری تماس‌های گروهی.

5. تنظیمات شبکه (Network Settings)

این بخش شامل تنظیمات مربوط به شبکه است که به شما این امکان را می‌دهد که آدرس IP، DNS و Gateway سیستم را پیکربندی کنید. همچنین، در اینجا می‌توانید تنظیمات مربوط به فایروال و پورت‌ها را مدیریت کنید.

ویژگی‌ها:

  • Static IP Configuration: پیکربندی آدرس IP ثابت.
  • DNS Configuration: تنظیم DNS برای سیستم.
  • Firewall Management: مدیریت تنظیمات فایروال و باز کردن پورت‌های مورد نیاز.

6. گزارش‌ها و گزارش‌گیری (Reports)

Issabel ابزارهایی برای گزارش‌گیری از تماس‌ها و سیستم فراهم می‌آورد. در این بخش، می‌توانید گزارشی از تماس‌های ورودی و خروجی، وضعیت سیستم و استفاده از منابع مشاهده کنید.

ویژگی‌ها:

  • Call Reports: نمایش گزارشات تماس‌ها از جمله زمان‌ها، شماره‌ها و مدت زمان تماس.
  • System Reports: گزارشاتی از وضعیت کلی سیستم، بار سرور و منابع.
  • User Reports: گزارشی از فعالیت کاربران مختلف در سیستم.

7. مدیریت کاربران (User Management)

این بخش به مدیر سیستم این امکان را می‌دهد که دسترسی‌های مختلف را به کاربران اختصاص دهد. شما می‌توانید دسترسی‌ها را برای انجام تنظیمات مختلف در سیستم یا مشاهده گزارشات مدیریت کنید.

ویژگی‌ها:

  • Create Users: ایجاد کاربران جدید با تنظیمات خاص.
  • Assign Permissions: اختصاص دسترسی‌ها به کاربران برای بخش‌های مختلف سیستم.
  • Edit Users: ویرایش اطلاعات و تنظیمات کاربران.

8. مدیریت SIP Trunks و VoIP Providers

در این بخش، می‌توانید SIP Trunks و VoIP Providers خود را برای برقراری ارتباطات تلفنی پیکربندی کنید. این ابزار امکان ارتباط با سرویس‌دهندگان مختلف VoIP را فراهم می‌کند.

ویژگی‌ها:

  • SIP Trunk Configuration: تنظیمات مربوط به SIP Trunks.
  • VoIP Providers: پیکربندی پرووایدرهای VoIP و برقراری ارتباطات تلفنی.

جمع‌بندی

رابط کاربری Issabel ابزارهای فراوانی برای مدیریت و پیکربندی سیستم ارائه می‌دهد. از داشبورد اصلی برای مشاهده وضعیت کلی سیستم گرفته تا پنل‌های مختلف برای مدیریت تماس‌ها، کاربران، SIP Trunks و تنظیمات شبکه. این رابط کاربری، به‌طور جامع و کاربرپسند طراحی شده است تا مدیران سیستم بتوانند به راحتی به تمام ویژگی‌ها و تنظیمات سیستم دسترسی پیدا کنند و آن‌ها را پیکربندی کنند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”آموزش کار با منوها و ابزارهای مدیریتی” subtitle=”توضیحات کامل”]در این بخش به بررسی منوها و ابزارهای مدیریتی موجود در رابط کاربری Issabel خواهیم پرداخت. این ابزارها به شما این امکان را می‌دهند که بتوانید تمام جنبه‌های سیستم PBX خود را مدیریت و پیکربندی کنید.


1. منوهای اصلی Issabel

منوهای اصلی Issabel در نوار بالای صفحه به‌صورت کشویی قرار دارند که دسترسی به تمام ویژگی‌ها و ابزارهای مدیریتی را فراهم می‌کند. این منوها به شرح زیر هستند:

1.1 Dashboard

این بخش به‌عنوان صفحه اصلی و ورودی سیستم است. در داشبورد می‌توانید آمار کلی سیستم، وضعیت سرویس‌ها و گزارشات مهم را مشاهده کنید. همچنین امکان دسترسی سریع به قسمت‌های مختلف از اینجا وجود دارد.

1.2 PBX

این منو برای مدیریت تنظیمات سیستم PBX است. در این بخش، می‌توانید کارهای مختلفی از جمله اضافه کردن داخلی‌ها، مدیریت خطوط ورودی و خروجی، تنظیمات IVR و غیره را انجام دهید.

1.3 Reports

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

1.4 System

این بخش تنظیمات عمومی سیستم را در بر می‌گیرد، از جمله مدیریت سرویس‌ها، تنظیمات امنیتی، پشتیبان‌گیری و بازیابی، و تنظیمات شبکه.

1.5 Applications

در این منو می‌توانید برنامه‌ها و پلاگین‌های اضافی را برای توسعه عملکرد Issabel نصب و مدیریت کنید.

1.6 User Management

این منو به شما این امکان را می‌دهد که کاربران سیستم را مدیریت کنید. می‌توانید کاربران جدید اضافه کرده، دسترسی‌ها را تخصیص دهید و دسترسی‌های موجود را ویرایش کنید.


2. ابزارهای مدیریتی Issabel

ابزارهای مدیریتی Issabel برای انجام تنظیمات دقیق و مدیریت هر قسمت از سیستم PBX طراحی شده‌اند. این ابزارها شامل مدیریت تماس‌ها، مدیریت کاربران، تنظیمات شبکه، و پیکربندی سیستم‌های VoIP هستند.

2.1 مدیریت داخلی‌ها (Extensions)

در بخش PBX، گزینه‌ای برای مدیریت داخلی‌ها وجود دارد. از این قسمت می‌توانید داخلی‌های جدید ایجاد کرده و تنظیمات مربوط به هر داخلی را انجام دهید.

دستورالعمل:

برای ایجاد یک داخلی جدید، می‌توانید از دستور زیر در خط فرمان استفاده کنید:

asterisk -rx "dialplan add extension 100"

مسیر فایل برای ویرایش تنظیمات داخلی‌ها معمولاً به این صورت است:

/var/www/html/admin/modules/voicemail/voicemail.conf

2.2 مدیریت IVR (Interactive Voice Response)

IVR یک ویژگی مهم است که به کاربران امکان می‌دهد تا با سیستم تماس گیرنده از طریق منوهای خودکار تعامل داشته باشند. برای پیکربندی IVR در Issabel، از منوی PBX به بخش IVR بروید و تنظیمات مربوط به آن را انجام دهید.

2.3 مدیریت Queues و Ring Groups

این ابزار برای ایجاد گروه‌های تماس و صف‌های تماس استفاده می‌شود. از این طریق می‌توانید تماس‌ها را به گروه‌ها و صف‌های مختلف هدایت کنید تا کاربران مختلف بتوانند به آن‌ها پاسخ دهند.

2.4 مدیریت پیکربندی SIP Trunks

برای استفاده از VoIP و برقراری ارتباطات تلفنی، باید SIP Trunks را پیکربندی کنید. این ابزار به شما این امکان را می‌دهد که تنظیمات SIP Trunk را برای اتصال به سرویس‌دهندگان مختلف VoIP مدیریت کنید.

دستورالعمل برای پیکربندی SIP Trunk:
nano /etc/asterisk/sip.conf

در این فایل می‌توانید تنظیمات مربوط به SIP Trunks خود را وارد کنید.

2.5 مدیریت گزارشات تماس (Call Reports)

گزارش‌های تماس به شما این امکان را می‌دهند که آمار دقیق از تماس‌های ورودی و خروجی سیستم بدست آورید. این گزارش‌ها شامل جزئیاتی مثل مدت زمان تماس‌ها، شماره‌های تماس‌گیرنده، و وضعیت تماس‌ها است.

2.6 مدیریت کاربران (User Management)

در این بخش می‌توانید کاربران جدید بسازید، دسترسی‌های آن‌ها را تنظیم کنید و نقش‌های مختلف را به کاربران اختصاص دهید.


3. نحوه استفاده از ابزارهای مدیریتی

برای استفاده موثر از این ابزارها، باید با تنظیمات دقیق هر بخش آشنا شوید. در اینجا نحوه استفاده از برخی از مهم‌ترین ابزارها را توضیح خواهیم داد:

3.1 تنظیمات داخلی‌ها (Extensions)

برای اضافه کردن داخلی‌ها و مدیریت تنظیمات آن‌ها، ابتدا به بخش PBX > Extensions بروید. سپس می‌توانید داخلی‌های جدید اضافه کنید یا تنظیمات موجود را تغییر دهید.

نمونه تنظیمات برای یک داخلی جدید:
[100]
type=friend
host=dynamic
secret=secretpassword
context=default

این تنظیمات را می‌توانید در فایل extensions.conf در مسیر زیر قرار دهید:

/etc/asterisk/extensions.conf

3.2 تنظیمات SIP Trunks

برای پیکربندی SIP Trunks، فایل‌های sip.conf و extensions.conf را در مسیر زیر ویرایش کنید:

nano /etc/asterisk/sip.conf
nano /etc/asterisk/extensions.conf

3.3 پیکربندی IVR

برای پیکربندی IVR و تنظیم منوهای صوتی، به مسیر PBX > IVR بروید و مراحل لازم را طی کنید. می‌توانید پیام‌های صوتی را اضافه کنید و تنظیمات مربوط به مسیریابی تماس‌ها را انجام دهید.


جمع‌بندی

در این بخش، منوها و ابزارهای مدیریتی Issabel معرفی شدند که به مدیران سیستم این امکان را می‌دهند تا تنظیمات مختلف سیستم PBX خود را به‌صورت کاربرپسند و دقیق مدیریت کنند. از مدیریت داخلی‌ها و SIP Trunks تا پیکربندی IVR و گزارش‌گیری، همه ابزارهای لازم برای تنظیم و بهینه‌سازی سیستم در دسترس قرار دارند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”نحوه دسترسی به بخش‌های مختلف مانند Extensions، Trunks، Reports و Call Center” subtitle=”توضیحات کامل”]در این بخش به بررسی نحوه دسترسی به بخش‌های مختلف Issabel خواهیم پرداخت. این بخش‌ها برای مدیریت و پیکربندی ویژگی‌های مختلف سیستم PBX طراحی شده‌اند و از طریق رابط کاربری گرافیکی قابل دسترسی هستند. همچنین، برخی تنظیمات و کدهای مربوط به این بخش‌ها نیز آورده می‌شود.


1. دسترسی به بخش Extensions

برای مدیریت و پیکربندی داخلی‌ها (Extensions) در Issabel، ابتدا باید وارد رابط کاربری وب‌سایت Issabel شوید و سپس به بخش PBX > Extensions بروید.

گام‌های دسترسی:

  1. از منوی سمت چپ، گزینه PBX را انتخاب کنید.
  2. در زیر منوی PBX، گزینه Extensions را انتخاب کنید.
  3. در این بخش می‌توانید داخلی‌های جدید اضافه کنید، آن‌ها را ویرایش کرده و مدیریت کنید.
دستورالعمل برای ایجاد یک داخلی جدید در خط فرمان:

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

nano /etc/asterisk/extensions.conf

در این فایل می‌توانید تنظیمات داخلی‌ها را به صورت زیر وارد کنید:

[100]
type=friend
host=dynamic
secret=secretpassword
context=default

2. دسترسی به بخش Trunks

برای پیکربندی و مدیریت SIP Trunks، باید وارد بخش PBX > Trunks شوید.

گام‌های دسترسی:

  1. از منوی سمت چپ، گزینه PBX را انتخاب کنید.
  2. سپس به Trunks بروید.
  3. در این بخش می‌توانید SIP Trunks جدید اضافه کرده و یا تنظیمات آن‌ها را ویرایش کنید.
دستورالعمل برای پیکربندی SIP Trunk:

برای پیکربندی SIP Trunk به‌صورت دستی، فایل sip.conf را در مسیر زیر ویرایش کنید:

nano /etc/asterisk/sip.conf

نمونه تنظیمات برای یک SIP Trunk جدید:

[MyTrunk]
type=peer
host=example.com
username=myusername
secret=mypassword
context=from-trunk

3. دسترسی به بخش Reports

برای مشاهده گزارش‌ها و آمار سیستم، به بخش Reports در Issabel بروید. این بخش به شما کمک می‌کند تا گزارش‌های تماس‌ها، استفاده از منابع و وضعیت سیستم را مشاهده کنید.

گام‌های دسترسی:

  1. از منوی اصلی، گزینه Reports را انتخاب کنید.
  2. در این بخش، می‌توانید گزارش‌های مختلف از جمله Call Reports، Queue Reports و System Reports را مشاهده کنید.
دستورالعمل برای مشاهده گزارش تماس‌ها:

در این بخش می‌توانید با استفاده از رابط کاربری گرافیکی، گزارشی از تماس‌های ورودی و خروجی را مشاهده کنید. این گزارش‌ها شامل جزئیات زمان تماس، شماره تماس‌گیرنده و مدت زمان تماس‌ها است.


4. دسترسی به بخش Call Center

برای مدیریت سیستم تماس مرکز تماس (Call Center)، باید وارد بخش PBX > Call Center شوید. در این بخش، می‌توانید صف‌های تماس، گروه‌ها، و تنظیمات مربوط به ارتباطات را مدیریت کنید.

گام‌های دسترسی:

  1. از منوی سمت چپ، گزینه PBX را انتخاب کنید.
  2. سپس به Call Center بروید.
  3. در این بخش می‌توانید صف‌های تماس (Queues)، گروه‌های تماس (Call Groups) و تنظیمات مربوط به عملکرد مرکز تماس را پیکربندی کنید.
دستورالعمل برای پیکربندی صف تماس‌ها (Queue):

برای پیکربندی صف تماس‌ها به‌صورت دستی، فایل queues.conf را ویرایش کنید:

nano /etc/asterisk/queues.conf

نمونه تنظیمات برای یک صف تماس جدید:

[SupportQueue]
musicclass=default
strategy=leastrecent
timeout=15
retry=5

جمع‌بندی

در این بخش به بررسی نحوه دسترسی به بخش‌های مختلف مانند Extensions، Trunks، Reports و Call Center پرداخته شد. این بخش‌ها از مهم‌ترین ابزارهای مدیریتی Issabel هستند و به مدیران سیستم این امکان را می‌دهند که بتوانند به‌راحتی تنظیمات مختلف سیستم را مدیریت کرده و گزارش‌های مورد نیاز خود را مشاهده کنند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 6. پیکربندی اتصال به شبکه”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”تنظیمات اولیه اتصال به شبکه داخلی یا اینترنت” subtitle=”توضیحات کامل”]برای پیکربندی اتصال به شبکه داخلی یا اینترنت در سیستم‌هایی مانند Issabel، باید چند مرحله را طی کنید تا اتصال به شبکه به درستی انجام شود. این تنظیمات شامل تعیین آدرس IP ثابت، پیکربندی DNS، و تنظیمات Gateway هستند که در زیر مراحل آن را توضیح خواهیم داد.


1. تنظیم آدرس IP ثابت

برای تنظیم آدرس IP ثابت در سیستم‌های مبتنی بر لینوکس، باید فایل تنظیمات شبکه را ویرایش کنید. در سیستم‌هایی مانند CentOS 7 یا 8، از ابزار nmcli یا فایل‌های پیکربندی برای تنظیم IP استفاده می‌شود.

گام‌های دسترسی:

  1. وارد سیستم شوید.
  2. فایل تنظیمات شبکه را ویرایش کنید: مسیر فایل: /etc/sysconfig/network-scripts/ifcfg-eth0
دستورالعمل برای پیکربندی IP ثابت:

برای پیکربندی IP ثابت به‌صورت دستی، فایل مربوط به رابط شبکه را به شکل زیر ویرایش کنید:

nano /etc/sysconfig/network-scripts/ifcfg-eth0

در این فایل تنظیمات زیر را اضافه یا تغییر دهید:

DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4

در اینجا:

  • IPADDR آدرس IP ثابت شما است.
  • NETMASK به‌طور معمول 255.255.255.0 خواهد بود.
  • GATEWAY آدرس دروازه شبکه است.
  • DNS1 و DNS2 آدرس سرورهای DNS برای نام‌گذاری دامنه‌ها هستند.

بعد از اعمال تغییرات، رابط شبکه را دوباره راه‌اندازی کنید:

systemctl restart network

2. پیکربندی DNS

برای تنظیم DNS در سیستم، به فایل /etc/resolv.conf مراجعه کنید که اطلاعات مربوط به سرورهای DNS را ذخیره می‌کند.

گام‌های دسترسی:

  1. فایل /etc/resolv.conf را ویرایش کنید:
nano /etc/resolv.conf
  1. در این فایل، آدرس‌های DNS را اضافه کنید:
nameserver 8.8.8.8
nameserver 8.8.4.4

این آدرس‌ها مربوط به سرورهای DNS عمومی گوگل هستند. می‌توانید از هر سرور DNS دیگری که در اختیار دارید، استفاده کنید.


3. تنظیم Gateway

در صورتی که می‌خواهید اتصال به اینترنت از طریق یک Gateway صورت گیرد، باید تنظیمات مربوط به Gateway را در فایل تنظیمات شبکه انجام دهید. این کار معمولاً به‌طور خودکار از طریق فایل /etc/sysconfig/network-scripts/ifcfg-eth0 انجام می‌شود، اما اگر نیاز به تنظیمات دستی دارید، باید به این شکل عمل کنید:

گام‌های دسترسی:

  1. فایل تنظیمات ifcfg-eth0 را ویرایش کنید:
nano /etc/sysconfig/network-scripts/ifcfg-eth0
  1. خط مربوط به GATEWAY را اضافه یا اصلاح کنید:
GATEWAY=192.168.1.1

سپس شبکه را دوباره راه‌اندازی کنید:

systemctl restart network

جمع‌بندی

در این بخش نحوه پیکربندی اتصال به شبکه داخلی یا اینترنت از طریق تنظیم آدرس IP ثابت، DNS، و Gateway شرح داده شد. این تنظیمات به شما کمک می‌کنند تا سیستم خود را به شبکه داخلی یا اینترنت متصل کنید و ارتباطات شبکه‌ای به‌درستی برقرار شوند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”بررسی مشکلات اتصال شبکه و عیب‌یابی (Ping، Traceroute)” subtitle=”توضیحات کامل”]در فرآیند عیب‌یابی مشکلات اتصال شبکه، ابزارهای مختلفی مانند ping و traceroute به کمک می‌آیند. این ابزارها به شما کمک می‌کنند تا مشکلات شبکه را شناسایی و مسیر اتصال به مقصد را بررسی کنید. در ادامه، به توضیح نحوه استفاده از این ابزارها و بررسی مشکلات مربوط به اتصال شبکه می‌پردازیم.


1. استفاده از دستور Ping

دستور ping یکی از ساده‌ترین و مؤثرترین ابزارهای عیب‌یابی در شبکه است که برای بررسی وضعیت دسترسی به یک دستگاه یا سرور در شبکه استفاده می‌شود. این دستور با ارسال بسته‌های ICMP به مقصد مشخص، بررسی می‌کند که آیا مقصد در دسترس است یا خیر.

گام‌های استفاده:

برای استفاده از دستور ping، تنها کافیست آدرس IP مقصد را وارد کنید:

ping 192.168.1.1

در اینجا، 192.168.1.1 آدرس IP مقصد است. این دستور بسته‌های ICMP را به مقصد ارسال کرده و مدت زمان پاسخ را نشان می‌دهد.

تحلیل خروجی:
  • اگر مقصد در دسترس باشد، پاسخ‌های Reply from نمایش داده می‌شوند که نشان‌دهنده موفقیت آمیز بودن اتصال است.
  • اگر مقصد در دسترس نباشد، پیام‌هایی مانند Destination Host Unreachable یا Request Timed Out نشان داده می‌شود.

مثال:

ping 8.8.8.8

در اینجا، شما به سرور DNS گوگل که آدرس آن 8.8.8.8 است، پینگ ارسال می‌کنید تا بررسی کنید آیا اتصال اینترنتی به درستی برقرار است یا خیر.


2. استفاده از دستور Traceroute

ابزار traceroute برای پیگیری مسیر یک بسته از مبدا تا مقصد در شبکه استفاده می‌شود. این ابزار مسیر عبور بسته‌ها از روترها و سرورهای میانه را به‌صورت گام به گام نمایش می‌دهد و زمان تأخیر در هر گام را نشان می‌دهد.

گام‌های استفاده:

برای استفاده از دستور traceroute به مقصد خاص، دستور زیر را وارد کنید:

traceroute 8.8.8.8

در اینجا، 8.8.8.8 آدرس IP مقصد است. این دستور مسیر بسته‌های ارسالی را از مبدا تا مقصد با نمایش گام‌های مختلف و زمان تأخیر در هر گام نشان می‌دهد.

تحلیل خروجی:
  • هر خط از خروجی مربوط به یک روتر یا گام از مسیر است.
  • در هر گام، زمان تأخیر برای رسیدن بسته به مقصد از هر روتر را مشاهده خواهید کرد.
  • اگر در هر گامی زمان زیادی مشاهده شود یا به‌طور کلی مسیر به‌طور کامل قطع شود، ممکن است مشکل در شبکه یا در روتر مربوطه وجود داشته باشد.

مثال:

traceroute google.com

در اینجا، شما مسیر بسته‌ها را به سمت سایت گوگل بررسی می‌کنید تا ببینید کدام بخش از شبکه ممکن است دچار مشکل شده باشد.


3. رفع مشکلات اتصال

با استفاده از ping و traceroute، می‌توانید مشکلات مختلفی را در شبکه شناسایی کنید. در اینجا چند مشکل رایج و نحوه رفع آن‌ها آمده است:

مشکلات رایج:

  • مشکل در DNS: اگر در هنگام استفاده از ping با پیام “Name or service not known” مواجه شدید، احتمالاً مشکل مربوط به تنظیمات DNS است.
    • برای رفع این مشکل، اطمینان حاصل کنید که سرور DNS به‌درستی پیکربندی شده است (فایل /etc/resolv.conf را بررسی کنید).
  • مشکل در اتصال به روتر یا Gateway: اگر ping به Gateway یا آدرس‌های داخلی کار نمی‌کند، ممکن است کابل شبکه قطع باشد یا تنظیمات آدرس IP اشتباه باشد.
    • در این صورت، اتصال فیزیکی و تنظیمات شبکه را بررسی کنید.
  • مشکل در مسیریابی (Routing): اگر traceroute مسیر را قطع کند یا زمان تأخیر زیادی را در مسیر نشان دهد، ممکن است مشکل در تنظیمات مسیریابی یا در سرورهای میانه باشد.
    • برای رفع این مشکل، تنظیمات روترها را بررسی کرده و مطمئن شوید که مسیرهای لازم به‌درستی پیکربندی شده‌اند.

جمع‌بندی

ابزارهای ping و traceroute ابزارهای مفیدی برای عیب‌یابی مشکلات اتصال شبکه هستند. ping به شما امکان می‌دهد تا بررسی کنید که آیا دستگاه مورد نظر در دسترس است یا خیر، و traceroute به شما مسیر عبور بسته‌ها و زمان تأخیر در هر گام را نشان می‌دهد. با استفاده از این ابزارها می‌توانید مشکلات متداول شبکه را شناسایی و برطرف کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”استفاده از DHCP یا Static IP در پیکربندی شبکه” subtitle=”توضیحات کامل”]در پیکربندی شبکه، دو روش اصلی برای تخصیص آدرس IP به دستگاه‌ها وجود دارد: DHCP (Dynamic Host Configuration Protocol) و Static IP. هر کدام از این روش‌ها مزایا و محدودیت‌های خاص خود را دارند و انتخاب بین آن‌ها بستگی به نیازهای شبکه دارد. در این بخش، به تفاوت‌های بین این دو روش، نحوه پیکربندی و موارد استفاده‌ی هر یک پرداخته خواهد شد.


1. DHCP (Dynamic Host Configuration Protocol)

DHCP یک پروتکل شبکه است که به‌طور خودکار آدرس‌های IP را به دستگاه‌ها اختصاص می‌دهد. این پروتکل به مدیر شبکه این امکان را می‌دهد که بدون نیاز به تنظیم دستی آدرس‌های IP، دستگاه‌ها را به شبکه متصل کند. این روش برای شبکه‌های بزرگ که نیاز به مدیریت تعداد زیادی دستگاه دارند بسیار مفید است.

مزایای استفاده از DHCP:

  • مدیریت ساده: آدرس‌های IP به‌صورت خودکار تخصیص می‌یابند و نیازی به پیکربندی دستی برای هر دستگاه وجود ندارد.
  • کاهش خطاهای انسانی: تخصیص خودکار IP‌ها از اشتباهات احتمالی در پیکربندی جلوگیری می‌کند.
  • مناسب برای شبکه‌های بزرگ: در شبکه‌های بزرگ که تعداد زیادی دستگاه به شبکه متصل می‌شوند، استفاده از DHCP باعث سهولت در مدیریت می‌شود.

گام‌های تنظیم DHCP:

  1. برای پیکربندی DHCP در سیستم، ابتدا فایل تنظیمات شبکه را باز کنید:
    sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
    
  2. مقادیر زیر را برای پیکربندی DHCP وارد کنید:
    DEVICE=eth0
    BOOTPROTO=dhcp      # استفاده از DHCP
    ONBOOT=yes          # فعال بودن رابط در هنگام بوت
    
  3. پس از ذخیره کردن تغییرات، رابط شبکه را مجدداً راه‌اندازی کنید:
    sudo systemctl restart network
    

تحلیل پیکربندی:

  • BOOTPROTO=dhcp: این تنظیم به سیستم می‌گوید که آدرس IP خود را از سرور DHCP دریافت کند.
  • ONBOOT=yes: این تنظیم باعث می‌شود که رابط شبکه در هنگام بوت سیستم فعال شود.

2. Static IP (آدرس IP ثابت)

Static IP به معنای تخصیص دستی یک آدرس IP خاص به دستگاه است. در این روش، آدرس IP به‌طور ثابت به دستگاه اختصاص می‌یابد و تغییر نخواهد کرد مگر اینکه توسط مدیر شبکه تغییر داده شود. این روش معمولاً برای سرورها یا دستگاه‌هایی که به اتصال ثابت نیاز دارند، مانند سرورهای VoIP، وب‌سرورها یا دستگاه‌های شبکه حساس، توصیه می‌شود.

مزایای استفاده از Static IP:

  • ثبات و قابلیت پیش‌بینی: آدرس IP ثابت است و تغییر نخواهد کرد، که این ویژگی برای دستگاه‌هایی که نیاز به دسترسی ثابت دارند بسیار مناسب است.
  • راحتی در پیکربندی سرورها: برای دستگاه‌های سروری که باید همیشه در دسترس باشند، استفاده از Static IP بسیار مفید است.
  • مدیریت آسان‌تر: آدرس‌های IP ثابت برای شبکه‌های کوچک یا متوسط که نیازی به تغییرات زیاد ندارند، بسیار کارا است.

گام‌های تنظیم Static IP:

  1. فایل تنظیمات شبکه را برای ویرایش باز کنید:
    sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
    
  2. مقادیر زیر را برای پیکربندی IP ثابت وارد کنید:
    DEVICE=eth0
    BOOTPROTO=static     # استفاده از IP ثابت
    IPADDR=192.168.1.100 # آدرس IP ثابت
    NETMASK=255.255.255.0 # ماسک شبکه
    GATEWAY=192.168.1.1   # آدرس Gateway
    DNS1=8.8.8.8          # DNS اول
    DNS2=8.8.4.4          # DNS دوم
    ONBOOT=yes            # فعال بودن رابط در هنگام بوت
    
  3. پس از ذخیره تغییرات، رابط شبکه را مجدداً راه‌اندازی کنید:
    sudo systemctl restart network
    

تحلیل پیکربندی:

  • BOOTPROTO=static: این تنظیم باعث می‌شود که آدرس IP ثابت به دستگاه اختصاص یابد.
  • IPADDR: آدرس IP ثابت که به دستگاه اختصاص داده می‌شود.
  • NETMASK: ماسک شبکه برای تعیین محدوده آدرس‌های IP مجاز در شبکه.
  • GATEWAY: آدرس روتر (Gateway) برای دسترسی به شبکه‌های خارجی.
  • DNS1 و DNS2: آدرس سرورهای DNS برای ترجمه نام‌های دامنه به آدرس‌های IP.

3. مقایسه DHCP و Static IP

ویژگی DHCP Static IP
مدیریت خودکار، نیازی به تنظیم دستی ندارد دستی و نیاز به تنظیمات دقیق دارد
ثبات آدرس IP آدرس IP تغییر می‌کند آدرس IP ثابت و بدون تغییر
مناسب برای شبکه‌های بزرگ و متغیر دستگاه‌های سروری یا ثابت
سهولت پیکربندی سریع و آسان نیاز به پیکربندی دقیق دارد
خطرات احتمال تغییر آدرس IP و مشکلات در شبکه نیاز به مدیریت دقیق آدرس‌ها

جمع‌بندی

انتخاب بین DHCP و Static IP به نیازهای شبکه بستگی دارد. اگر نیاز به مدیریت راحت‌تر و خودکار آدرس‌های IP دارید، DHCP انتخاب مناسبی است. اما اگر به ثبات و قابلیت پیش‌بینی آدرس IP نیاز دارید (مثلاً برای سرورها)، Static IP مناسب‌تر خواهد بود. برای هر دو روش، مراحل پیکربندی به‌طور دقیق در سیستم‌عامل‌های مبتنی بر لینوکس از طریق ویرایش فایل‌های پیکربندی شبکه قابل انجام است.[/cdb_course_lesson][cdb_course_lesson title=”فصل 7. پیکربندی دسترسی‌های کاربران و امنیت”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”ایجاد و مدیریت حساب‌های کاربری مختلف برای مدیریت سیستم” subtitle=”توضیحات کامل”]در سیستم‌عامل‌های لینوکس، مدیریت حساب‌های کاربری برای اعطای دسترسی به منابع مختلف و اجرای عملیات مدیریتی بسیار مهم است. در این بخش، به نحوه ایجاد، حذف و مدیریت حساب‌های کاربری برای مدیریت سیستم در محیط لینوکس پرداخته خواهد شد.


1. ایجاد حساب کاربری جدید

برای ایجاد یک حساب کاربری جدید، از دستور useradd استفاده می‌شود. این دستور به شما امکان می‌دهد تا یک کاربر جدید ایجاد کرده و تنظیمات مربوط به آن را مشخص کنید.

گام‌های ایجاد حساب کاربری:

  1. برای ایجاد یک حساب کاربری به نام username، دستور زیر را وارد کنید:
    sudo useradd username
    
  2. برای تعیین رمز عبور برای حساب کاربری جدید، از دستور passwd استفاده کنید:
    sudo passwd username
    

    این دستور از شما درخواست می‌کند تا رمز عبور جدید را وارد کرده و آن را تایید کنید.

تنظیمات اضافی برای کاربر:

  • Home Directory: به‌طور پیش‌فرض، زمانی که یک کاربر جدید ایجاد می‌شود، دایرکتوری خانه‌ای برای او در مسیر /home/username ساخته می‌شود.
  • Shell: به‌طور پیش‌فرض، شل bash برای کاربر جدید انتخاب می‌شود. اگر بخواهید شل دیگری را انتخاب کنید، می‌توانید با استفاده از گزینه -s شل مورد نظر را تعیین کنید.مثال:
    sudo useradd -m -s /bin/zsh username
    

    در اینجا:

    • -m: دایرکتوری خانه برای کاربر ساخته می‌شود.
    • -s /bin/zsh: شل zsh به جای شل پیش‌فرض bash به کاربر اختصاص داده می‌شود.

2. اضافه کردن کاربر به گروه‌های مختلف

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

دستور اضافه کردن کاربر به گروه:

برای اضافه کردن یک کاربر به گروه، از دستور usermod به همراه گزینه -aG استفاده می‌کنیم:

sudo usermod -aG groupname username

مثال:

sudo usermod -aG sudo username

در اینجا، کاربر username به گروه sudo اضافه می‌شود، که به او دسترسی مدیریت (root) را می‌دهد.


3. حذف حساب کاربری

برای حذف یک حساب کاربری از سیستم، از دستور userdel استفاده می‌شود. این دستور به‌طور پیش‌فرض فقط کاربر را حذف می‌کند و دایرکتوری خانه و فایل‌های کاربر حذف نمی‌شوند.

دستور حذف کاربر:

  1. برای حذف یک کاربر از سیستم:
    sudo userdel username
    
  2. اگر بخواهید دایرکتوری خانه و فایل‌های کاربر را نیز حذف کنید، از گزینه -r استفاده کنید:
    sudo userdel -r username
    

4. تغییر اطلاعات کاربری

برای تغییر اطلاعات کاربری مانند نام کاربری، گروه پیش‌فرض یا شل، از دستور usermod استفاده می‌شود.

تغییر نام کاربری:

برای تغییر نام کاربری، از دستور usermod به شکل زیر استفاده کنید:

sudo usermod -l newusername oldusername

تغییر شل پیش‌فرض:

برای تغییر شل پیش‌فرض یک کاربر، از گزینه -s استفاده کنید:

sudo usermod -s /bin/bash username

تغییر گروه پیش‌فرض:

برای تغییر گروه پیش‌فرض یک کاربر، از گزینه -g استفاده کنید:

sudo usermod -g newgroup username

5. مشاهده اطلاعات حساب‌های کاربری

برای مشاهده اطلاعات مربوط به یک کاربر، از دستور id یا getent استفاده می‌شود.

مشاهده اطلاعات کاربر:

  1. برای مشاهده شناسه کاربری و گروه‌های کاربری یک کاربر:
    id username
    
  2. برای مشاهده تمام کاربران سیستم:
    getent passwd
    

6. محدود کردن دسترسی‌ها

برای محدود کردن دسترسی‌های کاربری، می‌توان از تنظیمات مختلفی مانند محدود کردن تعداد تلاش‌های ورود ناموفق، تنظیم محدودیت‌های زمانی برای ورود به سیستم و… استفاده کرد.

محدود کردن تعداد تلاش‌های ورود ناموفق:

برای محدود کردن تلاش‌های ناموفق ورود به سیستم، می‌توان از پیکربندی‌های PAM (Pluggable Authentication Modules) استفاده کرد.

  1. پیکربندی PAM برای محدود کردن تلاش‌های ناموفق در فایل /etc/pam.d/system-auth انجام می‌شود.دستور زیر را برای ویرایش فایل تنظیمات استفاده کنید:
    sudo nano /etc/pam.d/system-auth
    
  2. سپس خط زیر را به این فایل اضافه کنید تا تعداد تلاش‌های ناموفق محدود شود:
    auth required pam_tally2.so deny=3 onerr=fail unlock_time=600
    

    این تنظیمات، تعداد تلاش‌های ورود ناموفق را به 3 محدود می‌کند و بعد از 600 ثانیه (10 دقیقه) حساب کاربری را دوباره فعال می‌کند.


جمع‌بندی

مدیریت حساب‌های کاربری در سیستم‌های لینوکس یکی از بخش‌های اساسی برای کنترل دسترسی‌ها و منابع است. با استفاده از دستورات useradd، usermod و userdel می‌توان حساب‌های کاربری را ایجاد، ویرایش و حذف کرد. همچنین، با اضافه کردن کاربران به گروه‌های مختلف، می‌توان دسترسی‌های آن‌ها را به منابع مختلف تنظیم کرد. برای امنیت بیشتر، می‌توان محدودیت‌هایی برای تلاش‌های ناموفق ورود به سیستم اعمال کرد تا از دسترسی غیرمجاز جلوگیری شود.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”تنظیمات دسترسی برای کاربران مختلف با استفاده از سطوح دسترسی” subtitle=”توضیحات کامل”]در سیستم‌های لینوکس، دسترسی به فایل‌ها و دایرکتوری‌ها با استفاده از سطوح دسترسی کنترل می‌شود. این سطوح دسترسی مشخص می‌کنند که چه کسی قادر به خواندن، نوشتن یا اجرای یک فایل است. در این بخش، نحوه تنظیم و مدیریت سطوح دسترسی برای کاربران مختلف به صورت جزئی توضیح داده می‌شود.


1. مدیریت سطوح دسترسی فایل‌ها و دایرکتوری‌ها

در لینوکس، هر فایل یا دایرکتوری دارای سه نوع دسترسی اصلی است:

  • خواندن (Read – r): اجازه دسترسی به محتوای فایل یا فهرست محتویات یک دایرکتوری.
  • نوشتن (Write – w): اجازه تغییر یا اصلاح محتویات فایل یا افزودن و حذف فایل‌ها در یک دایرکتوری.
  • اجرا (Execute – x): اجازه اجرای فایل به عنوان یک برنامه یا اسکریپت.

همچنین، دسترسی‌ها به سه دسته اصلی تقسیم می‌شوند:

  • مالک فایل (Owner): فردی که فایل را ایجاد کرده است.
  • گروه (Group): گروهی از کاربران که به فایل دسترسی دارند.
  • دیگران (Others): سایر کاربران که در هیچ‌کدام از دسته‌های بالا قرار ندارند.

دستورات برای مشاهده دسترسی‌ها:

برای مشاهده دسترسی‌های یک فایل یا دایرکتوری، از دستور ls -l استفاده می‌شود:

ls -l filename

خروجی این دستور به شکل زیر خواهد بود:

-rwxr-xr-x 1 owner group 1234 Jan 1 12:00 filename

در اینجا:

  • -rwxr-xr-x: دسترسی‌ها را نشان می‌دهد.
    • r: خواندن
    • w: نوشتن
    • x: اجرا
    • در اینجا، مالک فایل می‌تواند بخواند، بنویسد و اجرا کند. گروه و دیگران می‌توانند فقط فایل را بخوانند و اجرا کنند.

2. تغییر سطوح دسترسی با استفاده از دستور chmod

دستور chmod برای تغییر سطوح دسترسی فایل‌ها و دایرکتوری‌ها استفاده می‌شود.

دستور کلی برای chmod:

chmod [options] mode file

نحوه نوشتن سطوح دسترسی:

سطوح دسترسی می‌توانند به صورت نمادین یا عددی تنظیم شوند.

  • نمادین: استفاده از r, w, x و علامت‌های +, -, = برای افزودن، حذف یا تنظیم دسترسی‌ها.
    • مثال:
      chmod u+x filename
      

      این دستور دسترسی اجرای فایل را به مالک (user) می‌دهد.

      chmod g-w filename
      

      این دستور دسترسی نوشتن را از گروه (group) حذف می‌کند.

      chmod o=r filename
      

      این دستور دسترسی‌ها را برای دیگران (others) فقط به خواندن تغییر می‌دهد.

  • عدد: در روش عددی، به هر سطح دسترسی عددی اختصاص داده می‌شود:
    • خواندن (r): 4
    • نوشتن (w): 2
    • اجرا (x): 1

    با این روش، شما مجموع دسترسی‌ها را به صورت عددی تنظیم می‌کنید. به عنوان مثال:

    • 7 (4+2+1) برای دسترسی کامل (خواندن، نوشتن، اجرا)
    • 5 (4+1) برای خواندن و اجرا
    • 6 (4+2) برای خواندن و نوشتن

    دستور استفاده از روش عددی:

    chmod 755 filename
    

    در اینجا:

    • 7: مالک فایل به تمام دسترسی‌ها (خواندن، نوشتن و اجرا) دسترسی دارد.
    • 5: گروه فقط دسترسی خواندن و اجرا دارد.
    • 5: دیگران نیز فقط دسترسی خواندن و اجرا دارند.

3. تغییر مالک و گروه با استفاده از دستور chown

دستور chown برای تغییر مالک و گروه یک فایل یا دایرکتوری استفاده می‌شود.

دستور کلی برای chown:

chown [options] owner:group file

مثال‌ها:

  • تغییر مالک فایل:
    sudo chown newowner filename
    
  • تغییر گروه فایل:
    sudo chown :newgroup filename
    
  • تغییر مالک و گروه همزمان:
    sudo chown newowner:newgroup filename
    

4. اعطای دسترسی به گروه‌ها با استفاده از دستور chmod

برای اینکه گروه‌ها بتوانند به یک فایل یا دایرکتوری دسترسی پیدا کنند، ابتدا باید دسترسی‌های مورد نظر را به آن گروه اختصاص دهید.

مثال‌ها:

  • برای اعطای دسترسی خواندن، نوشتن و اجرای فایل به گروه:
    sudo chmod g+rwx filename
    
  • برای حذف دسترسی نوشتن از گروه:
    sudo chmod g-w filename
    

5. پیکربندی دسترسی‌ها با استفاده از umask

دستور umask برای تعیین پیش‌فرض سطوح دسترسی برای فایل‌های جدید ایجاد شده استفاده می‌شود. به‌طور پیش‌فرض، فایل‌ها با دسترسی 666 (خواندن و نوشتن برای مالک، گروه و دیگران) و دایرکتوری‌ها با دسترسی 777 ایجاد می‌شوند. با استفاده از umask می‌توانید این پیش‌فرض‌ها را تغییر دهید.

تنظیم umask:

برای تغییر پیش‌فرض دسترسی‌ها، از دستور umask به صورت زیر استفاده کنید:

umask 027

در اینجا:

  • 0 برای مالک که هیچ محدودیتی ندارد.
  • 2 برای گروه که دسترسی نوشتن ندارد.
  • 7 برای دیگران که هیچ دسترسی ندارند.

6. مدیریت دسترسی‌ها با استفاده از ACL (Access Control Lists)

Access Control Lists (ACLs) به شما این امکان را می‌دهند که دسترسی‌های بیشتری به کاربران و گروه‌ها اختصاص دهید.

فعال‌سازی ACL:

برای فعال‌سازی ACL، ابتدا باید پکیج acl را نصب کنید:

sudo apt-get install acl   # برای سیستم‌های مبتنی بر Debian/Ubuntu
sudo yum install acl       # برای سیستم‌های مبتنی بر Red Hat/CentOS

استفاده از ACL برای دادن دسترسی‌های خاص:

برای افزودن دسترسی به یک فایل یا دایرکتوری با استفاده از ACL، دستور زیر را وارد کنید:

setfacl -m u:username:rwx filename

در اینجا، این دستور دسترسی خواندن، نوشتن و اجرای فایل را به کاربر username می‌دهد.


جمع‌بندی

مدیریت دسترسی به فایل‌ها و دایرکتوری‌ها یکی از مهم‌ترین جنبه‌های امنیت سیستم‌های لینوکس است. با استفاده از دستورات chmod، chown، umask و setfacl می‌توانید سطوح دسترسی مختلفی برای کاربران، گروه‌ها و دیگران تنظیم کنید. این دستورات امکان تغییر دسترسی‌های فایل‌ها و دایرکتوری‌ها را به‌صورت بسیار دقیق و کاربردی فراهم می‌کنند و به شما کمک می‌کنند تا کنترل کاملی بر منابع سیستم داشته باشید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”پیکربندی امنیتی اولیه مانند تنظیمات فایروال و دسترسی به منابع سیستم” subtitle=”توضیحات کامل”]پیکربندی امنیتی سیستم‌ها یکی از مهم‌ترین اقداماتی است که باید در مراحل اولیه پس از نصب انجام شود. این پیکربندی‌ها شامل تنظیمات فایروال، محدود کردن دسترسی به منابع سیستم، و ایجاد یک لایه حفاظتی در برابر تهدیدات مختلف می‌باشد. در این بخش، نحوه تنظیمات فایروال و پیکربندی دسترسی به منابع سیستم به‌طور کامل توضیح داده می‌شود.


1. تنظیمات فایروال (Firewall Configuration)

فایروال یک لایه امنیتی است که ترافیک ورودی و خروجی شبکه را مدیریت کرده و از حملات احتمالی جلوگیری می‌کند. در سیستم‌های لینوکس، معمولاً از firewalld یا iptables برای پیکربندی فایروال استفاده می‌شود.

1.1. استفاده از firewalld برای پیکربندی فایروال

firewalld یک ابزار مدیریتی برای تنظیم فایروال است که به‌طور پیش‌فرض در بسیاری از توزیع‌های لینوکس موجود است. برای تنظیم فایروال، از دستورات زیر استفاده می‌کنیم.

شروع و فعال‌سازی firewalld:

ابتدا مطمئن شوید که firewalld نصب و فعال است:

sudo systemctl start firewalld       # راه‌اندازی فایروال
sudo systemctl enable firewalld      # فعال کردن فایروال در هنگام بوت سیستم
بررسی وضعیت firewalld:

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

sudo firewall-cmd --state
باز کردن پورت‌های مورد نیاز:

برای استفاده از سرویس‌های خاص مانند SIP، HTTP، HTTPS و SSH، لازم است پورت‌های مربوطه در فایروال باز شوند.

  • باز کردن پورت 22 برای SSH:
    sudo firewall-cmd --permanent --add-port=22/tcp
    
  • باز کردن پورت 80 برای HTTP:
    sudo firewall-cmd --permanent --add-port=80/tcp
    
  • باز کردن پورت 443 برای HTTPS:
    sudo firewall-cmd --permanent --add-port=443/tcp
    
  • باز کردن پورت 5060 برای SIP:
    sudo firewall-cmd --permanent --add-port=5060/udp
    

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

sudo firewall-cmd --reload
مشاهده پورت‌های باز:

برای مشاهده پورت‌های باز در فایروال:

sudo firewall-cmd --list-all

1.2. استفاده از iptables برای پیکربندی فایروال

اگر از iptables استفاده می‌کنید، می‌توانید تنظیمات فایروال را با استفاده از دستورات زیر انجام دهید.

  • اجازه دسترسی به پورت SSH (پورت 22):
    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    
  • اجازه دسترسی به پورت HTTP (پورت 80):
    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    
  • اجازه دسترسی به پورت HTTPS (پورت 443):
    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    
  • اجازه دسترسی به پورت SIP (پورت 5060):
    sudo iptables -A INPUT -p udp --dport 5060 -j ACCEPT
    
ذخیره تغییرات:

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

sudo service iptables save

2. تنظیمات دسترسی به منابع سیستم

برای افزایش امنیت سیستم و جلوگیری از دسترسی غیرمجاز به منابع سیستم، می‌توانید دسترسی‌ها را محدود کنید. این کار به‌ویژه در مواردی که چندین کاربر یا سرویس به سیستم دسترسی دارند، اهمیت زیادی دارد.

2.1. مدیریت دسترسی کاربران با استفاده از sudo

برای اعطای دسترسی‌های مدیریتی به کاربران خاص، از sudo استفاده می‌شود. ابتدا باید اطمینان حاصل کنید که کاربرانی که نیاز به دسترسی مدیریتی دارند، در گروه sudo قرار دارند.

افزودن کاربر به گروه sudo:
sudo usermod -aG sudo username

2.2. محدود کردن دسترسی به دایرکتوری‌ها با استفاده از ACL

برای دسترسی به فایل‌ها و دایرکتوری‌ها می‌توانید از Access Control Lists (ACL) استفاده کنید تا دسترسی‌ها را به‌طور دقیق‌تر تنظیم کنید.

افزودن دسترسی خاص به یک کاربر:

برای افزودن دسترسی خواندن، نوشتن و اجرای یک فایل برای کاربر خاص از دستور setfacl استفاده کنید:

setfacl -m u:username:rwx /path/to/file
مشاهده ACLهای اعمال‌شده:

برای مشاهده ACLهای یک فایل یا دایرکتوری از دستور زیر استفاده کنید:

getfacl /path/to/file

2.3. محدود کردن دسترسی به SSH

برای افزایش امنیت سرویس SSH، می‌توانید تنظیمات زیر را در فایل پیکربندی /etc/ssh/sshd_config اعمال کنید.

غیرفعال کردن ورود root از طریق SSH:

در فایل /etc/ssh/sshd_config، دستور زیر را اضافه کنید:

PermitRootLogin no
تغییر پورت پیش‌فرض SSH:

به منظور افزایش امنیت، می‌توانید پورت پیش‌فرض SSH را تغییر دهید. برای این کار، دستور زیر را در فایل پیکربندی sshd_config وارد کنید:

Port 2222

بعد از اعمال تغییرات، سرویس SSH را مجدداً راه‌اندازی کنید:

sudo systemctl restart sshd

3. استفاده از SELinux برای مدیریت دسترسی‌ها

SELinux (Security-Enhanced Linux) یک سیاست امنیتی است که به‌طور پیش‌فرض در بسیاری از توزیع‌های لینوکس فعال است. با استفاده از SELinux، می‌توانید دسترسی‌ها و مجوزهای سیستم را به‌طور دقیق‌تری مدیریت کنید.

وضعیت SELinux:

برای بررسی وضعیت SELinux از دستور زیر استفاده کنید:

getenforce

برای تغییر وضعیت SELinux:

sudo setenforce 0   # غیرفعال کردن SELinux
sudo setenforce 1   # فعال کردن SELinux

3.1. پیکربندی SELinux برای برنامه‌ها

برای پیکربندی SELinux برای یک برنامه خاص، می‌توانید از دستور semanage استفاده کنید:

semanage port -a -t http_port_t -p tcp 8080

جمع‌بندی

پیکربندی فایروال و دسترسی به منابع سیستم از مهم‌ترین اقدامات برای حفظ امنیت در سیستم‌های لینوکس هستند. با استفاده از ابزارهای فایروال مانند firewalld یا iptables، می‌توانید ترافیک شبکه را کنترل کنید و پورت‌های ضروری را باز کنید. همچنین، با استفاده از ابزارهایی مانند sudo، ACL و SELinux می‌توانید دسترسی‌ها و مجوزهای مختلف را برای کاربران و سرویس‌ها مدیریت کنید. این اقدامات به شما کمک می‌کنند تا از سیستم خود در برابر تهدیدات مختلف محافظت کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”فعال‌سازی و پیکربندی SSH برای دسترسی از راه دور (در صورت نیاز)” subtitle=”توضیحات کامل”]SSH (Secure Shell) یک پروتکل شبکه‌ای است که برای اتصال امن به سیستم‌های راه دور استفاده می‌شود. این پروتکل برای مدیریت سرورها و سیستم‌های لینوکسی از راه دور بسیار مفید است. در این بخش نحوه فعال‌سازی و پیکربندی SSH برای دسترسی از راه دور به‌صورت امن توضیح داده می‌شود.


1. نصب و فعال‌سازی SSH

در ابتدا، برای فعال‌سازی SSH، باید اطمینان حاصل کنید که سرویس SSH بر روی سیستم نصب و در حال اجرا است.

1.1. نصب SSH در صورت نیاز

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

sudo yum install openssh-server     # در CentOS/Red Hat
sudo apt-get install openssh-server # در Ubuntu/Debian

1.2. فعال‌سازی و شروع سرویس SSH

برای اطمینان از فعال بودن سرویس SSH و راه‌اندازی آن در هنگام بوت سیستم، از دستورات زیر استفاده کنید:

sudo systemctl start sshd          # راه‌اندازی SSH
sudo systemctl enable sshd         # فعال‌سازی SSH در هنگام بوت

1.3. بررسی وضعیت سرویس SSH

برای بررسی وضعیت سرویس SSH، از دستور زیر استفاده کنید:

sudo systemctl status sshd         # نمایش وضعیت SSH

2. پیکربندی SSH

برای ایمن‌سازی دسترسی SSH و محدود کردن دسترسی‌ها، تنظیمات مختلفی در فایل پیکربندی sshd_config وجود دارد.

2.1. ویرایش فایل پیکربندی SSH

فایل پیکربندی SSH در مسیر /etc/ssh/sshd_config قرار دارد. برای ویرایش آن، از ویرایشگر متنی nano یا vim استفاده کنید:

sudo nano /etc/ssh/sshd_config

در این فایل، تنظیمات مختلفی وجود دارد که می‌توان آن‌ها را برای افزایش امنیت پیکربندی کرد.

تغییر پورت پیش‌فرض SSH:

پورت پیش‌فرض برای SSH پورت 22 است. برای افزایش امنیت، می‌توانید پورت دیگری را برای SSH انتخاب کنید.

Port 2222
غیرفعال کردن ورود به سیستم با کاربر root:

برای جلوگیری از دسترسی به سیستم از طریق کاربر root، باید گزینه PermitRootLogin را به no تغییر دهید.

PermitRootLogin no
استفاده از احراز هویت با کلید عمومی (Public Key Authentication):

برای امنیت بیشتر، می‌توانید از احراز هویت با کلید عمومی به‌جای پسورد استفاده کنید. این کار را با فعال‌سازی گزینه PasswordAuthentication به no انجام دهید.

PasswordAuthentication no
محدود کردن دسترسی به کاربران خاص:

اگر می‌خواهید تنها کاربران خاصی بتوانند به سیستم از طریق SSH دسترسی پیدا کنند، می‌توانید گزینه AllowUsers را اضافه کنید:

AllowUsers user1 user2

پس از اعمال تغییرات، فایل را ذخیره کرده و ویرایشگر را ببندید.

2.2. ریستارت سرویس SSH

برای اعمال تغییرات در پیکربندی، باید سرویس SSH را ریستارت کنید:

sudo systemctl restart sshd

3. اتصال از راه دور به سرور با استفاده از SSH

برای اتصال به سرور از راه دور، از دستور ssh استفاده می‌شود. اتصال به سرور از طریق SSH به این صورت خواهد بود:

ssh username@server_ip_address -p 2222

در این دستور:

  • username: نام کاربری که دسترسی به آن دارید.
  • server_ip_address: آدرس IP سرور.
  • -p 2222: پورت SSH که در تنظیمات قبلی تغییر داده‌اید (در صورت استفاده از پورت غیر پیش‌فرض).

جمع‌بندی

با استفاده از سرویس SSH، می‌توان به‌طور امن از راه دور به سرورها و سیستم‌های لینوکسی دسترسی پیدا کرد. با نصب و فعال‌سازی SSH و سپس پیکربندی مناسب آن از طریق ویرایش فایل sshd_config، می‌توان امنیت سیستم را بهبود بخشید. تنظیمات مانند تغییر پورت پیش‌فرض، غیرفعال کردن ورود با کاربر root، و استفاده از کلید عمومی برای احراز هویت، به شما کمک می‌کنند تا از سیستم خود در برابر حملات احتمالی محافظت کنید.[/cdb_course_lesson][cdb_course_lesson title=”فصل 8. آماده‌سازی برای نصب افزونه‌ها و ماژول‌های اضافی”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”نصب و پیکربندی ماژول‌های پیش‌فرض Issabel (مانند Call Center، Voicemail، IVR)” subtitle=”توضیحات کامل”]یکی از ویژگی‌های مهم Issabel، امکان استفاده از ماژول‌های مختلف برای مدیریت تماس‌ها و ارتباطات صوتی است. در این بخش، نحوه نصب و پیکربندی برخی از ماژول‌های پیش‌فرض Issabel مانند Call Center، Voicemail و IVR شرح داده می‌شود. این ماژول‌ها به شما کمک می‌کنند تا بتوانید تماس‌ها را به‌طور مؤثرتر مدیریت کرده و تجربه بهتری برای کاربران ایجاد کنید.


1. نصب ماژول‌های پیش‌فرض Issabel

Issabel به‌طور پیش‌فرض شامل ماژول‌هایی برای مدیریت مرکز تماس (Call Center)، صندوق صوتی (Voicemail) و سیستم پاسخگوی خودکار (IVR) است. برای نصب این ماژول‌ها می‌توانید از رابط کاربری گرافیکی یا دستورالعمل‌های خط فرمان استفاده کنید.

1.1. نصب ماژول‌ها از طریق رابط کاربری گرافیکی

  1. وارد بخش Modules در داشبورد Issabel شوید.
  2. از قسمت Module Admin، لیست ماژول‌های نصب‌نشده را مشاهده کنید.
  3. بر روی Install کلیک کنید تا ماژول‌های مورد نظر مانند Call Center، Voicemail و IVR نصب شوند.

1.2. نصب ماژول‌ها از طریق خط فرمان

برای نصب ماژول‌ها از طریق خط فرمان، می‌توانید دستور زیر را وارد کنید:

sudo yum install issabel-callcenter issabel-voicemail issabel-ivr

این دستورات ماژول‌های مورد نیاز را نصب خواهند کرد. در صورتی که نسخه‌های جدیدتر موجود باشد، می‌توانید آن‌ها را از مخازن Issabel نصب کنید.


2. پیکربندی ماژول Call Center

ماژول Call Center در Issabel به شما این امکان را می‌دهد که مرکز تماس خود را مدیریت کرده و تماس‌ها را بر اساس صف‌ها و قوانین مختلف توزیع کنید.

2.1. تنظیمات اولیه Call Center

برای پیکربندی این ماژول، ابتدا وارد بخش Call Center از داشبورد Issabel شوید.

  1. از منوی Applications، گزینه Call Center را انتخاب کنید.
  2. در بخش Call Center Management، تنظیمات اولیه مانند انتخاب صندوق پست صوتی، صف‌ها و زمان‌بندی‌ها را تنظیم کنید.

2.2. ایجاد صف‌های تماس

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

  1. وارد بخش Call Center شوید.
  2. بر روی Queues کلیک کرده و گزینه Add Queue را انتخاب کنید.
  3. در فرم باز شده، اطلاعات صف مانند نام، مدت زمان انتظار، تعداد نمایندگان و اولویت صف را وارد کنید.

2.3. پیکربندی پاسخ‌دهندگان خودکار (IVR) در Call Center

ماژول Call Center می‌تواند با IVR تلفیق شود. در قسمت تنظیمات IVR می‌توانید انتخاب کنید که چگونه تماس‌ها به صف‌ها یا نمایندگان مختلف هدایت شوند.


3. پیکربندی Voicemail

ماژول Voicemail به شما این امکان را می‌دهد که پیام‌های صوتی را برای تماس‌گیرندگان ذخیره کنید و آن‌ها را مدیریت کنید.

3.1. پیکربندی Voicemail در Issabel

  1. از بخش Applications، گزینه Voicemail را انتخاب کنید.
  2. در این بخش می‌توانید پیام‌ها را به صندوق‌های صوتی مختلف اختصاص دهید.
  3. برای افزودن صندوق صوتی جدید، بر روی Add Voicemail Box کلیک کنید.
  4. اطلاعات صندوق صوتی مانند شماره صندوق، رمز عبور و سایر تنظیمات را وارد کنید.

3.2. تنظیمات پیشرفته Voicemail

در تنظیمات پیشرفته Voicemail می‌توانید موارد زیر را تنظیم کنید:

  • مدت زمان ضبط پیام.
  • انتخاب فایل‌های صوتی خوش‌آمدگویی.
  • تنظیمات برای ارسال ایمیل پیام‌های صوتی به کاربران.

4. پیکربندی IVR (Interactive Voice Response)

IVR به کاربران این امکان را می‌دهد که از طریق یک سیستم خودکار با منوهای صوتی تماس برقرار کنند.

4.1. ایجاد یک سیستم IVR

برای ایجاد سیستم IVR، مراحل زیر را دنبال کنید:

  1. از منوی Applications، گزینه IVR را انتخاب کنید.
  2. بر روی Add IVR کلیک کنید تا یک سیستم IVR جدید ایجاد کنید.
  3. اطلاعات مورد نیاز مانند نام، منوهای صوتی، و تنظیمات مرتبط با مسیریابی تماس‌ها را وارد کنید.

4.2. پیکربندی منوهای صوتی IVR

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

  • هدایت تماس به صف‌ها.
  • ارسال تماس به صندوق پست صوتی.
  • انتقال به یک شماره داخلی.

جمع‌بندی

نصب و پیکربندی ماژول‌های پیش‌فرض Issabel مانند Call Center، Voicemail و IVR برای ایجاد یک سیستم ارتباطی کارآمد بسیار مهم است. ماژول Call Center به شما این امکان را می‌دهد که تماس‌ها را بر اساس صف‌ها و قوانین مختلف توزیع کنید. ماژول Voicemail پیام‌های صوتی را برای کاربران ذخیره کرده و مدیریت می‌کند، و IVR به شما کمک می‌کند تا یک سیستم خودکار برای پاسخگویی به تماس‌ها ایجاد کنید. تنظیمات این ماژول‌ها می‌تواند از طریق رابط کاربری گرافیکی یا دستورات خط فرمان انجام شود و به شما امکان مدیریت کامل سیستم را می‌دهد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”نصب ماژول‌های اضافی مانند Email، FAX و غیره” subtitle=”توضیحات کامل”]در Issabel، شما می‌توانید ماژول‌های اضافی مانند ایمیل (Email)، فکس (FAX) و سایر ماژول‌ها را نصب و پیکربندی کنید تا عملکرد سیستم خود را گسترش دهید. این ماژول‌ها امکانات بیشتری را برای مدیریت ارتباطات و ذخیره‌سازی داده‌ها به سیستم اضافه می‌کنند.


1. نصب ماژول Email

ماژول Email در Issabel به شما این امکان را می‌دهد که ایمیل‌ها را مدیریت کنید و همچنین از قابلیت‌هایی مانند ارسال ایمیل برای اطلاع‌رسانی در مورد پیام‌های صوتی و وضعیت سیستم استفاده کنید.

1.1. نصب ماژول Email از طریق خط فرمان

برای نصب ماژول ایمیل، می‌توانید از دستور زیر استفاده کنید:

sudo yum install issabel-email

این دستور ماژول Email را به‌صورت خودکار نصب خواهد کرد.

1.2. پیکربندی ماژول Email

پس از نصب، برای پیکربندی ایمیل‌ها باید تنظیمات SMTP را در سیستم خود وارد کنید. تنظیمات مورد نیاز را می‌توانید در فایل پیکربندی main.conf که در مسیر /etc/postfix/ قرار دارد، وارد کنید.

برای ویرایش فایل، دستور زیر را وارد کنید:

sudo nano /etc/postfix/main.cf

و تنظیمات SMTP را به‌صورت زیر وارد کنید:

relayhost = [smtp.example.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous

بعد از اعمال تغییرات، سرویس postfix را ریستارت کنید:

sudo systemctl restart postfix

2. نصب ماژول FAX

ماژول FAX به شما این امکان را می‌دهد که فکس‌ها را ارسال و دریافت کنید. این ماژول به‌ویژه برای استفاده در محیط‌های کاری که نیاز به ارسال فکس‌های متعدد دارند، مفید است.

2.1. نصب ماژول FAX از طریق خط فرمان

برای نصب ماژول فکس، دستور زیر را وارد کنید:

sudo yum install issabel-fax

این دستور ماژول FAX را به‌صورت خودکار نصب خواهد کرد.

2.2. پیکربندی ماژول FAX

بعد از نصب ماژول، برای پیکربندی آن باید از رابط کاربری گرافیکی Issabel استفاده کنید. برای این کار، وارد بخش FAX از منوی Applications شوید.

  1. وارد بخش Fax Configuration شوید.
  2. تنظیمات مربوط به فکس‌ها مانند شماره فکس، تنظیمات ارسال و دریافت فکس و اطلاعات SMTP را وارد کنید.

2.3. پیکربندی ارسال و دریافت فکس

  • برای ارسال فکس، شما می‌توانید از بخش Send Fax در منوی FAX استفاده کنید.
  • برای دریافت فکس، باید فکس‌های دریافتی را به صندوق‌های صوتی خاصی هدایت کنید.

3. نصب ماژول‌های دیگر (مانند Video Conference و سایر ماژول‌ها)

Issabel همچنین این امکان را به شما می‌دهد که ماژول‌های دیگری مانند Video Conference را نصب و پیکربندی کنید تا بتوانید از امکانات تماس ویدیویی نیز بهره‌مند شوید.

3.1. نصب ماژول Video Conference

برای نصب ماژول Video Conference، دستور زیر را وارد کنید:

sudo yum install issabel-videoconference

پس از نصب، برای پیکربندی این ماژول باید وارد بخش Video Conference شوید و تنظیمات مختلفی را مانند ایجاد اتاق‌های ویدیویی، انتخاب تعداد شرکت‌کنندگان، و تنظیمات کیفیت ویدیو وارد کنید.


جمع‌بندی

نصب و پیکربندی ماژول‌های اضافی مانند Email، FAX و سایر ماژول‌ها در Issabel به شما این امکان را می‌دهد که ویژگی‌های سیستم ارتباطی خود را گسترش دهید. ماژول Email برای مدیریت ایمیل‌ها و اطلاع‌رسانی استفاده می‌شود، در حالی که ماژول FAX به شما این امکان را می‌دهد که فکس ارسال و دریافت کنید. همچنین، امکان نصب ماژول‌های دیگر مانند Video Conference نیز وجود دارد که می‌توانید از آن‌ها برای تماس‌های ویدیویی و ارتباطات بصری استفاده کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”بررسی و نصب به‌روزرسانی‌های امنیتی و سیستم” subtitle=”توضیحات کامل”]برای اطمینان از عملکرد بهینه و حفظ امنیت سیستم، باید به‌طور منظم به‌روزرسانی‌های امنیتی و سیستم را نصب کنید. در Issabel، این فرآیند می‌تواند از طریق دستورات خط فرمان انجام شود.


1. بررسی به‌روزرسانی‌های موجود

برای بررسی به‌روزرسانی‌های موجود برای سیستم و پکیج‌های نصب‌شده، می‌توانید از دستور زیر استفاده کنید:

sudo yum check-update

این دستور لیستی از به‌روزرسانی‌های موجود را برای تمام پکیج‌ها نمایش خواهد داد. به‌روزرسانی‌ها ممکن است شامل اصلاحات امنیتی، بهبود عملکرد یا ویژگی‌های جدید باشند.


2. نصب به‌روزرسانی‌ها

برای نصب به‌روزرسانی‌های موجود، دستور زیر را وارد کنید:

sudo yum update

این دستور به‌روزرسانی‌های موجود برای سیستم و تمام پکیج‌ها را به‌طور خودکار نصب خواهد کرد. اگر بخواهید فقط به‌روزرسانی‌های امنیتی را نصب کنید، می‌توانید از دستور زیر استفاده کنید:

sudo yum update --security

این دستور فقط به‌روزرسانی‌های امنیتی را نصب خواهد کرد و از نصب به‌روزرسانی‌های عمومی خودداری می‌کند.


3. نصب به‌روزرسانی‌های پکیج‌های خاص (اختیاری)

اگر می‌خواهید یک پکیج خاص را به‌روز کنید، می‌توانید از دستور زیر استفاده کنید:

sudo yum update <package_name>

برای مثال، برای به‌روزرسانی Asterisk می‌توانید دستور زیر را وارد کنید:

sudo yum update asterisk

4. پیکربندی خودکار به‌روزرسانی‌ها

برای اطمینان از نصب خودکار به‌روزرسانی‌ها و جلوگیری از بروز مشکلات امنیتی، می‌توانید تنظیمات خودکار به‌روزرسانی را در سیستم فعال کنید.

  1. فایل تنظیمات را با دستور زیر باز کنید:
sudo nano /etc/yum/yum-cron.conf
  1. در این فایل، مقدار گزینه update_cmd را به default تغییر دهید تا به‌روزرسانی‌ها به‌صورت خودکار نصب شوند.
update_cmd = default
  1. بعد از اعمال تغییرات، فایل را ذخیره کرده و خارج شوید. سپس سرویس cron را ریستارت کنید تا تغییرات اعمال شوند:
sudo systemctl restart yum-cron

5. بررسی وضعیت به‌روزرسانی‌ها

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

sudo systemctl status yum-cron

این دستور وضعیت سرویس yum-cron را نمایش می‌دهد و به شما کمک می‌کند تا مطمئن شوید که به‌روزرسانی‌ها به‌طور خودکار اجرا می‌شوند.


جمع‌بندی

برای حفظ امنیت و عملکرد صحیح Issabel، باید به‌طور منظم به‌روزرسانی‌های امنیتی و سیستم را نصب کنید. این کار را می‌توان با استفاده از دستور yum update انجام داد. همچنین، می‌توانید به‌روزرسانی‌های خاص را نصب کنید و حتی تنظیمات خودکار به‌روزرسانی را پیکربندی کنید تا به‌روزرسانی‌ها به‌صورت خودکار انجام شوند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 9. عیب‌یابی مشکلات نصب و پیکربندی”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”بررسی لاگ‌ها برای شناسایی مشکلات احتمالی در مراحل نصب” subtitle=”توضیحات کامل”]در هر مرحله از نصب سیستم‌عامل یا نرم‌افزارها، لاگ‌ها می‌توانند به عنوان ابزار مهمی برای شناسایی مشکلات احتمالی و رفع آن‌ها عمل کنند. در Issabel و سایر سیستم‌های مبتنی بر لینوکس، لاگ‌ها شامل اطلاعات دقیق درباره مراحل مختلف نصب، مشکلات و ارورها هستند که می‌توانند برای عیب‌یابی مفید باشند.


1. لاگ‌های سیستم در مسیر /var/log

لاگ‌های عمومی سیستم در مسیر /var/log ذخیره می‌شوند. در اینجا برخی از مهم‌ترین لاگ‌ها که برای شناسایی مشکلات احتمالی در مراحل نصب مفید هستند آورده شده است:

  • /var/log/messages: این فایل شامل لاگ‌های عمومی سیستم است و بیشتر مشکلات عمومی سیستم مانند کرش‌ها، مشکلات شبکه و دسترسی‌ها در آن ثبت می‌شود.
  • /var/log/secure: این فایل لاگ شامل اطلاعات مربوط به امنیت سیستم، مانند تلاش‌های ورود ناموفق یا موفق، تغییرات در مجوزها و فعالیت‌های مشکوک است.
  • /var/log/yum.log: این فایل لاگ مربوط به نصب و به‌روزرسانی‌های پکیج‌ها است. می‌توانید در آن مشکلات مربوط به نصب پکیج‌های خاص یا وابستگی‌های ناتمام را بررسی کنید.
  • /var/log/asterisk: این فایل لاگ مربوط به برنامه Asterisk است و می‌تواند برای شناسایی مشکلات در نصب یا پیکربندی Asterisk مفید باشد.

2. بررسی لاگ‌های YUM برای مشکلات نصب پکیج‌ها

اگر در هنگام نصب یا به‌روزرسانی پکیج‌ها با مشکلاتی مواجه شده‌اید، می‌توانید لاگ‌های مربوط به YUM را بررسی کنید. برای این کار، دستور زیر را وارد کنید:

sudo cat /var/log/yum.log

این فایل تمام فعالیت‌های مربوط به نصب، به‌روزرسانی و حذف پکیج‌ها را شامل می‌شود. در صورتی که در این فرآیند خطا یا مشکلی پیش بیاید، این لاگ کمک‌کننده خواهد بود.


3. بررسی لاگ‌های Asterisk

Asterisk به عنوان یکی از بخش‌های اصلی Issabel، تمامی فعالیت‌ها و مشکلات خود را در فایل‌های لاگ خود ثبت می‌کند. برای بررسی لاگ‌های Asterisk، به مسیر /var/log/asterisk/ بروید. شما می‌توانید فایل‌های مختلف مانند full, messages, warnings را بررسی کنید.

برای مشاهده لاگ‌های Asterisk از دستور زیر استفاده کنید:

sudo cat /var/log/asterisk/full

این فایل شامل تمام فعالیت‌های ثبت‌شده توسط Asterisk است، از جمله ارتباطات، ورودی‌ها و خروجی‌ها.


4. بررسی لاگ‌های سرویس‌های خاص

برای بررسی مشکلات مربوط به سرویس‌ها و ماژول‌های خاص، می‌توانید لاگ‌های هر سرویس را به‌صورت جداگانه بررسی کنید. برای مثال:

  • Apache Logs (اگر استفاده می‌شود):
    مسیر لاگ‌ها معمولاً در /var/log/httpd/ است.

    sudo cat /var/log/httpd/error_log
    
  • MySQL Logs (اگر استفاده می‌شود):
    مسیر لاگ‌ها معمولاً در /var/log/mysqld.log است.

    sudo cat /var/log/mysqld.log
    

5. استفاده از ابزارهای عیب‌یابی شبکه

در صورتی که مشکل مربوط به اتصال شبکه است، می‌توانید از ابزارهای عیب‌یابی شبکه مانند ping و traceroute برای شناسایی مشکلات ارتباطی استفاده کنید.

  • Ping برای بررسی اتصال به یک میزبان خاص:
    ping <IP_Address_or_Domain>
    
  • Traceroute برای بررسی مسیر شبکه تا یک میزبان:
    traceroute <IP_Address_or_Domain>
    

6. بررسی وضعیت سرویس‌ها

برای بررسی وضعیت سرویس‌ها و اطمینان از راه‌اندازی صحیح آن‌ها، می‌توانید از دستور systemctl استفاده کنید:

sudo systemctl status <service_name>

برای مثال، برای بررسی وضعیت سرویس Asterisk:

sudo systemctl status asterisk

جمع‌بندی

برای شناسایی مشکلات احتمالی در مراحل نصب، بررسی لاگ‌های مختلف سیستم از جمله /var/log/messages، /var/log/yum.log، و /var/log/asterisk/ می‌تواند مفید باشد. همچنین، ابزارهای عیب‌یابی شبکه و بررسی وضعیت سرویس‌ها با دستور systemctl نیز می‌توانند به شناسایی و رفع مشکلات کمک کنند. بررسی دقیق لاگ‌ها و وضعیت سرویس‌ها می‌تواند مشکلات نصب یا پیکربندی را به‌طور مؤثر شناسایی و رفع کند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”روش‌های حل مشکلات نصب (پایگاه داده‌ها، فایروال، مشکلات شبکه)” subtitle=”توضیحات کامل”]در حین نصب Issabel یا هر سیستم‌عاملی مشابه، ممکن است مشکلات مختلفی به‌ویژه در زمینه‌های پایگاه داده، فایروال و شبکه پیش آید. در این قسمت، به بررسی و حل این مشکلات خواهیم پرداخت.


1. مشکلات پایگاه داده

یکی از مشکلات رایج در هنگام نصب Issabel یا Asterisk می‌تواند مربوط به پایگاه داده MySQL باشد. برخی از مشکلات متداول در این زمینه شامل عدم اتصال به پایگاه داده، پیکربندی اشتباه یا مشکلات ناشی از نبود پایگاه داده است.

مشکلات و راه‌حل‌ها:

  • عدم توانایی در اتصال به پایگاه داده:این مشکل می‌تواند به دلیل عدم نصب MySQL یا MariaDB ایجاد شود. برای بررسی وضعیت پایگاه داده، از دستور زیر استفاده کنید:
    sudo systemctl status mysqld
    

    اگر سرویس پایگاه داده فعال نباشد، از دستور زیر برای راه‌اندازی آن استفاده کنید:

    sudo systemctl start mysqld
    
  • بررسی لاگ‌های پایگاه داده:در صورت بروز مشکلات در ارتباط با پایگاه داده، می‌توانید لاگ‌های MySQL یا MariaDB را بررسی کنید. مسیر لاگ‌ها به‌طور معمول /var/log/mysqld.log است.برای مشاهده لاگ‌ها از دستور زیر استفاده کنید:
    sudo cat /var/log/mysqld.log
    
  • تجدید پیکربندی پایگاه داده:در صورتی که پایگاه داده به درستی پیکربندی نشده باشد، باید آن را مجدداً پیکربندی کنید. برای این کار می‌توانید از دستور زیر برای تنظیم مجدد پایگاه داده استفاده کنید:
    sudo mysql_secure_installation
    

2. مشکلات فایروال

فایروال یکی دیگر از موانع شایع در نصب سیستم‌های VoIP مانند Issabel است. به‌طور معمول، فایروال ممکن است پورت‌های ضروری مانند SIP، IAX، HTTP و HTTPS را مسدود کند.

مشکلات و راه‌حل‌ها:

  • باز کردن پورت‌های مورد نیاز در فایروال:پورت‌های مورد نیاز برای ارتباط سیستم‌عامل Issabel و Asterisk عبارتند از:
    • SIP: 5060-5061
    • IAX: 4569
    • HTTP: 80
    • HTTPS: 443

    برای باز کردن این پورت‌ها در فایروال، از دستورات زیر استفاده کنید:

    sudo firewall-cmd --zone=public --add-port=5060/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=5060/udp --permanent
    sudo firewall-cmd --zone=public --add-port=5061/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=5061/udp --permanent
    sudo firewall-cmd --zone=public --add-port=4569/udp --permanent
    sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
    

    سپس برای اعمال تغییرات، فایروال را بارگذاری مجدد کنید:

    sudo firewall-cmd --reload
    
  • غیرفعال کردن موقت فایروال:اگر می‌خواهید به طور موقت فایروال را غیرفعال کنید تا مشکلات مربوط به فایروال را بررسی کنید، می‌توانید دستور زیر را اجرا کنید:
    sudo systemctl stop firewalld
    

    بعد از رفع مشکل، فایروال را مجدداً فعال کنید:

    sudo systemctl start firewalld
    

3. مشکلات شبکه

مشکلات شبکه می‌توانند یکی از دلایل اصلی بروز خطا در مراحل نصب و پیکربندی باشند. این مشکلات ممکن است شامل عدم اتصال به اینترنت یا شبکه داخلی، تنظیمات اشتباه IP، DNS یا Gateway باشد.

مشکلات و راه‌حل‌ها:

  • بررسی اتصال شبکه:برای بررسی اتصال شبکه، ابتدا از دستور ping استفاده کنید تا مطمئن شوید که دستگاه شما به اینترنت متصل است:
    ping 8.8.8.8
    

    اگر نتوانستید به این آدرس دسترسی پیدا کنید، ممکن است مشکل از تنظیمات شبکه باشد.

  • بررسی تنظیمات IP ثابت و DNS:بررسی کنید که تنظیمات شبکه شما به درستی پیکربندی شده باشد. برای تنظیم IP ثابت، می‌توانید فایل پیکربندی شبکه را ویرایش کنید. به‌طور معمول این فایل‌ها در مسیر /etc/sysconfig/network-scripts/ قرار دارند.برای ویرایش فایل شبکه، از دستور زیر استفاده کنید:
    sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
    

    در این فایل، تنظیمات زیر را به‌طور صحیح وارد کنید:

    DEVICE=eth0
    BOOTPROTO=static
    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    DNS2=8.8.4.4
    

    سپس تغییرات را ذخیره کرده و شبکه را مجدداً راه‌اندازی کنید:

    sudo systemctl restart network
    
  • استفاده از ابزار Traceroute برای بررسی مسیر شبکه:در صورتی که اتصال به اینترنت برقرار نیست، از دستور traceroute برای بررسی مسیر تا سرور مقصد استفاده کنید:
    traceroute 8.8.8.8
    

    این ابزار مسیر شبکه شما تا آدرس مقصد را نشان می‌دهد و به شناسایی مشکلات در مسیر کمک می‌کند.


جمع‌بندی

برای حل مشکلات نصب Issabel، باید مراحل مختلف از جمله بررسی پایگاه داده، فایروال و مشکلات شبکه را بررسی کرد. از بررسی وضعیت پایگاه داده با استفاده از systemctl status mysqld تا باز کردن پورت‌های فایروال با دستور firewall-cmd، هر کدام از این مراحل می‌توانند در شناسایی و رفع مشکلات نصب کمک‌کننده باشند. همچنین، بررسی تنظیمات شبکه و استفاده از ابزارهای عیب‌یابی مانند ping و traceroute می‌تواند مشکلات اتصال به اینترنت یا شبکه داخلی را شناسایی و حل کند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”استفاده از ابزارهای خط فرمان برای عیب‌یابی (systemctl، journalctl، netstat)” subtitle=”توضیحات کامل”]در فرآیند نصب و پیکربندی سیستم‌ها مانند Issabel، ممکن است مشکلاتی به وجود آید که نیاز به عیب‌یابی داشته باشد. برای این منظور، ابزارهای خط فرمانی مختلفی وجود دارند که می‌توانند در شناسایی و رفع مشکلات کمک کنند. در این قسمت، به بررسی سه ابزار قدرتمند برای عیب‌یابی می‌پردازیم: systemctl، journalctl و netstat.


1. استفاده از systemctl

systemctl ابزاری است که برای مدیریت سرویس‌ها و واحدهای سیستم در سیستم‌عامل‌های مبتنی بر systemd استفاده می‌شود. این ابزار به‌ویژه برای مدیریت وضعیت سرویس‌ها، راه‌اندازی و متوقف کردن آن‌ها، و همچنین بررسی خطاهای سرویس‌ها بسیار مفید است.

بررسی وضعیت سرویس‌ها

برای بررسی وضعیت یک سرویس خاص مانند MySQL یا Asterisk از دستور زیر استفاده کنید:

sudo systemctl status <service_name>

به عنوان مثال، برای بررسی وضعیت سرویس MySQL:

sudo systemctl status mysqld

این دستور اطلاعاتی درباره وضعیت سرویس (فعال یا غیرفعال) و هرگونه خطا یا مشکل مربوط به آن را نمایش می‌دهد.

راه‌اندازی و توقف سرویس‌ها

برای راه‌اندازی یا متوقف کردن یک سرویس، می‌توانید از دستورات زیر استفاده کنید:

  • راه‌اندازی سرویس:
    sudo systemctl start <service_name>
    
  • توقف سرویس:
    sudo systemctl stop <service_name>
    

مشاهده فهرست سرویس‌های فعال

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

sudo systemctl list-units --type=service

2. استفاده از journalctl

journalctl ابزاری است که برای مشاهده لاگ‌ها و پیام‌های سیستمی استفاده می‌شود. این ابزار می‌تواند برای بررسی مشکلات سیستم در حین نصب یا پیکربندی کاربردی باشد.

مشاهده لاگ‌های سیستم

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

sudo journalctl

این دستور تمام لاگ‌ها را نمایش می‌دهد. اگر می‌خواهید فقط لاگ‌های مربوط به یک سرویس خاص را ببینید، از گزینه -u استفاده کنید. به‌عنوان مثال، برای مشاهده لاگ‌های مربوط به سرویس Asterisk:

sudo journalctl -u asterisk

مشاهده لاگ‌های جدیدترین پیام‌ها

برای مشاهده آخرین پیام‌های ثبت شده در سیستم، از گزینه -f استفاده کنید:

sudo journalctl -f

این دستور مشابه دستور tail -f عمل می‌کند و آخرین لاگ‌ها را به‌طور مداوم نمایش می‌دهد.

فیلتر کردن لاگ‌ها بر اساس زمان

برای مشاهده لاگ‌های سیستم در یک بازه زمانی خاص، می‌توانید از گزینه‌های --since و --until استفاده کنید. به‌عنوان مثال، برای مشاهده لاگ‌ها از ساعت 2 بعدازظهر تا 4 بعدازظهر:

sudo journalctl --since "14:00" --until "16:00"

3. استفاده از netstat

netstat ابزاری است که برای بررسی وضعیت اتصالات شبکه و پورت‌های باز در سیستم استفاده می‌شود. این ابزار می‌تواند برای شناسایی مشکلات شبکه، اتصالات غیرمجاز یا پورت‌های بسته مفید باشد.

نمایش پورت‌های باز و اتصالات شبکه

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

sudo netstat -tuln

این دستور پورت‌های فعال TCP و UDP را که در حال استفاده هستند، نمایش می‌دهد.

مشاهده اتصالات به پورت‌های خاص

برای مشاهده اتصالات مربوط به یک پورت خاص، می‌توانید از دستور زیر استفاده کنید. به‌عنوان مثال، برای بررسی اتصالات مرتبط با پورت SIP (پورت 5060):

sudo netstat -an | grep 5060

نمایش آدرس‌های IP و پورت‌های متصل

برای مشاهده آدرس‌های IP و پورت‌های متصل به سیستم، از دستور زیر استفاده کنید:

sudo netstat -anp

این دستور به شما اجازه می‌دهد که ببینید چه فرآیندهایی به پورت‌های مختلف متصل هستند.


جمع‌بندی

در هنگام نصب و پیکربندی سیستم‌ها، ابزارهای خط فرمان مانند systemctl، journalctl و netstat می‌توانند به‌طور قابل توجهی به شما در شناسایی مشکلات و عیب‌یابی کمک کنند. استفاده از systemctl برای مدیریت سرویس‌ها، journalctl برای مشاهده لاگ‌ها و خطاهای سیستمی، و netstat برای بررسی وضعیت اتصالات شبکه و پورت‌ها، به شما امکان می‌دهد تا مشکلات سیستم را شناسایی کرده و آن‌ها را برطرف کنید. این ابزارها به‌ویژه در هنگام نصب نرم‌افزارهایی مانند Issabel بسیار مفید و کاربردی هستند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 10. پشتیبان‌گیری و بازیابی سیستم در مراحل نصب”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”ایجاد نسخه پشتیبان از تنظیمات اولیه و فایل‌های پیکربندی” subtitle=”توضیحات کامل”]ایجاد نسخه پشتیبان از تنظیمات اولیه و فایل‌های پیکربندی یکی از مراحل حیاتی در مدیریت سیستم‌ها است که به شما این امکان را می‌دهد که در صورت بروز مشکلات یا نیاز به بازگشت به وضعیت قبلی، بتوانید به‌راحتی تنظیمات سیستم را بازیابی کنید. در این قسمت، به بررسی روش‌های مختلف ایجاد نسخه پشتیبان از تنظیمات و فایل‌های پیکربندی Issabel خواهیم پرداخت.


1. ایجاد نسخه پشتیبان از فایل‌های پیکربندی مهم

در سیستم‌های مانند Issabel، بسیاری از فایل‌های پیکربندی مهم برای عملکرد درست سیستم وجود دارند که باید از آن‌ها نسخه پشتیبان تهیه شود. این فایل‌ها شامل تنظیمات شبکه، سرویس‌ها، پیکربندی SIP، Asterisk و سایر ماژول‌ها هستند. مهم‌ترین این فایل‌ها در مسیرهای زیر قرار دارند:

  • فایل‌های پیکربندی Asterisk:
    /etc/asterisk/
    
  • فایل‌های پیکربندی Issabel:
    /etc/issabel/
    

برای ایجاد نسخه پشتیبان از این فایل‌ها، می‌توانید از دستور tar استفاده کنید تا تمامی فایل‌های مورد نظر را فشرده و ذخیره کنید.

دستور پشتیبان‌گیری از فایل‌ها:

sudo tar -czvf /backup/issabel_config_backup.tar.gz /etc/asterisk /etc/issabel

در این دستور:

  • tar -czvf برای فشرده‌سازی فایل‌ها به‌صورت .tar.gz استفاده می‌شود.
  • /backup/issabel_config_backup.tar.gz مسیری است که نسخه پشتیبان در آن ذخیره می‌شود.
  • /etc/asterisk /etc/issabel مسیر فایل‌های پیکربندی مورد نظر برای پشتیبان‌گیری است.

2. پشتیبان‌گیری از پایگاه داده‌ها

اگر سیستم شما از پایگاه داده‌ها برای ذخیره اطلاعات استفاده می‌کند (مانند MySQL یا MariaDB)، باید از پایگاه داده‌ها نیز نسخه پشتیبان تهیه شود. برای این کار، می‌توانید از ابزار mysqldump برای ایجاد نسخه پشتیبان از دیتابیس استفاده کنید.

دستور پشتیبان‌گیری از پایگاه داده MySQL:

sudo mysqldump -u root -p --all-databases > /backup/mysql_backup.sql

در این دستور:

  • -u root نام کاربری پایگاه داده است.
  • -p برای درخواست رمز عبور پایگاه داده است.
  • --all-databases برای پشتیبان‌گیری از تمامی پایگاه داده‌ها است.
  • /backup/mysql_backup.sql مسیر و نام فایل پشتیبان پایگاه داده است.

3. پشتیبان‌گیری از تنظیمات شبکه و سیستم

برای پشتیبان‌گیری از تنظیمات شبکه (مانند IP ثابت، DNS، و Gateway) می‌توانید فایل‌های پیکربندی شبکه را نیز نسخه‌برداری کنید. این فایل‌ها معمولاً در مسیرهای زیر قرار دارند:

  • فایل پیکربندی شبکه:
    /etc/sysconfig/network-scripts/ifcfg-eth0
    /etc/resolv.conf
    

برای ایجاد نسخه پشتیبان از این فایل‌ها، از دستور cp استفاده کنید:

دستور پشتیبان‌گیری از تنظیمات شبکه:

sudo cp /etc/sysconfig/network-scripts/ifcfg-eth0 /backup/ifcfg-eth0.backup
sudo cp /etc/resolv.conf /backup/resolv.conf.backup

4. پشتیبان‌گیری از تنظیمات فایروال

اگر تنظیمات فایروال در سیستم شما وجود دارد (مثلاً با استفاده از firewalld یا iptables)، باید از آن‌ها نیز نسخه پشتیبان تهیه کنید. برای پشتیبان‌گیری از تنظیمات فایروال در firewalld، می‌توانید از دستور زیر استفاده کنید:

دستور پشتیبان‌گیری از تنظیمات فایروال:

sudo firewall-cmd --list-all > /backup/firewall_rules_backup.txt

برای iptables، می‌توانید از دستور زیر برای ذخیره قوانین فایروال استفاده کنید:

sudo iptables-save > /backup/iptables_backup.rules

5. استفاده از Cron برای پشتیبان‌گیری منظم

برای اطمینان از این که پشتیبان‌گیری به‌صورت منظم انجام می‌شود، می‌توانید از Cron Jobs برای برنامه‌ریزی انجام پشتیبان‌گیری‌ها به‌طور اتوماتیک استفاده کنید. برای این کار، فایل cron را ویرایش کنید:

ویرایش فایل Cron:

sudo crontab -e

سپس برای پشتیبان‌گیری روزانه، این خط را اضافه کنید:

0 2 * * * tar -czvf /backup/issabel_config_backup_$(date +\%F).tar.gz /etc/asterisk /etc/issabel
0 3 * * * mysqldump -u root -p --all-databases > /backup/mysql_backup_$(date +\%F).sql

این دستورات به‌طور خودکار پشتیبان‌گیری روزانه از تنظیمات Issabel و پایگاه داده را در ساعت 2 و 3 بامداد انجام خواهند داد.


جمع‌بندی

ایجاد نسخه پشتیبان از تنظیمات اولیه و فایل‌های پیکربندی یک بخش حیاتی از مدیریت سیستم است که باید به‌طور منظم انجام شود. با استفاده از دستورات خط فرمان مانند tar، mysqldump، و cp، می‌توان به‌راحتی از فایل‌ها، پایگاه داده‌ها و تنظیمات سیستم نسخه پشتیبان تهیه کرد. همچنین با استفاده از Cron Jobs می‌توان پشتیبان‌گیری‌های منظم و خودکار را تنظیم کرد تا از دست رفتن داده‌ها یا تنظیمات در آینده جلوگیری شود.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”آموزش استفاده از ابزارهای پشتیبان‌گیری (tar، rsync)” subtitle=”توضیحات کامل”]پشتیبان‌گیری از داده‌ها و تنظیمات سیستم بخش حیاتی از مدیریت سرورها و سیستم‌ها است. برای انجام این کار می‌توان از ابزارهای مختلفی استفاده کرد که دو ابزار مهم و پرکاربرد در لینوکس برای پشتیبان‌گیری، tar و rsync هستند. در این بخش، به آموزش استفاده از این ابزارها برای انجام پشتیبان‌گیری خواهیم پرداخت.


1. ابزار tar برای پشتیبان‌گیری

ابزار tar یکی از رایج‌ترین و ساده‌ترین ابزارهای پشتیبان‌گیری در لینوکس است. این ابزار به شما این امکان را می‌دهد که فایل‌ها و پوشه‌ها را فشرده کرده و به‌عنوان یک نسخه پشتیبان ذخیره کنید. استفاده از tar برای پشتیبان‌گیری به‌ویژه زمانی مفید است که بخواهید حجم فایل‌ها را کاهش داده و فضای ذخیره‌سازی را بهینه کنید.

دستور پشتیبان‌گیری با tar:

sudo tar -czvf /backup/backup_name.tar.gz /path/to/directory_or_files

در این دستور:

  • tar ابزار فشرده‌سازی است.
  • -c برای ایجاد یک آرشیو جدید است.
  • -z برای فشرده‌سازی فایل‌ها به فرمت .gz است.
  • -v برای نمایش فایل‌هایی است که در حال فشرده‌سازی هستند (اختیاری).
  • -f برای تعیین نام فایل آرشیو استفاده می‌شود.
  • /backup/backup_name.tar.gz مسیر و نام فایل پشتیبان فشرده شده است.
  • /path/to/directory_or_files مسیری است که از آن باید نسخه پشتیبان تهیه شود.

مثال:

اگر بخواهید از پوشه /etc/issabel نسخه پشتیبان بگیرید، دستور به‌صورت زیر خواهد بود:

sudo tar -czvf /backup/issabel_config_backup.tar.gz /etc/issabel

2. ابزار rsync برای پشتیبان‌گیری

rsync یک ابزار قدرتمند برای همگام‌سازی و پشتیبان‌گیری است که ویژگی‌های زیادی برای مقایسه و انتقال فایل‌ها به شما می‌دهد. برخلاف tar، که تمام فایل‌ها را فشرده و ذخیره می‌کند، rsync فقط تغییرات و فایل‌های جدید را کپی کرده و می‌تواند از آنها نسخه پشتیبان تهیه کند. این ویژگی باعث می‌شود که rsync برای پشتیبان‌گیری‌های مکرر و منظم مناسب باشد.

دستور پشتیبان‌گیری با rsync:

sudo rsync -av --delete /path/to/source/ /path/to/destination/

در این دستور:

  • rsync ابزار همگام‌سازی فایل‌ها است.
  • -a به معنای حالت آرشیو است که به‌صورت پیش‌فرض از رکوردهای مالکیت، مجوزها و تایم‌استمپ‌ها همگام‌سازی می‌کند.
  • -v برای نمایش جزئیات عملیات همگام‌سازی است.
  • --delete فایل‌های حذف‌شده از مقصد را هم حذف می‌کند (اختیاری).
  • /path/to/source/ مسیر منبع است که باید نسخه پشتیبان از آن گرفته شود.
  • /path/to/destination/ مسیر مقصد است که نسخه پشتیبان در آن ذخیره می‌شود.

مثال:

برای پشتیبان‌گیری از پوشه /etc/issabel به مقصد /backup/issabel, دستور به شکل زیر خواهد بود:

sudo rsync -av --delete /etc/issabel/ /backup/issabel/

3. پشتیبان‌گیری خودکار با استفاده از Cron Jobs

برای اطمینان از پشتیبان‌گیری منظم و خودکار، می‌توانید از Cron Jobs استفاده کنید. Cron یک ابزار زمان‌بندی است که به شما این امکان را می‌دهد که دستورات خاصی را به‌طور اتوماتیک در زمان‌های مشخص اجرا کنید.

ویرایش فایل Cron:

sudo crontab -e

سپس برای انجام پشتیبان‌گیری روزانه از tar یا rsync، می‌توانید دستورات زیر را اضافه کنید:

  • برای پشتیبان‌گیری روزانه با tar:
    0 2 * * * tar -czvf /backup/issabel_config_backup_$(date +\%F).tar.gz /etc/issabel
    
  • برای پشتیبان‌گیری روزانه با rsync:
    0 3 * * * rsync -av --delete /etc/issabel/ /backup/issabel/
    

این دستورات به‌طور خودکار پشتیبان‌گیری را در ساعت 2 و 3 بامداد انجام خواهند داد.


جمع‌بندی

ابزارهای tar و rsync دو ابزار قوی برای پشتیبان‌گیری در لینوکس هستند. tar برای فشرده‌سازی و ذخیره‌سازی آرشیوهای پشتیبان استفاده می‌شود، در حالی که rsync برای همگام‌سازی و پشتیبان‌گیری منظم از تغییرات فایل‌ها بسیار مناسب است. با استفاده از این ابزارها و برنامه‌ریزی پشتیبان‌گیری خودکار با Cron Jobs، می‌توان اطمینان حاصل کرد که اطلاعات مهم به‌طور منظم و خودکار پشتیبان‌گیری می‌شوند و در صورت نیاز به بازیابی، به‌راحتی قابل دسترسی هستند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” title=”نحوه بازیابی سیستم پس از مشکلات نصب یا پیکربندی نادرست” subtitle=”توضیحات کامل”]پس از نصب یا پیکربندی سیستم، ممکن است با مشکلاتی مواجه شوید که باعث اختلال در عملکرد یا حتی عدم راه‌اندازی صحیح سیستم شوند. این مشکلات ممکن است شامل نصب نادرست، پیکربندی نادرست یا تغییرات غیرمنتظره در فایل‌ها و تنظیمات باشد. برای حل این مشکلات و بازیابی سیستم، راهکارهایی وجود دارد که می‌توان از آن‌ها بهره برد.


1. بازیابی از نسخه‌های پشتیبان

اگر از قبل نسخه پشتیبان از تنظیمات و داده‌ها گرفته‌اید، می‌توانید با استفاده از نسخه پشتیبان سیستم را به حالت پیشین بازگردانید.

استفاده از پشتیبان tar:

برای بازیابی از یک پشتیبان گرفته‌شده با استفاده از ابزار tar، از دستور زیر استفاده کنید:

sudo tar -xzvf /path/to/backup_name.tar.gz -C /path/to/restore_directory

این دستور پشتیبان فشرده‌شده را از فایل tar استخراج کرده و آن را در مسیر مقصد (که ممکن است همان مسیر اصلی فایل‌ها باشد) باز می‌گرداند.

استفاده از پشتیبان rsync:

اگر از ابزار rsync برای پشتیبان‌گیری استفاده کرده‌اید، می‌توانید به‌راحتی از آن برای بازگرداندن داده‌ها به مسیر اصلی استفاده کنید:

sudo rsync -av /path/to/backup/ /path/to/restore/

در این دستور، داده‌ها از پشتیبان به مقصد موردنظر (مثلاً /etc/issabel) منتقل می‌شوند.


2. استفاده از لاگ‌ها برای شناسایی مشکلات

لاگ‌ها می‌توانند اطلاعات مهمی را درباره مشکلات سیستم و خطاها فراهم کنند. بررسی دقیق لاگ‌ها می‌تواند به شناسایی مشکل و رفع آن کمک کند.

بررسی لاگ‌ها با journalctl:

برای مشاهده لاگ‌ها و پیگیری مشکلات نصب یا پیکربندی نادرست، می‌توان از دستور journalctl استفاده کرد.

sudo journalctl -xe

این دستور خطاها و هشدارهایی که در زمان اجرا یا راه‌اندازی سیستم رخ داده است را نمایش می‌دهد.

بررسی لاگ‌ها در فایل‌های سیستم:

بسته به نوع مشکل، شما ممکن است نیاز به بررسی لاگ‌های خاصی داشته باشید. برای مثال، لاگ‌های مربوط به سرویس Asterisk می‌توانند در مسیر /var/log/asterisk قرار داشته باشند:

sudo tail -f /var/log/asterisk/full

این دستور آخرین خطاها و پیام‌ها در لاگ Asterisk را به شما نشان خواهد داد.


3. بازنشانی پیکربندی‌ها به حالت پیش‌فرض

در صورتی که تغییرات پیکربندی باعث بروز مشکل شده باشد، ممکن است نیاز به بازنشانی تنظیمات به حالت پیش‌فرض داشته باشید. برای این کار، معمولاً فایل‌های پیکربندی اصلی را می‌توان با فایل‌های پیش‌فرض جایگزین کرد.

بازنشانی فایل‌های پیکربندی در Issabel:

اگر بخواهید فایل‌های پیکربندی Issabel را به حالت پیش‌فرض بازگردانید، می‌توانید به مسیرهای زیر بروید و فایل‌ها را با نسخه‌های پیش‌فرض جایگزین کنید:

  • برای بازنشانی فایل‌های پیکربندی Asterisk:
    sudo cp /etc/asterisk/asterisk.conf.default /etc/asterisk/asterisk.conf
    sudo cp /etc/asterisk/sip.conf.default /etc/asterisk/sip.conf
    
  • برای بازنشانی فایل‌های پیکربندی Issabel:
    sudo cp /etc/issabel/issabel.conf.default /etc/issabel/issabel.conf
    

4. استفاده از ابزارهای خط فرمان برای عیب‌یابی

برای رفع مشکلات مربوط به سیستم‌عامل یا سرویس‌های اجراشده، ابزارهای خط فرمان می‌توانند کمک زیادی کنند. به‌ویژه ابزارهایی مانند systemctl، netstat و ss می‌توانند در شناسایی مشکلات کمک کنند.

بررسی وضعیت سرویس‌ها با systemctl:

برای بررسی وضعیت سرویس‌ها (مانند Asterisk یا Issabel)، از دستور systemctl استفاده کنید:

sudo systemctl status asterisk

این دستور وضعیت سرویس Asterisk را نمایش می‌دهد و در صورت بروز مشکل، پیغام‌های خطا و وضعیت سرویس را به شما نشان خواهد داد.

استفاده از netstat برای بررسی پورت‌ها:

برای بررسی وضعیت پورت‌های سیستم و اطمینان از اینکه سرویس‌های مورد نیاز در حال اجرا هستند، از دستور netstat استفاده کنید:

sudo netstat -tuln

این دستور لیستی از پورت‌های باز و سرویس‌های در حال اجرا را نمایش می‌دهد.


5. بررسی مشکلات شبکه و ارتباطات

یکی از دلایل رایج مشکلات نصب یا پیکربندی نادرست، مشکلات شبکه است. برای بررسی اتصال شبکه، می‌توانید از ابزارهای ping و traceroute استفاده کنید.

تست اتصال با ping:

برای بررسی اتصال به یک آدرس IP یا دامنه، از دستور ping استفاده کنید:

ping 8.8.8.8

این دستور اتصال به سرور DNS گوگل را بررسی می‌کند.

بررسی مسیر شبکه با traceroute:

برای بررسی مسیر شبکه و شناسایی مشکلات احتمالی، از دستور traceroute استفاده کنید:

traceroute 8.8.8.8

این دستور مسیر انتقال بسته‌ها به سرور مقصد را نمایش می‌دهد و می‌تواند برای شناسایی نقاط اختلال مفید باشد.


جمع‌بندی

برای بازیابی سیستم پس از مشکلات نصب یا پیکربندی نادرست، از روش‌های مختلفی می‌توان استفاده کرد. از جمله این روش‌ها می‌توان به بازیابی از نسخه‌های پشتیبان، بررسی لاگ‌ها، بازنشانی پیکربندی‌ها به حالت پیش‌فرض، استفاده از ابزارهای خط فرمان برای عیب‌یابی و بررسی مشکلات شبکه اشاره کرد. با استفاده از این ابزارها و تکنیک‌ها، می‌توان مشکلات نصب و پیکربندی سیستم را شناسایی و برطرف کرده و سیستم را به حالت عملیاتی بازگرداند.[/cdb_course_lesson][/cdb_course_lessons]

[cdb_course_lessons title=”بخش 3. پیکربندی پایه”][cdb_course_lesson title=”فصل 1. تنظیمات شبکه”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیم IP Address (آدرس IP ثابت یا DHCP)” subtitle=”توضیحات کامل”]در این بخش، به تنظیم آدرس IP در سیستم‌های لینوکسی (برای مثال در Ubuntu) به‌صورت ثابت یا DHCP خواهیم پرداخت. این تنظیمات می‌توانند برای راه‌اندازی یک سرور یا سیستم به‌طور خاص برای استفاده در شبکه‌های خانگی یا سازمانی کاربردی باشند.


1. تنظیم IP Address ثابت

برای تنظیم یک آدرس IP ثابت در سیستم لینوکسی، باید فایل پیکربندی شبکه را ویرایش کنید. بسته به نسخه‌ی سیستم عامل، روش‌های مختلفی برای تنظیم IP ثابت وجود دارد. در اینجا، به تنظیمات مربوط به شبکه در Ubuntu 20.04 و بعد از آن پرداخته خواهد شد.

مسیر فایل:

برای تغییر تنظیمات شبکه به‌صورت ثابت، فایل /etc/netplan/01-netcfg.yaml را ویرایش خواهیم کرد.

مراحل:
  1. ابتدا به دایرکتوری /etc/netplan/ بروید:
    cd /etc/netplan/
    
  2. فایل پیکربندی مربوط به شبکه را ویرایش کنید:
    sudo nano 01-netcfg.yaml
    
  3. در این فایل، تنظیمات را به صورت زیر وارد کنید:
    network:
      version: 2
      renderer: networkd
      ethernets:
        ens33:
          dhcp4: false
          addresses:
            - 192.168.1.100/24
          gateway4: 192.168.1.1
          nameservers:
            addresses:
              - 8.8.8.8
              - 8.8.4.4
    

    در این تنظیمات:

    • ens33: نام رابط شبکه شما است که ممکن است متفاوت باشد (برای مثال، eth0).
    • dhcp4: false: این گزینه DHCP را غیرفعال می‌کند.
    • addresses: آدرس IP ثابت شما است (در اینجا 192.168.1.100/24).
    • gateway4: دروازه پیش‌فرض یا gateway شبکه شما.
    • nameservers: سرورهای DNS که برای ترجمه آدرس‌های وب استفاده می‌شوند.
  4. پس از اعمال تغییرات، فایل را ذخیره کرده و خارج شوید.
  5. برای اعمال تغییرات، دستور زیر را اجرا کنید:
    sudo netplan apply
    
نتیجه:

با این تنظیمات، سیستم شما آدرس IP ثابت 192.168.1.100 را دریافت می‌کند و از این به بعد از DHCP استفاده نخواهد کرد.


2. تنظیم IP Address به‌صورت DHCP

در صورت تمایل به دریافت آدرس IP از یک سرور DHCP، باید تنظیمات را به گونه‌ای تغییر دهید که رابط شبکه به‌طور خودکار از DHCP استفاده کند.

مسیر فایل:

برای تنظیم IP به‌صورت DHCP، فایل /etc/netplan/01-netcfg.yaml را ویرایش خواهیم کرد.

مراحل:
  1. به دایرکتوری /etc/netplan/ بروید:
    cd /etc/netplan/
    
  2. فایل پیکربندی مربوط به شبکه را ویرایش کنید:
    sudo nano 01-netcfg.yaml
    
  3. فایل را به صورت زیر تنظیم کنید:
    network:
      version: 2
      renderer: networkd
      ethernets:
        ens33:
          dhcp4: true
    

    در اینجا:

    • dhcp4: true: این گزینه فعال بودن DHCP برای دریافت آدرس IP از سرور DHCP را مشخص می‌کند.
    • ens33: نام رابط شبکه شما است.
  4. تغییرات را ذخیره کرده و خارج شوید.
  5. برای اعمال تغییرات، دستور زیر را اجرا کنید:
    sudo netplan apply
    
نتیجه:

پس از این تنظیمات، سیستم شما به‌طور خودکار آدرس IP را از سرور DHCP دریافت خواهد کرد.


جمع‌بندی

در این بخش، نحوه تنظیم آدرس IP ثابت و DHCP در سیستم‌های لینوکسی آموزش داده شد. برای تنظیم آدرس IP ثابت، فایل /etc/netplan/01-netcfg.yaml باید به‌طور دستی ویرایش شود و آدرس، gateway و سرورهای DNS وارد شوند. در حالت DHCP، با تنظیم گزینه dhcp4: true سیستم به‌طور خودکار آدرس IP را از سرور DHCP دریافت می‌کند.

تنظیمات شبکه به‌طور معمول با استفاده از ابزارهایی مانند netplan در سیستم‌های جدید لینوکس مدیریت می‌شود و پس از اعمال تغییرات، باید با دستور sudo netplan apply تغییرات را فعال کرد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”پیکربندی DNS (Domain Name System)” subtitle=”توضیحات کامل”]DNS (Domain Name System) به سیستم‌هایی اطلاق می‌شود که نام‌های دامنه را به آدرس‌های IP ترجمه می‌کنند. پیکربندی صحیح DNS به کاربران و سیستم‌ها این امکان را می‌دهد که به راحتی از نام دامنه‌ها به جای آدرس‌های IP استفاده کنند. در این بخش، نحوه پیکربندی DNS در یک سیستم لینوکسی را بررسی خواهیم کرد.


1. پیکربندی DNS در سیستم لینوکسی

برای پیکربندی DNS در سیستم لینوکسی، شما نیاز به ویرایش فایل‌هایی دارید که در آن سرورهای DNS تعیین می‌شوند. در بیشتر سیستم‌های جدید لینوکس، فایل پیکربندی اصلی DNS در مسیر /etc/resolv.conf قرار دارد.

مسیر فایل:

فایل پیکربندی DNS در سیستم‌های لینوکسی معمولاً در مسیر /etc/resolv.conf قرار دارد. با این حال، در برخی از توزیع‌ها، مانند Ubuntu 18.04 و جدیدتر، ممکن است از سیستم netplan برای مدیریت تنظیمات شبکه استفاده شود.

1.1. پیکربندی DNS به‌صورت دستی

برای ویرایش فایل resolv.conf و پیکربندی DNS به‌صورت دستی، مراحل زیر را دنبال کنید:

  1. ابتدا فایل پیکربندی DNS را ویرایش کنید:
    sudo nano /etc/resolv.conf
    
  2. در این فایل، آدرس‌های DNS خود را وارد کنید. برای مثال:
    nameserver 8.8.8.8
    nameserver 8.8.4.4
    

    در اینجا:

    • 8.8.8.8 و 8.8.4.4 سرورهای DNS عمومی Google هستند که می‌توانند برای ترجمه آدرس‌های دامنه به کار بروند.
    • شما می‌توانید از هر DNS دیگری مانند DNS سرویس‌دهندگان اینترنتی خود یا سرویس‌های DNS دیگر استفاده کنید.
  3. پس از اعمال تغییرات، فایل را ذخیره کرده و خارج شوید.
1.2. پیکربندی DNS در Ubuntu 18.04 و جدیدتر با استفاده از Netplan

در نسخه‌های جدیدتر Ubuntu، برای تنظیم DNS ممکن است نیاز به ویرایش فایل پیکربندی شبکه در /etc/netplan/ داشته باشید.

  1. به دایرکتوری /etc/netplan/ بروید:
    cd /etc/netplan/
    
  2. فایل پیکربندی شبکه را ویرایش کنید:
    sudo nano 01-netcfg.yaml
    
  3. در این فایل، بخش DNS را به‌صورت زیر اضافه کنید:
    network:
      version: 2
      renderer: networkd
      ethernets:
        ens33:
          dhcp4: true
          nameservers:
            addresses:
              - 8.8.8.8
              - 8.8.4.4
    

    در اینجا:

    • nameservers: سرورهای DNS را مشخص می‌کند.
    • addresses: آدرس‌های DNS را که می‌خواهید استفاده کنید، وارد کنید (در اینجا 8.8.8.8 و 8.8.4.4).
  4. پس از اعمال تغییرات، فایل را ذخیره کرده و خارج شوید.
  5. برای اعمال تغییرات، دستور زیر را اجرا کنید:
    sudo netplan apply
    
1.3. استفاده از DNS در حالت DHCP

در صورتی که از DHCP برای تنظیم آدرس IP استفاده می‌کنید، معمولاً تنظیمات DNS به‌طور خودکار از سرور DHCP دریافت می‌شود. اما اگر بخواهید DNS را به‌صورت دستی پیکربندی کنید، می‌توانید مانند نمونه بالا عمل کنید.


2. بررسی عملکرد DNS

پس از پیکربندی DNS، شما می‌توانید با استفاده از دستور nslookup یا dig از صحت پیکربندی اطمینان حاصل کنید.

برای بررسی عملکرد DNS، دستور زیر را اجرا کنید:

nslookup google.com

این دستور باید آدرس IP مربوط به دامنه google.com را بازگرداند. اگر آدرس IP صحیح نمایش داده شود، به این معنی است که پیکربندی DNS به‌درستی انجام شده است.


جمع‌بندی

در این بخش، نحوه پیکربندی DNS در سیستم‌های لینوکسی به‌طور کامل بررسی شد. برای پیکربندی دستی DNS، فایل /etc/resolv.conf و برای تنظیمات جدیدتر با استفاده از netplan در Ubuntu، فایل /etc/netplan/01-netcfg.yaml ویرایش می‌شود. در صورت استفاده از DHCP، DNS معمولاً به‌طور خودکار از سرور DHCP دریافت می‌شود، اما در صورت تمایل به استفاده از DNS خاص، می‌توان آن را به‌صورت دستی وارد کرد.

بعد از پیکربندی DNS، با استفاده از دستورات nslookup یا dig می‌توانید صحت تنظیمات را بررسی کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیم Gateway برای اتصال به اینترنت” subtitle=”توضیحات کامل”]Gateway یا دروازه شبکه یک دستگاه شبکه‌ای است که به‌عنوان رابط بین شبکه‌های مختلف عمل می‌کند. در صورتی که نیاز دارید دستگاه شما به اینترنت متصل شود، تنظیم Gateway صحیح بسیار مهم است. Gateway معمولاً همان آدرس IP روتر یا سرور شبکه‌ای است که دستگاه شما را به اینترنت متصل می‌کند.

در این بخش، نحوه تنظیم Gateway در سیستم‌های لینوکسی برای اتصال به اینترنت به‌طور کامل بررسی می‌شود.


1. پیکربندی Gateway در سیستم لینوکسی

برای پیکربندی Gateway در سیستم لینوکسی، شما نیاز به ویرایش فایل‌های تنظیمات شبکه دارید. پیکربندی Gateway بسته به این‌که از DHCP استفاده می‌کنید یا از آدرس‌های IP ثابت، متفاوت خواهد بود.

1.1. پیکربندی Gateway با استفاده از DHCP

اگر سیستم شما از DHCP برای دریافت آدرس IP استفاده می‌کند، معمولاً Gateway به‌طور خودکار از سرور DHCP دریافت می‌شود. در این حالت نیازی به تنظیم دستی Gateway ندارید.

برای بررسی تنظیمات Gateway دریافتی از DHCP، می‌توانید از دستور ip route استفاده کنید:

ip route show

این دستور اطلاعاتی در مورد مسیرهای شبکه، از جمله Gateway پیش‌فرض، نمایش می‌دهد.

1.2. پیکربندی Gateway با استفاده از آدرس IP ثابت

اگر از آدرس IP ثابت استفاده می‌کنید، شما باید به‌صورت دستی Gateway را تنظیم کنید. برای این کار مراحل زیر را دنبال کنید:

  1. برای تنظیم دستی Gateway، ابتدا باید فایل پیکربندی شبکه را ویرایش کنید. در بیشتر سیستم‌های لینوکسی، فایل‌های پیکربندی شبکه در مسیر /etc/network/ یا /etc/netplan/ قرار دارند.

2. پیکربندی Gateway در سیستم‌های Ubuntu 18.04 و جدیدتر با استفاده از Netplan

در نسخه‌های جدیدتر Ubuntu (18.04 و جدیدتر)، برای پیکربندی Gateway از netplan استفاده می‌شود.

  1. ابتدا به دایرکتوری /etc/netplan/ بروید:
    cd /etc/netplan/
    
  2. فایل پیکربندی شبکه (معمولاً 01-netcfg.yaml یا مشابه آن) را ویرایش کنید:
    sudo nano 01-netcfg.yaml
    
  3. در این فایل، باید آدرس Gateway را در بخش ethernets اضافه کنید. به‌طور مثال، فایل شما ممکن است به این صورت باشد:
    network:
      version: 2
      renderer: networkd
      ethernets:
        ens33:
          dhcp4: true
          gateway4: 192.168.1.1
          nameservers:
            addresses:
              - 8.8.8.8
              - 8.8.4.4
    

    در اینجا:

    • gateway4: 192.168.1.1 آدرس Gateway را تنظیم می‌کند.
    • nameservers سرورهای DNS را مشخص می‌کند که قبلاً در بخش DNS پیکربندی شده‌اند.
  4. پس از ویرایش فایل، آن را ذخیره کرده و خارج شوید.
  5. برای اعمال تغییرات، دستور زیر را اجرا کنید:
    sudo netplan apply
    

3. پیکربندی Gateway در سیستم‌های قدیمی‌تر یا دیگر توزیع‌ها

در سیستم‌های قدیمی‌تر یا در توزیع‌های دیگری که از ifupdown استفاده می‌کنند، پیکربندی Gateway به‌طور مستقیم در فایل /etc/network/interfaces انجام می‌شود.

  1. ابتدا فایل پیکربندی شبکه را ویرایش کنید:
    sudo nano /etc/network/interfaces
    
  2. در این فایل، برای تنظیم Gateway، باید موارد زیر را وارد کنید:
    auto eth0
    iface eth0 inet static
        address 192.168.1.100
        netmask 255.255.255.0
        gateway 192.168.1.1
    

    در اینجا:

    • gateway 192.168.1.1 آدرس Gateway را مشخص می‌کند.
    • address و netmask آدرس IP ثابت و ماسک شبکه را تعریف می‌کنند.
  3. پس از ویرایش فایل، آن را ذخیره کرده و خارج شوید.
  4. برای اعمال تغییرات، رابط شبکه را ریستارت کنید:
    sudo ifdown eth0 && sudo ifup eth0
    

4. بررسی و تست اتصال به اینترنت

پس از تنظیم Gateway، برای تست اتصال به اینترنت می‌توانید از دستور ping استفاده کنید.

  1. ابتدا می‌توانید به Gateway خود پینگ کنید تا مطمئن شوید که دستگاه شما به روتر متصل است:
    ping 192.168.1.1
    
  2. سپس می‌توانید از دستور ping برای تست اتصال به اینترنت استفاده کنید:
    ping google.com
    

    اگر دستور ping google.com پاسخ داد، به این معنی است که سیستم شما به‌درستی به اینترنت متصل است.


جمع‌بندی

در این بخش، نحوه پیکربندی Gateway در سیستم‌های لینوکسی برای اتصال به اینترنت را بررسی کردیم. در سیستم‌هایی که از DHCP استفاده می‌کنند، Gateway معمولاً به‌طور خودکار از سرور DHCP دریافت می‌شود، اما در صورت استفاده از آدرس IP ثابت، باید Gateway را به‌صورت دستی در فایل‌های پیکربندی مربوطه وارد کنید.

در سیستم‌های Ubuntu 18.04 و جدیدتر، از netplan برای تنظیمات شبکه استفاده می‌شود و در سیستم‌های قدیمی‌تر، می‌توان از فایل /etc/network/interfaces برای پیکربندی استفاده کرد. پس از تنظیم Gateway، با استفاده از دستورات ping می‌توانید اتصال به اینترنت را تست کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیم Subnet Mask برای تقسیم‌بندی شبکه” subtitle=”توضیحات کامل”]Subnet Mask یا ماسک زیرشبکه، برای تقسیم‌بندی شبکه‌های بزرگ به شبکه‌های کوچکتر (زیرشبکه‌ها) استفاده می‌شود. این تنظیمات باعث می‌شود تا شبکه‌ها به‌طور بهینه‌تر مدیریت شوند و کارایی بالاتری داشته باشند. در این بخش نحوه تنظیم Subnet Mask در سیستم‌های لینوکسی برای تقسیم‌بندی شبکه به‌طور کامل بررسی می‌شود.


1. مفهوم Subnet Mask

Subnet Mask به‌طور کلی یک عدد 32 بیتی است که به شما کمک می‌کند تا شبکه IP را به‌طور منطقی تقسیم‌بندی کنید. این ماسک به‌صورت یک سری از 1ها و 0ها است که بخش‌های شبکه و میزبان را از هم جدا می‌کند.

برای مثال:

  • یک Subnet Mask استاندارد کلاس C می‌تواند به‌صورت 255.255.255.0 باشد.
  • این Subnet Mask به این معنی است که سه بخش اول IP به‌عنوان بخش شبکه و بخش آخر به‌عنوان بخش میزبان در نظر گرفته می‌شود.

2. تنظیم Subnet Mask در سیستم لینوکسی

برای تنظیم Subnet Mask در سیستم‌های لینوکسی، معمولاً فایل‌های تنظیمات شبکه باید ویرایش شوند. این تنظیمات بستگی به این دارد که از DHCP استفاده می‌کنید یا آدرس IP ثابت.

2.1. پیکربندی Subnet Mask با استفاده از DHCP

در صورتی که سیستم شما از DHCP برای دریافت آدرس IP استفاده می‌کند، Subnet Mask معمولاً به‌طور خودکار از سرور DHCP دریافت می‌شود. برای بررسی Subnet Mask دریافت‌شده از DHCP، از دستور ip یا ifconfig می‌توانید استفاده کنید.

برای مشاهده تنظیمات شبکه از جمله Subnet Mask، دستور زیر را اجرا کنید:

ip a

یا

ifconfig

در خروجی، می‌توانید اطلاعات مربوط به Subnet Mask را در کنار آدرس IP مشاهده کنید.

2.2. پیکربندی Subnet Mask با استفاده از آدرس IP ثابت

اگر از آدرس IP ثابت استفاده می‌کنید، شما باید به‌طور دستی Subnet Mask را تنظیم کنید. برای این کار، مراحل زیر را دنبال کنید:

  1. برای تنظیم دستی Subnet Mask، ابتدا باید فایل پیکربندی شبکه را ویرایش کنید. در سیستم‌های مبتنی بر Ubuntu، این فایل‌ها معمولاً در مسیر /etc/netplan/ قرار دارند.

3. پیکربندی Subnet Mask در سیستم‌های Ubuntu 18.04 و جدیدتر با استفاده از Netplan

در نسخه‌های جدیدتر Ubuntu (18.04 و جدیدتر)، برای پیکربندی Subnet Mask از netplan استفاده می‌شود.

  1. ابتدا به دایرکتوری /etc/netplan/ بروید:
    cd /etc/netplan/
    
  2. فایل پیکربندی شبکه (معمولاً 01-netcfg.yaml یا مشابه آن) را ویرایش کنید:
    sudo nano 01-netcfg.yaml
    
  3. در این فایل، باید Subnet Mask را در بخش ethernets اضافه کنید. به‌طور مثال، فایل شما ممکن است به این صورت باشد:
    network:
      version: 2
      renderer: networkd
      ethernets:
        ens33:
          dhcp4: true
          gateway4: 192.168.1.1
          addresses:
            - 192.168.1.100/24
          nameservers:
            addresses:
              - 8.8.8.8
              - 8.8.4.4
    

    در اینجا:

    • addresses: 192.168.1.100/24 آدرس IP ثابت و Subnet Mask را به‌صورت 192.168.1.100 با Subnet Mask 255.255.255.0 تنظیم می‌کند (که معادل /24 است).
  4. پس از ویرایش فایل، آن را ذخیره کرده و خارج شوید.
  5. برای اعمال تغییرات، دستور زیر را اجرا کنید:
    sudo netplan apply
    

4. پیکربندی Subnet Mask در سیستم‌های قدیمی‌تر یا دیگر توزیع‌ها

در سیستم‌های قدیمی‌تر یا در توزیع‌های دیگری که از ifupdown استفاده می‌کنند، پیکربندی Subnet Mask به‌طور مستقیم در فایل /etc/network/interfaces انجام می‌شود.

  1. ابتدا فایل پیکربندی شبکه را ویرایش کنید:
    sudo nano /etc/network/interfaces
    
  2. در این فایل، برای تنظیم Subnet Mask، باید موارد زیر را وارد کنید:
    auto eth0
    iface eth0 inet static
        address 192.168.1.100
        netmask 255.255.255.0
        gateway 192.168.1.1
    

    در اینجا:

    • netmask 255.255.255.0 Subnet Mask را تنظیم می‌کند.
    • address آدرس IP ثابت و gateway آدرس Gateway را مشخص می‌کنند.
  3. پس از ویرایش فایل، آن را ذخیره کرده و خارج شوید.
  4. برای اعمال تغییرات، رابط شبکه را ریستارت کنید:
    sudo ifdown eth0 && sudo ifup eth0
    

5. بررسی تنظیمات Subnet Mask

برای بررسی تنظیمات Subnet Mask، می‌توانید از دستور ip a یا ifconfig استفاده کنید. به‌طور مثال:

ip a

خروجی این دستور باید شامل اطلاعاتی مانند این باشد:

inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0

در اینجا /24 نشان‌دهنده Subnet Mask 255.255.255.0 است.


جمع‌بندی

در این بخش، نحوه پیکربندی Subnet Mask برای تقسیم‌بندی شبکه در سیستم‌های لینوکسی را بررسی کردیم. اگر از DHCP استفاده می‌کنید، Subnet Mask به‌طور خودکار از سرور DHCP دریافت می‌شود. در صورتی که از آدرس IP ثابت استفاده می‌کنید، شما باید به‌صورت دستی Subnet Mask را در فایل‌های پیکربندی مربوطه تنظیم کنید. در سیستم‌های جدیدتر Ubuntu از netplan برای پیکربندی شبکه استفاده می‌شود، در حالی که در سیستم‌های قدیمی‌تر یا دیگر توزیع‌ها از فایل /etc/network/interfaces برای تنظیمات استفاده می‌شود.

با استفاده از دستورات ip a یا ifconfig می‌توانید تنظیمات شبکه خود، از جمله Subnet Mask، را بررسی کنید.[/cdb_course_lesson][cdb_course_lesson title=”فصل 2. تنظیمات فایروال و امنیت شبکه”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”فعال‌سازی Firewall و پیکربندی قوانینی برای محدود کردن دسترسی‌ها” subtitle=”توضیحات کامل”]Firewall یا فایروال یکی از اجزای حیاتی برای امنیت سیستم‌ها است که وظیفه محافظت از دستگاه در برابر دسترسی‌های غیرمجاز را بر عهده دارد. فعال‌سازی و پیکربندی فایروال به شما این امکان را می‌دهد که ترافیک ورودی و خروجی به سیستم را کنترل کرده و از نفوذهای احتمالی جلوگیری کنید. در این بخش، نحوه فعال‌سازی فایروال و پیکربندی قوانین برای محدود کردن دسترسی‌ها به‌طور کامل بررسی می‌شود.


1. استفاده از ufw برای مدیریت فایروال در اوبونتو

در اکثر سیستم‌های مبتنی بر اوبونتو، ابزار ufw (Uncomplicated Firewall) به‌طور پیش‌فرض نصب شده است و برای مدیریت فایروال استفاده می‌شود. ufw یک ابزار ساده و کاربرپسند برای تنظیم قوانین فایروال است.

1.1. فعال‌سازی ufw

برای فعال‌سازی فایروال با استفاده از ufw، مراحل زیر را دنبال کنید:

  1. ابتدا وضعیت فایروال را بررسی کنید:
    sudo ufw status
    
  2. اگر فایروال غیرفعال باشد، برای فعال‌سازی آن دستور زیر را وارد کنید:
    sudo ufw enable
    
  3. برای بررسی دوباره وضعیت فایروال پس از فعال‌سازی، از دستور زیر استفاده کنید:
    sudo ufw status verbose
    

2. پیکربندی قوانین فایروال برای محدود کردن دسترسی‌ها

پس از فعال‌سازی فایروال، می‌توانید قوانین موردنظر خود را برای کنترل ترافیک ورودی و خروجی اضافه کنید. برای این کار، نیاز دارید که پورت‌ها و پروتکل‌های موردنظر را تنظیم کنید.

2.1. اجازه دادن به ترافیک ورودی از یک IP خاص

برای محدود کردن دسترسی‌ها به‌طور مثال به یک IP خاص، می‌توانید از دستور زیر استفاده کنید تا فقط از یک IP خاص به پورت موردنظر دسترسی داده شود:

sudo ufw allow from 192.168.1.100 to any port 22

این دستور به آدرس IP 192.168.1.100 اجازه می‌دهد تا از طریق پورت 22 (پورت SSH) به سیستم دسترسی داشته باشد.

2.2. مسدود کردن دسترسی از یک IP خاص

برای مسدود کردن دسترسی از یک آدرس IP خاص، دستور زیر را وارد کنید:

sudo ufw deny from 192.168.1.200

این دستور تمام ترافیک ورودی از IP 192.168.1.200 را مسدود می‌کند.

2.3. مسدود کردن دسترسی به یک پورت خاص

اگر بخواهید دسترسی به یک پورت خاص را به‌طور کلی مسدود کنید، می‌توانید از دستور زیر استفاده کنید:

sudo ufw deny 80

این دستور دسترسی به پورت 80 (پورت HTTP) را مسدود می‌کند.

2.4. اجازه دادن به ترافیک از یک شبکه خاص

اگر بخواهید به یک شبکه خاص (مثلاً یک رنج IP) دسترسی بدهید، از دستور زیر استفاده کنید:

sudo ufw allow from 192.168.1.0/24 to any port 22

این دستور به تمام دستگاه‌ها در شبکه 192.168.1.0/24 اجازه می‌دهد تا از طریق پورت 22 (پورت SSH) به سیستم دسترسی داشته باشند.


3. مدیریت قوانین و مشاهده وضعیت فایروال

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

3.1. مشاهده لیست قوانین

برای مشاهده لیست تمام قوانین فعال فایروال، دستور زیر را وارد کنید:

sudo ufw status numbered

این دستور لیستی از تمام قوانین را به‌صورت شماره‌دار نمایش می‌دهد.

3.2. حذف یک قانون فایروال

برای حذف یک قانون فایروال، ابتدا باید شماره قانون موردنظر را از لیست مشاهده شده دریافت کرده و سپس دستور زیر را وارد کنید:

sudo ufw delete <number>

به‌جای <number> شماره قانونی که می‌خواهید حذف کنید را وارد کنید.

3.3. غیرفعال کردن فایروال

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

sudo ufw disable

4. پیکربندی فایروال با استفاده از iptables

در صورتی که بخواهید به‌طور پیشرفته‌تر فایروال را پیکربندی کنید یا اگر از توزیع‌های دیگری استفاده می‌کنید که ufw پیش‌فرض نیست، می‌توانید از iptables استفاده کنید.

4.1. مشاهده قوانین فعال iptables

برای مشاهده قوانین فعال iptables، از دستور زیر استفاده کنید:

sudo iptables -L
4.2. اضافه کردن قانون برای مسدود کردن ترافیک از یک IP خاص

برای مسدود کردن ترافیک از یک IP خاص با استفاده از iptables، دستور زیر را وارد کنید:

sudo iptables -A INPUT -s 192.168.1.200 -j DROP

این دستور تمام ترافیک ورودی از IP 192.168.1.200 را مسدود می‌کند.

4.3. ذخیره قوانین iptables

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

sudo iptables-save > /etc/iptables/rules.v4

این دستور قوانین فایروال را در فایل /etc/iptables/rules.v4 ذخیره می‌کند.


جمع‌بندی

در این بخش، نحوه فعال‌سازی فایروال و پیکربندی قوانین برای محدود کردن دسترسی‌ها به سیستم بررسی شد. ابزار ufw یک روش ساده و کاربرپسند برای مدیریت فایروال در سیستم‌های مبتنی بر اوبونتو است که به شما این امکان را می‌دهد تا دسترسی‌ها را کنترل کنید. در صورت نیاز به پیکربندی پیشرفته‌تر، می‌توانید از iptables استفاده کنید که امکانات بیشتری برای مدیریت فایروال فراهم می‌کند. همچنین برای مسدود کردن یا اجازه دادن به ترافیک از IP‌ها، پورت‌ها یا شبکه‌های خاص، دستورات مختلفی را می‌توان استفاده کرد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیم Port Forwarding برای خدمات خاص (مثل SIP و IAX)” subtitle=”توضیحات کامل”]Port Forwarding یا فورواردینگ پورت، روشی است که به کمک آن می‌توانید ترافیک ورودی به پورت‌های خاص روی روتر یا فایروال را به سرورهای داخلی منتقل کنید. این تنظیمات برای سرویس‌هایی مانند SIP (Session Initiation Protocol) و IAX (Inter-Asterisk Exchange) که برای ارتباطات VoIP استفاده می‌شوند، بسیار مهم است. این بخش نحوه تنظیم Port Forwarding برای این خدمات خاص را در سیستم‌ها و روترهای مختلف بررسی خواهد کرد.


1. پیکربندی Port Forwarding برای SIP

SIP یکی از پروتکل‌های اصلی برای ارتباطات VoIP است که معمولاً از پورت‌های 5060 و 5061 استفاده می‌کند. برای پیکربندی Port Forwarding برای SIP، نیاز دارید تا این پورت‌ها را به IP داخلی دستگاه خود هدایت کنید.

1.1. تنظیمات Port Forwarding در روتر

برای تنظیم Port Forwarding در روتر، مراحل زیر را دنبال کنید:

  1. وارد صفحه تنظیمات روتر شوید (معمولاً از طریق مرورگر با وارد کردن آدرس IP روتر، مانند 192.168.1.1).
  2. وارد بخش “Port Forwarding” یا “Virtual Server” شوید.
  3. یک قانون جدید برای پورت 5060 (و پورت 5061 برای TLS) بسازید:
    • پورت خارجی: 5060 (و 5061 برای TLS)
    • پورت داخلی: 5060 (و 5061 برای TLS)
    • IP مقصد: آدرس IP داخلی سرور SIP شما
    • پروتکل: UDP (برای SIP استاندارد) یا TCP (برای SIP over TLS)
  4. ذخیره تنظیمات و بازگشت به صفحه اصلی.
1.2. پیکربندی فایروال برای اجازه دادن به ترافیک SIP

اگر از فایروال محلی برای مسدود کردن پورت‌ها استفاده می‌کنید، باید پورت 5060 و 5061 را باز کنید.

برای فایروال ufw (در سیستم‌های مبتنی بر اوبونتو):

sudo ufw allow 5060/udp
sudo ufw allow 5061/tcp

این دستورات به ترافیک ورودی به پورت‌های SIP اجازه می‌دهند.

برای فایروال iptables:

sudo iptables -A INPUT -p udp --dport 5060 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 5061 -j ACCEPT

این دستورات ترافیک ورودی به پورت‌های 5060 (UDP) و 5061 (TCP) را مجاز می‌کنند.


2. پیکربندی Port Forwarding برای IAX

IAX پروتکلی است که معمولاً برای ارتباطات VoIP در سیستم‌های مبتنی بر Asterisk استفاده می‌شود. این پروتکل از پورت 4569 برای ارتباطات استفاده می‌کند.

2.1. تنظیمات Port Forwarding در روتر برای IAX

برای تنظیم Port Forwarding برای IAX، مراحل مشابه با SIP را دنبال کنید:

  1. وارد صفحه تنظیمات روتر شوید.
  2. به بخش “Port Forwarding” یا “Virtual Server” بروید.
  3. یک قانون جدید برای پورت 4569 بسازید:
    • پورت خارجی: 4569
    • پورت داخلی: 4569
    • IP مقصد: آدرس IP داخلی سرور Asterisk (سرور IAX شما)
    • پروتکل: UDP
  4. ذخیره تنظیمات و بازگشت به صفحه اصلی.
2.2. پیکربندی فایروال برای اجازه دادن به ترافیک IAX

در فایروال‌ها نیز باید پورت 4569 را باز کنید تا ترافیک IAX به سرور داخلی هدایت شود.

برای ufw:

sudo ufw allow 4569/udp

برای iptables:

sudo iptables -A INPUT -p udp --dport 4569 -j ACCEPT

این دستورات به ترافیک ورودی به پورت 4569 (برای IAX) اجازه می‌دهند.


3. بررسی و تست Port Forwarding

پس از پیکربندی Port Forwarding برای SIP و IAX، باید از درستی تنظیمات اطمینان حاصل کنید. برای این کار، می‌توانید از ابزارهایی مانند telnet یا nc برای بررسی اتصال به پورت‌های مربوطه استفاده کنید.

برای تست پورت SIP (5060):

telnet <your-external-ip> 5060

برای تست پورت IAX (4569):

telnet <your-external-ip> 4569

اگر اتصال موفقیت‌آمیز باشد، نشان‌دهنده این است که تنظیمات Port Forwarding به درستی انجام شده است.


جمع‌بندی

در این بخش، نحوه تنظیم Port Forwarding برای پروتکل‌های SIP و IAX مورد بررسی قرار گرفت. این تنظیمات برای ارتباطات VoIP بسیار حیاتی هستند و به شما این امکان را می‌دهند که ترافیک ورودی به سرورهای داخلی خود را هدایت کنید. علاوه بر تنظیمات روتر، نیاز است که پورت‌های موردنظر را در فایروال باز کنید تا ترافیک به‌درستی منتقل شود. پس از اعمال تنظیمات، با استفاده از ابزارهای تست، می‌توانید از صحت عملکرد آنها اطمینان حاصل کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”بررسی تنظیمات SELinux و تنظیمات امنیتی” subtitle=”توضیحات کامل”]SELinux (Security-Enhanced Linux) یک ماژول امنیتی برای هسته لینوکس است که به‌طور پیش‌فرض در بسیاری از توزیع‌های لینوکس از جمله ردهت و سنت‌اواس فعال است. SELinux سطح بالاتری از امنیت را برای سیستم‌ها فراهم می‌کند و به‌ویژه برای جلوگیری از حملات و سوءاستفاده‌ها در سطح هسته و سرویس‌های مختلف سیستم مفید است.

در این بخش، به بررسی نحوه پیکربندی SELinux و تنظیمات امنیتی مرتبط با آن خواهیم پرداخت تا بتوانید امنیت سیستم خود را به‌طور مؤثری افزایش دهید.


1. بررسی وضعیت SELinux

برای بررسی وضعیت SELinux و وضعیت امنیتی آن، ابتدا باید وضعیت فعال یا غیرفعال بودن آن را مشاهده کنید.

1.1. بررسی وضعیت SELinux با دستور sestatus

برای نمایش وضعیت SELinux، از دستور زیر استفاده کنید:

sestatus

خروجی به‌طور کلی چیزی مشابه این خواهد بود:

SELinux status:                 enabled
SELinuxfs mount:                /selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                  enforcing

در اینجا مهم‌ترین قسمت‌ها عبارتند از:

  • SELinux status: نشان‌دهنده این است که SELinux فعال است یا خیر.
  • Current mode: مشخص می‌کند که SELinux در حالت Enforcing، Permissive یا Disabled قرار دارد.
  • Enforcing: در این حالت، SELinux به‌طور کامل فعال است و قوانین امنیتی را اجرا می‌کند.
  • Permissive: در این حالت، SELinux قوانین را اعمال نمی‌کند، بلکه فقط آن‌ها را گزارش می‌کند.
  • Disabled: در این حالت، SELinux غیرفعال است و هیچ‌گونه محدودیت امنیتی از این طریق اعمال نمی‌شود.
1.2. تغییر وضعیت SELinux

برای تغییر وضعیت SELinux، ابتدا باید فایل پیکربندی SELinux را ویرایش کنید. مسیر فایل پیکربندی SELinux به‌طور پیش‌فرض در /etc/selinux/config قرار دارد.

برای تغییر تنظیمات SELinux، دستور زیر را برای ویرایش فایل استفاده کنید:

sudo nano /etc/selinux/config

در داخل فایل، خطوط زیر را خواهید دید:

SELINUX=enforcing
SELINUXTYPE=targeted

برای غیرفعال کردن SELinux، مقدار SELINUX را به disabled تغییر دهید:

SELINUX=disabled

برای تغییر به حالت permissive:

SELINUX=permissive

پس از تغییر این تنظیمات، باید سیستم را مجدداً راه‌اندازی کنید تا تغییرات اعمال شوند:

sudo reboot

2. تنظیمات امنیتی در SELinux

برای مدیریت قوانین امنیتی و سیاست‌ها، SELinux از نوع سیاست‌های مختلفی پشتیبانی می‌کند که در اینجا به توضیح چند نوع اصلی خواهیم پرداخت:

2.1. مدیریت سیاست‌ها

در SELinux، سیاست‌ها مجموعه‌ای از قوانین امنیتی هستند که برای کنترل دسترسی به منابع سیستم تعریف می‌شوند. دو نوع سیاست معمول وجود دارد:

  • Targeted: سیاست پیش‌فرض که امنیت را بر روی برخی از سرویس‌ها هدف قرار می‌دهد.
  • Strict: این سیاست امنیت بیشتری را فراهم می‌کند و دسترسی به منابع را به‌طور دقیق‌تری محدود می‌کند.

برای تغییر نوع سیاست، در فایل /etc/selinux/config مقدار SELINUXTYPE را به یکی از مقادیر targeted یا strict تغییر دهید:

SELINUXTYPE=targeted

3. پیکربندی SELinux برای برنامه‌ها و سرویس‌ها

با توجه به اینکه SELinux می‌تواند برای هر برنامه یا سرویس محدودیت‌های خاصی را ایجاد کند، ممکن است نیاز باشد که برای برخی از سرویس‌ها تنظیمات خاصی انجام دهید.

3.1. تغییرات امنیتی برای سرویس‌های خاص

برای مثال، اگر سرویس Apache نتواند به یک دایرکتوری خاص دسترسی داشته باشد، می‌توانید دسترسی را از طریق دستورات زیر تنظیم کنید:

  1. بررسی وضعیت SELinux برای Apache:
sestatus | grep httpd

اگر Apache در حالت denied قرار دارد، باید از دستورات SELinux برای تغییر وضعیت آن استفاده کنید.

  1. اعطای دسترسی به دایرکتوری‌ها:

برای اعطای دسترسی به یک دایرکتوری خاص، از دستور chcon استفاده کنید:

sudo chcon -t httpd_sys_content_t /var/www/html/mydirectory

این دستور نوع امنیتی مناسب برای دسترسی Apache به دایرکتوری را تنظیم می‌کند.

3.2. گزارش خطاهای SELinux

در صورتی که SELinux جلوی دسترسی به برنامه‌ها را بگیرد، می‌توانید لاگ‌های SELinux را بررسی کنید تا اطلاعات بیشتری دریافت کنید. این اطلاعات در فایل /var/log/audit/audit.log ثبت می‌شود.

برای مشاهده گزارش‌ها، می‌توانید از دستور ausearch استفاده کنید:

sudo ausearch -m avc -ts recent

این دستور خطاهای اخیر را نمایش می‌دهد.


4. استفاده از ابزار semanage برای مدیریت تنظیمات SELinux

ابزار semanage یکی از ابزارهای خط فرمان برای مدیریت تنظیمات SELinux است. این ابزار برای افزودن یا حذف قوانین به‌طور مستقیم استفاده می‌شود.

برای مثال، برای افزودن پورت جدید به سیاست SELinux برای یک سرویس خاص مانند HTTPD، می‌توانید دستور زیر را استفاده کنید:

sudo semanage port -a -t http_port_t -p tcp 8080

این دستور پورت 8080 را به سیاست SELinux برای سرویس HTTPD اضافه می‌کند.


جمع‌بندی

در این بخش، نحوه پیکربندی SELinux و تنظیمات امنیتی مرتبط با آن بررسی شد. SELinux به‌عنوان یک لایه امنیتی اضافی برای سیستم‌ها، می‌تواند در برابر تهدیدات و حملات خارجی مؤثر باشد. تنظیم وضعیت SELinux، تغییر سیاست‌ها و مدیریت دسترسی‌ها به سرویس‌ها از جمله اقداماتی است که می‌تواند امنیت سیستم را بهبود بخشد. علاوه بر این، ابزارهایی مانند semanage و ausearch می‌توانند در مدیریت و بررسی تنظیمات SELinux کمک کنند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 3. مدیریت کاربران و دسترسی‌ها”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”ایجاد کاربران در سیستم و تخصیص مجوزهای مختلف” subtitle=”توضیحات کامل”]مدیریت کاربران و تخصیص مجوزهای مناسب یکی از اجزای حیاتی در هر سیستم‌عاملی است که به‌ویژه در لینوکس برای امنیت و کارایی به‌طور ویژه مورد توجه قرار می‌گیرد. در این بخش، به آموزش نحوه ایجاد کاربران جدید در سیستم لینوکس و تخصیص مجوزها و دسترسی‌های مختلف به آن‌ها می‌پردازیم. این کار به‌ویژه در محیط‌های سازمانی و سرورها اهمیت زیادی دارد.


1. ایجاد کاربران جدید در سیستم

برای ایجاد یک کاربر جدید در لینوکس، از دستور useradd استفاده می‌شود. این دستور اجازه می‌دهد که یک کاربر جدید به سیستم اضافه شود و مشخصات مختلفی از جمله دایرکتوری خانگی، گروه‌های کاربری، و شل پیش‌فرض را تنظیم کند.

1.1. دستور useradd برای ایجاد یک کاربر جدید

برای ایجاد یک کاربر جدید به‌طور ساده، دستور زیر را وارد کنید:

sudo useradd username

در اینجا username نام کاربری است که می‌خواهید ایجاد کنید. پس از ایجاد کاربر، باید یک رمز عبور برای آن تعیین کنید.

1.2. تعیین رمز عبور برای کاربر جدید

برای تنظیم رمز عبور برای کاربر جدید از دستور passwd استفاده می‌شود:

sudo passwd username

این دستور از شما می‌خواهد که رمز عبور جدید را وارد کنید.

1.3. ایجاد کاربر با تنظیمات سفارشی

شما می‌توانید با استفاده از گزینه‌های مختلف، کاربر را با تنظیمات خاص ایجاد کنید. به‌طور مثال، می‌توانید دایرکتوری خانگی و شل پیش‌فرض را برای کاربر تنظیم کنید.

برای ایجاد کاربر با دایرکتوری خانگی خاص و شل پیش‌فرض به‌طور مثال /bin/bash، دستور زیر را وارد کنید:

sudo useradd -m -d /home/username -s /bin/bash username

در این دستور:

  • -m: دایرکتوری خانگی برای کاربر ایجاد می‌کند.
  • -d /home/username: دایرکتوری خانگی را مشخص می‌کند.
  • -s /bin/bash: شل پیش‌فرض را برای کاربر تنظیم می‌کند.

2. تخصیص گروه‌ها به کاربران

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

2.1. ایجاد گروه جدید

برای ایجاد یک گروه جدید از دستور groupadd استفاده می‌شود:

sudo groupadd groupname

در اینجا groupname نام گروه جدیدی است که می‌خواهید ایجاد کنید.

2.2. افزودن کاربر به یک گروه

برای افزودن کاربر به گروه، از دستور usermod استفاده می‌شود:

sudo usermod -aG groupname username

در اینجا:

  • -aG: برای افزودن کاربر به گروه جدید.
  • groupname: نام گروهی که کاربر باید به آن اضافه شود.
  • username: نام کاربری که باید به گروه اضافه شود.

این دستور کاربر را به گروه مشخص شده اضافه می‌کند.


3. تخصیص مجوزهای دسترسی به فایل‌ها و دایرکتوری‌ها

در لینوکس، مجوزهای دسترسی به فایل‌ها و دایرکتوری‌ها با استفاده از مالکیت (Owner)، گروه (Group)، و سایرین (Others) مدیریت می‌شود. این مجوزها می‌توانند برای هر فایل یا دایرکتوری تنظیم شوند.

3.1. نمایش مجوزهای دسترسی

برای نمایش مجوزهای دسترسی به فایل‌ها و دایرکتوری‌ها از دستور ls -l استفاده کنید:

ls -l /path/to/file

این دستور مجوزهای دسترسی به فایل یا دایرکتوری را نمایش می‌دهد.

3.2. تغییر مجوزهای دسترسی با دستور chmod

برای تغییر مجوزهای دسترسی به یک فایل یا دایرکتوری از دستور chmod استفاده می‌شود. این دستور به شما اجازه می‌دهد که مجوزهای خواندن (Read)، نوشتن (Write) و اجرا (Execute) را تنظیم کنید.

برای مثال، برای اعطای مجوزهای خواندن، نوشتن و اجرای کامل به کاربر مالک فایل، و تنها مجوز خواندن به گروه و دیگران، دستور زیر را وارد کنید:

sudo chmod 744 /path/to/file

در این دستور:

  • عدد 7 به کاربر مالک مجوز خواندن، نوشتن و اجرا را می‌دهد.
  • عدد 4 به گروه تنها مجوز خواندن را می‌دهد.
  • عدد 4 به دیگران نیز تنها مجوز خواندن را می‌دهد.
3.3. تغییر مالکیت فایل‌ها و دایرکتوری‌ها با دستور chown

برای تغییر مالکیت یک فایل یا دایرکتوری از دستور chown استفاده می‌شود:

sudo chown owner:group /path/to/file

در اینجا:

  • owner: نام کاربری مالک جدید.
  • group: نام گروه جدید.
  • /path/to/file: مسیر فایل یا دایرکتوری.

برای تغییر مالکیت یک فایل به کاربر جدید و گروه جدید، به‌طور مثال، دستور زیر را وارد کنید:

sudo chown username:groupname /path/to/file

4. تخصیص مجوزهای خاص به فایل‌ها و دایرکتوری‌ها با ACL

دسترسی‌ها و مجوزها می‌توانند پیچیده‌تر از سیستم مالکیت و گروه‌های ساده باشند. برای این منظور می‌توانید از ACL (Access Control Lists) استفاده کنید.

4.1. فعال‌سازی ACL

برای استفاده از ACL، ابتدا باید بررسی کنید که سیستم فایل شما از آن پشتیبانی می‌کند. به‌طور معمول، ACL برای سیستم‌های فایل ext4 فعال است.

برای مشاهده اینکه آیا ACL فعال است یا نه، از دستور زیر استفاده کنید:

sudo tune2fs -l /dev/sdX | grep "Default mount options"

اگر acl در خروجی دیده شد، ACL فعال است.

4.2. اضافه کردن مجوز به کاربر یا گروه با ACL

برای افزودن مجوز خاص به یک کاربر یا گروه با استفاده از ACL، از دستور setfacl استفاده می‌شود:

sudo setfacl -m u:username:rwx /path/to/file

در اینجا:

  • u:username:rwx: مجوزهای خواندن (r)، نوشتن (w)، و اجرا (x) را به کاربر username می‌دهد.
  • /path/to/file: مسیر فایل یا دایرکتوری.

جمع‌بندی

در این بخش، نحوه ایجاد کاربران جدید در سیستم لینوکس، تخصیص آن‌ها به گروه‌های مختلف، و مدیریت مجوزهای دسترسی به فایل‌ها و دایرکتوری‌ها بررسی شد. همچنین، تنظیمات مربوط به مجوزهای دسترسی، تغییر مالکیت، و استفاده از ACL برای مدیریت دقیق‌تر دسترسی‌ها به فایل‌ها و دایرکتوری‌ها توضیح داده شد. این روش‌ها ابزارهایی قدرتمند برای مدیریت امنیت و دسترسی‌ها در سیستم‌های لینوکسی هستند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیم گروه‌های کاربران و دسترسی‌های مختلف به بخش‌های مختلف سیستم (مانند مدیریت تماس‌ها یا مشاهده گزارش‌ها)” subtitle=”توضیحات کامل”]مدیریت دسترسی‌های کاربران در سیستم‌عامل لینوکس از طریق گروه‌ها و تخصیص مجوزهای مناسب انجام می‌شود. در سیستم‌های سرور و نرم‌افزارهای مبتنی بر لینوکس، مانند سیستم‌های VoIP یا هر سرویس دیگر، تخصیص دسترسی‌ها به کاربران بر اساس نیاز به عملکردهای خاص بسیار مهم است. در این بخش، به نحوه تنظیم گروه‌های کاربران و تخصیص دسترسی‌های مختلف به بخش‌های خاص سیستم از جمله مدیریت تماس‌ها، مشاهده گزارش‌ها و سایر قابلیت‌ها می‌پردازیم.


1. تنظیم گروه‌های کاربران

گروه‌های کاربران در لینوکس به شما این امکان را می‌دهند که مجموعه‌ای از کاربران با دسترسی‌های مشابه را به‌طور گروهی مدیریت کنید. این کار می‌تواند به شما کمک کند که دسترسی به بخش‌های مختلف سیستم را ساده‌تر مدیریت کنید.

1.1. ایجاد یک گروه جدید

برای ایجاد یک گروه جدید از دستور groupadd استفاده می‌شود:

sudo groupadd groupname

در اینجا، groupname نام گروه جدیدی است که می‌خواهید ایجاد کنید.

1.2. افزودن کاربران به گروه

برای افزودن یک یا چند کاربر به گروهی که ایجاد کرده‌اید، از دستور usermod استفاده کنید. به‌طور مثال، برای افزودن یک کاربر به گروه:

sudo usermod -aG groupname username

در اینجا:

  • -aG: برای افزودن کاربر به گروه.
  • groupname: نام گروه.
  • username: نام کاربر.

برای افزودن چندین کاربر به یک گروه، کافی است که نام کاربران را جداگانه وارد کنید:

sudo usermod -aG groupname user1 user2 user3

2. تخصیص دسترسی به بخش‌های مختلف سیستم

برای تخصیص دسترسی به بخش‌های مختلف سیستم، از ترکیب گروه‌ها و دسترسی‌های مختلف فایل‌ها استفاده می‌کنیم. به‌طور مثال، یک گروه خاص ممکن است فقط دسترسی به گزارش‌ها داشته باشد، در حالی که گروه دیگری فقط بتواند تماس‌ها را مدیریت کند.

2.1. مدیریت دسترسی به گزارش‌ها

در این سناریو، اگر می‌خواهید فقط اعضای یک گروه خاص قادر به مشاهده گزارش‌ها باشند، باید مجوزهای دسترسی به فایل‌های گزارش‌ها را برای آن گروه تنظیم کنید.

فرض کنید فایل گزارش‌ها در مسیر /var/log/report.log قرار دارد. برای تخصیص دسترسی فقط به گروه خاص برای خواندن این فایل، از دستورات زیر استفاده کنید:

2.1.1. تغییر گروه فایل گزارش
sudo chown :groupname /var/log/report.log

در اینجا، groupname نام گروهی است که فقط اعضای آن باید به گزارش‌ها دسترسی داشته باشند.

2.1.2. تنظیم مجوزهای دسترسی برای گروه

برای تنظیم مجوزهای دسترسی به گروه، از دستور chmod استفاده کنید:

sudo chmod 640 /var/log/report.log

در این دستور:

  • 6 به گروه خواندن و نوشتن (rw-) مجوز می‌دهد.
  • 4 به دیگران فقط مجوز خواندن (r–) می‌دهد.
2.1.3. اضافه کردن کاربران به گروه

برای افزودن کاربران به گروه مخصوص گزارش‌ها:

sudo usermod -aG groupname username
2.2. مدیریت دسترسی به تماس‌ها

در سناریو دیگر، اگر می‌خواهید دسترسی به مدیریت تماس‌ها را فقط به گروه خاصی بدهید، باید تنظیمات دسترسی برای فایل‌های مربوط به مدیریت تماس‌ها را انجام دهید.

فرض کنید سیستم مدیریت تماس‌ها از نرم‌افزار Asterisk استفاده می‌کند و فایل‌های پیکربندی آن در مسیر /etc/asterisk/ قرار دارد. برای تخصیص دسترسی فقط به گروه خاص برای مدیریت این فایل‌ها، مراحل زیر را انجام دهید:

2.2.1. تغییر گروه فایل‌های Asterisk
sudo chown :groupname /etc/asterisk/*

این دستور مالکیت فایل‌های پیکربندی Asterisk را به گروه مشخص شده اختصاص می‌دهد.

2.2.2. تنظیم مجوزهای دسترسی برای گروه

برای اینکه اعضای گروه فقط بتوانند این فایل‌ها را ویرایش کنند، اما دیگران نتوانند به آن‌ها دسترسی پیدا کنند:

sudo chmod 660 /etc/asterisk/*

در اینجا:

  • 6 به گروه خواندن و نوشتن (rw-) مجوز می‌دهد.
  • 0 به دیگران هیچ مجوزی نمی‌دهد.
2.2.3. اضافه کردن کاربران به گروه

برای افزودن کاربران به گروه مخصوص مدیریت تماس‌ها:

sudo usermod -aG groupname username

3. استفاده از ACL برای مدیریت دسترسی پیچیده‌تر

در صورتی که نیاز به تخصیص دسترسی‌های پیچیده‌تر داشته باشید، می‌توانید از ACL (Access Control Lists) استفاده کنید تا به‌طور دقیق‌تری دسترسی‌ها را مدیریت کنید.

3.1. فعال‌سازی ACL

ابتدا باید مطمئن شوید که ACL بر روی سیستم شما فعال است. برای بررسی این موضوع، از دستور زیر استفاده کنید:

sudo tune2fs -l /dev/sdX | grep "Default mount options"

اگر acl در خروجی نشان داده شد، یعنی ACL فعال است.

3.2. افزودن دسترسی با ACL

برای افزودن دسترسی به یک فایل خاص با استفاده از ACL، دستور setfacl را به کار ببرید:

sudo setfacl -m g:groupname:rw /path/to/file

در اینجا:

  • g:groupname:rw به گروه خاص اجازه خواندن و نوشتن را می‌دهد.
  • /path/to/file مسیر فایل یا دایرکتوری است.
3.3. مشاهده دسترسی‌ها با ACL

برای مشاهده دسترسی‌های ACL یک فایل، از دستور getfacl استفاده کنید:

getfacl /path/to/file

جمع‌بندی

در این بخش، نحوه ایجاد گروه‌های کاربران، تخصیص دسترسی‌های مختلف به بخش‌های مختلف سیستم، مانند مدیریت تماس‌ها یا مشاهده گزارش‌ها، بررسی شد. با استفاده از دستورات usermod برای افزودن کاربران به گروه‌ها، chown و chmod برای تنظیم دسترسی‌ها و ACL برای مدیریت دسترسی‌های پیچیده‌تر، می‌توانیم دسترسی‌های سیستم را به‌طور دقیق‌تری تنظیم کنیم. این روش‌ها ابزارهای قدرتمند برای مدیریت امنیت و دسترسی‌ها در سیستم‌های لینوکسی هستند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”ایجاد Role-based Access Control (RBAC) برای تفکیک دسترسی‌ها” subtitle=”توضیحات کامل”]Role-based Access Control (RBAC) یک مدل امنیتی است که به مدیران سیستم این امکان را می‌دهد تا دسترسی به منابع سیستم را بر اساس نقش‌های کاربران مدیریت کنند. با استفاده از RBAC، می‌توان دسترسی‌های مختلف را برای هر کاربر بر اساس نقش‌ یا وظیفه‌ای که در سیستم دارد، تخصیص داد. این مدل به‌ویژه در سیستم‌های بزرگ و پیچیده‌ای مانند سیستم‌های VoIP، Kubernetes و سایر سیستم‌های مبتنی بر سرور کاربرد دارد.

در این بخش، به نحوه پیاده‌سازی و پیکربندی RBAC در سیستم‌های مختلف می‌پردازیم.


1. مفهوم و اصول RBAC

در مدل RBAC، کاربران به گروه‌هایی تعلق دارند که نقش‌های مختلفی دارند. این نقش‌ها معمولاً شامل دسته‌های مختلف مانند مدیر سیستم، کاربر عادی، بازبین، و کاربر موقت است. هر نقش مجوزهای خاص خود را دارد که اجازه دسترسی به منابع مختلف سیستم را می‌دهد.

نقش‌ها می‌توانند دسترسی‌های مختلفی به منابع را بر اساس نیازهای کاربر و سطح دسترسی او فراهم کنند. به‌طور مثال، مدیر سیستم دسترسی به تمامی منابع سیستم دارد، در حالی که یک کاربر عادی فقط به بخش‌هایی از سیستم که به آن نیاز دارد، دسترسی خواهد داشت.


2. پیاده‌سازی RBAC در سیستم‌های لینوکسی

در سیستم‌عامل‌های لینوکس، ابزارهایی مانند sudo, groups, chown, و chmod برای مدیریت دسترسی‌ها و ایجاد نقش‌های مختلف استفاده می‌شوند. برای پیاده‌سازی RBAC در لینوکس، از ترکیب این ابزارها استفاده می‌کنیم.

2.1. ایجاد نقش‌های مختلف

برای ایجاد نقش‌های مختلف، ابتدا باید گروه‌های مختلفی بسازیم که به هر کدام یک نقش خاص داده شود.

2.1.1. ایجاد گروه‌ها برای نقش‌ها

برای هر نقش، یک گروه جدید ایجاد می‌کنیم. به‌عنوان مثال، گروه‌های admin, user, و auditor برای نقش‌های مختلف به‌صورت زیر ساخته می‌شوند:

sudo groupadd admin
sudo groupadd user
sudo groupadd auditor
2.1.2. افزودن کاربران به گروه‌ها

پس از ایجاد گروه‌ها، کاربران را به گروه‌های مربوطه اضافه می‌کنیم. برای مثال، کاربر john به گروه admin، کاربر alice به گروه user، و کاربر bob به گروه auditor اضافه می‌شود:

sudo usermod -aG admin john
sudo usermod -aG user alice
sudo usermod -aG auditor bob
2.2. تخصیص دسترسی‌ها به گروه‌ها

بعد از ایجاد گروه‌ها، باید دسترسی‌های مناسب به فایل‌ها، دایرکتوری‌ها و منابع مختلف سیستم تخصیص داده شود. این کار با استفاده از دستورات chmod, chown, و setfacl انجام می‌شود.

2.2.1. تخصیص دسترسی به فایل‌ها

به‌عنوان مثال، فرض کنید می‌خواهید به گروه admin دسترسی کامل به یک دایرکتوری خاص به نام /etc/asterisk/ بدهید:

sudo chown :admin /etc/asterisk/
sudo chmod 770 /etc/asterisk/

در اینجا:

  • chown :admin مالکیت دایرکتوری را به گروه admin تغییر می‌دهد.
  • chmod 770 دسترسی‌های خواندن، نوشتن و اجرا را برای گروه admin فراهم می‌کند، در حالی که دیگران هیچ دسترسی ندارند.
2.2.2. تخصیص دسترسی به کاربران خاص

اگر می‌خواهید دسترسی‌هایی متفاوت به فایل‌ها برای نقش‌های مختلف داشته باشید، می‌توانید به‌طور خاص مجوزهای مورد نظر را برای هر گروه تنظیم کنید. برای مثال، گروه user می‌تواند فقط دسترسی خواندن به فایل‌ها داشته باشد، در حالی که گروه auditor فقط می‌تواند گزارش‌ها را مشاهده کند.

sudo setfacl -m g:user:r /var/log/asterisk.log
sudo setfacl -m g:auditor:r /var/log/report.log

در اینجا:

  • setfacl به گروه user فقط دسترسی خواندن (r) به فایل /var/log/asterisk.log می‌دهد.
  • به گروه auditor فقط دسترسی خواندن (r) به فایل گزارش /var/log/report.log داده می‌شود.

3. استفاده از RBAC در Kubernetes

در Kubernetes نیز از RBAC برای کنترل دسترسی به منابع استفاده می‌شود. این کنترل‌ها می‌توانند به تفکیک کاربران و گروه‌ها اجازه دهند که به منابع مختلف (مانند پادها، سرویس‌ها، دپلویمنت‌ها و …) دسترسی پیدا کنند.

3.1. تعریف Roles و RoleBindings

در Kubernetes، Role و RoleBinding برای تخصیص دسترسی به منابع استفاده می‌شوند. یک Role مجموعه‌ای از دسترسی‌ها را به منابع مختلف مشخص می‌کند و یک RoleBinding به یک کاربر یا گروه اجازه می‌دهد که به منابعی که توسط یک Role مشخص شده، دسترسی پیدا کند.

3.1.1. ایجاد Role

برای ایجاد یک Role که به کاربران دسترسی به پادها در فضای نام خاص بدهد، می‌توانیم از YAML زیر استفاده کنیم:

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  namespace: default
  name: pod-reader
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get", "list"]
3.1.2. ایجاد RoleBinding

برای ارتباط دادن یک کاربر یا گروه به یک Role، از RoleBinding استفاده می‌کنیم:

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: read-pods
  namespace: default
subjects:
- kind: User
  name: "john"
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: Role
  name: pod-reader
  apiGroup: rbac.authorization.k8s.io

در اینجا:

  • subjects کاربری است که می‌خواهیم دسترسی به منابع را به او بدهیم.
  • roleRef به Role اشاره دارد که دسترسی‌ها را مشخص می‌کند.

جمع‌بندی

در این بخش، نحوه ایجاد و پیاده‌سازی Role-based Access Control (RBAC) برای تفکیک دسترسی‌ها در سیستم‌های لینوکسی و Kubernetes بررسی شد. در لینوکس، گروه‌ها و دسترسی‌های مختلف با استفاده از ابزارهایی مانند usermod, chmod, و setfacl تنظیم می‌شوند، در حالی که در Kubernetes، Role و RoleBinding برای تخصیص دسترسی‌ها به منابع استفاده می‌شوند. این مدل کنترل دسترسی کمک می‌کند تا به‌طور دقیق‌تری نقش‌های مختلف کاربران مدیریت شوند و از امنیت سیستم اطمینان حاصل شود.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیم رمز عبور امن برای کاربران” subtitle=”توضیحات کامل”]امنیت یک سیستم از اهمیت بالایی برخوردار است و یکی از اصلی‌ترین راه‌های تضمین این امنیت، استفاده از رمز عبورهای قوی و امن برای کاربران است. رمزهای عبور ضعیف می‌توانند نقطه ضعف‌های زیادی در سیستم‌ها ایجاد کنند و دسترسی‌های غیرمجاز را ممکن سازند. بنابراین، رعایت بهترین شیوه‌ها در تنظیم رمز عبور برای کاربران امری ضروری است.

در این بخش، نحوه تنظیم رمز عبور امن برای کاربران را در سیستم‌های لینوکسی و همچنین سیاست‌های امنیتی در این زمینه بررسی خواهیم کرد.


1. بهترین شیوه‌ها برای تنظیم رمز عبور امن

برای ایجاد رمز عبورهای امن، باید از ترکیبی از حروف بزرگ و کوچک، اعداد و نمادهای خاص استفاده کرد. همچنین، طول رمز عبور باید حداقل ۱۲ کاراکتر باشد. رمز عبور باید به گونه‌ای طراحی شود که حدس زدن آن دشوار باشد.

1.1. استفاده از رمز عبور طولانی و پیچیده

رمزهای عبور باید شامل حداقل ۱۲ کاراکتر باشند و ترکیبی از حروف کوچک و بزرگ، اعداد و نمادها باشند. برای مثال، یک رمز عبور امن می‌تواند به صورت زیر باشد:

A1b$e2Fg!H9k
1.2. جلوگیری از استفاده از رمزهای عبور ساده

رمزهای عبوری مانند “password123” یا تاریخ تولد فرد نباید مجاز باشند. چنین رمزهایی به راحتی توسط ابزارهای شکستن رمز عبور قابل حدس زدن هستند.

1.3. استفاده از ابزارهای مدیریت رمز عبور

استفاده از ابزارهایی مانند KeePass یا LastPass برای ذخیره و مدیریت رمزهای عبور پیچیده و ایمن، می‌تواند کمک کننده باشد. این ابزارها رمزهای عبور طولانی و پیچیده را برای هر حساب کاربری به‌طور خودکار تولید می‌کنند.


2. تنظیم رمز عبور امن در سیستم لینوکس

در سیستم‌های لینوکس، تنظیم رمز عبور امن برای کاربران به‌طور مستقیم با استفاده از دستور passwd انجام می‌شود. علاوه بر این، می‌توانیم محدودیت‌هایی برای رمز عبور کاربران ایجاد کنیم که از انتخاب رمزهای ضعیف جلوگیری کند.

2.1. تنظیم رمز عبور با استفاده از دستور passwd

برای تنظیم یا تغییر رمز عبور یک کاربر، می‌توانید از دستور زیر استفاده کنید:

sudo passwd username

در اینجا، username نام کاربری است که می‌خواهید رمز عبور آن را تغییر دهید. پس از وارد کردن دستور، سیستم از شما درخواست می‌کند که رمز عبور جدید را وارد کنید و سپس تأیید کنید.

2.2. استفاده از PAM (Pluggable Authentication Modules) برای تقویت سیاست‌های رمز عبور

با استفاده از PAM می‌توانیم سیاست‌های امنیتی بیشتری را برای رمز عبور کاربران اعمال کنیم. به‌طور خاص، فایل پیکربندی pam_pwquality.so می‌تواند برای تعیین قوانین پیچیدگی رمز عبور استفاده شود.

2.2.1. تنظیم قوانین پیچیدگی رمز عبور

برای تنظیم سیاست‌های پیچیدگی رمز عبور، فایل /etc/pam.d/common-password را ویرایش کنید:

sudo nano /etc/pam.d/common-password

سپس، خط زیر را به این فایل اضافه کنید یا اصلاح کنید:

password requisite pam_pwquality.so retry=3 minlen=12 minclass=4

در اینجا:

  • retry=3 به کاربر اجازه می‌دهد که تا سه بار رمز عبور را اشتباه وارد کند.
  • minlen=12 طول حداقل رمز عبور را ۱۲ کاراکتر تنظیم می‌کند.
  • minclass=4 تضمین می‌کند که رمز عبور باید شامل حداقل ۴ نوع کاراکتر مختلف باشد (حروف کوچک، حروف بزرگ، اعداد و نمادها).
2.3. تنظیم تاریخ انقضا و تغییر دوره‌ای رمز عبور

برای تعیین یک دوره زمانی برای تغییر رمز عبور کاربران و جلوگیری از استفاده طولانی‌مدت از یک رمز عبور، می‌توانید از دستور chage استفاده کنید.

برای تنظیم تاریخ انقضا برای یک کاربر خاص، دستور زیر را وارد کنید:

sudo chage -M 90 username

در اینجا:

  • -M 90 مشخص می‌کند که رمز عبور پس از ۹۰ روز منقضی خواهد شد و کاربر باید رمز عبور خود را تغییر دهد.

3. پیاده‌سازی سیاست‌های امنیتی برای جلوگیری از استفاده از رمز عبور ضعیف

برای جلوگیری از انتخاب رمزهای ضعیف، می‌توانید ابزارهایی مانند fail2ban یا pam_cracklib را نصب و پیکربندی کنید. این ابزارها می‌توانند به‌طور خودکار رمزهای ضعیف را شناسایی کرده و از آنها جلوگیری کنند.

3.1. استفاده از pam_cracklib برای جلوگیری از رمز عبور ضعیف

فایل پیکربندی /etc/pam.d/common-password را به‌صورت زیر ویرایش کنید:

sudo nano /etc/pam.d/common-password

سپس خط زیر را اضافه کنید یا اصلاح کنید:

password requisite pam_cracklib.so retry=3 minlen=12 minclass=4

این پیکربندی مشابه به پیکربندی pam_pwquality است و امکان تنظیم قوانین مشابه برای پیچیدگی رمز عبور را فراهم می‌آورد.


4. استفاده از احراز هویت دو مرحله‌ای (2FA)

یکی از بهترین روش‌ها برای افزایش امنیت رمزهای عبور استفاده از احراز هویت دو مرحله‌ای (2FA) است. 2FA به کاربر این امکان را می‌دهد که علاوه بر رمز عبور، از یک کد یک‌بار مصرف برای وارد شدن به سیستم استفاده کند. این کار باعث افزایش امنیت حساب کاربری و جلوگیری از دسترسی‌های غیرمجاز می‌شود.

برای پیاده‌سازی 2FA در سیستم‌های لینوکس، ابزارهایی مانند Google Authenticator یا Authy استفاده می‌شود. شما می‌توانید بسته‌های لازم را نصب کرده و سیستم را برای استفاده از 2FA پیکربندی کنید.


جمع‌بندی

در این بخش، نحوه تنظیم رمز عبور امن برای کاربران در سیستم‌های لینوکس بررسی شد. ایجاد رمز عبور پیچیده و طولانی، استفاده از سیاست‌های PAM برای تقویت پیچیدگی رمز عبور، تنظیم تاریخ انقضا برای رمز عبور و پیاده‌سازی احراز هویت دو مرحله‌ای از جمله روش‌هایی هستند که می‌توانند امنیت سیستم را به‌شدت افزایش دهند. همچنین، جلوگیری از انتخاب رمزهای ضعیف با استفاده از ابزارهایی مانند pam_cracklib و pam_pwquality از اهمیت ویژه‌ای برخوردار است.[/cdb_course_lesson][cdb_course_lesson title=”فصل 4. آشنایی با ساختار داخلی Issabel”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”توضیح ماژول‌ها (Modules) و نقش آن‌ها در سیستم Issabel” subtitle=”توضیحات کامل”]سیستم Issabel یک سیستم ارتباطی یکپارچه است که از ماژول‌های مختلف برای ارائه خدمات متنوع ارتباطی مانند VoIP، تماس‌های تلفنی، تماس‌های ویدیویی، پیام‌های متنی و مدیریت جلسات استفاده می‌کند. ماژول‌ها نقش حیاتی در پیاده‌سازی و گسترش عملکردهای مختلف این سیستم دارند. ماژول‌ها به‌طور خاص بخش‌های مختلف سیستم Issabel را از هم جدا کرده و هر یک وظایف خاصی را انجام می‌دهند.

در این بخش، به بررسی ماژول‌های اصلی در سیستم Issabel و نحوه عملکرد آن‌ها پرداخته خواهد شد.


1. ماژول‌های اصلی Issabel

در Issabel، هر ماژول می‌تواند عملکرد خاصی را در سیستم پیاده‌سازی کند. این ماژول‌ها می‌توانند به صورت جداگانه یا ترکیبی عمل کنند تا تجربه‌ای کامل از خدمات ارتباطی را برای کاربران فراهم کنند. در اینجا به برخی از ماژول‌های رایج در Issabel پرداخته شده است:

1.1. ماژول PBX (Private Branch Exchange)

ماژول PBX قلب سیستم Issabel است و نقش اصلی در مدیریت تماس‌های داخلی و خارجی را ایفا می‌کند. این ماژول به کاربران این امکان را می‌دهد که تماس‌ها را بین داخلی‌ها هدایت کنند، تماس‌ها را از شبکه PSTN دریافت کنند، یا حتی تماس‌های خروجی را انجام دهند. ویژگی‌های اصلی این ماژول عبارتند از:

  • مدیریت تماس‌های داخلی و خارجی
  • پیاده‌سازی VoIP (SIP, IAX)
  • مدیریت صف تماس‌ها (Call Queues)
  • IVR (Interactive Voice Response)
  • ضبط تماس‌ها (Call Recording)
1.2. ماژول Call Center

ماژول Call Center به‌طور خاص برای مدیریت تماس‌های مرکز تماس طراحی شده است. این ماژول امکانات پیشرفته‌ای برای مرکز تماس‌ها فراهم می‌آورد، از جمله:

  • مدیریت صف تماس‌ها
  • گزارش‌گیری دقیق از عملکرد اپراتورها
  • پیاده‌سازی سیستم‌های IVR پیشرفته
  • گزارش‌گیری لحظه‌ای از وضعیت صف‌ها
1.3. ماژول Voicemail

ماژول Voicemail به کاربران این امکان را می‌دهد که پیام‌های صوتی خود را ذخیره کرده و آن‌ها را گوش دهند. این ماژول معمولاً به همراه سیستم PBX فعال می‌شود و می‌تواند برای هر داخلی یک صندوق صوتی جداگانه ایجاد کند.

1.4. ماژول Conference

این ماژول برای برگزاری کنفرانس‌های صوتی و ویدیویی طراحی شده است. کاربران می‌توانند در جلسات کنفرانس شرکت کنند و تماس‌های صوتی یا تصویری گروهی برقرار کنند. از جمله ویژگی‌های این ماژول می‌توان به موارد زیر اشاره کرد:

  • مدیریت کنفرانس‌های صوتی و ویدیویی
  • کنترل دسترسی به کنفرانس‌ها
  • امکان ضبط جلسات
1.5. ماژول Reports

ماژول Reports امکان گزارش‌گیری دقیق از تمامی عملیات‌ها و تماس‌های ثبت شده در سیستم Issabel را فراهم می‌کند. این گزارش‌ها می‌توانند شامل جزئیات تماس‌ها، وضعیت صف‌ها، عملکرد کاربران و غیره باشند. ویژگی‌های این ماژول عبارتند از:

  • گزارش‌گیری دقیق و سفارشی
  • امکان مشاهده تاریخچه تماس‌ها و فعالیت‌ها
  • تولید گزارش‌های آماری برای تحلیل داده‌ها

2. نحوه نصب و پیکربندی ماژول‌ها در Issabel

ماژول‌ها در Issabel به‌طور پیش‌فرض از طریق رابط کاربری وب قابل نصب و پیکربندی هستند. برای نصب و پیکربندی ماژول‌ها، مراحل زیر را دنبال کنید:

2.1. نصب ماژول‌ها از طریق رابط کاربری وب
  1. به صفحه مدیریتی Issabel وارد شوید.
  2. از منوی اصلی، به بخش “Modules” بروید.
  3. ماژولی که می‌خواهید نصب کنید را انتخاب کنید و بر روی گزینه “Install” کلیک کنید.
  4. پس از نصب ماژول، آن را از قسمت “Modules” فعال کرده و پیکربندی‌های لازم را انجام دهید.
2.2. پیکربندی ماژول‌ها

پس از نصب، هر ماژول نیاز به پیکربندی مخصوص به خود دارد. به‌عنوان مثال، برای ماژول PBX، شما باید تنظیمات مرتبط با SIP، شماره‌گیری، صف‌ها و ضبط تماس‌ها را پیکربندی کنید.

برای پیکربندی ماژول PBX:

  1. به بخش “PBX” در رابط کاربری وب بروید.
  2. تنظیمات مربوط به خطوط SIP یا IAX را وارد کنید.
  3. به قسمت “Extensions” بروید و داخلی‌های مورد نظر را ایجاد کنید.
  4. صف‌های تماس و تنظیمات IVR را در بخش مربوطه پیکربندی کنید.
2.3. استفاده از CLI برای پیکربندی ماژول‌ها

برای برخی از ماژول‌ها، پیکربندی از طریق خط فرمان (CLI) نیز امکان‌پذیر است. به‌عنوان مثال، برای مدیریت تماس‌ها از طریق CLI، می‌توانید از دستورات asterisk استفاده کنید:

sudo asterisk -r

این دستور وارد محیط اجرایی Asterisk می‌شود که هسته سیستم Issabel را تشکیل می‌دهد. سپس، می‌توانید دستورات مختلف برای مدیریت تماس‌ها را وارد کنید.


3. نقش ماژول‌ها در بهینه‌سازی و گسترش امکانات Issabel

ماژول‌ها اجازه می‌دهند که سیستم Issabel بسته به نیازهای خاص شما به‌طور کامل سفارشی‌سازی و گسترش یابد. این ماژول‌ها به شما این امکان را می‌دهند که فقط ویژگی‌هایی که برای سازمان شما لازم است را فعال کنید، در حالی که سایر ویژگی‌ها را غیرفعال کنید تا منابع سیستم بهینه شوند. به این ترتیب، شما می‌توانید از Issabel به‌طور کامل بهره‌برداری کنید.

ماژول‌ها همچنین به شما این امکان را می‌دهند که در صورت نیاز به گسترش سیستم، به راحتی ماژول‌های جدید را نصب کرده و تنظیمات آن‌ها را انجام دهید.


جمع‌بندی

ماژول‌ها در Issabel بخش‌های مختلف سیستم را تشکیل می‌دهند و عملکردهایی مانند مدیریت تماس‌ها، صندوق صوتی، گزارش‌گیری، کنفرانس‌های صوتی و ویدیویی، و مرکز تماس را فراهم می‌آورند. این ماژول‌ها به شما این امکان را می‌دهند که سیستم را به‌طور کامل به نیازهای خود تنظیم کنید. نصب و پیکربندی ماژول‌ها هم از طریق رابط کاربری وب و هم از طریق CLI امکان‌پذیر است.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”معرفی Asterisk Manager Interface (AMI) و ارتباط آن با Issabel” subtitle=”توضیحات کامل”]Asterisk Manager Interface (AMI) یک رابط برنامه‌نویسی کاربردی (API) است که به کاربران این امکان را می‌دهد تا از راه دور به سیستم Asterisk (که هسته ارتباطات در سیستم Issabel است) متصل شده و آن را مدیریت کنند. AMI به‌طور خاص برای انجام عملیات مختلف از جمله نظارت، کنترل تماس‌ها، مدیریت صف‌ها، و حتی پیکربندی دستگاه‌ها و کانال‌ها طراحی شده است.

AMI به‌عنوان ابزاری مهم در سیستم Issabel عمل می‌کند و امکان تعامل با Asterisk را از طریق دستورات TCP/IP فراهم می‌آورد. این رابط می‌تواند توسط سیستم‌های خارجی یا برنامه‌نویسان برای ایجاد برنامه‌های سفارشی و همچنین نظارت و مدیریت خودکار سیستم استفاده شود.

در این بخش، به بررسی ویژگی‌های AMI، نحوه اتصال به آن، و چگونگی استفاده از آن در سیستم Issabel پرداخته خواهد شد.


1. ویژگی‌های Asterisk Manager Interface (AMI)

Asterisk Manager Interface از چندین دستور مختلف پشتیبانی می‌کند که به مدیران سیستم این امکان را می‌دهد تا به‌طور مستقیم و از راه دور به سیستم Asterisk متصل شده و دستورات مختلف را اجرا کنند. برخی از ویژگی‌های اصلی AMI عبارتند از:

  • کنترل تماس‌ها: AMI به مدیران این امکان را می‌دهد تا تماس‌ها را آغاز، قطع، یا مدیریت کنند.
  • نظارت بر سیستم: با استفاده از AMI، می‌توان وضعیت سیستم، کانال‌ها و دستگاه‌ها را نظارت کرد.
  • مدیریت صف‌ها: می‌توان به‌صورت مستقیم صف‌های تماس را ایجاد و مدیریت کرد.
  • ثبت اطلاعات: AMI می‌تواند اطلاعات مختلفی مانند وضعیت تماس‌ها، جزئیات ورود به سیستم و فعالیت‌های دیگر را ثبت کند.
  • مدیریت کانال‌ها: می‌توان از AMI برای ایجاد، حذف و مدیریت کانال‌های ارتباطی استفاده کرد.

2. نحوه اتصال به AMI در Issabel

برای استفاده از Asterisk Manager Interface، ابتدا باید به آن متصل شوید. برای این کار، باید در فایل پیکربندی manager.conf تنظیماتی انجام دهید.

2.1. پیکربندی AMI در Issabel

فایل پیکربندی AMI به نام manager.conf در مسیر /etc/asterisk/manager.conf قرار دارد. برای تنظیم AMI، باید این فایل را ویرایش کرده و تنظیمات مربوطه را وارد کنید.

به‌عنوان مثال، برای پیکربندی یک حساب جدید برای اتصال به AMI، به این صورت عمل کنید:

  1. وارد محیط ویرایشگر شوید:
sudo nano /etc/asterisk/manager.conf
  1. سپس بخش جدیدی برای کاربر جدید به شکل زیر اضافه کنید:
[admin]
secret = yourpassword
read = all
write = all
host = 127.0.0.1
  • secret: رمز عبور برای اتصال به AMI
  • read: مجوزهای خواندن (برای مشاهده اطلاعات)
  • write: مجوزهای نوشتن (برای انجام تغییرات)
  • host: آدرس IP که از آن به AMI متصل می‌شوید
  1. پس از اعمال تغییرات، فایل را ذخیره کرده و بسته ویرایشگر را ببندید.
  2. سپس Asterisk را برای اعمال تغییرات مجدداً راه‌اندازی کنید:
sudo systemctl restart asterisk
2.2. اتصال به AMI از طریق Telnet یا نرم‌افزارهای مدیریت

برای اتصال به AMI از طریق Telnet، دستور زیر را وارد کنید:

telnet 127.0.0.1 5038

پس از اتصال، نام کاربری و رمز عبور تنظیم شده در فایل manager.conf را وارد کنید:

Action: Login
Username: admin
Secret: yourpassword

اگر اتصال موفقیت‌آمیز باشد، می‌توانید دستورات مختلف AMI را ارسال کنید.


3. دستورات رایج AMI

در اینجا برخی از دستورات مهم AMI که برای مدیریت سیستم Issabel و Asterisk کاربرد دارند، آورده شده است:

3.1. نظارت بر وضعیت کانال‌ها

برای دریافت اطلاعات مربوط به وضعیت کانال‌ها از دستور زیر استفاده کنید:

Action: Command
Command: core show channels

این دستور اطلاعات مربوط به کانال‌های فعال و وضعیت آن‌ها را نمایش می‌دهد.

3.2. برقراری تماس

برای برقراری تماس از یک داخلی به داخلی دیگر، از دستور زیر استفاده کنید:

Action: Originate
Channel: SIP/1000
Exten: 2000
Context: default
Priority: 1
CallerID: "Test Call"
Timeout: 30000

در این دستور:

  • Channel: شماره داخلی یا SIP
  • Exten: شماره داخلی مقصد
  • Context: محتوای مربوط به تماس
  • Priority: اولویت تماس
  • Timeout: زمان محدود برای برقراری تماس
3.3. قطع تماس

برای قطع یک تماس فعال از دستور زیر استفاده کنید:

Action: Hangup
Channel: SIP/1000-00000001

در این دستور:

  • Channel: شناسه کانال تماس که می‌خواهید آن را قطع کنید.

4. استفاده از AMI در برنامه‌های خارجی

یکی از قابلیت‌های کلیدی AMI، استفاده از آن در برنامه‌های سفارشی است. با استفاده از AMI، می‌توانید اتوماسیون‌ها و سیستم‌های مدیریت تماس‌های پیشرفته ایجاد کنید که از طریق API به Asterisk متصل می‌شوند. این امر به ویژه در مراکز تماس و پیاده‌سازی سیستم‌های نظارتی و تحلیل داده‌ها مفید است.

برای ایجاد یک ارتباط بین برنامه‌های خارجی و AMI، می‌توان از زبان‌های برنامه‌نویسی مانند Python و PHP استفاده کرد. به‌عنوان مثال، در Python می‌توان از کتابخانه‌هایی مانند Asterisk-AMI استفاده کرد.


جمع‌بندی

Asterisk Manager Interface (AMI) ابزاری قدرتمند برای مدیریت و نظارت بر سیستم Issabel و Asterisk است. با استفاده از AMI، می‌توان عملیات مختلفی مانند مدیریت تماس‌ها، نظارت بر وضعیت سیستم، و پیاده‌سازی سیستم‌های سفارشی را انجام داد. پیکربندی AMI در Issabel ساده است و می‌توان از طریق فایل manager.conf آن را تنظیم کرد. این رابط می‌تواند از راه دور برای نظارت و مدیریت سیستم مورد استفاده قرار گیرد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”توضیح ساختار قالب‌های پیکربندی و فایل‌های مربوطه در سیستم Issabel” subtitle=”توضیحات کامل”]در سیستم Issabel، قالب‌های پیکربندی و فایل‌های مربوطه نقش حیاتی در تنظیمات سیستم و پیکربندی دقیق تنظیمات مختلف ایفا می‌کنند. این فایل‌ها شامل تنظیمات مختلف برای مدیریت تماس‌ها، کاربران، پروتکل‌ها، و منابع هستند. ساختار این فایل‌ها به‌گونه‌ای است که مدیران سیستم می‌توانند به راحتی آن‌ها را ویرایش کرده و پیکربندی‌های دلخواه را انجام دهند.

در این بخش، ساختار کلی این فایل‌ها و قالب‌های پیکربندی سیستم Issabel را بررسی خواهیم کرد و توضیح خواهیم داد که چگونه این فایل‌ها با استفاده از فرمت‌های مختلف مانند INI و XML سازماندهی شده‌اند.


1. ساختار کلی فایل‌های پیکربندی Issabel

سیستم Issabel به طور گسترده از فایل‌های پیکربندی متنی استفاده می‌کند. این فایل‌ها معمولاً در دایرکتوری /etc/asterisk/ قرار دارند و به‌طور مستقیم با Asterisk و سایر اجزای سیستم ارتباط دارند. برخی از مهم‌ترین فایل‌های پیکربندی عبارتند از:

  • sip.conf: این فایل برای پیکربندی دستگاه‌های SIP و تعیین ویژگی‌های مربوط به پروتکل SIP استفاده می‌شود.
  • extensions.conf: این فایل برای پیکربندی قوانین تماس‌ها، مسیرهای تماس، و برنامه‌های مختلف تلفنی (Dialplans) به کار می‌رود.
  • manager.conf: این فایل برای تنظیمات AMI (Asterisk Manager Interface) استفاده می‌شود.
  • voicemail.conf: تنظیمات مربوط به صندوق‌های صوتی (Voicemail) در این فایل قرار دارند.
  • queue.conf: تنظیمات مربوط به صف‌های تماس (Queues) و مدیریت صف‌ها در این فایل ذخیره می‌شود.

2. پیکربندی در قالب‌های INI

بیشتر فایل‌های پیکربندی Issabel از قالب INI استفاده می‌کنند. این قالب شامل بخش‌ها و مقادیر کلیدی است که به راحتی قابل ویرایش هستند. در قالب INI، هر بخش با یک [section] شروع می‌شود و سپس مقادیر کلیدی به‌صورت جفت‌های کلید و مقدار در داخل بخش‌ها قرار می‌گیرند.

2.1. نمونه فایل sip.conf

فایل sip.conf تنظیمات مربوط به پروتکل SIP را در بر می‌گیرد. به‌عنوان مثال، یک پیکربندی ساده برای یک دستگاه SIP به این شکل خواهد بود:

[general]
context=default
allowguest=no
srvlookup=yes

[1000]
type=friend
host=dynamic
secret=yourpassword
context=default

در اینجا:

  • [general]: بخش عمومی که تنظیمات کلی SIP را مشخص می‌کند.
  • [1000]: تنظیمات برای داخلی شماره 1000 که می‌تواند به‌صورت داینامیک از طریق پروتکل SIP متصل شود.
  • type=friend: مشخص می‌کند که این دستگاه هم می‌تواند تماس برقرار کند و هم دریافت کند.
  • secret: رمز عبور برای اتصال دستگاه SIP.
2.2. فایل‌های دیگر به سبک INI

تمام فایل‌های دیگر مثل extensions.conf و voicemail.conf نیز از ساختار مشابهی پیروی می‌کنند که برای هر بخش، تنظیمات مربوط به آن قسمت قرار می‌گیرد. به‌عنوان مثال، یک تنظیمات ابتدایی در extensions.conf به شکل زیر است:

[default]
exten => 1000,1,Dial(SIP/1000)
exten => 1000,n,Voicemail(1000)

3. پیکربندی در قالب XML

بعضی از تنظیمات در Issabel از قالب XML برای ساختاردهی داده‌ها استفاده می‌کنند. این قالب معمولاً در بخش‌هایی استفاده می‌شود که داده‌های پیچیده‌تری نیاز دارند، مانند پیکربندی‌هایی که مربوط به تماس‌های صوتی و مدیریتی هستند.

3.1. نمونه فایل extensions_additional.conf

در این فایل، تنظیمات مربوط به اضافه کردن شماره‌های تماس و قوانین Dialplan به‌صورت XML ذخیره می‌شود. به‌عنوان مثال:

<extensions>
  <extension>
    <number>1000</number>
    <dialplan>
      <action>
        <type>Dial</type>
        <target>SIP/1000</target>
      </action>
    </dialplan>
  </extension>
</extensions>

این قالب به‌ویژه در سیستم‌هایی استفاده می‌شود که نیاز به گسترش و تنظیمات پیچیده‌تر دارند.


4. فایل‌های پیکربندی و جایگاه آن‌ها در دایرکتوری

تمام فایل‌های پیکربندی Issabel در دایرکتوری /etc/asterisk/ قرار دارند. این فایل‌ها باید به دقت و با آگاهی ویرایش شوند تا سیستم به‌درستی عمل کند. در اینجا برخی از مسیرهای رایج فایل‌ها آورده شده است:

  • /etc/asterisk/sip.conf: پیکربندی‌های SIP
  • /etc/asterisk/extensions.conf: Dialplan و قوانین تماس
  • /etc/asterisk/manager.conf: پیکربندی Asterisk Manager Interface (AMI)
  • /etc/asterisk/voicemail.conf: تنظیمات صندوق صوتی
  • /etc/asterisk/queue.conf: تنظیمات صف‌های تماس

5. نحوه ویرایش فایل‌های پیکربندی

برای ویرایش فایل‌های پیکربندی، معمولاً از ویرایشگرهای متنی مانند nano یا vi استفاده می‌شود. به‌عنوان مثال، برای ویرایش فایل sip.conf به این صورت عمل کنید:

sudo nano /etc/asterisk/sip.conf

پس از ویرایش و ذخیره فایل‌ها، لازم است Asterisk را برای اعمال تغییرات مجدداً بارگذاری کنید:

sudo asterisk -rx "reload"

این دستور باعث می‌شود که تغییرات جدید اعمال شوند و سیستم به‌صورت به‌روز شده عمل کند.


جمع‌بندی

در سیستم Issabel، فایل‌های پیکربندی با استفاده از قالب‌های INI و XML ساختاردهی شده‌اند. این فایل‌ها تنظیمات مختلفی را برای بخش‌های مختلف سیستم مانند SIP، Dialplan، صندوق صوتی، و صف‌های تماس مدیریت می‌کنند. این فایل‌ها معمولاً در دایرکتوری /etc/asterisk/ قرار دارند و باید با دقت ویرایش شوند تا پیکربندی‌ها به‌درستی انجام شوند. در نهایت، اعمال تغییرات نیاز به بارگذاری مجدد Asterisk دارد تا تنظیمات جدید به سیستم وارد شوند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”معرفی نحوه عملکرد Database (MySQL) برای ذخیره‌سازی تنظیمات و اطلاعات تماس‌ها” subtitle=”توضیحات کامل”]در سیستم Issabel، برای ذخیره‌سازی تنظیمات سیستم و اطلاعات تماس‌ها از MySQL به عنوان پایگاه داده استفاده می‌شود. پایگاه داده MySQL در این سیستم به‌عنوان یک ابزار حیاتی برای مدیریت داده‌ها و اطلاعات مربوط به تماس‌ها، کاربران، تنظیمات SIP، گزارش‌ها و سایر اطلاعات ضروری عمل می‌کند. در این بخش، نحوه استفاده از MySQL برای ذخیره‌سازی تنظیمات و اطلاعات تماس‌ها در Issabel را بررسی خواهیم کرد.


1. ساختار پایگاه داده در Issabel

سیستم Issabel به طور پیش‌فرض از MySQL برای ذخیره‌سازی اطلاعات استفاده می‌کند. این پایگاه داده شامل جداول مختلفی است که برای ذخیره‌سازی اطلاعات تماس‌ها، تنظیمات کاربران، و اطلاعات سیستم طراحی شده‌اند. برخی از مهم‌ترین جداول عبارتند از:

  • cdr (Call Detail Records): این جدول شامل تمام جزئیات مربوط به تماس‌ها می‌باشد، مانند زمان تماس، شماره‌های تماس گیرنده و گیرنده، مدت زمان تماس و هزینه‌ها.
  • sipusers: این جدول اطلاعات مربوط به کاربران SIP مانند نام کاربری، رمز عبور، IP و پیکربندی‌های دیگر را ذخیره می‌کند.
  • queues: اطلاعات مربوط به صف‌های تماس (Queues) مانند وضعیت و کاربران موجود در صف‌ها در این جدول ذخیره می‌شود.
  • voicemail: این جدول شامل تنظیمات و اطلاعات صندوق‌های صوتی کاربران است.
  • extensions: اطلاعات مربوط به داخلی‌ها و تنظیمات آنها در این جدول ذخیره می‌شود.

2. ارتباط MySQL با Asterisk

در Issabel، پایگاه داده MySQL از طریق Asterisk به‌طور کامل یکپارچه شده است. Asterisk از MySQL برای ذخیره‌سازی اطلاعات تماس‌ها، مدیریت حساب‌ها، و ذخیره‌سازی تنظیمات مختلف استفاده می‌کند. Asterisk قادر است که با MySQL ارتباط برقرار کند و داده‌ها را به‌طور مستقیم در جداول مشخص‌شده ذخیره و بازیابی کند.

2.1. پیکربندی Asterisk برای استفاده از MySQL

برای استفاده از MySQL در Asterisk، ابتدا باید بسته‌های مربوط به MySQL را نصب و پیکربندی کنیم. این بسته‌ها به Asterisk این امکان را می‌دهند که به پایگاه داده متصل شده و داده‌ها را از آن دریافت کند.

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

sudo apt-get install asterisk-mysql

پس از نصب بسته‌ها، باید فایل پیکربندی res_mysql.conf را تنظیم کنید تا Asterisk به پایگاه داده MySQL متصل شود. این فایل معمولاً در دایرکتوری /etc/asterisk/ قرار دارد.

نمونه‌ای از پیکربندی res_mysql.conf:

[general]
hostname=localhost
dbname=asterisk
user=asterisk
password=yourpassword

در اینجا:

  • hostname: آدرس میزبان پایگاه داده (معمولاً localhost است).
  • dbname: نام پایگاه داده که Asterisk از آن استفاده خواهد کرد.
  • user و password: اطلاعات ورود به پایگاه داده MySQL.

پس از انجام تنظیمات، باید Asterisk را ریستارت کنید:

sudo systemctl restart asterisk

3. ذخیره‌سازی اطلاعات تماس‌ها در پایگاه داده

یکی از مهم‌ترین ویژگی‌های استفاده از MySQL در Issabel، ذخیره‌سازی اطلاعات تماس‌ها در جدول cdr است. این اطلاعات شامل جزئیات تماس‌ها مانند شماره‌های تماس، زمان شروع و پایان تماس، مدت زمان تماس، و دیگر اطلاعات مربوط به تماس‌ها می‌باشد.

3.1. نمونه داده‌های جدول CDR

در جدول cdr، اطلاعات تماس‌ها به‌صورت زیر ذخیره می‌شود:

CREATE TABLE cdr (
    calldate datetime NOT NULL,
    clid varchar(80),
    src varchar(80),
    dst varchar(80),
    dcontext varchar(80),
    channel varchar(80),
    dstchannel varchar(80),
    lastapp varchar(80),
    lastdata varchar(80),
    duration int(11) DEFAULT 0,
    billsec int(11) DEFAULT 0,
    disposition varchar(45),
    amaflags int(11) DEFAULT 0,
    accountcode varchar(20),
    uniqueid varchar(32) DEFAULT NULL,
    userfield varchar(255) DEFAULT NULL
);

این جدول اطلاعات هر تماس را ذخیره می‌کند. به‌عنوان مثال:

  • calldate: تاریخ و زمان شروع تماس
  • clid: شماره تلفن یا شناسه تماس‌گیرنده
  • src: شماره تلفن مبدا
  • dst: شماره تلفن مقصد
  • duration: مدت زمان تماس
  • billsec: زمان قابل محاسبه برای هزینه تماس
  • disposition: وضعیت تماس (مثلاً موفق یا ناموفق)
  • uniqueid: شناسه منحصربه‌فرد تماس

برای مشاهده اطلاعات تماس‌ها از دستور SQL زیر استفاده می‌شود:

SELECT * FROM cdr;

4. ذخیره‌سازی تنظیمات کاربران در پایگاه داده

علاوه بر اطلاعات تماس‌ها، تنظیمات کاربران نیز در پایگاه داده MySQL ذخیره می‌شود. به‌عنوان مثال، اطلاعات کاربران SIP در جدول sipusers ذخیره می‌شود. این جدول شامل تنظیمات مانند نام کاربری، رمز عبور، IP، و دیگر اطلاعات ضروری است.

نمونه‌ای از جدول sipusers:

CREATE TABLE sipusers (
    id int(11) NOT NULL AUTO_INCREMENT,
    username varchar(80) NOT NULL,
    secret varchar(80) NOT NULL,
    host varchar(80) DEFAULT 'dynamic',
    context varchar(80) DEFAULT 'default',
    PRIMARY KEY (id)
);

در این جدول:

  • username: نام کاربری SIP
  • secret: رمز عبور
  • host: آدرس IP یا وضعیت میزبان (مثلاً dynamic برای اتصال داینامیک)
  • context: بخش تماس (Dialplan) مربوط به کاربر

5. نحوه بازیابی اطلاعات از پایگاه داده

برای بازیابی اطلاعات از پایگاه داده MySQL، Asterisk از دستورات SQL استفاده می‌کند. برای مثال، برای بازیابی تمام اطلاعات تماس‌های صورت گرفته، می‌توان از دستور زیر در Asterisk استفاده کرد:

asterisk -rx "cdr show status"

این دستور وضعیت تماس‌ها را از پایگاه داده MySQL نمایش می‌دهد.


جمع‌بندی

در سیستم Issabel، پایگاه داده MySQL برای ذخیره‌سازی اطلاعات تماس‌ها، تنظیمات کاربران، و پیکربندی‌های سیستم استفاده می‌شود. اطلاعات تماس‌ها در جدول cdr ذخیره می‌شوند و تنظیمات کاربران در جدول sipusers قرار می‌گیرد. Asterisk از MySQL برای بازیابی و ذخیره‌سازی این اطلاعات به‌صورت مستقیم استفاده می‌کند. پیکربندی MySQL برای Asterisk از طریق فایل res_mysql.conf انجام می‌شود و دستورات SQL برای بازیابی اطلاعات از پایگاه داده به‌طور گسترده در سیستم استفاده می‌شوند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 5. تنظیمات زمان و تاریخ”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیم NTP Server (Network Time Protocol) برای همگام‌سازی زمان سیستم” subtitle=”توضیحات کامل”]در بسیاری از سیستم‌های شبکه، دقت زمان بسیار مهم است. در سیستم‌هایی مانند Issabel که به مدیریت تماس‌ها، پردازش داده‌ها و تعامل با سرورهای مختلف می‌پردازند، همگام‌سازی صحیح زمان می‌تواند تأثیر زیادی بر عملکرد و گزارش‌گیری درست داشته باشد. برای انجام این کار، NTP (Network Time Protocol) یک پروتکل استاندارد است که برای همگام‌سازی زمان سیستم‌ها از طریق شبکه استفاده می‌شود.

در این بخش، مراحل تنظیم NTP Server در Issabel برای همگام‌سازی زمان سیستم به‌صورت گام به گام شرح داده خواهد شد.


1. نصب و راه‌اندازی سرویس NTP

قبل از هر چیز، باید سرویس NTP را در سیستم نصب کنید. در بسیاری از توزیع‌های لینوکس، مانند CentOS یا Ubuntu، این سرویس معمولاً به‌طور پیش‌فرض نصب نمی‌شود و باید به‌طور دستی نصب گردد.

برای نصب سرویس NTP در سیستم‌های مبتنی بر CentOS یا RHEL از دستور زیر استفاده کنید:

sudo yum install ntp

در سیستم‌های مبتنی بر Ubuntu یا Debian از دستور زیر استفاده کنید:

sudo apt-get install ntp

2. پیکربندی NTP Server

پس از نصب NTP، باید فایل پیکربندی آن را تنظیم کنید. فایل پیکربندی NTP معمولاً در مسیر /etc/ntp.conf قرار دارد. در این فایل، می‌توانید سرورهای NTP را مشخص کنید که سیستم به آن‌ها متصل خواهد شد.

برای ویرایش فایل پیکربندی، از ویرایشگر متنی مانند nano یا vi استفاده کنید:

sudo nano /etc/ntp.conf

در این فایل، باید سرورهای NTP مورد نظر خود را تعیین کنید. به‌طور پیش‌فرض، سرورهای عمومی NTP در این فایل وجود دارند. می‌توانید آن‌ها را به دلخواه تغییر دهید. به‌عنوان مثال، برای استفاده از سرورهای NTP محلی، می‌توانید بخش مربوطه را به صورت زیر تغییر دهید:

server 0.centos.pool.ntp.org
server 1.centos.pool.ntp.org
server 2.centos.pool.ntp.org

اگر می‌خواهید از سرور NTP داخلی یا اختصاصی خود استفاده کنید، فقط کافی است آدرس آن را جایگزین کنید.


3. فعال‌سازی و شروع سرویس NTP

پس از ویرایش فایل پیکربندی، باید سرویس NTP را فعال کرده و شروع کنید تا سیستم به‌طور خودکار زمان را از سرورهای NTP همگام‌سازی کند.

برای فعال‌سازی و شروع سرویس NTP از دستورات زیر استفاده کنید:

sudo systemctl enable ntpd
sudo systemctl start ntpd

برای بررسی وضعیت سرویس NTP و اطمینان از اینکه سرویس در حال اجرا است، از دستور زیر استفاده کنید:

sudo systemctl status ntpd

اگر همه چیز به‌درستی پیکربندی شده باشد، شما باید پیامی مشابه با این مشاهده کنید:

● ntpd.service - Network Time Service
   Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2025-03-01 12:00:00 UTC; 10s ago
   Docs: man:ntpd(8)
 Main PID: 1234 (ntpd)
   CGroup: /system.slice/ntpd.service
           └─1234 /usr/sbin/ntpd -u ntp:ntp -g

4. بررسی همگام‌سازی زمان

برای بررسی وضعیت همگام‌سازی زمان، می‌توانید از دستور زیر استفاده کنید:

ntpq -p

این دستور لیستی از سرورهای NTP که سیستم به آن‌ها متصل است و وضعیت همگام‌سازی با آن‌ها را نمایش می‌دهد. خروجی مشابه زیر خواهد بود:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*0.centos.pool.n .POOL.          1 u   38   64  377    0.202    0.123   0.003
+1.centos.pool.n .POOL.          1 u   36   64  377    0.258    0.112   0.004
+2.centos.pool.n .POOL.          1 u   35   64  377    0.199    0.107   0.005

در این خروجی:

  • remote: آدرس سرور NTP که به آن متصل هستید.
  • refid: شناسه مرجع سرور NTP.
  • st: شماره سطح سرور.
  • reach: وضعیت دسترسی به سرور (مقدار بین 0 تا 377).
  • delay: تاخیر ارتباطی.
  • offset: تفاوت زمانی با سرور.
  • jitter: تغییرات زمانی.

5. تنظیم زمان سیستم به صورت دستی (اختیاری)

اگر بخواهید زمان سیستم را به‌صورت دستی تنظیم کنید تا با سرور NTP هماهنگ شود، می‌توانید از دستور زیر استفاده کنید:

sudo ntpdate -u 0.centos.pool.ntp.org

این دستور زمان سیستم را با سرور NTP همگام‌سازی می‌کند.


6. پیکربندی Firewall برای NTP (در صورت لزوم)

اگر فایروال در سیستم فعال است، باید پورت 123 (پورت استاندارد NTP) را برای اتصال به سرور NTP باز کنید.

برای فعال‌سازی پورت 123 در فایروال، از دستور زیر استفاده کنید:

sudo firewall-cmd --permanent --add-service=ntp
sudo firewall-cmd --reload

این دستورات پورت NTP را باز می‌کنند و فایروال را مجدداً بارگذاری می‌کنند تا تغییرات اعمال شوند.


جمع‌بندی

تنظیم سرویس NTP در Issabel برای همگام‌سازی دقیق زمان سیستم با استفاده از پروتکل Network Time Protocol یکی از اقدامات اساسی برای اطمینان از دقت زمان در سیستم است. این کار با نصب سرویس NTP، پیکربندی سرورهای NTP، فعال‌سازی سرویس و بررسی وضعیت همگام‌سازی انجام می‌شود. همچنین، تنظیمات فایروال برای اجازه دسترسی به پورت NTP نیز در صورت لزوم باید انجام شود. این تنظیمات به شما این امکان را می‌دهند که زمان سیستم را به‌طور دقیق و همگام با سرورهای جهانی نگه دارید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیمات مربوط به فرمت تاریخ، ساعت و اعداد” subtitle=”توضیحات کامل”]در سیستم‌هایی مانند Issabel، تنظیمات مربوط به فرمت تاریخ، ساعت و اعداد از اهمیت ویژه‌ای برخوردار است، زیرا این تنظیمات می‌توانند بر نحوه نمایش اطلاعات و تعامل کاربران با سیستم تأثیر بگذارند. به عنوان مثال، در برخی از مناطق جغرافیایی، فرمت تاریخ ممکن است به صورت روز/ماه/سال باشد، در حالی که در دیگر مناطق، سال/ماه/روز متداول است.

در این بخش، نحوه تنظیمات فرمت تاریخ، ساعت و اعداد در سیستم Issabel و سایر بخش‌های لینوکس توضیح داده می‌شود.


1. تنظیمات فرمت تاریخ و ساعت در سیستم

برای تنظیم فرمت تاریخ و ساعت در Issabel و سیستم‌عامل لینوکس، می‌توان از فایل پیکربندی locale استفاده کرد. این فایل، تنظیمات مربوط به منطقه زمانی، فرمت تاریخ و ساعت را شامل می‌شود.

برای ویرایش این تنظیمات، مراحل زیر را دنبال کنید:

  1. فایل locale.conf را باز کنید. این فایل معمولاً در مسیر زیر قرار دارد:
sudo nano /etc/locale.conf
  1. در این فایل، می‌توانید تنظیمات مربوط به فرمت تاریخ و ساعت را مطابق با نیاز خود تغییر دهید. به عنوان مثال، برای تنظیم منطقه زمانی و فرمت تاریخ، موارد زیر را وارد کنید:
LANG=en_US.UTF-8
LC_TIME=en_US.UTF-8

در این مثال، فرمت تاریخ به صورت MM/DD/YYYY و ساعت به صورت 12-hour format تنظیم می‌شود. شما می‌توانید از سایر تنظیمات موجود برای مناطق جغرافیایی مختلف استفاده کنید.

  1. پس از اعمال تغییرات، فایل را ذخیره کرده و از آن خارج شوید.
  2. برای اعمال تغییرات، از دستور زیر استفاده کنید:
sudo localectl set-locale LANG=en_US.UTF-8 LC_TIME=en_US.UTF-8
  1. سیستم را مجدداً راه‌اندازی کنید تا تنظیمات جدید اعمال شوند:
sudo reboot

2. تنظیمات منطقه زمانی (Timezone)

برای تنظیم منطقه زمانی در Issabel و سیستم لینوکس، از ابزار timedatectl استفاده می‌شود. برای تغییر منطقه زمانی، مراحل زیر را دنبال کنید:

  1. ابتدا منطقه زمانی فعلی را بررسی کنید:
timedatectl
  1. برای تغییر منطقه زمانی، از دستور زیر استفاده کنید. به عنوان مثال، برای تنظیم منطقه زمانی Asia/Tehran:
sudo timedatectl set-timezone Asia/Tehran
  1. پس از تغییر منطقه زمانی، دوباره دستور timedatectl را اجرا کنید تا از تغییرات اطمینان حاصل کنید.

3. تنظیمات فرمت اعداد

در سیستم‌های لینوکس، فرمت نمایش اعداد (مانند استفاده از کاما یا نقطه به عنوان جداکننده هزارگان) نیز تحت تأثیر تنظیمات locale قرار دارد. برای تغییر فرمت نمایش اعداد، می‌توان از فایل‌های پیکربندی مربوط به locale استفاده کرد.

برای مثال، برای تغییر فرمت اعداد به فرمت معمول آمریکایی (استفاده از نقطه برای جداکننده هزارگان و کاما برای جداکننده اعشار)، می‌توانید تنظیمات زیر را در locale.conf وارد کنید:

LC_NUMERIC=en_US.UTF-8

این تنظیمات باعث می‌شود که اعداد به صورت 1,000.50 نمایش داده شوند.


4. تنظیمات فرمت تاریخ و ساعت در Asterisk (برای استفاده در Issabel)

در محیط Asterisk که در Issabel برای مدیریت تماس‌ها استفاده می‌شود، می‌توان فرمت تاریخ و ساعت را برای ثبت اطلاعات تماس‌ها یا گزارش‌ها به صورت سفارشی تغییر داد. برای تغییر این تنظیمات، باید فایل‌های پیکربندی Asterisk را ویرایش کنید.

  1. فایل پیکربندی asterisk.conf را باز کنید:
sudo nano /etc/asterisk/asterisk.conf
  1. در این فایل، می‌توانید تنظیمات مربوط به تاریخ و ساعت را به صورت سفارشی وارد کنید. به عنوان مثال:
[general]
dateformat=%Y-%m-%d
timeformat=%H:%M:%S

در این مثال، تاریخ به صورت YYYY-MM-DD و زمان به صورت HH:MM:SS نمایش داده خواهد شد.

  1. پس از اعمال تغییرات، فایل را ذخیره کرده و از آن خارج شوید.
  2. برای اعمال تغییرات، Asterisk را مجدداً راه‌اندازی کنید:
sudo systemctl restart asterisk

5. بررسی تنظیمات و تأثیرات آن‌ها

پس از انجام تغییرات در تنظیمات locale، timezone، و فرمت‌های مربوط به تاریخ، ساعت و اعداد، می‌توانید این تنظیمات را با استفاده از دستورات مختلف بررسی کنید:

  • برای بررسی تنظیمات locale:
locale
  • برای بررسی منطقه زمانی:
timedatectl
  • برای بررسی فرمت تاریخ و ساعت در Asterisk، می‌توانید از دستور dialplan یا logs استفاده کنید تا نحوه نمایش تاریخ و زمان را در گزارش‌ها بررسی کنید.

جمع‌بندی

تنظیمات فرمت تاریخ، ساعت و اعداد در سیستم‌های Issabel و لینوکس می‌تواند تجربه کاربری را بهبود بخشد و مطابق با استانداردهای محلی و نیازهای خاص هر کاربر یا سازمان باشد. این تنظیمات معمولاً از طریق ویرایش فایل‌های پیکربندی مانند locale.conf و استفاده از ابزارهایی مانند timedatectl انجام می‌شود. به علاوه، تنظیمات مشابه در محیط‌های خاص مانند Asterisk نیز قابل انجام است تا فرمت‌های تاریخ و زمان برای گزارش‌ها و اطلاعات تماس‌ها به‌طور دقیق تنظیم شوند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 6. پیکربندی زبان و تنظیمات محلی”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”انتخاب زبان رابط کاربری (مانند انگلیسی یا زبان‌های دیگر)” subtitle=”توضیحات کامل”]انتخاب زبان رابط کاربری در سیستم‌های مختلف، از جمله Issabel، یک فرآیند حیاتی است که تأثیر زیادی بر تجربه کاربری و دسترسی به تنظیمات و ابزارهای مختلف دارد. در این بخش، نحوه تغییر زبان رابط کاربری در Issabel و سیستم‌های لینوکسی را به طور کامل بررسی می‌کنیم. این تنظیمات می‌توانند برای کاربران در مناطق مختلف جغرافیایی یا محیط‌های چندزبانه بسیار مفید باشند.


1. تغییر زبان رابط کاربری در Issabel

برای تغییر زبان رابط کاربری در Issabel، تنظیمات مربوط به زبان در محیط گرافیکی و از طریق فایل‌های پیکربندی قابل انجام است. در اینجا دو روش برای انجام این کار توضیح داده شده است.

روش اول: از طریق رابط کاربری وب
  1. وارد رابط کاربری وب Issabel شوید.
  2. پس از ورود، به قسمت Admin رفته و گزینه Settings را انتخاب کنید.
  3. در این بخش، گزینه‌ای به نام Language وجود دارد که از طریق آن می‌توانید زبان رابط کاربری را تغییر دهید.
  4. زبان دلخواه خود را از فهرست موجود انتخاب کنید، مثلاً English (US) یا Persian.
  5. تغییرات را ذخیره کرده و صفحه را مجدداً بارگذاری کنید.
روش دوم: از طریق خط فرمان (CLI)

برای تغییر زبان از طریق خط فرمان، فایل پیکربندی مربوطه باید ویرایش شود.

  1. فایل locale.conf را در مسیر زیر باز کنید:
sudo nano /etc/locale.conf
  1. در این فایل، می‌توانید زبان پیش‌فرض سیستم را تغییر دهید. به عنوان مثال، برای تنظیم زبان به انگلیسی، خط زیر را وارد کنید:
LANG=en_US.UTF-8

برای تنظیم به زبان فارسی (Persian):

LANG=fa_IR.UTF-8
  1. پس از اعمال تغییرات، فایل را ذخیره کرده و از آن خارج شوید.
  2. برای اعمال تغییرات، از دستور زیر استفاده کنید:
sudo localectl set-locale LANG=en_US.UTF-8

یا برای زبان فارسی:

sudo localectl set-locale LANG=fa_IR.UTF-8
  1. سیستم را مجدداً راه‌اندازی کنید تا تغییرات به طور کامل اعمال شوند:
sudo reboot

2. تغییر زبان در Asterisk برای استفاده در Issabel

در Asterisk که به عنوان هسته تلفنی Issabel عمل می‌کند، زبان تماس‌ها و اعلان‌ها می‌تواند تغییر کند. این تنظیمات معمولاً برای تنظیمات پیش‌فرض زبان تماس‌ها، پیام‌های صوتی و دستورالعمل‌های تلفنی استفاده می‌شود.

برای تغییر زبان در Asterisk:

  1. فایل پیکربندی asterisk.conf را باز کنید:
sudo nano /etc/asterisk/asterisk.conf
  1. در این فایل، می‌توانید زبان پیش‌فرض برای اعلان‌ها و پیام‌های صوتی را تنظیم کنید. برای مثال، برای استفاده از زبان انگلیسی:
[general]
language=en

برای استفاده از زبان فارسی:

[general]
language=fa
  1. پس از انجام تغییرات، فایل را ذخیره کرده و از آن خارج شوید.
  2. برای اعمال تغییرات، Asterisk را مجدداً راه‌اندازی کنید:
sudo systemctl restart asterisk

3. بررسی و تست زبان تنظیم شده

پس از تغییر زبان رابط کاربری و تنظیمات Asterisk، می‌توانید این تغییرات را با استفاده از دستورات مختلف بررسی کنید.

  1. برای بررسی زبان فعلی سیستم، از دستور زیر استفاده کنید:
locale
  1. برای بررسی تنظیمات زبان در Asterisk، می‌توانید از دستور زیر در Asterisk CLI استفاده کنید:
core show language

این دستور، زبان فعلی تنظیم شده در Asterisk را نمایش می‌دهد.


جمع‌بندی

انتخاب زبان رابط کاربری در Issabel و Asterisk برای بهبود تجربه کاربری و فراهم کردن محیطی متناسب با زبان و فرهنگ کاربران، اقدامی ضروری است. این تنظیمات می‌توانند هم از طریق رابط کاربری وب و هم از طریق خط فرمان (CLI) انجام شوند. تغییر زبان در Asterisk نیز به راحتی از طریق فایل‌های پیکربندی قابل انجام است. پس از اعمال تغییرات، توصیه می‌شود که سیستم یا سرویس‌های مربوطه مجدداً راه‌اندازی شوند تا تنظیمات جدید اعمال شوند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیمات مربوط به فرمت تاریخ، ساعت و اعداد” subtitle=”توضیحات کامل”]تنظیمات مربوط به فرمت تاریخ، ساعت و اعداد در سیستم‌ها برای ایجاد یک محیط هماهنگ با نیازهای منطقه‌ای و فرهنگی بسیار حائز اهمیت هستند. در سیستم‌های مبتنی بر لینوکس مانند Issabel، این تنظیمات می‌توانند به راحتی از طریق فایل‌های پیکربندی و ابزارهای موجود در خط فرمان انجام شوند. در این بخش، روش‌های مختلف تنظیم فرمت تاریخ، ساعت و اعداد را در Issabel توضیح خواهیم داد.


1. تنظیم فرمت تاریخ و ساعت

برای تنظیم فرمت تاریخ و ساعت در Issabel، می‌توانیم از تنظیمات locale استفاده کنیم. فرمت تاریخ و ساعت به منطقه زمانی (timezone) و تنظیمات محلی وابسته است.

روش اول: تغییر منطقه زمانی (Timezone)

ابتدا باید اطمینان حاصل کنیم که منطقه زمانی سیستم به درستی تنظیم شده باشد. برای تغییر منطقه زمانی:

  1. فایل /etc/timezone را باز کنید:
sudo nano /etc/timezone
  1. منطقه زمانی دلخواه خود را وارد کنید. برای مثال، برای منطقه زمانی تهران:
Asia/Tehran
  1. پس از ویرایش، فایل را ذخیره کرده و از آن خارج شوید.
  2. برای اعمال تغییرات، از دستور زیر استفاده کنید:
sudo dpkg-reconfigure --frontend noninteractive tzdata
  1. برای بررسی منطقه زمانی تنظیم‌شده، دستور زیر را اجرا کنید:
timedatectl
روش دوم: تغییر فرمت تاریخ و ساعت

برای تغییر فرمت تاریخ و ساعت، باید فایل /etc/locale.conf را ویرایش کنید.

  1. فایل /etc/locale.conf را باز کنید:
sudo nano /etc/locale.conf
  1. در این فایل، فرمت تاریخ و ساعت به صورت پیش‌فرض تعیین می‌شود. به عنوان مثال، برای تنظیم فرمت تاریخ به صورت YYYY-MM-DD، می‌توانید به این صورت عمل کنید:
LC_TIME="en_US.UTF-8"

برای فرمت DD/MM/YYYY، می‌توانید به این صورت تنظیم کنید:

LC_TIME="fa_IR.UTF-8"
  1. پس از انجام تغییرات، فایل را ذخیره کرده و از آن خارج شوید.
  2. برای اعمال تغییرات، از دستور زیر استفاده کنید:
sudo localectl set-locale LC_TIME=fa_IR.UTF-8

2. تنظیم فرمت اعداد و واحدها

فرمت اعداد و واحدها به نحوه نمایش اعداد، نمادهای ارز و دیگر واحدهای اندازه‌گیری مرتبط است. این تنظیمات معمولاً از طریق locale انجام می‌شود.

روش اول: تغییر تنظیمات فرمت اعداد
  1. فایل /etc/locale.conf را باز کنید:
sudo nano /etc/locale.conf
  1. برای تنظیم فرمت اعداد و واحدها به فرمت فارسی (برای نمایش اعداد به صورت فارسی) می‌توانید LC_NUMERIC را به صورت زیر تنظیم کنید:
LC_NUMERIC="fa_IR.UTF-8"
  1. پس از ویرایش، فایل را ذخیره کرده و از آن خارج شوید.
  2. برای اعمال تغییرات، دستور زیر را وارد کنید:
sudo localectl set-locale LC_NUMERIC=fa_IR.UTF-8
روش دوم: تغییر تنظیمات واحدهای اندازه‌گیری

برای تغییر تنظیمات واحدهای اندازه‌گیری مانند وزن، طول و غیره، فایل /etc/locale.conf را باز کرده و آن را مطابق با نیاز خود ویرایش کنید.


3. بررسی و تست تنظیمات

پس از اعمال تغییرات، می‌توانیم از دستورات مختلف برای بررسی تنظیمات جدید استفاده کنیم.

  1. برای بررسی تنظیمات تاریخ و ساعت، دستور زیر را وارد کنید:
locale

این دستور تنظیمات مربوط به تاریخ، ساعت و اعداد را نمایش می‌دهد.

  1. برای تست فرمت تاریخ، می‌توانید از دستور date استفاده کنید:
date

این دستور تاریخ و ساعت فعلی را با فرمت جدید نشان خواهد داد.

  1. برای تست فرمت اعداد، می‌توانید از دستور echo استفاده کنید:
echo $LC_NUMERIC

این دستور فرمت عددی را که در سیستم تنظیم شده است، نشان می‌دهد.


جمع‌بندی

تنظیم فرمت تاریخ، ساعت و اعداد در Issabel و سیستم‌های لینوکس بسیار مهم است زیرا تأثیر زیادی بر نحوه نمایش اطلاعات و تعامل کاربران دارد. این تنظیمات از طریق فایل‌های پیکربندی مانند /etc/locale.conf و ابزارهای خط فرمان انجام می‌شوند. با تغییر locale و timezone، می‌توان فرمت تاریخ، ساعت، اعداد و واحدها را به نیازهای محلی یا فرهنگی مختلف تطبیق داد. پس از اعمال تغییرات، بررسی تنظیمات با استفاده از دستورات مختلف امکان‌پذیر است تا اطمینان حاصل شود که تغییرات به درستی اعمال شده‌اند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”پیکربندی آلارم‌ها و هشدارها به زبان‌های مختلف” subtitle=”توضیحات کامل”]در سیستم‌های مدیریت تماس مانند Issabel، پیکربندی آلارم‌ها و هشدارها برای اطلاع‌رسانی به مدیران سیستم و کاربران ضروری است. این هشدارها ممکن است شامل پیام‌های خطا، وضعیت سیستم یا نیاز به اقدامات خاص برای حفظ عملکرد مناسب سیستم باشند. برای نمایش این هشدارها به زبان‌های مختلف، نیاز است که سیستم از قابلیت چندزبانه پشتیبانی کند.

در این بخش، نحوه پیکربندی آلارم‌ها و هشدارها به زبان‌های مختلف در Issabel بررسی می‌شود. این تنظیمات به ویژه زمانی کاربرد دارند که مدیران سیستم یا کاربران مختلفی با زبان‌های مختلف از سیستم استفاده می‌کنند.


1. پیکربندی زبان‌های مختلف برای آلارم‌ها و هشدارها

برای پیکربندی آلارم‌ها و هشدارها به زبان‌های مختلف، ابتدا باید اطمینان حاصل کنیم که سیستم قادر به پشتیبانی از چندین زبان است. Issabel از طریق پیکربندی locale، این امکان را فراهم می‌کند تا پیام‌های آلارم به زبان دلخواه نمایش داده شوند.

گام اول: اضافه کردن زبان‌های مختلف به سیستم
  1. برای مشاهده زبان‌های موجود در سیستم، از دستور زیر استفاده کنید:
locale -a
  1. برای اضافه کردن زبان جدید، باید پکیج مربوط به آن زبان را نصب کنیم. برای مثال، برای اضافه کردن زبان فارسی (fa_IR)، از دستور زیر استفاده کنید:
sudo apt-get install language-pack-fa
  1. پس از نصب زبان، می‌توانیم آن را به عنوان زبان پیش‌فرض سیستم انتخاب کنیم.
گام دوم: تنظیم زبان پیش‌فرض سیستم
  1. برای تغییر زبان پیش‌فرض سیستم، فایل /etc/default/locale را باز کنید:
sudo nano /etc/default/locale
  1. در این فایل، مقدار LANG را به زبان دلخواه تغییر دهید. به عنوان مثال، برای زبان فارسی، خط زیر را وارد کنید:
LANG=fa_IR.UTF-8
  1. پس از ویرایش، فایل را ذخیره کرده و از آن خارج شوید.
  2. برای اعمال تغییرات، سیستم را ری‌استارت کنید یا دستور زیر را اجرا کنید:
sudo update-locale LANG=fa_IR.UTF-8
گام سوم: تغییر زبان هشدارها در پیکربندی‌های خاص

بسیاری از سیستم‌ها و نرم‌افزارها مانند Asterisk که در Issabel استفاده می‌شوند، امکان تنظیم زبان برای پیام‌های هشدار و آلارم‌ها را دارند. این تنظیمات در فایل‌های پیکربندی مربوط به هر ماژول انجام می‌شود.

برای مثال، در Asterisk، فایل پیکربندی برای تغییر زبان پیام‌های صوتی و هشدارها به صورت زیر است:

  1. فایل /etc/asterisk/asterisk.conf را باز کنید:
sudo nano /etc/asterisk/asterisk.conf
  1. در این فایل، مقدار language را به زبان دلخواه تغییر دهید. برای مثال:
[general]
language=fa

این تنظیم، زبان پیام‌های صوتی و هشدارهای Asterisk را به زبان فارسی تغییر می‌دهد.


2. پیکربندی آلارم‌ها و هشدارهای گرافیکی در رابط کاربری

در صورتی که رابط کاربری Issabel از زبان‌های مختلف پشتیبانی کند، تنظیمات آلارم‌ها و هشدارها نیز باید به همان زبان‌ها ارائه شوند. این تنظیمات معمولاً از طریق فایل‌های پیکربندی وب‌سرور انجام می‌شوند.

برای تغییر زبان رابط کاربری Issabel، می‌توانید مراحل زیر را دنبال کنید:

  1. ابتدا فایل پیکربندی مربوط به زبان رابط کاربری Issabel را پیدا کنید. این فایل معمولاً در /etc/issabel/config.php قرار دارد.
  2. برای تغییر زبان پیش‌فرض رابط کاربری، فایل config.php را باز کنید:
sudo nano /etc/issabel/config.php
  1. مقدار $lang را به زبان دلخواه تنظیم کنید. برای مثال، برای زبان فارسی:
$lang = "fa";
  1. پس از ویرایش، فایل را ذخیره کرده و از آن خارج شوید.

3. پیکربندی آلارم‌های سیستم از طریق Syslog

در سیستم‌عامل‌های لینوکس، آلارم‌ها و هشدارها می‌توانند از طریق Syslog ثبت شوند. برای پیکربندی Syslog به زبان‌های مختلف، باید اطمینان حاصل کنید که فایل‌های پیکربندی Syslog به درستی تنظیم شده‌اند.

  1. فایل پیکربندی /etc/rsyslog.conf را باز کنید:
sudo nano /etc/rsyslog.conf
  1. برای اضافه کردن زبان‌های مختلف در پیام‌های ثبت‌شده، می‌توان از تنظیمات locale در این فایل استفاده کرد.
  2. پس از اعمال تغییرات، برای فعال‌سازی Syslog و اعمال تنظیمات جدید، سرویس را ری‌استارت کنید:
sudo service rsyslog restart

4. ارسال آلارم‌ها و هشدارها به ایمیل

در صورتی که بخواهید آلارم‌ها و هشدارها را از طریق ایمیل به کاربران ارسال کنید، می‌توانید از ابزارهایی مانند ssmtp یا msmtp استفاده کنید. برای ارسال هشدار به زبان‌های مختلف از طریق ایمیل، به تنظیمات زبان سیستم و پیکربندی ایمیل توجه کنید.


جمع‌بندی

پیکربندی آلارم‌ها و هشدارها به زبان‌های مختلف در Issabel و سیستم‌های مبتنی بر لینوکس از اهمیت بالایی برخوردار است تا اطمینان حاصل شود که کاربران و مدیران سیستم پیام‌های هشدار را به زبان خود دریافت می‌کنند. این پیکربندی‌ها از طریق تغییر تنظیمات locale، پیکربندی Asterisk، و تغییر زبان در رابط کاربری Issabel انجام می‌شوند. همچنین، استفاده از Syslog و ارسال ایمیل به زبان‌های مختلف نیز از روش‌های مؤثر برای مدیریت هشدارها و آلارم‌ها است.[/cdb_course_lesson][cdb_course_lesson title=”فصل 7. پیکربندی ارسال و دریافت ایمیل”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیمات SMTP برای ارسال ایمیل‌های گزارشات و هشدارها” subtitle=”توضیحات کامل”]در سیستم‌هایی مانند Issabel که نیاز به ارسال گزارشات و هشدارها از طریق ایمیل دارند، پیکربندی صحیح سرویس SMTP اهمیت زیادی دارد. با تنظیم SMTP، می‌توان گزارشات و هشدارها را به صورت خودکار به ایمیل‌های مشخص ارسال کرد. در این بخش، نحوه پیکربندی SMTP برای ارسال ایمیل‌های گزارشات و هشدارها در Issabel توضیح داده می‌شود.


1. نصب و پیکربندی نرم‌افزارهای SMTP

برای ارسال ایمیل‌ها از طریق Issabel، می‌توان از نرم‌افزارهای مختلفی مانند Postfix، Exim یا Sendmail استفاده کرد. در اینجا، پیکربندی Postfix برای ارسال ایمیل‌ها از طریق یک سرویس SMTP عمومی (مثلاً Gmail) توضیح داده خواهد شد.

گام اول: نصب Postfix

اگر Postfix بر روی سیستم نصب نیست، می‌توانید آن را با استفاده از دستور زیر نصب کنید:

sudo apt-get install postfix

در حین نصب، از شما خواسته می‌شود که نوع پیکربندی را انتخاب کنید. گزینه‌ی Internet Site را انتخاب کنید.

گام دوم: پیکربندی Postfix برای استفاده از SMTP

پس از نصب، فایل پیکربندی Postfix در مسیر /etc/postfix/main.cf قرار دارد. برای تنظیم SMTP، باید این فایل را ویرایش کنید.

  1. فایل پیکربندی را با استفاده از ویرایشگر متن باز کنید:
sudo nano /etc/postfix/main.cf
  1. در این فایل، موارد زیر را اضافه کنید تا Postfix از SMTP سرور (مثلاً Gmail) استفاده کند:
# تنظیمات عمومی Postfix
myhostname = yourdomain.com
mydomain = yourdomain.com
myorigin = /etc/mailname
inet_interfaces = all
inet_protocols = ipv4

# تنظیمات برای استفاده از Gmail SMTP
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_use_tls = yes
tls_random_source = dev:/dev/urandom
  1. سپس باید فایل /etc/postfix/sasl_passwd را برای ذخیره نام کاربری و رمز عبور ایمیل باز کنید:
sudo nano /etc/postfix/sasl_passwd
  1. در این فایل، نام کاربری و رمز عبور مربوط به حساب ایمیل خود را وارد کنید:
[smtp.gmail.com]:587    username@gmail.com:yourpassword
  1. پس از ذخیره تغییرات، برای اعمال تنظیمات، باید فایل sasl_passwd را هش کنید:
sudo postmap /etc/postfix/sasl_passwd
  1. سپس مجوزهای امنیتی فایل‌ها را تنظیم کنید:
sudo chmod 600 /etc/postfix/sasl_passwd*
گام سوم: راه‌اندازی مجدد Postfix

برای اعمال تغییرات، سرویس Postfix را ری‌استارت کنید:

sudo systemctl restart postfix

2. تنظیمات ایمیل در Issabel برای ارسال گزارشات و هشدارها

برای ارسال ایمیل‌های گزارشات و هشدارها از Issabel، نیاز به پیکربندی سرویس ایمیل در داخل رابط کاربری Issabel نیز هست. این تنظیمات از طریق بخش پیکربندی سیستم انجام می‌شوند.

گام اول: وارد شدن به رابط کاربری Issabel
  1. وارد رابط کاربری Issabel شوید.
  2. به قسمت System Settings بروید و گزینه Email Settings را انتخاب کنید.
گام دوم: پیکربندی تنظیمات ایمیل

در این بخش، تنظیمات SMTP برای ارسال ایمیل‌ها انجام می‌شود. تنظیمات به شرح زیر هستند:

  1. SMTP Server: آدرس سرور SMTP که از آن استفاده خواهید کرد (برای مثال: smtp.gmail.com).
  2. SMTP Port: شماره پورت سرور SMTP (برای Gmail معمولاً پورت 587 یا 465 است).
  3. SMTP Username: نام کاربری حساب ایمیل (برای مثال: username@gmail.com).
  4. SMTP Password: رمز عبور حساب ایمیل.
  5. SMTP Encryption: نوع رمزنگاری برای اتصال (برای Gmail معمولاً TLS یا SSL استفاده می‌شود).

پس از وارد کردن این اطلاعات، روی Save کلیک کنید.

گام سوم: آزمایش ارسال ایمیل

برای آزمایش تنظیمات، می‌توانید از بخش Email Settings گزینه‌ی Test Email را انتخاب کرده و یک ایمیل آزمایشی ارسال کنید. این ایمیل باید به آدرس ایمیل مشخص‌شده در تنظیمات ارسال شود.


3. پیکربندی ارسال ایمیل‌های هشدار

برای ارسال هشدارها و گزارشات از طریق ایمیل، می‌توان از ابزارهایی مانند Cron برای زمان‌بندی ارسال ایمیل‌ها استفاده کرد. به عنوان مثال، می‌توان از دستور mail برای ارسال ایمیل به آدرس‌های مشخص استفاده کرد.

  1. برای ارسال ایمیل هشدار به صورت دستی، دستور زیر را می‌توانید استفاده کنید:
echo "Your alert message" | mail -s "Alert Subject" recipient@example.com

این دستور یک ایمیل با موضوع Alert Subject و متن Your alert message به آدرس recipient@example.com ارسال می‌کند.

  1. برای تنظیم ارسال خودکار ایمیل‌ها از طریق Cron، باید یک شغل Cron برای ارسال ایمیل‌ها تنظیم کنید. برای ویرایش فایل cron دستور زیر را وارد کنید:
crontab -e

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

0 6 * * * echo "Daily report" | mail -s "Daily Report" recipient@example.com

این دستور هر روز ساعت 6 صبح ایمیلی با موضوع Daily Report به آدرس recipient@example.com ارسال می‌کند.


جمع‌بندی

پیکربندی SMTP برای ارسال ایمیل‌های گزارشات و هشدارها در Issabel نیازمند تنظیمات دقیق در سرویس Postfix و تنظیمات ایمیل در رابط کاربری Issabel است. پس از پیکربندی صحیح SMTP، می‌توان ایمیل‌های هشدار و گزارشات را به صورت خودکار یا دستی ارسال کرد. همچنین، با استفاده از ابزار Cron می‌توان زمان‌بندی ارسال ایمیل‌ها را تنظیم کرده و اطمینان حاصل کرد که مدیران سیستم از وضعیت سیستم مطلع هستند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”پیکربندی IMAP/POP3 برای دریافت ایمیل‌ها و ارجاع به سیستم‌های دیگر” subtitle=”توضیحات کامل”]پیکربندی IMAP و POP3 برای دریافت ایمیل‌ها در Issabel و ارجاع آن‌ها به سیستم‌های دیگر، یکی از بخش‌های مهم در مدیریت ایمیل است. این تنظیمات به شما این امکان را می‌دهند که ایمیل‌ها را از سرویس‌دهندگان ایمیل (مانند Gmail، Yahoo، یا هر سرور ایمیل دیگری) دریافت کرده و آن‌ها را به سیستم‌های دیگر مانند نرم‌افزارهای مدیریت ایمیل داخلی یا سایر سیستم‌ها ارسال کنید. در این بخش، مراحل پیکربندی IMAP/POP3 برای دریافت ایمیل‌ها و ارجاع آن‌ها به سیستم‌های دیگر توضیح داده می‌شود.


1. نصب و پیکربندی نرم‌افزارهای IMAP/POP3

برای پیکربندی IMAP و POP3 در Issabel، باید نرم‌افزارهایی مانند Dovecot و Courier را نصب کنید که برای دسترسی به ایمیل‌ها از طریق پروتکل‌های IMAP و POP3 استفاده می‌شود. در اینجا از Dovecot استفاده می‌کنیم که یکی از نرم‌افزارهای رایج برای پشتیبانی از این پروتکل‌ها است.

گام اول: نصب Dovecot

اگر Dovecot بر روی سیستم شما نصب نیست، می‌توانید آن را با استفاده از دستور زیر نصب کنید:

sudo apt-get install dovecot-imapd dovecot-pop3d
گام دوم: پیکربندی Dovecot

پس از نصب، باید فایل پیکربندی Dovecot را ویرایش کنید. فایل پیکربندی در مسیر /etc/dovecot/dovecot.conf قرار دارد.

  1. فایل پیکربندی را با ویرایشگر متن باز کنید:
sudo nano /etc/dovecot/dovecot.conf
  1. در این فایل، مطمئن شوید که پروتکل‌های IMAP و POP3 فعال هستند. تنظیمات زیر را اضافه یا اصلاح کنید:
# فعال‌سازی پروتکل‌های IMAP و POP3
protocols = imap pop3

# پیکربندی سرور IMAP و POP3
listen = *
  1. پس از انجام تغییرات، فایل را ذخیره کنید و بسته Dovecot را ری‌استارت کنید:
sudo systemctl restart dovecot
گام سوم: پیکربندی کاربران

برای هر کاربر، باید یک صندوق پستی برای IMAP یا POP3 ایجاد کنید. در بسیاری از سیستم‌ها، این کار به صورت خودکار انجام می‌شود، اما در صورت نیاز می‌توانید صندوق پستی را برای کاربران خاص ایجاد کنید.


2. پیکربندی ارجاع ایمیل‌ها به سیستم‌های دیگر

بعد از اینکه ایمیل‌ها از طریق پروتکل‌های IMAP یا POP3 دریافت شدند، ممکن است بخواهید آن‌ها را به سیستم‌های دیگر (مانند یک سرور یا سیستم مدیریت ایمیل داخلی) ارجاع دهید. برای این کار، می‌توان از procmail یا Postfix استفاده کرد تا ایمیل‌ها به آدرس‌های دیگری هدایت شوند.

گام اول: پیکربندی ارسال مجدد ایمیل‌ها با استفاده از Postfix

برای ارسال ایمیل‌ها به سیستم‌های دیگر، تنظیمات Postfix باید به‌روزرسانی شوند. فایل پیکربندی Postfix در مسیر /etc/postfix/main.cf قرار دارد.

  1. فایل پیکربندی Postfix را باز کنید:
sudo nano /etc/postfix/main.cf
  1. برای ارجاع ایمیل‌ها به آدرس‌های دیگر، از دستورالعمل‌های alias استفاده کنید. به عنوان مثال، برای ارسال تمام ایمیل‌های وارد شده به آدرس مشخصی، تنظیمات زیر را اضافه کنید:
# تنظیمات ارجاع ایمیل‌ها
virtual_alias_maps = hash:/etc/postfix/virtual
  1. سپس فایل /etc/postfix/virtual را ویرایش کرده و آدرس مقصد را وارد کنید:
sudo nano /etc/postfix/virtual
  1. در این فایل، شما می‌توانید ایمیل‌های ورودی را به آدرس دیگری ارجاع دهید. به عنوان مثال، برای ارجاع تمام ایمیل‌ها به anotheremail@example.com، خط زیر را اضافه کنید:
@example.com    anotheremail@example.com
  1. پس از ذخیره تغییرات، برای اعمال تنظیمات باید پایگاه داده virtual را بروزرسانی کنید:
sudo postmap /etc/postfix/virtual
  1. سپس سرویس Postfix را ری‌استارت کنید:
sudo systemctl restart postfix
گام دوم: استفاده از Procmail برای فیلتر کردن ایمیل‌ها

در صورتی که نیاز دارید ایمیل‌ها را به صورت پیشرفته‌تر فیلتر کنید (مثلاً بر اساس محتوا یا فرستنده)، می‌توانید از Procmail استفاده کنید. ابتدا باید Procmail را نصب کنید:

sudo apt-get install procmail

سپس می‌توانید یک فایل پیکربندی برای فیلتر کردن ایمیل‌ها و ارجاع آن‌ها به آدرس‌های دیگر ایجاد کنید. به عنوان مثال:

  1. فایل پیکربندی .procmailrc را در پوشه خانگی کاربر ایجاد کنید:
nano ~/.procmailrc
  1. سپس قوانین فیلتر خود را وارد کنید. برای مثال، برای ارجاع ایمیل‌هایی که از یک فرستنده خاص آمده‌اند، می‌توانید از دستور زیر استفاده کنید:
:0
* ^From.*specificsender@example.com
! forwardto@example.com
  1. پس از ذخیره این تغییرات، Procmail به طور خودکار ایمیل‌های مطابق با قوانین تعریف شده را فیلتر کرده و به آدرس‌های دیگر ارجاع می‌دهد.

جمع‌بندی

پیکربندی IMAP و POP3 برای دریافت ایمیل‌ها در Issabel با نصب و پیکربندی Dovecot انجام می‌شود. پس از دریافت ایمیل‌ها، می‌توانید از ابزارهایی مانند Postfix و Procmail برای ارجاع ایمیل‌ها به سیستم‌های دیگر یا آدرس‌های مختلف استفاده کنید. این تنظیمات به شما این امکان را می‌دهند که ایمیل‌ها را به صورت خودکار به آدرس‌های دیگر ارسال کرده و فیلترهای مختلفی بر روی آن‌ها اعمال کنید.[/cdb_course_lesson][cdb_course_lesson title=”فصل 8. پیکربندی تنظیمات سیستم”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیمات مربوط به System Updates (به‌روزرسانی خودکار سیستم)” subtitle=”توضیحات کامل”]به‌روزرسانی خودکار سیستم یکی از بخش‌های حیاتی برای حفظ امنیت و عملکرد بهینه در سیستم‌های لینوکس است. در سیستم‌عامل‌های مبتنی بر لینوکس، تنظیمات به‌روزرسانی خودکار می‌توانند به‌طور خودکار بسته‌های نرم‌افزاری، به‌روزرسانی‌های امنیتی و سایر اجزای سیستم را دریافت کرده و نصب کنند. این فرآیند به شما کمک می‌کند تا از بروز مشکلات امنیتی و عملکردی جلوگیری کرده و سیستم خود را به روز نگه دارید. در این بخش، نحوه پیکربندی به‌روزرسانی‌های خودکار سیستم در Issabel را با استفاده از ابزارهای مختلف مانند unattended-upgrades و cron توضیح می‌دهیم.


1. نصب و پیکربندی unattended-upgrades

برای به‌روزرسانی خودکار سیستم در Issabel، یکی از ابزارهای رایج unattended-upgrades است. این ابزار به‌طور خودکار به‌روزرسانی‌های امنیتی را نصب می‌کند.

گام اول: نصب unattended-upgrades

اگر این ابزار روی سیستم شما نصب نیست، می‌توانید آن را با دستور زیر نصب کنید:

sudo apt-get install unattended-upgrades
گام دوم: پیکربندی unattended-upgrades
  1. پس از نصب، فایل پیکربندی این ابزار در مسیر /etc/apt/apt.conf.d/50unattended-upgrades قرار دارد. این فایل را با ویرایشگر متن باز کنید:
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
  1. در این فایل، شما می‌توانید تنظیمات مربوط به به‌روزرسانی خودکار را سفارشی کنید. برای نصب به‌روزرسانی‌های امنیتی به‌طور خودکار، بخش‌های زیر را فعال کنید:
// فعال‌سازی به‌روزرسانی‌های امنیتی خودکار
Unattended-Upgrade::Allowed-Origins {
    "Ubuntu:{{distro_codename}}-security";
    "Ubuntu:{{distro_codename}}-updates";
};

// فعال‌سازی نصب خودکار بسته‌های به‌روزرسانی
Unattended-Upgrade::Automatic-Reboot "false";
Unattended-Upgrade::Automatic-Reboot-Time "02:00";
  1. پس از انجام تغییرات، فایل را ذخیره کنید و بسته unattended-upgrades را فعال کنید:
sudo dpkg-reconfigure unattended-upgrades
گام سوم: فعال‌سازی unattended-upgrades

برای فعال‌سازی به‌روزرسانی‌های خودکار، باید سرویس unattended-upgrades را ری‌استارت کنید:

sudo systemctl restart unattended-upgrades

این تنظیمات باعث می‌شوند که سیستم به‌طور خودکار به‌روزرسانی‌های امنیتی را دریافت کرده و آن‌ها را نصب کند.


2. استفاده از cron برای پیکربندی به‌روزرسانی‌های خودکار

یکی دیگر از روش‌های پیکربندی به‌روزرسانی‌های خودکار استفاده از cron است که به شما امکان می‌دهد تا دستورات خاصی را در زمان‌های مشخص اجرا کنید. در این روش، شما می‌توانید دستور به‌روزرسانی سیستم را به‌طور خودکار در فواصل زمانی مشخص اجرا کنید.

گام اول: ویرایش فایل cron
  1. برای پیکربندی به‌روزرسانی خودکار با استفاده از cron، فایل cron را ویرایش کنید:
sudo crontab -e
  1. برای اجرای به‌روزرسانی سیستم به‌طور خودکار، خط زیر را به فایل cron اضافه کنید:
0 2 * * * apt-get update && apt-get upgrade -y

این خط به‌روزرسانی سیستم را هر روز ساعت ۲ صبح انجام می‌دهد.

گام دوم: ذخیره و بستن فایل

پس از افزودن دستور بالا به فایل cron، تغییرات را ذخیره کرده و فایل را ببندید. این کار باعث می‌شود که به‌روزرسانی‌ها به‌طور خودکار هر روز ساعت ۲ صبح انجام شوند.


3. بررسی وضعیت به‌روزرسانی‌های خودکار

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

sudo systemctl status unattended-upgrades

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


جمع‌بندی

پیکربندی به‌روزرسانی خودکار در Issabel از طریق ابزارهای unattended-upgrades و cron انجام می‌شود. با استفاده از unattended-upgrades، می‌توانید به‌روزرسانی‌های امنیتی را به‌طور خودکار نصب کنید، در حالی که cron به شما این امکان را می‌دهد که دستور به‌روزرسانی سیستم را در فواصل زمانی خاص اجرا کنید. این تنظیمات به شما کمک می‌کنند که سیستم خود را به‌طور خودکار به‌روز نگه دارید و از خطرات امنیتی جلوگیری کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”پیکربندی Backup Settings برای ایجاد نسخه پشتیبان منظم از سیستم” subtitle=”توضیحات کامل”]تهیه نسخه پشتیبان (Backup) از داده‌ها و تنظیمات سیستم، یکی از مراحل حیاتی برای حفظ اطلاعات و بازیابی سریع سیستم در صورت بروز مشکلات است. در Issabel، پیکربندی نسخه‌های پشتیبان منظم برای جلوگیری از از دست رفتن داده‌ها، مهم است. این بخش به شما نحوه پیکربندی تنظیمات نسخه پشتیبان را با استفاده از ابزارهای مختلف در لینوکس مانند rsync، tar و همچنین پیکربندی بک‌آپ‌های خودکار با استفاده از cron و ابزارهای داخلی توضیح می‌دهد.


1. استفاده از rsync برای ایجاد نسخه پشتیبان

یکی از روش‌های رایج برای ایجاد نسخه پشتیبان از داده‌ها در سیستم‌های لینوکس، استفاده از rsync است. این ابزار به شما این امکان را می‌دهد که داده‌ها را به‌طور موثری و با کمترین مصرف منابع بین دو مکان مختلف همگام‌سازی کنید.

گام اول: نصب rsync

اگر این ابزار روی سیستم شما نصب نیست، آن را با دستور زیر نصب کنید:

sudo apt-get install rsync
گام دوم: پیکربندی rsync برای پشتیبان‌گیری
  1. برای ایجاد یک نسخه پشتیبان از داده‌ها با rsync، یک اسکریپت bash ایجاد کنید. این اسکریپت می‌تواند هر شب به‌طور خودکار اجرا شود و نسخه پشتیبان جدیدی از فایل‌ها تهیه کند.
  2. یک فایل اسکریپت جدید با نام backup.sh ایجاد کنید:
sudo nano /usr/local/bin/backup.sh
  1. اسکریپت زیر را در فایل وارد کنید:
#!/bin/bash
# مسیرهای منبع و مقصد پشتیبان
SOURCE_DIR="/var/www/html"
DEST_DIR="/backups/$(date +\%Y\%m\%d)"
LOG_FILE="/var/log/backup.log"

# ایجاد پوشه مقصد اگر وجود نداشته باشد
mkdir -p $DEST_DIR

# اجرای دستور rsync برای پشتیبان‌گیری
rsync -av --delete $SOURCE_DIR $DEST_DIR >> $LOG_FILE 2>&1

# ثبت تاریخ پشتیبان
echo "Backup completed on $(date)" >> $LOG_FILE
  1. فایل را ذخیره کرده و دسترسی اجرایی به آن بدهید:
sudo chmod +x /usr/local/bin/backup.sh
گام سوم: ایجاد یک cron job برای پشتیبان‌گیری خودکار
  1. برای اجرای نسخه پشتیبان به‌طور منظم، باید یک cron job ایجاد کنید. فایل cron را با استفاده از دستور زیر ویرایش کنید:
sudo crontab -e
  1. برای پشتیبان‌گیری هر شب ساعت ۲ صبح، خط زیر را به فایل cron اضافه کنید:
0 2 * * * /usr/local/bin/backup.sh
  1. فایل را ذخیره کرده و ویرایشگر را ببندید. اکنون، اسکریپت به‌طور خودکار هر شب در ساعت ۲ صبح اجرا می‌شود و نسخه پشتیبان جدیدی از داده‌ها تهیه می‌کند.

2. استفاده از tar برای تهیه نسخه پشتیبان فشرده

یکی دیگر از روش‌های تهیه نسخه پشتیبان، استفاده از دستور tar برای فشرده‌سازی داده‌ها است. این ابزار به شما این امکان را می‌دهد که نسخه پشتیبان‌های فشرده و قابل حمل ایجاد کنید.

گام اول: ایجاد یک اسکریپت tar

برای ایجاد نسخه پشتیبان فشرده با tar، یک اسکریپت bash دیگر ایجاد کنید:

sudo nano /usr/local/bin/backup_tar.sh

در این اسکریپت، دستور زیر را وارد کنید:

#!/bin/bash
# مسیر منبع و مقصد
SOURCE_DIR="/var/www/html"
DEST_DIR="/backups/backup_$(date +\%Y\%m\%d).tar.gz"
LOG_FILE="/var/log/backup_tar.log"

# اجرای دستور tar برای فشرده‌سازی داده‌ها
tar -czvf $DEST_DIR $SOURCE_DIR >> $LOG_FILE 2>&1

# ثبت تاریخ پشتیبان
echo "Backup completed on $(date)" >> $LOG_FILE
گام دوم: افزودن cron job برای اجرای نسخه پشتیبان

دقیقاً همانطور که در قسمت اول توضیح داده شد، فایل cron را ویرایش کنید و خط زیر را برای اجرای اسکریپت در ساعت ۳ صبح اضافه کنید:

0 3 * * * /usr/local/bin/backup_tar.sh

3. بررسی وضعیت پشتیبان‌گیری

برای اطمینان از اینکه پشتیبان‌گیری به درستی انجام شده است، می‌توانید با استفاده از دستور زیر، وضعیت فایل‌های پشتیبان را بررسی کنید:

ls -l /backups

این دستور فهرستی از فایل‌های پشتیبان در مسیر مشخص‌شده به شما نمایش می‌دهد.


4. پیکربندی Backup Settings در Web Interface

در Issabel، اگر از رابط وب برای مدیریت سیستم استفاده می‌کنید، می‌توانید تنظیمات پشتیبان‌گیری را از طریق رابط کاربری نیز پیکربندی کنید. این کار معمولاً شامل انتخاب مسیر پشتیبان، انتخاب اجزای سیستم برای پشتیبان‌گیری، و تعیین زمان‌بندی برای پشتیبان‌گیری‌های خودکار است.

  1. وارد رابط کاربری Issabel شوید.
  2. به بخش System Settings بروید و گزینه Backup را انتخاب کنید.
  3. تنظیمات مختلف را برای پشتیبان‌گیری شامل زمان‌بندی، اجزای سیستم، و مسیر ذخیره‌سازی پشتیبان تنظیم کنید.
  4. تنظیمات خود را ذخیره کنید.

جمع‌بندی

پیکربندی پشتیبان‌گیری منظم یکی از اصول اصلی نگهداری و مدیریت سیستم‌های لینوکس است. شما می‌توانید با استفاده از ابزارهایی مانند rsync و tar، نسخه‌های پشتیبان فشرده و همگام‌سازی شده ایجاد کنید. همچنین با استفاده از cron می‌توانید این فرآیند را به‌طور خودکار تنظیم کنید تا پشتیبان‌گیری‌ها در زمان‌های مشخص انجام شوند. در نهایت، برای استفاده از رابط کاربری Issabel، می‌توانید تنظیمات پشتیبان‌گیری را از طریق آن پیکربندی کنید تا فرآیند مدیریت نسخه‌های پشتیبان ساده‌تر و مؤثرتر باشد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیمات System Logs برای ذخیره‌سازی و مانیتورینگ فعالیت‌ها” subtitle=”توضیحات کامل”]برای حفظ امنیت و انجام مانیتورینگ مؤثر سیستم‌ها، تنظیمات سیستم لاگ‌ها (system logs) اهمیت زیادی دارند. لاگ‌ها به شما این امکان را می‌دهند که فعالیت‌های مختلف سیستم، مانند ورود و خروج کاربران، عملیات سیستم و خطاها را ثبت و بررسی کنید. در این بخش به پیکربندی سیستم لاگ‌ها برای ذخیره‌سازی و مانیتورینگ فعالیت‌ها در سیستم Issabel پرداخته خواهد شد.


1. پیکربندی Syslog برای ذخیره‌سازی لاگ‌ها

Syslog یکی از ابزارهای قدرتمند برای ذخیره‌سازی و مدیریت لاگ‌ها در سیستم‌های لینوکس است. این ابزار می‌تواند فعالیت‌ها را در فایل‌های مختلف ذخیره کند تا برای تحلیل و بررسی در دسترس باشد.

گام اول: نصب و پیکربندی rsyslog
  1. اگر rsyslog بر روی سیستم شما نصب نیست، با استفاده از دستور زیر آن را نصب کنید:
sudo apt-get install rsyslog
  1. فایل پیکربندی rsyslog معمولاً در مسیر /etc/rsyslog.conf قرار دارد. برای ویرایش آن از دستور زیر استفاده کنید:
sudo nano /etc/rsyslog.conf
  1. در این فایل، تنظیمات مختلفی برای ذخیره‌سازی لاگ‌ها مانند تعیین مسیر ذخیره، سطح لاگ‌ها (level)، و مشخص کردن قالب خروجی وجود دارد. به‌عنوان مثال، می‌توانید تنظیمات ذخیره‌سازی لاگ‌ها را برای ذخیره‌سازی در یک فایل خاص تغییر دهید:
# ذخیره لاگ‌های سیستم در فایل /var/log/system.log
*.* /var/log/system.log
  1. برای ذخیره لاگ‌های ویژه‌ای مانند فعالیت‌های مربوط به SIP یا IAX، می‌توانید در فایل پیکربندی rsyslog خطوط خاصی اضافه کنید:
# ذخیره لاگ‌های مرتبط با SIP و IAX
local0.* /var/log/asterisk/sip.log
local1.* /var/log/asterisk/iax.log
  1. پس از ویرایش فایل، تغییرات را ذخیره کرده و سرویس rsyslog را راه‌اندازی مجدد کنید:
sudo systemctl restart rsyslog
گام دوم: پیکربندی logrotate برای مدیریت اندازه لاگ‌ها

برای جلوگیری از پر شدن فضای دیسک به دلیل اندازه زیاد لاگ‌ها، می‌توانید از logrotate استفاده کنید تا به‌طور خودکار لاگ‌ها را بچرخاند و حجم آن‌ها را محدود کند.

  1. فایل پیکربندی logrotate در مسیر /etc/logrotate.conf قرار دارد. برای ویرایش آن از دستور زیر استفاده کنید:
sudo nano /etc/logrotate.conf
  1. برای افزودن تنظیمات خاص به فایل logrotate, می‌توانید مسیر لاگ‌ها را تعیین کرده و تنظیمات چرخش را مشخص کنید. به‌عنوان مثال:
/var/log/asterisk/*.log {
    weekly
    rotate 4
    compress
    missingok
    notifempty
    create 640 asterisk asterisk
}

در اینجا:

  • weekly: چرخش لاگ‌ها هر هفته انجام می‌شود.
  • rotate 4: 4 نسخه از لاگ‌ها نگهداری می‌شود.
  • compress: نسخه‌های قدیمی فشرده می‌شوند.
  • missingok: اگر لاگ‌ها موجود نبودند، مشکلی ایجاد نمی‌شود.
  • notifempty: اگر لاگ خالی باشد، چرخش انجام نمی‌شود.
  • create 640 asterisk asterisk: لاگ‌ها با دسترسی‌های مشخص ایجاد می‌شوند.
  1. پس از ویرایش فایل، تغییرات را ذخیره کرده و دستور زیر را برای اعمال تغییرات اجرا کنید:
sudo logrotate /etc/logrotate.conf

2. پیکربندی Auditd برای مانیتورینگ امنیتی

Auditd یکی دیگر از ابزارهای مفید برای ثبت و بررسی فعالیت‌های امنیتی در سیستم است. این ابزار به شما کمک می‌کند تا هر عملیاتی که در سیستم اتفاق می‌افتد را از لحاظ امنیتی بررسی کنید.

گام اول: نصب auditd

اگر auditd بر روی سیستم شما نصب نیست، آن را با دستور زیر نصب کنید:

sudo apt-get install auditd
گام دوم: پیکربندی auditd
  1. فایل پیکربندی auditd در مسیر /etc/audit/auditd.conf قرار دارد. برای ویرایش آن از دستور زیر استفاده کنید:
sudo nano /etc/audit/auditd.conf
  1. در این فایل، می‌توانید تنظیمات مختلفی برای ثبت لاگ‌ها تنظیم کنید. به‌عنوان مثال، برای تعیین میزان حافظه کش برای لاگ‌ها و مکان ذخیره‌سازی، می‌توانید خط‌های زیر را وارد کنید:
log_file = /var/log/audit/audit.log
max_log_file = 10
  1. پس از ویرایش فایل، سرویس auditd را راه‌اندازی مجدد کنید:
sudo systemctl restart auditd
گام سوم: پیکربندی Audit Rules

برای بررسی فعالیت‌های خاص، می‌توانید audit rules تعریف کنید. این قواعد مشخص می‌کنند که کدام نوع فعالیت‌ها باید ثبت شوند. به‌عنوان مثال، برای ثبت ورود کاربران و دسترسی به فایل‌های حساس، می‌توانید خط زیر را در فایل audit.rules وارد کنید:

sudo nano /etc/audit/rules.d/audit.rules
# نظارت بر ورود کاربران
-w /var/log/secure -p wa -k user-login

در اینجا:

  • -w: مشخص می‌کند که روی کدام فایل نظارت شود.
  • -p wa: نظارت بر عملیات‌های نوشتن (write) و تغییرات (attribute change) انجام می‌شود.
  • -k user-login: یک برچسب (key) به این قاعده اضافه می‌شود تا راحت‌تر بتوان لاگ‌ها را فیلتر کرد.

پس از اعمال تغییرات، سرویس auditd را مجدداً راه‌اندازی کنید:

sudo systemctl restart auditd

3. مانیتورینگ لاگ‌ها با استفاده از Logwatch

Logwatch یک ابزار مفید برای تجزیه و تحلیل و گزارش‌گیری از لاگ‌ها است. با استفاده از Logwatch می‌توانید گزارش‌های جامع‌تری از فعالیت‌های سیستم خود دریافت کنید.

گام اول: نصب Logwatch
sudo apt-get install logwatch
گام دوم: پیکربندی Logwatch
  1. فایل پیکربندی Logwatch در مسیر /etc/logwatch/conf/logwatch.conf قرار دارد. برای ویرایش آن از دستور زیر استفاده کنید:
sudo nano /etc/logwatch/conf/logwatch.conf
  1. می‌توانید تنظیمات گزارش‌گیری را به‌دلخواه خود تغییر دهید. به‌عنوان مثال، برای ارسال گزارش‌ها به ایمیل:
MailTo = your-email@example.com
  1. برای مشاهده گزارش‌های روزانه، از دستور زیر استفاده کنید:
sudo logwatch --detail high --range today --service all

این دستور گزارش کاملی از تمامی خدمات و فعالیت‌های سیستم به‌صورت روزانه ارائه می‌دهد.


جمع‌بندی

پیکربندی سیستم لاگ‌ها و ابزارهای مانیتورینگ مانند rsyslog، auditd، و Logwatch می‌تواند به‌طور مؤثری به شما کمک کند تا فعالیت‌های سیستم و امنیت آن را نظارت و مدیریت کنید. با ذخیره‌سازی مناسب لاگ‌ها و استفاده از ابزارهای تحلیل، می‌توانید مشکلات امنیتی و عملکردی را به‌سرعت شناسایی کرده و در صورت لزوم اقدامات اصلاحی انجام دهید. همچنین با استفاده از ابزارهایی مثل logrotate می‌توانید از پر شدن فضای دیسک توسط لاگ‌ها جلوگیری کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیمات Power Management برای کاهش مصرف انرژی” subtitle=”توضیحات کامل”]مدیریت مصرف انرژی یک بخش حیاتی در مدیریت سیستم‌ها و دستگاه‌ها است، به‌خصوص در سرورها و سیستم‌های بزرگ که مصرف برق می‌تواند هزینه‌های زیادی ایجاد کند. در این بخش، نحوه تنظیمات Power Management در سیستم Issabel برای کاهش مصرف انرژی توضیح داده خواهد شد.


1. تنظیمات Power Management در سیستم‌عامل لینوکس

برای کاهش مصرف انرژی در سیستم‌های مبتنی بر لینوکس، می‌توانید از ابزارهای مختلفی استفاده کنید که اجازه می‌دهند منابع سخت‌افزاری را به‌طور بهینه مدیریت کنید. یکی از مهم‌ترین ابزارها TLP است که به‌طور خاص برای مدیریت مصرف انرژی طراحی شده است.

گام اول: نصب TLP

برای نصب ابزار TLP، از دستورات زیر استفاده کنید:

sudo apt-get update
sudo apt-get install tlp tlp-rdw
گام دوم: فعال‌سازی TLP

پس از نصب، برای فعال‌سازی TLP و شروع به کار آن، از دستور زیر استفاده کنید:

sudo systemctl enable tlp
sudo systemctl start tlp
گام سوم: پیکربندی TLP

فایل پیکربندی TLP در مسیر /etc/default/tlp قرار دارد. برای ویرایش آن از دستور زیر استفاده کنید:

sudo nano /etc/default/tlp

در این فایل، تنظیمات مختلفی برای مصرف انرژی سخت‌افزار وجود دارد. به‌عنوان مثال، برای تنظیم مصرف انرژی پردازنده، می‌توانید گزینه‌های مربوطه را تغییر دهید:

# فعال کردن حالت صرفه‌جویی انرژی برای CPU
CPU_SCALING_GOVERNOR_ON_AC="powersave"
CPU_SCALING_GOVERNOR_ON_BAT="powersave"

این تنظیمات باعث می‌شود که پردازنده در هنگام اتصال به برق یا باتری در حالت صرفه‌جویی انرژی قرار بگیرد.

گام چهارم: بررسی وضعیت TLP

برای بررسی وضعیت TLP و مطمئن شدن از اینکه تنظیمات به‌درستی اعمال شده‌اند، دستور زیر را اجرا کنید:

sudo tlp-stat -s

این دستور وضعیت فعلی تنظیمات مصرف انرژی را نشان می‌دهد.


2. تنظیمات مصرف انرژی در سطح سخت‌افزار

برای مدیریت مصرف انرژی سخت‌افزار، می‌توانید از powertop استفاده کنید که ابزاری است که مصرف انرژی سیستم را تحلیل کرده و پیشنهاداتی برای بهینه‌سازی مصرف برق ارائه می‌دهد.

گام اول: نصب powertop

برای نصب powertop از دستور زیر استفاده کنید:

sudo apt-get install powertop
گام دوم: اجرای powertop

برای اجرای powertop و بررسی مصرف انرژی سیستم، دستور زیر را اجرا کنید:

sudo powertop

این ابزار به شما گزارش کاملی از مصرف انرژی سیستم، دستگاه‌های متصل و توصیه‌هایی برای کاهش مصرف انرژی ارائه می‌دهد.

گام سوم: استفاده از powertop برای بهینه‌سازی

برای بهینه‌سازی مصرف انرژی با استفاده از powertop، می‌توانید توصیه‌های ارائه شده توسط این ابزار را برای تغییر تنظیمات سیستم اعمال کنید.

برای ذخیره تنظیمات powertop به‌صورت دائمی، دستور زیر را اجرا کنید:

sudo powertop --auto-tune

این دستور تمامی تنظیمات بهینه‌شده را به‌طور خودکار فعال می‌کند.


3. تنظیمات صرفه‌جویی انرژی در سخت‌افزارهای خاص

در صورتی که سخت‌افزار خاصی دارید که نیاز به تنظیمات اضافی برای صرفه‌جویی انرژی دارد، مانند کارت گرافیک یا دستگاه‌های ذخیره‌سازی، می‌توانید تنظیمات مربوط به آن‌ها را به‌طور دستی تغییر دهید. به‌عنوان مثال، برای کاهش مصرف انرژی در کارت گرافیک NVIDIA، می‌توانید از ابزار nvidia-smi استفاده کنید.

گام اول: نصب درایور NVIDIA

اگر درایور NVIDIA بر روی سیستم شما نصب نیست، می‌توانید آن را با استفاده از دستور زیر نصب کنید:

sudo apt-get install nvidia-driver
گام دوم: پیکربندی حالت صرفه‌جویی انرژی برای کارت گرافیک

برای تنظیم حالت صرفه‌جویی انرژی برای کارت گرافیک، از دستور زیر استفاده کنید:

nvidia-smi -pm 1
nvidia-smi -pl 50

این دستورات به کارت گرافیک دستور می‌دهند که در حالت صرفه‌جویی انرژی قرار گیرد و مصرف برق آن را محدود کنند.


4. تنظیمات Power Management برای سیستم‌های دارای باتری

اگر سیستم شما دارای باتری است، می‌توانید تنظیمات خاصی برای کاهش مصرف انرژی در هنگام استفاده از باتری اعمال کنید. به‌عنوان مثال، می‌توانید میزان روشنایی صفحه‌نمایش را کاهش دهید یا سیستم را در حالت خواب (sleep) قرار دهید.

گام اول: نصب Laptop Mode Tools

برای نصب ابزار Laptop Mode Tools که مخصوص صرفه‌جویی در مصرف انرژی در سیستم‌های دارای باتری است، از دستور زیر استفاده کنید:

sudo apt-get install laptop-mode-tools
گام دوم: پیکربندی Laptop Mode Tools

فایل پیکربندی این ابزار در مسیر /etc/laptop-mode/laptop-mode.conf قرار دارد. برای ویرایش آن از دستور زیر استفاده کنید:

sudo nano /etc/laptop-mode/laptop-mode.conf

در این فایل، می‌توانید تنظیمات مختلفی برای صرفه‌جویی در انرژی باتری انجام دهید. به‌عنوان مثال، می‌توانید زمان خوابیدن سیستم را تنظیم کنید:

# فعال کردن حالت خواب برای کاهش مصرف انرژی
ENABLE_LAPTOP_MODE=1

جمع‌بندی

با استفاده از ابزارهایی مانند TLP، powertop و Laptop Mode Tools، می‌توانید مصرف انرژی سیستم را به‌طور مؤثر مدیریت کنید. این ابزارها به شما امکان می‌دهند تا مصرف انرژی پردازنده، کارت گرافیک، و دیگر دستگاه‌های سخت‌افزاری را بهینه‌سازی کرده و سیستم را در حالت‌های کم‌مصرف قرار دهید. با استفاده از این تنظیمات، می‌توانید هزینه‌های انرژی را کاهش داده و عمر باتری دستگاه‌های قابل حمل را افزایش دهید.[/cdb_course_lesson][/cdb_course_lessons]

[cdb_course_lessons title=”4. پیکربندی سیستم تلفنی”][cdb_course_lesson title=”فصل 1. معرفی مفاهیم SIP و IAX”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تفاوت‌های اصلی SIP و IAX” subtitle=”توضیحات کامل”]در دنیای VoIP، SIP (Session Initiation Protocol) و IAX (Inter-Asterisk Exchange) دو پروتکل اصلی برای برقراری و مدیریت تماس‌های صوتی از طریق اینترنت هستند. هر کدام از این پروتکل‌ها ویژگی‌ها و مزایای خاص خود را دارند. در این بخش، تفاوت‌های اصلی میان SIP و IAX بررسی خواهد شد.


1. پروتکل‌های مورد استفاده

  • SIP: یک پروتکل سطح بالا است که برای برقراری، مدیریت و خاتمه دادن به تماس‌های چندرسانه‌ای (صوتی، تصویری) طراحی شده است. SIP بیشتر در ارتباطات VoIP، کنفرانس‌های ویدیویی و پیام‌رسانی مورد استفاده قرار می‌گیرد.
  • IAX: یک پروتکل اختصاصی است که به‌طور ویژه برای استفاده در سیستم‌های Asterisk طراحی شده است. IAX برای انتقال تماس‌های VoIP بهینه‌سازی شده و به‌خصوص برای محیط‌هایی که نیاز به استفاده از پهنای باند کمتر دارند، مناسب است.

2. نحوه کارکرد

  • SIP: SIP در لایه کاربرد عمل می‌کند و معمولاً از پروتکل‌های دیگری مانند RTP (Real-time Transport Protocol) برای انتقال داده‌ها استفاده می‌کند. به این معنی که SIP برای راه‌اندازی و مدیریت تماس‌ها طراحی شده و به‌طور جداگانه از پروتکل‌های انتقال صوتی استفاده می‌کند.
  • IAX: IAX از پروتکل UDP (User Datagram Protocol) برای ارسال بسته‌ها استفاده می‌کند و تمام داده‌های مربوط به تماس (یعنی سیگنالینگ و رسانه) را در یک کانال واحد ارسال می‌کند. این ویژگی باعث می‌شود که IAX در برابر فایروال‌ها و NAT (Network Address Translation) کمتر دچار مشکل شود.

3. استفاده از پهنای باند

  • SIP: از آنجا که SIP فقط برای سیگنالینگ تماس‌ها استفاده می‌شود و نیاز به پروتکل دیگری (مثل RTP) برای انتقال رسانه دارد، ممکن است به پهنای باند بیشتری نیاز داشته باشد. به‌خصوص در مواقعی که تماس‌ها بین چندین سرور SIP برقرار می‌شود، ترافیک اضافی می‌تواند ایجاد شود.
  • IAX: IAX برای ارسال هر دو سیگنالینگ و رسانه در یک بسته واحد استفاده می‌کند. این باعث کاهش استفاده از پهنای باند می‌شود، زیرا تمام داده‌ها به‌صورت فشرده و در یک جریان واحد ارسال می‌شوند.

4. سازگاری با NAT و فایروال‌ها

  • SIP: یکی از مشکلات اصلی SIP، دشواری در عبور از فایروال‌ها و NAT است. چون SIP از چند پورت مختلف برای ارسال سیگنال‌ها و رسانه استفاده می‌کند، فایروال‌ها و NAT معمولاً باعث مشکلاتی در برقراری تماس می‌شوند. برای حل این مشکل، استفاده از فناوری‌هایی مانند STUN، TURN یا ICE ضروری است.
  • IAX: یکی از مزایای اصلی IAX این است که به‌طور پیش‌فرض تمام داده‌ها را در یک پورت واحد ارسال می‌کند. این ویژگی باعث می‌شود که تماس‌های IAX به‌راحتی از فایروال‌ها و NAT عبور کنند و مشکلی در اتصال به سرورهای دیگر نداشته باشند.

5. پیچیدگی و نصب

  • SIP: پروتکل SIP استاندارد و عمومی است که توسط بسیاری از ارائه‌دهندگان سرویس VoIP و دستگاه‌ها پشتیبانی می‌شود. به‌دلیل استفاده گسترده از SIP، نصب و پیکربندی آن ممکن است پیچیده باشد و نیاز به تنظیمات دقیق در فایروال‌ها و NAT داشته باشد.
  • IAX: نصب و پیکربندی IAX معمولاً ساده‌تر است، به‌ویژه در سیستم‌هایی که از Asterisk استفاده می‌کنند. از آنجا که IAX برای این سیستم‌ها طراحی شده است، تنظیمات آن معمولاً نسبت به SIP ساده‌تر و سریع‌تر است.

6. پشتیبانی از ویژگی‌ها

  • SIP: SIP از ویژگی‌های گسترده‌تری مانند کنفرانس‌های ویدیویی، پیام‌رسانی فوری و انتقال فایل پشتیبانی می‌کند. همچنین این پروتکل به‌طور گسترده در انواع مختلف سیستم‌ها و تجهیزات VoIP استفاده می‌شود.
  • IAX: IAX بیشتر بر روی تماس‌های صوتی و خدمات مبتنی بر VoIP متمرکز است. در حالی که IAX ویژگی‌های مانند کنفرانس صوتی را پشتیبانی می‌کند، ولی نسبت به SIP از لحاظ ویژگی‌های چندرسانه‌ای محدودتر است.

7. امنیت

  • SIP: امنیت در SIP معمولاً از طریق پروتکل‌هایی مانند SIPS (SIP Secure) و TLS (Transport Layer Security) تأمین می‌شود. همچنین می‌توان از SRTP (Secure Real-Time Transport Protocol) برای رمزنگاری رسانه استفاده کرد.
  • IAX: IAX به‌طور پیش‌فرض از رمزنگاری استفاده نمی‌کند، اما می‌توان از آن در ترکیب با VPN یا سایر پروتکل‌های امنیتی برای تأمین امنیت استفاده کرد. به دلیل استفاده از یک پورت واحد، ممکن است برای بعضی از کاربران امن‌تر باشد.

8. مقیاس‌پذیری

  • SIP: SIP به‌طور گسترده در مقیاس‌های بزرگ و سیستم‌های پیچیده VoIP استفاده می‌شود. به‌دلیل استاندارد بودن SIP، پشتیبانی از دستگاه‌ها و سرورهای مختلف امکان‌پذیر است.
  • IAX: IAX به‌طور معمول برای مقیاس‌های کوچکتر و محیط‌های خاص Asterisk طراحی شده است. اگرچه IAX برای سیستم‌های کوچک و مقیاس‌پذیر مناسب است، اما در مقیاس‌های بسیار بزرگ ممکن است به اندازه SIP کاربرد نداشته باشد.

جمع‌بندی

در نهایت، انتخاب بین SIP و IAX بستگی به نیازهای خاص شما دارد. اگر به‌دنبال یک پروتکل عمومی و استاندارد برای برقراری تماس‌های VoIP با قابلیت‌های گسترده‌تری هستید، SIP گزینه مناسب‌تری است. از طرف دیگر، اگر به دنبال پروتکلی هستید که در برابر فایروال‌ها و NAT‌ها مقاوم باشد و تنظیمات ساده‌تری داشته باشد، IAX می‌تواند انتخاب مناسبی باشد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”پروتکل‌های SIP و IAX در ارتباطات VoIP” subtitle=”توضیحات کامل”]در سیستم‌های VoIP (Voice over IP)، پروتکل‌ها نقش حیاتی در برقراری و مدیریت تماس‌ها دارند. دو پروتکل اصلی که در بسیاری از سیستم‌های Asterisk و دیگر نرم‌افزارهای VoIP استفاده می‌شوند، SIP (Session Initiation Protocol) و IAX (Inter-Asterisk Exchange) هستند. در این بخش، به بررسی این دو پروتکل و نحوه پیکربندی آن‌ها در سیستم‌های VoIP پرداخته می‌شود.


1. پروتکل SIP

SIP یک پروتکل سیگنالینگ است که برای برقراری، مدیریت و خاتمه دادن به تماس‌ها طراحی شده است. SIP به‌طور گسترده در ارتباطات VoIP، کنفرانس‌های ویدیویی و پیام‌رسانی فوری استفاده می‌شود. این پروتکل قابلیت اتصال دستگاه‌های مختلف و پشتیبانی از ویژگی‌های پیشرفته را داراست.

پیکربندی SIP در Asterisk

برای پیکربندی SIP در سیستم Asterisk، ابتدا فایل پیکربندی مربوط به SIP را ویرایش می‌کنیم.

  • مسیر فایل: /etc/asterisk/sip.conf

محتوای فایل sip.conf برای پیکربندی یک کاربر SIP به شکل زیر است:

[general]
context=default
bindport=5060
bindaddr=0.0.0.0
disallow=all
allow=ulaw
allow=alaw
allow=g729

[1001]
type=friend
secret=yourpassword
host=dynamic
context=default
callerid=1001 <1001>
dtmfmode=rfc2833

در این پیکربندی:

  • context تعیین‌کننده کانتکست تماس‌ها است.
  • bindport و bindaddr برای مشخص کردن پورت و آدرس IP سرور SIP است.
  • در زیر [1001] پیکربندی کاربر SIP با شماره داخلی 1001 قرار دارد.
  • secret رمز عبور برای این کاربر است.
  • host=dynamic به این معنی است که آدرس IP این کاربر به صورت دینامیک تعیین می‌شود.
پیکربندی SIP در Dialplan

در فایل extensions.conf می‌توان به پیکربندی نحوه مسیریابی تماس‌ها در سیستم SIP پرداخت.

  • مسیر فایل: /etc/asterisk/extensions.conf
[default]
exten => 1001,1,Dial(SIP/1001)
exten => 1002,1,Dial(SIP/1002)

در این پیکربندی، وقتی کسی با شماره 1001 تماس بگیرد، سیستم آن را به SIP کاربر 1001 هدایت می‌کند.


2. پروتکل IAX

IAX پروتکلی است که به‌طور خاص برای ارتباطات VoIP در سیستم‌های Asterisk طراحی شده است. برخلاف SIP، که نیاز به چندین پورت برای ارسال سیگنالینگ و رسانه دارد، IAX تنها از یک پورت برای انتقال سیگنالینگ و داده‌ها استفاده می‌کند. این ویژگی باعث می‌شود که IAX در عبور از فایروال‌ها و NAT‌ها بسیار کارآمدتر باشد.

پیکربندی IAX در Asterisk

برای پیکربندی IAX، فایل iax.conf باید ویرایش شود.

  • مسیر فایل: /etc/asterisk/iax.conf

محتوای فایل iax.conf برای پیکربندی یک کاربر IAX به شکل زیر است:

[general]
bindport=4569
bindaddr=0.0.0.0

[1001]
type=friend
secret=yourpassword
host=dynamic
context=default
callerid=1001 <1001>
dtmfmode=rfc2833

در این پیکربندی:

  • bindport=4569 نشان‌دهنده پورت پیش‌فرض IAX است.
  • [1001] تنظیمات کاربر IAX با شماره داخلی 1001 است.
پیکربندی IAX در Dialplan

در فایل extensions.conf می‌توان به پیکربندی نحوه مسیریابی تماس‌ها برای IAX پرداخت.

  • مسیر فایل: /etc/asterisk/extensions.conf
[default]
exten => 1001,1,Dial(IAX2/1001)
exten => 1002,1,Dial(IAX2/1002)

در این پیکربندی، تماس‌های ورودی به شماره 1001 به سمت پروتکل IAX هدایت می‌شود.


3. مقایسه SIP و IAX

برای تصمیم‌گیری بین استفاده از SIP و IAX، موارد مختلفی باید در نظر گرفته شود:

  • پروتکل SIP: بیشتر در محیط‌های مختلف و دستگاه‌های متعدد قابل استفاده است. برای مقیاس‌پذیری بالا و ویژگی‌های پیشرفته مانند کنفرانس‌های ویدیویی مناسب است.
  • پروتکل IAX: در محیط‌های مبتنی بر Asterisk کارآمدتر است و برای عبور از فایروال‌ها و NAT بهینه شده است. همچنین، IAX پهنای باند کمتری مصرف می‌کند چون تمام داده‌ها در یک پورت ارسال می‌شود.

جمع‌بندی

در نهایت، انتخاب بین SIP و IAX بستگی به نیازهای خاص شما و محیطی دارد که قصد استفاده از آن را دارید. اگر به‌دنبال یک پروتکل استاندارد برای محیط‌های چندمنظوره و مقیاس‌پذیر هستید، SIP گزینه مناسبی است. از طرفی، اگر استفاده از سیستم Asterisk و عبور آسان از فایروال‌ها و NAT‌ها برای شما اهمیت دارد، IAX می‌تواند انتخاب بهتری باشد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”مزایا و معایب هر یک از پروتکل‌های SIP و IAX” subtitle=”توضیحات کامل”]در ارتباطات VoIP، هر پروتکل ویژگی‌ها و محدودیت‌های خاص خود را دارد که بسته به نیاز سازمان یا پروژه می‌تواند انتخاب مناسبی باشد. در این بخش به بررسی مزایا و معایب دو پروتکل اصلی SIP و IAX پرداخته می‌شود.


1. مزایا و معایب پروتکل SIP

مزایا:
  • پشتیبانی گسترده: SIP به‌عنوان یک استاندارد باز و عمومی، در بیشتر دستگاه‌ها و نرم‌افزارهای VoIP پشتیبانی می‌شود. این پروتکل در بسیاری از سرویس‌دهندگان و تجهیزات مختلف (مانند تلفن‌های نرم‌افزاری، سخت‌افزاری، سیستم‌های PBX و…) قابل استفاده است.
  • انعطاف‌پذیری: SIP برای انواع مختلف ارتباطات، از تماس صوتی و تصویری گرفته تا پیام‌رسانی فوری و کنفرانس‌های ویدیویی، به‌طور جامع و انعطاف‌پذیر عمل می‌کند.
  • مقیاس‌پذیری بالا: SIP قادر به پشتیبانی از تعداد زیادی کاربر و تماس به‌صورت همزمان است و برای محیط‌های بزرگ و مقیاس‌پذیر مناسب می‌باشد.
  • قابلیت ارتباط با دیگر پروتکل‌ها: SIP می‌تواند با سایر پروتکل‌ها مانند XMPP و Jabber برای پیغام‌رسانی فوری، یا حتی پروتکل‌های غیر VoIP برای انتقال داده‌ها و فایل‌ها ادغام شود.
معایب:
  • پیچیدگی: SIP با وجود پشتیبانی از ویژگی‌های پیشرفته، در پیکربندی و عیب‌یابی پیچیدگی‌هایی دارد. این پیچیدگی‌ها می‌تواند منجر به نیاز به دانش فنی عمیق‌تر در هنگام راه‌اندازی و نگهداری شود.
  • نیاز به چندین پورت: SIP برای برقراری ارتباطات صوتی و سیگنالینگ از چندین پورت (معمولاً 5060 و 5061) استفاده می‌کند که می‌تواند مشکلاتی مانند عبور از فایروال‌ها و NAT‌ها را ایجاد کند.
  • مشکلات کیفیت تماس در شرایط شبکه ضعیف: در شرایطی که کیفیت شبکه پایین است یا بسته‌های داده از دست می‌روند، SIP ممکن است با مشکلاتی مانند تاخیر، افت کیفیت صدا یا قطع شدن تماس‌ها مواجه شود.

2. مزایا و معایب پروتکل IAX

مزایا:
  • استفاده از یک پورت: IAX تمام داده‌ها و سیگنالینگ‌ها را از طریق یک پورت (پورت 4569) ارسال می‌کند که این ویژگی باعث می‌شود تا عبور از فایروال‌ها و NAT‌ها بسیار ساده‌تر شود.
  • پهنای باند کمتر: IAX به دلیل ترکیب سیگنالینگ و رسانه در یک پورت، پهنای باند کمتری نسبت به SIP مصرف می‌کند که در شبکه‌های محدود بسیار مفید است.
  • کاهش مشکلات NAT: یکی از مزایای بزرگ IAX، کارایی بالا در عبور از NAT است. به دلیل اینکه تمام داده‌ها از یک پورت استفاده می‌کنند، این پروتکل در محیط‌هایی که NAT یا فایروال‌های پیچیده دارند، بهتر عمل می‌کند.
  • بهینه‌سازی برای Asterisk: IAX به‌طور خاص برای کار با سیستم‌های Asterisk طراحی شده است، بنابراین بهینه‌ترین عملکرد را در این سیستم‌ها دارد.
معایب:
  • پشتیبانی محدودتر: در مقایسه با SIP، IAX پشتیبانی کمتری از دستگاه‌ها و نرم‌افزارهای مختلف دارد. این پروتکل عمدتاً در محیط‌های مبتنی بر Asterisk استفاده می‌شود و ممکن است در سایر سیستم‌ها و تجهیزات کمتر پشتیبانی شود.
  • عدم پشتیبانی از ویژگی‌های پیچیده: در حالی که SIP قابلیت‌های پیشرفته‌ای مانند کنفرانس ویدیویی، انتقال فایل و پیام‌رسانی فوری را پشتیبانی می‌کند، IAX عمدتاً برای تماس‌های صوتی طراحی شده و ویژگی‌های پیچیده‌تری ندارد.
  • سختی در پیاده‌سازی با سایر سیستم‌ها: اگر قصد ادغام IAX با سیستم‌های غیر Asterisk را داشته باشید، ممکن است با مشکلاتی در پیاده‌سازی و سازگاری روبه‌رو شوید.

جمع‌بندی

  • SIP برای محیط‌هایی که نیاز به مقیاس‌پذیری بالا، پشتیبانی از ویژگی‌های پیشرفته و توانایی اتصال به دستگاه‌ها و سرویس‌دهندگان مختلف دارند، گزینه مناسبی است. اگرچه این پروتکل پیچیدگی‌های بیشتری در پیکربندی دارد و نیاز به چندین پورت برای ارتباطات دارد.
  • IAX برای محیط‌هایی که پهنای باند محدود دارند و نیاز به عبور آسان از NAT و فایروال‌ها دارند، بهتر است. این پروتکل به‌ویژه در سیستم‌های Asterisk کارایی بالاتری دارد، ولی در مقایسه با SIP پشتیبانی کمتری از دستگاه‌ها و ویژگی‌های پیچیده دارد.

[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”کاربردهای مختلف SIP و IAX در سیستم‌های تلفنی” subtitle=”توضیحات کامل”]پروتکل‌های SIP و IAX هرکدام ویژگی‌ها و قابلیت‌های خاص خود را دارند که در محیط‌های مختلف تلفنی و VoIP مورد استفاده قرار می‌گیرند. در این بخش به کاربردهای مختلف این پروتکل‌ها در سیستم‌های تلفنی پرداخته خواهد شد.


1. کاربردهای SIP در سیستم‌های تلفنی

الف. پیاده‌سازی در سیستم‌های PBX
  • SIP یکی از رایج‌ترین پروتکل‌ها برای استفاده در سیستم‌های PBX (Private Branch Exchange) است. این پروتکل به دلیل پشتیبانی از اتصالات گسترده، مناسب برای راه‌اندازی PBX‌های مبتنی بر IP است که می‌توانند تماس‌های داخلی و خارجی را مدیریت کنند.
  • همچنین SIP برای ارتباط با سیستم‌های VoIP مختلف مانند Asterisk، FreePBX و Issabel استفاده می‌شود.
ب. اتصال به SIP Trunks
  • SIP Trunking یکی از کاربردهای اصلی SIP است. از این پروتکل برای ارتباط مستقیم با شبکه تلفن عمومی (PSTN) از طریق اینترنت استفاده می‌شود.
  • SIP Trunks به کسب‌وکارها این امکان را می‌دهند که به جای استفاده از خطوط تلفن سنتی، تماس‌های خود را از طریق اینترنت برقرار کنند. این کار هزینه‌ها را کاهش داده و انعطاف‌پذیری بیشتری برای اضافه کردن ظرفیت تماس فراهم می‌آورد.
ج. پشتیبانی از تماس‌های تصویری
  • SIP به دلیل قابلیت انعطاف بالا، می‌تواند برای تماس‌های ویدیویی و کنفرانس‌های ویدیویی استفاده شود. این ویژگی به خصوص در سیستم‌های کنفرانس و ویدئو کنفرانس بسیار پرکاربرد است.
  • پروتکل SIP از استانداردهایی مانند H.264 برای انتقال ویدئو و G.711 یا G.729 برای انتقال صدا پشتیبانی می‌کند.
د. یکپارچگی با سایر پروتکل‌ها
  • SIP می‌تواند با پروتکل‌های دیگر مانند XMPP و Jabber برای پیغام‌رسانی فوری یا انتقال داده‌ها یکپارچه شود. این قابلیت در نرم‌افزارهایی که نیاز به پیغام‌رسانی فوری و تماس‌های تلفنی دارند، مفید است.
ه. امنیت و احراز هویت
  • SIP امکان استفاده از TLS برای رمزنگاری سیگنالینگ و SRTP برای رمزنگاری رسانه (صدا) را فراهم می‌کند. این ویژگی برای سازمان‌ها و سیستم‌های حساس که به امنیت تماس‌ها نیاز دارند، ضروری است.

2. کاربردهای IAX در سیستم‌های تلفنی

الف. استفاده در Asterisk
  • IAX به‌طور خاص برای Asterisk طراحی شده است. در این سیستم‌های تلفنی، IAX معمولاً برای ارتباطات بین سرورها و ارتباطات از راه دور مورد استفاده قرار می‌گیرد.
  • این پروتکل به دلیل عملکرد بهتر در شبکه‌های NAT و استفاده از یک پورت واحد، به‌ویژه برای پیاده‌سازی VoIP بین شعب و ارتباطات میان‌سازمانی مفید است.
ب. پشتیبانی از چندین تماس همزمان
  • IAX می‌تواند چندین تماس را از طریق یک اتصال داده‌ای انتقال دهد. این ویژگی باعث می‌شود که IAX به‌ویژه در شبکه‌های محدود به پهنای باند کم کارآمد باشد و مصرف پهنای باند را کاهش دهد.
ج. **پشتیبانی از درگاه‌های IAX
  • در برخی از سیستم‌ها، درگاه‌های IAX برای اتصال به دیگر سیستم‌های VoIP و تلفن‌های نرم‌افزاری مانند Asterisk و FreePBX استفاده می‌شود.
  • این پروتکل همچنین از کدک‌های کم‌حجم برای کاهش مصرف پهنای باند پشتیبانی می‌کند.
د. ترکیب سیگنالینگ و رسانه
  • IAX سیگنالینگ و داده‌های رسانه‌ای (صدا و ویدئو) را در یک اتصال ترکیب می‌کند. این ویژگی باعث می‌شود که نسبت به SIP که برای هر داده و سیگنالینگ از پورت‌های جداگانه استفاده می‌کند، پهنای باند کمتری مصرف کند.
ه. کنترل بهتر بر روی NAT
  • IAX در مقایسه با SIP در عبور از NAT بهتر عمل می‌کند. به دلیل استفاده از یک پورت واحد برای سیگنالینگ و داده‌ها، IAX مشکلات مربوط به NAT Traversal را به‌طور موثر حل می‌کند.

جمع‌بندی

  • SIP به دلیل پشتیبانی گسترده و قابلیت‌های پیشرفته‌ای که ارائه می‌دهد، در سیستم‌های PBX، SIP Trunks، تماس‌های ویدیویی، و ارتباطات پیچیده‌تر مناسب است.
  • از سوی دیگر، IAX به‌ویژه در سیستم‌های Asterisk برای ارتباطات VoIP از راه دور، پهنای باند محدود، و حل مشکلات NAT Traversal به‌طور مؤثر استفاده می‌شود. همچنین به دلیل استفاده از یک پورت واحد، در شرایطی که تعداد زیاد تماس‌ها و استفاده از چندین سرور مورد نیاز است، می‌تواند کارایی بالاتری ارائه دهد.

[/cdb_course_lesson][cdb_course_lesson title=”فصل 2. پیکربندی SIP Trunk”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”معرفی SIP Trunk و کاربرد آن برای اتصال به ارائه‌دهندگان خدمات VoIP” subtitle=”توضیحات کامل”]SIP Trunk یک سرویس است که امکان اتصال سازمان‌ها و شرکت‌ها به شبکه‌های تلفنی عمومی (PSTN) از طریق اینترنت را فراهم می‌آورد. در واقع، SIP Trunk یک ارتباط مجازی است که با استفاده از پروتکل SIP (Session Initiation Protocol) سیگنالینگ تماس‌ها را مدیریت می‌کند و این تماس‌ها را از طریق اینترنت به ارائه‌دهندگان خدمات VoIP منتقل می‌کند.


1. تعریف SIP Trunk

SIP Trunk یک اتصال تلفنی است که از پروتکل SIP برای برقراری ارتباط بین سیستم تلفنی داخلی یک سازمان و شبکه‌های تلفنی عمومی یا سیستم‌های VoIP استفاده می‌کند. این سرویس معمولاً از اینترنت به‌عنوان بستر انتقال داده برای تماس‌های صوتی استفاده می‌کند و نیازی به خطوط تلفن فیزیکی ندارد.

در واقع، SIP Trunk به سازمان‌ها این امکان را می‌دهد که تماس‌های تلفنی را از طریق اینترنت انجام دهند و در عین حال امکاناتی مشابه به خطوط تلفن سنتی مانند تماس‌های ورودی و خروجی، کنفرانس‌های صوتی و ضبط تماس‌ها را به‌طور همزمان داشته باشند.


2. اجزای اصلی SIP Trunk

  • SIP Server: یک سرور SIP که از پروتکل SIP برای برقراری و مدیریت تماس‌ها استفاده می‌کند.
  • SIP Client: دستگاه یا نرم‌افزار که به‌عنوان مشتری SIP عمل می‌کند و به سرور SIP متصل می‌شود.
  • PSTN Gateway: در صورتی که نیاز به اتصال به شبکه تلفن عمومی (PSTN) باشد، PSTN Gateway تماس‌ها را از شبکه VoIP به خطوط تلفن عمومی هدایت می‌کند.
  • SIP Trunk Provider: ارائه‌دهنده خدمات SIP که این سرویس را برای ارتباط با اینترنت و PSTN فراهم می‌کند.

3. کاربردهای SIP Trunk

الف. اتصال به شبکه PSTN
  • SIP Trunk به‌طور اصلی برای اتصال سازمان‌ها به شبکه‌های PSTN (Public Switched Telephone Network) استفاده می‌شود. با استفاده از SIP Trunk، تماس‌های بین‌المللی یا محلی از طریق اینترنت به جای خطوط تلفنی فیزیکی انجام می‌شود.
  • این اتصال، هزینه‌های مرتبط با خدمات تلفنی سنتی را کاهش می‌دهد و برای سازمان‌ها از نظر اقتصادی مقرون‌به‌صرفه‌تر است.
ب. حذف هزینه‌های خطوط تلفن فیزیکی
  • یکی از مزایای اصلی استفاده از SIP Trunking، حذف هزینه‌های مربوط به خطوط تلفن فیزیکی است. به‌جای استفاده از خطوط PSTN سنتی، تماس‌ها از طریق اینترنت انجام می‌شود که به مراتب هزینه‌ها را کاهش می‌دهد.
ج. انعطاف‌پذیری و مقیاس‌پذیری
  • SIP Trunking به سازمان‌ها این امکان را می‌دهد که به‌راحتی خطوط تماس اضافه یا حذف کنند. این قابلیت به‌ویژه برای کسب‌وکارهای در حال رشد بسیار مفید است که نیاز به مقیاس‌پذیری سریع دارند.
  • در واقع، با SIP Trunk می‌توان به تعداد زیادی تماس همزمان و بدون نیاز به زیرساخت فیزیکی اضافه کرد.
د. پشتیبانی از تماس‌های ویدیویی و کنفرانس‌های چندنفره
  • علاوه بر تماس‌های صوتی، SIP Trunk می‌تواند برای برقراری تماس‌های ویدیویی و کنفرانس‌های چندنفره نیز استفاده شود. این ویژگی‌ها باعث می‌شود که SIP Trunk یک گزینه ایده‌آل برای سازمان‌ها باشد که نیاز به برقراری ارتباطات ویدیویی و همکاری آنلاین دارند.
ه. پشتیبانی از کیفیت بالا و کاهش تأخیر
  • با استفاده از فناوری‌های پیشرفته، SIP Trunking می‌تواند کیفیت تماس‌های صوتی و تصویری را تضمین کند. این فناوری قادر است از فناوری‌هایی مانند HD Voice و Wideband Audio برای بهبود کیفیت صدا استفاده کند.
  • همچنین، از آنجایی که تماس‌ها از طریق اینترنت انجام می‌شود، SIP Trunk قادر است تا تأخیرها را کاهش دهد و تجربه بهتری برای کاربران فراهم کند.

4. نحوه تنظیم SIP Trunk در سیستم‌های VoIP (مثال: Asterisk)

برای پیکربندی SIP Trunk در سیستم Asterisk، مراحل زیر باید انجام شوند:

الف. تنظیم SIP Trunk در فایل sip.conf

ابتدا باید به فایل پیکربندی SIP در Asterisk (sip.conf) بروید و تنظیمات زیر را وارد کنید:

[siptrunk]
type=peer
host=sip.provider.com
username=username
secret=password
fromuser=username
fromdomain=sip.provider.com
context=from-trunk
disallow=all
allow=ulaw,alaw
dtmfmode=rfc2833
insecure=invite

مسیر فایل:

/etc/asterisk/sip.conf
ب. تنظیم Dial Plan در فایل extensions.conf

سپس باید در فایل extensions.conf Dial Plan مربوطه را اضافه کنید تا تماس‌های ورودی و خروجی را هدایت کند.

[from-trunk]
exten => _X.,1,Dial(SIP/siptrunk/${EXTEN},30)

مسیر فایل:

/etc/asterisk/extensions.conf
ج. راه‌اندازی مجدد Asterisk

پس از انجام تنظیمات فوق، برای اعمال تغییرات، باید سرویس Asterisk را مجدداً راه‌اندازی کنید:

asterisk -rx "reload"

مسیر فایل:

/usr/sbin/asterisk

جمع‌بندی

SIP Trunk ابزاری حیاتی برای اتصال سازمان‌ها به شبکه‌های تلفنی از طریق اینترنت است. این تکنولوژی باعث کاهش هزینه‌ها، افزایش انعطاف‌پذیری، و بهبود کیفیت تماس‌ها می‌شود. همچنین، به کسب‌وکارها این امکان را می‌دهد که از خدمات VoIP مانند تماس‌های صوتی و ویدیویی به‌راحتی بهره‌برداری کنند. برای پیکربندی SIP Trunk در سیستم‌های مختلف مانند Asterisk، تنظیمات خاصی در فایل‌های پیکربندی لازم است که باید به‌دقت وارد شوند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”نحوه ایجاد و پیکربندی یک SIP Trunk جدید در Issabel” subtitle=”توضیحات کامل”]در سیستم Issabel، پیکربندی SIP Trunk برای اتصال به ارائه‌دهندگان خدمات VoIP انجام می‌شود. SIP Trunk این امکان را به شما می‌دهد که از طریق اینترنت تماس‌های تلفنی را برقرار کنید و به شبکه PSTN (تلفن عمومی) متصل شوید. برای پیکربندی یک SIP Trunk جدید در Issabel، مراحل زیر را دنبال کنید:


1. ورود به رابط کاربری Issabel

ابتدا باید به رابط کاربری Issabel وارد شوید. برای این کار در مرورگر خود آدرس IP سرور Issabel را وارد کنید و سپس با نام کاربری و رمز عبور خود وارد سیستم شوید.


2. ایجاد یک SIP Trunk جدید

پس از ورود به سیستم، برای ایجاد یک SIP Trunk جدید، مراحل زیر را دنبال کنید:

الف. دسترسی به بخش “Trunks”
  • از منوی سمت چپ، به بخش PBX بروید و سپس روی گزینه Trunks کلیک کنید.
ب. افزودن Trunk جدید
  • در صفحه Trunks، روی دکمه Add Trunk کلیک کنید تا یک Trunk جدید ایجاد شود.
ج. انتخاب نوع Trunk
  • در بخش Trunk Type، گزینه SIP (chan_sip) را انتخاب کنید. این گزینه به شما امکان می‌دهد که از پروتکل SIP برای اتصال به ارائه‌دهنده خدمات VoIP استفاده کنید.
د. تنظیمات مربوط به Trunk

در صفحه‌ای که برای پیکربندی SIP Trunk باز می‌شود، تنظیمات زیر را وارد کنید:

  • Trunk Name: یک نام برای Trunk خود وارد کنید. به‌عنوان مثال: MySIPTrunk.
  • Outbound CallerID: شماره تلفنی که می‌خواهید هنگام برقراری تماس‌های خروجی نمایش داده شود را وارد کنید (مثلاً: +1234567890).
  • Peer Details: در این قسمت، باید تنظیمات اتصال به ارائه‌دهنده SIP را وارد کنید. این تنظیمات معمولاً توسط ارائه‌دهنده SIP شما به شما داده می‌شود.

در اینجا یک نمونه تنظیمات برای Peer Details آورده شده است:

type=peer
host=sip.provider.com
username=myusername
secret=mypassword
fromuser=myusername
fromdomain=sip.provider.com
dtmfmode=rfc2833
insecure=invite
context=from-trunk
allow=ulaw,alaw
disallow=all
  • type: نوع Trunk که peer است.
  • host: آدرس سرور SIP ارائه‌دهنده.
  • username: نام کاربری SIP ارائه‌دهنده.
  • secret: رمز عبور SIP ارائه‌دهنده.
  • fromuser: نام کاربری که از آن برای ارسال تماس‌ها استفاده می‌شود.
  • fromdomain: دامنه ارائه‌دهنده.
  • context: نام محیط که معمولاً from-trunk است.
  • allow و disallow: کدک‌های مجاز برای تماس‌ها.
ه. تنظیمات مربوط به Registration

اگر نیاز به ثبت SIP Trunk دارید، باید تنظیمات Registration را در بخش مربوطه وارد کنید. این معمولاً شامل جزئیات زیر است:

username=myusername
secret=mypassword
host=sip.provider.com
fromuser=myusername
و. ذخیره تنظیمات

پس از وارد کردن تمامی تنظیمات لازم، روی دکمه Save کلیک کنید تا SIP Trunk جدید شما ذخیره شود.


3. پیکربندی Dialplan برای تماس‌های ورودی و خروجی

برای انجام تماس‌ها از طریق SIP Trunk، باید Dialplan را پیکربندی کنید.

الف. پیکربندی تماس‌های خروجی

برای ارسال تماس‌ها از طریق SIP Trunk، باید Outbound Route را تنظیم کنید. این تنظیمات را می‌توانید در قسمت Outbound Routes انجام دهید:

  • به بخش PBX رفته و روی Outbound Routes کلیک کنید.
  • سپس، یک Outbound Route جدید ایجاد کنید.
  • در این قسمت، در بخش Trunk Sequence for Matched Routes، نام SIP Trunk خود (مثلاً MySIPTrunk) را انتخاب کنید.
ب. پیکربندی تماس‌های ورودی

برای دریافت تماس‌های ورودی از SIP Trunk، باید Inbound Route را تنظیم کنید:

  • به بخش Inbound Routes بروید و یک Inbound Route جدید ایجاد کنید.
  • در این بخش، مقصد تماس‌ها را انتخاب کنید (مثلاً یک IVR، Extension یا Ring Group).

4. تست و بررسی SIP Trunk

پس از انجام تمام تنظیمات، تماس‌ها را تست کنید تا مطمئن شوید که SIP Trunk به‌درستی پیکربندی شده است. برای این کار، از طریق شماره‌های تلفنی مربوط به سیستم تماس برقرار کنید و کیفیت و وضعیت اتصال را بررسی کنید.


5. نظارت و گزارش‌گیری

برای نظارت بر عملکرد SIP Trunk، می‌توانید از ابزارهای موجود در Issabel برای مشاهده گزارشات استفاده کنید:

  • به بخش Reports رفته و روی Asterisk Logs کلیک کنید تا اطلاعات تماس‌ها را مشاهده کنید.
  • همچنین می‌توانید از Real-time Status برای مشاهده وضعیت Trunk و تماس‌های فعال استفاده کنید.

جمع‌بندی

پیکربندی SIP Trunk در Issabel یک فرآیند ساده است که شامل ورود به رابط کاربری، ایجاد یک Trunk جدید، تنظیمات اتصال به ارائه‌دهنده خدمات VoIP، و پیکربندی Dialplan برای تماس‌های ورودی و خروجی است. با انجام این مراحل، می‌توانید به راحتی سیستم تلفنی خود را به شبکه VoIP متصل کرده و از تماس‌های اینترنتی استفاده کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیمات مورد نیاز برای اتصال به یک سرویس‌دهنده SIP” subtitle=”توضیحات کامل”]برای اتصال به یک سرویس‌دهنده SIP در سیستم Issabel، نیاز به پیکربندی برخی از تنظیمات اصلی دارید که به شما اجازه می‌دهد تا تماس‌های ورودی و خروجی را از طریق شبکه VoIP برقرار کنید. این تنظیمات شامل اطلاعات ورود به سیستم SIP، کدک‌ها، و روش‌های امنیتی می‌شود.


1. اطلاعات حساب SIP

برای اتصال به سرویس‌دهنده SIP، ابتدا باید اطلاعات زیر را از سرویس‌دهنده VoIP خود دریافت کنید:

  • SIP Server Address (Host): آدرس IP یا دامنه سرور SIP.
  • SIP Username: نام کاربری که برای اتصال به سرویس‌دهنده VoIP استفاده می‌کنید.
  • SIP Password: رمز عبور مربوط به نام کاربری SIP.
  • CallerID: شماره تلفنی که به عنوان شناسه تماس شما نمایش داده خواهد شد.
  • Registration Server: آدرس سرور SIP برای ثبت نام در شبکه SIP.
  • Port: پورت استفاده شده برای ارتباط SIP، معمولاً 5060 برای SIP غیرامن یا 5061 برای SIP امن (TLS).

2. پیکربندی SIP Trunk در Issabel

برای اتصال به یک سرویس‌دهنده SIP، پس از ورود به رابط کاربری Issabel، مراحل زیر را دنبال کنید:

الف. دسترسی به بخش Trunks
  1. وارد سیستم Issabel شوید.
  2. به بخش PBX بروید.
  3. سپس روی گزینه Trunks کلیک کنید.
ب. افزودن یک SIP Trunk جدید
  1. در صفحه Trunks، روی دکمه Add Trunk کلیک کنید تا یک Trunk جدید ایجاد کنید.
  2. نوع Trunk را SIP (chan_sip) انتخاب کنید.
ج. تنظیمات General Settings

در این قسمت، تنظیمات عمومی SIP Trunk را وارد کنید:

  • Trunk Name: نام دلخواه برای SIP Trunk (مثلاً MySIPTrunk).
  • Outbound CallerID: شماره تلفن برای نمایش هنگام تماس‌های خروجی.
  • Maximum Channels: حداکثر تعداد کانال‌های مجاز برای SIP Trunk. (این مقدار را معمولاً با توجه به نیاز خود تعیین می‌کنید).
د. تنظیمات Peer Details

در این بخش، تنظیمات اتصال به سرویس‌دهنده SIP را وارد کنید. این تنظیمات معمولاً توسط ارائه‌دهنده VoIP شما به شما داده می‌شود. در اینجا یک مثال از تنظیمات Peer Details آورده شده است:

type=peer
host=sip.provider.com
username=myusername
secret=mypassword
fromuser=myusername
fromdomain=sip.provider.com
dtmfmode=rfc2833
insecure=invite
context=from-trunk
allow=ulaw,alaw
disallow=all

شرح تنظیمات:

  • type: نوع Trunk که باید peer باشد.
  • host: آدرس سرور SIP ارائه‌دهنده.
  • username: نام کاربری که برای اتصال به سرویس‌دهنده SIP استفاده می‌شود.
  • secret: رمز عبور مربوط به نام کاربری.
  • fromuser: نام کاربری که برای ارسال تماس‌ها استفاده می‌شود.
  • fromdomain: دامنه سرور SIP ارائه‌دهنده.
  • context: نام محیط که معمولاً from-trunk است.
  • dtmfmode: انتخاب روش ارسال سیگنال‌های DTMF.
  • allow و disallow: انتخاب کدک‌های مجاز و غیرمجاز برای تماس‌ها.
ه. تنظیمات Registration

اگر نیاز به ثبت نام در سرور SIP دارید، تنظیمات Registration را وارد کنید. این تنظیمات معمولاً شامل جزئیات زیر است:

username=myusername
secret=mypassword
host=sip.provider.com
fromuser=myusername

این تنظیمات باعث ثبت نام سیستم شما به سرویس‌دهنده SIP خواهد شد.

و. تنظیمات Dialplan برای تماس‌های ورودی و خروجی

پس از پیکربندی SIP Trunk، باید Dialplan سیستم را برای مدیریت تماس‌های ورودی و خروجی پیکربندی کنید.

  1. برای تماس‌های خروجی، به بخش Outbound Routes بروید و یک مسیر جدید اضافه کنید.
  2. در Trunk Sequence for Matched Routes، نام SIP Trunk جدید خود (مثلاً MySIPTrunk) را انتخاب کنید.
  3. برای تماس‌های ورودی، به بخش Inbound Routes بروید و مسیرهای مناسب برای تماس‌های ورودی تنظیم کنید.

3. ذخیره و تست تنظیمات

پس از انجام تنظیمات بالا، برای ذخیره‌سازی و اعمال تغییرات:

  1. روی دکمه Save کلیک کنید تا تغییرات ذخیره شوند.
  2. سپس برای اطمینان از عملکرد صحیح، تست کنید که آیا تماس‌ها از طریق SIP Trunk وارد و خارج می‌شوند.

برای این منظور می‌توانید از بخش Asterisk Logs در رابط کاربری Issabel استفاده کنید تا جزئیات تماس‌ها را مشاهده کنید.


4. نظارت و گزارش‌گیری

برای نظارت بر وضعیت SIP Trunk و تماس‌ها، می‌توانید از ابزارهای موجود در Issabel استفاده کنید:

  • به بخش Reports بروید و گزینه Asterisk Logs را انتخاب کنید.
  • از Real-time Status برای مشاهده وضعیت SIP Trunk و تماس‌های فعال استفاده کنید.

جمع‌بندی

اتصال به سرویس‌دهنده SIP در Issabel از طریق تنظیم یک SIP Trunk جدید امکان‌پذیر است. شما باید اطلاعاتی مانند آدرس SIP Server، نام کاربری، رمز عبور و تنظیمات کدک‌ها را وارد کنید. پس از پیکربندی Peer Details و Registration، باید Dialplan خود را برای تماس‌های ورودی و خروجی تنظیم کنید و سپس تغییرات را ذخیره و تست کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیمات امنیتی (رمزنگاری، احراز هویت) برای Trunk های SIP” subtitle=”توضیحات کامل”]در ارتباطات VoIP، امنیت از اهمیت زیادی برخوردار است. برای محافظت از ارتباطات SIP و جلوگیری از حملات مختلف مانند شنود (Eavesdropping)، جعل هویت (Spoofing)، و حملات DoS (Denial of Service)، باید از روش‌های امنیتی مانند رمزنگاری و احراز هویت استفاده کرد. در این قسمت، نحوه پیکربندی تنظیمات امنیتی برای SIP Trunks در سیستم Issabel به طور کامل توضیح داده می‌شود.


1. فعال‌سازی رمزنگاری (Encryption) برای SIP

برای جلوگیری از شنود و دسترسی غیرمجاز به تماس‌های SIP، می‌توانید از TLS (Transport Layer Security) برای رمزنگاری ارتباطات استفاده کنید. این روش به طور خاص برای پیکربندی ارتباطات امن بین سرویس‌دهنده SIP و سیستم Issabel مورد استفاده قرار می‌گیرد.

الف. پیکربندی TLS برای SIP Trunk
  1. بررسی پشتیبانی TLS: ابتدا باید مطمئن شوید که سرویس‌دهنده SIP شما از TLS پشتیبانی می‌کند. اگر بله، اطلاعات لازم برای پیکربندی شامل پورت TLS (معمولاً 5061) و گواهی‌های SSL (Certificate) به شما داده می‌شود.
  2. ایجاد و نصب گواهی‌های SSL: برای رمزنگاری، به گواهی SSL نیاز دارید. این گواهی را می‌توانید از یک مرجع گواهی معتبر (CA) دریافت کنید یا گواهی خودامضا (Self-Signed Certificate) ایجاد کنید.

برای ایجاد گواهی SSL، از دستورات زیر در سرور Issabel استفاده کنید:

cd /etc/asterisk
openssl genrsa -out sip.key 2048
openssl req -new -key sip.key -out sip.csr
openssl x509 -req -in sip.csr -signkey sip.key -out sip.crt

سپس، فایل‌های sip.key و sip.crt را در مسیر /etc/asterisk/keys/ قرار دهید.

  1. پیکربندی Asterisk برای استفاده از TLS:

در فایل پیکربندی Asterisk برای SIP (sip.conf)، بخش مربوط به TLS را به صورت زیر تنظیم کنید:

[general]
tlsenable=yes
tlscertfile=/etc/asterisk/keys/sip.crt
tlsprivatekey=/etc/asterisk/keys/sip.key
tlscafile=/etc/asterisk/keys/ca.crt
tlsbindaddr=0.0.0.0
tlsbindport=5061

در اینجا:

  • tlsenable: فعال‌سازی TLS.
  • tlscertfile و tlsprivatekey: مسیرهای گواهی SSL و کلید خصوصی.
  • tlscafile: گواهی CA (Certificate Authority) که برای احراز هویت استفاده می‌شود.
  • tlsbindaddr و tlsbindport: آدرس و پورت اتصال TLS.

2. احراز هویت (Authentication) برای SIP Trunk

برای اطمینان از اینکه تنها کاربران مجاز می‌توانند از SIP Trunk استفاده کنند، باید احراز هویت مناسب را پیاده‌سازی کنید. این کار معمولاً از طریق نام کاربری و رمز عبور صورت می‌گیرد.

الف. پیکربندی احراز هویت در sip.conf

برای احراز هویت دقیق‌تر، از پارامترهای زیر در فایل sip.conf استفاده کنید:

[MySIPTrunk]
type=peer
host=sip.provider.com
username=myusername
secret=mypassword
fromuser=myusername
fromdomain=sip.provider.com
insecure=port,invite
context=from-trunk
dtmfmode=rfc2833
auth=md5

در اینجا:

  • username و secret: نام کاربری و رمز عبور برای اتصال به سرویس‌دهنده SIP.
  • insecure: برای پذیرش درخواست‌های ثبت‌نام بدون احراز هویت اضافی. اگر می‌خواهید از احراز هویت اضافی استفاده کنید، این گزینه را غیرفعال کنید.
  • auth: روش احراز هویت. در اینجا از md5 برای امنیت بیشتر استفاده می‌شود.

3. محدود کردن دسترسی به Trunk با IP Whitelisting

برای جلوگیری از دسترسی غیرمجاز به SIP Trunk، می‌توانید فقط IPهای خاصی را که مجاز به ارتباط با سیستم شما هستند، معرفی کنید.

در فایل sip.conf، برای محدود کردن دسترسی به IPهای خاص، از پارامتر permit استفاده کنید:

[MySIPTrunk]
type=peer
host=sip.provider.com
username=myusername
secret=mypassword
fromuser=myusername
fromdomain=sip.provider.com
permit=192.168.1.100/255.255.255.0
deny=0.0.0.0/0.0.0.0

در اینجا:

  • permit: IP مجاز برای اتصال به SIP Trunk.
  • deny: جلوگیری از اتصالات از سایر آدرس‌های IP.

4. پیکربندی محدودیت‌ها و Rate Limiting

برای جلوگیری از حملات DoS یا حملات ثبت نام زیاد (Brute-force)، می‌توانید از محدودیت‌های نرخ (Rate Limiting) استفاده کنید.

در فایل sip.conf، از تنظیمات زیر برای محدود کردن تعداد تلاش‌های ثبت‌نام استفاده کنید:

[general]
maxexpirey=3600
minexpirey=120
registerattempts=3
  • maxexpirey: حداکثر زمان مجاز برای ثبت‌نام.
  • minexpirey: حداقل زمان برای ثبت‌نام دوباره.
  • registerattempts: حداکثر تعداد تلاش‌های مجاز برای ثبت‌نام.

5. استفاده از سرورهای معتبر برای TLS و SRTP

برای افزایش امنیت، توصیه می‌شود از پروتکل‌های SRTP (Secure Real-time Transport Protocol) برای رمزنگاری صدا و تصویر در تماس‌ها استفاده کنید. علاوه بر آن، برای رمزنگاری داده‌ها در طول ارتباط، باید از DTLS یا SCTP برای ایجاد ارتباطات امن استفاده کنید.

برای فعال‌سازی SRTP در Asterisk، تنظیمات زیر را در sip.conf اضافه کنید:

[MySIPTrunk]
type=peer
host=sip.provider.com
username=myusername
secret=mypassword
fromuser=myusername
fromdomain=sip.provider.com
encryption=yes

جمع‌بندی

برای ایمن‌سازی SIP Trunks در Issabel، استفاده از روش‌های امنیتی شامل TLS برای رمزنگاری ارتباطات، احراز هویت با استفاده از نام کاربری و رمز عبور، و محدودیت‌های IP برای جلوگیری از دسترسی غیرمجاز بسیار ضروری است. همچنین استفاده از Rate Limiting برای جلوگیری از حملات ثبت‌نام بی‌پایان و SRTP برای رمزنگاری تماس‌ها از اهمیت بالایی برخوردار است. تمامی این تنظیمات به شما کمک می‌کنند تا امنیت ارتباطات SIP خود را افزایش داده و از حملات مختلف جلوگیری کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تست اتصال SIP و رفع مشکلات اتصال” subtitle=”توضیحات کامل”]برای اطمینان از اینکه SIP Trunk به درستی در سیستم Issabel پیکربندی شده است و اتصال بین سرور SIP و سرویس‌دهنده VoIP به درستی انجام می‌شود، باید اتصال SIP را آزمایش و مشکلات احتمالی را شناسایی و رفع کنیم. در این بخش، مراحل مختلف تست اتصال SIP و روش‌های رفع مشکلات مربوطه توضیح داده خواهد شد.


1. تست اتصال SIP با استفاده از دستور sip show peers

یکی از ساده‌ترین و مؤثرترین روش‌ها برای بررسی وضعیت اتصال SIP، استفاده از دستور sip show peers است که در CLI (خط فرمان) سیستم Issabel قابل اجراست.

برای انجام این کار، ابتدا وارد CLI شوید و دستور زیر را وارد کنید:

asterisk -rvv
sip show peers

این دستور لیستی از peers SIP (سرویس‌دهندگان یا دستگاه‌های SIP متصل به سرور) را نمایش می‌دهد. در این لیست، اطلاعاتی نظیر IP Address، Status (فعال یا غیرفعال)، و Port نمایش داده می‌شود.

  • Status: وضعیت اتصال را نشان می‌دهد. اگر وضعیت “Unreachable” باشد، به این معنی است که سرور SIP قادر به اتصال به سرویس‌دهنده VoIP نیست.
  • IP Address: آدرس IP دستگاه یا سرویس‌دهنده SIP.
  • Port: پورت ارتباطی که برای اتصال استفاده می‌شود.

2. استفاده از دستور sip show registry برای بررسی وضعیت ثبت‌نام

دستور sip show registry برای بررسی وضعیت ثبت‌نام SIP Trunk با سرویس‌دهنده استفاده می‌شود. این دستور وضعیت ثبت‌نام SIP را نشان می‌دهد و به شما کمک می‌کند که از صحیح بودن اطلاعات ثبت‌نام اطمینان حاصل کنید.

دستور را در CLI به این صورت وارد کنید:

sip show registry

این دستور وضعیت ثبت‌نام SIP به سرویس‌دهنده SIP را نمایش می‌دهد و وضعیت موفقیت‌آمیز یا عدم موفقیت ثبت‌نام را مشخص می‌کند. اگر اتصال موفقیت‌آمیز باشد، پیامی مانند زیر خواهید دید:

Registered to sip.provider.com:5060

اگر ثبت‌نام موفق نبود، دلایل مختلفی می‌تواند وجود داشته باشد:

  • نام کاربری یا رمز عبور نادرست
  • آدرس یا پورت سرویس‌دهنده اشتباه
  • مشکل در ارتباط شبکه

3. بررسی لاگ‌های Asterisk برای شناسایی مشکلات

یکی دیگر از روش‌های مؤثر برای تشخیص مشکلات اتصال، بررسی لاگ‌های Asterisk است. لاگ‌های Asterisk معمولاً اطلاعات دقیق‌تری در مورد خطاهای SIP، از جمله دلایل عدم موفقیت اتصال، ارائه می‌دهند.

برای مشاهده لاگ‌های SIP، از دستور زیر در CLI استفاده کنید:

tail -f /var/log/asterisk/full

این دستور به شما اجازه می‌دهد تا به صورت زنده، لاگ‌های Asterisk را مشاهده کنید. در صورتی که مشکلی در ارتباط SIP وجود داشته باشد، معمولاً پیام‌های خطا یا هشدار در این لاگ‌ها ظاهر می‌شود که می‌تواند به شما در شناسایی مشکل کمک کند.

پیام‌های خطای رایج عبارتند از:

  • Authentication Failed: این خطا نشان می‌دهد که نام کاربری یا رمز عبور برای SIP Trunk نادرست است.
  • No Response from Server: این پیام به معنای عدم دریافت پاسخ از سرور SIP است که ممکن است به دلیل تنظیمات نادرست فایروال یا عدم دسترسی شبکه باشد.
  • Request Timeout: این خطا به این معنی است که درخواست SIP به دلیل تأخیر در شبکه یا مشکل در پیکربندی فایروال تایم‌اوت شده است.

4. بررسی وضعیت پورت‌ها با استفاده از دستور netstat

برای اطمینان از اینکه پورت‌های مورد نیاز برای ارتباط SIP باز هستند، می‌توانید از دستور netstat استفاده کنید تا وضعیت پورت‌ها را بررسی کنید.

دستور زیر را وارد کنید تا پورت‌های فعال را ببینید:

netstat -tuln

این دستور لیستی از پورت‌های باز و وضعیت آن‌ها را نشان می‌دهد. اطمینان حاصل کنید که پورت SIP (معمولاً 5060 برای UDP و 5061 برای TLS) باز است و به درستی در حال گوش دادن است.


5. تست اتصال از طریق ping و traceroute

اگر مشکل در اتصال SIP به سرور یا سرویس‌دهنده خارجی وجود دارد، استفاده از دستور ping می‌تواند به شما کمک کند تا مطمئن شوید که اتصال به مقصد قابل دسترسی است.

برای تست اتصال با استفاده از ping، دستور زیر را وارد کنید:

ping sip.provider.com

این دستور به شما کمک می‌کند تا بررسی کنید که آیا سرور SIP قابل دسترسی است یا خیر.

همچنین، برای ردیابی مسیر شبکه از دستور traceroute استفاده کنید:

traceroute sip.provider.com

این دستور مسیر بین سرور شما و سرویس‌دهنده SIP را نمایش می‌دهد و به شما کمک می‌کند تا مشکلات شبکه را شناسایی کنید.


6. رفع مشکلات رایج

  • خطای “Authentication Failed”:
    • اطمینان حاصل کنید که نام کاربری و رمز عبور صحیح است.
    • بررسی کنید که اطلاعات ثبت‌نام در فایل sip.conf به درستی وارد شده باشد.
  • خطای “No Response from Server”:
    • بررسی کنید که سرور SIP و پورت آن در دسترس است.
    • بررسی فایروال و تنظیمات NAT برای اطمینان از عبور بسته‌های SIP از طریق پورت‌های صحیح.
  • خطای “Request Timeout”:
    • تنظیمات فایروال و NAT را بررسی کنید.
    • پیکربندی sip.conf را برای زمان‌تایم‌های مناسب بررسی کنید.
  • خطای “Invalid Credentials”:
    • اطلاعات ثبت‌نام (نام کاربری و رمز عبور) را دوباره بررسی کنید.
    • از سرویس‌دهنده SIP خود بخواهید تا صحت اطلاعات را تایید کند.

جمع‌بندی

برای تست اتصال SIP و رفع مشکلات اتصال در Issabel، ابزارهای مختلفی مانند sip show peers، sip show registry، netstat و ping وجود دارند که به شما کمک می‌کنند تا مشکلات ارتباطی و ثبت‌نام SIP را شناسایی و رفع کنید. بررسی دقیق لاگ‌ها و تنظیمات SIP در فایل‌های پیکربندی، مانند sip.conf، می‌تواند مشکلات را سریع‌تر پیدا و رفع کند. همچنین، از دستوراتی مانند ping و traceroute برای بررسی دسترسی شبکه استفاده کنید تا مشکلات ارتباطی بین سرور SIP و سرویس‌دهنده VoIP را حل کنید.[/cdb_course_lesson][cdb_course_lesson title=”فصل 3. پیکربندی IAX Trunk”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تفاوت‌ها و کاربردهای IAX نسبت به SIP” subtitle=”توضیحات کامل”]پروتکل‌های SIP (Session Initiation Protocol) و IAX (Inter-Asterisk eXchange) هر دو به‌طور گسترده در ارتباطات VoIP (Voice over IP) استفاده می‌شوند. با این حال، این دو پروتکل تفاوت‌های اساسی در طراحی، عملکرد و کاربرد دارند. در این بخش، تفاوت‌ها و کاربردهای هرکدام را بررسی خواهیم کرد.


تفاوت‌های اصلی بین SIP و IAX

1. معماری پروتکل
  • SIP: SIP یک پروتکل سیگنالینگ است که برای مدیریت جلسات ارتباطی از جمله تماس‌های صوتی، تصویری و پیام‌رسانی در شبکه‌های IP استفاده می‌شود. SIP بر اساس معماری Client-Server است، که هر طرف در ارتباط باید به‌طور جداگانه پیام‌ها و درخواست‌ها را مدیریت کند.
  • IAX: IAX، به‌طور خاص توسط پروژه Asterisk برای ارتباطات VoIP طراحی شده است. این پروتکل به‌طور عمده برای ارتباطات داخلی Asterisk به Asterisk و سایر سرورهای VoIP استفاده می‌شود. IAX یک پروتکل Client-to-Server و Server-to-Server با معماری متمرکز است که برای کاهش مشکلات مربوط به NAT و فایروال‌ها بهینه شده است.
2. استفاده از پورت‌ها
  • SIP: SIP معمولاً از پورت‌های 5060 (برای UDP) و 5061 (برای TLS) استفاده می‌کند. یکی از مشکلات SIP این است که ممکن است در برخی شبکه‌ها به دلیل استفاده از پورت‌های استاندارد، فایروال‌ها یا NAT مسدود شود.
  • IAX: IAX از پورت 4569 به‌صورت پیش‌فرض برای انتقال داده‌های خود استفاده می‌کند. این پورت معمولاً در فایروال‌ها و NAT‌ها مسدود نمی‌شود، زیرا تنها یک پورت برای تمام ارتباطات SIP و رسانه استفاده می‌شود.
3. نیاز به بسته‌های متعدد
  • SIP: SIP برای انتقال پیام‌های سیگنالینگ و داده‌های رسانه‌ای (صوت و ویدئو) به بسته‌های جداگانه نیاز دارد. این باعث می‌شود که SIP در برخی شرایط مانند شبکه‌های با NAT یا فایروال‌ها مشکلاتی ایجاد کند.
  • IAX: IAX از یک بسته واحد برای انتقال هم سیگنالینگ و هم داده‌های رسانه‌ای استفاده می‌کند، که به کاهش مشکلات NAT و فایروال‌ها کمک می‌کند و در نتیجه عملکرد بهتری در شبکه‌های پیچیده دارد.
4. پشتیبانی از فایروال و NAT Traversal
  • SIP: SIP در مواقعی که از NAT یا فایروال‌ها استفاده می‌شود، با مشکلات زیادی روبه‌رو می‌شود. برای حل این مشکلات، روش‌های مختلفی مانند STUN، TURN و ICE برای SIP وجود دارد، اما این روش‌ها می‌توانند پیچیده باشند و نیاز به پیکربندی‌های اضافی دارند.
  • IAX: IAX به‌طور طبیعی از مشکلات مربوط به NAT و فایروال‌ها اجتناب می‌کند، زیرا تمام ارتباطات سیگنالینگ و رسانه‌ای را از طریق یک پورت و در یک بسته منتقل می‌کند. این ویژگی باعث می‌شود که IAX برای استفاده در شبکه‌های پیچیده و محدودیت‌های NAT مناسب‌تر باشد.
5. پیچیدگی پیکربندی
  • SIP: پیکربندی SIP معمولاً پیچیده‌تر است و نیاز به تنظیمات مختلف برای سرورها و فایروال‌ها دارد. برای ارتباط با سرویس‌دهندگان مختلف VoIP، باید تنظیمات متعددی را انجام داد.
  • IAX: IAX معمولاً پیکربندی ساده‌تری دارد، زیرا تنها یک پورت برای همه ارتباطات استفاده می‌کند و به دلیل ساختار یکپارچه‌ای که دارد، نیاز به تنظیمات پیچیده کمتری دارد.
6. پشتیبانی از قابلیت‌های مختلف
  • SIP: SIP به‌طور گسترده‌ای توسط بسیاری از سرویس‌دهندگان و نرم‌افزارهای مختلف پشتیبانی می‌شود. این پروتکل برای ارتباطات صوتی، تصویری و پیام‌رسانی استفاده می‌شود و قابلیت‌های زیادی از جمله مدیریت تماس، انتقال داده، و مدیریت حضور کاربران را ارائه می‌دهد.
  • IAX: IAX، بیشتر برای استفاده در ارتباطات داخلی بین سرورهای Asterisk و دیگر سرورهای VoIP مشابه طراحی شده است. اگرچه IAX از ویژگی‌هایی مشابه SIP پشتیبانی می‌کند، اما بیشتر بر روی عملکردهای سرور-به-سرور و ارتباطات داخلی متمرکز است.

کاربردهای SIP و IAX در سیستم‌های تلفنی

1. SIP در ارتباطات خارجی و بین‌سازمانی

SIP برای ارتباطات بین‌سازمانی و اتصال به سرویس‌دهندگان مختلف VoIP بسیار محبوب است. این پروتکل به‌طور گسترده در دنیای ارتباطات VoIP برای برقراری تماس‌های خارجی، مانند ارتباطات بین دو سازمان یا اتصال به سرویس‌دهندگان تجاری مورد استفاده قرار می‌گیرد. SIP برای ادغام با سیستم‌های تلفنی متنوع و انجام تماس‌های تلفنی بین‌شبکه‌ای و بین‌شرکتی به‌طور گسترده مورد استفاده قرار می‌گیرد.

  • مزایا:
    • تطبیق‌پذیری با اکثر سرویس‌دهندگان VoIP.
    • پشتیبانی از تماس‌های صوتی، تصویری و پیام‌رسانی.
    • قابلیت گسترش برای شبکه‌های بزرگ.
  • کاربرد:
    • اتصال به سرویس‌دهندگان VoIP خارجی.
    • ایجاد سیستم‌های تلفنی پیچیده بین‌شرکتی و بین‌سازمانی.
2. IAX در ارتباطات داخلی و سرور-به-سرور

IAX به‌طور عمده در داخل شبکه‌های سازمانی برای ارتباطات داخلی و همچنین بین سرورهای Asterisk استفاده می‌شود. این پروتکل برای اتصال بین سرورهای Asterisk یا ارتباطات در شبکه‌های پیچیده و محدودیت‌های NAT و فایروال‌ها مناسب‌تر است.

  • مزایا:
    • پیکربندی ساده‌تر.
    • کارایی بالاتر در شبکه‌های پیچیده.
    • استفاده از یک پورت برای انتقال سیگنالینگ و رسانه.
  • کاربرد:
    • ارتباطات داخلی بین سرورهای Asterisk.
    • شبکه‌های VoIP که نیاز به ارتباط بین سرورها دارند.
3. SIP برای سیستم‌های عمومی و تجاری

SIP معمولاً در سیستم‌های تجاری و عمومی استفاده می‌شود، جایی که نیاز به ارتباط با سرویس‌دهندگان مختلف VoIP و سیستم‌های خارجی وجود دارد. این پروتکل بیشتر برای ارتباطات خارجی و اتصال به شبکه‌های گسترده‌تر استفاده می‌شود.

4. IAX برای سیستم‌های داخلی و استفاده در پروژه‌های خاص

IAX بیشتر در پروژه‌های داخلی و برای استفاده در ارتباطات بین سرورهای VoIP مشابه مانند Asterisk کاربرد دارد. این پروتکل در محیط‌هایی که به پیکربندی ساده و کارایی بالا نیاز دارند، بسیار مفید است.


جمع‌بندی

در مجموع، SIP به‌دلیل تطبیق‌پذیری بالا و پشتیبانی از انواع مختلف تماس‌ها و ویژگی‌ها برای استفاده در ارتباطات خارجی و بین‌سازمانی مناسب است. در مقابل، IAX برای ارتباطات داخلی و استفاده در پروژه‌های خاص و سرور-به-سرور با نیاز به پیکربندی ساده‌تر و کاهش مشکلات شبکه بسیار مناسب است. انتخاب بین SIP و IAX به شرایط خاص هر شبکه و نیازهای ارتباطی آن بستگی دارد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”نحوه تنظیم و پیکربندی IAX Trunk در Issabel” subtitle=”توضیحات کامل”]پیکربندی IAX Trunk در Issabel به‌منظور اتصال به دیگر سیستم‌های VoIP یا سرویس‌دهندگان از طریق پروتکل IAX، یکی از بخش‌های اصلی تنظیمات شبکه تلفنی است. در این بخش، تمامی مراحل لازم برای پیکربندی یک IAX Trunk به صورت گام به گام به همراه دستورالعمل‌های کامندی و گرافیکی توضیح داده خواهد شد.


مراحل پیکربندی IAX Trunk در Issabel

1. ورود به رابط کاربری Issabel

ابتدا وارد رابط کاربری Issabel شوید:

  • آدرس IP سرور Issabel را در مرورگر وارد کنید.
  • نام کاربری و رمز عبور خود را وارد کنید.
2. ایجاد IAX Trunk جدید

برای ایجاد IAX Trunk جدید در Issabel، مراحل زیر را دنبال کنید:

  • از منوی سمت چپ، روی PBX کلیک کنید.
  • از گزینه‌های منو، به بخش Trunks بروید.
  • در صفحه Trunks, روی Add Trunk کلیک کنید.
  • در فهرست بازشده، گزینه IAX2 را انتخاب کنید.
3. تنظیمات پیکربندی IAX Trunk

پس از انتخاب گزینه IAX2, باید تنظیمات مربوطه را وارد کنید. در اینجا مهم‌ترین تنظیمات برای IAX Trunk آورده شده‌اند.

3.1 تنظیمات عمومی

در بخش General Settings تنظیمات زیر را وارد کنید:

  • Trunk Name: نام انتخابی برای Trunk (مثال: IAX_Provider).
  • Outbound CallerID: شناسه تماس‌دهنده برای تماس‌های خروجی (اختیاری).
  • Register String: برای ثبت Trunk در سرویس‌دهنده VoIP (فرمت معمول به شکل username:password@host).

مثال:

user123:password123@voipprovider.com
3.2 تنظیمات IAX

در بخش IAX Settings, تنظیمات زیر را وارد کنید:

  • Host: آدرس IP یا دامنه سرور IAX (مثال: 192.168.1.100 یا voipprovider.com).
  • Username: نام کاربری اختصاصی که توسط سرویس‌دهنده VoIP ارائه شده است.
  • Password: رمز عبور اختصاصی.
  • IAX2 Settings: تنظیمات پیشرفته مانند secret, trunk group, context، و سایر گزینه‌ها که می‌توانند بسته به نیاز شما تغییر کنند.
4. ذخیره تنظیمات

پس از وارد کردن تنظیمات، بر روی Submit و سپس Apply Changes کلیک کنید.

5. تنظیمات Outbound Routes

برای ارسال تماس‌ها از طریق Trunk IAX، باید یک Outbound Route جدید ایجاد کنید:

  • از منوی PBX به Outbound Routes بروید.
  • بر روی Add Route کلیک کنید.
  • در بخش Route Name، نامی برای Route انتخاب کنید (مثال: IAX Calls).
  • در بخش Trunk Sequence for Matched Routes, Trunk IAX ایجاد شده را انتخاب کنید.
  • در بخش Dial Patterns, الگوهای شماره‌گیری برای تماس‌ها را وارد کنید (برای مثال، برای تماس‌های بین‌المللی 1NXXNXXXXXX برای آمریکا).
6. تست اتصال IAX Trunk

برای اطمینان از پیکربندی صحیح Trunk، می‌توانید از ابزار CLI برای تست استفاده کنید:

  1. به SSH سرور Issabel متصل شوید.
  2. دستور زیر را برای بررسی وضعیت IAX Trunk وارد کنید:
    asterisk -rx "iax2 show peers"
    

    این دستور وضعیت اتصال Trunk را نشان خواهد داد.

  3. برای بررسی وضعیت Trunk و جزئیات آن، از دستور زیر استفاده کنید:
    asterisk -rx "iax2 show registry"
    

    این دستور اطلاعات ثبت Trunk در سرور را نمایش می‌دهد.

7. رفع مشکلات اتصال IAX Trunk

اگر اتصال IAX Trunk با مشکلاتی روبه‌رو شد، مراحل زیر را برای رفع مشکلات دنبال کنید:

  1. ابتدا از دستور زیر برای مشاهده لاگ‌های Asterisk استفاده کنید:
    tail -f /var/log/asterisk/full
    

    این دستور لاگ‌های Asterisk را در زمان واقعی نشان خواهد داد و به شما کمک می‌کند تا خطاها و مشکلات اتصال را شناسایی کنید.

  2. اطمینان حاصل کنید که تنظیمات شبکه (IP Address و پورت‌ها) صحیح باشند و فایروال‌ها اجازه عبور ترافیک از پورت 4569 را می‌دهند.

مثال کامل از پیکربندی IAX Trunk

در اینجا یک نمونه پیکربندی کامل برای IAX Trunk آورده شده است:

تنظیمات در Trunk Settings
  • Trunk Name: IAX_Provider
  • Register String: user123:password123@voipprovider.com
  • Host: voipprovider.com
  • Username: user123
  • Password: password123
تنظیمات در Outbound Routes
  • Route Name: IAX Calls
  • Trunk Sequence for Matched Routes: IAX_Provider
  • Dial Patterns: 1NXXNXXXXXX
بررسی وضعیت با CLI

برای تست وضعیت Trunk:

asterisk -rx "iax2 show peers"

جمع‌بندی

پیکربندی IAX Trunk در Issabel شامل ایجاد Trunk جدید از نوع IAX2, وارد کردن اطلاعات سرویس‌دهنده، تنظیمات مربوط به تماس‌های خروجی و ثبت Trunk در سرویس‌دهنده است. پس از پیکربندی، تست اتصال و بررسی وضعیت با ابزار CLI ضروری است تا از عملکرد صحیح Trunk مطمئن شوید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”معرفی IAX2 و مزایای آن نسبت به IAX1″ subtitle=”توضیحات کامل”]IAX (Inter-Asterisk Exchange) یک پروتکل VoIP است که توسط پروژه Asterisk برای اتصال سیستم‌های تلفنی طراحی شده است. این پروتکل در نسخه‌های مختلف خود، ویژگی‌های مختلفی را ارائه می‌دهد. IAX2 نسخه بهبود یافته و پیشرفته‌تر IAX1 است که ویژگی‌های جدیدی را برای کارایی بهتر، امنیت بیشتر و انعطاف‌پذیری بیشتر به سیستم‌های تلفنی VoIP اضافه کرده است.


تفاوت‌های IAX1 و IAX2

  1. پشتیبانی از NAT Traversal
    IAX2 از NAT Traversal پشتیبانی می‌کند که این ویژگی برای عبور از دستگاه‌های NAT (مثل روترهای خانگی) ضروری است. این ویژگی در IAX1 وجود نداشت و برای عبور از NAT به روش‌های پیچیده‌تری نیاز بود.
  2. پشتیبانی از چندین تماس در یک ارتباط
    IAX2 این قابلیت را فراهم می‌آورد که چندین تماس VoIP را در یک کانال انتقال دهد. این ویژگی به‌ویژه در شرایط با پهنای باند محدود مفید است، زیرا می‌تواند تعداد تماس‌های بیشتری را با همان پهنای باند انتقال دهد. IAX1 چنین قابلیتی نداشت و برای هر تماس نیاز به یک کانال مجزا بود.
  3. کاهش تأخیر
    IAX2 به دلیل استفاده از تنها یک کانال برای چندین تماس، می‌تواند تأخیر کمتری در انتقال داده‌ها نسبت به IAX1 داشته باشد.
  4. پشتیبانی از رمزنگاری
    IAX2 به طور پیش‌فرض از رمزنگاری پشتیبانی می‌کند که این ویژگی در IAX1 وجود ندارد. این موضوع باعث افزایش امنیت ارتباطات در IAX2 می‌شود.
  5. حمایت از پروفایل‌های مختلف کدک
    IAX2 به کاربران این امکان را می‌دهد که از چندین کدک مختلف به طور همزمان پشتیبانی کنند و با توجه به پهنای باند، کیفیت تماس‌ها را بهینه کنند. در IAX1 این انعطاف‌پذیری وجود ندارد.

پیکربندی IAX2 در Asterisk

برای پیکربندی IAX2 در Asterisk و استفاده از آن به عنوان یک Trunk، باید فایل پیکربندی iax.conf را ویرایش کنید. در ادامه دستورالعمل‌های کامل برای پیکربندی این پروتکل آورده شده است.

1. ویرایش فایل پیکربندی IAX2

فایل پیکربندی IAX2 در Asterisk معمولاً در مسیر زیر قرار دارد:

/etc/asterisk/iax.conf

برای ویرایش این فایل و پیکربندی IAX2، از یک ویرایشگر متن مانند nano یا vi استفاده کنید:

nano /etc/asterisk/iax.conf

در داخل این فایل، می‌توانید تنظیمات مختلف IAX2 را برای Trunk یا ارتباطات داخلی VoIP اضافه کنید. برای مثال، یک پیکربندی ساده برای IAX2 به شرح زیر است:

2. پیکربندی Trunk IAX2

برای ایجاد یک Trunk IAX2، تنظیمات زیر را در فایل iax.conf وارد کنید:

[general]
; تنظیمات عمومی IAX2
bindport=4569            ; پورت پیش‌فرض IAX2
bindaddr=0.0.0.0         ; همه آدرس‌ها
disallow=all             ; غیر فعال کردن تمام کدک‌ها
allow=ulaw               ; فقط استفاده از کدک ulaw

[iax-provider]
type=friend
host=voipprovider.com    ; آدرس سرور سرویس‌دهنده VoIP
username=user123         ; نام کاربری
secret=password123       ; رمز عبور
context=from-iax         ; Context برای تماس‌ها
3. پیکربندی امنیتی (رمزنگاری)

اگر می‌خواهید ارتباطات IAX2 خود را با رمزنگاری ایمن کنید، می‌توانید گزینه‌های زیر را در فایل iax.conf اضافه کنید:

[general]
; فعال‌سازی رمزنگاری برای ارتباطات IAX2
encryption=yes
4. ویرایش تنظیمات NAT برای عبور از روتر

برای عبور از NAT، باید تنظیمات خاصی را در فایل iax.conf وارد کنید. این تنظیمات به IAX2 کمک می‌کنند تا از پشت روترها و فایروال‌ها عبور کند:

[general]
nat=yes                  ; فعال‌سازی پشتیبانی از NAT
trustrpid=yes             ; اعتماد به شناسه ریدایرکت
sendrpid=yes              ; ارسال شناسه ریدایرکت
5. تنظیمات اضافی

اگر نیاز دارید که از ویژگی‌هایی مانند پشتیبانی از چندین تماس در یک کانال استفاده کنید، این ویژگی‌ها به طور پیش‌فرض در IAX2 فعال است و نیازی به پیکربندی خاصی ندارد.


تست و بررسی وضعیت IAX2

برای بررسی وضعیت IAX2 و اطمینان از اتصال صحیح Trunk، از دستورات زیر استفاده کنید:

  1. برای بررسی وضعیت Trunk IAX2 در Asterisk، دستور زیر را وارد کنید:
    asterisk -rx "iax2 show peers"
    

    این دستور لیستی از Peers (مقاصد) متصل به سرور Asterisk را نشان می‌دهد و وضعیت اتصال آن‌ها را بررسی می‌کند.

  2. برای بررسی وضعیت ثبت (Registration) Trunk، از دستور زیر استفاده کنید:
    asterisk -rx "iax2 show registry"
    

    این دستور اطلاعات ثبت Trunk را نمایش می‌دهد و به شما کمک می‌کند تا از صحت اتصال اطمینان حاصل کنید.


جمع‌بندی

IAX2 یک نسخه پیشرفته‌تر از IAX1 است که ویژگی‌های بسیاری را برای بهبود کارایی، امنیت و انعطاف‌پذیری در ارتباطات VoIP ارائه می‌دهد. از جمله مهم‌ترین مزایای IAX2 نسبت به IAX1 می‌توان به پشتیبانی از NAT Traversal، امکان چند تماس در یک کانال، کاهش تأخیر و پشتیبانی از رمزنگاری اشاره کرد. تنظیمات IAX2 در Asterisk با استفاده از فایل iax.conf انجام می‌شود و می‌توان آن را برای استفاده در Trunk‌های VoIP و همچنین برقراری ارتباطات داخلی پیکربندی کرد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیمات شبکه و امنیت برای IAX Trunk” subtitle=”توضیحات کامل”]برای تنظیم IAX Trunk در Issabel یا Asterisk، علاوه بر پیکربندی اصلی Trunk، باید به مسائلی مانند امنیت شبکه، تنظیمات NAT، فایروال، و رمزنگاری توجه ویژه‌ای داشت. در این بخش، به جزئیات تنظیمات مربوط به شبکه و امنیت برای ارتباطات IAX پرداخته خواهد شد.


1. پیکربندی NAT (Network Address Translation)

در تنظیمات IAX، به‌ویژه زمانی که از پشت روتر یا فایروال‌های NAT استفاده می‌کنید، ضروری است که ویژگی‌های مرتبط با NAT Traversal پیکربندی شود. در غیر این صورت، ارتباطات با مشکلات زیادی مواجه خواهد شد.

پیکربندی NAT در IAX

در فایل پیکربندی iax.conf، بخش [general] را ویرایش کنید و تنظیمات زیر را اعمال کنید:

[general]
nat=yes                  ; فعال‌سازی پشتیبانی از NAT
trustrpid=yes             ; اعتماد به شناسه ریدایرکت برای جلوگیری از مشکلات NAT
sendrpid=yes              ; ارسال شناسه ریدایرکت برای کمک به NAT Traversal
  • nat=yes: به Asterisk اعلام می‌کند که اتصال از پشت NAT است و نیاز به تنظیمات مخصوص NAT دارد.
  • trustrpid=yes: زمانی که سرور تماس‌های وارد شده از طریق NAT دریافت می‌کند، این گزینه کمک می‌کند که شناسه ریدایرکت (RPID) درست شناسایی شود.
  • sendrpid=yes: این گزینه برای ارسال صحیح RPID به مقصد استفاده می‌شود.

این تنظیمات کمک می‌کنند تا مشکلات مربوط به NAT در IAX حل شود و اتصال صحیحی برقرار گردد.


2. پیکربندی فایروال (Firewall)

برای اتصال ایمن و بدون مشکل به Trunk IAX، فایروال باید پورت‌های مورد نیاز را باز کند. IAX از پورت 4569 به‌صورت پیش‌فرض برای ارتباطات استفاده می‌کند. بنابراین باید اطمینان حاصل کنید که این پورت در فایروال شما باز است.

باز کردن پورت 4569 در فایروال

برای باز کردن پورت 4569 در firewalld یا iptables، از دستورات زیر استفاده کنید:

در firewalld:
firewall-cmd --zone=public --add-port=4569/udp --permanent
firewall-cmd --reload
در iptables:
iptables -A INPUT -p udp --dport 4569 -j ACCEPT
service iptables save
service iptables restart

این دستورات پورت 4569 را برای اتصال IAX Trunk باز می‌کنند و به سیستم اجازه می‌دهند که بسته‌های IAX را دریافت کند.


3. رمزنگاری ارتباطات IAX

برای ایمن‌سازی ارتباطات، می‌توان از رمزنگاری برای تماس‌های IAX استفاده کرد. رمزنگاری می‌تواند از راه‌های مختلفی انجام شود و برای جلوگیری از شنود، توصیه می‌شود از آن استفاده کنید.

پیکربندی رمزنگاری در IAX

برای فعال‌سازی رمزنگاری، تنظیمات زیر را در فایل iax.conf وارد کنید:

[general]
encryption=yes           ; فعال‌سازی رمزنگاری

این تنظیمات باعث می‌شود که ارتباطات IAX به صورت Encrypted ارسال شوند. البته برای استفاده از رمزنگاری، هر دو طرف ارتباط (سرور و سرویس‌دهنده VoIP) باید از این ویژگی پشتیبانی کنند.


4. احراز هویت (Authentication) برای Trunk IAX

برای جلوگیری از دسترسی غیرمجاز و ارتقاء امنیت، باید از احراز هویت برای IAX Trunk استفاده کنید. این عمل از طریق تنظیمات نام کاربری و رمز عبور انجام می‌شود.

پیکربندی احراز هویت در iax.conf

برای تنظیم احراز هویت برای یک Trunk IAX، در فایل iax.conf باید تنظیمات زیر را وارد کنید:

[iax-provider]
type=friend
host=voipprovider.com          ; آدرس سرور VoIP
username=yourusername          ; نام کاربری
secret=yourpassword            ; رمز عبور
context=from-iax               ; context برای تماس‌ها

در این پیکربندی:

  • username: نام کاربری مورد نظر برای اتصال به سرویس‌دهنده VoIP.
  • secret: رمز عبور برای احراز هویت اتصال به سرویس‌دهنده VoIP.

این تنظیمات به‌طور مستقیم امنیت اتصال را افزایش می‌دهند و از دسترسی‌های غیرمجاز جلوگیری می‌کنند.


5. تنظیمات برای جلوگیری از حملات DoS (Denial of Service)

برای جلوگیری از حملات DoS (Denial of Service) یا DDoS (Distributed Denial of Service) که می‌توانند باعث از کار افتادن سرور شوند، پیشنهاد می‌شود از ویژگی‌هایی مانند Rate Limiting استفاده کنید.

پیکربندی Rate Limiting در iax.conf
[general]
maxcallbitrate=192         ; محدود کردن بیت ریت تماس برای جلوگیری از حملات

این تنظیمات به شما اجازه می‌دهد که از ارسال درخواست‌های زیاد و غیرقابل کنترل جلوگیری کنید.


6. بررسی وضعیت IAX

پس از پیکربندی همه این تنظیمات، برای بررسی وضعیت اتصال Trunk و اطمینان از صحیح بودن تنظیمات، می‌توانید از دستورات زیر استفاده کنید:

  1. برای بررسی وضعیت IAX2:
    asterisk -rx "iax2 show peers"
    

    این دستور وضعیت تمامی Trunk‌های IAX را نمایش می‌دهد و شما می‌توانید وضعیت اتصال، ثبت‌نام و غیره را بررسی کنید.

  2. برای بررسی وضعیت رمزنگاری:
    asterisk -rx "iax2 show encryption"
    

    این دستور وضعیت رمزنگاری در ارتباطات IAX2 را بررسی می‌کند.


جمع‌بندی

در این بخش، به تنظیمات شبکه و امنیت برای IAX Trunk پرداخته شد. با پیکربندی صحیح NAT Traversal، فایروال، رمزنگاری، و احراز هویت، می‌توانید امنیت و عملکرد مناسب برای ارتباطات IAX2 ایجاد کنید. همچنین، دستورات CLI برای باز کردن پورت‌ها، تنظیم رمزنگاری، و بررسی وضعیت استفاده شده‌اند تا اطمینان حاصل شود که تمامی تنظیمات به درستی انجام شده‌اند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 4. ایجاد و مدیریت خطوط داخلی (Extensions)”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تعریف و ایجاد Extensions برای کاربران مختلف” subtitle=”توضیحات کامل”]در سیستم‌های VoIP مانند Issabel (که بر پایه Asterisk ساخته شده است)، Extensions به کاربران و دستگاه‌ها تخصیص داده می‌شود تا تماس‌ها بتوانند به‌طور صحیح به مقصد مورد نظر هدایت شوند. Extensions برای هر کاربر در سیستم تعریف می‌شوند و به آن‌ها اجازه می‌دهند تا تماس‌های ورودی و خروجی را مدیریت کنند. در این بخش به تعریف و ایجاد Extensions برای کاربران مختلف خواهیم پرداخت.


1. تعریف Extensions در فایل extensions.conf

فایل extensions.conf در Asterisk/Issabel مسئول تنظیمات مسیریابی تماس‌ها است و می‌تواند به‌صورت دستی یا گرافیکی مدیریت شود. Extensions به‌طور کلی به دو نوع تقسیم می‌شوند:

  • Extensions داخلی (Internal Extensions): این‌ها برای تماس‌های داخلی بین کاربران و دستگاه‌ها استفاده می‌شوند.
  • Extensions خارجی (External Extensions): این‌ها برای تماس‌های ورودی یا خروجی با دنیای خارجی (مانند شبکه‌های تلفنی عمومی) مورد استفاده قرار می‌گیرند.
ساختار کلی extensions.conf

برای ایجاد یک Extension در Issabel، فایل extensions.conf باید به این صورت تنظیم شود:

[general]
static=yes
writeprotect=no

[default]
; تعریف یک Extension داخلی
exten => 1000,1,Dial(SIP/user1,20)
exten => 1000,n,Voicemail(1000@default)
exten => 1000,n,Hangup()

در این تنظیمات:

  • exten => 1000: شماره Extension که به کاربر تخصیص داده شده است.
  • Dial(SIP/user1,20): شماره SIP که به Extension مربوطه متصل است و 20 ثانیه زمان برای برقراری تماس در نظر گرفته شده است.
  • Voicemail(1000@default): اگر کاربر تماس را جواب ندهد، تماس به صندوق پست صوتی منتقل می‌شود.
  • Hangup(): تماس پس از تمام شدن مراحل ذکر شده، قطع می‌شود.

این مثال برای ایجاد یک Extension ساده به نام 1000 برای کاربر user1 است.


2. تعریف Extensions در پنل مدیریت Issabel (گرافیکی)

اگر از رابط گرافیکی Issabel استفاده می‌کنید، می‌توانید Extensions را به راحتی از طریق رابط کاربری ایجاد کنید. برای این کار، مراحل زیر را دنبال کنید:

  1. وارد پنل مدیریت Issabel شوید.
  2. به بخش PBX رفته و گزینه Extensions را انتخاب کنید.
  3. بر روی گزینه Add Extension کلیک کنید.
  4. نوع Extension (SIP، IAX، یا دیگر پروتکل‌ها) را انتخاب کنید.
  5. اطلاعات مورد نیاز مانند نام کاربری (Extension Number)، رمز عبور (Password) و پروتکل را وارد کنید.
  6. پس از پر کردن اطلاعات، بر روی Submit کلیک کنید تا Extension ایجاد شود.

3. تنظیمات پیشرفته Extensions

در صورت نیاز به تنظیمات پیشرفته برای Extensions، می‌توانید مواردی مانند Call Forwarding، Voicemail، و Call Waiting را برای هر Extension تنظیم کنید.

مثال برای تنظیم Call Forwarding در extensions.conf:
exten => 1000,1,Dial(SIP/user1,20)
exten => 1000,n,Set(CALLERID(all)="Forwarded Call" <1000>)
exten => 1000,n,GotoIf($["${CALLERID(num)}" = "1000"]?forward:voicemail)
exten => 1000,n(forward),Dial(SIP/user2)
exten => 1000,n,Hangup()
exten => 1000,n(voicemail),Voicemail(1000@default)

در این مثال:

  • Call Forwarding برای شماره 1000 به شماره 1002 انجام می‌شود.
  • اگر تماس به شماره 1000 باشد، ابتدا به شماره 1002 هدایت می‌شود و در صورت عدم پاسخ، تماس به صندوق پست صوتی ارسال می‌شود.

4. پیکربندی Voicemail برای Extensions

برای فعال‌سازی و تنظیم صندوق پست صوتی برای Extension ها، باید فایل voicemail.conf و یا تنظیمات گرافیکی Issabel را ویرایش کنید.

تنظیمات Voicemail در voicemail.conf

در فایل voicemail.conf، تنظیمات مربوط به صندوق پست صوتی به شکل زیر است:

[default]
1000 => 1234,John Doe,john.doe@example.com

در این پیکربندی:

  • 1000: شماره Extension
  • 1234: رمز صندوق پست صوتی
  • John Doe: نام صاحب Extension
  • john.doe@example.com: ایمیل برای ارسال گزارشات پست صوتی

5. بررسی وضعیت Extensions و مدیریت آن‌ها

برای بررسی وضعیت Extensions از دستورات زیر در CLI Issabel استفاده کنید:

  • بررسی وضعیت کلی Extensions:
    asterisk -rx "sip show peers"
    
  • بررسی وضعیت Voicemail:
    asterisk -rx "voicemail show users"
    

این دستورات به شما اجازه می‌دهند که وضعیت موجود Extension‌ها را بررسی کرده و از عملکرد صحیح آن‌ها اطمینان حاصل کنید.


جمع‌بندی

در این بخش به توضیح کامل ایجاد و تعریف Extensions برای کاربران مختلف در سیستم Issabel پرداخته شد. از طریق فایل‌های پیکربندی مانند extensions.conf و رابط گرافیکی، می‌توان Extensions جدیدی برای کاربران اضافه کرده و تنظیمات پیشرفته‌ای مانند Call Forwarding و Voicemail را اعمال کرد. همچنین، برای مدیریت وضعیت و بررسی عملکرد Extensions، از دستورات CLI استفاده می‌شود. این تنظیمات به شما امکان می‌دهند که تماس‌ها را به درستی هدایت کرده و به هر کاربر تخصیص دهید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”نحوه پیکربندی انواع Extensions (دستگاه‌های فیزیکی، نرم‌افزاری، SIP)” subtitle=”توضیحات کامل”]در سیستم Issabel (بر پایه Asterisk)، انواع مختلف Extensions می‌توانند به کاربران یا دستگاه‌ها اختصاص داده شوند. این Extensions می‌توانند به صورت دستگاه‌های فیزیکی، دستگاه‌های نرم‌افزاری یا SIP Extensions باشند. در این بخش، نحوه پیکربندی این Extensions و تنظیمات مرتبط با آن‌ها را به تفصیل بررسی خواهیم کرد.


1. پیکربندی Extensions برای دستگاه‌های فیزیکی

دستگاه‌های فیزیکی معمولا تلفن‌های IP هستند که به شبکه متصل می‌شوند و از پروتکل‌های مختلف مانند SIP برای ارتباط استفاده می‌کنند. برای پیکربندی Extension برای دستگاه‌های فیزیکی در Issabel، مراحل زیر باید دنبال شوند.

پیکربندی دستگاه فیزیکی در فایل sip.conf
  1. ابتدا وارد فایل sip.conf شوید که تنظیمات مربوط به پروتکل SIP و دستگاه‌ها در آن قرار دارد.
  2. دستگاه جدید را برای یک Extension جدید در فایل sip.conf اضافه کنید. فرض کنید که شماره Extension 1010 به دستگاه فیزیکی اختصاص داده می‌شود.
[1010]
type=friend
host=dynamic
secret=yourpassword
context=default
callerid=John Doe <1010>
dtmfmode=rfc2833
disallow=all
allow=ulaw
allow=alaw
pickupgroup=1
callgroup=1

توضیحات:

  • type=friend: این دستگاه می‌تواند هم تماس‌های ورودی و هم خروجی را مدیریت کند.
  • host=dynamic: دستگاه به‌طور پویا از سرور دریافت IP می‌کند.
  • secret: رمز عبور برای دستگاه.
  • context=default: تعیین کانتکست برای مسیریابی تماس‌ها.
  • callerid: شناسه تماس برای Extension.

فایل sip.conf در مسیر /etc/asterisk/sip.conf قرار دارد.


2. پیکربندی Extensions برای دستگاه‌های نرم‌افزاری (Softphone)

دستگاه‌های نرم‌افزاری مانند نرم‌افزارهای SIP Softphone (مانند Zoiper یا X-Lite) نیاز به پیکربندی مشابه دستگاه‌های فیزیکی دارند. پیکربندی آن‌ها در فایل sip.conf به همین صورت است.

پیکربندی نرم‌افزار SIP در فایل sip.conf
[2001]
type=friend
host=dynamic
secret=softphonepassword
context=default
callerid=Softphone User <2001>
dtmfmode=rfc2833
disallow=all
allow=ulaw
allow=alaw

در اینجا:

  • type=friend: دستگاه نرم‌افزاری می‌تواند تماس‌های ورودی و خروجی برقرار کند.
  • host=dynamic: نرم‌افزار SIP به‌طور پویا از سرور IP دریافت می‌کند.
  • secret: رمز عبور برای اتصال به سرور SIP.
  • context=default: تعیین مسیر تماس‌ها.

این تنظیمات باید برای هر دستگاه نرم‌افزاری که می‌خواهید به سیستم متصل کنید، تکرار شوند.


3. پیکربندی SIP Extension

یکی از رایج‌ترین روش‌ها برای پیکربندی Extensions در Issabel، استفاده از پروتکل SIP است. تنظیمات مربوط به SIP Extensions در فایل sip.conf و همچنین در فایل extensions.conf انجام می‌شود.

پیکربندی SIP Extension در sip.conf

برای مثال، فرض کنید می‌خواهیم یک SIP Extension به شماره 3000 برای کاربر SIPUser ایجاد کنیم:

[SIPUser]
type=friend
secret=somepassword
host=dynamic
context=default
callerid="SIP User" <3000>
dtmfmode=rfc2833
disallow=all
allow=ulaw
allow=alaw

توضیحات:

  • type=friend: این Extension برای هر دو تماس ورودی و خروجی استفاده می‌شود.
  • secret: رمز عبور برای اتصال SIP.
  • host=dynamic: IP دستگاه به‌طور پویا از سرور دریافت می‌شود.
  • context=default: تعیین مسیر تماس‌ها.
  • callerid=”SIP User” <3000>: شناسه تماس.

این فایل معمولاً در مسیر /etc/asterisk/sip.conf قرار دارد.


4. پیکربندی Extension برای ارتباط با IAX (IAX Extension)

در صورتی که از پروتکل IAX (Inter-Asterisk eXchange) برای Extensions استفاده کنید، تنظیمات در فایل iax.conf انجام می‌شود. IAX یک پروتکل برای ارتباطات میان سرورهای Asterisk است.

پیکربندی IAX Extension در iax.conf
[2000]
type=friend
secret=somepassword
host=dynamic
context=default
callerid="IAX User" <2000>
dtmfmode=rfc2833
disallow=all
allow=ulaw
allow=alaw

توضیحات:

  • type=friend: این Extension برای تماس‌های ورودی و خروجی قابل استفاده است.
  • secret: رمز عبور.
  • host=dynamic: دستگاه به‌طور پویا از سرور IP دریافت می‌کند.
  • context=default: مسیر تماس‌ها.

این فایل معمولاً در مسیر /etc/asterisk/iax.conf قرار دارد.


5. تنظیمات مربوط به فایل extensions.conf

در فایل extensions.conf که مسئول مسیریابی تماس‌ها است، باید به‌طور خاص برای هر Extension مسیر تماس‌های ورودی و خروجی را مشخص کنیم. برای مثال:

مسیریابی تماس‌ها در extensions.conf
[default]
exten => 1010,1,Dial(SIP/1010,20)
exten => 2001,1,Dial(SIP/2001,20)
exten => 3000,1,Dial(SIP/3000,20)
exten => 4000,1,Dial(IAX2/4000,20)

در این مثال:

  • برای هر شماره Extension، دستور Dial به دستگاه مربوطه (SIP یا IAX) اشاره دارد.
  • SIP/1010: تماس به شماره Extension 1010 از نوع SIP.
  • IAX2/4000: تماس به شماره Extension 4000 از نوع IAX.

این فایل معمولاً در مسیر /etc/asterisk/extensions.conf قرار دارد.


جمع‌بندی

در این بخش، نحوه پیکربندی انواع Extensions برای دستگاه‌های فیزیکی، نرم‌افزاری، SIP و IAX در Issabel توضیح داده شد. با استفاده از فایل‌های پیکربندی مانند sip.conf، iax.conf و extensions.conf، می‌توانید Extensions را برای هر نوع دستگاه یا پروتکل ایجاد و تنظیم کنید. این تنظیمات به شما امکان می‌دهند که تماس‌ها را به‌درستی مسیریابی کرده و به دستگاه‌های مختلف متصل کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیمات مربوط به رمزگذاری تماس‌ها و ویژگی‌های پیشرفته Extensions” subtitle=”توضیحات کامل”]در سیستم‌های VoIP مانند Issabel، پیکربندی صحیح رمزگذاری تماس‌ها و استفاده از ویژگی‌های پیشرفته Extensions بسیار مهم است. این تنظیمات برای تضمین امنیت ارتباطات و بهینه‌سازی عملکرد تماس‌ها به‌کار می‌روند. در این بخش، به تنظیمات مربوط به رمزگذاری تماس‌ها و ویژگی‌های پیشرفته Extensions پرداخته خواهد شد.


1. پیکربندی رمزگذاری تماس‌ها (Encryption)

رمزگذاری تماس‌ها یکی از ویژگی‌های امنیتی مهم است که برای حفاظت از محتوای تماس‌ها و جلوگیری از دسترسی غیرمجاز به داده‌ها استفاده می‌شود. برای فعال‌سازی رمزگذاری در Issabel (که بر پایه Asterisk است)، می‌توان از پروتکل‌های مختلف مانند SRTP (Secure Real-time Transport Protocol) برای رمزگذاری تماس‌ها استفاده کرد.

پیکربندی SRTP در فایل sip.conf

برای فعال‌سازی SRTP (Secure RTP) که تماس‌های SIP را رمزگذاری می‌کند، تنظیمات زیر را در فایل sip.conf انجام می‌دهیم:

[1010]
type=friend
secret=yourpassword
host=dynamic
context=default
callerid=John Doe <1010>
dtmfmode=rfc2833
disallow=all
allow=ulaw
allow=alaw
encryption=yes  ; فعال‌سازی رمزگذاری تماس
transport=udp    ; استفاده از UDP برای انتقال داده

توضیحات:

  • encryption=yes: این گزینه برای فعال‌سازی رمزگذاری SRTP برای تماس‌ها است.
  • transport=udp: استفاده از UDP برای ارسال بسته‌های داده تماس که به‌طور پیش‌فرض برای رمزگذاری استفاده می‌شود.

این فایل در مسیر /etc/asterisk/sip.conf قرار دارد.

پیکربندی رمزگذاری با استفاده از TLS در sip.conf

اگر بخواهید از رمزگذاری برای سیگنالینگ SIP استفاده کنید، باید از TLS استفاده کنید. برای تنظیم آن در فایل sip.conf، می‌توانید تنظیمات زیر را اضافه کنید:

[general]
tlsenable=yes
tlsbindaddr=0.0.0.0
tlscertfile=/etc/asterisk/keys/asterisk.pem
tlsprivatekey=/etc/asterisk/keys/asterisk.key
tlsdontverifyserver=no

توضیحات:

  • tlsenable=yes: فعال‌سازی TLS برای رمزگذاری سیگنالینگ SIP.
  • tlsbindaddr=0.0.0.0: تعیین آدرس برای اتصال به TLS.
  • tlscertfile و tlsprivatekey: مسیر فایل‌های گواهی SSL و کلید خصوصی.
  • tlsdontverifyserver=no: عدم بررسی اعتبار گواهی سرور (برای امنیت بیشتر بهتر است این گزینه را روشن نگه دارید).

این تنظیمات همچنین در مسیر /etc/asterisk/sip.conf قرار دارند.


2. ویژگی‌های پیشرفته Extensions

در پیکربندی Extensions در Issabel، می‌توانید از ویژگی‌های پیشرفته‌ای برای بهبود عملکرد تماس‌ها، مدیریت بهتر و افزایش قابلیت‌های سیستم استفاده کنید. برخی از این ویژگی‌ها عبارتند از:

1. دستورات DND (Do Not Disturb)

یکی از ویژگی‌های مفید در Extensions، قابلیت DND است که به کاربر اجازه می‌دهد تا تماس‌های ورودی را به‌طور موقت مسدود کند. برای فعال‌سازی این ویژگی، از تنظیمات زیر در فایل extensions.conf استفاده می‌کنیم:

exten => 1010,1,Dial(SIP/1010)
exten => 1010,2,NoOp(Checking DND Status)
exten => 1010,n,GotoIf($[${DND_STATUS} = 1]?dnd:normal)
exten => 1010,dnd,NoOp(DND Enabled - Call Blocked)
exten => 1010,normal,Dial(SIP/1010)

توضیحات:

  • DND_STATUS: وضعیت Do Not Disturb.
  • در صورت فعال بودن DND، تماس مسدود خواهد شد.
2. ورود به صف تماس‌ها (Queue)

برای پیکربندی Extensions به‌طور ویژه برای صف تماس‌ها (Queues)، می‌توانید از دستورات زیر استفاده کنید. این تنظیمات به شما امکان می‌دهند که Extensions را به صف‌های خاصی اختصاص دهید.

exten => 2000,1,Queue(sales-queue,t)

توضیحات:

  • Queue(sales-queue,t): Extension 2000 را به صف تماس‌های sales-queue اضافه می‌کند.
  • t: به معنی زمانی است که Extension باید بعد از پایان تماس به صف بعدی منتقل شود.
3. پیکربندی Voicemail برای Extensions

در صورتی که Extension شما از Voicemail استفاده می‌کند، تنظیمات مربوط به آن باید در فایل voicemail.conf انجام شود. به این صورت که:

[default]
1010 => 1234,John Doe,john.doe@example.com

توضیحات:

  • 1010: شماره Extension.
  • 1234: رمز عبور برای دسترسی به صندوق صوتی.
  • John Doe: نام صاحب Extension.
  • john.doe@example.com: ایمیل برای ارسال پیام‌های صوتی.

این فایل در مسیر /etc/asterisk/voicemail.conf قرار دارد.

4. پیکربندی Call Forwarding

برای انجام Call Forwarding، باید تنظیمات زیر را در extensions.conf اضافه کنید:

exten => 1010,1,Set(CALLERID(name)=John Doe)
exten => 1010,n,GotoIf($["${CALLERID(name)}" = "John Doe"]?forward,1)
exten => 1010,forward,1,Dial(SIP/2000)

توضیحات:

  • در این مثال، تماس‌های وارد شده به Extension 1010 به‌طور خودکار به Extension 2000 هدایت می‌شوند.

جمع‌بندی

در این بخش، تنظیمات مربوط به رمزگذاری تماس‌ها و ویژگی‌های پیشرفته Extensions در Issabel بررسی شد. فعال‌سازی SRTP برای رمزگذاری تماس‌ها، استفاده از TLS برای رمزگذاری سیگنالینگ SIP، و پیکربندی ویژگی‌های پیشرفته مانند DND، صف تماس‌ها (Queues)، Voicemail و Call Forwarding از جمله امکانات مهمی هستند که می‌توانند امنیت و کارایی سیستم VoIP شما را بهبود بخشند. تنظیمات این ویژگی‌ها در فایل‌های مختلف مانند sip.conf، extensions.conf و voicemail.conf انجام می‌شود که مسیر هرکدام به تفصیل در این بخش ذکر شد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”ایجاد گروه‌های Extensions برای تخصیص خطوط به گروه‌های خاص” subtitle=”توضیحات کامل”]در سیستم‌های VoIP مانند Issabel، ایجاد گروه‌های Extensions برای تخصیص خطوط به گروه‌های خاص، یک روش کارآمد برای مدیریت بهتر تماس‌ها و منابع است. با استفاده از این گروه‌ها، می‌توانید مدیریت بهتری روی تماس‌ها داشته باشید و تماس‌ها را به گروه‌های خاصی اختصاص دهید. در این بخش، به نحوه ایجاد و پیکربندی گروه‌های Extensions برای تخصیص خطوط به گروه‌های خاص پرداخته می‌شود.


1. تعریف گروه‌ها برای تخصیص Extensions

در ابتدا، باید گروه‌ها را در سیستم ایجاد کنید. این کار می‌تواند به راحتی با استفاده از دستورات Dial در فایل پیکربندی extensions.conf انجام شود. برای مثال، اگر بخواهید گروه‌های فروش، پشتیبانی و مدیریت را ایجاد کنید، می‌توانید از تنظیمات زیر استفاده کنید.

پیکربندی گروه‌های Extensions در extensions.conf

در این فایل، گروه‌ها را با استفاده از دستورات Dial و Queue مشخص می‌کنیم. برای مثال:

[general]
exten => 1000,1,Answer()  
exten => 1000,n,Dial(SIP/1001&SIP/1002&SIP/1003)
exten => 1000,n,Hangup()

[sales-group]
exten => 2000,1,Dial(SIP/2001&SIP/2002&SIP/2003)
exten => 2000,n,Hangup()

[support-group]
exten => 3000,1,Dial(SIP/3001&SIP/3002&SIP/3003)
exten => 3000,n,Hangup()

[management-group]
exten => 4000,1,Dial(SIP/4001&SIP/4002&SIP/4003)
exten => 4000,n,Hangup()

توضیحات:

  • گروه sales-group شامل Extensions 2001، 2002 و 2003 است.
  • گروه support-group شامل Extensions 3001، 3002 و 3003 است.
  • گروه management-group شامل Extensions 4001، 4002 و 4003 است.

مسیر فایل: /etc/asterisk/extensions.conf


2. استفاده از Queues برای تخصیص Extensions به گروه‌ها

یکی از روش‌های مهم برای تخصیص تماس‌ها به گروه‌ها، استفاده از Queues است. با استفاده از Queue، تماس‌ها به‌صورت خودکار به گروه‌های مختلف هدایت می‌شوند. برای تخصیص Extensionها به یک صف خاص، باید تنظیمات queues.conf را پیکربندی کنیم.

پیکربندی Queue در queues.conf

در این فایل، شما می‌توانید گروه‌های Extensions را به صف‌های خاصی اختصاص دهید:

[general]
autofill=yes

[sales-queue]
musicclass=default
strategy=ringall
timeout=15
retry=5
maxlen=0
member => SIP/2001
member => SIP/2002
member => SIP/2003

[support-queue]
musicclass=default
strategy=ringall
timeout=15
retry=5
maxlen=0
member => SIP/3001
member => SIP/3002
member => SIP/3003

[management-queue]
musicclass=default
strategy=ringall
timeout=15
retry=5
maxlen=0
member => SIP/4001
member => SIP/4002
member => SIP/4003

توضیحات:

  • در صف sales-queue تماس‌ها به Extensions 2001، 2002 و 2003 اختصاص داده می‌شود.
  • در صف support-queue تماس‌ها به Extensions 3001، 3002 و 3003 اختصاص داده می‌شود.
  • در صف management-queue تماس‌ها به Extensions 4001، 4002 و 4003 اختصاص داده می‌شود.

مسیر فایل: /etc/asterisk/queues.conf


3. تعریف گروه‌های Extension در پیکربندی SIP

برای اختصاص Extensions به گروه‌های خاص در پیکربندی SIP نیز می‌توان تنظیمات خاصی انجام داد. در فایل sip.conf، می‌توانید هر Extension را به یک گروه مشخص نسبت دهید و سپس آن را در گروه‌های خاصی قرار دهید.

پیکربندی SIP برای اختصاص Extension به گروه‌ها در sip.conf
[general]
context=default
bindaddr=0.0.0.0
bindport=5060

[2001]
type=friend
secret=yourpassword
host=dynamic
context=sales-group

[2002]
type=friend
secret=yourpassword
host=dynamic
context=sales-group

[3001]
type=friend
secret=yourpassword
host=dynamic
context=support-group

[3002]
type=friend
secret=yourpassword
host=dynamic
context=support-group

[4001]
type=friend
secret=yourpassword
host=dynamic
context=management-group

[4002]
type=friend
secret=yourpassword
host=dynamic
context=management-group

توضیحات:

  • هر Extension به‌طور خاص به گروه sales-group، support-group یا management-group اختصاص داده می‌شود.
  • این تنظیمات در context هر Extension تعیین می‌شود.

مسیر فایل: /etc/asterisk/sip.conf


4. **ارتباط گروه‌ها با Call Routing و IVR

برای ارتباط گروه‌ها با Call Routing یا سیستم IVR (Interactive Voice Response)، باید به تنظیمات extensions.conf توجه کنید. به‌طور معمول، می‌توانید تماس‌های وارد شده را به گروه‌های مختلف با توجه به نیاز ارسال کنید.

پیکربندی Call Routing برای گروه‌ها در extensions.conf
[default]
exten => 1000,1,Answer()
exten => 1000,n,Background(welcome)
exten => 1000,n,WaitExten()

exten => 1,1,Goto(sales-group,2000,1)
exten => 2,1,Goto(support-group,3000,1)
exten => 3,1,Goto(management-group,4000,1)

توضیحات:

  • تماس‌ها به Extension 1000 هدایت می‌شوند و سپس بر اساس انتخاب وارد گروه‌های مختلف می‌شوند.
  • گزینه 1 تماس‌ها را به گروه فروش sales-group هدایت می‌کند.
  • گزینه 2 تماس‌ها را به گروه پشتیبانی support-group هدایت می‌کند.
  • گزینه 3 تماس‌ها را به گروه مدیریت management-group هدایت می‌کند.

مسیر فایل: /etc/asterisk/extensions.conf


جمع‌بندی

در این بخش، نحوه ایجاد گروه‌های Extensions برای تخصیص خطوط به گروه‌های خاص در سیستم Issabel توضیح داده شد. با استفاده از پیکربندی‌های SIP، Queue و extensions.conf، می‌توانید به‌طور موثر تماس‌ها را به گروه‌های مختلف اختصاص دهید. این تنظیمات به شما امکان می‌دهند تا تماس‌ها را به گروه‌های خاص اختصاص دهید و مدیریت بهتری روی منابع و تماس‌ها داشته باشید. مسیر هر فایل و کدهای لازم برای پیکربندی به تفصیل آورده شد تا بتوانید به راحتی از این تنظیمات استفاده کنید.[/cdb_course_lesson][cdb_course_lesson title=”فصل 5. پیکربندی Dial Plan”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”مفهوم Dial Plan و اهمیت آن در مدیریت تماس‌ها” subtitle=”توضیحات کامل”]Dial Plan به مجموعه‌ای از قوانین و پیکربندی‌ها گفته می‌شود که نحوه مسیریابی تماس‌ها، شماره‌گیری، پردازش تماس‌ها و ویژگی‌های مختلف سیستم تلفنی را تعیین می‌کند. در سیستم‌های VoIP مانند Issabel، Dial Plan به شما این امکان را می‌دهد که تماس‌ها را به‌طور دقیق مدیریت کنید و اطمینان حاصل کنید که تماس‌ها به درستی به مقصد مناسب هدایت می‌شوند. Dial Plan‌ها در فایل‌های extensions.conf و sip.conf تنظیم می‌شوند و می‌توانند به‌صورت ساده یا پیچیده برای مدیریت تماس‌ها استفاده شوند.


1. ساختار کلی Dial Plan

Dial Plan شامل قوانینی است که نحوه برخورد با شماره‌ها، مسیریابی تماس‌ها و تخصیص منابع را تعریف می‌کند. این قوانین می‌توانند به‌طور کامل در فایل extensions.conf تعریف شوند. در این فایل، می‌توانید شماره‌گیری را برای گروه‌ها، کاربران خاص، مسیریابی تماس‌های داخلی و خارجی، و همچنین تنظیمات پیشرفته مانند مسیریابی تماس‌ها بر اساس زمان (Time Conditions) تنظیم کنید.

پیکربندی Dial Plan در extensions.conf

در فایل extensions.conf، قوانین Dial Plan تعریف می‌شود. به‌طور معمول، این قوانین شامل موارد زیر هستند:

  • درخواست‌های ورودی: چگونه تماس‌ها وارد سیستم شوند.
  • درخواست‌های خروجی: چگونه تماس‌ها از سیستم خارج شوند.
  • مسیریابی بر اساس شرایط خاص: تماس‌ها براساس زمان، گروه یا شرایط دیگر مسیریابی می‌شوند.
[general]
exten => 1000,1,Answer()  
exten => 1000,n,Dial(SIP/1001&SIP/1002)
exten => 1000,n,Hangup()

[default]
exten => 1,1,Goto(sales-group,2000,1)
exten => 2,1,Goto(support-group,3000,1)
exten => 3,1,Goto(management-group,4000,1)

توضیحات:

  • تماس‌های ورودی به Extension 1000 ابتدا پاسخ داده می‌شوند و سپس به Extensions 1001 و 1002 هدایت می‌شوند.
  • در [default]، تماس‌ها به گروه‌های مختلف هدایت می‌شوند. به‌عنوان مثال، گزینه 1 تماس‌ها را به گروه فروش sales-group هدایت می‌کند.

مسیر فایل: /etc/asterisk/extensions.conf


2. مسیریابی تماس‌ها و مدیریت زمان در Dial Plan

یکی از ویژگی‌های مهم Dial Plan، مسیریابی تماس‌ها براساس زمان است. برای مثال، شما می‌توانید تماس‌ها را در ساعات کاری به یک گروه هدایت کنید و در ساعات غیر کاری به یک صندوق پستی (Voicemail) یا گروه دیگری هدایت کنید.

پیکربندی مسیریابی تماس‌ها بر اساس زمان در extensions.conf

در این مثال، تماس‌ها در ساعات کاری به گروه فروش و در ساعات غیرکاری به صندوق پستی هدایت می‌شوند.

[general]
exten => 1000,1,Answer()
exten => 1000,n,GotoIfTime(09:00-18:00,mon-fri,*,*?sales-group,s,1)
exten => 1000,n,Goto(voicemail,s,1)

[sales-group]
exten => s,1,Dial(SIP/1001&SIP/1002)
exten => s,n,Hangup()

[voicemail]
exten => s,1,Voicemail(1000@default)
exten => s,n,Hangup()

توضیحات:

  • تماس‌ها از Extension 1000 بررسی می‌شوند و اگر در ساعات کاری (09:00 تا 18:00) در روزهای دوشنبه تا جمعه باشند، به گروه فروش هدایت می‌شوند.
  • در غیر این صورت، تماس‌ها به voicemail هدایت می‌شوند.

مسیر فایل: /etc/asterisk/extensions.conf


3. گروه‌بندی Extensions در Dial Plan

Dial Plan به شما این امکان را می‌دهد که Extensions مختلف را در گروه‌های خاص قرار دهید و مسیریابی تماس‌ها را برای هر گروه تنظیم کنید. برای مثال، می‌توانید یک گروه فروش ایجاد کرده و تماس‌ها را بر اساس نیاز به این گروه ارسال کنید.

پیکربندی گروه‌بندی Extensions در extensions.conf
[sales-group]
exten => 2000,1,Dial(SIP/2001&SIP/2002&SIP/2003)
exten => 2000,n,Hangup()

[support-group]
exten => 3000,1,Dial(SIP/3001&SIP/3002&SIP/3003)
exten => 3000,n,Hangup()

[management-group]
exten => 4000,1,Dial(SIP/4001&SIP/4002&SIP/4003)
exten => 4000,n,Hangup()

توضیحات:

  • تماس‌ها برای گروه فروش به Extensions 2001، 2002 و 2003 هدایت می‌شود.
  • گروه پشتیبانی تماس‌ها را به Extensions 3001، 3002 و 3003 هدایت می‌کند.
  • گروه مدیریت تماس‌ها را به Extensions 4001، 4002 و 4003 هدایت می‌کند.

مسیر فایل: /etc/asterisk/extensions.conf


4. مسیریابی تماس‌های بین‌المللی (Outbound Dialing)

در برخی مواقع، نیاز دارید تماس‌های بین‌المللی را از تماس‌های داخلی جدا کنید و قوانین خاصی برای آن‌ها ایجاد کنید. در این حالت، می‌توانید Dial Plan را برای تماس‌های بین‌المللی به‌طور خاص پیکربندی کنید.

پیکربندی مسیریابی تماس‌های بین‌المللی در extensions.conf
[outbound-international]
exten => _00X.,1,Dial(SIP/VoIPProvider/${EXTEN})
exten => _00X.,n,Hangup()

توضیحات:

  • تمامی تماس‌های بین‌المللی که با 00 شروع می‌شوند به سرویس‌دهنده VoIP (در اینجا با نام VoIPProvider) هدایت می‌شوند.

مسیر فایل: /etc/asterisk/extensions.conf


5. استفاده از Dial Plan برای تخصیص منابع و محدودیت‌ها

با استفاده از Dial Plan، می‌توانید محدودیت‌هایی برای تعداد تماس‌ها یا زمان‌ تماس‌های ورودی و خروجی اعمال کنید. برای مثال، شما می‌توانید حداقل زمان برای تماس‌ها را مشخص کنید یا تعداد همزمان تماس‌ها را محدود کنید.

پیکربندی محدودیت تماس در extensions.conf
[general]
exten => 1000,1,Answer()
exten => 1000,n,Set(TIMEOUT(absolute)=300)  ; محدودیت زمان تماس به 300 ثانیه
exten => 1000,n,Dial(SIP/1001&SIP/1002)
exten => 1000,n,Hangup()

توضیحات:

  • تماس‌های ورودی به Extension 1000 به‌طور خودکار پس از 300 ثانیه قطع می‌شوند.

مسیر فایل: /etc/asterisk/extensions.conf


جمع‌بندی

مفهوم Dial Plan در سیستم‌های تلفنی VoIP مانند Issabel، نقش بسیار مهمی در مدیریت تماس‌ها و مسیریابی تماس‌ها دارد. این سیستم به شما این امکان را می‌دهد که تماس‌ها را بر اساس قوانین خاص هدایت کرده، شرایط خاص را اعمال کرده و منابع را تخصیص دهید. با پیکربندی دقیق Dial Plan در فایل‌های extensions.conf و sip.conf، می‌توانید تماس‌های ورودی و خروجی را به‌طور مؤثر مدیریت کرده و به نیازهای کسب‌وکار خود پاسخ دهید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”نحوه تعریف و پیکربندی Dial Plan در Issabel” subtitle=”توضیحات کامل”]در سیستم‌های تلفنی VoIP مانند Issabel, Dial Plan مجموعه‌ای از قوانین و دستوراتی است که نحوه مسیریابی تماس‌ها، اعمال محدودیت‌ها، شرایط مختلف تماس‌ها، و مدیریت مسیرهای خروجی و ورودی تماس‌ها را تعیین می‌کند. Dial Plan به‌طور معمول در فایل‌های extensions.conf و sip.conf پیکربندی می‌شود و می‌تواند شامل قوانین مختلفی برای مسیریابی تماس‌ها، ویژگی‌های تماس، و شرایط خاص باشد.

در ادامه، نحوه تعریف و پیکربندی Dial Plan در Issabel به‌طور گام‌به‌گام توضیح داده می‌شود.


1. پیکربندی Dial Plan در extensions.conf

در فایل extensions.conf، قوانین Dial Plan برای مسیریابی تماس‌ها و ویژگی‌های آن‌ها تعریف می‌شود. این فایل معمولاً به دو بخش تقسیم می‌شود:

  • [general]: تنظیمات کلی
  • [default]: تماس‌های پیش‌فرض و مسیریابی‌ها
مثال 1: تنظیم Dial Plan ساده برای تماس‌های داخلی و خارجی

در این مثال، تماس‌ها به صورت داخلی به Extensions مختلف هدایت می‌شوند و تماس‌های خارجی از طریق یک SIP Trunk مسیریابی می‌شوند.

[general]
exten => 1000,1,Answer()  
exten => 1000,n,Dial(SIP/1001&SIP/1002)
exten => 1000,n,Hangup()

[default]
exten => _9XXX,1,Dial(SIP/VoIPProvider/${EXTEN})
exten => _9XXX,n,Hangup()

توضیحات:

  • در بخش [general]، تماس‌های ورودی به Extension 1000 پاسخ داده شده و سپس به Extensions 1001 و 1002 هدایت می‌شوند.
  • در بخش [default]، تماس‌های خروجی که با عدد 9 شروع می‌شوند (که معمولاً برای تماس‌های خارجی است) به Trunk VoIPProvider هدایت می‌شوند.

مسیر فایل: /etc/asterisk/extensions.conf


2. مسیریابی تماس‌های خروجی (Outbound Calls)

در سیستم Issabel، می‌توانید تماس‌های خروجی را برای شماره‌های خاص یا با شرایط خاص مسیریابی کنید. به‌عنوان مثال، تماس‌های بین‌المللی را به یک سرویس‌دهنده VoIP خاص هدایت کنید.

مثال 2: مسیریابی تماس‌های بین‌المللی به یک Trunk خاص
[outbound]
exten => _00X.,1,Dial(SIP/VoIPProvider/${EXTEN})
exten => _00X.,n,Hangup()

توضیحات:

  • تماس‌هایی که با 00 شروع می‌شوند (که معمولاً برای تماس‌های بین‌المللی است) به Trunk VoIPProvider هدایت می‌شوند.

مسیر فایل: /etc/asterisk/extensions.conf


3. استفاده از شرایط زمانی (Time Conditions)

یکی از ویژگی‌های قدرتمند Dial Plan، استفاده از شرایط زمانی برای مسیریابی تماس‌ها است. با استفاده از GotoIfTime می‌توانید تماس‌ها را بر اساس زمان مشخص هدایت کنید.

مثال 3: مسیریابی تماس‌ها بر اساس زمان

در این مثال، تماس‌های ورودی در ساعات کاری به یک گروه فروش هدایت می‌شوند و در ساعات غیرکاری به صندوق پستی.

[general]
exten => 1000,1,Answer()
exten => 1000,n,GotoIfTime(09:00-18:00,mon-fri,*,*?sales-group,s,1)
exten => 1000,n,Goto(voicemail,s,1)

[sales-group]
exten => s,1,Dial(SIP/1001&SIP/1002)
exten => s,n,Hangup()

[voicemail]
exten => s,1,Voicemail(1000@default)
exten => s,n,Hangup()

توضیحات:

  • تماس‌ها به Extension 1000 بررسی می‌شوند. اگر در ساعات کاری (09:00 تا 18:00) در روزهای دوشنبه تا جمعه باشند، به گروه فروش هدایت می‌شوند.
  • در غیر این صورت، تماس‌ها به صندوق پستی voicemail هدایت می‌شوند.

مسیر فایل: /etc/asterisk/extensions.conf


4. محدودیت تعداد تماس‌ها و زمان تماس‌ها

در Dial Plan، می‌توانید محدودیت‌هایی برای تعداد همزمان تماس‌ها یا مدت زمان هر تماس اعمال کنید. این کار برای جلوگیری از بار زیاد بر روی سیستم مفید است.

مثال 4: محدودیت زمانی برای تماس‌ها
[general]
exten => 1000,1,Answer()
exten => 1000,n,Set(TIMEOUT(absolute)=300)  ; محدودیت زمان تماس به 300 ثانیه
exten => 1000,n,Dial(SIP/1001&SIP/1002)
exten => 1000,n,Hangup()

توضیحات:

  • تماس‌ها به Extension 1000 به‌طور خودکار پس از 300 ثانیه قطع می‌شوند.

مسیر فایل: /etc/asterisk/extensions.conf


5. گروه‌بندی Extensions در Dial Plan

شما می‌توانید Extensions مختلف را در گروه‌های خاص قرار دهید و تماس‌ها را براساس گروه‌ها مدیریت کنید.

مثال 5: گروه‌بندی Extensions برای گروه‌های مختلف
[sales-group]
exten => 2000,1,Dial(SIP/2001&SIP/2002&SIP/2003)
exten => 2000,n,Hangup()

[support-group]
exten => 3000,1,Dial(SIP/3001&SIP/3002&SIP/3003)
exten => 3000,n,Hangup()

[management-group]
exten => 4000,1,Dial(SIP/4001&SIP/4002&SIP/4003)
exten => 4000,n,Hangup()

توضیحات:

  • تماس‌ها به گروه‌های مختلف بر اساس Extension‌های مختلف هدایت می‌شوند.

مسیر فایل: /etc/asterisk/extensions.conf


6. استفاده از Context‌ها برای جداسازی تماس‌ها

Context‌ها در Dial Plan به شما این امکان را می‌دهند که تماس‌ها را براساس دسترسی‌ها و اولویت‌ها مدیریت کنید. برای مثال، تماس‌های داخلی و خارجی می‌توانند در Context‌های جداگانه تعریف شوند.

مثال 6: استفاده از Context برای تماس‌های داخلی و خارجی
[internal]
exten => 1000,1,Dial(SIP/1001)
exten => 1000,n,Hangup()

[external]
exten => _9XXX,1,Dial(SIP/VoIPProvider/${EXTEN})
exten => _9XXX,n,Hangup()

توضیحات:

  • تماس‌های داخلی در Context internal و تماس‌های خارجی در Context external قرار دارند.

مسیر فایل: /etc/asterisk/extensions.conf


جمع‌بندی

تعریف و پیکربندی Dial Plan در Issabel نقش مهمی در مسیریابی تماس‌ها، تخصیص منابع، و تنظیمات پیشرفته برای مدیریت تماس‌ها دارد. با استفاده از فایل‌های extensions.conf، می‌توان تماس‌ها را براساس زمان، گروه‌بندی Extensions، و محدودیت‌های زمانی یا تعداد تماس‌ها مدیریت کرد. همچنین، با استفاده از Context‌ها می‌توانید تماس‌های مختلف را از یکدیگر جدا کنید و هر یک را با تنظیمات خاص خود پیکربندی کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”پیکربندی تنظیمات Dial Plan برای مسیردهی تماس‌ها” subtitle=”توضیحات کامل”]Dial Plan یا برنامه شماره‌گیری مجموعه‌ای از قواعد است که نحوه مسیردهی تماس‌ها، انجام عملیات خاص روی آن‌ها و اعمال محدودیت‌ها را در سیستم تلفنی مدیریت می‌کند. در Issabel، این تنظیمات در فایل‌هایی مانند extensions.conf و sip.conf اعمال می‌شود.

در این بخش، نحوه پیکربندی Dial Plan برای مسیردهی تماس‌ها در سیستم Issabel، شامل تنظیمات برای مسیریابی تماس‌های ورودی، خروجی و تماس‌های بین‌المللی شرح داده خواهد شد.


1. پیکربندی مسیردهی تماس‌های ورودی (Inbound Routing)

برای مسیریابی تماس‌های ورودی، باید تنظیمات لازم در فایل extensions.conf انجام شود. در این تنظیمات، تماس‌ها از یک ورودی خاص گرفته شده و بر اساس Extension یا گروهی از Extensions مسیردهی می‌شوند.

مثال 1: مسیردهی تماس‌های ورودی به Extensions مختلف
[general]
exten => 1000,1,Answer()  
exten => 1000,n,Dial(SIP/1001&SIP/1002)
exten => 1000,n,Hangup()

[incoming]
exten => 1234567890,1,Answer()  ; شماره ورودی برای تماس
exten => 1234567890,n,Dial(SIP/1000)  ; تماس به Extension 1000
exten => 1234567890,n,Hangup()

توضیحات:

  • تماس‌هایی که از شماره ورودی 1234567890 می‌آیند به Extension 1000 هدایت می‌شوند.
  • تماس‌ها پس از اتصال به Extension 1000، قطع می‌شوند.

مسیر فایل: /etc/asterisk/extensions.conf


2. مسیریابی تماس‌های خروجی (Outbound Routing)

در تنظیمات تماس‌های خروجی، شما باید تماس‌ها را براساس شماره‌گیری (مثلاً تماس‌های محلی، داخلی، یا بین‌المللی) به یک سرویس‌دهنده VoIP یا ترانک خاص هدایت کنید.

مثال 2: مسیردهی تماس‌های خروجی به SIP Trunk
[outbound]
exten => _9XXX,1,Dial(SIP/VoIPProvider/${EXTEN})  ; تماس‌های خروجی به سرویس‌دهنده VoIP
exten => _9XXX,n,Hangup()

توضیحات:

  • تماس‌هایی که با 9 شروع می‌شوند به ترانک VoIPProvider هدایت می‌شوند.
  • ${EXTEN} به شماره‌ای اشاره دارد که کاربر برای تماس گرفتن وارد کرده است.

مسیر فایل: /etc/asterisk/extensions.conf


3. استفاده از زمان برای مسیردهی تماس‌ها (Time-based Routing)

می‌توانید مسیردهی تماس‌ها را بر اساس ساعت و روز تنظیم کنید. برای مثال، تماس‌ها در ساعات کاری به یک گروه خاص هدایت شوند و در ساعات غیرکاری به صندوق صوتی.

مثال 3: مسیردهی تماس‌ها بر اساس زمان
[general]
exten => 1000,1,Answer()
exten => 1000,n,GotoIfTime(09:00-18:00,mon-fri,*,*?sales-group,s,1)
exten => 1000,n,Goto(voicemail,s,1)

[sales-group]
exten => s,1,Dial(SIP/1001&SIP/1002)
exten => s,n,Hangup()

[voicemail]
exten => s,1,Voicemail(1000@default)
exten => s,n,Hangup()

توضیحات:

  • تماس‌ها در ساعت‌های کاری (09:00 تا 18:00 از دوشنبه تا جمعه) به گروه sales-group هدایت می‌شوند.
  • در غیر این صورت، تماس‌ها به صندوق صوتی voicemail هدایت می‌شوند.

مسیر فایل: /etc/asterisk/extensions.conf


4. مسیریابی تماس‌های بین‌المللی (International Routing)

در صورت نیاز به مسیردهی تماس‌های بین‌المللی به یک سرویس‌دهنده VoIP خاص، می‌توانید تماس‌ها را براساس کدهای کشور یا پیش‌شماره‌ها مسیردهی کنید.

مثال 4: مسیردهی تماس‌های بین‌المللی به یک Trunk خاص
[international]
exten => _00X.,1,Dial(SIP/VoIPProvider/${EXTEN})  ; تماس‌های بین‌المللی با پیش‌شماره 00
exten => _00X.,n,Hangup()

توضیحات:

  • تماس‌هایی که با 00 شروع می‌شوند (که معمولاً برای تماس‌های بین‌المللی است) به ترانک VoIPProvider هدایت می‌شوند.

مسیر فایل: /etc/asterisk/extensions.conf


5. مسیریابی تماس‌های داخلی (Internal Routing)

تماس‌های داخلی معمولاً به Extensions مختلف در سیستم هدایت می‌شوند. برای مسیریابی تماس‌های داخلی، کافیست شماره‌گیری‌های داخلی را به Extensions اختصاص دهید.

مثال 5: مسیردهی تماس‌های داخلی به Extensions
[internal]
exten => 1001,1,Dial(SIP/1001)  ; تماس به Extension 1001
exten => 1001,n,Hangup()

exten => 1002,1,Dial(SIP/1002)  ; تماس به Extension 1002
exten => 1002,n,Hangup()

توضیحات:

  • تماس‌های داخلی به Extension‌های 1001 و 1002 هدایت می‌شوند.

مسیر فایل: /etc/asterisk/extensions.conf


6. استفاده از Context‌ها برای مدیریت تماس‌ها

Context‌ها در Dial Plan به شما این امکان را می‌دهند که تماس‌ها را به دسته‌های مختلف تقسیم کنید و برای هر دسته، قوانین خاص خود را اعمال کنید.

مثال 6: استفاده از Context برای مسیردهی تماس‌ها
[internal]
exten => 1001,1,Dial(SIP/1001)
exten => 1001,n,Hangup()

[external]
exten => _9XXX,1,Dial(SIP/VoIPProvider/${EXTEN})
exten => _9XXX,n,Hangup()

توضیحات:

  • تماس‌های داخلی در Context internal و تماس‌های خارجی در Context external قرار دارند.

مسیر فایل: /etc/asterisk/extensions.conf


جمع‌بندی

پیکربندی Dial Plan در Issabel به شما این امکان را می‌دهد که تماس‌ها را بر اساس شرایط مختلف مسیریابی کنید. این تنظیمات می‌تواند شامل تماس‌های ورودی، خروجی، داخلی، یا تماس‌های بین‌المللی باشد. علاوه بر این، می‌توان از زمان، Context‌ها و محدودیت‌های مختلف برای مدیریت تماس‌ها استفاده کرد. این ویژگی‌ها به‌طور کامل در فایل extensions.conf پیکربندی می‌شوند و امکان انعطاف‌پذیری و کنترل دقیق بر روی تماس‌ها را فراهم می‌آورند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”استفاده از الگوهای شماره‌گیری و محدودیت‌های تماس در Dial Plan” subtitle=”توضیحات کامل”]در سیستم‌های تلفنی مانند Issabel، استفاده از الگوهای شماره‌گیری (Dial Patterns) و اعمال محدودیت‌های تماس نقش مهمی در مدیریت تماس‌ها و بهینه‌سازی منابع دارد. با استفاده از این الگوها می‌توان تماس‌ها را بر اساس شرایط خاص مسیریابی کرده و محدودیت‌هایی برای کنترل هزینه‌ها یا استفاده بهینه از منابع اعمال کرد.


1. الگوهای شماره‌گیری (Dial Patterns)

الگوهای شماره‌گیری یا Dial Patterns مجموعه‌ای از قواعد است که برای شماره‌گیری از آن‌ها استفاده می‌شود. این الگوها به شما این امکان را می‌دهند که شماره‌گیری‌ها را به‌طور دقیق بر اساس الگوهایی خاص (مانند کدهای شهری، پیش‌شماره‌های خاص، یا شماره‌های داخلی) مسیریابی کنید.

در فایل extensions.conf، می‌توانید الگوهای مختلف را برای مسیردهی تماس‌های ورودی یا خروجی پیکربندی کنید.

مثال 1: استفاده از الگوی شماره‌گیری برای مسیردهی تماس‌های ورودی
[incoming]
exten => _1234XXXXXX,1,Answer()  ; تماس‌های ورودی با پیش‌شماره 1234
exten => _1234XXXXXX,n,Dial(SIP/1000)
exten => _1234XXXXXX,n,Hangup()

توضیحات:

  • تماس‌هایی که با پیش‌شماره 1234 شروع می‌شوند و طول شماره ۷ رقم دارند (مانند 1234123456)، به Extension 1000 هدایت می‌شوند.

مسیر فایل: /etc/asterisk/extensions.conf

مثال 2: مسیردهی تماس‌های خروجی با استفاده از الگوی شماره‌گیری
[outbound]
exten => _9NXXXXXX,1,Dial(SIP/VoIPProvider/${EXTEN})  ; تماس‌های خروجی محلی با پیش‌شماره 9
exten => _9NXXXXXX,n,Hangup()

توضیحات:

  • تماس‌هایی که با 9 شروع می‌شوند و پس از آن ۷ رقم دیگر دارند (مثلاً 9123456789) به ترانک VoIPProvider هدایت می‌شوند.

مسیر فایل: /etc/asterisk/extensions.conf


2. محدودیت‌های تماس (Call Restrictions)

محدودیت‌های تماس به شما این امکان را می‌دهند که تماس‌ها را بر اساس برخی شرایط محدود کنید. این محدودیت‌ها می‌توانند شامل مسیریابی تماس‌ها بر اساس زمان، نوع تماس (مثلاً تماس‌های بین‌المللی یا داخلی)، یا محدودیت در تعداد شماره‌های تماس باشند.

مثال 3: محدود کردن تماس‌های بین‌المللی

می‌توانید تماس‌های بین‌المللی را به ترانک خاصی هدایت کرده و محدودیت‌هایی برای آن‌ها اعمال کنید.

[international]
exten => _00X.,1,Answer()
exten => _00X.,n,Dial(SIP/VoIPProvider/${EXTEN})
exten => _00X.,n,Hangup()

توضیحات:

  • تماس‌هایی که با 00 شروع می‌شوند (که معمولاً برای تماس‌های بین‌المللی است) به ترانک VoIPProvider هدایت می‌شوند.

مسیر فایل: /etc/asterisk/extensions.conf

مثال 4: محدود کردن تماس‌های خاص بر اساس روز و زمان

شما می‌توانید تماس‌ها را بر اساس زمان و روز محدود کنید. به‌عنوان مثال، تماس‌ها در ساعات کاری فقط به یک گروه خاص هدایت شوند.

[work-hours]
exten => _X.,1,GotoIfTime(09:00-17:00,mon-fri,*,*?business-hours,s,1)
exten => _X.,n,Hangup()

[business-hours]
exten => s,1,Dial(SIP/1000&SIP/1001)
exten => s,n,Hangup()

توضیحات:

  • تماس‌ها در ساعات کاری (09:00 تا 17:00 از دوشنبه تا جمعه) به گروه business-hours هدایت می‌شوند. سایر تماس‌ها قطع می‌شوند.

مسیر فایل: /etc/asterisk/extensions.conf


3. محدودیت‌های مصرف و تخصیص منابع (Call Limitations)

در برخی مواقع ممکن است بخواهید تماس‌ها را به‌طور محدود مسیردهی کرده یا محدودیت‌های خاصی روی منابع و هزینه‌ها اعمال کنید. برای مثال، می‌توانید تعداد تماس‌های همزمان را محدود کرده یا مدت زمان تماس‌ها را تنظیم کنید.

مثال 5: محدود کردن تعداد تماس‌های همزمان

می‌توانید تعداد تماس‌های همزمان را برای هر Extension یا ترانک محدود کنید.

[outbound]
exten => _9X.,1,Set(CHANNEL(limit)=3)  ; محدود کردن تعداد تماس‌های همزمان به 3
exten => _9X.,n,Dial(SIP/VoIPProvider/${EXTEN})
exten => _9X.,n,Hangup()

توضیحات:

  • تعداد تماس‌های همزمان برای شماره‌گیری‌های خروجی محدود به ۳ می‌شود.

مسیر فایل: /etc/asterisk/extensions.conf


4. استفاده از Restrictions برای مدیریت هزینه‌ها

در برخی موارد، می‌خواهید تماس‌ها را براساس تعرفه‌های مختلف محدود کنید. می‌توانید با استفاده از restrictions تماس‌ها را به ترانک‌های خاص هدایت کنید که تعرفه‌های ویژه دارند.

مثال 6: محدود کردن تماس‌های ویژه به ترانک خاص
[restricted]
exten => _9X.,1,Set(CALLERID(num)=restricted)  ; تماس‌ها با شماره ویژه
exten => _9X.,n,Dial(SIP/VoIPProvider/${EXTEN})
exten => _9X.,n,Hangup()

توضیحات:

  • تماس‌هایی که از 9 شروع می‌شوند به ترانک ویژه VoIPProvider هدایت می‌شوند و برای آن‌ها یک شماره ویژه به عنوان Caller ID اعمال می‌شود.

مسیر فایل: /etc/asterisk/extensions.conf


5. الگوهای شماره‌گیری پیشرفته با متغیرها

برای مدیریت دقیق‌تر تماس‌ها می‌توانید از متغیرها و دستورات پیچیده‌تر استفاده کنید.

مثال 7: استفاده از متغیرهای پیشرفته در الگوهای شماره‌گیری
[advanced-patterns]
exten => _X.,1,Set(CALLERID(num)=${EXTEN})
exten => _X.,n,Set(DIALSTATUS=IN_PROGRESS)
exten => _X.,n,Dial(SIP/VoIPProvider/${EXTEN},60)  ; استفاده از متغیر ${EXTEN}
exten => _X.,n,Hangup()

توضیحات:

  • متغیر ${EXTEN} به‌طور خودکار شماره‌گیری شده را گرفته و آن را در داخل فرایند شماره‌گیری استفاده می‌کند.

مسیر فایل: /etc/asterisk/extensions.conf


جمع‌بندی

استفاده از الگوهای شماره‌گیری و محدودیت‌های تماس در Dial Plan به شما این امکان را می‌دهد که تماس‌ها را بر اساس شرایط مختلف مسیریابی کرده و برای هر نوع تماس محدودیت‌هایی اعمال کنید. این ویژگی‌ها در مدیریت تماس‌ها بسیار مفید بوده و به شما کمک می‌کنند تا کنترل دقیق‌تری بر روی هزینه‌ها و منابع سیستم داشته باشید. تنظیمات این الگوها و محدودیت‌ها معمولاً در فایل extensions.conf اعمال می‌شوند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 6. تنظیمات ورود و خروج تماس‌ها”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”نحوه پیکربندی تماس‌های ورودی (Inbound Routes) و تماس‌های خروجی (Outbound Routes)” subtitle=”توضیحات کامل”]در سیستم تلفنی Issabel، پیکربندی تماس‌های ورودی و خروجی یکی از بخش‌های کلیدی مدیریت تماس‌هاست. تماس‌های ورودی (Inbound Routes) برای مسیریابی تماس‌های دریافت‌شده از ترانک‌ها به سمت Extension ها، گروه‌ها یا سیستم‌های داخلی استفاده می‌شود. تماس‌های خروجی (Outbound Routes) برای مسیریابی تماس‌هایی که از Extensions به سمت ترانک‌ها یا مقصدهای خارجی ارسال می‌شوند، به کار می‌روند. تنظیمات صحیح این مسیرها برای بهره‌برداری بهینه از سیستم اهمیت زیادی دارد.


1. پیکربندی تماس‌های ورودی (Inbound Routes)

برای پیکربندی تماس‌های ورودی در Issabel، باید Inbound Routes را به‌طور صحیح تعریف کنید تا تماس‌ها به درستی به سمت Extensions یا گروه‌ها هدایت شوند.

مراحل پیکربندی:
  1. وارد کنسول Issabel شوید.
  2. به بخش PBX رفته و سپس به قسمت Inbound Routes بروید.
  3. در اینجا می‌توانید Route Name را تعریف کنید و Destination (مقصد) را انتخاب کنید.
مثال 1: مسیریابی تماس ورودی به یک Extension خاص

برای مسیریابی تماس‌های ورودی به یک Extension خاص، می‌توانید تنظیمات زیر را در فایل extensions.conf اعمال کنید.

[incoming]
exten => _X.,1,Answer()
exten => _X.,n,Dial(SIP/1000)  ; تماس ورودی به Extension 1000 هدایت می‌شود
exten => _X.,n,Hangup()

توضیحات:

  • هر تماسی که به سیستم وارد می‌شود، پاسخ داده شده و سپس به Extension 1000 هدایت می‌شود.
  • _X. الگوی شماره‌گیری است که همه تماس‌ها را پذیرفته و به مقصد هدایت می‌کند.

مسیر فایل: /etc/asterisk/extensions.conf

مثال 2: مسیریابی تماس ورودی به یک گروه

اگر بخواهید تماس‌های ورودی را به یک گروه از Extensions هدایت کنید، می‌توانید از تنظیمات زیر استفاده کنید.

[incoming]
exten => _X.,1,Answer()
exten => _X.,n,Dial(SIP/1000&SIP/1001&SIP/1002)  ; تماس به گروه Extensions 1000، 1001 و 1002
exten => _X.,n,Hangup()

توضیحات:

  • تماس‌های ورودی به Extensions 1000، 1001 و 1002 همزمان هدایت می‌شوند.

مسیر فایل: /etc/asterisk/extensions.conf

مثال 3: مسیریابی تماس‌های ورودی به یک IVR

اگر می‌خواهید تماس‌های ورودی را به یک سیستم IVR هدایت کنید، می‌توانید از تنظیمات زیر استفاده کنید.

[incoming]
exten => _X.,1,Answer()
exten => _X.,n,Wait(1)
exten => _X.,n,Goto(ivr-menu,s,1)  ; هدایت تماس به IVR
exten => _X.,n,Hangup()

توضیحات:

  • تماس‌ها بعد از پاسخ، به سیستم IVR هدایت می‌شوند.

مسیر فایل: /etc/asterisk/extensions.conf


2. پیکربندی تماس‌های خروجی (Outbound Routes)

برای پیکربندی تماس‌های خروجی در Issabel، باید Outbound Routes را به‌درستی تنظیم کنید تا تماس‌ها به مقصدهای مختلف هدایت شوند. این تنظیمات معمولاً برای مدیریت تماس‌های خروجی به ترانک‌ها و مقاصد خارجی استفاده می‌شوند.

مراحل پیکربندی:
  1. وارد کنسول Issabel شوید.
  2. به بخش PBX رفته و سپس به قسمت Outbound Routes بروید.
  3. در اینجا می‌توانید Route Name را تعریف کرده و الگوهای شماره‌گیری خاص خود را برای مسیریابی تماس‌ها تنظیم کنید.
مثال 4: مسیریابی تماس‌های خروجی به یک ترانک SIP

برای ارسال تماس‌های خروجی به یک ترانک SIP خاص، می‌توانید از تنظیمات زیر در فایل extensions.conf استفاده کنید.

[outbound]
exten => _9X.,1,Dial(SIP/VoIPProvider/${EXTEN})  ; تماس‌های خروجی به ترانک VoIPProvider
exten => _9X.,n,Hangup()

توضیحات:

  • تماس‌هایی که با 9 شروع می‌شوند به ترانک VoIPProvider هدایت می‌شوند.

مسیر فایل: /etc/asterisk/extensions.conf

مثال 5: مسیریابی تماس‌های خروجی به ترانک IAX

برای مسیریابی تماس‌های خروجی به ترانک IAX، از دستور زیر استفاده می‌کنیم.

[outbound]
exten => _91NXXXXXX,1,Dial(IAX2/Provider/${EXTEN})  ; تماس‌های خروجی به ترانک IAX2
exten => _91NXXXXXX,n,Hangup()

توضیحات:

  • تماس‌هایی که با 91 شروع می‌شوند به ترانک Provider هدایت می‌شوند.

مسیر فایل: /etc/asterisk/extensions.conf

مثال 6: مسیریابی تماس‌های خروجی با استفاده از الگوی شماره‌گیری پیشرفته

در صورتی که بخواهید تماس‌ها را بر اساس الگوهای پیشرفته مسیریابی کنید، می‌توانید از دستورات زیر استفاده کنید.

[outbound]
exten => _00X.,1,Set(CALLERID(num)=international)  ; تماس‌های بین‌المللی
exten => _00X.,n,Dial(SIP/VoIPProvider/${EXTEN})
exten => _00X.,n,Hangup()

توضیحات:

  • تماس‌های بین‌المللی که با 00 شروع می‌شوند به ترانک VoIPProvider هدایت می‌شوند و شماره تماس international تنظیم می‌شود.

مسیر فایل: /etc/asterisk/extensions.conf


3. محدودیت‌ها و تنظیمات پیشرفته برای تماس‌های ورودی و خروجی

در کنار تنظیمات پایه‌ای، می‌توانید محدودیت‌ها و تنظیمات پیشرفته‌ای را برای تماس‌های ورودی و خروجی تعریف کنید.

مثال 7: محدود کردن تعداد تماس‌های همزمان برای یک مسیر خروجی
[outbound]
exten => _9NXXXXXX,1,Set(CHANNEL(limit)=3)  ; محدود کردن تعداد تماس‌های همزمان به 3
exten => _9NXXXXXX,n,Dial(SIP/VoIPProvider/${EXTEN})
exten => _9NXXXXXX,n,Hangup()

توضیحات:

  • تعداد تماس‌های همزمان برای تماس‌های خروجی محدود به ۳ تماس می‌شود.

مسیر فایل: /etc/asterisk/extensions.conf

مثال 8: استفاده از تنظیمات امنیتی برای تماس‌های ورودی

می‌توانید برای تماس‌های ورودی، تنظیمات امنیتی مانند محدود کردن دسترسی به IP‌های خاص را اعمال کنید.

[incoming]
exten => _X.,1,Set(CallerIP=${CUT(CALLERID(num),@,1)})
exten => _X.,n,GotoIf($["${CallerIP}"="192.168.1.100"]?valid)
exten => _X.,n,Hangup()  ; مسدود کردن تماس‌ها از IP‌های غیرمجاز
exten => _X.,n(valid),Answer()
exten => _X.,n,Dial(SIP/1000)
exten => _X.,n,Hangup()

توضیحات:

  • تماس‌هایی که از IP 192.168.1.100 می‌آیند، مجاز به وارد شدن به سیستم هستند. تماس‌ها از IP‌های دیگر مسدود می‌شوند.

مسیر فایل: /etc/asterisk/extensions.conf


جمع‌بندی

پیکربندی تماس‌های ورودی (Inbound Routes) و تماس‌های خروجی (Outbound Routes) در Issabel یکی از بخش‌های اصلی مدیریت تماس‌ها است که از طریق آن می‌توان تماس‌ها را به درستی مسیریابی و محدودیت‌های مختلفی را اعمال کرد. تنظیمات مختلف برای مسیریابی تماس‌ها از طریق extensions.conf قابل انجام است و از طریق این تنظیمات می‌توان مسیرهای مختلف تماس‌ها را به‌صورت دقیق کنترل و مدیریت کرد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”مدیریت نحوه مسیردهی تماس‌های ورودی به Extensions و IVR” subtitle=”توضیحات کامل”]در سیستم Issabel، مدیریت تماس‌های ورودی (Inbound Routes) از اهمیت زیادی برخوردار است. یکی از قابلیت‌های مهم این سیستم، امکان مسیریابی تماس‌های ورودی به Extension ها، گروه‌ها یا سیستم‌های IVR است. این ویژگی‌ها به شما این امکان را می‌دهد تا تماس‌های ورودی را بر اساس نیاز سازمان یا شرکت خود به مسیرهای مختلف هدایت کنید.

در این بخش، به نحوه پیکربندی و مدیریت تماس‌های ورودی که به Extension ها یا سیستم IVR هدایت می‌شوند، پرداخته خواهد شد.


1. مسیریابی تماس‌های ورودی به Extension ها

برای مسیریابی تماس‌های ورودی به Extension ها، می‌توان از تنظیمات ساده‌ای استفاده کرد. شما می‌توانید به‌طور مستقیم تماس‌ها را به یک Extension خاص یا به گروهی از Extensions هدایت کنید.

مراحل پیکربندی:
  1. وارد کنسول Issabel شوید.
  2. به بخش PBX رفته و سپس به قسمت Inbound Routes بروید.
  3. Route Name و سایر تنظیمات را مشخص کرده و در قسمت Destination مقصد مورد نظر خود را انتخاب کنید.
مثال 1: مسیریابی تماس ورودی به یک Extension خاص

در این حالت، تماس‌های ورودی به یک Extension خاص (مثلاً Extension شماره 1000) هدایت خواهند شد. این کار به سادگی از طریق رابط کاربری Issabel یا به‌طور دستی از طریق ویرایش فایل extensions.conf انجام می‌شود.

برای مسیریابی تماس‌های ورودی به Extension 1000، می‌توانید تنظیمات زیر را در فایل extensions.conf اضافه کنید.

[incoming]
exten => _X.,1,Answer()
exten => _X.,n,Dial(SIP/1000)  ; تماس ورودی به Extension 1000 هدایت می‌شود
exten => _X.,n,Hangup()

توضیحات:

  • هر تماسی که وارد سیستم می‌شود، به‌طور خودکار به Extension 1000 هدایت می‌شود.
  • _X. الگوی شماره‌گیری است که تمام تماس‌ها را پذیرش کرده و به مقصد مورد نظر هدایت می‌کند.

مسیر فایل: /etc/asterisk/extensions.conf

مثال 2: مسیریابی تماس ورودی به گروهی از Extensions

برای مسیریابی تماس‌ها به گروهی از Extensions، از دستور زیر استفاده می‌کنیم. تماس‌ها به‌طور همزمان به چند Extension ارسال خواهند شد.

[incoming]
exten => _X.,1,Answer()
exten => _X.,n,Dial(SIP/1000&SIP/1001&SIP/1002)  ; تماس به Extensions 1000، 1001 و 1002 هدایت می‌شود
exten => _X.,n,Hangup()

توضیحات:

  • تماس‌های ورودی به Extensions 1000، 1001 و 1002 همزمان هدایت می‌شوند.

مسیر فایل: /etc/asterisk/extensions.conf


2. مسیریابی تماس‌های ورودی به سیستم IVR

یکی از ویژگی‌های برجسته Issabel، توانایی هدایت تماس‌های ورودی به یک سیستم IVR (Interactive Voice Response) است. این سیستم می‌تواند به تماس‌گیرنده راهنمایی‌هایی بدهد و آن‌ها را به مقصدهای مختلف هدایت کند.

مراحل پیکربندی:
  1. وارد کنسول Issabel شوید.
  2. به بخش PBX رفته و سپس به قسمت Inbound Routes بروید.
  3. یک Route Name جدید ایجاد کنید و در قسمت Destination گزینه IVR را انتخاب کنید.
  4. انتخاب کنید که کدام IVR باید برای تماس‌های ورودی استفاده شود.
مثال 3: مسیریابی تماس‌های ورودی به سیستم IVR

اگر بخواهید تماس‌های ورودی به سیستم IVR هدایت شوند، می‌توانید تنظیمات زیر را در فایل extensions.conf استفاده کنید.

[incoming]
exten => _X.,1,Answer()
exten => _X.,n,Wait(1)
exten => _X.,n,Goto(ivr-menu,s,1)  ; تماس به سیستم IVR هدایت می‌شود
exten => _X.,n,Hangup()

توضیحات:

  • تماس‌ها پس از پاسخ، به سیستم IVR هدایت می‌شوند که در آنجا گزینه‌های مختلف برای انتخاب به تماس‌گیرنده نمایش داده می‌شود.

مسیر فایل: /etc/asterisk/extensions.conf


3. مسیریابی تماس‌های ورودی به شماره خاص یا Time Conditions

گاهی اوقات نیاز است که تماس‌های ورودی بر اساس زمان خاص یا شرایط ویژه‌ای به مسیرهای مختلف هدایت شوند. برای مثال، می‌توان تماس‌ها را در ساعات مشخصی به Extension ها یا در ساعات دیگر به سیستم IVR هدایت کرد.

مثال 4: مسیریابی تماس ورودی به شماره خاص بر اساس زمان

برای اعمال محدودیت‌های زمانی در مسیریابی تماس‌ها، می‌توان از تنظیمات زیر استفاده کرد.

[incoming]
exten => _X.,1,Answer()
exten => _X.,n,GotoIfTime(09:00-18:00,mon-fri,*,*?workhours,1)
exten => _X.,n,Hangup()

[workhours]
exten => _X.,1,Dial(SIP/1000)  ; تماس‌ها در ساعات کاری به Extension 1000 هدایت می‌شود
exten => _X.,n,Hangup()

[afterhours]
exten => _X.,1,Goto(ivr-menu,s,1)  ; تماس‌ها بعد از ساعت کاری به IVR هدایت می‌شود
exten => _X.,n,Hangup()

توضیحات:

  • تماس‌های ورودی بین ساعت 9 صبح تا 6 عصر به Extension 1000 هدایت می‌شوند.
  • در ساعات بعدی تماس‌ها به سیستم IVR هدایت می‌شوند.

مسیر فایل: /etc/asterisk/extensions.conf


جمع‌بندی

مدیریت نحوه مسیریابی تماس‌های ورودی به Extensions و سیستم‌های IVR در Issabel، یک ابزار حیاتی برای تخصیص تماس‌ها به منابع مختلف است. شما می‌توانید تماس‌های ورودی را به یک Extension خاص، گروهی از Extensions یا حتی سیستم‌های IVR هدایت کنید تا تماس‌گیرندگان تجربه بهتری داشته باشند. همچنین، از امکانات پیشرفته‌ای مانند مسیریابی تماس‌ها بر اساس زمان و شرایط خاص نیز می‌توان بهره برد. تمامی این تنظیمات از طریق رابط کاربری Issabel و فایل‌های پیکربندی Asterisk قابل انجام است.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیمات برای مسیردهی تماس‌های خروجی به Trunks مختلف در Issabel” subtitle=”توضیحات کامل”]در سیستم تلفنی Issabel، تماس‌های خروجی می‌توانند از طریق Trunks مختلف ارسال شوند. این قابلیت به شما امکان می‌دهد تا تماس‌های بین‌المللی، شهری و داخلی را بر اساس قوانین خاص، به مسیرهای مناسب هدایت کنید. در این بخش، به نحوه پیکربندی Outbound Routes و ارسال تماس‌ها از طریق Trunks مختلف پرداخته خواهد شد.


1. تعریف مسیر تماس خروجی (Outbound Route)

مسیرهای خروجی مشخص می‌کنند که تماس‌های خروجی از طریق کدام Trunk و تحت چه شرایطی ارسال شوند. این تنظیمات معمولاً شامل الگوهای شماره‌گیری (Dial Patterns) و اولویت‌بندی مسیرها هستند.

مراحل پیکربندی مسیر تماس خروجی:
  1. ورود به پنل وب Issabel
    • وارد محیط گرافیکی Issabel شوید.
    • از منوی PBX، گزینه PBX Configuration را انتخاب کنید.
    • در بخش Outbound Routes، گزینه Add Route را بزنید.
  2. ایجاد مسیر تماس خروجی جدید
    • در قسمت Route Name، یک نام برای مسیر خود انتخاب کنید.
    • در بخش Trunk Sequence، ترتیب Trunks موردنظر را تعیین کنید.
    • در Dial Patterns، الگوهای شماره‌گیری را وارد کنید.
مثال: تنظیم مسیر تماس خروجی برای ارسال تماس‌های موبایل از طریق یک Trunk خاص

اگر بخواهید تماس‌هایی که با پیش‌شماره 09 شروع می‌شوند از طریق یک Trunk خاص ارسال شوند، می‌توانید تنظیمات زیر را انجام دهید.

  • Route Name: Mobile_Calls
  • Trunk Sequence: انتخاب Trunk مورد نظر (مثلاً SIP-Trunk)
  • Dial Patterns:
    • Prefix: 9
    • Match Pattern: 9XXXXXXXXX

2. پیکربندی مسیرهای تماس خروجی در فایل‌های پیکربندی Asterisk

علاوه بر محیط گرافیکی، می‌توان مسیرهای خروجی را به‌صورت مستقیم در فایل‌های پیکربندی Asterisk تنظیم کرد. این روش برای کاربران حرفه‌ای که نیاز به کنترل بیشتری دارند، مفید خواهد بود.

مسیر فایل:
/etc/asterisk/extensions_custom.conf
تنظیم مسیر خروجی برای تماس‌های موبایل:
[outbound-mobile]
exten => _9X.,1,NoOp(Outbound Call to Mobile)
exten => _9X.,n,Dial(SIP/SIP-Trunk/${EXTEN:1},60)  ; تماس از طریق Trunk ارسال می‌شود
exten => _9X.,n,Hangup()

توضیحات:

  • _9X.: الگوی شماره‌گیری که شماره‌هایی را که با 9 شروع می‌شوند تطبیق می‌دهد.
  • ${EXTEN:1}: شماره ورودی را بدون رقم 9 به Trunk ارسال می‌کند.
  • Dial(SIP/SIP-Trunk/${EXTEN:1},60): تماس را از طریق SIP-Trunk ارسال می‌کند و مدت‌زمان انتظار را 60 ثانیه تعیین می‌کند.

3. ارسال تماس‌های بین‌المللی از طریق یک Trunk خاص

برای ارسال تماس‌های بین‌المللی از طریق یک Trunk مشخص، می‌توان تنظیمات زیر را اعمال کرد:

مسیر فایل:
/etc/asterisk/extensions_custom.conf
تنظیم مسیر خروجی برای تماس‌های بین‌المللی:
[outbound-international]
exten => _00X.,1,NoOp(Outbound International Call)
exten => _00X.,n,Dial(SIP/International-Trunk/${EXTEN},60)
exten => _00X.,n,Hangup()

توضیحات:

  • _00X.: تطبیق با شماره‌هایی که با 00 (کد تماس بین‌المللی) شروع می‌شوند.
  • SIP/International-Trunk/${EXTEN}: ارسال تماس‌های بین‌المللی از طریق Trunk مشخص شده.

4. اولویت‌بندی مسیرهای تماس خروجی

در صورت داشتن چندین Trunk، می‌توان ترتیب استفاده از آن‌ها را تعیین کرد. برای مثال، اگر Trunk اولی قطع شد، تماس‌ها از طریق Trunk دوم ارسال شوند.

مثال: تنظیم مسیر تماس خروجی با دو Trunk
[outbound-priority]
exten => _X.,1,NoOp(Outbound Call with Failover)
exten => _X.,n,Dial(SIP/Primary-Trunk/${EXTEN},60)  ; تلاش برای ارسال از طریق Trunk اول
exten => _X.,n,GotoIf($["${DIALSTATUS}"="BUSY"]?failover,1)  ; در صورت مشغول بودن، به Trunk دوم هدایت شود
exten => _X.,n,Hangup()

[failover]
exten => _X.,1,Dial(SIP/Backup-Trunk/${EXTEN},60)  ; ارسال تماس از طریق Trunk پشتیبان
exten => _X.,n,Hangup()

توضیحات:

  • اگر Primary-Trunk در دسترس نباشد، تماس‌ها به Backup-Trunk هدایت خواهند شد.

5. محدودیت‌های تماس خروجی

برای جلوگیری از تماس‌های غیرمجاز، می‌توان از PIN Code یا محدودیت‌های زمانی استفاده کرد.

مثال: محدودیت تماس خروجی با استفاده از PIN Code
[outbound-restricted]
exten => _X.,1,Authenticate(1234)  ; درخواست وارد کردن کد PIN
exten => _X.,n,Dial(SIP/SIP-Trunk/${EXTEN},60)
exten => _X.,n,Hangup()

توضیحات:

  • Authenticate(1234): تماس‌گیرنده باید قبل از ارسال تماس، رمز عبور را وارد کند.

6. مدیریت تماس‌های خروجی در ساعات خاص

ممکن است بخواهید تماس‌های خروجی را در ساعات مشخصی محدود کنید. این کار با GotoIfTime امکان‌پذیر است.

مثال: تماس‌های بین 9 صبح تا 6 عصر از Trunk اصلی ارسال شوند، در غیر این صورت مسدود شوند:
[outbound-timed]
exten => _X.,1,GotoIfTime(09:00-18:00,mon-fri,*,*?allowed,1)
exten => _X.,n,Playback(not-allowed)  ; پخش پیام مسدود بودن تماس در خارج از ساعات مجاز
exten => _X.,n,Hangup()

[allowed]
exten => _X.,1,Dial(SIP/Main-Trunk/${EXTEN},60)
exten => _X.,n,Hangup()

جمع‌بندی

مدیریت تماس‌های خروجی در Issabel به شما امکان می‌دهد تا تماس‌ها را به روش‌های مختلفی مسیریابی کنید. این مسیرها می‌توانند بر اساس نوع تماس (داخلی، شهری، بین‌المللی)، ساعات کاری، اولویت‌بندی Trunks و استفاده از کدهای امنیتی تنظیم شوند. همچنین، با استفاده از Failover می‌توان اطمینان حاصل کرد که تماس‌ها در صورت بروز مشکل در یک Trunk، به‌صورت خودکار به Trunk دیگری هدایت شوند.

تمامی این تنظیمات را می‌توان هم از طریق رابط گرافیکی Issabel و هم با ویرایش مستقیم فایل‌های Asterisk پیاده‌سازی کرد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”ایجاد و تنظیم قوانین برای محدود کردن دسترسی تماس‌های خروجی در Issabel” subtitle=”توضیحات کامل”]محدود کردن تماس‌های خروجی یکی از مهم‌ترین اقدامات برای افزایش امنیت و کاهش هزینه‌های غیرضروری در سیستم‌های VoIP است. در Issabel می‌توان از روش‌های مختلفی برای کنترل تماس‌های خروجی استفاده کرد، از جمله:

  • تعیین الگوهای شماره‌گیری مجاز و غیرمجاز
  • اعمال کدهای امنیتی (PIN Codes)
  • تنظیم محدودیت‌های زمانی
  • محدود کردن تماس‌ها بر اساس داخلی‌های مشخص
  • استفاده از لیست‌های سیاه (Blacklists)

1. محدود کردن تماس‌های خروجی با استفاده از الگوهای شماره‌گیری (Dial Patterns)

در Issabel می‌توان تماس‌های خروجی را بر اساس الگوهای شماره‌گیری (Dial Patterns) کنترل کرد. این روش به شما امکان می‌دهد که برخی شماره‌ها را مسدود کرده یا فقط شماره‌های خاصی را مجاز کنید.

پیکربندی در محیط گرافیکی Issabel
  1. وارد پنل Issabel شوید.
  2. از مسیر PBX > PBX Configuration به Outbound Routes بروید.
  3. روی Add Route کلیک کنید.
  4. در قسمت Dial Patterns، شماره‌های مجاز را تعریف کنید.
  5. اگر می‌خواهید برخی شماره‌ها مسدود شوند، می‌توانید یک Route تعریف کرده و آن را به یک مقصد نامعتبر هدایت کنید.
مثال: مجاز کردن تماس‌های داخلی و مسدود کردن تماس‌های بین‌المللی
  • تماس‌های داخلی (شماره‌های 3 تا 4 رقمی) مجاز باشند:
    Pattern: _XXX
    Pattern: _XXXX
    
  • تماس‌های بین‌المللی (شماره‌هایی که با 00 شروع می‌شوند) مسدود شوند:
    Pattern: _00X.
    
پیکربندی در فایل‌های Asterisk

مسیر فایل:

/etc/asterisk/extensions_custom.conf

کد برای مسدود کردن تماس‌های بین‌المللی:

[restricted-outbound]
exten => _00X.,1,Playback(not-allowed)  ; پخش پیام عدم دسترسی
exten => _00X.,n,Hangup()

2. استفاده از PIN Code برای تأیید تماس‌های خروجی

می‌توان تماس‌های خروجی را به گونه‌ای تنظیم کرد که کاربران قبل از برقراری تماس، یک کد امنیتی (PIN Code) وارد کنند. این روش برای محدود کردن تماس‌های بین‌المللی یا تماس‌های خاص مفید است.

پیکربندی در محیط گرافیکی Issabel
  1. به مسیر PBX > PBX Configuration > Outbound Routes بروید.
  2. هنگام تنظیم Outbound Route، در بخش PIN Sets یک مجموعه کد امنیتی تعریف کنید.
  3. لیستی از PINها را وارد کرده و آن‌ها را ذخیره کنید.
پیکربندی در فایل‌های Asterisk

مسیر فایل:

/etc/asterisk/extensions_custom.conf

کد برای فعال کردن درخواست PIN قبل از تماس خروجی:

[secure-outbound]
exten => _X.,1,Authenticate(1234)  ; درخواست کد PIN از کاربر
exten => _X.,n,Dial(SIP/Trunk-Name/${EXTEN},60)  ; ارسال تماس پس از تأیید
exten => _X.,n,Hangup()

توضیح:

  • اگر کاربر کد 1234 را وارد نکند، تماس برقرار نمی‌شود.
  • می‌توان چندین کد مختلف را برای کاربران متفاوت تعریف کرد.

3. محدود کردن تماس‌های خروجی بر اساس ساعات خاص

ممکن است بخواهید برخی داخلی‌ها در ساعات اداری مجاز به برقراری تماس باشند اما در ساعات غیراداری، تماس‌های خروجی آن‌ها مسدود شود.

پیکربندی در فایل‌های Asterisk

مسیر فایل:

/etc/asterisk/extensions_custom.conf

کد برای مجاز بودن تماس‌ها بین ساعت 9 صبح تا 6 عصر (و مسدود بودن در بقیه ساعات):

[outbound-time-restricted]
exten => _X.,1,GotoIfTime(09:00-18:00,mon-fri,*,*?allowed,1)
exten => _X.,n,Playback(not-allowed)  ; پخش پیام عدم دسترسی در ساعات غیرمجاز
exten => _X.,n,Hangup()

[allowed]
exten => _X.,1,Dial(SIP/Trunk-Name/${EXTEN},60)
exten => _X.,n,Hangup()

توضیح:

  • این تنظیمات باعث می‌شود که فقط در ساعات کاری (9 صبح تا 6 عصر) تماس برقرار شود.
  • خارج از این بازه، پیام عدم دسترسی برای کاربر پخش خواهد شد.

4. محدود کردن تماس‌های خروجی بر اساس داخلی (Extensions)

گاهی اوقات نیاز است که برخی از داخلی‌ها به‌طور کامل یا جزئی از برقراری تماس‌های خاص منع شوند.

مسیر فایل:
/etc/asterisk/extensions_custom.conf

کد برای محدود کردن داخلی 1001 از تماس‌های بین‌المللی:

[restricted-outbound]
exten => _00X.,1,GotoIf($["${CALLERID(num)}"="1001"]?blocked,1)
exten => _00X.,n,Dial(SIP/International-Trunk/${EXTEN},60)
exten => _00X.,n,Hangup()

[blocked]
exten => _00X.,1,Playback(not-allowed)
exten => _00X.,n,Hangup()

توضیح:

  • داخلی 1001 مجاز به تماس بین‌المللی نیست.
  • در صورت تلاش برای تماس، پیغام عدم مجوز پخش می‌شود.

5. استفاده از لیست سیاه (Blacklist) برای شماره‌های خاص

با استفاده از Blacklist می‌توان از تماس با شماره‌های مشخص جلوگیری کرد.

پیکربندی در محیط گرافیکی Issabel
  1. از منوی PBX، گزینه Blacklist را انتخاب کنید.
  2. شماره‌هایی را که می‌خواهید مسدود کنید وارد کنید.
  3. تغییرات را ذخیره کنید.
پیکربندی در فایل‌های Asterisk

مسیر فایل:

/etc/asterisk/extensions_custom.conf

کد برای مسدود کردن تماس با شماره‌های خاص:

[blacklist]
exten => _X.,1,GotoIf($["${EXTEN}"="5551234"]?blocked,1)
exten => _X.,n,GotoIf($["${EXTEN}"="6665678"]?blocked,1)
exten => _X.,n,Dial(SIP/Trunk-Name/${EXTEN},60)

[blocked]
exten => _X.,1,Playback(not-allowed)
exten => _X.,n,Hangup()

توضیح:

  • تماس با شماره‌های 5551234 و 6665678 مسدود شده است.
  • در صورت شماره‌گیری این اعداد، تماس قطع شده و پیغام عدم مجوز پخش می‌شود.

جمع‌بندی

برای مدیریت و محدود کردن تماس‌های خروجی در Issabel روش‌های مختلفی وجود دارد، از جمله:

  • تعیین الگوهای شماره‌گیری برای جلوگیری از تماس‌های خاص
  • استفاده از PIN Code برای تأیید هویت کاربران
  • اعمال محدودیت‌های زمانی برای تماس‌ها
  • کنترل تماس‌ها بر اساس داخلی‌های مشخص
  • استفاده از لیست سیاه (Blacklist) برای مسدود کردن شماره‌های خاص

این تنظیمات را می‌توان هم از طریق رابط گرافیکی Issabel و هم از طریق ویرایش مستقیم فایل‌های Asterisk پیاده‌سازی کرد.[/cdb_course_lesson][cdb_course_lesson title=”فصل 7. پیکربندی Call Forwarding و Call Blocking”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”آموزش پیکربندی قابلیت Call Forwarding برای خطوط داخلی در Issabel” subtitle=”توضیحات کامل”]قابلیت Call Forwarding (انتقال تماس) به کاربران اجازه می‌دهد که تماس‌های ورودی خود را به شماره‌های دیگر (داخلی یا خارجی) منتقل کنند. این ویژگی برای مواقعی که کاربر در محل حضور ندارد یا قصد دارد تماس‌های خود را روی شماره دیگری دریافت کند، بسیار مفید است.


1. انواع Call Forwarding در Issabel

در سیستم VoIP مبتنی بر Issabel، سه نوع اصلی Call Forwarding وجود دارد:

  • Call Forwarding Unconditional (CFU): انتقال تمامی تماس‌ها به یک مقصد دیگر بدون هیچ شرطی.
  • Call Forwarding on Busy (CFB): انتقال تماس‌ها فقط در صورتی که داخلی اشغال باشد.
  • Call Forwarding on No Answer (CFNA): انتقال تماس‌ها در صورتی که داخلی پاسخ ندهد.

2. فعال‌سازی Call Forwarding از طریق محیط گرافیکی Issabel

  1. وارد محیط وب Issabel شوید.
  2. از منوی PBX، به PBX Configuration بروید.
  3. گزینه Feature Codes را انتخاب کنید.
  4. تنظیمات مربوط به Call Forwarding را پیدا کنید:
    • Call Forward All Activate → برای فعال‌سازی CFU
    • Call Forward Busy Activate → برای فعال‌سازی CFB
    • Call Forward No Answer Activate → برای فعال‌سازی CFNA
  5. کدهای مربوطه را بررسی کرده و در صورت نیاز تغییر دهید. (به‌طور پیش‌فرض، این کدها به‌صورت *72، *90 و *52 هستند.)
  6. تنظیمات را ذخیره کنید.

3. فعال‌سازی Call Forwarding از طریق تلفن داخلی (Feature Codes)

کاربران می‌توانند با شماره‌گیری کدهای زیر Call Forwarding را فعال یا غیرفعال کنند:

  • فعال‌سازی انتقال تمامی تماس‌ها (CFU):
    *72 شماره مقصد
    

    مثال: برای انتقال تمام تماس‌ها به داخلی 2001:

    *72 2001
    
  • فعال‌سازی انتقال تماس در صورت اشغال بودن خط (CFB):
    *90 شماره مقصد
    

    مثال:

    *90 2001
    
  • فعال‌سازی انتقال تماس در صورت عدم پاسخ (CFNA):
    *52 شماره مقصد
    

    مثال:

    *52 2001
    
  • غیرفعال‌سازی تمامی Call Forwarding ها:
    *73
    

4. پیکربندی دستی Call Forwarding در فایل‌های Asterisk

برای پیکربندی دستی، باید فایل تنظیمات Asterisk را ویرایش کنیم.

ویرایش فایل تنظیمات داخلی‌ها

مسیر فایل:

/etc/asterisk/extensions_custom.conf

کد مربوط به تنظیم Call Forwarding برای داخلی‌ها:

[custom-call-forward]
exten => _*72X.,1,Set(DB(CFWD/${CALLERID(num)})=${EXTEN:3})  ; تنظیم شماره مقصد برای انتقال
exten => _*72X.,n,Playback(call-forwarding-set)  ; پخش پیام تأیید
exten => _*72X.,n,Hangup()

exten => *73,1,NoOp(Disabling Call Forwarding)  ; غیرفعال‌سازی انتقال تماس
exten => *73,n,DBdel(CFWD/${CALLERID(num)})  ; حذف شماره مقصد از پایگاه داده
exten => *73,n,Playback(call-forwarding-cancel)  ; پخش پیام تأیید
exten => *73,n,Hangup()

توضیح:

  • این کد قابلیت تنظیم Call Forwarding را مستقیماً از طریق Feature Code فعال می‌کند.
  • در صورت شماره‌گیری *72 همراه با یک شماره، سیستم مقصد انتقال تماس را ثبت کرده و تماس‌های ورودی به آن شماره منتقل خواهند شد.
  • با شماره‌گیری *73 انتقال تماس‌ها غیرفعال خواهد شد.

5. بررسی و نظارت بر Call Forwarding داخلی‌ها

مدیران سیستم می‌توانند وضعیت Call Forwarding داخلی‌ها را بررسی کنند.

روش بررسی از طریق Asterisk CLI

دستور زیر را اجرا کنید تا شماره‌هایی که Call Forwarding برای آن‌ها فعال است مشاهده شوند:

asterisk -rx "database show CFWD"

خروجی نمونه:

/CFWD/1001 : 2002
/CFWD/1002 : 3001

این خروجی نشان می‌دهد که داخلی 1001 تماس‌های خود را به 2002 و داخلی 1002 تماس‌های خود را به 3001 منتقل کرده است.

حذف Call Forwarding برای یک داخلی خاص از طریق CLI

اگر نیاز باشد انتقال تماس برای یک داخلی خاص حذف شود، می‌توان از دستور زیر استفاده کرد:

asterisk -rx "database del CFWD/1001"

این دستور انتقال تماس برای داخلی 1001 را غیرفعال می‌کند.


6. پیکربندی Call Forwarding برای تماس‌های ورودی از طریق Inbound Routes

برای انتقال تماس‌های ورودی در سطح Inbound Routes، می‌توان در Issabel GUI تنظیمات را انجام داد.

مراحل:
  1. از منوی PBX > PBX Configuration وارد بخش Inbound Routes شوید.
  2. روی مسیر ورودی موردنظر کلیک کنید.
  3. در قسمت Set Destination، مقصد تماس را مشخص کنید.
    • اگر قصد دارید تماس‌ها به یک داخلی دیگر یا یک شماره خارجی ارسال شوند، گزینه Custom Destinations را انتخاب کنید.
  4. تنظیمات را ذخیره کرده و تغییرات را اعمال کنید.

جمع‌بندی

قابلیت Call Forwarding در Issabel امکان انتقال تماس‌های داخلی و خارجی را فراهم می‌کند. این قابلیت می‌تواند از طریق محیط گرافیکی، کدهای دستوری (Feature Codes) یا ویرایش فایل‌های Asterisk پیکربندی شود.

  • برای کاربران معمولی، ساده‌ترین روش استفاده از Feature Codes مانند *72 و *73 است.
  • برای مدیران سیستم، ویرایش مستقیم فایل‌های Asterisk و مدیریت از طریق CLI امکان کنترل پیشرفته‌تری فراهم می‌کند.
  • در سطح مسیرهای ورودی (Inbound Routes) نیز می‌توان تماس‌ها را مستقیماً به مقصد موردنظر هدایت کرد.

این روش‌ها به شما کمک می‌کنند تا مدیریت بهتری بر روی انتقال تماس‌ها داشته باشید و از انعطاف‌پذیری بالای Issabel در این زمینه بهره ببرید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیمات مختلف برای فوروارد تماس‌ها به شماره‌های داخلی یا خارجی در Issabel” subtitle=”توضیحات کامل”]قابلیت Call Forwarding در Issabel امکان انتقال تماس‌های ورودی را به شماره‌های داخلی یا خارجی فراهم می‌کند. این ویژگی در موقعیت‌هایی مانند عدم حضور کاربر، اشغال بودن داخلی، یا پاسخ ندادن تماس مفید است.


1. انواع فوروارد تماس در Issabel

در Issabel، سه نوع اصلی Call Forwarding وجود دارد:

  • Call Forward Unconditional (CFU): انتقال تمام تماس‌های ورودی به یک مقصد مشخص بدون هیچ قید و شرطی.
  • Call Forward on Busy (CFB): انتقال تماس‌ها به شماره دیگر فقط در صورت اشغال بودن داخلی.
  • Call Forward on No Answer (CFNA): انتقال تماس‌ها در صورتی که داخلی پاسخ ندهد.

2. فعال‌سازی Call Forwarding از طریق رابط گرافیکی Issabel

  1. وارد محیط وب Issabel شوید.
  2. از منوی PBX، گزینه PBX Configuration را انتخاب کنید.
  3. به بخش Feature Codes بروید.
  4. تنظیمات مربوط به Call Forwarding را پیدا کنید:
    • Call Forward All Activate → برای فعال‌سازی CFU
    • Call Forward Busy Activate → برای فعال‌سازی CFB
    • Call Forward No Answer Activate → برای فعال‌سازی CFNA
  5. می‌توانید کدهای فعال‌سازی را تغییر دهید (پیش‌فرض: *72، *90، *52).
  6. تنظیمات را ذخیره کنید و تغییرات را اعمال کنید.

3. فعال‌سازی Call Forwarding با استفاده از Feature Codes

کاربران می‌توانند با شماره‌گیری Feature Codes مستقیماً از تلفن داخلی خود Call Forwarding را تنظیم کنند:

فعال‌سازی انتقال تماس بدون قید و شرط (CFU):
*72 شماره مقصد

مثال: برای انتقال تمام تماس‌های داخلی 1001 به 2001:

*72 2001
فعال‌سازی انتقال تماس در صورت اشغال بودن داخلی (CFB):
*90 شماره مقصد

مثال:

*90 2001
فعال‌سازی انتقال تماس در صورت عدم پاسخ (CFNA):
*52 شماره مقصد

مثال:

*52 2001
غیرفعال‌سازی تمامی تنظیمات Call Forwarding:
*73

4. پیکربندی Call Forwarding در فایل‌های Asterisk

برای پیکربندی دستی Call Forwarding، می‌توان فایل‌های تنظیمات Asterisk را ویرایش کرد.

ویرایش فایل تنظیمات داخلی‌ها

مسیر فایل:

/etc/asterisk/extensions_custom.conf

کد مربوط به تنظیم Call Forwarding:

[custom-call-forward]
exten => _*72X.,1,Set(DB(CFWD/${CALLERID(num)})=${EXTEN:3})  ; تنظیم شماره مقصد برای انتقال
exten => _*72X.,n,Playback(call-forwarding-set)  ; پخش پیام تأیید
exten => _*72X.,n,Hangup()

exten => *73,1,NoOp(Disabling Call Forwarding)  ; غیرفعال‌سازی انتقال تماس
exten => *73,n,DBdel(CFWD/${CALLERID(num)})  ; حذف شماره مقصد از پایگاه داده
exten => *73,n,Playback(call-forwarding-cancel)  ; پخش پیام تأیید
exten => *73,n,Hangup()

5. بررسی وضعیت Call Forwarding داخلی‌ها در CLI

مدیران سیستم می‌توانند وضعیت Call Forwarding داخلی‌ها را بررسی کنند.

مشاهده شماره‌هایی که Call Forwarding دارند:
asterisk -rx "database show CFWD"

خروجی نمونه:

/CFWD/1001 : 2002
/CFWD/1002 : 3001

این خروجی نشان می‌دهد که داخلی 1001 تماس‌های خود را به 2002 و داخلی 1002 تماس‌های خود را به 3001 منتقل کرده است.

حذف Call Forwarding برای یک داخلی خاص:
asterisk -rx "database del CFWD/1001"

این دستور انتقال تماس برای داخلی 1001 را غیرفعال می‌کند.


6. انتقال تماس‌ها به شماره‌های خارجی (Mobile یا PSTN)

اگر بخواهید تماس‌های ورودی به یک شماره خارجی مانند موبایل یا خط شهری منتقل شوند، باید تغییراتی در Outbound Routes و Dial Patterns ایجاد کنید.

ویرایش فایل تنظیمات Asterisk برای انتقال به شماره خارجی:

مسیر فایل:

/etc/asterisk/extensions_custom.conf

اضافه کردن تنظیمات زیر برای انتقال تماس‌ها به یک شماره خارجی (مثلاً 09121234567):

[custom-call-forward]
exten => _*72X.,1,Set(DB(CFWD/${CALLERID(num)})=${EXTEN:3})  
exten => _*72X.,n,GotoIf($["${EXTEN:3}" = "0"]?clear)  
exten => _*72X.,n,Dial(SIP/${EXTEN:3}@trunk-outbound,60)  
exten => _*72X.,n,Playback(call-forwarding-set)  
exten => _*72X.,n,Hangup()

exten => *73,1,NoOp(Disabling Call Forwarding)  
exten => *73,n,DBdel(CFWD/${CALLERID(num)})  
exten => *73,n,Playback(call-forwarding-cancel)  
exten => *73,n,Hangup()
بررسی دسترسی به خطوط خارجی برای فوروارد تماس

اگر می‌خواهید تماس‌ها به شماره‌های خارجی مانند موبایل یا PSTN منتقل شوند، باید در Outbound Routes بررسی کنید که داخلی مجاز به شماره‌گیری شماره‌های خارجی باشد.

  1. به PBX > PBX Configuration > Outbound Routes بروید.
  2. یک مسیر خروجی با نام Call Forwarding Outbound ایجاد کنید.
  3. در قسمت Dial Patterns، الگوی مجاز برای شماره‌گیری (مثلاً 9XXXXXXXXXX برای شماره‌های موبایل) را اضافه کنید.
  4. ترانک خروجی مناسب را انتخاب کنید.
  5. تنظیمات را ذخیره کرده و تغییرات را اعمال کنید.

7. مدیریت Call Forwarding برای تماس‌های ورودی از طریق Inbound Routes

برای انتقال تماس‌های ورودی به یک شماره دیگر، می‌توان از Inbound Routes استفاده کرد.

مراحل:
  1. وارد PBX > PBX Configuration > Inbound Routes شوید.
  2. مسیر ورودی موردنظر را انتخاب کنید.
  3. در قسمت Set Destination، مقصد تماس را مشخص کنید (داخلی، صف، IVR یا یک شماره خارجی).
  4. تنظیمات را ذخیره کنید و تغییرات را اعمال کنید.

جمع‌بندی

Call Forwarding در Issabel امکان انتقال تماس‌ها به شماره‌های داخلی یا خارجی را فراهم می‌کند. این قابلیت را می‌توان از طریق رابط گرافیکی، Feature Codes، ویرایش فایل‌های Asterisk یا مدیریت Inbound/Outbound Routes پیکربندی کرد.

  • کاربران می‌توانند با استفاده از Feature Codes مانند *72، *90 و *52 تنظیمات را تغییر دهند.
  • مدیران سیستم می‌توانند با ویرایش فایل‌های Asterisk یا استفاده از CLI کنترل بیشتری داشته باشند.
  • تماس‌های خروجی به شماره‌های خارجی نیاز به تنظیمات خاص در Outbound Routes دارند.
  • انتقال تماس‌های ورودی از طریق Inbound Routes امکان‌پذیر است.

با این روش‌ها، Call Forwarding در Issabel به‌راحتی قابل مدیریت و بهینه‌سازی خواهد بود.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیم قوانین مسدودسازی تماس‌ها (Call Blocking) در Issabel” subtitle=”توضیحات کامل”]مسدودسازی تماس‌های ناخواسته در Issabel به مدیران سیستم این امکان را می‌دهد که تماس‌های ورودی یا خروجی را بر اساس شماره تماس، الگوهای شماره‌گیری، محدوده جغرافیایی یا سایر معیارها فیلتر کنند. این قابلیت برای جلوگیری از اسپم، تماس‌های تبلیغاتی، و سوءاستفاده‌های احتمالی بسیار مهم است.


1. روش‌های مسدودسازی تماس‌ها در Issabel

در Issabel می‌توان تماس‌ها را به روش‌های مختلفی مسدود کرد:

  1. مسدودسازی تماس‌های ورودی از شماره‌های خاص
  2. مسدودسازی تماس‌های خروجی به مقاصد خاص
  3. ایجاد لیست سیاه (Blacklist) برای جلوگیری از تماس‌های ناخواسته
  4. استفاده از Custom Contexts برای اعمال محدودیت روی داخلی‌ها

2. مسدودسازی تماس‌های ورودی از شماره‌های خاص

روش 1: استفاده از Blacklist در رابط گرافیکی Issabel
  1. وارد PBX > PBX Configuration > Blacklist شوید.
  2. در قسمت Add Number to Blacklist، شماره‌ای که می‌خواهید مسدود کنید را وارد کنید.
  3. روی Submit کلیک کرده و تغییرات را Apply کنید.
روش 2: استفاده از کدهای دستوری برای اضافه یا حذف شماره به Blacklist

کاربران و مدیران می‌توانند از Feature Codes برای مدیریت Blacklist استفاده کنند:

افزودن یک شماره به لیست سیاه:

*30 شماره موردنظر

مثال: برای مسدودسازی شماره 09121234567

*30 09121234567

حذف شماره از لیست سیاه:

*31 شماره موردنظر

مثال:

*31 09121234567

بررسی لیست شماره‌های مسدود شده:

*32
روش 3: پیکربندی دستی Blacklist در Asterisk

مسیر فایل:

/etc/asterisk/extensions_custom.conf

افزودن تنظیمات برای بررسی Blacklist در تماس‌های ورودی:

[from-blacklist]
exten => s,1,Answer()
exten => s,n,Set(CallerIDNum=${CALLERID(num)})
exten => s,n,GotoIf(${DB_EXISTS(blacklist/${CallerIDNum})}?blocked,s,1)
exten => s,n,Return()

[blocked]
exten => s,1,NoOp(Blocked Call from ${CALLERID(num)})
exten => s,n,Playback(ss-noservice)  ; پخش پیام "شماره موردنظر در دسترس نیست"
exten => s,n,Hangup()

اعمال تغییرات و راه‌اندازی مجدد Asterisk:

asterisk -rx "dialplan reload"

3. مسدودسازی تماس‌های خروجی به مقاصد خاص

روش 1: استفاده از Outbound Routes
  1. به PBX > PBX Configuration > Outbound Routes بروید.
  2. روی Add Route کلیک کنید.
  3. یک نام مانند Blocked Numbers برای مسیر ایجاد کنید.
  4. در قسمت Dial Patterns، شماره یا الگوی شماره‌گیری که باید مسدود شود را اضافه کنید.

مثال:

  • مسدود کردن تمام شماره‌های موبایل (ایران):
    09XXXXXXXXX
    
  • مسدود کردن تماس‌های بین‌المللی:
    00.
    
  1. گزینه Terminate Call را در قسمت Destination انتخاب کنید.
  2. تنظیمات را ذخیره کنید و تغییرات را اعمال کنید.
روش 2: استفاده از Custom Contexts برای کنترل داخلی‌ها

مسیر فایل:

/etc/asterisk/extensions_custom.conf

افزودن یک Context برای مسدود کردن تماس‌های خروجی به مقاصد خاص:

[outbound-block]
exten => _09XXXXXXXXX,1,NoOp(Blocking mobile numbers)
exten => _09XXXXXXXXX,n,Playback(ss-noservice)
exten => _09XXXXXXXXX,n,Hangup()

exten => _00.,1,NoOp(Blocking international calls)
exten => _00.,n,Playback(ss-noservice)
exten => _00.,n,Hangup()
اعمال تنظیمات و راه‌اندازی مجدد Asterisk:
asterisk -rx "dialplan reload"

4. استفاده از Fail2Ban برای جلوگیری از تماس‌های ناخواسته و اسپم

Fail2Ban ابزاری است که می‌تواند تماس‌های مشکوک را شناسایی کرده و IP آدرس‌های متخلف را مسدود کند.

نصب و فعال‌سازی Fail2Ban در Issabel
yum install fail2ban -y
systemctl enable fail2ban
systemctl start fail2ban
ویرایش تنظیمات برای مانیتورینگ تماس‌های مشکوک

مسیر فایل:

/etc/fail2ban/jail.local

افزودن تنظیمات زیر برای مسدودسازی حملات SIP:

[asterisk]
enabled = true
filter = asterisk
logpath = /var/log/asterisk/full
maxretry = 5
findtime = 600
bantime = 3600
اعمال تغییرات و راه‌اندازی مجدد Fail2Ban
systemctl restart fail2ban
بررسی لیست IPهای مسدود شده
fail2ban-client status asterisk

5. مسدودسازی تماس‌های بین‌المللی برای برخی داخلی‌ها

برخی کاربران ممکن است نیاز داشته باشند که تماس‌های بین‌المللی فقط برای مدیران یا کاربران خاص فعال باشد.

ویرایش Context داخلی‌های محدود شده

مسیر فایل:

/etc/asterisk/extensions_custom.conf

افزودن یک Context سفارشی برای مسدودسازی شماره‌گیری بین‌المللی:

[restricted-international]
exten => _00.,1,NoOp(International Call Blocked)
exten => _00.,n,Playback(ss-noservice)
exten => _00.,n,Hangup()

سپس در PBX > PBX Configuration > Extensions، داخلی‌هایی که باید محدود شوند را به Context restricted-international تغییر دهید.


جمع‌بندی

مدیران سیستم می‌توانند با استفاده از ابزارهای مختلف، تماس‌های ناخواسته را در Issabel مسدود کنند. این تنظیمات شامل موارد زیر است:

  • Blacklist: برای مسدودسازی شماره‌های خاص.
  • Outbound Routes: برای جلوگیری از تماس‌های خروجی به مقاصد غیرمجاز.
  • Custom Contexts: برای اعمال محدودیت‌های سفارشی روی داخلی‌ها.
  • Fail2Ban: برای جلوگیری از حملات SIP و تماس‌های مخرب.

با اجرای این روش‌ها، می‌توان از هزینه‌های اضافی، تماس‌های تبلیغاتی، و سوءاستفاده‌های احتمالی جلوگیری کرد و امنیت سیستم تلفنی را افزایش داد.[/cdb_course_lesson][cdb_course_lesson title=”فصل 8. پیکربندی Voicemail”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”پیکربندی و تنظیم Voicemail برای Extensions در Issabel” subtitle=”توضیحات کامل”]Voicemail در Issabel این امکان را به کاربران می‌دهد که در صورت عدم پاسخگویی، اشغال بودن یا در دسترس نبودن داخلی، تماس‌ها را به یک صندوق صوتی ارسال کنند. کاربران سپس می‌توانند پیام‌های ذخیره‌شده را از طریق تلفن، ایمیل یا محیط گرافیکی Issabel بررسی کنند.


1. فعال‌سازی Voicemail برای یک Extension

روش 1: از طریق محیط گرافیکی Issabel
  1. وارد محیط مدیریتی Issabel شوید و به مسیر زیر بروید:
    PBX > PBX Configuration > Extensions
    
  2. داخلی موردنظر را انتخاب کنید یا یک داخلی جدید ایجاد کنید.
  3. در بخش Voicemail & Directory، گزینه Enabled را انتخاب کنید.
  4. مقادیر زیر را تنظیم کنید:
    • Voicemail Password: رمز عبور برای دسترسی به Voicemail.
    • Email Address: ایمیلی که پیام‌های صوتی به آن ارسال شود.
    • Email Attachment: اگر فعال باشد، پیام‌های صوتی به‌عنوان فایل ضمیمه ایمیل ارسال می‌شوند.
    • Delete Voicemail: در صورت فعال بودن، پیام‌ها پس از ارسال به ایمیل حذف می‌شوند.
  5. روی Submit کلیک کرده و تغییرات را Apply کنید.

روش 2: پیکربندی Voicemail از طریق فایل تنظیمات Asterisk

مسیر فایل:

/etc/asterisk/voicemail.conf

افزودن تنظیمات برای داخلی 1001:

[default]
1001 => 1234,Ali Rezaei,ali.rezaei@example.com,attach=yes|saycid=yes|delete=no
  • 1234: رمز عبور دسترسی به Voicemail
  • Ali Rezaei: نام کاربر
  • ali.rezaei@example.com: ایمیل کاربر
  • attach=yes: ضمیمه کردن پیام صوتی در ایمیل
  • saycid=yes: پخش شماره تماس‌گیرنده قبل از پیام
  • delete=no: عدم حذف پیام بعد از ارسال ایمیل

اعمال تغییرات و راه‌اندازی مجدد Asterisk:

asterisk -rx "reload"

2. نحوه دسترسی به پیام‌های Voicemail

روش 1: از طریق تلفن داخلی

کاربر می‌تواند با شماره‌گیری *97 وارد Voicemail خود شود.

اگر از داخلی دیگری استفاده کند:

*98 داخلی_موردنظر

مثال:

*98 1001
روش 2: از طریق ایمیل

اگر گزینه Email Attachment فعال باشد، کاربران می‌توانند پیام‌های صوتی خود را در ایمیل بررسی کنند.

روش 3: از طریق محیط گرافیکی Issabel
  1. به PBX > Voicemail & Recordings بروید.
  2. روی داخلی خود کلیک کنید تا پیام‌های ذخیره‌شده را ببینید.

3. تنظیمات پیشرفته Voicemail در Issabel

فعال‌سازی اعلان‌های پیام صوتی از طریق SMS

اگر سرور ایمیل و SMS Gateway روی Issabel تنظیم شده باشد، می‌توان پیام‌های صوتی را به‌صورت پیامک نیز اطلاع‌رسانی کرد. برای این کار باید در مسیر voicemail.conf خط زیر را اضافه کرد:

emailbody=You have received a new voicemail from ${VM_CALLERID}. Check your messages.

فعال‌سازی حذف خودکار پیام‌های قدیمی برای صرفه‌جویی در فضای ذخیره‌سازی

ویرایش voicemail.conf برای حذف پیام‌های قدیمی بعد از 30 روز:

maxmsg=50
maxsecs=180
maxage=30
  • maxmsg=50: حداکثر تعداد پیام‌های ذخیره‌شده
  • maxsecs=180: حداکثر زمان هر پیام (ثانیه)
  • maxage=30: حذف پیام‌های قدیمی بعد از 30 روز

اعمال تغییرات:

asterisk -rx "reload"

4. تنظیم ارسال پیام‌های صوتی به چندین ایمیل

برای ارسال پیام‌های صوتی به چند ایمیل:

1001 => 1234,Ali Rezaei,ali.rezaei@example.com&support@example.com,attach=yes|delete=no

با این تنظیم، پیام‌های داخلی 1001 به دو ایمیل ارسال خواهند شد.


5. پیکربندی Voicemail برای گروهی از داخلی‌ها (Shared Voicemail)

برای تنظیم یک Voicemail مشترک بین چند داخلی:

ویرایش فایل voicemail.conf:

[default]
1001 => 1234,Ali Rezaei,ali.rezaei@example.com,attach=yes|delete=no
1002 => 1234,Shared Voicemail,sharedvoicemail@example.com,attach=yes|delete=no

ویرایش فایل extensions.conf:

[voicemail-group]
exten => 5000,1,VoiceMail(1001&1002@default)
exten => 5000,n,Hangup()

بارگذاری مجدد تنظیمات:

asterisk -rx "dialplan reload"

با شماره‌گیری 5000، پیام صوتی برای دو داخلی 1001 و 1002 ذخیره خواهد شد.


جمع‌بندی

در Issabel می‌توان Voicemail را برای داخلی‌های مختلف تنظیم و مدیریت کرد. روش‌های مهم شامل:

  • فعال‌سازی Voicemail از طریق محیط گرافیکی یا فایل‌های تنظیمات
  • دسترسی به پیام‌های صوتی از طریق تلفن، ایمیل یا محیط گرافیکی
  • تنظیمات پیشرفته مانند حذف خودکار پیام‌ها، ارسال به چندین ایمیل، و اشتراک‌گذاری Voicemail بین داخلی‌ها

با این تنظیمات، تماس‌های از دست‌رفته مدیریت‌شده و کارایی سیستم تلفنی افزایش می‌یابد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”پیکربندی Voicemail در Issabel (پیام خوش‌آمدگویی، حداکثر طول پیام، اعلام پیام جدید)” subtitle=”توضیحات کامل”]سیستم Voicemail در Issabel به کاربران این امکان را می‌دهد تا پیام‌های صوتی را در صورت عدم پاسخگویی، مشغول بودن یا عدم دسترسی به داخلی دریافت کنند. برای شخصی‌سازی Voicemail، می‌توان تنظیماتی مانند پیام خوش‌آمدگویی، طول پیام، و اعلام پیام‌های جدید را انجام داد.


1. تنظیم پیام خوش‌آمدگویی (Voicemail Greeting)

روش 1: ضبط پیام خوش‌آمدگویی از طریق تلفن داخلی
  1. از داخلی موردنظر، شماره *97 را شماره‌گیری کنید.
  2. رمز عبور Voicemail را وارد کنید.
  3. گزینه 0 را برای ورود به تنظیمات صندوق صوتی انتخاب کنید.
  4. گزینه 1 را برای ضبط پیام خوش‌آمدگویی انتخاب کنید.
  5. پیام خوش‌آمدگویی خود را ضبط کرده و آن را ذخیره کنید.
روش 2: آپلود فایل پیام خوش‌آمدگویی در Issabel
  1. فایل صوتی را با فرمت WAV (PCM 16-bit, 8000 Hz, Mono) آماده کنید.
  2. فایل را در مسیر زیر آپلود کنید:
    /var/spool/asterisk/voicemail/default/داخلی_موردنظر/
    

    مثال برای داخلی 1001:

    mv greeting.wav /var/spool/asterisk/voicemail/default/1001/unavail.wav
    chown asterisk:asterisk /var/spool/asterisk/voicemail/default/1001/unavail.wav
    chmod 644 /var/spool/asterisk/voicemail/default/1001/unavail.wav
    
  3. Asterisk را برای اعمال تغییرات مجدداً بارگذاری کنید:
    asterisk -rx "reload"
    

2. تنظیم حداکثر طول پیام‌های صوتی در Voicemail

روش 1: تغییر از طریق محیط گرافیکی Issabel
  1. به PBX > PBX Configuration > Voicemail Admin بروید.
  2. مقدار Max Message Length را بر اساس نیاز تنظیم کنید. (مثلاً 180 ثانیه)
  3. روی Submit کلیک کرده و تغییرات را Apply کنید.
روش 2: تغییر از طریق ویرایش فایل تنظیمات Asterisk

مسیر فایل:

/etc/asterisk/voicemail.conf

افزودن یا تغییر مقادیر زیر در بخش [general]:

maxsecs=180  ; حداکثر طول پیام (ثانیه)
minsecs=5    ; حداقل طول پیام (ثانیه)

بارگذاری مجدد Asterisk:

asterisk -rx "reload"

3. فعال‌سازی اعلام پیام جدید به کاربر (New Message Notification)

روش 1: فعال‌سازی از طریق محیط گرافیکی Issabel
  1. به PBX > PBX Configuration > Extensions بروید.
  2. داخلی موردنظر را انتخاب کنید.
  3. در بخش Voicemail & Directory گزینه Email Notification را فعال کنید.
  4. یک آدرس ایمیل معتبر وارد کنید تا هنگام دریافت پیام جدید، اعلان ارسال شود.
  5. گزینه Attach Voicemail to Email را برای دریافت پیام‌های صوتی در ایمیل فعال کنید.
  6. روی Submit کلیک کرده و تغییرات را Apply کنید.
روش 2: فعال‌سازی از طریق فایل تنظیمات Asterisk

ویرایش فایل:

/etc/asterisk/voicemail.conf

افزودن تنظیمات برای داخلی 1001:

[default]
1001 => 1234,Ali Rezaei,ali.rezaei@example.com,attach=yes|saycid=yes|delete=no|emailnotif=yes

توضیحات:

  • attach=yes: ضمیمه کردن فایل صوتی در ایمیل
  • saycid=yes: اعلام شماره تماس‌گیرنده قبل از پخش پیام
  • delete=no: عدم حذف پیام بعد از ارسال به ایمیل
  • emailnotif=yes: ارسال اعلان ایمیل برای پیام‌های جدید

اعمال تغییرات:

asterisk -rx "reload"

4. تنظیم حذف خودکار پیام‌های قدیمی برای بهینه‌سازی فضا

برای جلوگیری از اشغال بیش‌ازحد فضای ذخیره‌سازی، می‌توان پیام‌های صوتی قدیمی را به‌طور خودکار حذف کرد.

ویرایش فایل voicemail.conf:
maxmsg=50   ; حداکثر تعداد پیام‌های ذخیره‌شده
maxage=30   ; حذف پیام‌های قدیمی بعد از 30 روز

اعمال تغییرات:

asterisk -rx "reload"

5. تنظیم ارسال پیام‌های صوتی به چندین ایمیل

اگر بخواهید یک پیام صوتی به چندین ایمیل ارسال شود، می‌توانید آدرس‌ها را با & از هم جدا کنید:

1001 => 1234,Ali Rezaei,ali.rezaei@example.com&support@example.com,attach=yes|delete=no

جمع‌بندی

در این بخش، نحوه پیکربندی و شخصی‌سازی Voicemail در Issabel را بررسی کردیم. تنظیمات اصلی شامل:

  • ضبط یا آپلود پیام خوش‌آمدگویی
  • تنظیم حداکثر طول پیام‌های Voicemail
  • فعال‌سازی اعلان پیام‌های جدید از طریق ایمیل
  • حذف خودکار پیام‌های قدیمی برای مدیریت فضا
  • ارسال پیام‌های صوتی به چندین ایمیل

با این تنظیمات، کاربران می‌توانند Voicemail خود را بهینه‌سازی کرده و تجربه بهتری از سیستم تلفنی Issabel داشته باشند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”مدیریت Voicemail از طریق ایمیل و پنل مدیریت Issabel” subtitle=”توضیحات کامل”]Voicemail در Issabel امکان دریافت، مدیریت و اطلاع‌رسانی پیام‌های صوتی را فراهم می‌کند. کاربران می‌توانند پیام‌ها را مستقیماً از طریق ایمیل دریافت کنند یا از طریق پنل مدیریت Issabel به آن‌ها دسترسی داشته باشند. این قابلیت به افزایش بهره‌وری و تسهیل در دسترسی کاربران به پیام‌های صوتی کمک می‌کند.


1. فعال‌سازی ارسال پیام‌های Voicemail به ایمیل

روش 1: از طریق پنل گرافیکی Issabel
  1. وارد پنل مدیریت Issabel شوید.
  2. از منوی PBX > PBX Configuration > Extensions به بخش تنظیمات داخلی‌ها بروید.
  3. داخلی موردنظر را انتخاب کنید.
  4. در قسمت Voicemail & Directory موارد زیر را تنظیم کنید:
    • Enable Voicemail: فعال‌سازی Voicemail
    • Voicemail Password: رمز عبور Voicemail
    • Email Address: آدرس ایمیلی که پیام‌ها به آن ارسال می‌شوند.
    • Email Attachment: گزینه YES را انتخاب کنید تا پیام‌های صوتی به ایمیل ضمیمه شوند.
    • Play CID: شماره تماس‌گیرنده در پیام اعلام شود.
    • Delete Voicemail: انتخاب کنید که پیام پس از ارسال به ایمیل حذف شود یا خیر.
  5. روی Submit کلیک کنید و سپس Apply Config را بزنید.
روش 2: از طریق ویرایش فایل تنظیمات Voicemail در Asterisk

ویرایش فایل:

/etc/asterisk/voicemail.conf

افزودن تنظیمات برای داخلی 1001:

[default]
1001 => 1234,Ali Rezaei,ali.rezaei@example.com,attach=yes|saycid=yes|delete=no|emailnotif=yes

توضیحات:

  • attach=yes: ضمیمه کردن فایل صوتی در ایمیل
  • saycid=yes: اعلام شماره تماس‌گیرنده قبل از پخش پیام
  • delete=no: عدم حذف پیام پس از ارسال به ایمیل
  • emailnotif=yes: ارسال اعلان ایمیل برای پیام‌های جدید

اعمال تغییرات:

asterisk -rx "reload"

2. بررسی و مدیریت Voicemail از طریق پنل Issabel

دسترسی به پیام‌های صوتی از طریق پنل گرافیکی
  1. وارد پنل Issabel شوید.
  2. از منوی PBX > Voicemail گزینه Inbox را انتخاب کنید.
  3. داخلی موردنظر را انتخاب کنید.
  4. لیست پیام‌های دریافتی نمایش داده می‌شود. در اینجا می‌توان:
    • پیام‌ها را پخش کرد.
    • پیام‌ها را حذف کرد.
    • پیام‌ها را دانلود کرد.

3. مدیریت Voicemail از طریق ایمیل

تنظیم ارسال Voicemail به چندین ایمیل

برای ارسال پیام‌های Voicemail به چندین آدرس ایمیل، در تنظیمات مربوطه، ایمیل‌ها را با & از هم جدا کنید:

1001 => 1234,Ali Rezaei,ali.rezaei@example.com&support@example.com,attach=yes|delete=no
فعال‌سازی ارسال ایمیل در Issabel

Issabel از Postfix برای ارسال ایمیل‌ها استفاده می‌کند. اگر ایمیل‌ها ارسال نمی‌شوند، موارد زیر را بررسی کنید:

  1. بررسی وضعیت سرویس Postfix:
    systemctl status postfix
    

    اگر غیرفعال است، آن را فعال کنید:

    systemctl start postfix
    systemctl enable postfix
    
  2. بررسی لاگ ایمیل‌ها:
    tail -f /var/log/maillog
    
  3. تنظیم Postfix برای ارسال ایمیل از طریق SMTP
    ویرایش فایل:

    /etc/postfix/main.cf
    

    افزودن موارد زیر:

    relayhost = [smtp.example.com]:587
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    smtp_sasl_security_options = noanonymous
    

    سپس، فایل رمز عبور را تنظیم کنید:

    /etc/postfix/sasl_passwd
    
    [smtp.example.com]:587 username:password
    

    اعمال تغییرات:

    postmap /etc/postfix/sasl_passwd
    systemctl restart postfix
    

4. حذف خودکار پیام‌های قدیمی برای مدیریت فضا

برای جلوگیری از پر شدن فضای ذخیره‌سازی، می‌توان پیام‌های صوتی قدیمی را حذف کرد.

ویرایش فایل voicemail.conf:
maxmsg=50   ; حداکثر تعداد پیام‌های ذخیره‌شده
maxage=30   ; حذف پیام‌های قدیمی بعد از 30 روز

اعمال تغییرات:

asterisk -rx "reload"

جمع‌بندی

در این بخش، نحوه مدیریت Voicemail از طریق ایمیل و پنل Issabel بررسی شد. تنظیمات اصلی شامل:

  • ارسال پیام‌های Voicemail به ایمیل و ضمیمه کردن فایل صوتی
  • دسترسی به پیام‌های صوتی از طریق پنل Issabel
  • مدیریت پیام‌های Voicemail از طریق ایمیل و تنظیم SMTP
  • حذف خودکار پیام‌های قدیمی برای بهینه‌سازی فضای ذخیره‌سازی

با این روش‌ها، کاربران می‌توانند پیام‌های Voicemail را به‌راحتی مدیریت کنند و دسترسی به پیام‌های صوتی را تسهیل کنند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”آموزش نحوه استفاده از قابلیت‌های پیشرفته Voicemail مانند گروه‌بندی پیام‌ها و ارسال ایمیل” subtitle=”توضیحات کامل”]در این قسمت، به بررسی قابلیت‌های پیشرفته voicemail در سیستم Issabel می‌پردازیم که شامل گروه‌بندی پیام‌های صوتی و ارسال آن‌ها به ایمیل است. این ویژگی‌ها به شما این امکان را می‌دهند که پیام‌های صوتی را به‌طور مؤثرتر مدیریت کنید و اطلاعات تماس را سریع‌تر و راحت‌تر دریافت کنید.


1. گروه‌بندی پیام‌های Voicemail

گروه‌بندی پیام‌های Voicemail در Issabel یکی از ویژگی‌های مفید است که به شما این امکان را می‌دهد تا پیام‌ها را بر اساس گروه‌ها یا کاربران مختلف دسته‌بندی کنید. برای تنظیم این ویژگی، می‌توانید از تنظیمات داخلی و پیکربندی‌های زیر استفاده کنید.

تنظیمات گرافیکی برای گروه‌بندی پیام‌های Voicemail:
  1. وارد پنل مدیریتی Issabel شوید.
  2. به بخش PBX بروید.
  3. از منوی Voicemail، گزینه Voicemail Boxes را انتخاب کنید.
  4. برای هر کاربر، می‌توانید یک Mailbox اختصاصی ایجاد کرده و پیام‌های صوتی هر کاربر را به طور جداگانه دریافت کنید.
  5. برای گروه‌بندی پیام‌ها، از گزینه Group Voicemail استفاده کنید تا پیام‌های صوتی در گروه‌های مختلف دسته‌بندی شوند.
تنظیمات کامندی برای گروه‌بندی پیام‌های Voicemail:

برای گروه‌بندی پیام‌های Voicemail با استفاده از خط فرمان، شما باید فایل‌های پیکربندی را ویرایش کنید. این فایل‌ها در مسیر /etc/asterisk/voicemail.conf قرار دارند.

  • برای ایجاد یک گروه جدید، ابتدا باید فایل voicemail.conf را باز کنید:
nano /etc/asterisk/voicemail.conf
  • سپس می‌توانید یک گروه جدید ایجاد کنید. برای مثال، برای ایجاد یک گروه به نام “Sales”:
[Sales]
1234 => 5678, "Sales Group", email@example.com

این تنظیمات پیام‌های صوتی برای گروه “Sales” را ارسال می‌کند.


2. ارسال پیام‌های Voicemail به ایمیل

یکی از ویژگی‌های بسیار مفید voicemail ارسال پیام‌های صوتی به ایمیل است. این ویژگی به شما این امکان را می‌دهد که به‌طور خودکار پیام‌های صوتی را به ایمیل‌های مشخصی ارسال کنید.

تنظیمات گرافیکی برای ارسال پیام‌های Voicemail به ایمیل:
  1. وارد پنل مدیریتی Issabel شوید.
  2. به بخش PBX بروید.
  3. از منوی Voicemail، گزینه Voicemail Boxes را انتخاب کنید.
  4. برای هر mailbox، گزینه ارسال پیام‌های Voicemail به ایمیل را فعال کنید.
  5. آدرس ایمیل مقصد را در بخش مربوطه وارد کنید.
تنظیمات کامندی برای ارسال پیام‌های Voicemail به ایمیل:

برای ارسال پیام‌های Voicemail به ایمیل، شما باید تنظیمات مربوطه را در فایل voicemail.conf انجام دهید.

  1. فایل پیکربندی voicemail.conf را با ویرایشگر متن باز کنید:
nano /etc/asterisk/voicemail.conf
  1. سپس، در بخش مربوط به mailbox کاربر، گزینه ارسال ایمیل را فعال کنید. برای مثال:
[default]
1234 => 5678, "John Doe", john.doe@example.com

برای ارسال پیام‌های صوتی به ایمیل، بخش ایمیل باید به‌طور صحیح تنظیم شود.


جمع‌بندی

در این بخش، نحوه گروه‌بندی پیام‌های Voicemail و ارسال آن‌ها به ایمیل در سیستم Issabel بررسی شد. با استفاده از این قابلیت‌ها می‌توان پیام‌های صوتی را به‌طور مؤثرتر مدیریت کرده و اطلاعات تماس را سریع‌تر دریافت کرد. تنظیمات گرافیکی و کامندی برای هر دو قابلیت در سیستم Issabel به‌راحتی قابل انجام است و می‌تواند به بهینه‌سازی فرآیند مدیریت تماس‌ها و پیام‌های صوتی کمک کند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 9. تنظیمات مربوط به تماس‌های کنفرانس (Conference Calls)”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”نحوه تنظیم و پیکربندی اتاق‌های کنفرانس در Issabel” subtitle=”توضیحات کامل”]اتاق‌های کنفرانس در سیستم Issabel به‌عنوان یک ابزار قدرتمند برای مدیریت جلسات صوتی و تصویری در سازمان‌ها شناخته می‌شوند. در این قسمت، به نحوه تنظیم و پیکربندی اتاق‌های کنفرانس در Issabel  پرداخته می‌شود.


1. تنظیمات گرافیکی برای اتاق‌های کنفرانس در Issabel

برای ایجاد و پیکربندی اتاق‌های کنفرانس در Issabel، مراحل زیر را دنبال کنید:

  1. وارد پنل مدیریتی Issabel شوید.
  2. به بخش PBX بروید.
  3. در منوی PBX، گزینه Conferences را انتخاب کنید.
  4. بر روی گزینه Add Conference Room کلیک کنید تا یک اتاق کنفرانس جدید ایجاد کنید.
  5. در بخش Conference Room Details، مشخصات اتاق کنفرانس مانند نام، شماره داخلی، و تنظیمات مربوط به دسترسی و امنیت (مانند کد دسترسی) را وارد کنید.
  6. پس از تکمیل، بر روی Save کلیک کنید تا اتاق کنفرانس ذخیره شود.

2. تنظیمات کامندی برای اتاق‌های کنفرانس در Issabel

برای پیکربندی اتاق‌های کنفرانس از طریق خط فرمان، باید فایل‌های پیکربندی مربوطه را ویرایش کنید. این فایل‌ها در مسیر /etc/asterisk/conf قرار دارند.

2.1. ایجاد اتاق کنفرانس جدید
  1. ابتدا، فایل پیکربندی conf را باز کنید:
nano /etc/asterisk/meetme.conf
  1. سپس، اتاق کنفرانس جدید را با تنظیمات دلخواه ایجاد کنید. برای مثال، برای ایجاد یک اتاق کنفرانس با شماره داخلی 1001 و کد دسترسی 1234:
[default]
conf => 1001,1234,MyConferenceRoom

در اینجا، 1001 شماره داخلی اتاق کنفرانس، 1234 کد دسترسی، و MyConferenceRoom نام اتاق کنفرانس است.

2.2. تنظیمات پیشرفته برای امنیت و کنترل دسترسی

برای افزایش امنیت اتاق‌های کنفرانس، می‌توانید ویژگی‌های زیر را به پیکربندی خود اضافه کنید:

  • فعال‌سازی صدای انتظار:
[default]
conf => 1001,1234,MyConferenceRoom,1

این گزینه باعث می‌شود که کاربران قبل از ورود به اتاق کنفرانس صدای انتظار بشنوند.

  • غیرفعال کردن ورود خودکار:
[default]
conf => 1001,1234,MyConferenceRoom,0

با این تنظیمات، برای ورود به اتاق کنفرانس، کاربران باید منتظر تایید مدیر جلسه باشند.

2.3. تنظیمات گزارش‌گیری و نظارت

برای فعال‌سازی گزارش‌گیری و نظارت بر کنفرانس‌ها، باید از تنظیمات اضافی استفاده کنید. این تنظیمات در فایل meetme.conf قابل اعمال هستند:

[default]
conf => 1001,1234,MyConferenceRoom,1,yes
  • 1: فعال‌سازی صدای انتظار
  • yes: فعال‌سازی گزارش‌گیری در طول کنفرانس
2.4. ذخیره‌سازی تغییرات

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

service asterisk restart

3. تنظیمات پیکربندی خطوط کنفرانس

در برخی موارد، ممکن است بخواهید برای مدیریت بهتر اتاق‌های کنفرانس، خطوط خاصی را اختصاص دهید. برای این منظور، شما باید تنظیمات خطوط را در فایل extensions.conf اضافه کنید.

  1. فایل extensions.conf را باز کنید:
nano /etc/asterisk/extensions.conf
  1. سپس، خطوط کنفرانس را با استفاده از دستور Dial و شماره اتاق مشخص کنید:
[conference]
exten => 1001,1,MeetMe(1001,1234)

در اینجا، 1001 شماره اتاق کنفرانس و 1234 کد دسترسی آن است.


جمع‌بندی

در این بخش، نحوه تنظیم و پیکربندی اتاق‌های کنفرانس در Issabel به‌طور کامل توضیح داده شد. می‌توانید اتاق‌های کنفرانس جدید ایجاد کرده، تنظیمات پیشرفته مانند امنیت و کنترل دسترسی را اعمال کنید و از قابلیت‌های گزارش‌گیری و نظارت بهره‌برداری کنید. تنظیمات این قسمت به شما این امکان را می‌دهند که جلسات کنفرانس را به‌طور مؤثر مدیریت کنید و امنیت و کیفیت کنفرانس‌ها را تضمین کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”آموزش ویژگی‌های پیشرفته برای کنترل تعداد افراد حاضر در کنفرانس” subtitle=”توضیحات کامل”]یکی از قابلیت‌های مهم در سیستم‌های مدیریت کنفرانس صوتی، کنترل تعداد افراد حاضر در هر جلسه است. این ویژگی کمک می‌کند تا از ازدحام و مشکلات مربوط به ظرفیت اتاق‌ها جلوگیری شود. در این بخش، به ویژگی‌های پیشرفته برای کنترل تعداد افراد حاضر در کنفرانس در Issabel پرداخته می‌شود.


1. کنترل تعداد شرکت‌کنندگان در کنفرانس با استفاده از تنظیمات گرافیکی

Issabel این امکان را می‌دهد که تعداد شرکت‌کنندگان در هر اتاق کنفرانس را از طریق تنظیمات گرافیکی کنترل کنید. برای تنظیم این ویژگی:

  1. وارد پنل مدیریتی Issabel شوید.
  2. به بخش PBX بروید.
  3. در منوی PBX, گزینه Conferences را انتخاب کنید.
  4. اتاق کنفرانس مورد نظر را انتخاب کرده و برای ویرایش آن، بر روی گزینه Edit کلیک کنید.
  5. در بخش Max Participants، تعداد حداکثر شرکت‌کنندگان در کنفرانس را وارد کنید.
  6. تنظیمات را ذخیره کرده و تغییرات را اعمال کنید.

با این تنظیمات، وقتی تعداد شرکت‌کنندگان به حد مجاز برسد، دیگر افراد نمی‌توانند وارد کنفرانس شوند.

2. کنترل تعداد شرکت‌کنندگان از طریق تنظیمات کامندی

برای پیکربندی کنترل تعداد شرکت‌کنندگان در کنفرانس از طریق خط فرمان، باید فایل‌های پیکربندی Asterisk را ویرایش کنید. این تنظیمات به شما اجازه می‌دهند که به‌صورت دقیق تعداد افراد حاضر در کنفرانس را محدود کنید.

2.1. پیکربندی محدودیت تعداد شرکت‌کنندگان
  1. ابتدا، فایل پیکربندی meetme.conf را باز کنید:
nano /etc/asterisk/meetme.conf
  1. سپس، برای هر اتاق کنفرانس که می‌خواهید تعداد شرکت‌کنندگان آن را محدود کنید، گزینه maxusers را تنظیم کنید:
[default]
conf => 1001,1234,MyConferenceRoom,maxusers=10

در اینجا، 1001 شماره اتاق کنفرانس، 1234 کد دسترسی، MyConferenceRoom نام اتاق، و maxusers=10 محدودیت تعداد شرکت‌کنندگان به 10 نفر است.

2.2. اعمال تنظیمات محدودیت ظرفیت

برای اعمال تنظیمات محدودیت ظرفیت به‌طور پیشرفته‌تر، می‌توانید از پارامترهای اضافی استفاده کنید. به‌عنوان مثال، می‌توانید پیام‌های خاصی برای اعلام پر شدن ظرفیت اتاق کنفرانس ایجاد کنید.

[default]
conf => 1001,1234,MyConferenceRoom,maxusers=10,announcejoin=yes,announceleave=yes
  • announcejoin=yes: اعلام پیامی هنگام ورود یک شرکت‌کننده جدید به کنفرانس.
  • announceleave=yes: اعلام پیامی هنگام ترک یک شرکت‌کننده از کنفرانس.
2.3. ذخیره‌سازی تغییرات

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

service asterisk restart

3. محدودیت تعداد افراد با استفاده از فایل extensions.conf

اگر می‌خواهید محدودیت تعداد افراد را از طریق extensions.conf پیاده‌سازی کنید، می‌توانید از دستور MeetMe() در این فایل استفاده کنید تا ظرفیت اتاق‌های کنفرانس را محدود کنید.

  1. فایل extensions.conf را باز کنید:
nano /etc/asterisk/extensions.conf
  1. سپس، در بخش مربوط به اتاق‌های کنفرانس، برای هر اتاق، محدودیت تعداد افراد را با استفاده از پارامتر MaxUsers تعیین کنید:
[conference]
exten => 1001,1,MeetMe(1001,1234,maxusers=10)

در اینجا، 1001 شماره داخلی اتاق کنفرانس، 1234 کد دسترسی و maxusers=10 حداکثر تعداد شرکت‌کنندگان است.


4. استفاده از ویژگی‌های پیشرفته برای کنترل بیشتر

در صورتی که بخواهید سطح کنترل بیشتری بر تعداد شرکت‌کنندگان داشته باشید، می‌توانید از ویژگی‌هایی مانند انتظار در صف و ارسال پیام به شرکت‌کنندگان استفاده کنید.

4.1. فعال‌سازی صف انتظار

برای جلوگیری از ورود کاربران جدید به کنفرانس زمانی که ظرفیت آن پر است، می‌توانید ویژگی صف انتظار را فعال کنید.

  1. برای این کار، در فایل meetme.conf گزینه waitroom را فعال کنید:
[default]
conf => 1001,1234,MyConferenceRoom,maxusers=10,waitroom=yes

با این تنظیم، کاربران جدید به‌جای اینکه به اتاق کنفرانس وارد شوند، به صف انتظار اضافه می‌شوند تا زمانی که فضایی برای ورود به کنفرانس آزاد شود.

4.2. ارسال پیام به شرکت‌کنندگان

برای ارسال پیام به کاربران در صورت پر بودن ظرفیت، می‌توانید از تنظیمات پیام در فایل meetme.conf استفاده کنید:

[default]
conf => 1001,1234,MyConferenceRoom,maxusers=10,waitroom=yes,announcewait=yes
  • announcewait=yes: فعال‌سازی پیام برای افرادی که در صف انتظار قرار دارند.

جمع‌بندی

در این بخش، ویژگی‌های پیشرفته برای کنترل تعداد افراد حاضر در کنفرانس در Issabel توضیح داده شد. با استفاده از تنظیمات گرافیکی و کامندی، می‌توانید تعداد شرکت‌کنندگان را محدود کرده و از ویژگی‌های پیشرفته‌ای مانند صف انتظار و ارسال پیام به کاربران استفاده کنید. این تنظیمات به شما کمک می‌کنند تا کنفرانس‌ها را به‌طور مؤثر مدیریت کرده و از مشکلات ظرفیت جلوگیری کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیمات امنیتی برای کنفرانس‌ها (کد دسترسی، قفل کنفرانس)” subtitle=”توضیحات کامل”]برای افزایش امنیت کنفرانس‌ها در سیستم Issabel، می‌توان از چندین تنظیم امنیتی مانند کد دسترسی و قفل کنفرانس استفاده کرد. این تنظیمات به شما کمک می‌کنند تا از ورود غیرمجاز به کنفرانس‌ها جلوگیری کرده و از برگزاری جلسات امن‌تری برخوردار شوید.


1. تنظیم کد دسترسی برای کنفرانس‌ها

کد دسترسی یکی از مهم‌ترین روش‌ها برای محدود کردن دسترسی به اتاق‌های کنفرانس است. برای تنظیم کد دسترسی، شما باید از فایل پیکربندی Asterisk استفاده کنید.

1.1. پیکربندی کد دسترسی برای کنفرانس

برای افزودن کد دسترسی به یک اتاق کنفرانس خاص، باید فایل meetme.conf را ویرایش کنید.

  1. ابتدا فایل پیکربندی meetme.conf را باز کنید:
nano /etc/asterisk/meetme.conf
  1. سپس برای اتاق کنفرانس خود کد دسترسی را مشخص کنید. به‌طور مثال، برای اتاق کنفرانس 1001 با کد دسترسی 1234:
[default]
conf => 1001,1234,MyConferenceRoom

در اینجا:

  • 1001 شماره اتاق کنفرانس
  • 1234 کد دسترسی
  • MyConferenceRoom نام اتاق کنفرانس

با این تنظیمات، هر کسی که بخواهد وارد این اتاق کنفرانس شود، باید کد دسترسی 1234 را وارد کند.

1.2. فعال‌سازی کد دسترسی برای اتصال از طریق خط فرمان

اگر می‌خواهید از خط فرمان برای راه‌اندازی کنفرانس‌ها استفاده کنید، می‌توانید از دستور MeetMe() در فایل extensions.conf استفاده کنید و کد دسترسی را به‌طور مستقیم وارد کنید:

  1. فایل extensions.conf را باز کنید:
nano /etc/asterisk/extensions.conf
  1. سپس، کد دسترسی را برای اتاق کنفرانس مشخص کنید:
[conference]
exten => 1001,1,MeetMe(1001,1234)

در اینجا:

  • 1001 شماره اتاق کنفرانس
  • 1234 کد دسترسی

با این تنظیمات، هنگام برقراری تماس به اتاق کنفرانس، وارد کردن کد دسترسی 1234 الزامی است.


2. تنظیم قفل کنفرانس

یکی از ویژگی‌های پیشرفته امنیتی برای اتاق‌های کنفرانس، قفل کنفرانس است. قفل کنفرانس باعث می‌شود تا پس از شروع جلسه، هیچ شخصی نتواند به کنفرانس وارد شود، حتی اگر کد دسترسی صحیح را داشته باشد.

2.1. فعال‌سازی قفل کنفرانس از طریق فایل meetme.conf

برای فعال‌سازی قفل کنفرانس، می‌توانید از گزینه lock در فایل meetme.conf استفاده کنید:

  1. فایل meetme.conf را باز کنید:
nano /etc/asterisk/meetme.conf
  1. سپس، برای هر اتاق کنفرانس، گزینه lock را تنظیم کنید:
[default]
conf => 1001,1234,MyConferenceRoom,lock=yes

در اینجا:

  • lock=yes باعث می‌شود که پس از ورود اولین نفر به کنفرانس، هیچ کسی نتواند وارد شود.
2.2. فعال‌سازی قفل کنفرانس از طریق فایل extensions.conf

اگر می‌خواهید از طریق فایل extensions.conf قفل کنفرانس را فعال کنید، باید از دستور MeetMe() با گزینه lock استفاده کنید:

  1. فایل extensions.conf را باز کنید:
nano /etc/asterisk/extensions.conf
  1. سپس، در بخش مربوط به اتاق‌های کنفرانس، دستور lock را اضافه کنید:
[conference]
exten => 1001,1,MeetMe(1001,1234,lock)

با این تنظیمات، پس از شروع جلسه، هیچ فرد جدیدی نمی‌تواند به کنفرانس وارد شود.


3. ترکیب کد دسترسی و قفل کنفرانس

برای بالاترین سطح امنیت، می‌توانید از ترکیب کد دسترسی و قفل کنفرانس استفاده کنید. به این ترتیب، ابتدا کاربر باید کد دسترسی صحیح را وارد کند و سپس پس از شروع جلسه، کنفرانس قفل می‌شود.

3.1. تنظیمات ترکیبی در meetme.conf
  1. فایل meetme.conf را باز کنید:
nano /etc/asterisk/meetme.conf
  1. برای ترکیب این دو ویژگی، تنظیمات را به‌صورت زیر وارد کنید:
[default]
conf => 1001,1234,MyConferenceRoom,lock=yes
3.2. تنظیمات ترکیبی در extensions.conf
  1. فایل extensions.conf را باز کنید:
nano /etc/asterisk/extensions.conf
  1. برای ترکیب کد دسترسی و قفل، دستور MeetMe() را به‌صورت زیر ویرایش کنید:
[conference]
exten => 1001,1,MeetMe(1001,1234,lock)

جمع‌بندی

در این بخش، نحوه تنظیم کد دسترسی و قفل کنفرانس در Issabel توضیح داده شد. با استفاده از این تنظیمات، شما می‌توانید امنیت کنفرانس‌های صوتی خود را افزایش دهید و از ورود غیرمجاز به اتاق‌های کنفرانس جلوگیری کنید. این تنظیمات شامل استفاده از کد دسترسی و قفل کنفرانس از طریق فایل‌های meetme.conf و extensions.conf است که می‌توانید آن‌ها را با توجه به نیازهای خود شخصی‌سازی کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیمات کیفیت تماس برای کنفرانس‌های صوتی” subtitle=”توضیحات کامل”]کیفیت تماس در کنفرانس‌های صوتی از اهمیت بالایی برخوردار است، زیرا می‌تواند تأثیر زیادی بر تجربه کاربران و برگزاری جلسه داشته باشد. در سیستم Issabel (که بر اساس Asterisk ساخته شده است)، شما می‌توانید تنظیمات مختلفی برای بهینه‌سازی کیفیت تماس انجام دهید. این تنظیمات شامل انتخاب کدک مناسب، بهینه‌سازی منابع، و تنظیمات پیشرفته NAT و فایروال می‌باشد.


1. انتخاب کدک‌های مناسب برای کنفرانس

کدک‌ها (Codecs) مسئول فشرده‌سازی و انتقال داده‌های صوتی هستند. برای بهبود کیفیت تماس، انتخاب کدک مناسب بسیار مهم است. در سیستم Issabel، شما می‌توانید کدک‌های مختلف را برای کنفرانس‌های صوتی تنظیم کنید.

1.1. پیکربندی کدک‌ها در Asterisk

برای تنظیم کدک‌ها، فایل sip.conf یا pjsip.conf را باید ویرایش کنید. این فایل‌ها تنظیمات مربوط به پروتکل SIP را در بر دارند.

  1. باز کردن فایل sip.conf:
nano /etc/asterisk/sip.conf
  1. در بخش مربوط به تنظیمات کدک‌ها، باید اولویت کدک‌ها را تنظیم کنید. به‌طور مثال، برای استفاده از کدک‌های ulaw، alaw و gsm:
[general]
disallow=all
allow=ulaw
allow=alaw
allow=gsm

در اینجا:

  • disallow=all تمام کدک‌ها را غیرفعال می‌کند.
  • allow=ulaw، allow=alaw و allow=gsm کدک‌هایی هستند که مجاز به استفاده هستند و اولویت‌بندی در اینجا بر اساس ترتیب آن‌ها انجام می‌شود.
1.2. پیکربندی کدک‌ها در pjsip.conf

برای سیستم‌های جدیدتر که از پورتوکول PJSIP استفاده می‌کنند، تنظیمات مشابهی در فایل pjsip.conf وجود دارد.

  1. باز کردن فایل pjsip.conf:
nano /etc/asterisk/pjsip.conf
  1. تنظیم اولویت کدک‌ها به‌صورت زیر:
[general]
disallow=all
allow=ulaw
allow=alaw
allow=gsm

با این تنظیمات، برای ارتباطات صوتی، Asterisk ابتدا از کدک ulaw استفاده خواهد کرد و در صورتی که این کدک در دسترس نباشد، از alaw یا gsm استفاده می‌شود.


2. بهینه‌سازی پهنای باند و استفاده از QoS

برای اطمینان از کیفیت تماس‌های صوتی، باید از پهنای باند مناسب استفاده کنید و همچنین از Quality of Service (QoS) برای اولویت‌بندی ترافیک صوتی استفاده نمایید.

2.1. تنظیمات پهنای باند در Asterisk

برای مدیریت پهنای باند و جلوگیری از افت کیفیت، می‌توانید از تنظیمات مربوط به bandwidth در Asterisk استفاده کنید.

  1. باز کردن فایل sip.conf:
nano /etc/asterisk/sip.conf
  1. افزودن محدودیت‌های پهنای باند برای هر خط SIP:
[general]
bandwidth=low

در اینجا، گزینه bandwidth=low باعث می‌شود که Asterisk در شرایطی که پهنای باند محدود است، از کدک‌های فشرده‌تر استفاده کند.

2.2. استفاده از QoS در شبکه

برای بهبود کیفیت تماس، باید از QoS در شبکه استفاده کنید تا ترافیک صوتی به‌صورت اولویت‌دار ارسال شود. تنظیمات QoS باید در روتر یا سوئیچ شبکه اعمال شود، اما در سیستم Asterisk می‌توانید از گزینه‌های tos و priority برای تنظیم QoS استفاده کنید.

  1. تنظیم QoS در فایل sip.conf:
[general]
tos=cs3
priority=high

در اینجا:

  • tos=cs3 کیفیت خدمات برای صدا را به اولویت بالا تنظیم می‌کند.
  • priority=high اولویت ارسال بسته‌های صوتی را بیشتر می‌کند.

3. تنظیمات NAT برای کیفیت بهتر تماس

اگر سیستم Asterisk شما پشت یک NAT (ترجمه آدرس شبکه) قرار دارد، باید از تنظیمات مربوط به NAT استفاده کنید تا تماس‌ها بدون مشکل از طریق اینترنت برقرار شوند.

3.1. پیکربندی NAT در Asterisk

برای تنظیم NAT در Asterisk، باید فایل sip.conf را ویرایش کنید.

  1. باز کردن فایل sip.conf:
nano /etc/asterisk/sip.conf
  1. تنظیم NAT برای حل مشکلات مربوط به ترجمه آدرس‌ها:
[general]
nat=force_rport,comedia

در اینجا:

  • nat=force_rport,comedia تنظیمات NAT را فعال می‌کند تا Asterisk قادر به تنظیم درست بسته‌های صوتی و سیگنالینگ باشد.
3.2. پیکربندی NAT برای پورت‌های PJSIP

اگر از PJSIP استفاده می‌کنید، باید در فایل pjsip.conf تنظیمات مربوط به NAT را انجام دهید.

  1. باز کردن فایل pjsip.conf:
nano /etc/asterisk/pjsip.conf
  1. افزودن تنظیمات NAT:
[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0:5060
local_net=192.168.1.0/255.255.255.0
external_media_address=1.2.3.4
external_signaling_address=1.2.3.4

در اینجا:

  • local_net=192.168.1.0/255.255.255.0 تنظیمات شبکه داخلی را مشخص می‌کند.
  • external_media_address=1.2.3.4 و external_signaling_address=1.2.3.4 آدرس‌های عمومی سرور را برای رسانه و سیگنالینگ مشخص می‌کند.

جمع‌بندی

در این بخش، نحوه تنظیم کیفیت تماس برای کنفرانس‌های صوتی در سیستم Issabel توضیح داده شد. با استفاده از تنظیمات کدک‌ها، بهینه‌سازی پهنای باند، استفاده از QoS و تنظیمات NAT، می‌توانید کیفیت تماس‌ها را به طرز چشمگیری افزایش دهید. تنظیمات پیکربندی در فایل‌های sip.conf و pjsip.conf و همچنین به‌کارگیری تکنیک‌های مدیریت پهنای باند و QoS می‌تواند باعث کاهش اختلالات و افزایش وضوح صدای کنفرانس‌های صوتی شود.[/cdb_course_lesson][cdb_course_lesson title=”فصل 10. پیکربندی قوانین کال‌بک (Call Back) و تماس خودکار”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تعریف و تنظیم قوانین Call Back برای کاربران” subtitle=”توضیحات کامل”]قابلیت Call Back به کاربران این امکان را می‌دهد که درخواست تماس از طریق سیستم تلفنی ایجاد کنند و پس از این که تماس به سرور رسید، سیستم به‌طور خودکار به آن‌ها باز می‌گردد. این ویژگی در سیستم‌هایی مانند Issabel می‌تواند برای کاربرانی که در مکان‌های دوردست قرار دارند یا به هر دلیل نمی‌خواهند هزینه تماس‌های بین‌المللی را بپردازند، مفید باشد.

در این قسمت، نحوه تعریف و تنظیم قوانین Call Back برای کاربران در Issabel بررسی می‌شود.


1. فعال‌سازی قابلیت Call Back در Issabel

قبل از شروع به تعریف قوانین Call Back، باید ابتدا قابلیت آن را در Issabel فعال کنیم.

1.1. فعال‌سازی در فایل extensions_custom.conf

برای فعال‌سازی Call Back، باید ابتدا تنظیمات آن را در فایل extensions_custom.conf وارد کنیم. این فایل معمولاً در مسیر /etc/asterisk/ قرار دارد.

  1. باز کردن فایل extensions_custom.conf:
nano /etc/asterisk/extensions_custom.conf
  1. افزودن تنظیمات اولیه Call Back:
[default]
exten => _X.,1,Answer()
    same => n,Playback(please-enter-your-phone-number)
    same => n,WaitExten()

در این تنظیمات، سیستم از کاربر درخواست می‌کند که شماره تلفن خود را وارد کند و سپس منتظر می‌ماند تا شماره‌ای دریافت کند. پس از دریافت شماره، تماس به مقصد مشخص‌شده بازگشت داده می‌شود.


2. تنظیم قوانین Call Back

برای تنظیم قوانین Call Back، باید در بخش‌های مختلف Issabel و Asterisk قوانینی تعریف کنیم که کنترل کنند که چه زمانی و به چه کاربرانی Call Back انجام شود.

2.1. تنظیمات اولیه برای شماره‌های تماس

در ابتدا باید شماره‌هایی که می‌خواهند از این ویژگی استفاده کنند را مشخص کنیم. برای این کار، باید یک گروه Dialplan برای شماره‌ها ایجاد کنیم.

  1. باز کردن فایل extensions_custom.conf:
nano /etc/asterisk/extensions_custom.conf
  1. ایجاد Dialplan برای شماره‌های خاص:
[call-back-rules]
exten => _X.,1,NoOp(Call Back Requested)
    same => n,Answer()
    same => n,Playback(please-hold-for-call-back)
    same => n,Set(CALLBACK_NUMBER=${CALLERID(num)})
    same => n,Queue(call-back-queue,t)

در اینجا، شماره تلفن وارد شده توسط کاربر در متغیر ${CALLERID(num)} ذخیره می‌شود و سپس تماس به صف call-back-queue ارسال می‌شود.

2.2. تنظیم صف (Queue) برای Call Back

برای ارسال تماس‌ها به صف خاص و انجام Call Back، باید یک صف ایجاد کنیم که تماس‌ها در آن نگهداری شوند تا پس از زمان مشخصی بازگشت داده شوند.

  1. باز کردن فایل queues.conf:
nano /etc/asterisk/queues.conf
  1. ایجاد صف برای درخواست‌های Call Back:
[call-back-queue]
musicclass = default
strategy = ringall
timeout = 30
retry = 5
wrapuptime = 10
announce = true

در اینجا:

  • strategy = ringall به این معناست که تمامی نمایندگان یا ترمینال‌های تماس باید هم‌زمان تماس را بگیرند.
  • timeout = 30 به معنای 30 ثانیه برای انتظار کاربران است.
  • retry = 5 تعیین می‌کند که چند بار باید تلاش برای Call Back انجام شود.
2.3. تنظیم Caller ID برای Call Back

در صورتی که نیاز داشته باشید که در زمان Call Back شماره caller ID را تغییر دهید یا اطلاعات خاصی از تماس گیرنده نشان داده شود، می‌توانید از تنظیمات زیر استفاده کنید.

  1. باز کردن فایل extensions_custom.conf:
nano /etc/asterisk/extensions_custom.conf
  1. تغییر Caller ID در Dialplan:
exten => _X.,1,Set(CALLERID(num)=1234567890)
    same => n,Dial(SIP/${CALLBACK_NUMBER})

در اینجا، شماره 1234567890 به‌عنوان شماره نمایشی برای تماس به جای شماره واقعی کاربر نمایش داده می‌شود.


3. تخصیص قوانین Call Back به کاربران خاص

حالا که تنظیمات مربوط به Call Back انجام شده است، باید قوانینی برای تخصیص این ویژگی به کاربران خاص تعریف کنیم.

3.1. تخصیص ویژگی Call Back به یک Extension خاص

برای تخصیص Call Back به یک Extension خاص، باید شماره داخلی کاربر را به یک Dialplan خاص اضافه کنید.

  1. باز کردن فایل extensions_custom.conf:
nano /etc/asterisk/extensions_custom.conf
  1. افزودن تنظیمات برای Extension خاص:
[call-back]
exten => 1001,1,NoOp(Call Back for User 1001)
    same => n,Dial(SIP/1001)
    same => n,Hangup()

در اینجا، زمانی که کاربر با Extension 1001 تماس بگیرد، به‌طور خودکار قوانین Call Back برای او فعال خواهد شد.


جمع‌بندی

در این بخش، نحوه تعریف و تنظیم قوانین Call Back برای کاربران در سیستم Issabel توضیح داده شد. ابتدا تنظیمات اولیه برای فعال‌سازی Call Back و سپس قوانین مختلف برای مدیریت تماس‌ها، شماره‌ها، صف‌ها و Caller ID توضیح داده شد. با این تنظیمات، می‌توانید به‌طور مؤثر ویژگی Call Back را برای کاربران خود پیکربندی کرده و تجربه‌ی کاربری بهتری فراهم کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”نحوه پیکربندی سیستم تماس خودکار برای پاسخگویی به درخواست‌ها” subtitle=”توضیحات کامل”]سیستم تماس خودکار (Auto Attendant) در Issabel یک سیستم قدرتمند برای پاسخگویی به تماس‌ها و هدایت آن‌ها به بخش‌های مختلف شرکت یا سازمان است. این سیستم به‌طور خودکار تماس‌ها را دریافت کرده و بر اساس تنظیماتی که برای آن تعریف می‌شود، تماس‌ها را به مقصد مورد نظر هدایت می‌کند.

در این بخش، نحوه پیکربندی سیستم تماس خودکار برای پاسخگویی به درخواست‌ها در Issabel به‌طور مفصل شرح داده می‌شود.


1. تعریف Auto Attendant در Issabel

برای راه‌اندازی سیستم تماس خودکار (Auto Attendant)، باید از ویژگی‌های Asterisk Dialplan استفاده کنیم که به‌طور خودکار تماس‌ها را به مسیرهای مختلف هدایت می‌کند.

1.1. باز کردن فایل extensions_custom.conf

ابتدا باید فایل تنظیمات extensions_custom.conf را باز کرده و تنظیمات اولیه سیستم تماس خودکار را وارد کنیم. این فایل معمولاً در مسیر /etc/asterisk/ قرار دارد.

  1. باز کردن فایل تنظیمات:
nano /etc/asterisk/extensions_custom.conf
  1. اضافه کردن Dialplan برای سیستم تماس خودکار:
[auto-attendant]
exten => s,1,Answer()
    same => n,Playback(welcome-message)     ; پخش پیام خوش‌آمدگویی
    same => n,WaitExten()                     ; منتظر وارد شدن گزینه از سمت کاربر
    same => n,Hangup()

در این قسمت:

  • پس از پاسخ به تماس، پیام خوش‌آمدگویی پخش می‌شود.
  • سپس سیستم منتظر دریافت ورودی از کاربر است (مثل فشردن دکمه‌ها بر روی تلفن).
  • پس از انتخاب کاربر، تماس به مسیر مشخص‌شده هدایت می‌شود.

2. پیکربندی ورودی‌های کاربر

بعد از اینکه تماس به سیستم تماس خودکار وارد شد، باید برای هر ورودی کاربر (مثلاً فشردن دکمه‌های مختلف برای هدایت به دپارتمان‌ها) یک عملیات خاص تعریف کنیم.

2.1. اضافه کردن ورودی‌های مختلف به Dialplan

در این قسمت، ورودی‌های مختلف مانند دکمه‌های 1، 2، 3 و غیره را به سیستم تماس خودکار اضافه خواهیم کرد.

  1. باز کردن فایل extensions_custom.conf:
nano /etc/asterisk/extensions_custom.conf
  1. اضافه کردن ورودی‌ها برای دپارتمان‌های مختلف:
[auto-attendant]
exten => s,1,Answer()
    same => n,Playback(welcome-message)         ; پخش پیام خوش‌آمدگویی
    same => n,WaitExten()                        ; منتظر دریافت ورودی از کاربر

exten => 1,1,Goto(sales-menu,s,1)               ; انتقال به منوی فروش
exten => 2,1,Goto(support-menu,s,1)             ; انتقال به منوی پشتیبانی
exten => 3,1,Goto(accounting-menu,s,1)          ; انتقال به منوی حسابداری
exten => t,1,Playback(sorry)                    ; اگر هیچ ورودی داده نشد
    same => n,Hangup()

در اینجا:

  • اگر کاربر دکمه 1 را فشار دهد، به منوی فروش هدایت می‌شود.
  • اگر کاربر دکمه 2 را فشار دهد، به منوی پشتیبانی هدایت می‌شود.
  • اگر کاربر دکمه 3 را فشار دهد، به منوی حسابداری هدایت می‌شود.
  • اگر هیچ ورودی وارد نشود، سیستم پیام «متاسفم» را پخش کرده و تماس قطع می‌شود.

3. ایجاد منوهای فرعی

حالا که ورودی‌ها برای منوهای مختلف تنظیم شدند، باید منوهای فرعی را برای هر دپارتمان یا بخش در سیستم تماس خودکار پیکربندی کنیم.

3.1. پیکربندی منوی فروش

برای مثال، منوی فروش ممکن است شامل گزینه‌هایی مانند انتقال به نماینده فروش، پخش اطلاعات تماس و غیره باشد.

  1. باز کردن فایل extensions_custom.conf:
nano /etc/asterisk/extensions_custom.conf
  1. افزودن تنظیمات برای منوی فروش:
[sales-menu]
exten => s,1,Playback(press-1-for-sales-representative)
    same => n,WaitExten()

exten => 1,1,Dial(SIP/sales-representative)     ; تماس با نماینده فروش
exten => t,1,Playback(sorry)                      ; در صورت عدم وارد کردن ورودی
    same => n,Hangup()

در اینجا:

  • پیام «برای ارتباط با نماینده فروش، دکمه 1 را فشار دهید» پخش می‌شود.
  • اگر کاربر دکمه 1 را فشار دهد، تماس به نماینده فروش منتقل می‌شود.
3.2. پیکربندی منوی پشتیبانی

برای منوی پشتیبانی هم می‌توانیم تنظیمات مشابهی را پیاده‌سازی کنیم.

  1. باز کردن فایل extensions_custom.conf:
nano /etc/asterisk/extensions_custom.conf
  1. افزودن تنظیمات برای منوی پشتیبانی:
[support-menu]
exten => s,1,Playback(press-1-for-support-representative)
    same => n,WaitExten()

exten => 1,1,Dial(SIP/support-representative)     ; تماس با نماینده پشتیبانی
exten => t,1,Playback(sorry)                        ; در صورت عدم وارد کردن ورودی
    same => n,Hangup()

در اینجا:

  • پیام «برای ارتباط با نماینده پشتیبانی، دکمه 1 را فشار دهید» پخش می‌شود.
  • اگر کاربر دکمه 1 را فشار دهد، تماس به نماینده پشتیبانی منتقل می‌شود.

4. پیکربندی Caller ID و پیام‌های صوتی

در صورتی که نیاز به تنظیم Caller ID خاص یا پیام‌های صوتی سفارشی برای هر منو یا بخش دارید، می‌توانید از تنظیمات زیر استفاده کنید.

4.1. تنظیم Caller ID در Dialplan
  1. باز کردن فایل extensions_custom.conf:
nano /etc/asterisk/extensions_custom.conf
  1. افزودن تنظیمات Caller ID:
exten => _X.,1,Set(CALLERID(num)=1234567890)
    same => n,Dial(SIP/${EXTEN}@my-sip-provider)

در اینجا، شماره 1234567890 به‌عنوان شماره نمایش داده شده برای تماس‌ها تنظیم می‌شود.


جمع‌بندی

در این بخش، نحوه پیکربندی سیستم تماس خودکار (Auto Attendant) برای پاسخگویی به درخواست‌ها در Issabel بررسی شد. ابتدا تنظیمات اولیه برای راه‌اندازی سیستم تماس خودکار انجام شد. سپس ورودی‌های مختلف برای دپارتمان‌ها و منوهای فرعی، مانند فروش و پشتیبانی، پیکربندی شد. همچنین، نحوه مدیریت Caller ID و پیام‌های صوتی برای هر بخش نیز توضیح داده شد. با این تنظیمات، سیستم تماس خودکار به‌طور مؤثر قادر به هدایت تماس‌ها و پاسخگویی به درخواست‌های کاربران خواهد بود.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیمات مربوط به محدودیت‌های Call Back برای گروه‌های خاص” subtitle=”توضیحات کامل”]سیستم Call Back در Issabel این امکان را فراهم می‌آورد که کاربران بتوانند درخواست تماس بازگشتی بدهند. با این حال، ممکن است نیاز به اعمال محدودیت‌هایی برای گروه‌های خاص از کاربران وجود داشته باشد تا تنها برخی از گروه‌ها بتوانند از این قابلیت استفاده کنند. در این بخش، نحوه پیکربندی و تنظیم محدودیت‌های Call Back برای گروه‌های خاص در Issabel توضیح داده می‌شود.


1. ایجاد گروه‌های خاص برای Call Back

ابتدا باید گروه‌های مختلف کاربران را برای Call Back تعریف کنیم. این گروه‌ها می‌توانند بر اساس نیاز سازمان یا ویژگی‌های خاص مانند سطح دسترسی یا نوع درخواست دسته‌بندی شوند.

1.1. تعریف گروه‌ها در Issabel

گروه‌ها معمولاً در فایل extensions_custom.conf یا از طریق رابط گرافیکی Issabel تنظیم می‌شوند. برای شروع، فرض می‌کنیم که گروه‌های مختلف به‌صورت دستی در سیستم تعریف می‌شوند.

  1. باز کردن فایل extensions_custom.conf:
nano /etc/asterisk/extensions_custom.conf
  1. تعریف گروه‌ها و محدودیت‌ها:
[callback-groups]
; گروه 1 (گروه مدیران)
exten => _1X.,1,Set(CALLBACK_GROUP=admins)
    same => n,GotoIf($["${CALLBACK_GROUP}"="admins"]?callback-allowed,1)
    same => n,Hangup()

; گروه 2 (گروه کاربران عادی)
exten => _2X.,1,Set(CALLBACK_GROUP=users)
    same => n,GotoIf($["${CALLBACK_GROUP}"="users"]?callback-restricted,1)
    same => n,Hangup()

در این مثال:

  • گروه اول (مدیران) می‌توانند از قابلیت Call Back استفاده کنند.
  • گروه دوم (کاربران عادی) نمی‌توانند از این قابلیت استفاده کنند.

2. پیکربندی محدودیت‌های Call Back

حال که گروه‌ها تعریف شده‌اند، می‌توانیم محدودیت‌هایی برای استفاده از قابلیت Call Back در گروه‌های خاص تعیین کنیم. این محدودیت‌ها می‌توانند شامل زمانی باشند که Call Back فعال است، یا اینکه فقط برخی کاربران مجاز به درخواست Call Back هستند.

2.1. تنظیم محدودیت‌های زمانی برای Call Back

در اینجا، فرض می‌کنیم که درخواست‌های Call Back تنها در ساعات کاری (مثلاً بین 9 صبح تا 5 عصر) قابل قبول هستند. برای این کار می‌توان از تنظیمات Time Conditions استفاده کرد.

  1. باز کردن فایل extensions_custom.conf:
nano /etc/asterisk/extensions_custom.conf
  1. افزودن محدودیت زمانی به Dialplan:
[callback-allowed]
exten => s,1,GotoIfTime(09:00-17:00,mon-fri,,?callback-restricted,1)
    same => n,Dial(SIP/${CALLBACK_GROUP}@callback-server)

[callback-restricted]
exten => s,1,Playback(sorry-no-callback)
    same => n,Hangup()

در اینجا:

  • درخواست‌های Call Back تنها در ساعات کاری (9 صبح تا 5 عصر، دوشنبه تا جمعه) فعال هستند.
  • اگر کاربر خارج از این ساعات تماس بگیرد، پیام «متاسفم، امکان درخواست تماس بازگشتی در این زمان وجود ندارد» پخش می‌شود.

3. اعمال محدودیت‌ها برای گروه‌های خاص در تنظیمات Call Back

حال که گروه‌ها و محدودیت‌های زمانی تعریف شده‌اند، می‌توان به هر گروه خاص اجازه داد که از سیستم Call Back استفاده کند.

3.1. پیکربندی گروه‌ها برای محدودیت‌های Call Back

برای محدود کردن دسترسی به قابلیت Call Back برای گروه‌های خاص، می‌توان از متغیرهای ویژه‌ای در extensions_custom.conf استفاده کرد. در اینجا از متغیر CALLBACK_GROUP برای شناسایی گروه استفاده می‌کنیم.

  1. باز کردن فایل extensions_custom.conf:
nano /etc/asterisk/extensions_custom.conf
  1. افزودن محدودیت‌های Call Back برای هر گروه:
[callback-allowed]
exten => s,1,Set(CALLBACK_GROUP=${CALLBACK_GROUP})
    same => n,GotoIf($["${CALLBACK_GROUP}"="admins"]?allow-callback,1)
    same => n,Playback(no-permission)
    same => n,Hangup()

exten => allow-callback,1,Dial(SIP/callback-server)

exten => no-permission,1,Playback(permission-denied)
    same => n,Hangup()

در اینجا:

  • اگر کاربر در گروه «admins» باشد، درخواست Call Back تایید و تماس برقرار می‌شود.
  • اگر کاربر در گروه دیگری باشد، پیامی مبنی بر عدم مجوز پخش می‌شود و تماس قطع می‌شود.

4. استفاده از رابط گرافیکی برای تنظیم محدودیت‌های Call Back

در صورتی که بخواهید از رابط گرافیکی Issabel برای اعمال محدودیت‌های Call Back استفاده کنید، مراحل زیر را دنبال کنید:

  1. وارد کنسول Issabel شوید.
  2. به قسمت PBX > Call Center بروید.
  3. تنظیمات گروه‌ها و محدودیت‌ها را از طریق گزینه‌های مربوطه تنظیم کنید.
  4. در تنظیمات مربوط به گروه‌ها، گزینه‌های «مجاز به درخواست Call Back» را فعال یا غیرفعال کنید.
  5. برای محدودیت‌های زمانی، از گزینه‌های «ساعات کاری» برای محدود کردن زمان درخواست‌ها استفاده کنید.

جمع‌بندی

در این بخش، نحوه تنظیم محدودیت‌های Call Back برای گروه‌های خاص در Issabel بررسی شد. ابتدا گروه‌های مختلف کاربران ایجاد شدند و سپس برای هر گروه محدودیت‌هایی برای استفاده از Call Back اعمال شد. همچنین، محدودیت‌های زمانی برای استفاده از Call Back نیز پیکربندی گردید. این تنظیمات می‌توانند به‌طور موثر دسترسی به قابلیت Call Back را برای گروه‌های خاص مدیریت کنند و از درخواست‌های غیرمجاز جلوگیری نمایند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 11. تنظیمات ویژگی‌های پیشرفته”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیمات Caller ID و تغییرات آن در تماس‌های ورودی و خروجی” subtitle=”توضیحات کامل”]در سیستم Issabel، قابلیت مدیریت Caller ID به شما این امکان را می‌دهد که شماره تلفن تماس گیرنده را در تماس‌های ورودی و خروجی نمایش دهید. این ویژگی به ویژه برای شناسایی بهتر تماس‌ها و مدیریت ارتباطات بسیار مفید است. در این بخش، نحوه تنظیم Caller ID و اعمال تغییرات آن برای تماس‌های ورودی و خروجی در Issabel توضیح داده می‌شود.


1. تنظیم Caller ID برای تماس‌های ورودی

تماس‌های ورودی معمولاً از منابع مختلفی می‌آیند و در بسیاری از موارد، ضروری است که شماره تلفن واقعی تماس گیرنده نمایش داده شود. Issabel این امکان را فراهم می‌آورد تا بتوانید تنظیمات Caller ID را به‌صورت دقیق و سفارشی‌سازی شده انجام دهید.

1.1. تنظیم Caller ID در فایل extensions_custom.conf برای تماس‌های ورودی

برای تنظیم Caller ID در تماس‌های ورودی، شما می‌توانید از فایل extensions_custom.conf برای اضافه کردن قواعد و تنظیمات استفاده کنید.

  1. باز کردن فایل extensions_custom.conf:
nano /etc/asterisk/extensions_custom.conf
  1. اضافه کردن تنظیمات Caller ID برای تماس‌های ورودی:
[incoming-calls]
exten => _X.,1,NoOp(Incoming call)
    same => n,Set(CALLERID(num)=1234567890)  ; شماره جدید برای Caller ID
    same => n,Answer()
    same => n,Playback(hello)  ; پخش پیامی برای تماس گیرنده
    same => n,Hangup()

در اینجا:

  • CALLERID(num)=1234567890 شماره جدیدی را برای Caller ID تماس ورودی تنظیم می‌کند. این شماره ممکن است بر اساس نیاز شما تغییر کند.
  • به‌عنوان مثال، تماس‌هایی که وارد سیستم می‌شوند، شماره تلفن جدید 1234567890 را به‌عنوان Caller ID نمایش خواهند داد.

2. تنظیم Caller ID برای تماس‌های خروجی

در تماس‌های خروجی، معمولاً شما می‌خواهید که Caller ID به شماره تلفن خاصی که از آن تماس می‌گیرید، تغییر کند. این تنظیمات می‌توانند بر اساس نیاز شما برای هر مقصد یا شماره خاص اعمال شوند.

2.1. تنظیم Caller ID در فایل outbound_route.conf برای تماس‌های خروجی

برای تغییر Caller ID در تماس‌های خروجی، می‌توانید تنظیمات زیر را به فایل outbound_route.conf اضافه کنید.

  1. باز کردن فایل outbound_route.conf:
nano /etc/asterisk/outbound_route.conf
  1. افزودن تنظیمات Caller ID برای تماس‌های خروجی:
[outbound]
exten => _X.,1,NoOp(Outgoing call with custom Caller ID)
    same => n,Set(CALLERID(num)=9876543210)  ; تنظیم Caller ID برای تماس خروجی
    same => n,Dial(SIP/${EXTEN}@provider)  ; شماره مقصد

در اینجا:

  • CALLERID(num)=9876543210 شماره جدید برای Caller ID تماس خروجی تنظیم می‌شود. با این کار، تماس‌های خروجی که از این مسیر عبور می‌کنند، شماره 9876543210 را به‌عنوان Caller ID نشان خواهند داد.

3. استفاده از رابط گرافیکی برای تنظیمات Caller ID

در صورتی که بخواهید از رابط گرافیکی Issabel برای تنظیم Caller ID استفاده کنید، مراحل زیر را دنبال کنید:

  1. وارد کنسول Issabel شوید.
  2. به بخش PBX بروید و سپس وارد Inbound Routes برای تماس‌های ورودی و Outbound Routes برای تماس‌های خروجی شوید.
  3. در بخش تنظیمات هر یک از مسیرها، گزینه‌های Caller ID را خواهید دید که به شما این امکان را می‌دهند تا شماره مورد نظر خود را وارد کنید.
  4. برای تماس‌های ورودی، گزینه‌های مربوط به تغییر Caller ID را تنظیم کنید تا شماره تماس ورودی تغییر کند.
  5. برای تماس‌های خروجی، مشابه با تنظیمات تماس‌های ورودی، شماره مورد نظر برای Caller ID را وارد کنید.

4. مدیریت پیشرفته Caller ID با استفاده از Contexts

گاهی اوقات ممکن است نیاز به مدیریت پیشرفته‌تری برای Caller ID داشته باشید، به‌ویژه وقتی که می‌خواهید Caller ID را بر اساس شرایط خاص تغییر دهید. این کار معمولاً از طریق تنظیمات contexts در فایل extensions_custom.conf انجام می‌شود.

4.1. استفاده از Contexts برای تنظیمات پیشرفته Caller ID

با استفاده از Contexts می‌توانید Caller ID را به‌صورت پیشرفته‌تری بسته به شرایط مختلف تنظیم کنید.

  1. باز کردن فایل extensions_custom.conf:
nano /etc/asterisk/extensions_custom.conf
  1. تعریف یک Context برای تغییر Caller ID:
[custom-context]
exten => _X.,1,NoOp(Custom Caller ID context)
    same => n,Set(CALLERID(num)=1122334455)  ; تغییر Caller ID بر اساس Context
    same => n,Dial(SIP/${EXTEN}@provider)

در اینجا:

  • Caller ID به شماره 1122334455 تغییر می‌کند.
  • با استفاده از این Context می‌توانید شرایط مختلف برای تغییر Caller ID را به‌طور دقیق کنترل کنید.

جمع‌بندی

در این بخش، تنظیمات Caller ID برای تماس‌های ورودی و خروجی در Issabel بررسی شد. ابتدا نحوه تنظیم Caller ID برای تماس‌های ورودی با استفاده از فایل extensions_custom.conf آموزش داده شد. سپس تنظیمات Caller ID برای تماس‌های خروجی نیز با استفاده از فایل outbound_route.conf توضیح داده شد. همچنین، در صورت تمایل به استفاده از رابط گرافیکی، روش‌هایی برای انجام این تنظیمات معرفی شد. در نهایت، برای کسانی که به دنبال مدیریت پیشرفته‌تر Caller ID هستند، استفاده از contexts در extensions_custom.conf پیشنهاد شد. این تنظیمات به شما این امکان را می‌دهند که به‌طور دقیق و هدفمند شماره Caller ID را مدیریت کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”استفاده از ویژگی‌های پیشرفته مانند Call Parking و Call Transfer” subtitle=”توضیحات کامل”]در سیستم‌های تلفنی مانند Issabel، ویژگی‌هایی مانند Call Parking و Call Transfer به مدیران سیستم این امکان را می‌دهند که تماس‌ها را به‌صورت مؤثر مدیریت کنند و تجربه بهتری برای کاربران فراهم آورند. این ویژگی‌ها به ویژه در محیط‌های کاری شلوغ و با حجم بالای تماس مفید هستند. در این بخش، نحوه تنظیم و استفاده از این ویژگی‌ها در Issabel به‌طور کامل توضیح داده می‌شود.


1. ویژگی Call Parking

ویژگی Call Parking به کاربران این امکان را می‌دهد که تماس‌های دریافتی را “پارک” کرده و سپس در یک زمان دیگر از هر نقطه دیگری در سیستم، تماس را برداشت کنند. این ویژگی به‌ویژه در محیط‌های کاری مفید است که کارکنان ممکن است نیاز به جابجایی بین میزها یا بخش‌های مختلف داشته باشند.

1.1. تنظیمات Call Parking در Issabel

برای تنظیم Call Parking در Issabel، شما نیاز به تنظیمات در فایل extensions_custom.conf و همچنین استفاده از رابط گرافیکی برای ایجاد قواعد مربوط به پارک تماس‌ها خواهید داشت.

  1. باز کردن فایل extensions_custom.conf برای تنظیمات اولیه:
nano /etc/asterisk/extensions_custom.conf
  1. اضافه کردن تنظیمات مربوط به Call Parking:
[call-parking]
exten => 700,1,Answer()  ; پاسخ به تماس ورودی
    same => n,Park(700)  ; پارک کردن تماس در قسمت 700
    same => n,Hangup()

در اینجا:

  • exten => 700,1,Answer() تماس ورودی را پاسخ می‌دهد.
  • same => n,Park(700) تماس را در شماره داخلی 700 پارک می‌کند.
  • same => n,Hangup() تماس را قطع می‌کند.

این تنظیمات به شما این امکان را می‌دهند که تماس‌های ورودی را در شماره داخلی خاصی پارک کرده و از آنجا به آن‌ها دسترسی داشته باشید.

1.2. استفاده از رابط گرافیکی برای تنظیم Call Parking
  1. وارد کنسول Issabel شوید.
  2. به بخش PBX بروید.
  3. از منوی سمت چپ، Call Parking را انتخاب کنید.
  4. یک گروه پارک جدید ایجاد کنید و تنظیمات آن را سفارشی کنید.
  5. برای تغییر شماره داخلی پارک، گزینه‌های مختلفی برای تخصیص شماره‌های پارک تماس در این قسمت خواهید داشت.

2. ویژگی Call Transfer

Call Transfer یکی دیگر از ویژگی‌های کاربردی است که به کاربران این امکان را می‌دهد تا تماس‌ها را به کاربران دیگر یا بخش‌های مختلف انتقال دهند. در Issabel، شما می‌توانید این ویژگی را به‌صورت دستی و با استفاده از کدهای مختلف تنظیم کنید.

2.1. تنظیمات Call Transfer در Issabel

برای تنظیم Call Transfer در Issabel، شما باید تنظیمات خاصی را در فایل extensions_custom.conf انجام دهید تا بتوانید تماس‌ها را به‌صورت داخلی یا خارجی انتقال دهید.

  1. باز کردن فایل extensions_custom.conf:
nano /etc/asterisk/extensions_custom.conf
  1. اضافه کردن تنظیمات مربوط به Call Transfer:
[call-transfer]
exten => *2,1,Answer()  ; پاسخ به تماس
    same => n,Transfer(SIP/200)  ; انتقال تماس به داخلی 200
    same => n,Hangup()

در اینجا:

  • exten => *2,1,Answer() تماس ورودی را پاسخ می‌دهد.
  • same => n,Transfer(SIP/200) تماس را به داخلی 200 انتقال می‌دهد.
  • same => n,Hangup() تماس را قطع می‌کند.
2.2. انتقال تماس‌ها با استفاده از رابط گرافیکی

برای تنظیم Call Transfer از رابط گرافیکی Issabel:

  1. وارد کنسول Issabel شوید.
  2. به بخش PBX بروید و وارد Outbound Routes شوید.
  3. در بخش تنظیمات مربوط به انتقال تماس‌ها، گزینه‌هایی برای اضافه کردن مسیرهای انتقال تماس خواهید دید.
  4. می‌توانید در این قسمت شماره‌هایی را که می‌خواهید تماس‌ها به آن‌ها انتقال یابد، تنظیم کنید.

3. ترکیب Call Parking و Call Transfer

در بسیاری از مواقع، ممکن است بخواهید Call Parking و Call Transfer را با هم ترکیب کنید تا تماس‌هایی که پارک شده‌اند، به راحتی به بخش‌ها یا کاربران دیگر منتقل شوند.

3.1. تنظیم ترکیب Call Parking و Call Transfer
  1. باز کردن فایل extensions_custom.conf برای تنظیمات ترکیبی:
nano /etc/asterisk/extensions_custom.conf
  1. اضافه کردن تنظیمات ترکیبی:
[call-parking-transfer]
exten => 700,1,Answer()  ; پاسخ به تماس ورودی
    same => n,Park(700)  ; پارک کردن تماس در 700
    same => n,Playback(parked-calls)  ; پخش پیامی برای کاربر
    same => n,Hangup()

exten => *7,1,Answer()  ; پاسخ به تماس برای انتقال
    same => n,Unpark(700)  ; برداشت تماس پارک شده از 700
    same => n,Transfer(SIP/201)  ; انتقال تماس به داخلی 201
    same => n,Hangup()

در اینجا:

  • exten => 700,1,Answer() تماس ورودی را پاسخ می‌دهد و آن را پارک می‌کند.
  • same => n,Unpark(700) تماس پارک‌شده را از داخلی 700 برمی‌دارد.
  • same => n,Transfer(SIP/201) تماس را به داخلی 201 انتقال می‌دهد.

جمع‌بندی

در این بخش، نحوه استفاده از ویژگی‌های پیشرفته مانند Call Parking و Call Transfer در Issabel توضیح داده شد. ابتدا تنظیمات مربوط به Call Parking و نحوه پارک کردن تماس‌ها در شماره‌های خاص توضیح داده شد. سپس، ویژگی Call Transfer و نحوه انتقال تماس‌ها به شماره‌های داخلی یا خارجی با استفاده از فایل extensions_custom.conf و رابط گرافیکی معرفی شد. در نهایت، ترکیب این دو ویژگی به‌طور کامل توضیح داده شد تا بتوانید تماس‌های پارک‌شده را به‌راحتی انتقال دهید. این تنظیمات به شما این امکان را می‌دهند که تماس‌ها را به‌صورت مؤثرتر و با انعطاف‌پذیری بیشتر مدیریت کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”پیکربندی کنترل دسترسی به خطوط و تماس‌ها بر اساس سطح دسترسی کاربران” subtitle=”توضیحات کامل”]در سیستم‌های تلفنی مانند Issabel، مدیریت و کنترل دسترسی به خطوط و تماس‌ها بر اساس سطح دسترسی کاربران امری حیاتی است. با استفاده از این قابلیت‌ها، می‌توان به کاربران مختلف این امکان را داد که بسته به نیاز سازمانی خود، تنها به مجموعه‌ای از خطوط یا امکانات دسترسی داشته باشند. در این بخش، نحوه پیکربندی کنترل دسترسی به خطوط و تماس‌ها بر اساس سطح دسترسی کاربران در Issabel توضیح داده خواهد شد.


1. معرفی و تنظیمات سطح دسترسی کاربران در Issabel

برای مدیریت سطح دسترسی به تماس‌ها و خطوط در Issabel، شما می‌توانید از امکانات Outbound Routes، Inbound Routes و Extensions استفاده کنید. این تنظیمات به شما این امکان را می‌دهند که مشخص کنید کدام کاربران به کدام خطوط و تماس‌ها دسترسی دارند.

1.1. تنظیمات سطح دسترسی در فایل extensions_custom.conf

ابتدا برای مدیریت دسترسی‌ها، باید تنظیماتی را در فایل extensions_custom.conf انجام دهید.

  1. باز کردن فایل extensions_custom.conf برای ویرایش:
nano /etc/asterisk/extensions_custom.conf
  1. افزودن تنظیمات برای کنترل دسترسی بر اساس سطح دسترسی کاربران:
[restricted-call]
exten => _X.,1,Answer()  ; پاسخ به تماس
    same => n,GotoIf($["${CALLERID(num)}" = "1001"]?allowed:blocked)  ; بررسی سطح دسترسی

exten => allowed,1,Dial(SIP/${EXTEN},30)  ; تماس مجاز به داخلی‌ها
    same => n,Hangup()

exten => blocked,1,Playback(vm-goodbye)  ; تماس غیرمجاز
    same => n,Hangup()

در اینجا:

  • GotoIf($["${CALLERID(num)}" = "1001"]?allowed:blocked) بررسی می‌کند که آیا شماره تماس گیرنده برابر با 1001 است. در صورت صحت، دسترسی به خطوط مجاز است.
  • Dial(SIP/${EXTEN},30) تماس را به داخلی مجاز منتقل می‌کند.
  • Playback(vm-goodbye) پیامی پخش می‌کند که نشان‌دهنده عدم دسترسی است.
1.2. پیکربندی Outbound Routes برای محدود کردن دسترسی به خطوط خاص

شما می‌توانید Outbound Routes را به‌گونه‌ای تنظیم کنید که فقط کاربران با سطح دسترسی خاص به خطوط مختلف دسترسی داشته باشند.

  1. وارد بخش PBX در کنسول Issabel شوید.
  2. به بخش Outbound Routes بروید.
  3. یک مسیر جدید ایجاد کرده و در آن از ویژگی‌های Caller ID برای تعیین محدودیت دسترسی استفاده کنید.

در اینجا مثالی از تنظیمات Outbound Routes که از شماره Caller ID برای محدود کردن دسترسی به خطوط استفاده می‌شود آورده شده است.

  • برای اضافه کردن یک مسیر جدید، در PBX > Outbound Routes روی Add Route کلیک کنید.
  • در بخش Caller ID، برای محدود کردن مسیر تماس، شماره‌های خاص را وارد کنید. مثلاً، اگر فقط کاربرانی با شماره 1001 مجاز به استفاده از خطوط خاص باشند، در بخش Caller ID باید شماره 1001 را وارد کنید.

2. ایجاد سطوح دسترسی برای تماس‌های ورودی

در Issabel، می‌توانید سطوح دسترسی مختلفی برای تماس‌های ورودی ایجاد کنید تا فقط کاربران مجاز قادر به دریافت تماس‌ها باشند. این کار از طریق تنظیم Inbound Routes و Queue انجام می‌شود.

2.1. تنظیمات Inbound Routes بر اساس Caller ID

برای این که تماس‌های ورودی فقط برای کاربران خاص قابل دسترسی باشند، می‌توانید از تنظیمات Inbound Routes استفاده کنید.

  1. وارد بخش PBX در کنسول Issabel شوید.
  2. به بخش Inbound Routes بروید.
  3. مسیر جدیدی برای تماس‌های ورودی ایجاد کرده و در بخش Caller ID، تماس‌هایی که باید به آن‌ها پاسخ داده شود را محدود کنید.

برای مثال، برای محدود کردن تماس‌های ورودی از شماره 1001، مراحل زیر را انجام دهید:

  • در بخش Caller ID شماره 1001 را وارد کنید.
  • سپس یک مسیر جدید برای تماس‌ها ایجاد کرده و آن را به داخلی‌های خاص ارجاع دهید.
2.2. تنظیمات Queue برای محدود کردن دسترسی به تماس‌ها

اگر قصد دارید تماس‌ها را از طریق Queue مدیریت کنید و فقط به کاربران خاص اجازه دسترسی به صف تماس‌ها را بدهید، می‌توانید از تنظیمات زیر استفاده کنید.

  1. وارد بخش PBX > Queues شوید.
  2. یک صف جدید ایجاد کرده و در قسمت Queue Members تنها اعضای مجاز را وارد کنید.
  3. سپس در Queue Settings، با استفاده از Caller ID یا ویژگی‌های مشابه، فقط کاربران خاص را به صف تماس‌ها ارجاع دهید.

3. استفاده از ویژگی‌های گروهی برای کنترل دسترسی

یکی از روش‌های موثر دیگر برای کنترل دسترسی به خطوط، استفاده از گروه‌ها است. این گروه‌ها می‌توانند به شما کمک کنند تا دسترسی‌های مختلفی را برای کاربران مختلف تنظیم کنید.

3.1. تنظیم گروه‌های خاص برای تماس‌ها

برای ایجاد گروه‌های خاص و تخصیص دسترسی به آن‌ها، شما باید از فایل queues.conf استفاده کنید.

  1. باز کردن فایل queues.conf برای تنظیمات گروه‌ها:
nano /etc/asterisk/queues.conf
  1. اضافه کردن تنظیمات گروهی برای کنترل دسترسی به صف‌ها و خطوط مختلف:
[general]
autofill=yes
monitor-type=MixMonitor

[support-team]
musicclass=default
timeout=15
strategy=ringall

[sales-team]
musicclass=default
timeout=20
strategy=linear

در اینجا:

  • support-team و sales-team به‌عنوان گروه‌های مختلف تنظیم شده‌اند.
  • با استفاده از تنظیمات timeout و strategy، تماس‌ها می‌توانند به‌صورت متفاوت بین گروه‌ها توزیع شوند.

جمع‌بندی

در این بخش، نحوه تنظیم کنترل دسترسی به خطوط و تماس‌ها بر اساس سطح دسترسی کاربران در Issabel توضیح داده شد. ابتدا نحوه تنظیم دسترسی کاربران به خطوط با استفاده از تنظیمات در فایل extensions_custom.conf و استفاده از ویژگی‌های Outbound Routes و Inbound Routes توضیح داده شد. سپس، تنظیمات Queue برای محدود کردن دسترسی به صف‌ها و تماس‌ها مورد بررسی قرار گرفت. در نهایت، نحوه ایجاد و تنظیم گروه‌ها برای تخصیص دسترسی‌های مختلف به تماس‌ها شرح داده شد. این تنظیمات به شما این امکان را می‌دهند که با دقت و انعطاف‌پذیری بیشتری سطح دسترسی به خطوط و تماس‌ها را کنترل کنید.[/cdb_course_lesson][cdb_course_lesson title=”فصل 12. آزمایش و رفع مشکلات پیکربندی سیستم تلفنی”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”نحوه تست تماس‌های داخلی و خارجی برای اطمینان از عملکرد صحیح” subtitle=”توضیحات کامل”]تست تماس‌های داخلی و خارجی برای اطمینان از عملکرد صحیح سیستم VoIP و تماس‌های صوتی یکی از مراحل ضروری در راه‌اندازی و نگهداری سیستم‌های تلفنی مانند Issabel است. با استفاده از این تست‌ها، می‌توان مطمئن شد که تمامی تنظیمات به‌درستی انجام شده و تماس‌ها به‌طور صحیح برقرار می‌شوند. در این بخش، مراحل تست تماس‌های داخلی و خارجی و روش‌های رفع مشکلات احتمالی توضیح داده خواهند شد.


1. تست تماس‌های داخلی

تماس‌های داخلی معمولاً به تماس‌هایی گفته می‌شود که بین داخلی‌های مختلف در سیستم VoIP برقرار می‌شود. این تماس‌ها باید بدون مشکل برقرار شوند و کیفیت صدا و ارتباط باید به‌طور دقیق ارزیابی شود.

1.1. تست تماس‌های داخلی از طریق Dial Plan

برای تست تماس‌های داخلی، می‌توانید از ویژگی‌های Dial Plan در Issabel استفاده کنید. ابتدا مطمئن شوید که تمامی داخلی‌ها به درستی در سیستم تعریف شده‌اند.

  1. برای شروع، وارد بخش PBX در کنسول Issabel شوید.
  2. سپس به بخش Extensions بروید و از صحت شماره داخلی‌ها و وضعیت آن‌ها مطمئن شوید.
1.2. انجام تماس داخلی

برای تست تماس داخلی بین دو یا چند داخلی، مراحل زیر را دنبال کنید:

  1. شماره داخلی اول را بگیرید.
  2. شماره داخلی دوم را وارد کرده و با آن تماس بگیرید.
  3. از نظر کیفیت صدا، تاخیر، و اتصال تماس اطمینان حاصل کنید.

اگر تماس برقرار نمی‌شود یا کیفیت صدا ضعیف است، می‌توانید تنظیمات را بررسی کرده و اقدام به رفع مشکلات احتمالی کنید.

1.3. بررسی لاگ‌های Asterisk برای تماس‌های داخلی

برای شناسایی مشکلات ممکن در تماس‌های داخلی، باید به لاگ‌های Asterisk مراجعه کنید. این لاگ‌ها به شما کمک می‌کنند تا متوجه شوید که چرا تماس‌های داخلی قطع یا مختل می‌شوند.

  1. برای بررسی لاگ‌ها، وارد ترمینال سرور Issabel شوید و دستور زیر را اجرا کنید:
tail -f /var/log/asterisk/full
  1. در لاگ‌ها، به دنبال هرگونه خطای مربوط به تماس‌های داخلی بگردید و با استفاده از اطلاعات موجود در لاگ‌ها، مشکلات تماس را رفع کنید.

2. تست تماس‌های خارجی

تماس‌های خارجی تماس‌هایی هستند که از داخل سیستم به بیرون (و یا برعکس) برقرار می‌شوند. برای تست این نوع تماس‌ها، شما باید از تنظیمات Outbound Routes و Inbound Routes استفاده کنید.

2.1. انجام تماس خارجی
  1. برای شروع، یک شماره خارجی (مانند یک شماره موبایل یا ثابت) را وارد کنید.
  2. تماس را برقرار کرده و از نظر کیفیت صدا، قطع شدن تماس، و تاخیر آن ارزیابی کنید.
2.2. بررسی تنظیمات Outbound Routes

برای بررسی تنظیمات تماس‌های خارجی، از بخش Outbound Routes در Issabel استفاده کنید.

  1. وارد کنسول Issabel شوید و به بخش PBX > Outbound Routes بروید.
  2. از صحت تنظیمات Dial Patterns و Caller ID اطمینان حاصل کنید. این تنظیمات به شما کمک می‌کنند تا اطمینان حاصل کنید که تماس‌های خارجی به درستی از طریق مسیرهای تعیین شده عبور می‌کنند.
2.3. بررسی لاگ‌های Asterisk برای تماس‌های خارجی

برای بررسی تماس‌های خارجی، می‌توانید از لاگ‌های Asterisk استفاده کنید:

  1. دستور زیر را در ترمینال سرور Issabel اجرا کنید تا لاگ تماس‌های خارجی را مشاهده کنید:
tail -f /var/log/asterisk/full
  1. بررسی کنید که آیا تماس‌های خارجی با موفقیت برقرار می‌شوند یا خیر و در صورت بروز مشکلات، خطاهای موجود را تحلیل کنید.

3. رفع مشکلات در تماس‌های داخلی و خارجی

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

3.1. بررسی تنظیمات NAT Traversal و SIP Settings

اگر تماس‌های خارجی برقرار نمی‌شوند یا کیفیت صدا ضعیف است، یکی از دلایل معمول می‌تواند مشکلات مربوط به NAT Traversal یا تنظیمات اشتباه SIP باشد. برای بررسی این تنظیمات:

  1. وارد بخش PBX > SIP Settings شوید.
  2. در قسمت NAT، اطمینان حاصل کنید که تنظیمات به درستی انجام شده باشد.
3.2. بررسی فایروال و پورت‌ها

اگر تماس‌های خارجی قطع می‌شوند، ممکن است فایروال یا تنظیمات پورت‌ها باعث مسدود شدن تماس‌ها شوند. برای این منظور:

  1. اطمینان حاصل کنید که پورت‌های SIP (معمولاً پورت 5060 برای UDP) و RTP (معمولاً بین پورت‌های 10000 تا 20000) در فایروال باز هستند.
  2. برای بررسی وضعیت فایروال، می‌توانید از دستور زیر استفاده کنید:
iptables -L

در صورتی که پورت‌ها مسدود باشند، باید آن‌ها را باز کنید.


جمع‌بندی

در این بخش، نحوه تست تماس‌های داخلی و خارجی در سیستم Issabel توضیح داده شد. ابتدا نحوه تست تماس‌های داخلی با استفاده از Dial Plan و بررسی لاگ‌های Asterisk شرح داده شد. سپس، نحوه انجام تماس‌های خارجی و بررسی تنظیمات Outbound Routes و Inbound Routes مورد بررسی قرار گرفت. در نهایت، روش‌هایی برای رفع مشکلات رایج در تماس‌های داخلی و خارجی از جمله بررسی تنظیمات NAT Traversal، SIP Settings و فایروال آورده شد. انجام این تست‌ها و بررسی‌ها کمک می‌کند تا از عملکرد صحیح سیستم VoIP اطمینان حاصل کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”ابزارهای تست درون سیستم Issabel (مانند تست SIP)” subtitle=”توضیحات کامل”]در سیستم Issabel، ابزارهای مختلفی برای تست و بررسی عملکرد بخش‌های مختلف سیستم VoIP وجود دارند که می‌توانند به شناسایی مشکلات و اطمینان از عملکرد صحیح تماس‌ها کمک کنند. این ابزارها برای ارزیابی عملکرد SIP، بررسی کیفیت تماس، شبیه‌سازی تماس‌ها و تحلیل لاگ‌ها به‌کار می‌روند.

در این بخش، به بررسی ابزارهای تست مختلف در Issabel، از جمله SIP Test، Call Test و Asterisk CLI برای شبیه‌سازی و تست تماس‌ها پرداخته خواهد شد.


1. ابزار تست SIP در Issabel

یکی از مهم‌ترین ابزارهای تست در سیستم Issabel، ابزار SIP Test است که به شما امکان می‌دهد عملکرد تنظیمات SIP را تست کنید. با استفاده از این ابزار می‌توانید بررسی کنید که آیا سرویس‌های SIP به درستی کار می‌کنند یا نه.

1.1. استفاده از ابزار SIP Test

برای تست عملکرد SIP در Issabel، مراحل زیر را دنبال کنید:

  1. وارد کنسول Issabel شوید و به بخش PBX بروید.
  2. در بخش Tools، گزینه SIP Test را انتخاب کنید.
  3. در صفحه SIP Test، آدرس IP یا نام دامنه SIP سرور مورد نظر را وارد کنید.
  4. همچنین، می‌توانید شماره پورت SIP (به طور پیش‌فرض 5060) را مشخص کنید.
  5. پس از وارد کردن اطلاعات، روی دکمه Test SIP کلیک کنید تا بررسی وضعیت اتصال SIP شروع شود.
1.2. تحلیل نتایج تست SIP

بعد از انجام تست SIP، نتایج مربوط به اتصال به سرور SIP نمایش داده می‌شود. این نتایج به شما کمک می‌کنند تا مشکلات احتمالی مانند قطع شدن اتصال، تأخیر زیاد یا مشکل در تایید هویت را شناسایی کنید.

در صورتی که اتصال با سرور SIP برقرار نمی‌شود، موارد زیر را بررسی کنید:

  • تنظیمات NAT Traversal را در SIP Settings بررسی کنید.
  • از صحت پورت‌ها و قوانین فایروال اطمینان حاصل کنید.

2. ابزار تست تماس در Issabel

ابزار Call Test در Issabel به شما امکان می‌دهد تا تماس‌های ورودی و خروجی را شبیه‌سازی کنید و از صحت عملکرد سیستم اطمینان حاصل کنید.

2.1. استفاده از ابزار Call Test

برای انجام تست تماس در Issabel، مراحل زیر را دنبال کنید:

  1. وارد کنسول Issabel شوید و به بخش PBX بروید.
  2. از بخش Tools، گزینه Call Test را انتخاب کنید.
  3. در این بخش، شماره داخلی یا شماره خارجی که می‌خواهید تماس را به آن برقرار کنید، وارد کنید.
  4. پس از وارد کردن شماره، روی دکمه Call کلیک کنید.
  5. نتیجه تماس را مشاهده کرده و از صحت برقرار شدن تماس اطمینان حاصل کنید.
2.2. بررسی مشکلات در تماس

در صورتی که تماس برقرار نمی‌شود یا کیفیت صدا ضعیف است، باید تنظیمات Outbound Routes و Inbound Routes را بررسی کنید. همچنین، اطمینان حاصل کنید که پورت‌های SIP به درستی در فایروال باز هستند.


3. استفاده از Asterisk CLI برای تست تماس‌ها

یکی دیگر از ابزارهای بسیار مفید برای تست و تجزیه و تحلیل تماس‌ها، استفاده از Asterisk CLI است. با این ابزار می‌توانید تمامی تماس‌های ورودی و خروجی را به‌صورت دقیق مانیتور کرده و اطلاعاتی مانند وضعیت تماس، کدهای وضعیت و لاگ‌ها را مشاهده کنید.

3.1. دستورات Asterisk CLI برای تست تماس

برای استفاده از Asterisk CLI برای مانیتورینگ تماس‌ها، ابتدا وارد سرور Issabel شوید و دستور زیر را برای ورود به محیط Asterisk CLI وارد کنید:

asterisk -rvv

پس از ورود به محیط Asterisk CLI، می‌توانید از دستورات زیر برای تست تماس‌ها استفاده کنید:

  • برای مشاهده وضعیت کانال‌ها و تماس‌های فعال:
core show channels
  • برای مشاهده تماس‌های فعال و وضعیت آن‌ها:
core show calls
  • برای مشاهده لاگ‌های مربوط به تماس‌ها:
tail -f /var/log/asterisk/full
3.2. استفاده از دستور SIP show peers

برای بررسی وضعیت اتصال SIP و مشاهده پیکربندی‌های آن، می‌توانید از دستور زیر در Asterisk CLI استفاده کنید:

sip show peers

این دستور به شما لیستی از تمامی همتاهای SIP متصل به سیستم را نمایش می‌دهد و وضعیت اتصال، آخرین بار تماس و وضعیت آن‌ها را نشان می‌دهد.


4. ابزار بررسی کیفیت تماس

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

4.1. استفاده از ابزار Iax2 show peers

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

iax2 show peers

این دستور اطلاعات مشابهی با دستور sip show peers ارائه می‌دهد، اما مخصوص به پروتکل IAX2 است.

4.2. بررسی کیفیت RTP

برای تست کیفیت تماس‌های صوتی (RTP)، می‌توانید از ابزارهای مانیتورینگ شبکه استفاده کنید یا از تنظیمات RTP Settings در Issabel برای بررسی وضعیت کیفیت تماس‌ها استفاده کنید.


جمع‌بندی

در این بخش ابزارهای مختلف تست درون سیستم Issabel بررسی شدند. ابتدا نحوه استفاده از ابزار SIP Test برای بررسی اتصال SIP شرح داده شد. سپس ابزار Call Test برای شبیه‌سازی تماس‌های داخلی و خارجی معرفی شد. در ادامه، نحوه استفاده از Asterisk CLI برای مانیتورینگ تماس‌ها و بررسی وضعیت آن‌ها توضیح داده شد. در نهایت، ابزارهایی برای بررسی کیفیت تماس‌های صوتی و IAX2 معرفی شدند. استفاده از این ابزارها به شما کمک می‌کند تا عملکرد سیستم را به‌طور دقیق بررسی کرده و مشکلات احتمالی را شناسایی و رفع کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تکنیک‌های رفع مشکلات برای اتصال به Trunks و Extensions” subtitle=”توضیحات کامل”]در سیستم Issabel، مشکلات مربوط به اتصال به Trunks و Extensions ممکن است به دلایل مختلفی ایجاد شود که شامل پیکربندی اشتباه، مشکلات در شبکه، خطاهای فایروال و مسائل مربوط به سرورهای SIP می‌شود. در این بخش، روش‌های رایج برای شناسایی و رفع این مشکلات با استفاده از ابزارهای مختلف و تنظیمات دقیق بررسی خواهند شد.


1. مشکلات متداول در اتصال به Trunks

اتصال به Trunks معمولاً با مشکلاتی مانند قطع شدن اتصال یا ناتوانی در برقراری تماس‌های خروجی و ورودی همراه است. این مشکلات معمولاً به دلایل زیر ایجاد می‌شوند:

1.1. بررسی پیکربندی SIP Trunk
  1. از صحت پیکربندی SIP Trunk خود اطمینان حاصل کنید. برای این کار، به بخش PBX در کنسول Issabel بروید و تنظیمات مربوط به SIP Trunk را بررسی کنید.
  2. اطلاعات اشتباه مانند نام کاربری، رمز عبور، آدرس سرور یا پورت می‌تواند موجب بروز مشکل در اتصال شود. مطمئن شوید که تمام اطلاعات به درستی وارد شده است.

برای بررسی پیکربندی، می‌توانید دستور زیر را در محیط Asterisk CLI اجرا کنید:

sip show peer [TrunkName]

این دستور اطلاعات مربوط به Trunk مورد نظر شما را نشان می‌دهد. بررسی وضعیت اتصال و داده‌های دریافتی از سرور کمک می‌کند که مشکلات پیکربندی را شناسایی کنید.

1.2. بررسی فایروال و پورت‌ها

فایروال ممکن است مانع اتصال به Trunk شود، بنابراین باید مطمئن شوید که پورت‌های مورد نیاز برای SIP (معمولاً 5060) باز هستند و هیچ مشکلی در فایروال وجود ندارد. برای بررسی وضعیت فایروال و باز بودن پورت‌ها می‌توانید از دستورات زیر استفاده کنید:

برای بررسی باز بودن پورت SIP (5060) در فایروال:

netstat -tuln | grep 5060

همچنین اطمینان حاصل کنید که تنظیمات فایروال از ارتباط با SIP Server جلوگیری نمی‌کنند.

1.3. تنظیمات NAT Traversal

اگر از NAT (ترجمه آدرس شبکه) در شبکه خود استفاده می‌کنید، تنظیمات NAT Traversal باید به درستی پیکربندی شده باشد. در بخش SIP Settings در Issabel، گزینه‌هایی مانند NAT Enable و External IP را بررسی کنید. این تنظیمات باید با شبکه شما سازگار باشند.

برای بررسی تنظیمات NAT می‌توانید دستور زیر را در Asterisk CLI اجرا کنید:

sip show settings

اطمینان حاصل کنید که تنظیمات nat=yes یا nat=force_rport,comedia در sip.conf به درستی پیکربندی شده است.

1.4. بررسی مشکلات در Codec ها

گاهی اوقات مشکلات اتصال به Trunks می‌تواند به دلیل ناسازگاری Codec ها باشد. در این حالت، بررسی تنظیمات Codecs ضروری است. مطمئن شوید که کدک‌های پشتیبانی‌شده توسط Trunk Provider با پیکربندی شما تطابق دارند.

برای بررسی تنظیمات کدک‌ها در SIP Trunk می‌توانید دستور زیر را در Asterisk CLI اجرا کنید:

sip show peer [TrunkName]

اگر مشکل مربوط به کدک‌ها باشد، آن را می‌توانید در تنظیمات SIP Trunk در Issabel اصلاح کنید.


2. مشکلات متداول در اتصال به Extensions

اتصال به Extensions نیز می‌تواند به دلایل مختلف دچار مشکل شود که در زیر به توضیح این مشکلات و روش‌های رفع آن‌ها پرداخته می‌شود.

2.1. بررسی وضعیت Extension

برای بررسی وضعیت Extension، از Asterisk CLI استفاده کنید:

sip show peers

این دستور تمامی Extension های فعال را نمایش می‌دهد و وضعیت اتصال هر یک را نشان می‌دهد. در صورتی که Extension مورد نظر غیر فعال باشد، باید تنظیمات آن را بررسی و دوباره راه‌اندازی کنید.

2.2. بررسی پیکربندی Extension

در بخش PBX از کنسول Issabel، بررسی کنید که تنظیمات Extension به درستی وارد شده باشد. مواردی که باید بررسی شوند شامل شماره داخلی، رمز عبور، نصب و اتصال به SIP Trunk و کدک‌ها می‌باشد.

2.3. بررسی مشکلات فایروال

مشکل مشابهی که در اتصال به Trunks ممکن است پیش آید، در مورد Extensions هم وجود دارد. فایروال باید به درستی پیکربندی شود تا اجازه دهد Extension به سرور SIP متصل شود. برای بررسی فایروال، از دستور زیر استفاده کنید:

iptables -L

اطمینان حاصل کنید که پورت‌های لازم برای SIP در فایروال باز هستند.

2.4. مشکلات مربوط به Registrar

در صورتی که Extension قادر به ثبت‌نام در Registrar نباشد، ممکن است مشکل از تنظیمات Registrar باشد. برای بررسی این مشکل، در Asterisk CLI دستور زیر را اجرا کنید:

sip show registry

این دستور وضعیت ثبت‌نام Extension ها را نشان می‌دهد. اگر خطایی در ثبت‌نام وجود داشته باشد، آن را در گزارش مشاهده خواهید کرد و می‌توانید مشکل را رفع کنید.


3. استفاده از Log Files برای شناسایی مشکلات

استفاده از Log Files یکی از بهترین روش‌ها برای شناسایی و رفع مشکلات در اتصال به Trunks و Extensions است. فایل‌های لاگ به شما اطلاعات دقیقی از وضعیت سیستم، تماس‌ها و مشکلات مربوط به SIP می‌دهند.

برای مشاهده فایل‌های لاگ می‌توانید از دستور زیر استفاده کنید:

tail -f /var/log/asterisk/full

این دستور به‌طور زنده لاگ‌های سیستم را نمایش می‌دهد. در صورت بروز مشکلات، خطاهای مربوطه در این فایل‌ها ثبت می‌شوند.


جمع‌بندی

در این بخش، مشکلات متداول در اتصال به Trunks و Extensions بررسی و روش‌های رفع آن‌ها توضیح داده شد. از جمله مشکلات رایج می‌توان به پیکربندی اشتباه، مشکلات مربوط به فایروال، ناسازگاری Codec ها و مشکلات مربوط به NAT Traversal اشاره کرد. با استفاده از ابزارهایی مانند Asterisk CLI و بررسی دقیق Log Files، می‌توانید مشکلات را شناسایی و رفع کنید. همچنین، بررسی و اصلاح تنظیمات در SIP Trunk و Extension ها می‌تواند به حل بسیاری از مشکلات کمک کند.[/cdb_course_lesson][/cdb_course_lessons]

[cdb_course_lessons title=”5. تنظیمات IVR (Interactive Voice Response)”][cdb_course_lesson title=”فصل 1. مفاهیم اولیه IVR”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تعریف IVR و نقش آن در سیستم‌های تلفنی” subtitle=”توضیحات کامل”]IVR (Interactive Voice Response) یک سیستم پاسخگویی خودکار است که به کاربران اجازه می‌دهد از طریق دستورهای صوتی یا انتخاب گزینه‌ها در منوی تلفنی، با سیستم‌های تلفنی تعامل کنند. این تکنولوژی معمولاً در مراکز تماس و سیستم‌های تلفنی تجاری استفاده می‌شود تا تماس‌گیرندگان بتوانند بدون نیاز به صحبت مستقیم با اپراتور، خدمات مورد نظر خود را دریافت کنند.


1. اجزای اصلی IVR

یک سیستم IVR معمولاً از اجزای مختلفی تشکیل می‌شود که در کنار هم عمل کرده و تجربه تعامل خودکار را برای کاربران فراهم می‌کنند:

  • منوی صوتی: شامل گزینه‌ها و دستورهای صوتی است که تماس‌گیرنده می‌تواند از آن‌ها برای هدایت خود به بخش‌های مختلف سیستم استفاده کند.
  • دستورات صوتی: به کاربر این امکان را می‌دهد که با گفتن کلمات خاص یا فشار دادن دکمه‌هایی از طریق صفحه‌کلید تلفن خود، از سیستم درخواست کند.
  • پاسخ‌های صوتی پیش‌ضبط: پیام‌هایی که از پیش ضبط شده‌اند و به تماس‌گیرنده اطلاعات یا راهنمایی‌های لازم را ارائه می‌دهند.
  • سیستم ورودی داده‌ها: این قسمت اجازه می‌دهد که تماس‌گیرنده اطلاعاتی نظیر شماره حساب یا شناسه خود را وارد کند تا سیستم آن را پردازش کرده و اقدامات لازم را انجام دهد.

2. نقش IVR در سیستم‌های تلفنی

IVR در سیستم‌های تلفنی نقش مهمی ایفا می‌کند که در اینجا به چند جنبه کلیدی آن اشاره می‌شود:

2.1. خودکارسازی فرآیندهای پاسخگویی

یکی از مهم‌ترین نقش‌های IVR، خودکارسازی فرآیندهای پاسخگویی است. به جای اینکه تماس‌گیرنده برای دریافت خدمات به اپراتور انسانی نیاز داشته باشد، IVR می‌تواند تماس‌گیرنده را به صورت خودکار به بخش‌های مختلف هدایت کرده و اطلاعات مورد نیاز را در اختیارش قرار دهد.

برای مثال، در یک سیستم تلفنی شرکتی، IVR می‌تواند تماس‌گیرنده را به دپارتمان‌های مختلف (مثل پشتیبانی، فروش، مالی) هدایت کند. این کار باعث صرفه‌جویی در زمان و منابع می‌شود و همچنین هزینه‌های نیروی انسانی را کاهش می‌دهد.

2.2. افزایش تجربه مشتری

استفاده از IVR به افزایش رضایت مشتری کمک می‌کند. به جای اینکه مشتری منتظر بماند تا با اپراتور صحبت کند، می‌تواند به سرعت گزینه‌های مختلف را انتخاب کرده و مشکلات خود را حل کند. این قابلیت باعث کاهش زمان انتظار و افزایش تجربه کلی مشتری می‌شود.

2.3. ارائه خدمات 24/7

با استفاده از IVR، یک سیستم تلفنی می‌تواند به صورت 24 ساعته و 7 روز هفته خدمات ارائه دهد. این به مشتریان این امکان را می‌دهد که در هر زمانی که نیاز دارند، به اطلاعات مورد نظر خود دسترسی پیدا کنند، حتی اگر هیچ اپراتوری در دسترس نباشد.

2.4. کاهش هزینه‌ها

IVR می‌تواند به کاهش هزینه‌ها کمک کند زیرا نیاز به اپراتورهای انسانی برای پاسخگویی به تماس‌ها را کاهش می‌دهد. همچنین باعث افزایش بهره‌وری می‌شود زیرا اپراتورها می‌توانند تمرکز بیشتری بر روی تماس‌های پیچیده‌تر و نیازمند دخالت انسانی داشته باشند.

2.5. یکپارچگی با سیستم‌های دیگر

IVR می‌تواند با سیستم‌های دیگر مانند CRM (Customer Relationship Management) یا سیستم‌های پایگاه داده یکپارچه شود. این یکپارچگی به سیستم این امکان را می‌دهد که اطلاعات مشتریان را بررسی کرده و خدمات یا راهنمایی‌های دقیق‌تری را به تماس‌گیرندگان ارائه دهد.

برای مثال، اگر مشتری شناسه خود را وارد کند، سیستم IVR می‌تواند به صورت خودکار سوابق آن مشتری را بازیابی کرده و به آن اطلاع دهد که وضعیت سفارش یا حساب کاربری وی چگونه است.


3. کاربردهای رایج IVR

IVR در بسیاری از صنایع و کاربردهای مختلف مورد استفاده قرار می‌گیرد. در زیر به برخی از مهم‌ترین کاربردهای IVR اشاره می‌شود:

3.1. مراکز تماس (Call Centers)

در مراکز تماس، IVR به طور گسترده‌ای استفاده می‌شود تا تماس‌گیرندگان را به بخش‌های مختلف هدایت کرده و به درخواست‌های ساده مانند اطلاعات حساب یا وضعیت سفارش پاسخ دهد.

3.2. بانکداری تلفنی

در بانک‌ها و موسسات مالی، IVR به مشتریان این امکان را می‌دهد که از طریق تلفن به اطلاعات حساب خود دسترسی پیدا کرده یا تراکنش‌های خاصی انجام دهند، مانند بررسی موجودی، انتقال وجه یا پرداخت قبوض.

3.3. شرکت‌های خدماتی

در شرکت‌های خدماتی، مانند شرکت‌های اینترنتی، انرژی یا مخابرات، IVR می‌تواند درخواست‌های مشتریان را ثبت کرده و به اپراتور مربوطه ارجاع دهد. به عنوان مثال، مشتریان می‌توانند از طریق IVR درخواستی برای تعمیر یا سرویس ثبت کنند.

3.4. سیستم‌های اطلاع‌رسانی

سیستم‌های IVR می‌توانند برای اطلاع‌رسانی به مشتریان یا کاربران استفاده شوند، مانند اطلاع رسانی وضعیت پرواز، وضعیت سفارش یا اعلام شرایط ترافیکی.


4. نحوه پیکربندی IVR در Issabel

در Issabel، پیکربندی سیستم IVR به راحتی از طریق رابط گرافیکی وب انجام می‌شود. شما می‌توانید با وارد شدن به پنل مدیریت Issabel، منوی PBX را انتخاب کرده و سپس به بخش IVR بروید. در اینجا می‌توانید یک IVR جدید ایجاد کرده و گزینه‌ها، پیام‌ها و آکشن‌های مختلف را برای آن تنظیم کنید.

4.1. تنظیمات ابتدایی

برای افزودن یک IVR جدید، ابتدا در پنل مدیریت Issabel وارد بخش PBX شوید و سپس مراحل زیر را طی کنید:

  1. از بخش PBX گزینه IVR را انتخاب کنید.
  2. بر روی Add IVR کلیک کنید تا یک IVR جدید ایجاد کنید.
  3. در بخش General Settings، نام و توضیحات مربوط به IVR را وارد کنید.
  4. در بخش IVR Options, برای تماس‌گیرندگان گزینه‌هایی نظیر فشار دادن شماره‌های خاص یا گفتن دستورات صوتی را تعریف کنید.
  5. در قسمت Actions، هر گزینه را به عملیات مورد نظر خود مانند هدایت به بخش‌های مختلف، ارسال ایمیل، یا پخش پیام‌ها تنظیم کنید.
4.2. تنظیم پیام‌های صوتی

پیام‌های صوتی را می‌توانید از طریق بخش System Recordings در Issabel بارگذاری کرده و سپس در IVR خود استفاده کنید.


جمع‌بندی

IVR یک ابزار کلیدی در سیستم‌های تلفنی است که با خودکارسازی فرآیندهای پاسخگویی، کاهش هزینه‌ها و افزایش تجربه مشتری نقش مهمی در بهبود کارایی سیستم‌های تلفنی ایفا می‌کند. این سیستم در بسیاری از صنایع مانند مراکز تماس، بانکداری و خدمات عمومی استفاده می‌شود و می‌تواند به راحتی با دیگر سیستم‌ها مانند CRM یکپارچه شود. پیکربندی و تنظیمات IVR در Issabel بسیار ساده است و می‌تواند به صورت کاملاً سفارشی‌سازی شده برای نیازهای خاص هر سازمان انجام شود.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”مزایای استفاده از IVR در مدیریت تماس‌ها” subtitle=”توضیحات کامل”]استفاده از سیستم IVR (Interactive Voice Response) در مدیریت تماس‌ها مزایای متعددی برای سازمان‌ها و مشتریان به همراه دارد. در این بخش به بررسی این مزایا پرداخته می‌شود و توضیح داده می‌شود که چگونه می‌توان از آن برای بهبود تجربه مشتری، کاهش هزینه‌ها و افزایش کارایی استفاده کرد.


1. کاهش هزینه‌ها و افزایش بهره‌وری

یکی از اصلی‌ترین مزایای استفاده از IVR، کاهش نیاز به اپراتورهای انسانی برای انجام تماس‌های ساده و تکراری است. این موضوع باعث صرفه‌جویی در هزینه‌های نیروی انسانی و بهبود بهره‌وری کارکنان می‌شود. اپراتورها می‌توانند زمان خود را صرف انجام وظایف پیچیده‌تر و نیازمند تعامل انسانی کنند، در حالی که IVR به راحتی به درخواست‌های ساده مشتریان پاسخ می‌دهد.

  • مثال عملی: در یک مرکز خدمات مشتریان، IVR می‌تواند درخواست‌های مربوط به تغییر آدرس، بررسی وضعیت سفارش یا پیگیری پرداخت‌ها را بدون نیاز به دخالت اپراتور انجام دهد.
1.1. صرفه‌جویی در منابع انسانی

با استفاده از IVR، سازمان‌ها نیازی به استخدام تعداد زیادی اپراتور برای پاسخ به تماس‌های ساده ندارند، زیرا سیستم می‌تواند به راحتی این وظایف را انجام دهد. این منجر به صرفه‌جویی در هزینه‌ها و تخصیص منابع انسانی به کارهای پیچیده‌تر می‌شود.


2. بهبود تجربه مشتری

IVR به مشتریان این امکان را می‌دهد که به سرعت به خدمات یا اطلاعات مورد نظر خود دسترسی پیدا کنند. این سیستم می‌تواند گزینه‌های مختلفی را برای هدایت تماس‌گیرنده به بخش مورد نظر فراهم کرده و تجربه کاربری راحت‌تری را ایجاد کند. در بسیاری از مواقع، مشتریان ترجیح می‌دهند که بدون نیاز به انتظار برای صحبت با اپراتور، مشکل خود را حل کنند.

  • مثال عملی: مشتریان یک شرکت ممکن است از طریق IVR بتوانند به سرعت به اطلاعات حساب خود دسترسی پیدا کنند یا وضعیت سفارش خود را بررسی کنند.
2.1. کاهش زمان انتظار

یکی از بزرگترین مزایای IVR این است که به طور خودکار تماس‌ها را به بخش مناسب هدایت می‌کند و نیاز به انتظار طولانی برای رسیدن به یک اپراتور را از بین می‌برد. این بهبود در زمان پاسخگویی، رضایت مشتریان را افزایش می‌دهد.


3. دسترسی 24 ساعته و خدمات بی‌وقفه

یکی دیگر از مزایای بزرگ IVR این است که به شرکت‌ها این امکان را می‌دهد که خدمات خود را به صورت 24 ساعته و 7 روز هفته به مشتریان ارائه دهند. این قابلیت به ویژه برای شرکت‌هایی که در مناطق مختلف جغرافیایی فعالیت می‌کنند یا مشتریانی دارند که در ساعت‌های مختلف شبانه‌روز نیاز به خدمات دارند، مفید است.

  • مثال عملی: در صنعت بانکی، سیستم‌های IVR می‌توانند به مشتریان اجازه دهند تا در هر زمان از شبانه‌روز، موجودی حساب خود را بررسی کنند یا انتقال وجه انجام دهند.
3.1. خدمات بدون نیاز به نیروی انسانی

سیستم‌های IVR قادرند بدون نیاز به اپراتورهای انسانی، پاسخگویی به تماس‌ها و درخواست‌ها را انجام دهند. این موضوع می‌تواند برای کسب‌وکارهایی که به خدمات بی‌وقفه نیاز دارند، بسیار مفید باشد.


4. شخصی‌سازی خدمات و افزایش دقت

IVR قادر است تا با جمع‌آوری اطلاعات از تماس‌گیرندگان (مانند شناسه مشتری، شماره حساب و غیره) خدمات شخصی‌سازی شده‌ای را ارائه دهد. این قابلیت می‌تواند باعث شود که تماس‌گیرندگان تجربه بهتری داشته باشند و به سرعت به اطلاعات یا خدمات مورد نیاز خود دست یابند.

  • مثال عملی: در یک بانک، مشتریان می‌توانند شماره حساب خود را وارد کنند و سیستم IVR به صورت خودکار اطلاعات حساب مانند موجودی، تراکنش‌ها یا وضعیت وام را ارائه دهد.
4.1. کاهش اشتباهات انسانی

چون سیستم‌های IVR به صورت خودکار عمل می‌کنند، احتمال بروز اشتباهات انسانی که ممکن است در فرآیندهای دستی اتفاق بیفتد، کاهش می‌یابد. این می‌تواند به دقت بیشتر در ارائه خدمات کمک کند.


5. افزایش قابلیت مقیاس‌پذیری

با استفاده از IVR، سازمان‌ها می‌توانند بدون نیاز به افزایش تعداد اپراتورها، حجم بالای تماس‌ها را مدیریت کنند. سیستم IVR به راحتی می‌تواند تعداد زیادی تماس را به طور همزمان پردازش کرده و آن‌ها را به بخش‌های مختلف هدایت کند.

  • مثال عملی: در زمان‌هایی که حجم تماس‌ها زیاد است، مانند روزهای شلوغ فروش یا تعطیلات، IVR می‌تواند تماس‌ها را به سرعت پردازش کرده و به اپراتورهای موجود هدایت کند، بدون اینکه نیاز به استخدام کارکنان اضافی باشد.
5.1. مدیریت بهتر حجم تماس‌ها

IVR به کسب‌وکارها این امکان را می‌دهد که حجم بالای تماس‌ها را مدیریت کنند و به طور همزمان تعداد زیادی از تماس‌ها را پردازش کنند. این موضوع به ویژه در مواقع شلوغ و اضطراری بسیار مفید است.


6. بهبود امنیت و کنترل دسترسی

با استفاده از IVR، سازمان‌ها می‌توانند به راحتی دسترسی به اطلاعات حساس را کنترل کنند. به عنوان مثال، تماس‌گیرندگان می‌توانند با وارد کردن یک پین یا کد امنیتی، به حساب خود دسترسی پیدا کنند. این ویژگی به سازمان‌ها کمک می‌کند تا امنیت سیستم‌های خود را افزایش دهند و از دسترسی غیرمجاز جلوگیری کنند.

  • مثال عملی: در یک سیستم بانکی، مشتریان می‌توانند با وارد کردن شماره حساب و کد PIN خود، به اطلاعات حساسی مانند موجودی حساب یا تاریخچه تراکنش‌ها دسترسی پیدا کنند.
6.1. جلوگیری از دسترسی غیرمجاز

IVR می‌تواند به سیستم‌های امنیتی کمک کند تا دسترسی به اطلاعات حساس فقط به افراد مجاز داده شود. این امنیت اضافه شده به جلوگیری از دسترسی غیرمجاز به اطلاعات مشتریان کمک می‌کند.


7. جمع‌آوری داده‌های مفید برای تحلیل‌ها

سیستم‌های IVR می‌توانند داده‌های مفیدی را در مورد تماس‌های ورودی، رفتار مشتریان و نیازهای آن‌ها جمع‌آوری کنند. این داده‌ها می‌توانند به سازمان‌ها کمک کنند تا عملکرد خود را بهبود بخشند و خدمات خود را بر اساس نیازهای مشتریان بهینه کنند.

  • مثال عملی: با استفاده از گزارشات IVR، یک شرکت می‌تواند متوجه شود که کدام بخش‌ها یا خدمات بیشترین درخواست را دارند و به این ترتیب منابع خود را به‌طور بهینه تخصیص دهد.
7.1. بهبود تصمیم‌گیری بر اساس داده‌ها

با استفاده از داده‌های جمع‌آوری شده از IVR، سازمان‌ها می‌توانند تصمیمات بهتری بگیرند و خدمات خود را براساس نیازهای واقعی مشتریان بهبود بخشند.


جمع‌بندی

IVR به عنوان یک ابزار خودکارسازی برای پاسخگویی به تماس‌ها، به شرکت‌ها این امکان را می‌دهد که هزینه‌ها را کاهش دهند، بهره‌وری را افزایش دهند، و تجربه بهتری برای مشتریان فراهم کنند. با قابلیت‌های شخصی‌سازی، دسترسی 24 ساعته، کاهش اشتباهات انسانی و بهبود امنیت، IVR یکی از مؤثرترین راهکارها برای مدیریت تماس‌ها در سیستم‌های تلفنی مدرن است.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”ارتباط IVR با سیستم‌های PBX و VoIP” subtitle=”توضیحات کامل”]در این بخش به بررسی نحوه ارتباط سیستم IVR (Interactive Voice Response) با سیستم‌های PBX (Private Branch Exchange) و VoIP (Voice over IP) خواهیم پرداخت. این ارتباط‌ها در راستای بهبود مدیریت تماس‌ها، کاهش هزینه‌ها و ارتقاء کیفیت خدمات به مشتریان بسیار مؤثر هستند.


1. ارتباط IVR با سیستم PBX

سیستم PBX به عنوان یک مرکز تلفن داخلی در سازمان‌ها شناخته می‌شود و مسئولیت مدیریت تماس‌های ورودی و خروجی را بر عهده دارد. IVR به عنوان یک ابزار خودکار برای هدایت تماس‌ها به بخش‌های مختلف، می‌تواند با سیستم PBX ادغام شود تا فرآیند تماس‌ها را به صورت خودکار و هوشمند انجام دهد.

نحوه کار:

  • زمانی که یک تماس به سیستم PBX وارد می‌شود، این سیستم ابتدا تماس را به IVR ارسال می‌کند.
  • سیستم IVR تماس‌گیرنده را به گزینه‌های مختلف هدایت می‌کند (مانند انتخاب بخش خدمات مشتریان، پشتیبانی فنی یا فروش).
  • پس از اینکه تماس‌گیرنده گزینه مورد نظر را انتخاب کرد، IVR تماس را به بخش مربوطه در سیستم PBX هدایت می‌کند.
1.1. تنظیمات IVR در سیستم PBX

برای راه‌اندازی IVR در سیستم PBX، معمولاً نیاز است که از تنظیمات و پیکربندی‌های زیر استفاده شود:

پیکربندی IVR در Asterisk PBX:

  • فایل پیکربندی: /etc/asterisk/extensions.conf
  • تنظیمات ابتدایی IVR در این فایل به‌صورت زیر می‌تواند باشد:
[ivr-menu]
exten => s,1,Answer()
exten => s,n,Background(welcome-message)
exten => s,n,WaitExten()

exten => 1,1,Goto(service-department,s,1)
exten => 2,1,Goto(support-department,s,1)
exten => 3,1,Goto(sales-department,s,1)

این تنظیمات باعث می‌شود که پس از برقراری تماس، IVR پیام خوشامدگویی را پخش کرده و از تماس‌گیرنده بخواهد تا یکی از گزینه‌ها را وارد کند.


2. ارتباط IVR با سیستم VoIP

سیستم VoIP (Voice over IP) این امکان را فراهم می‌کند که تماس‌ها از طریق اینترنت به جای خطوط تلفن سنتی منتقل شوند. در این نوع سیستم‌ها، ارتباط IVR به راحتی با استفاده از پروتکل‌هایی مانند SIP (Session Initiation Protocol) و RTP (Real-time Transport Protocol) انجام می‌شود.

نحوه کار:

  • تماس ورودی از طریق شبکه IP به سیستم VoIP وارد می‌شود.
  • سیستم VoIP پس از دریافت تماس، آن را به IVR ارسال می‌کند.
  • IVR با ارائه گزینه‌های مختلف، تماس را به مقصد مناسب هدایت می‌کند.
2.1. تنظیمات IVR در VoIP

در سیستم‌های VoIP مانند FreePBX یا Issabel, تنظیمات IVR معمولاً از طریق رابط گرافیکی (GUI) انجام می‌شود، اما امکان پیکربندی آن از طریق فایل‌های پیکربندی یا خط فرمان نیز وجود دارد.

برای مثال، در FreePBX، برای پیکربندی IVR می‌توان از رابط گرافیکی استفاده کرد تا مسیرهای تماس برای بخش‌های مختلف مشخص شوند. در این حالت، پس از تنظیمات مربوط به SIP Trunks و Dial Plan، تماس‌ها به راحتی به IVR ارسال می‌شوند.


3. مزایای ارتباط IVR با PBX و VoIP

1. کاهش هزینه‌ها: با استفاده از IVR در کنار سیستم‌های PBX و VoIP، تماس‌ها به صورت خودکار و هوشمند مدیریت می‌شوند که این امر باعث کاهش نیاز به اپراتورهای انسانی و در نتیجه کاهش هزینه‌ها می‌شود.

2. بهبود تجربه مشتری: با استفاده از IVR، مشتریان می‌توانند به سرعت به بخش مورد نظر خود دسترسی پیدا کنند، بدون اینکه نیاز به صحبت با اپراتور داشته باشند. این امر باعث کاهش زمان انتظار و بهبود تجربه مشتری می‌شود.

3. مقیاس‌پذیری: IVR به سازمان‌ها این امکان را می‌دهد که حجم بالای تماس‌ها را مدیریت کنند بدون اینکه نیاز به افزایش تعداد اپراتورها باشد. این ویژگی به ویژه در مواقع شلوغ و اوج تماس‌ها مفید است.

4. یکپارچگی و انعطاف‌پذیری: با ارتباط IVR با سیستم‌های PBX و VoIP، سازمان‌ها می‌توانند به راحتی تماس‌ها را از طریق خطوط اینترنتی یا خطوط تلفن سنتی مدیریت کنند و به راحتی خدمات خود را گسترش دهند.


جمع‌بندی

سیستم‌های IVR، PBX و VoIP هر کدام نقش مهمی در مدیریت تماس‌ها ایفا می‌کنند و با یکپارچه شدن این سیستم‌ها، می‌توان تجربه بهتری برای مشتریان فراهم کرد. IVR با استفاده از سیستم‌های PBX و VoIP می‌تواند تماس‌ها را به طور خودکار هدایت کرده، هزینه‌ها را کاهش دهد و بهره‌وری را افزایش دهد. این ارتباط‌ها به ویژه در محیط‌های پرتماس و نیازمند پاسخگویی سریع، بسیار مفید خواهند بود.[/cdb_course_lesson][cdb_course_lesson title=”فصل 2. طراحی منوی صوتی (IVR Menu)”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”نحوه طراحی منوهای صوتی بر اساس نیازهای کسب‌وکار” subtitle=”توضیحات کامل”]در این بخش، نحوه طراحی منوهای صوتی (IVR) بر اساس نیازهای خاص کسب‌وکار بررسی می‌شود. طراحی منوهای صوتی باید به‌گونه‌ای باشد که به راحتی نیازهای تماس‌گیرندگان را برآورده کرده و تجربه کاربری مطلوبی ایجاد کند. برای این منظور، به‌کارگیری تنظیمات دقیق و ساختار مناسب در طراحی منوهای صوتی بسیار مهم است.


1. تحلیل نیازهای کسب‌وکار

قبل از طراحی هر منوی صوتی، باید نیازهای خاص کسب‌وکار خود را تحلیل کنید. این شامل موارد زیر است:

  • نوع خدمات یا محصولات: منوهای صوتی باید متناسب با نوع خدمات یا محصولاتی که شرکت ارائه می‌دهد، طراحی شوند.
  • تعداد بخش‌ها: بسته به اندازه و بخش‌های مختلف کسب‌وکار، باید تصمیم بگیرید که چند گزینه در منوها گنجانده شود.
  • اولویت‌بندی بخش‌ها: انتخاب بخش‌هایی که بیشتر از همه برای مشتریان اهمیت دارند و باید در ابتدای منو قرار گیرند.
  • جریان تماس‌ها: طراحی مسیرهای تماس به نحوی که هر مشتری بتواند به راحتی به بخش مورد نظر دسترسی پیدا کند.

2. طراحی منوهای صوتی

برای طراحی منوهای صوتی، باید از ساختار منطقی و ساده‌ای استفاده کنید تا تماس‌گیرندگان بدون پیچیدگی بتوانند بخش مورد نظر خود را انتخاب کنند. برای مثال، یک منوی صوتی ممکن است به این شکل باشد:

  • گزینه 1: پشتیبانی فنی
  • گزینه 2: خدمات مشتریان
  • گزینه 3: فروش
  • گزینه 4: اطلاعات بیشتر

این منو باید ساده و به گونه‌ای طراحی شود که مشتری بتواند به راحتی گزینه مورد نظر خود را انتخاب کند.

2.1. تنظیمات IVR در Asterisk PBX

برای طراحی این منوها در Asterisk PBX یا سیستم‌هایی مانند Issabel که از Asterisk استفاده می‌کنند، باید فایل extensions.conf را ویرایش کنید تا منوهای صوتی به درستی پیکربندی شوند.

فایل: /etc/asterisk/extensions.conf

[ivr-menu]
exten => s,1,Answer()
exten => s,n,Background(ivr-welcome)   ; پخش پیام خوشامدگویی
exten => s,n,WaitExten()

exten => 1,1,Goto(support-department,s,1) ; هدایت به بخش پشتیبانی
exten => 2,1,Goto(customer-service,s,1)   ; هدایت به بخش خدمات مشتریان
exten => 3,1,Goto(sales-department,s,1)   ; هدایت به بخش فروش
exten => 4,1,Goto(info-department,s,1)    ; هدایت به بخش اطلاعات

در این پیکربندی:

  • ivr-welcome یک فایل صوتی است که به تماس‌گیرنده خوشامدگویی می‌کند.
  • تماس‌گیرنده می‌تواند با وارد کردن گزینه‌ای از 1 تا 4، به بخش‌های مختلف هدایت شود.
2.2. ایجاد فایل‌های صوتی

برای هر گزینه، باید فایل‌های صوتی متناسب با هر بخش را ایجاد کنید و در مسیر مناسب ذخیره کنید. به‌طور معمول، فایل‌های صوتی در پوشه /var/lib/asterisk/sounds/ قرار می‌گیرند.

برای مثال:

  • ivr-welcome.wav: فایل خوشامدگویی.
  • support-department.wav: فایل مربوط به بخش پشتیبانی.

این فایل‌ها باید به‌صورت صحیح در فایل‌های صوتی سیستم قرار گیرند.


3. استفاده از منوهای صوتی پیشرفته

در سیستم‌های پیشرفته‌تر مانند FreePBX یا Issabel، طراحی منوهای صوتی معمولاً از طریق رابط گرافیکی (GUI) انجام می‌شود. با این حال، همچنان می‌توان از دستورات خط فرمان برای پیکربندی دقیق‌تر و شخصی‌سازی بیشتر استفاده کرد.

3.1. تنظیمات پیشرفته منوهای صوتی

در سیستم‌های PBX، علاوه بر تنظیمات اولیه، می‌توان ویژگی‌های پیشرفته‌ای مانند زمان‌بندی، مسیرهای متعدد و انتقال تماس‌های بدون پاسخ را پیاده‌سازی کرد. برای مثال، می‌توان تنظیم کرد که اگر تماس در ساعات کاری پاسخ داده نشد، به طور خودکار به صندوق پستی ارسال شود.

مثال:

exten => 1,1,GotoIfTime(09:00-17:00,mon-fri,*,*?support-department,s,1)
exten => 1,n,Goto(voicemail,s,1)

در این پیکربندی:

  • تماس‌های ورودی در ساعات کاری (۹ صبح تا ۵ بعدازظهر) به بخش پشتیبانی هدایت می‌شوند.
  • تماس‌هایی که خارج از این ساعات باشند، به صندوق پستی منتقل می‌شوند.
3.2. استفاده از منوی تو در تو (Sub-Menus)

در برخی مواقع نیاز است که منوهای صوتی پیچیده‌تری ایجاد شود که در آن‌ها تماس‌گیرنده بتواند وارد منوهای تو در تو شود. برای مثال، پس از انتخاب گزینه خدمات مشتریان، منوی جدیدی برای انتخاب نوع درخواست مشتری به نمایش درآید.

exten => 2,1,Goto(customer-service-menu,s,1)

[customer-service-menu]
exten => s,1,Background(select-issue)
exten => s,n,WaitExten()

exten => 1,1,Goto(technical-support,s,1)
exten => 2,1,Goto(billing-support,s,1)

 جمع‌بندی

طراحی منوهای صوتی بر اساس نیازهای کسب‌وکار باید به‌گونه‌ای انجام شود که تجربه تماس‌گیرندگان را بهبود بخشد و به راحتی مسیرهای مختلف تماس را مدیریت کند. استفاده از ساختار منطقی، فایل‌های صوتی مناسب و پیکربندی دقیق در سیستم‌های PBX مانند Asterisk و Issabel از جمله گام‌های مهم در این فرآیند هستند. تنظیمات پیشرفته مانند استفاده از منوهای تو در تو، زمان‌بندی تماس‌ها و انتقال به صندوق‌های صوتی در صورت نیاز، می‌تواند به بهینه‌سازی بیشتر سیستم کمک کند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تعیین گزینه‌های منو برای انتخاب‌های مختلف کاربر” subtitle=”توضیحات کامل”]در این بخش، نحوه تعیین گزینه‌های منو برای انتخاب‌های مختلف کاربران در سیستم‌های IVR بررسی می‌شود. طراحی منوهای مناسب و شفاف، یکی از اصول کلیدی در بهبود تجربه کاربری است. با استفاده از این منوها، می‌توان تماس‌گیرندگان را به سرعت به بخش مورد نظر هدایت کرد.


1. تعیین گزینه‌های اولیه منو

اولین قدم در طراحی یک منوی صوتی، تعیین گزینه‌های اصلی است که تماس‌گیرنده به راحتی می‌تواند آنها را انتخاب کند. این گزینه‌ها باید ساده و واضح باشند تا تماس‌گیرنده در اولین تماس خود بتواند به‌راحتی بخش مورد نظر را پیدا کند.

مثال: فرض کنید شما یک مرکز تماس دارید که شامل بخش‌های زیر است:

  • پشتیبانی فنی
  • خدمات مشتریان
  • فروش

برای این کار، باید یک منوی صوتی طراحی کنید که تماس‌گیرنده بتواند از بین این گزینه‌ها انتخاب کند.

1.1. تنظیمات IVR در Asterisk PBX

در اینجا نحوه پیکربندی اولیه منوهای صوتی به‌صورت کامندی آورده شده است. این تنظیمات در فایل extensions.conf انجام می‌شود:

فایل: /etc/asterisk/extensions.conf

[ivr-menu]
exten => s,1,Answer()
exten => s,n,Background(welcome-message)   ; پخش پیام خوشامدگویی
exten => s,n,WaitExten()   ; انتظار برای ورودی تماس‌گیرنده

exten => 1,1,Goto(technical-support,s,1)   ; پشتیبانی فنی
exten => 2,1,Goto(customer-service,s,1)   ; خدمات مشتریان
exten => 3,1,Goto(sales,s,1)              ; فروش

در این پیکربندی:

  • ivr-menu شامل گزینه‌های اصلی است که تماس‌گیرنده می‌تواند یکی از آنها را انتخاب کند.
  • هر گزینه از 1 تا 3، به بخش‌های مختلف سیستم هدایت می‌شود.
1.2. ساختار منوهای صوتی با استفاده از Background

برای هر گزینه، پیام خوشامدگویی یا پیامی مرتبط با بخش‌ها می‌تواند به صورت فایل صوتی پخش شود. برای مثال، پیامی مانند “لطفاً گزینه مورد نظر خود را وارد کنید” می‌تواند برای هر بخش در نظر گرفته شود.

فایل صوتی:

  • welcome-message.wav: پیام خوشامدگویی به تماس‌گیرنده.

2. افزودن گزینه‌های فرعی

در مواردی که نیاز به جزئیات بیشتری در منوها داریم، می‌توان گزینه‌های فرعی ایجاد کرد. این گزینه‌ها به تماس‌گیرنده امکان انتخاب زیر بخش‌ها یا خدمات خاص را می‌دهند.

مثال: در بخش پشتیبانی فنی، تماس‌گیرنده ممکن است نیاز به انتخاب یکی از مسائل رایج مانند:

  • مشکلات اتصال
  • مشکلات نرم‌افزاری
  • مشکلات سخت‌افزاری

برای این کار، باید یک منوی تو در تو تنظیم کنید که در آن تماس‌گیرنده بعد از انتخاب گزینه اول، گزینه‌های جدیدی برای انتخاب‌های فرعی به نمایش درآید.

2.1. پیکربندی منوی تو در تو

فایل: /etc/asterisk/extensions.conf

exten => 1,1,Goto(technical-support-menu,s,1)   ; انتقال به منوی پشتیبانی فنی

[technical-support-menu]
exten => s,1,Background(choose-issue)
exten => s,n,WaitExten()

exten => 1,1,Goto(connection-issues,s,1)   ; مشکلات اتصال
exten => 2,1,Goto(software-issues,s,1)     ; مشکلات نرم‌افزاری
exten => 3,1,Goto(hardware-issues,s,1)     ; مشکلات سخت‌افزاری

در این پیکربندی:

  • تماس‌گیرنده بعد از انتخاب گزینه 1 به technical-support-menu هدایت می‌شود.
  • در این منو، تماس‌گیرنده می‌تواند گزینه‌ای از بین مشکلات مختلف انتخاب کند.

3. بهینه‌سازی تجربه کاربری با استفاده از پیام‌های صوتی مناسب

در هنگام طراحی منوها باید به‌خاطر داشت که پیام‌های صوتی واضح و صریح باشند تا تماس‌گیرنده بتواند به راحتی در منوها حرکت کند. برای مثال:

  • پیام‌های صوتی باید به‌طور مداوم اطلاعات دقیق و مختصر ارائه دهند.
  • از تکرار گزینه‌ها در طول منوها خودداری کنید.
  • استفاده از پیغام‌های صوتی ساده که حاوی دستورالعمل‌های مستقیم باشند می‌تواند تجربه کاربری را بهبود دهد.

مثال پیام صوتی:

  • “برای پشتیبانی فنی، عدد 1 را فشار دهید.”
  • “برای خدمات مشتریان، عدد 2 را فشار دهید.”
  • “برای فروش، عدد 3 را فشار دهید.”

این پیام‌ها باید با استفاده از فایل‌های صوتی که در سیستم ذخیره شده‌اند، پخش شوند.


 جمع‌بندی

طراحی گزینه‌های منو برای انتخاب‌های مختلف کاربر باید با دقت انجام شود تا تجربه تماس‌گیرنده بهبود یابد. با استفاده از سیستم‌های IVR در Asterisk یا Issabel، می‌توان منوهای صوتی ساده و پیچیده طراحی کرد که تماس‌گیرنده را به‌راحتی به بخش مورد نظر هدایت کنند. پیکربندی منوها باید شامل گزینه‌های اصلی و فرعی با پیام‌های صوتی واضح باشد که تماس‌گیرنده بتواند به راحتی از بین آن‌ها انتخاب کند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”استفاده از صداهای از پیش ضبط‌شده یا ضبط پیام‌های صوتی جدید” subtitle=”توضیحات کامل”]در سیستم‌های IVR، استفاده از پیام‌های صوتی از پیش ضبط‌شده یا ضبط پیام‌های صوتی جدید می‌تواند تجربه کاربری را بهبود بخشد و به سیستم امکان پخش پیام‌های مختلف برای اطلاع‌رسانی و راهنمایی تماس‌گیرندگان را بدهد. در این بخش، نحوه استفاده از این صداها در سیستم‌های PBX مانند Issabel یا Asterisk به‌صورت کامندی و عملی توضیح داده خواهد شد.


1. استفاده از صداهای از پیش ضبط‌شده

در سیستم‌های Asterisk و Issabel، می‌توان صداهای از پیش ضبط‌شده را به‌طور مستقیم در فایل‌های صوتی استفاده کرد. این صداها باید در دایرکتوری خاصی ذخیره شوند و سپس در فایل‌های پیکربندی سیستم فراخوانی شوند.

1.1. محل ذخیره‌سازی فایل‌های صوتی

تمامی فایل‌های صوتی که برای پخش استفاده می‌شوند باید در دایرکتوری /var/lib/asterisk/sounds/ ذخیره شوند. این دایرکتوری به‌طور پیش‌فرض محل ذخیره‌سازی فایل‌های صوتی در سیستم‌های Asterisk و Issabel است.

برای افزودن یک فایل صوتی جدید، فایل را در این مسیر آپلود کنید. برای مثال، فایل صوتی welcome-message.wav که پیام خوشامدگویی است را در این مسیر قرار دهید.

مسیر فایل:

/var/lib/asterisk/sounds/welcome-message.wav
1.2. استفاده از فایل‌های صوتی در فایل پیکربندی

برای استفاده از فایل‌های صوتی از پیش ضبط‌شده، باید آنها را در فایل پیکربندی extensions.conf فراخوانی کنید.

فایل: /etc/asterisk/extensions.conf

[ivr-menu]
exten => s,1,Answer()
exten => s,n,Background(welcome-message)   ; پخش پیام خوشامدگویی
exten => s,n,WaitExten()   ; انتظار برای ورودی تماس‌گیرنده

در این پیکربندی:

  • Background(welcome-message) فایل صوتی welcome-message.wav را به‌طور خودکار پخش می‌کند.
  • تماس‌گیرنده می‌تواند بلافاصله ورودی مورد نظر خود را وارد کند.

2. ضبط پیام‌های صوتی جدید

اگر بخواهید پیامی صوتی را به‌طور مستقیم ضبط کنید، می‌توانید از دستور Record() استفاده کنید. این دستور به تماس‌گیرنده اجازه می‌دهد تا یک پیام صوتی را ضبط کند و سپس آن را برای استفاده‌های بعدی ذخیره کنید.

2.1. ضبط پیام با استفاده از دستور Record

فایل: /etc/asterisk/extensions.conf

[voicemail]
exten => s,1,Answer()
exten => s,n,Record(/var/lib/asterisk/sounds/user-message.wav,4,30)  ; ضبط پیام به مدت 30 ثانیه
exten => s,n,Playback(thank-you)   ; پخش پیام "با تشکر"
exten => s,n,Hangup()   ; قطع تماس پس از ضبط پیام

در این پیکربندی:

  • دستور Record() به سیستم اجازه می‌دهد تا پیام تماس‌گیرنده را ضبط کند. فایل ضبط‌شده در مسیر /var/lib/asterisk/sounds/user-message.wav ذخیره می‌شود.
  • پس از ضبط، پیام “با تشکر” پخش می‌شود و سپس تماس قطع می‌شود.
2.2. پیکربندی ضبط پیام‌های صوتی در یک صندوق صوتی (Voicemail)

برای ضبط پیام‌ها در صندوق صوتی، باید از پیکربندی‌های مرتبط با صندوق صوتی استفاده کنید. در اینجا نحوه تنظیم آن به‌صورت کامندی آورده شده است:

فایل: /etc/asterisk/voicemail.conf

[default]
1234 => 1234,User,example@example.com
  • این پیکربندی برای تنظیم صندوق صوتی برای کاربر با شماره داخلی 1234 است. پیام‌های صوتی ضبط‌شده برای این کاربر به آدرس ایمیل example@example.com ارسال خواهند شد.

جمع‌بندی

استفاده از صداهای از پیش ضبط‌شده یا ضبط پیام‌های صوتی جدید یکی از ویژگی‌های مهم در سیستم‌های IVR و PBX است که می‌تواند به‌طور موثر به تجربه تماس‌گیرنده کمک کند. با استفاده از دستوراتی مانند Background() و Record() می‌توان به راحتی پیام‌های صوتی را مدیریت کرد. ذخیره‌سازی فایل‌های صوتی باید در دایرکتوری /var/lib/asterisk/sounds/ انجام شود و پس از آن این فایل‌ها در پیکربندی‌های Asterisk یا Issabel فراخوانی شوند.

در این بخش، همچنین نحوه ضبط پیام‌های صوتی جدید برای استفاده در سیستم‌های Voicemail و پیکربندی صندوق صوتی نیز توضیح داده شد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”ایجاد سلسله مراتب در منوها (منوهای چند سطحی)” subtitle=”توضیحات کامل”]در سیستم‌های IVR و PBX مانند Issabel، ایجاد منوهای چند سطحی به تماس‌گیرندگان امکان می‌دهد تا با انتخاب گزینه‌های مختلف، به قسمت‌های مختلف سیستم راه پیدا کنند. این ویژگی به کسب‌وکارها کمک می‌کند تا تماس‌ها را بر اساس نیازهای مختلف به بخش‌های مربوطه هدایت کنند.

در این بخش، نحوه ایجاد سلسله مراتب در منوها (منوهای چند سطحی) در سیستم Issabel توضیح داده خواهد شد.


1. اصول طراحی منوهای چند سطحی

برای طراحی منوهای چند سطحی در سیستم‌های PBX، باید مراحل مختلف منو را به‌طور سلسله‌وار تنظیم کرده و برای هر سطح از منو، گزینه‌های مربوط به آن را مشخص کنیم. این کار معمولاً از طریق استفاده از دستورات Goto() و Background() در فایل پیکربندی extensions.conf انجام می‌شود.


2. نحوه پیکربندی منوهای چند سطحی در Issabel

2.1. تنظیمات منوی اصلی

برای شروع، ابتدا یک منوی اصلی طراحی می‌کنیم که از آنجا تماس‌گیرنده به سطوح مختلف هدایت خواهد شد. این منو باید در فایل extensions.conf ایجاد شود.

فایل: /etc/asterisk/extensions.conf

[ivr-main-menu]
exten => s,1,Answer()
exten => s,n,Background(welcome-message)   ; پیام خوشامدگویی
exten => s,n,Background(main-menu)   ; پخش منوی اصلی
exten => s,n,WaitExten()   ; انتظار برای انتخاب کاربر

در این پیکربندی:

  • Background(welcome-message) پیام خوشامدگویی را پخش می‌کند.
  • Background(main-menu) منوی اصلی را پخش می‌کند که گزینه‌های مختلف را برای تماس‌گیرنده ارائه می‌دهد.
  • WaitExten() منتظر ورودی تماس‌گیرنده می‌ماند.
2.2. افزودن گزینه‌های مختلف به منو

در این بخش، منوی اصلی به چندین گزینه تقسیم می‌شود که هرکدام به منوی خاصی هدایت می‌کنند.

فایل: /etc/asterisk/extensions.conf

[ivr-main-menu]
exten => s,1,Answer()
exten => s,n,Background(welcome-message)
exten => s,n,Background(main-menu)
exten => s,n,WaitExten()

exten => 1,1,Goto(ivr-sub-menu-1,s,1)   ; گزینه 1 به منوی زیرمجموعه 1 می‌رود
exten => 2,1,Goto(ivr-sub-menu-2,s,1)   ; گزینه 2 به منوی زیرمجموعه 2 می‌رود
exten => 3,1,Goto(ivr-sub-menu-3,s,1)   ; گزینه 3 به منوی زیرمجموعه 3 می‌رود

در این پیکربندی:

  • تماس‌گیرنده با وارد کردن 1، به منوی فرعی 1 هدایت می‌شود.
  • تماس‌گیرنده با وارد کردن 2، به منوی فرعی 2 هدایت می‌شود.
  • تماس‌گیرنده با وارد کردن 3، به منوی فرعی 3 هدایت می‌شود.
2.3. تنظیمات منوهای فرعی (زیرمجموعه‌ها)

برای هر یک از منوهای فرعی که در منوی اصلی تنظیم شده‌اند، باید منوهای خاصی را برای هر سطح از انتخاب ایجاد کنیم.

فایل: /etc/asterisk/extensions.conf

[ivr-sub-menu-1]
exten => s,1,Background(sub-menu-1-message)   ; پخش پیام منوی زیرمجموعه 1
exten => s,n,Background(sub-menu-1-options)    ; پخش گزینه‌های منوی زیرمجموعه 1
exten => s,n,WaitExten()   ; انتظار برای انتخاب کاربر

exten => 1,1,Playback(option-1-selected)   ; گزینه 1 از منوی زیرمجموعه 1
exten => 2,1,Playback(option-2-selected)   ; گزینه 2 از منوی زیرمجموعه 1

[ivr-sub-menu-2]
exten => s,1,Background(sub-menu-2-message)   ; پخش پیام منوی زیرمجموعه 2
exten => s,n,Background(sub-menu-2-options)    ; پخش گزینه‌های منوی زیرمجموعه 2
exten => s,n,WaitExten()

exten => 1,1,Playback(option-1-selected)
exten => 2,1,Playback(option-2-selected)

[ivr-sub-menu-3]
exten => s,1,Background(sub-menu-3-message)   ; پخش پیام منوی زیرمجموعه 3
exten => s,n,Background(sub-menu-3-options)    ; پخش گزینه‌های منوی زیرمجموعه 3
exten => s,n,WaitExten()

exten => 1,1,Playback(option-1-selected)
exten => 2,1,Playback(option-2-selected)

در این پیکربندی:

  • هر منوی فرعی دارای پیام‌های خاص خود است که به تماس‌گیرنده اطلاعات بیشتری می‌دهد.
  • هر منو گزینه‌های مختلفی دارد که تماس‌گیرنده با وارد کردن شماره گزینه مربوطه به آن هدایت می‌شود.

 جمع‌بندی

ایجاد سلسله مراتب در منوها یا منوهای چند سطحی به‌راحتی امکان‌پذیر است و می‌تواند تماس‌گیرندگان را بر اساس نیازهای مختلف به بخش‌های مختلف سیستم هدایت کند. در این بخش، ما نحوه ایجاد منوهای اصلی و فرعی در سیستم Issabel را از طریق دستورات Background(), Goto(), و WaitExten() توضیح دادیم. هر منو می‌تواند شامل گزینه‌هایی باشد که به دیگر منوهای فرعی هدایت می‌شوند و در نهایت تماس‌گیرنده می‌تواند به بخش‌های مختلف سیستم دسترسی پیدا کند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 3. ایجاد و تنظیم IVR در Issabel”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”نحوه ورود به بخش تنظیمات IVR در رابط کاربری Issabel” subtitle=”توضیحات کامل”]در Issabel، تنظیمات IVR به شما این امکان را می‌دهند که برای تماس‌گیرندگان منوهای صوتی ایجاد کنید تا آن‌ها بتوانند بر اساس گزینه‌هایی که انتخاب می‌کنند، به بخش‌های مختلف سیستم هدایت شوند. این تنظیمات در رابط کاربری Issabel به‌راحتی قابل دسترسی است و می‌توان آن‌ها را از طریق محیط گرافیکی مدیریت کرد.


1. ورود به رابط کاربری Issabel

برای شروع، شما باید به رابط کاربری Issabel وارد شوید. برای ورود به این رابط، مراحل زیر را دنبال کنید:

  1. در مرورگر وب خود، آدرس IP سرور Issabel را وارد کنید (مثلاً http://your-issabel-ip).
  2. وارد صفحه ورود به سیستم شوید.
  3. نام کاربری و رمز عبور خود را وارد کنید. (پیش‌فرض معمولاً admin برای نام کاربری و رمز عبور است مگر اینکه تغییر داده باشید).

2. دسترسی به بخش تنظیمات IVR

پس از ورود به رابط کاربری Issabel، برای دسترسی به تنظیمات IVR، مراحل زیر را دنبال کنید:

  1. از منوی اصلی در پنل کناری، به بخش PBX بروید.
  2. سپس، در بخش PBX, گزینه IVR (Interactive Voice Response) را پیدا کنید.
  3. بر روی IVR کلیک کنید تا به صفحه تنظیمات IVR وارد شوید.

3. ایجاد یا ویرایش IVR

در صفحه IVR, شما می‌توانید تنظیمات زیر را انجام دهید:

  • اضافه کردن IVR جدید: برای ایجاد یک IVR جدید، بر روی دکمه Add IVR کلیک کنید. این عمل شما را به صفحه‌ای می‌برد که می‌توانید تنظیمات جدید IVR را وارد کنید.
  • ویرایش IVR موجود: برای ویرایش یک IVR موجود، کافی است نام آن را از لیست IVRها انتخاب کنید و سپس تنظیمات آن را به‌دلخواه تغییر دهید.

4. تنظیمات داخلی IVR

پس از ورود به صفحه مربوط به تنظیمات IVR، شما می‌توانید تنظیمات مختلفی مانند موارد زیر را انجام دهید:

  • نام IVR: نام منوی IVR که در پنل نمایش داده می‌شود.
  • پیام خوشامدگویی: پیامی که قبل از منو به تماس‌گیرنده پخش می‌شود.
  • منوی صوتی: تنظیمات مربوط به منوهایی که کاربر می‌تواند انتخاب کند.
  • زمان تایم‌اوت: مدت زمانی که تماس‌گیرنده برای وارد کردن شماره باید منتظر بماند.
  • اعمال محدودیت‌های تماس: محدود کردن تماس‌ها به ساعت‌ها یا روزهای خاص.
  • انتقال به شماره داخلی یا بخش خاص: بعد از انتخاب گزینه توسط تماس‌گیرنده، تماس به بخش یا شماره خاصی منتقل می‌شود.

5. ذخیره و اعمال تغییرات

پس از انجام تغییرات لازم، برای ذخیره و اعمال تنظیمات، دکمه Save را در پایین صفحه کلیک کنید.


جمع‌بندی

با وارد شدن به بخش تنظیمات IVR در رابط کاربری Issabel، شما می‌توانید به‌راحتی منوهای صوتی برای تماس‌گیرندگان طراحی کنید و تنظیمات مربوط به آن‌ها را به دلخواه ویرایش نمایید. این تنظیمات به شما کمک می‌کند تا تجربه تماس حرفه‌ای‌تر و سازمان‌یافته‌تری را برای کاربران فراهم کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”ایجاد یک IVR جدید از طریق رابط گرافیکی در Issabel” subtitle=”توضیحات کامل”]برای ایجاد یک IVR جدید در Issabel از رابط گرافیکی، شما می‌توانید منوهای صوتی طراحی کنید که تماس‌گیرندگان را بر اساس انتخاب‌های خود به بخش‌های مختلف هدایت کند. این فرآیند به‌راحتی از طریق رابط کاربری Issabel انجام می‌شود.


1. ورود به رابط کاربری Issabel

ابتدا باید وارد رابط کاربری Issabel شوید. برای این کار مراحل زیر را دنبال کنید:

  1. در مرورگر وب خود، آدرس IP سرور Issabel را وارد کنید (مثلاً http://your-issabel-ip).
  2. وارد صفحه ورود به سیستم شوید.
  3. نام کاربری و رمز عبور خود را وارد کنید.

2. دسترسی به بخش IVR

بعد از ورود به سیستم، مراحل زیر را دنبال کنید تا به تنظیمات IVR دسترسی پیدا کنید:

  1. از منوی سمت چپ، روی گزینه PBX کلیک کنید.
  2. سپس، در بخش PBX, گزینه IVR (Interactive Voice Response) را پیدا کرده و بر روی آن کلیک کنید.
  3. در صفحه IVR, لیستی از IVRهای موجود نمایش داده می‌شود.

3. ایجاد یک IVR جدید

برای ایجاد یک IVR جدید، مراحل زیر را دنبال کنید:

  1. در بالای صفحه، روی دکمه Add IVR کلیک کنید.
  2. در صفحه باز شده، فیلدهای مختلف برای ایجاد IVR جدید را پر کنید.
فیلدهای مهم برای تنظیم IVR جدید:
  • نام IVR: یک نام برای IVR خود انتخاب کنید که به‌راحتی قابل شناسایی باشد (مثلاً “Customer Support” یا “Sales”).
  • پیام خوشامدگویی: پیامی که قبل از منو به تماس‌گیرنده پخش می‌شود. می‌توانید از یک پیام پیش‌فرض استفاده کنید یا پیام خود را ضبط کنید.
  • منوهای صوتی: در این بخش، شما می‌توانید گزینه‌های مختلفی برای تماس‌گیرندگان تعریف کنید. برای هر گزینه یک دستور خاص تعیین کنید که به‌عنوان مثال تماس به شماره داخلی، پخش پیام خاص یا هدایت به یک بخش دیگر را انجام دهد.
    • گزینه‌های منو: انتخاب‌هایی برای تماس‌گیرندگان، مانند “برای ارتباط با بخش پشتیبانی، عدد 1 را فشار دهید”.
  • زمان تایم‌اوت: مدت زمانی که تماس‌گیرنده برای وارد کردن شماره باید منتظر بماند، معمولاً چند ثانیه است.
  • گزارش تماس‌گیرندگان: این گزینه می‌تواند برای ثبت گزارشات تماس‌گیرندگان فعال باشد.

4. تنظیمات پیشرفته IVR

در این بخش، شما می‌توانید تنظیمات پیشرفته‌تری برای منوهای صوتی انجام دهید:

  • انتقال به شماره داخلی یا بخش خاص: بعد از انتخاب گزینه توسط تماس‌گیرنده، شما می‌توانید تماس را به شماره داخلی خاصی یا یک بخش مشخص انتقال دهید.
  • ثبت تماس‌ها: امکان ثبت و ضبط تماس‌ها در طول فرآیند IVR.
  • انتقال در صورت عدم انتخاب: زمانی که تماس‌گیرنده هیچ گزینه‌ای را وارد نکند، می‌توانید تماس را به شماره خاصی یا منو دیگری انتقال دهید.

5. ذخیره تنظیمات IVR

پس از پر کردن تمام فیلدهای لازم، برای ذخیره تغییرات، روی دکمه Save در پایین صفحه کلیک کنید. IVR جدید شما ایجاد شده و فعال خواهد شد.

6. اعمال تغییرات و تست IVR

برای اطمینان از عملکرد صحیح IVR، شما باید آن را تست کنید. می‌توانید تماس ورودی برقرار کرده و بررسی کنید که آیا منوی صوتی به‌درستی به تماس‌گیرندگان گزینه‌ها را ارائه می‌دهد و آن‌ها را به بخش‌های مورد نظر هدایت می‌کند یا خیر.


جمع‌بندی

با استفاده از رابط گرافیکی Issabel، شما به‌راحتی می‌توانید یک IVR جدید ایجاد کنید که به تماس‌گیرندگان گزینه‌های مختلفی را برای هدایت به بخش‌های مختلف ارائه دهد. تنظیمات آن شامل پیام خوشامدگویی، منوهای صوتی، تایم‌اوت‌ها و گزینه‌های پیشرفته برای انتقال تماس‌ها می‌شود. پس از ایجاد و تنظیم IVR، لازم است آن را تست کرده و از عملکرد صحیح آن اطمینان حاصل کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیم پیام خوش‌آمدگویی و دستورالعمل‌های منو در IVR” subtitle=”توضیحات کامل”]در این بخش، نحوه تنظیم پیام خوش‌آمدگویی و دستورالعمل‌های منو برای IVR در سیستم Issabel را آموزش می‌دهیم. این تنظیمات به تماس‌گیرندگان کمک می‌کند تا منوهای صوتی را به‌طور واضح و مؤثر دنبال کنند.


1. تنظیم پیام خوش‌آمدگویی

پیام خوش‌آمدگویی نخستین پیامی است که تماس‌گیرندگان هنگام دسترسی به سیستم IVR خواهند شنید. این پیام باید به گونه‌ای باشد که تماس‌گیرندگان را راهنمایی کند و آن‌ها را برای انتخاب گزینه‌های بعدی آماده کند.

برای تنظیم پیام خوش‌آمدگویی در رابط گرافیکی:
  1. وارد رابط کاربری Issabel شوید.
  2. از منوی سمت چپ، روی گزینه PBX کلیک کرده و سپس IVR را انتخاب کنید.
  3. در صفحه IVR، IVR مورد نظر خود را انتخاب کنید یا یک IVR جدید بسازید.
  4. در بخش Welcome Message, می‌توانید پیامی برای خوش‌آمدگویی تنظیم کنید.
  5. این پیام می‌تواند به‌طور پیش‌فرض در سیستم ضبط شده باشد یا می‌توانید یک پیام جدید ضبط کنید.
برای ضبط پیام خوش‌آمدگویی از طریق رابط گرافیکی:
  1. در قسمت IVR, گزینه Recordings را انتخاب کنید.
  2. در این بخش، می‌توانید یک پیام جدید ضبط کرده و آن را برای استفاده در IVR انتخاب کنید.
  3. پس از ضبط پیام، مسیر فایل‌های آن به‌طور خودکار به‌روزرسانی می‌شود.

برای تغییر پیام خوش‌آمدگویی به‌صورت کامندی، می‌توانید فایل صوتی را در مسیر زیر قرار دهید:

# مسیر فایل صوتی خوش‌آمدگویی
/var/lib/asterisk/sounds/custom/welcome-message.wav

پس از ضبط فایل، شما باید فایل را با استفاده از دستور زیر روی سیستم بارگذاری کنید:

cp /path/to/your/welcome-message.wav /var/lib/asterisk/sounds/custom/

2. تنظیم دستورالعمل‌های منو

منوهای صوتی IVR باید به‌گونه‌ای طراحی شوند که تماس‌گیرندگان به راحتی بتوانند از آن‌ها استفاده کنند. در هر IVR می‌توانید گزینه‌های مختلفی برای هدایت تماس‌گیرندگان به بخش‌های مختلف تنظیم کنید.

برای تنظیم دستورالعمل‌های منو در رابط گرافیکی:
  1. در بخش IVR Settings, به گزینه IVR Entries بروید.
  2. در این بخش، می‌توانید گزینه‌های مختلفی مانند “برای پشتیبانی، عدد 1 را فشار دهید” یا “برای فروش، عدد 2 را فشار دهید” را وارد کنید.
  3. در هر گزینه، می‌توانید انتخاب کنید که تماس به کجا هدایت شود (مانند انتقال به داخلی، بخش خاص یا یک IVR دیگر).
برای تنظیم دستورالعمل‌های منو از طریق فایل کانفیگ:

برای ایجاد دستورالعمل‌های منو به‌صورت کامندی، فایل کانفیگ مربوطه را ویرایش کنید. این فایل معمولاً در مسیر زیر قرار دارد:

# مسیر فایل تنظیمات IVR
/etc/asterisk/ivr.conf

در این فایل، می‌توانید گزینه‌های مختلف منو را به شکل زیر تنظیم کنید:

[general]
    ; تعریف پیام خوش‌آمدگویی
    welcome-message = custom/welcome-message.wav

[default]
    ; دستورالعمل‌ها برای منو
    1 = goto(1) ; انتقال به شماره داخلی 1
    2 = goto(2) ; انتقال به شماره داخلی 2
    3 = ivr(another-ivr) ; انتقال به IVR دیگری
نکته: استفاده از دستورات مربوط به IVR و منو باید به‌درستی در فایل کانفیگ و مطابق با ساختار سیستم Issabel صورت گیرد.

3. تست و اعمال تغییرات

پس از انجام تنظیمات، برای تست و اطمینان از عملکرد صحیح، سیستم را ریستارت کرده و یک تماس ورودی برقرار کنید. تماس‌گیرندگان باید پیام خوش‌آمدگویی را بشنوند و سپس منوهای صوتی را با استفاده از گزینه‌های عددی وارد کنند.

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

# اعمال تغییرات و ریستارت سرویس
asterisk -rx "dialplan reload"

پس از اعمال این تغییرات، IVR جدید شما باید فعال و آماده استفاده باشد.


جمع‌بندی

در این بخش، نحوه تنظیم پیام خوش‌آمدگویی و دستورالعمل‌های منو در سیستم IVR برای مدیریت تماس‌های ورودی آموزش داده شد. تنظیمات شامل ضبط پیام خوش‌آمدگویی، تعریف منوهای مختلف برای هدایت تماس‌گیرندگان، و ذخیره این تغییرات در فایل‌های کانفیگ مناسب بود. پس از اعمال تغییرات، با استفاده از دستورالعمل‌های مناسب می‌توانید IVR خود را تست و از عملکرد صحیح آن اطمینان حاصل کنید.[/cdb_course_lesson][cdb_course_lesson title=”فصل 4. تنظیم گزینه‌های ورودی کاربر (DTMF Input)”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”پیکربندی کلیدهای ورودی برای دسترسی به گزینه‌های مختلف در IVR” subtitle=”توضیحات کامل”]

در سیستم‌های IVR، پیکربندی کلیدهای ورودی به کاربران این امکان را می‌دهد که با فشار دادن دکمه‌های مختلف بر روی تلفن خود (DTMF)، به گزینه‌های مختلف دسترسی پیدا کنند. این گزینه‌ها می‌توانند شامل مسیردهی تماس‌ها به داخلی‌ها، صف‌ها، پخش پیام‌ها و انجام عملیات مختلف باشند. در این بخش، نحوه پیکربندی کلیدهای ورودی برای دسترسی به گزینه‌های مختلف را بررسی خواهیم کرد.


1. تنظیم منوی IVR برای دریافت ورودی از کاربر

ابتدا باید یک منوی IVR ایجاد کنیم که ورودی‌های عددی از کاربر دریافت کند و سپس با توجه به ورودی‌ها، اقدامات مختلف انجام شود.

تنظیمات کامندی برای منوی IVR:

  1. فایل extensions.conf را در مسیر زیر ویرایش کنید:
    /etc/asterisk/extensions.conf
    
  2. ایجاد منوی IVR برای دریافت ورودی‌ها:
[ivr-menu]
exten => s,1,Answer()  ; پاسخ دادن به تماس
exten => s,2,Background(please-enter-your-choice)  ; پخش پیام برای درخواست ورودی از کاربر
exten => s,3,WaitExten()  ; منتظر دریافت ورودی از کاربر

در اینجا، پس از پاسخ به تماس، پیام صوتی برای درخواست ورودی از کاربر پخش می‌شود و سیستم منتظر دریافت ورودی عددی از کاربر خواهد بود.


2. پیکربندی کلیدهای ورودی برای دسترسی به گزینه‌های مختلف

حالا که منوی IVR آماده است، می‌توانیم کلیدهای ورودی مختلف را برای دسترسی به گزینه‌های مختلف تنظیم کنیم. برای هر ورودی عددی از کاربر، یک اقدام مشخص تعیین می‌کنیم. این اقدامات می‌توانند شامل مسیردهی به داخلی‌ها، صف‌ها، پخش پیام‌های مختلف و یا انجام عملیات خاص باشند.

تنظیمات کامندی برای کلیدهای ورودی:

  1. در ادامه فایل extensions.conf، برای هر کلید ورودی، اقدام مربوطه را اضافه کنید:
[ivr-menu]
exten => s,1,Answer()
exten => s,2,Background(please-enter-your-choice)
exten => s,3,WaitExten()

; کلید 1: مسیردهی به داخلی 101
exten => 1,1,Dial(SIP/101)  ; هدایت تماس به داخلی 101

; کلید 2: هدایت تماس به صف پشتیبانی
exten => 2,1,Goto(queues,support,1)  ; هدایت تماس به صف پشتیبانی

; کلید 3: پخش پیام "شما وارد قسمت فروش شدید"
exten => 3,1,Playback(sales-department)  ; پخش پیام صوتی

; کلید 4: پخش پیام "شما وارد قسمت خدمات پس از فروش شدید"
exten => 4,1,Playback(after-sales-service)  ; پخش پیام صوتی

; کلید 5: قطع تماس
exten => 5,1,Hangup()  ; قطع تماس

در اینجا:

  • اگر کاربر کلید 1 را وارد کند، تماس به داخلی 101 هدایت می‌شود.
  • اگر کاربر کلید 2 را وارد کند، تماس به صف پشتیبانی هدایت می‌شود.
  • اگر کاربر کلید 3 را وارد کند، پیام “شما وارد قسمت فروش شدید” پخش می‌شود.
  • اگر کاربر کلید 4 را وارد کند، پیام “شما وارد قسمت خدمات پس از فروش شدید” پخش می‌شود.
  • اگر کاربر کلید 5 را وارد کند، تماس قطع می‌شود.

3. اضافه کردن مدیریت ورودی‌های نامعتبر

برای جلوگیری از مشکلاتی که ممکن است در صورت وارد شدن ورودی‌های نامعتبر یا اشتباه پیش آید، می‌توانیم یک بخش برای مدیریت ورودی‌های اشتباه ایجاد کنیم.

تنظیمات کامندی برای مدیریت ورودی‌های اشتباه:

  1. در همان فایل extensions.conf، یک بخش برای مدیریت ورودی‌های اشتباه اضافه کنید:
[ivr-menu]
exten => s,1,Answer()
exten => s,2,Background(please-enter-your-choice)
exten => s,3,WaitExten()

exten => 1,1,Dial(SIP/101)
exten => 2,1,Goto(queues,support,1)
exten => 3,1,Playback(sales-department)
exten => 4,1,Playback(after-sales-service)
exten => 5,1,Hangup()

; در صورتی که ورودی نامعتبر وارد شود، تماس به بخش اشتباه هدایت می‌شود
exten => t,1,Playback(invalid-option)  ; اگر زمان تایم‌اوت شود یا ورودی اشتباه باشد، پیام "گزینه نامعتبر" پخش می‌شود
exten => i,1,Playback(invalid-option)  ; اگر ورودی غیرعدد باشد، پیام "گزینه نامعتبر" پخش می‌شود
exten => i,2,Hangup()  ; پس از پخش پیام اشتباه، تماس قطع می‌شود

در اینجا:

  • اگر کاربر ورودی نامعتبری وارد کند (مانند فشردن کلید اشتباه یا عدم وارد کردن ورودی در زمان تعیین‌شده)، پیام “گزینه نامعتبر” پخش می‌شود و تماس قطع می‌شود.

4. تنظیمات تایم‌اوت برای کلیدهای ورودی

اگر کاربر هیچ ورودی وارد نکند یا پس از مدت زمان مشخصی هیچ اقدامی انجام ندهد، می‌توانیم یک تایم‌اوت برای تماس‌ها تعیین کنیم.

تنظیمات کامندی برای تایم‌اوت:

  1. در همان فایل extensions.conf، برای تایم‌اوت ورودی‌ها تنظیمات زیر را اضافه کنید:
[ivr-menu]
exten => s,1,Answer()
exten => s,2,Background(please-enter-your-choice)
exten => s,3,WaitExten()

exten => 1,1,Dial(SIP/101)
exten => 2,1,Goto(queues,support,1)
exten => 3,1,Playback(sales-department)
exten => 4,1,Playback(after-sales-service)
exten => 5,1,Hangup()

; مدیریت تایم‌اوت ورودی
exten => t,1,Playback(time-out)  ; پخش پیام "زمان تمام شد"
exten => t,2,Hangup()  ; قطع تماس در صورت تایم‌اوت

در اینجا:

  • اگر کاربر هیچ ورودی وارد نکند و زمان تایم‌اوت شود، پیام “زمان تمام شد” پخش می‌شود و تماس قطع می‌شود.

جمع‌بندی

پیکربندی کلیدهای ورودی برای دسترسی به گزینه‌های مختلف در سیستم IVR به کاربران این امکان را می‌دهد که با وارد کردن ورودی عددی خاص، به قسمت‌های مختلف هدایت شوند. این اقدامات می‌توانند شامل مسیردهی به داخلی‌ها، صف‌ها، پخش پیام‌های صوتی یا حتی انجام عملیات خاص باشند. استفاده از دستور WaitExten(), Goto(), Dial(), و Playback() در تنظیمات Asterisk به راحتی این امکان را فراهم می‌کند که بتوانید کلیدهای ورودی را برای اهداف مختلف پیکربندی کنید و تجربه کاربری بهتری ارائه دهید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تعیین اقدامات مختلف برای هر ورودی عددی در IVR” subtitle=”توضیحات کامل”]

در سیستم‌های IVR، یکی از مهم‌ترین قابلیت‌ها این است که بتوان برای هر ورودی عددی از طرف کاربر، اقدامات متفاوتی انجام داد. این کار معمولاً برای انجام مسیردهی به بخش‌های مختلف، هدایت تماس‌ها به داخلی‌ها یا صف‌ها، پخش پیام‌های مختلف و حتی انجام عملیات خاص انجام می‌شود.

در این بخش، نحوه تعیین اقدامات مختلف برای هر ورودی عددی در سیستم Asterisk را بررسی خواهیم کرد.


1. دریافت ورودی عددی از کاربر

در ابتدا باید یک منوی IVR برای دریافت ورودی عددی از کاربر تنظیم کنیم. ورودی‌ها معمولاً از طریق دکمه‌های صفحه‌کلید تلفن (DTMF) وارد می‌شوند.

تنظیمات کامندی برای دریافت ورودی عددی:

  1. فایل extensions.conf را در مسیر زیر ویرایش کنید:
    /etc/asterisk/extensions.conf
    
  2. منوی IVR را تنظیم کنید تا ورودی از کاربر دریافت شود:
[ivr-menu]
exten => s,1,Answer()  ; پاسخ دادن به تماس
exten => s,2,Background(please-enter-your-choice)  ; پخش پیام برای درخواست ورودی از کاربر
exten => s,3,WaitExten()  ; منتظر دریافت ورودی از کاربر

در اینجا، پس از پاسخ به تماس، پیام صوتی برای درخواست ورودی از کاربر پخش می‌شود و سیستم منتظر دریافت ورودی عددی از کاربر خواهد بود.


2. تعیین اقدامات مختلف برای هر ورودی عددی

پس از دریافت ورودی عددی از کاربر، می‌توانیم برای هر عدد یک اقدام مختلف تعیین کنیم. این اقدامات می‌تواند شامل هدایت تماس به داخلی‌ها، صف‌ها، پخش پیام‌های صوتی مختلف یا انجام عملیات خاص باشد.

تنظیمات کامندی برای اقدامات مختلف:

  1. در ادامه فایل extensions.conf، برای هر ورودی عددی یک اقدام خاص تنظیم کنید:
[ivr-menu]
exten => s,1,Answer()
exten => s,2,Background(please-enter-your-choice)
exten => s,3,WaitExten()

exten => 1,1,Playback(option-1-selected)  ; اگر کاربر گزینه 1 را وارد کند، پخش پیام "گزینه 1 انتخاب شد"
exten => 2,1,Dial(SIP/100)  ; اگر کاربر گزینه 2 را وارد کند، تماس به داخلی 100 هدایت می‌شود
exten => 3,1,Goto(queues,support,1)  ; اگر کاربر گزینه 3 را وارد کند، تماس به صف پشتیبانی هدایت می‌شود
exten => 4,1,Playback(option-4-selected)  ; اگر کاربر گزینه 4 را وارد کند، پخش پیام "گزینه 4 انتخاب شد"
exten => 5,1,Hangup()  ; اگر کاربر گزینه 5 را وارد کند، تماس قطع می‌شود

در اینجا:

  • اگر کاربر گزینه 1 را وارد کند، پیام صوتی “گزینه 1 انتخاب شد” پخش می‌شود.
  • اگر کاربر گزینه 2 را وارد کند، تماس به داخلی 100 هدایت می‌شود.
  • اگر کاربر گزینه 3 را وارد کند، تماس به صف support هدایت می‌شود.
  • اگر کاربر گزینه 4 را وارد کند، پیام صوتی “گزینه 4 انتخاب شد” پخش می‌شود.
  • اگر کاربر گزینه 5 را وارد کند، تماس قطع می‌شود.

3. تنظیمات اضافی برای ورودی‌های غیرمنتظره

برای جلوگیری از مشکلاتی که ممکن است در صورت وارد شدن ورودی‌های نامعتبر یا غیرمنتظره پیش آید، می‌توانیم یک بخش برای مدیریت ورودی‌های اشتباه یا نامعتبر ایجاد کنیم.

تنظیمات کامندی برای مدیریت ورودی‌های اشتباه:

  1. در همان فایل extensions.conf، یک بخش برای مدیریت ورودی‌های اشتباه اضافه کنید:
[ivr-menu]
exten => s,1,Answer()
exten => s,2,Background(please-enter-your-choice)
exten => s,3,WaitExten()

exten => 1,1,Playback(option-1-selected)
exten => 2,1,Dial(SIP/100)
exten => 3,1,Goto(queues,support,1)
exten => 4,1,Playback(option-4-selected)
exten => 5,1,Hangup()

; در صورتی که ورودی نامعتبر وارد شود، تماس به بخش اشتباه هدایت می‌شود
exten => t,1,Playback(invalid-option)  ; اگر زمان تایم‌اوت شود یا ورودی اشتباه باشد، پیام "گزینه نامعتبر" پخش می‌شود
exten => i,1,Playback(invalid-option)  ; اگر ورودی غیرعدد باشد، پیام "گزینه نامعتبر" پخش می‌شود
exten => i,2,Hangup()  ; پس از پخش پیام اشتباه، تماس قطع می‌شود

در اینجا:

  • در صورت وارد کردن ورودی اشتباه (مثل فشردن کلید اشتباه یا عدم وارد کردن هر ورودی در مدت زمان تعیین‌شده)، پیام “گزینه نامعتبر” پخش می‌شود و تماس قطع می‌شود.

4. اضافه کردن توابع و عملیات خاص

گاهی اوقات ممکن است بخواهید ورودی عددی خاصی منجر به اجرای یک عملیات خاص شود، مانند راه‌اندازی یک اسکریپت، ذخیره اطلاعات در پایگاه‌داده یا ارسال داده‌ها به یک سیستم دیگر. این کار را می‌توان با استفاده از دستور System() انجام داد.

تنظیمات کامندی برای اجرای عملیات خاص:

  1. فایل extensions.conf را به این صورت ویرایش کنید:
[ivr-menu]
exten => s,1,Answer()
exten => s,2,Background(please-enter-your-choice)
exten => s,3,WaitExten()

exten => 1,1,Playback(option-1-selected)
exten => 2,1,Dial(SIP/100)
exten => 3,1,Goto(queues,support,1)
exten => 4,1,Playback(option-4-selected)
exten => 5,1,Hangup()

; اجرای یک اسکریپت در صورتی که گزینه 6 انتخاب شود
exten => 6,1,System(/path/to/your/script.sh)  ; اجرای اسکریپت bash
exten => 6,2,Playback(script-executed)  ; پخش پیام "اسکریپت اجرا شد"
exten => 6,3,Hangup()  ; قطع تماس

در اینجا، اگر کاربر گزینه 6 را وارد کند، اسکریپت script.sh اجرا می‌شود و سپس پیام “اسکریپت اجرا شد” پخش می‌شود.


جمع‌بندی

تعیین اقدامات مختلف برای هر ورودی عددی در سیستم IVR یکی از قابلیت‌های مهم است که امکان هدایت تماس‌ها به مقصدهای مختلف، پخش پیام‌های صوتی و اجرای عملیات خاص را فراهم می‌کند. با استفاده از دستورات Asterisk مانند Goto(), Dial(), Playback(), و System(), می‌توان برای هر ورودی عددی یک اقدام خاص تعیین کرد و تجربه کاربری بهتری ارائه داد.[/cdb_course_lesson][cdb_course_lesson title=”فصل 5. مسیر دهی تماس‌ها بر اساس انتخاب‌های کاربر”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”ایجاد قوانین مسیردهی تماس‌ها پس از انتخاب هر گزینه توسط کاربر” subtitle=”توضیحات کامل”]

در سیستم‌های IVR، یکی از قابلیت‌های مهم این است که تماس‌ها پس از دریافت ورودی از کاربر، به مقصدهای مختلف هدایت شوند. این ورودی می‌تواند از طریق انتخاب یک گزینه از منوی IVR، وارد شدن یک شماره داخلی یا حتی تایپ یک کد خاص باشد. این فرآیند نیاز به قوانین مسیردهی دقیق و منظم دارد تا تماس‌ها به درستی به مقصد مورد نظر هدایت شوند.

در این بخش، نحوه ایجاد و پیکربندی قوانین مسیردهی تماس‌ها پس از انتخاب هر گزینه توسط کاربر در سیستم Asterisk را بررسی خواهیم کرد.


1. پیکربندی منوی IVR و دریافت ورودی کاربر

در ابتدا باید یک منوی IVR برای دریافت ورودی از کاربر ایجاد کنیم. به طور معمول، کاربر می‌تواند از کلیدهای مختلف برای انتخاب گزینه‌ها استفاده کند.

تنظیمات کامندی برای منوی IVR:

  1. ابتدا فایل extensions.conf را در مسیر زیر ویرایش کنید:
    /etc/asterisk/extensions.conf
    
  2. در این فایل منوی IVR را برای دریافت ورودی از کاربر پیکربندی کنید:
[ivr-menu]
exten => s,1,Answer()  ; پاسخ دادن به تماس
exten => s,2,Background(menu-prompt)  ; پخش پیام صوتی برای انتخاب گزینه
exten => s,3,WaitExten()  ; منتظر دریافت ورودی از کاربر

در اینجا، پس از پاسخ دادن به تماس، پیامی به کاربر پخش می‌شود که از او درخواست می‌کند گزینه‌ای را وارد کند.


2. ایجاد قوانین مسیردهی بر اساس انتخاب کاربر

پس از دریافت ورودی از کاربر، باید این ورودی را بررسی کرده و مطابق با آن تماس را به مقصد مورد نظر هدایت کنیم. برای این کار می‌توان از دستور Goto() یا GotoIf() استفاده کرد تا تماس به بخش‌های مختلف سیستم هدایت شود.

تنظیمات کامندی برای مسیردهی پس از انتخاب کاربر:

  1. در ادامه فایل extensions.conf، بخش‌های مربوط به مسیردهی پس از انتخاب هر گزینه را به صورت زیر اضافه کنید:
[ivr-menu]
exten => s,1,Answer()
exten => s,2,Background(menu-prompt)
exten => s,3,WaitExten()

exten => 1,1,Goto(internal-extensions,100,1)  ; اگر کاربر گزینه 1 را انتخاب کند، تماس به داخلی 100 هدایت می‌شود
exten => 2,1,Goto(queues,tech-support,1)  ; اگر کاربر گزینه 2 را انتخاب کند، تماس به صف پشتیبانی فنی هدایت می‌شود
exten => 3,1,Goto(outside-server,voip-server,1)  ; اگر کاربر گزینه 3 را انتخاب کند، تماس به سرور خارجی VoIP هدایت می‌شود

در این پیکربندی:

  • اگر کاربر گزینه 1 را وارد کند، تماس به داخلی 100 هدایت می‌شود.
  • اگر کاربر گزینه 2 را وارد کند، تماس به صف tech-support هدایت می‌شود.
  • اگر کاربر گزینه 3 را وارد کند، تماس به سرور خارجی VoIP هدایت می‌شود.

3. پیکربندی صف‌ها و گروه‌های تماس

برای مسیردهی تماس‌ها به صف‌ها یا گروه‌های تماس، باید صف‌ها یا گروه‌ها را در فایل queues.conf یا extensions.conf تعریف کنید.

تنظیمات کامندی برای صف‌ها در queues.conf:

  1. ابتدا فایل queues.conf را در مسیر زیر ویرایش کنید:
    /etc/asterisk/queues.conf
    
  2. سپس صف‌های مختلف را برای مسیردهی تماس‌ها پیکربندی کنید:
[tech-support]
musicclass = default
strategy = ringall
timeout = 20
retry = 5

در اینجا صف tech-support برای مدیریت تماس‌های پشتیبانی فنی تعریف شده است. اگر کاربر گزینه 2 را انتخاب کند، تماس به این صف هدایت می‌شود.


4. مسیردهی تماس‌ها به سرور خارجی

در مواردی که تماس‌ها باید به سرورهای خارج از سیستم هدایت شوند، می‌توان از دستور Dial() برای مسیردهی به سرور VoIP یا هر سرور دیگری استفاده کرد.

تنظیمات کامندی برای مسیردهی به سرور خارجی:

  1. ابتدا فایل extensions.conf را ویرایش کنید:
    /etc/asterisk/extensions.conf
    
  2. سپس مسیردهی تماس به سرور VoIP را به این شکل تنظیم کنید:
[outside-server]
exten => voip-server,1,Dial(SIP/voip-server)  ; هدایت تماس به سرور VoIP

در اینجا، تماس‌ها پس از انتخاب گزینه 3، به سرور VoIP هدایت می‌شوند.


5. مسیردهی تماس‌ها به داخلی‌ها

گاهی اوقات، بسته به نیاز کاربر، تماس‌ها باید به داخلی‌های خاص هدایت شوند. این کار را می‌توان با استفاده از دستور Goto() یا Dial() در extensions.conf انجام داد.

تنظیمات کامندی برای مسیردهی به داخلی‌ها:

  1. در فایل extensions.conf مسیردهی تماس‌ها به داخلی‌ها را به شکل زیر تنظیم کنید:
[internal-extensions]
exten => 100,1,Dial(SIP/100)  ; تماس به داخلی 100
exten => 101,1,Dial(SIP/101)  ; تماس به داخلی 101

جمع‌بندی

مسیردهی تماس‌ها پس از انتخاب هر گزینه توسط کاربر بخش مهمی از طراحی سیستم‌های IVR است که امکان هدایت تماس‌ها به داخلی‌ها، صف‌ها، گروه‌های تماس یا سرورهای خارجی را فراهم می‌آورد. با استفاده از دستورات Asterisk مانند Goto(), Dial(), و Queue(), می‌توان قوانین مسیردهی مختلفی برای رسیدن به اهداف مختلف تنظیم کرد. این قابلیت به شما کمک می‌کند تا تجربه کاربری بهتری ارائه دهید و تماس‌ها را به مقصد مورد نظر هدایت کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”مسیردهی تماس‌ها به داخلی‌ها، صف‌ها، گروه‌های تماس یا سرورهای خارج از سیستم” subtitle=”توضیحات کامل”]

در سیستم‌های IVR و تماس‌های تلفنی، مسیردهی تماس‌ها به داخلی‌ها، صف‌ها، گروه‌های تماس یا سرورهای خارج از سیستم یکی از اصلی‌ترین ویژگی‌ها برای مدیریت تماس‌های ورودی است. با استفاده از مسیردهی تماس، می‌توان تماس‌ها را به مکان مناسب هدایت کرد تا از این طریق تجربه کاربری بهتری فراهم شود.

در این بخش، نحوه پیکربندی مسیردهی تماس‌ها به انواع مختلف مقصد (داخلی‌ها، صف‌ها، گروه‌های تماس و سرورهای خارج از سیستم) در Asterisk بررسی خواهد شد.


1. مسیردهی تماس‌ها به داخلی‌ها

یکی از رایج‌ترین موارد در مسیردهی تماس‌ها، هدایت تماس‌ها به داخلی‌های مختلف است. با استفاده از دستور Dial() می‌توان تماس‌ها را به داخلی‌های مختلف هدایت کرد.

تنظیمات کامندی برای مسیردهی به داخلی‌ها:

  1. ابتدا فایل extensions.conf را در مسیر زیر ویرایش کنید:
    /etc/asterisk/extensions.conf
    
  2. سپس پیکربندی مسیردهی به داخلی‌ها را انجام دهید:
[default]
exten => 100,1,Dial(SIP/100)  ; تماس به داخلی 100
exten => 101,1,Dial(SIP/101)  ; تماس به داخلی 101
exten => 102,1,Dial(SIP/102)  ; تماس به داخلی 102

در اینجا، تماس‌هایی که به اعداد 100، 101 و 102 وارد می‌شوند، به ترتیب به داخلی‌های 100، 101 و 102 هدایت می‌شوند.


2. مسیردهی تماس‌ها به صف‌ها (Queues)

در برخی مواقع، تماس‌ها باید به صف‌های خاصی هدایت شوند تا در نوبت قرار گیرند و به صورت خودکار توسط اپراتورهای مختلف پاسخ داده شوند. در Asterisk می‌توان با استفاده از دستور Queue() تماس‌ها را به صف‌ها هدایت کرد.

تنظیمات کامندی برای مسیردهی به صف‌ها:

  1. ابتدا فایل extensions.conf را ویرایش کنید:
    /etc/asterisk/extensions.conf
    
  2. سپس پیکربندی صف را انجام دهید:
[default]
exten => 200,1,Queue(support)  ; هدایت تماس‌ها به صف پشتیبانی
  1. همچنین در فایل queues.conf باید صف‌ها را تعریف کنید. این فایل معمولاً در مسیر زیر قرار دارد:
    /etc/asterisk/queues.conf
    
  2. پیکربندی صف پشتیبانی در queues.conf به صورت زیر خواهد بود:
[support]
musicclass = default
strategy = ringall
timeout = 15
retry = 5

در اینجا، تماس‌های ورودی به داخلی 200 به صف support هدایت می‌شوند و پس از ۱۵ ثانیه، اگر تماس پاسخ داده نشود، با توجه به تنظیمات صف، دوباره تلاش می‌شود.


3. مسیردهی تماس‌ها به گروه‌های تماس (Call Groups)

در برخی مواقع، تماس‌ها باید به گروه‌های خاصی از داخلی‌ها یا اپراتورها مسیردهی شوند تا چندین داخلی به طور همزمان بتوانند تماس را دریافت کنند. این کار با استفاده از Call Groups در Asterisk امکان‌پذیر است.

تنظیمات کامندی برای مسیردهی به گروه‌های تماس:

  1. ابتدا باید فایل extensions.conf را ویرایش کنید:
    /etc/asterisk/extensions.conf
    
  2. سپس گروه‌های تماس را در این فایل پیکربندی کنید:
[default]
exten => 300,1,Dial(SIP/100&SIP/101&SIP/102)  ; تماس به گروه داخلی‌های 100، 101 و 102

در این پیکربندی، تماس‌ها به گروهی از داخلی‌ها (100، 101 و 102) هدایت می‌شوند و تمامی این داخلی‌ها به صورت همزمان تماس را دریافت می‌کنند.


4. مسیردهی تماس‌ها به سرورهای خارج از سیستم

گاهی نیاز است که تماس‌ها به سرورهای خارج از سیستم Asterisk هدایت شوند. این کار معمولاً برای ارتباط با سرویس‌دهندگان VoIP یا سیستم‌های دیگر انجام می‌شود. می‌توان با استفاده از دستور Dial() و مشخص کردن سرور VoIP به عنوان مقصد، تماس‌ها را به سرورهای خارج از سیستم هدایت کرد.

تنظیمات کامندی برای مسیردهی به سرورهای خارج از سیستم:

  1. ابتدا فایل extensions.conf را ویرایش کنید:
    /etc/asterisk/extensions.conf
    
  2. سپس مسیردهی تماس‌ها به سرور VoIP را پیکربندی کنید:
[default]
exten => 400,1,Dial(SIP/voip-server)  ; هدایت تماس به سرور VoIP

در اینجا، تماس‌های واردشده به داخلی 400 به سرور VoIP هدایت می‌شوند.


جمع‌بندی

مسیردهی تماس‌ها به داخلی‌ها، صف‌ها، گروه‌های تماس یا سرورهای خارج از سیستم یکی از اجزای اساسی طراحی یک سیستم تلفنی مبتنی بر Asterisk است. با استفاده از دستوراتی مانند Dial() و Queue() می‌توان تماس‌ها را به مقصد مناسب هدایت کرده و همچنین با استفاده از تنظیمات مختلف می‌توان رفتار سیستم را مطابق با نیازهای کسب‌وکار تنظیم کرد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”پیکربندی Timeout برای درخواست ورودی کاربر در صورت عدم پاسخ” subtitle=”توضیحات کامل”]

در سیستم‌های IVR، زمان انتظار (Timeout) برای دریافت ورودی از کاربران بسیار حائز اهمیت است. در صورتی که کاربر پاسخ ندهد یا زمان تعیین‌شده برای انتخاب گزینه منقضی شود، باید رفتار مناسبی برای آن در نظر گرفته شود. این تنظیمات به شما کمک می‌کند تا سیستم IVR خود را به گونه‌ای پیکربندی کنید که پس از مدت زمان مشخصی، درخواست ورودی کاربر به پایان برسد و سیستم به مراحل بعدی برود.


1. پیکربندی Timeout در سیستم Asterisk

در Asterisk, می‌توانید از دستور WaitExten() برای تنظیم زمان انتظار برای ورودی کاربر استفاده کنید. با استفاده از پارامتر Timeout, می‌توانید مدت زمانی که سیستم باید منتظر ورودی کاربر باشد را مشخص کنید.

تنظیمات کامندی برای Timeout در extensions.conf:

  1. ابتدا باید فایل extensions.conf را ویرایش کنید که معمولاً در مسیر زیر قرار دارد:
    /etc/asterisk/extensions.conf
    
  2. سپس پیکربندی منوی IVR را برای تنظیم Timeout اضافه کنید. به‌عنوان مثال:
[ivr-menu]
exten => s,1,Answer()
exten => s,n,Playback(welcome-message)  ; پخش پیام خوش آمدگویی
exten => s,n,WaitExten(10)  ; منتظر ورودی کاربر برای 10 ثانیه
exten => s,n,Playback(invalid-option)  ; اگر ورودی نامعتبر باشد، پخش پیام گزینه نامعتبر
exten => s,n,Hangup()

exten => 1,1,Playback(technical-support)  ; پیام پشتیبانی فنی
exten => 1,n,Hangup()

exten => 2,1,Playback(account-info)  ; پیام اطلاعات حساب
exten => 2,n,Hangup()

exten => 3,1,Playback(speak-with-agent)  ; پیام صحبت با اپراتور
exten => 3,n,Dial(SIP/agent)  ; اتصال به اپراتور
exten => 3,n,Hangup()

در این پیکربندی:

  • WaitExten(10) نشان‌دهنده زمان 10 ثانیه‌ای است که سیستم منتظر ورودی کاربر خواهد بود. اگر کاربر ورودی ندهد، سیستم به مرحله بعدی می‌رود.
  • در صورتی که ورودی نامعتبر باشد، دستور Playback(invalid-option) پیام خطا را پخش می‌کند.

2. تنظیم Timeout برای پاسخ به تماس‌ها

در برخی از موارد، ممکن است بخواهید که زمان انتظار برای پاسخ به تماس‌های ورودی نیز تنظیم شود. این می‌تواند در شرایطی مفید باشد که سیستم IVR برای تماس‌های ورودی آماده است اما منتظر دریافت اولین ورودی کاربر از طریق صفحه‌کلید است.

تنظیم Timeout برای تماس‌های ورودی در Asterisk:

  1. ابتدا فایل sip.conf را که در مسیر زیر قرار دارد ویرایش کنید:
    /etc/asterisk/sip.conf
    
  2. سپس مقدار session-timers و timers را برای تماس‌های ورودی تنظیم کنید:
[general]
session-timers = accept
session-expires = 1800  ; زمان زمانی که تماس می‌تواند باز بماند (در ثانیه)
  • session-expires مقدار زمان انقضا تماس را در ثانیه تنظیم می‌کند.

3. افزودن Timeout به انتخاب‌های منوی IVR

اگر بخواهید که برای هر ورودی در منوی IVR زمانی خاص تعیین کنید، می‌توانید از دستور Set(TIMEOUT=xx) استفاده کنید تا مدت زمان انتظار برای هر ورودی به طور خاص تنظیم شود.

پیکربندی کامندی با Set(TIMEOUT=xx) در extensions.conf:

[ivr-menu]
exten => s,1,Answer()
exten => s,n,Playback(welcome-message)
exten => s,n,Set(TIMEOUT=15)  ; تنظیم تایم‌اوت برای ورودی کاربر به مدت 15 ثانیه
exten => s,n,WaitExten()  ; منتظر ورودی کاربر تا زمانی که Timeout تمام شود
exten => s,n,Playback(invalid-option)
exten => s,n,Hangup()

exten => 1,1,Playback(technical-support)
exten => 1,n,Hangup()

exten => 2,1,Playback(account-info)
exten => 2,n,Hangup()

exten => 3,1,Playback(speak-with-agent)
exten => 3,n,Dial(SIP/agent)
exten => 3,n,Hangup()

در اینجا، زمان انتظار ورودی برای هر انتخاب منوی IVR به ۱۵ ثانیه محدود شده است. اگر کاربر هیچ ورودی ندهد، سیستم به‌طور خودکار به پیام بعدی یا گزینه‌های دیگر می‌رود.


4. رفتار پس از Timeout

پس از اتمام زمان Timeout، ممکن است بخواهید سیستم به حالت خاصی برود یا پیام دیگری را پخش کند. به‌عنوان مثال، اگر کاربر ورودی ندهد، سیستم می‌تواند پیام «شما ورودی مناسبی وارد نکردید» را پخش کند و دوباره از او بخواهد که ورودی بدهد.

پیکربندی Timeout با پخش پیام:

exten => s,n,WaitExten(10)
exten => s,n,Playback(no-input)  ; پیام اگر ورودی از کاربر دریافت نشود
exten => s,n,Hangup()

جمع‌بندی

پیکربندی زمان Timeout در سیستم IVR یکی از اصول مهم در طراحی تجربه کاربری است. با استفاده از دستوراتی مانند WaitExten() و تنظیمات مربوط به sip.conf، می‌توان مدت زمان منتظر ماندن برای ورودی کاربر را مدیریت کرد. در این حالت، سیستم به‌طور خودکار در صورت عدم دریافت ورودی در زمان معین، به مرحله بعدی می‌رود یا پیام‌های خاصی را پخش می‌کند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 6. تنظیم پیام‌های صوتی (Audio Prompts)”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”ضبط پیام‌های صوتی اختصاصی برای منوی IVR” subtitle=”توضیحات کامل”]

در این بخش، نحوه ضبط و پیکربندی پیام‌های صوتی اختصاصی برای منوی IVR را به‌صورت جامع و با مثال‌های عملی ارائه خواهیم داد. این فرایند شامل تنظیمات و پیکربندی‌های سیستم تلفنی با استفاده از دستورالعمل‌های کامندی به همراه مسیر فایل‌های مربوطه است. هدف این است که منوی IVR به شکلی حرفه‌ای طراحی و پیام‌های صوتی آن به‌درستی ضبط و تنظیم شوند.


1. طراحی سناریو و ساختار منوی IVR

قبل از شروع به ضبط پیام‌های صوتی، باید ساختار منوی IVR را طراحی کرده و تعیین کنید که هر گزینه به کدام پیام صوتی اختصاص داده شود. این کار به مشتریان کمک می‌کند تا راحت‌تر به خدمات مورد نظر دسترسی پیدا کنند.

مثال ساختار منوی IVR:

  1. برای پشتیبانی فنی، کلید 1 را فشار دهید.
  2. برای اطلاعات حساب، کلید 2 را فشار دهید.
  3. برای صحبت با اپراتور، کلید 3 را فشار دهید.

2. نوشتن متن پیام‌ها

متن پیام‌های صوتی باید واضح، کوتاه و به‌طور مستقیم به کاربران اطلاعات مورد نظر را ارائه دهد. در این مرحله، متن‌های دقیق برای پیام‌ها نوشته می‌شود. به‌عنوان مثال:

  • “سلام! خوش آمدید به شرکت XYZ. لطفاً یک گزینه را از منوی زیر انتخاب کنید.”
  • “برای پشتیبانی فنی، کلید 1 را فشار دهید.”
  • “برای سوالات حساب کاربری، کلید 2 را فشار دهید.”

3. ضبط پیام‌های صوتی

برای ضبط پیام‌ها، می‌توانید از نرم‌افزارهایی مانند Audacity یا Adobe Audition استفاده کنید. در این مرحله باید پیام‌ها را با صدای واضح ضبط کنید. در صورت نیاز، از گوینده حرفه‌ای نیز می‌توان استفاده کرد.

مراحل ضبط:

  1. با استفاده از میکروفن با کیفیت و محیط بدون نویز، پیام‌ها را ضبط کنید.
  2. پس از ضبط، پیام‌ها را با استفاده از نرم‌افزارهای ویرایش صدا مانند Audacity ویرایش کنید و کیفیت صدای آن‌ها را بهینه کنید.

4. ویرایش و بهبود کیفیت صدا

پس از ضبط، پیام‌ها باید ویرایش شوند تا هرگونه نویز یا اشتباهات حذف شوند. از نرم‌افزارهایی مانند Audacity می‌توان برای بهبود کیفیت صدا و حذف بخش‌های غیرضروری استفاده کرد.

دستورالعمل کامندی ویرایش صدا با FFmpeg:

برای ویرایش فایل‌های صوتی در سیستم‌عامل لینوکس، می‌توان از FFmpeg استفاده کرد. برای بهینه‌سازی کیفیت و حذف نویز، دستور زیر را وارد کنید:

ffmpeg -i input_audio.wav -af "afftdn" output_audio.wav
  • مسیر فایل ورودی: /path/to/input_audio.wav
  • مسیر فایل خروجی: /path/to/output_audio.wav

5. آپلود و پیکربندی در سیستم IVR

پس از ضبط و ویرایش پیام‌ها، باید پیام‌ها را در سیستم IVR خود آپلود و پیکربندی کنید. در این مرحله، پیام‌ها باید به گزینه‌های مختلف منو اختصاص داده شوند. بسته به سیستم تلفنی استفاده شده، نحوه پیکربندی ممکن است متفاوت باشد.

برای سیستم Asterisk، پیکربندی به صورت زیر است:

  1. فایل extensions.conf را ویرایش کنید که معمولاً در مسیر زیر قرار دارد:
    /etc/asterisk/extensions.conf
    
  2. پیکربندی IVR را به‌صورت زیر اضافه کنید:
[ivr-menu]
exten => s,1,Answer()
exten => s,n,Playback(welcome-message)  ; پیام خوش آمدگویی
exten => s,n,WaitExten()

exten => 1,1,Playback(technical-support)  ; پیام پشتیبانی فنی
exten => 1,n,Hangup()

exten => 2,1,Playback(account-info)  ; پیام اطلاعات حساب
exten => 2,n,Hangup()

exten => 3,1,Playback(speak-with-agent)  ; پیام صحبت با اپراتور
exten => 3,n,Dial(SIP/agent)  ; اتصال به اپراتور
exten => 3,n,Hangup()
  • پیام‌های صوتی که در اینجا استفاده شده، باید در مسیر زیر ذخیره شده باشند:
    • /var/lib/asterisk/sounds/welcome-message.wav
    • /var/lib/asterisk/sounds/technical-support.wav
    • /var/lib/asterisk/sounds/account-info.wav
    • /var/lib/asterisk/sounds/speak-with-agent.wav

6. تست و بهینه‌سازی منوی IVR

پس از انجام تنظیمات، منوی IVR خود را تست کنید تا اطمینان حاصل کنید که تمام پیام‌ها به درستی پخش می‌شوند و گزینه‌های منو به‌طور صحیح عمل می‌کنند. در صورتی که نیاز به تغییرات داشته باشید، می‌توانید فایل‌های صوتی و پیکربندی‌ها را ویرایش کرده و مجدداً تست کنید.


نکات مهم برای بهبود عملکرد IVR

  • مطمئن شوید که پیام‌ها به‌طور واضح و بدون ابهام ضبط شده‌اند.
  • پیام‌های صوتی باید در حداقل زمان ممکن ارائه شوند. کاربران ترجیح می‌دهند گزینه‌ها را سریعاً انتخاب کنند.
  • تنظیمات منو باید به‌گونه‌ای باشد که مشتریان به سرعت به هدف خود برسند.

جمع‌بندی

ضبط و پیکربندی پیام‌های صوتی اختصاصی برای منوی IVR یک فرآیند دقیق و نیازمند توجه به جزئیات است. با طراحی سناریوی مناسب، ضبط و ویرایش حرفه‌ای پیام‌ها، و پیکربندی صحیح سیستم IVR، می‌توان تجربه کاربری را بهبود بخشید و خدمات بهتری به مشتریان ارائه داد. استفاده از ابزارهای کامندی برای انجام تنظیمات و ویرایش فایل‌های صوتی نیز به تسهیل فرایند کمک می‌کند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”انتخاب پیام‌های از پیش ضبط‌شده یا استفاده از متن به صدا (TTS) در IVR” subtitle=”توضیحات کامل”]

در این بخش، نحوه انتخاب بین پیام‌های از پیش ضبط‌شده یا استفاده از متن به صدا (TTS) برای منوی IVR را بررسی خواهیم کرد. انتخاب درست بین این دو روش می‌تواند تأثیر زیادی بر کیفیت تجربه کاربری و عملکرد سیستم IVR داشته باشد. ما در اینجا تنظیمات و پیکربندی‌های لازم برای هر دو گزینه را به‌صورت کامندی و با جزئیات بیشتر توضیح خواهیم داد.


1. انتخاب پیام‌های از پیش ضبط‌شده برای IVR

پیام‌های از پیش ضبط‌شده معمولاً دارای کیفیت صدای ثابت و واضح‌تری هستند. این گزینه مناسب است زمانی که می‌خواهید پیام‌ها همیشه با کیفیت بالا و یکسان پخش شوند و نیاز به تغییرات مداوم ندارید.

مراحل ضبط و پیکربندی پیام‌های صوتی از پیش ضبط‌شده:

  1. ابتدا پیام‌ها را ضبط کرده و در مسیر مناسب ذخیره کنید.
    • به‌عنوان مثال، پیام خوش‌آمدگویی را در مسیر /var/lib/asterisk/sounds/welcome-message.wav ذخیره کنید.
  2. سپس فایل صوتی ضبط‌شده را در پیکربندی منوی IVR استفاده کنید. در اینجا یک مثال پیکربندی برای سیستم Asterisk آورده شده است.

دستورالعمل کامندی پیکربندی برای استفاده از پیام‌های ضبط‌شده در Asterisk:

  1. فایل extensions.conf را ویرایش کنید که معمولاً در مسیر زیر قرار دارد:
    /etc/asterisk/extensions.conf
    
  2. پیکربندی منوی IVR را به شکل زیر اضافه کنید:
[ivr-menu]
exten => s,1,Answer()
exten => s,n,Playback(welcome-message)  ; پیام خوش آمدگویی
exten => s,n,WaitExten()

exten => 1,1,Playback(technical-support)  ; پیام پشتیبانی فنی
exten => 1,n,Hangup()

exten => 2,1,Playback(account-info)  ; پیام اطلاعات حساب
exten => 2,n,Hangup()

exten => 3,1,Playback(speak-with-agent)  ; پیام صحبت با اپراتور
exten => 3,n,Dial(SIP/agent)  ; اتصال به اپراتور
exten => 3,n,Hangup()
  • پیام‌های صوتی باید در مسیر زیر ذخیره شوند:
    • /var/lib/asterisk/sounds/welcome-message.wav
    • /var/lib/asterisk/sounds/technical-support.wav
    • /var/lib/asterisk/sounds/account-info.wav
    • /var/lib/asterisk/sounds/speak-with-agent.wav

2. استفاده از متن به صدا (TTS) برای IVR

استفاده از متن به صدا (TTS) این امکان را می‌دهد که پیام‌ها به‌صورت خودکار از متن به صدا تبدیل شوند و نیاز به ضبط دستی هر پیام جدید نیست. این گزینه به‌ویژه در محیط‌های داینامیک مفید است که ممکن است نیاز به بروزرسانی مداوم پیام‌ها باشد.

مراحل استفاده از TTS در سیستم Asterisk:

  1. اطمینان حاصل کنید که پکیج‌های TTS مورد نیاز نصب شده باشند. یکی از پکیج‌های محبوب Festival است.
  2. برای نصب Festival در سیستم لینوکس، از دستور زیر استفاده کنید:
    sudo apt-get install festival festvox-kallpc16k
    
  3. پس از نصب، می‌توانید از دستور Festival برای تولید پیام‌های صوتی استفاده کنید. به‌عنوان مثال، برای تبدیل متن به صدا:
echo "Welcome to XYZ company. Please select an option from the menu" | festival --tts
  1. در پیکربندی Asterisk، از دستور SayAlpha برای خواندن متن‌ها به صدا استفاده می‌کنیم. به‌عنوان مثال:

دستورالعمل کامندی پیکربندی برای استفاده از TTS در Asterisk:

  1. فایل extensions.conf را ویرایش کنید:
/etc/asterisk/extensions.conf
  1. پیکربندی IVR با استفاده از TTS به‌صورت زیر خواهد بود:
[ivr-menu]
exten => s,1,Answer()
exten => s,n,Wait(1)
exten => s,n,SayAlpha("Welcome to XYZ company. Please press 1 for technical support, 2 for account information, or 3 to speak with an agent.")  ; استفاده از TTS برای پخش پیام
exten => s,n,WaitExten()

exten => 1,1,Playback(technical-support)  ; پیام پشتیبانی فنی
exten => 1,n,Hangup()

exten => 2,1,Playback(account-info)  ; پیام اطلاعات حساب
exten => 2,n,Hangup()

exten => 3,1,Playback(speak-with-agent)  ; پیام صحبت با اپراتور
exten => 3,n,Dial(SIP/agent)  ; اتصال به اپراتور
exten => 3,n,Hangup()
  • در اینجا پیام‌های TTS به‌طور داینامیک تولید و پخش می‌شوند.

3. مزایا و معایب انتخاب پیام‌های ضبط‌شده یا TTS

مزایای پیام‌های ضبط‌شده:

  • کیفیت ثابت: پیام‌ها همیشه با کیفیت ثابت و مطلوب پخش می‌شوند.
  • وضوح بیشتر: پیام‌های ضبط‌شده معمولاً واضح‌تر و بدون اشتباه هستند.
  • کنترل کامل بر صدا: می‌توانید صدای گوینده را انتخاب کنید و کیفیت ضبط را کنترل کنید.

معایب پیام‌های ضبط‌شده:

  • نیاز به به‌روزرسانی دستی: در صورت نیاز به تغییر پیام‌ها، باید دوباره آن‌ها را ضبط و بارگذاری کنید.
  • فضای ذخیره‌سازی: پیام‌های صوتی فضای بیشتری از سیستم شما را اشغال می‌کنند.

مزایای TTS:

  • انعطاف‌پذیری بیشتر: می‌توانید به راحتی پیام‌ها را به‌روز کرده و تغییر دهید.
  • صرفه‌جویی در فضای ذخیره‌سازی: به دلیل اینکه متن به صدا تبدیل می‌شود، نیازی به ذخیره فایل‌های صوتی نیست.
  • کمتر شدن نیاز به ضبط: می‌توانید به سرعت پیام‌های جدید ایجاد کنید.

معایب TTS:

  • کیفیت متغیر: کیفیت صدا ممکن است به اندازه پیام‌های ضبط‌شده دقیق و واضح نباشد.
  • محدودیت‌های صدایی: برخی از سیستم‌های TTS ممکن است قادر به شبیه‌سازی تمام صداها یا لحن‌های مورد نظر نباشند.

جمع‌بندی

انتخاب بین پیام‌های از پیش ضبط‌شده و متن به صدا (TTS) برای سیستم IVR بستگی به نیازهای خاص سازمان دارد. اگر به کیفیت صدا و کنترل دقیق بر پیام‌ها نیاز دارید، استفاده از پیام‌های ضبط‌شده توصیه می‌شود. اما اگر به انعطاف‌پذیری و صرفه‌جویی در فضای ذخیره‌سازی اهمیت می‌دهید، TTS می‌تواند گزینه مناسبی باشد. با توجه به توضیحات و پیکربندی‌های کامندی ارائه‌شده، می‌توانید سیستم IVR خود را بر اساس نیازها و منابع خود تنظیم کنید.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”نحوه بارگذاری فایل‌های صوتی در Issabel (فرمت‌های قابل قبول مانند WAV یا MP3)” subtitle=”توضیحات کامل”]در Issabel، برای استفاده از فایل‌های صوتی در IVR، صف تماس، ضبط صدا و سایر تنظیمات صوتی، باید فایل‌های خود را در مسیر مناسب بارگذاری کنید.


فرمت‌های قابل قبول فایل‌های صوتی در Issabel

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

  • WAV (با فرمت 16bit، 8kHz، Mono – برای کیفیت بالاتر)
  • GSM (برای کاهش حجم فایل‌ها)
  • MP3 (قابل استفاده در برخی تنظیمات، اما باید به WAV یا GSM تبدیل شود)

روش اول: بارگذاری فایل صوتی از طریق رابط گرافیکی

  1. وارد پنل مدیریت Issabel شوید.
  2. از منوی PBX گزینه System Recordings را انتخاب کنید.
  3. در قسمت Upload Recording گزینه Choose File را انتخاب کنید و فایل صوتی خود را آپلود کنید.
  4. یک نام برای فایل صوتی مشخص کنید و روی Save کلیک کنید.
  5. اکنون این فایل در تنظیمات IVR، صف تماس یا دیگر بخش‌های PBX قابل استفاده خواهد بود.

روش دوم: بارگذاری فایل صوتی از طریق خط فرمان

مرحله 1: انتقال فایل صوتی به سرور

اگر فایل صوتی شما در سیستم دیگری قرار دارد، می‌توانید آن را با استفاده از SCP یا FTP به سرور Issabel انتقال دهید. مثال زیر روش انتقال با SCP را نشان می‌دهد:

scp my-audio-file.wav root@your-issabel-server:/tmp/
مرحله 2: تبدیل فایل صوتی به فرمت مناسب

اگر فایل شما MP3 است، ابتدا باید آن را به WAV یا GSM تبدیل کنید. برای این کار می‌توانید از ابزار sox یا ffmpeg استفاده کنید.

  • نصب sox (در صورت نیاز):
    yum install sox -y
    
  • تبدیل MP3 به WAV (8kHz, Mono):
    ffmpeg -i /tmp/my-audio-file.mp3 -ar 8000 -ac 1 -ab 16k /tmp/my-audio-file.wav
    
  • تبدیل WAV به GSM برای کاهش حجم:
    sox /tmp/my-audio-file.wav -r 8000 -c 1 -t gsm /tmp/my-audio-file.gsm
    
مرحله 3: انتقال فایل به مسیر مناسب

پس از تبدیل فایل به فرمت صحیح، آن را به مسیر مربوطه در سرور Issabel انتقال دهید:

mv /tmp/my-audio-file.wav /var/lib/asterisk/sounds/custom/
مرحله 4: تنظیم دسترسی فایل

برای اطمینان از این‌که Asterisk بتواند فایل را بخواند، دسترسی‌های آن را تنظیم کنید:

chown asterisk:asterisk /var/lib/asterisk/sounds/custom/my-audio-file.wav
chmod 644 /var/lib/asterisk/sounds/custom/my-audio-file.wav
مرحله 5: بررسی و اعمال تغییرات

برای اعمال تغییرات، تنظیمات Asterisk را مجدداً بارگذاری کنید:

asterisk -rx "core reload"

جمع‌بندی

  • فایل‌های صوتی را می‌توان از طریق پنل System Recordings یا به‌صورت دستی با استفاده از SCP، FTP یا SSH بارگذاری کرد.
  • فرمت‌های WAV (8kHz, Mono) و GSM پیشنهاد می‌شوند.
  • در صورت نیاز، می‌توان فایل‌های MP3 را با ابزارهای ffmpeg یا sox به فرمت مناسب تبدیل کرد.
  • مسیر مناسب برای ذخیره فایل‌های صوتی در Issabel، دایرکتوری /var/lib/asterisk/sounds/custom/ است.
  • بعد از بارگذاری، حتماً دسترسی‌های فایل را تنظیم کنید و Asterisk را ریلود کنید تا تغییرات اعمال شوند.

[/cdb_course_lesson][cdb_course_lesson title=”فصل 7. تعریف ساعات کاری (Time Conditions) برای IVR”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”تنظیم IVR برای تشخیص ساعات کاری و مسیردهی تماس‌ها بر اساس زمان” subtitle=”توضیحات کامل”]در بسیاری از مراکز تماس، لازم است تماس‌ها در ساعات کاری به یک گروه از کاربران و در ساعات غیرکاری به یک پیام ضبط‌ شده یا شماره دیگر منتقل شوند. در Issabel این کار با استفاده از Time Conditions و IVR انجام می‌شود.


تعریف Time Conditions برای مشخص کردن ساعات کاری

برای مدیریت تماس‌ها بر اساس زمان، ابتدا باید یک Time Condition تعریف شود که مشخص کند چه ساعاتی به عنوان ساعات کاری در نظر گرفته می‌شود.

ایجاد Time Group برای تعیین بازه زمانی
  1. وارد مدیریت Issabel شوید.
  2. از منوی PBX گزینه Time Groups را انتخاب کنید.
  3. روی Add Time Group کلیک کنید و یک نام برای آن مشخص کنید.
  4. در بخش Time Ranges ساعات کاری را مشخص کنید. (مثلاً دوشنبه تا پنج‌شنبه از ساعت 9:00 تا 17:00)
  5. تنظیمات را ذخیره کنید.
ایجاد Time Condition برای بررسی زمان تماس
  1. از منوی PBX گزینه Time Conditions را انتخاب کنید.
  2. روی Add Time Condition کلیک کنید.
  3. یک نام برای این شرط زمانی انتخاب کنید، مثلاً Business_Hours.
  4. در بخش Time Group گروهی که در مرحله قبل ایجاد کردید را انتخاب کنید.
  5. دو مسیر برای تماس مشخص کنید:
    • اگر در ساعات کاری باشد: تماس به IVR یا داخلی مشخصی هدایت شود.
    • اگر در ساعات غیرکاری باشد: تماس به پیام ضبط‌شده یا شماره دیگر منتقل شود.
  6. تنظیمات را ذخیره کنید.

تنظیم IVR برای مسیردهی تماس‌ها بر اساس ساعت

بعد از تعریف شرط زمانی، حالا IVR را به گونه‌ای تنظیم می‌کنیم که تماس‌ها را بر اساس آن هدایت کند.

ایجاد IVR و تنظیم مسیر تماس‌ها
  1. از منوی PBX گزینه IVR را انتخاب کنید.
  2. روی Add IVR کلیک کنید و یک نام برای IVR انتخاب کنید.
  3. پیام خوش‌آمدگویی را مشخص کنید.
  4. گزینه‌های IVR را تنظیم کنید (مثلاً 1 برای پشتیبانی، 2 برای فروش و …).
  5. در بخش Destination if no input، مقصد پیش‌فرض تماس‌ها را Time Condition که قبلاً ایجاد شده بود، قرار دهید.
  6. تنظیمات را ذخیره کنید.

تنظیم از طریق خط فرمان

برای مدیریت Time Conditions و IVR از طریق Asterisk، می‌توان تنظیمات را در فایل‌های extensions_custom.conf تغییر داد.

مسیر فایل برای ویرایش تنظیمات IVR و Time Conditions
/etc/asterisk/extensions_custom.conf
افزودن تنظیمات برای بررسی ساعت تماس
[custom-timecheck]
exten => s,1,NoOp(Checking Business Hours)
 same => n,GotoIfTime(09:00-17:00,mon-thu,*,*?during_business_hours,1)
 same => n,Goto(after_hours,1)

[during_business_hours]
exten => 1,1,NoOp(Inside Business Hours)
 same => n,Dial(SIP/100)

[after_hours]
exten => 1,1,NoOp(Outside Business Hours)
 same => n,Playback(custom/out_of_office)
 same => n,Hangup()
بارگذاری مجدد تنظیمات Asterisk

پس از ویرایش فایل، تنظیمات جدید را با این دستور اعمال کنید:

asterisk -rx "dialplan reload"

جمع‌بندی

  • برای مدیریت تماس‌ها بر اساس زمان، ابتدا یک Time Group برای تعیین بازه‌های زمانی ایجاد می‌شود.
  • سپس یک Time Condition ساخته می‌شود که تماس‌ها را بر اساس ساعات کاری به مسیرهای مختلف هدایت کند.
  • در مرحله بعد، این شرط زمانی در IVR تنظیم می‌شود تا تماس‌ها را به مقصد مناسب هدایت کند.
  • همچنین می‌توان این تنظیمات را مستقیماً در extensions_custom.conf تغییر داده و Asterisk را مجدداً بارگذاری کرد.

[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”پیکربندی IVR برای مسیردهی تماس‌ها به تیم‌های مختلف در ساعات کاری و غیرکاری” subtitle=”توضیحات کامل”]برای مدیریت تماس‌های ورودی بر اساس زمان، می‌توان IVR را طوری تنظیم کرد که در ساعات کاری تماس‌ها را به تیم‌های مشخصی هدایت کند و در ساعات غیرکاری پیام‌های ضبط‌ شده پخش شود یا تماس به یک مقصد دیگر منتقل شود. این کار با استفاده از Time Conditions و IVR در Issabel انجام می‌شود.


ایجاد Time Groups برای تعریف ساعات کاری

ابتدا باید گروه‌های زمانی مشخص شوند تا سیستم بتواند تشخیص دهد که تماس در چه ساعتی برقرار شده است.

مراحل ایجاد Time Group در Issabel
  1. وارد مدیریت Issabel شوید.
  2. از منوی PBX گزینه Time Groups را انتخاب کنید.
  3. روی Add Time Group کلیک کنید و یک نام برای گروه زمانی خود انتخاب کنید، مانند Business_Hours.
  4. در قسمت Time Ranges بازه زمانی را مشخص کنید، برای مثال:
    • دوشنبه تا پنج‌شنبه، ساعت 9:00 تا 17:00
    • جمعه از ساعت 9:00 تا 13:00
  5. تنظیمات را ذخیره کنید.

تعریف Time Condition برای مسیردهی تماس‌ها

پس از ایجاد گروه زمانی، باید Time Condition را تنظیم کنیم تا تماس‌ها را بر اساس این زمان‌بندی هدایت کند.

مراحل ایجاد Time Condition در Issabel
  1. از منوی PBX گزینه Time Conditions را انتخاب کنید.
  2. روی Add Time Condition کلیک کنید.
  3. یک نام مانند IVR_Time_Routing انتخاب کنید.
  4. در قسمت Time Group، گروه زمانی که در مرحله قبل ساختید را انتخاب کنید.
  5. در قسمت Destination if time matches مسیر تماس در ساعات کاری را مشخص کنید (مثلاً انتقال به IVR تیم‌های کاری).
  6. در قسمت Destination if time does NOT match مسیر تماس در ساعات غیرکاری را مشخص کنید (مثلاً پخش پیام ضبط‌شده یا انتقال به موبایل مدیر).
  7. تنظیمات را ذخیره کنید.

ایجاد IVR و تنظیم مسیردهی تماس‌ها بر اساس تیم‌ها

پس از تنظیم Time Condition، باید یک IVR ایجاد کنیم که تماس‌ها را در ساعات کاری بین تیم‌های مختلف تقسیم کند.

مراحل ایجاد IVR در Issabel
  1. از منوی PBX گزینه IVR را انتخاب کنید.
  2. روی Add IVR کلیک کنید.
  3. یک نام مانند Business_IVR انتخاب کنید.
  4. در قسمت Announcement یک پیام ضبط‌شده مانند زیر انتخاب کنید:
    • “برای ارتباط با تیم پشتیبانی عدد 1 را فشار دهید.”
    • “برای ارتباط با تیم فروش عدد 2 را فشار دهید.”
    • “برای ارتباط با حسابداری عدد 3 را فشار دهید.”
  5. در قسمت IVR Entries مسیر گزینه‌های مختلف را تنظیم کنید:
    • کلید 1 → انتقال به داخلی تیم پشتیبانی (مثلاً SIP/200)
    • کلید 2 → انتقال به داخلی تیم فروش (مثلاً SIP/300)
    • کلید 3 → انتقال به داخلی حسابداری (مثلاً SIP/400)
    • مسیر پیش‌فرض (Timeout یا Invalid Entry) → بازگشت به IVR یا قطع تماس
  6. در قسمت Destination if no input، Time Condition را انتخاب کنید تا تماس‌ها بر اساس زمان‌بندی هدایت شوند.
  7. تنظیمات را ذخیره کنید.

تنظیم از طریق خط فرمان

علاوه بر روش گرافیکی، می‌توان این تنظیمات را از طریق فایل‌های تنظیمات Asterisk اعمال کرد.

مسیر فایل برای ویرایش تنظیمات IVR و Time Conditions
/etc/asterisk/extensions_custom.conf
افزودن تنظیمات برای بررسی ساعت تماس و هدایت به IVR مناسب
[custom-ivr-routing]
exten => s,1,NoOp(Checking Business Hours)
 same => n,GotoIfTime(09:00-17:00,mon-thu,*,*?business_hours,1)
 same => n,GotoIfTime(09:00-13:00,fri,*,*?business_hours,1)
 same => n,Goto(after_hours,1)

[business_hours]
exten => 1,1,NoOp(Inside Business Hours)
 same => n,Goto(custom-business-ivr,s,1)

[after_hours]
exten => s,1,NoOp(Outside Business Hours)
 same => n,Playback(custom/after_hours_message)
 same => n,Hangup()

[custom-business-ivr]
exten => s,1,NoOp(Business Hours IVR)
 same => n,Answer()
 same => n,Playback(custom/business_greeting)
 same => n,WaitExten()

exten => 1,1,Dial(SIP/200)  ; تیم پشتیبانی
exten => 2,1,Dial(SIP/300)  ; تیم فروش
exten => 3,1,Dial(SIP/400)  ; حسابداری
exten => t,1,Goto(s,1)      ; در صورت عدم ورودی، تکرار IVR
بارگذاری مجدد تنظیمات Asterisk

بعد از ویرایش فایل، تغییرات را با این دستور اعمال کنید:

asterisk -rx "dialplan reload"

جمع‌بندی

  • Time Groups برای تعیین ساعات کاری و غیرکاری تنظیم شد.
  • Time Conditions برای بررسی زمان تماس‌ها و هدایت تماس‌ها به مسیر مناسب ایجاد شد.
  • IVR به‌گونه‌ای تنظیم شد که در ساعات کاری تماس‌ها را به تیم‌های مختلف (پشتیبانی، فروش، حسابداری) هدایت کند.
  • در ساعات غیرکاری تماس‌ها به پیام ضبط‌شده یا شماره دیگری منتقل شد.
  • تنظیمات هم از طریق رابط کاربری و هم از طریق فایل‌های تنظیمات Asterisk ارائه شد تا انعطاف‌پذیری بیشتری فراهم شود.

[/cdb_course_lesson][cdb_course_lesson title=”فصل 8. پیکربندی گام‌های ورودی پیشرفته”]

فصل 8. پیکربندی گام‌های ورودی پیشرفته

[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”استفاده از ویژگی‌های پیچیده مانند Queue, Voicemail و Call Forwarding در IVR” subtitle=”توضیحات کامل”]در سیستم تلفنی Issabel، می‌توان با استفاده از قابلیت‌های پیشرفته مانند صف تماس (Queue)، صندوق صوتی (Voicemail) و انتقال تماس (Call Forwarding)، یک IVR هوشمند و کارآمد ایجاد کرد. این امکانات به بهبود تجربه کاربران و افزایش بهره‌وری تیم‌های پاسخ‌گویی کمک می‌کند.


افزودن قابلیت Queue به IVR

اگر تیم پشتیبانی یا فروش دارای چندین اپراتور است، می‌توان تماس‌های ورودی را به یک صف تماس (Queue) هدایت کرد تا به ترتیب پاسخ داده شوند.

ایجاد Queue در Issabel
  1. وارد مدیریت Issabel شوید.
  2. از منوی PBX گزینه Queues را انتخاب کنید.
  3. روی Add Queue کلیک کنید و موارد زیر را تنظیم کنید:
    • Queue Number: عددی برای صف (مثلاً 600)
    • Queue Name: نام صف (مثلاً Support_Queue)
    • Ring Strategy: نحوه زنگ‌خوردن اعضا (مثلاً ringall برای زنگ‌خوردن همزمان یا leastrecent برای اپراتور کم‌کارتر)
    • Agents: شماره داخلی‌های اعضای صف را اضافه کنید.
    • Failover Destination: در صورت عدم پاسخ، مسیر جایگزین را مشخص کنید (مثلاً Voicemail).
  4. تنظیمات را ذخیره کنید.
اتصال Queue به IVR

هنگام تنظیم IVR، می‌توان گزینه‌ای برای انتقال تماس‌ها به صف تماس اضافه کرد.

  1. از منوی PBX گزینه IVR را انتخاب کنید.
  2. IVR موردنظر را ویرایش کنید یا یک IVR جدید ایجاد کنید.
  3. در قسمت IVR Entries، یک گزینه مانند زیر اضافه کنید:
    • کلید 1 → انتقال به Queue 600 (Support_Queue)
  4. تنظیمات را ذخیره کنید.
تنظیم از طریق فایل کانفیگ

مسیر فایل تنظیمات صف تماس:

/etc/asterisk/queues_custom.conf

افزودن یک صف تماس در Asterisk:

[Support_Queue]
strategy=ringall
timeout=15
retry=5
wrapuptime=10
maxlen=10
joinempty=no
leavewhenempty=yes
member=SIP/200
member=SIP/201
member=SIP/202

بارگذاری مجدد تنظیمات:

asterisk -rx "queue reload"

افزودن قابلیت Voicemail به IVR

در صورتی که هیچ‌کدام از اپراتورها پاسخ‌گو نباشند، می‌توان تماس‌ها را به صندوق صوتی (Voicemail) هدایت کرد.

فعال‌سازی Voicemail برای داخلی‌ها
  1. از منوی PBX گزینه Extensions را انتخاب کنید.
  2. داخلی موردنظر را ویرایش کنید.
  3. در بخش Voicemail & Directory گزینه Enable Voicemail را فعال کنید.
  4. یک Secret PIN برای دسترسی به پیام‌های صوتی تنظیم کنید.
  5. مسیر ایمیل برای ارسال پیام‌های صوتی (اختیاری) را وارد کنید.
  6. تغییرات را ذخیره کنید.
اتصال Voicemail به IVR

هنگام تنظیم IVR، می‌توان گزینه‌ای برای ارسال تماس‌ها به Voicemail اضافه کرد.

  1. از منوی PBX گزینه IVR را انتخاب کنید.
  2. در قسمت IVR Entries، یک گزینه مانند زیر اضافه کنید:
    • کلید 9 → انتقال به Voicemail داخلی 200
  3. تنظیمات را ذخیره کنید.
تنظیم از طریق فایل کانفیگ

مسیر فایل تنظیمات Voicemail:

/etc/asterisk/voicemail.conf

افزودن Voicemail برای داخلی خاص:

[default]
200 => 1234,Support Team,support@example.com,attach=yes|saycid=no

بارگذاری مجدد تنظیمات:

asterisk -rx "voicemail reload"

افزودن قابلیت Call Forwarding به IVR

در برخی موارد، ممکن است لازم باشد تماس‌های ورودی را به یک شماره موبایل یا یک شماره خارجی هدایت کنیم. این کار با Call Forwarding انجام می‌شود.

فعال‌سازی Call Forwarding برای داخلی‌ها
  1. از منوی PBX گزینه Feature Codes را انتخاب کنید.
  2. گزینه‌های زیر را بررسی و فعال کنید:
    • Call Forward All Activate: برای فعال‌سازی هدایت تماس‌ها
    • Call Forward All Deactivate: برای غیرفعال‌سازی هدایت تماس‌ها
    • Call Forward Unavailable Activate: برای هدایت در صورت مشغول بودن

فعال‌سازی Call Forward برای یک داخلی با کد دستوری:

  • فعال‌سازی:
    *72 شماره‌مقصد
    
  • غیرفعال‌سازی:
    *73
    
اتصال Call Forwarding به IVR

هنگام تنظیم IVR، می‌توان گزینه‌ای برای انتقال تماس‌ها به یک شماره خارجی اضافه کرد.

  1. از منوی PBX گزینه IVR را انتخاب کنید.
  2. در قسمت IVR Entries، یک گزینه مانند زیر اضافه کنید:
    • کلید 5 → انتقال به شماره خارجی (مثلاً موبایل مدیر)
  3. تنظیمات را ذخیره کنید.
تنظیم از طریق فایل کانفیگ

مسیر فایل تنظیمات Call Forwarding:

/etc/asterisk/extensions_custom.conf

افزودن تنظیمات برای انتقال تماس به شماره خارجی:

[custom-call-forward]
exten => s,1,NoOp(Forwarding Call)
 same => n,Dial(SIP/200&SIP/201,20)
 same => n,GotoIf($["${DIALSTATUS}"="NOANSWER"]?forward)
 same => n,Hangup()

[forward]
exten => s,1,NoOp(Forwarding to External Number)
 same => n,Dial(SIP/200&Local/09123456789@from-internal,30)
 same => n,Hangup()

بارگذاری مجدد تنظیمات:

asterisk -rx "dialplan reload"

جمع‌بندی

  • Queue: برای هدایت تماس‌ها به تیم‌ها و مدیریت بهتر صف‌های پاسخ‌گویی تنظیم شد.
  • Voicemail: برای ذخیره پیام‌های صوتی در صورت عدم پاسخ‌گویی اپراتورها فعال شد.
  • Call Forwarding: برای هدایت تماس‌ها به شماره‌های خارجی یا موبایل تنظیم شد.
  • تمام تنظیمات هم از طریق مدیریت Issabel و هم از طریق فایل‌های تنظیمات Asterisk ارائه شد.

[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”ایجاد تعاملی با کاربر در IVR (درخواست شماره حساب یا وارد کردن اطلاعات دیگر)” subtitle=”توضیحات کامل”]در سیستم تلفنی Issabel، می‌توان IVR را طوری پیکربندی کرد که ورودی‌های کاربران را دریافت کند و بر اساس آن تصمیم‌گیری نماید. این قابلیت برای درخواست شماره حساب، کد پیگیری، وارد کردن رمز و سایر اطلاعات عددی کاربرد دارد.


فعال‌سازی قابلیت دریافت ورودی عددی در IVR

برای تعامل با کاربران، می‌توان از Read() در Asterisk استفاده کرد. این تابع مقدار ورودی را خوانده و پردازش می‌کند.

ایجاد IVR با قابلیت دریافت شماره حساب

مسیر فایل تنظیمات IVR:

/etc/asterisk/extensions_custom.conf

افزودن تنظیمات:

[ivr-account-check]
exten => s,1,Answer()
 same => n,Playback(enter-account-number) ; پخش پیام "لطفاً شماره حساب خود را وارد کنید"
 same => n,Read(ACC,4) ; دریافت عدد ۴ رقمی از کاربر
 same => n,GotoIf($[${LEN(${ACC})} = 4]?process) ; بررسی تعداد رقم ورودی
 same => n,Playback(invalid) ; اگر ورودی معتبر نبود، پیام نامعتبر پخش شود
 same => n,Hangup()

[process]
exten => s,1,NoOp(Processing Account Number: ${ACC})
 same => n,Playback(your-account-number-is) 
 same => n,SayDigits(${ACC}) ; بازخوانی شماره حساب وارد شده
 same => n,Hangup()

بارگذاری مجدد تنظیمات:

asterisk -rx "dialplan reload"

افزودن IVR تعاملی در Issabel

  1. وارد مدیریت Issabel شوید.
  2. از منوی PBX گزینه IVR را انتخاب کنید.
  3. یک IVR جدید اضافه کنید و موارد زیر را تنظیم کنید:
    • Greeting: پیام خوش‌آمدگویی و درخواست ورودی عددی
    • Timeout: مدت‌زمان انتظار برای دریافت ورودی
    • Invalid Retries: تعداد دفعات مجاز برای ورود اشتباه
    • Direct Dial: فعال‌سازی امکان ورود دستی شماره‌ها
  4. در بخش IVR Entries، یک گزینه مانند زیر اضافه کنید:
    • کلید 1 → انتقال به Context سفارشی ivr-account-check
  5. تنظیمات را ذخیره کنید.

ارسال اطلاعات وارد شده به سرور دیگر

در برخی موارد، نیاز است که شماره واردشده را به یک وب‌سرور ارسال کنیم. این کار با AGI (Asterisk Gateway Interface) قابل انجام است.

نوشتن یک اسکریپت برای ارسال داده به سرور

مسیر فایل AGI:

/var/lib/asterisk/agi-bin/account_lookup.py

کد Python برای ارسال داده به سرور

#!/usr/bin/env python3
import sys
import requests

def send_data(account_number):
    url = "http://example.com/api/check_account"
    payload = {"account": account_number}
    response = requests.post(url, json=payload)
    return response.text

if __name__ == "__main__":
    account_number = sys.argv[1]
    result = send_data(account_number)
    print(f"RESULT: {result}")

افزودن AGI به Dialplan:

[ivr-account-check]
exten => s,1,Answer()
 same => n,Playback(enter-account-number)
 same => n,Read(ACC,4)
 same => n,GotoIf($[${LEN(${ACC})} = 4]?process)
 same => n,Playback(invalid)
 same => n,Hangup()

[process]
exten => s,1,NoOp(Processing Account Number: ${ACC})
 same => n,AGI(account_lookup.py,${ACC}) ; ارسال شماره حساب به سرور
 same => n,Playback(thank-you)
 same => n,Hangup()

بارگذاری مجدد تنظیمات:

chmod +x /var/lib/asterisk/agi-bin/account_lookup.py
asterisk -rx "dialplan reload"

جمع‌بندی

  • قابلیت دریافت ورودی عددی در IVR اضافه شد.
  • تنظیمات در Issabel و Asterisk ارائه شد.
  • اسکریپت AGI برای ارسال اطلاعات به سرور نوشته شد.
  • تمامی تغییرات قابل اعمال و تست هستند.

[/cdb_course_lesson][cdb_course_lesson title=”فصل 9. آزمایش و رفع اشکال IVR”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”نحوه تست عملکرد منوی IVR پس از پیکربندی” subtitle=”توضیحات کامل”]پس از پیکربندی IVR در Issabel، برای اطمینان از عملکرد صحیح آن، می‌توان تست‌هایی را انجام داد. در این بخش، روش‌های بررسی عملکرد منوی IVR ارائه شده است.


1. بررسی تنظیمات IVR در Issabel

قبل از تست عملی، ابتدا تنظیمات IVR را از طریق رابط گرافیکی بررسی کنید:

  1. وارد پنل مدیریتی Issabel شوید.
  2. از منوی PBX، گزینه IVR را انتخاب کنید.
  3. IVR موردنظر را انتخاب کرده و گزینه‌های زیر را بررسی کنید:
    • Greeting: فایل صوتی خوش‌آمدگویی صحیح باشد.
    • Timeout: زمان انتظار برای ورودی کاربر مناسب باشد.
    • Invalid Retries: تعداد مجاز ورود اشتباه تنظیم شده باشد.
    • IVR Entries: کلیدهای تنظیم‌شده به مسیرهای درستی متصل باشند.
  4. تغییرات را ذخیره کنید.

2. تست IVR از طریق تلفن داخلی

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

  1. یک تلفن داخلی (مانند Softphone یا IP Phone) متصل کنید.
  2. شماره IVR Extension (که در تنظیمات IVR مشخص شده است) را شماره‌گیری کنید.
  3. بررسی کنید که موارد زیر به‌درستی اجرا شوند:
    • پیام صوتی خوش‌آمدگویی پخش شود.
    • ورودی‌های عددی دریافت شده و پردازش شوند.
    • در صورت ورود عدد اشتباه، پیام مناسب پخش شود.
    • پس از ورود عدد صحیح، تماس به مسیر مناسب هدایت شود.

3. تست از طریق کنسول Asterisk

برای مشاهده دیباگ تماس‌ها و لاگ‌های Asterisk از کنسول استفاده کنید:

  1. به سرور Issabel متصل شوید:
    ssh root@your-server-ip
    
  2. کنسول Asterisk را باز کنید:
    asterisk -rvvv
    
  3. شماره IVR را از داخلی شماره‌گیری کنید و در کنسول بررسی کنید که آیا دستورات IVR اجرا می‌شوند.

4. تست از طریق ابزارهای SIP و Softphone

اگر از Softphone مانند Zoiper یا Linphone استفاده می‌کنید، می‌توان از طریق SIP Trunk IVR را تست کرد:

  1. یک Softphone روی کامپیوتر یا موبایل نصب کنید.
  2. یک داخلی SIP در Issabel تعریف کنید و در Softphone تنظیم کنید.
  3. شماره IVR Extension را شماره‌گیری کنید و بررسی کنید که آیا IVR درست کار می‌کند.

5. تست از طریق تماس خارجی (SIP Trunk)

در صورتی که IVR برای پاسخگویی به تماس‌های خارجی تنظیم شده است، می‌توان از یک خط شهری یا SIP Trunk برای تست استفاده کرد:

  1. شماره خارجی متصل به Issabel را شماره‌گیری کنید.
  2. بررسی کنید که پیام خوش‌آمدگویی پخش می‌شود.
  3. کلیدهای IVR را آزمایش کنید و مطمئن شوید که تماس به مقصد صحیح هدایت می‌شود.

6. مشاهده لاگ‌ها برای بررسی مشکلات احتمالی

برای تحلیل دقیق مشکلات احتمالی، می‌توان لاگ‌های Asterisk را بررسی کرد:

tail -f /var/log/asterisk/full

نکات مهم در لاگ‌ها:

  • بررسی پیام‌های مربوط به IVR و DTMF
  • اطمینان از اینکه ورودی‌های عددی پردازش می‌شوند
  • مشاهده خطاها و مسیرهای هدایت تماس

جمع‌بندی

  • بررسی تنظیمات IVR در Issabel
  • تست داخلی با شماره‌گیری IVR از یک تلفن داخلی
  • مشاهده لاگ‌ها و دیباگ تماس‌ها از طریق کنسول Asterisk
  • تست با Softphone برای بررسی اتصال از طریق SIP
  • تست از طریق تماس خارجی برای بررسی عملکرد در ارتباطات ورودی

با این روش‌ها می‌توان اطمینان حاصل کرد که IVR به‌درستی کار می‌کند و تمامی مسیرها و ورودی‌های عددی پردازش می‌شوند.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”بررسی و تحلیل گزارش‌های تماس برای شناسایی مشکلات IVR” subtitle=”توضیحات کامل”]پس از راه‌اندازی IVR در Issabel، یکی از مراحل مهم، بررسی و تحلیل گزارش‌های تماس است. این کار به شما کمک می‌کند مشکلات احتمالی را شناسایی کرده و تجربه تماس کاربران را بهبود دهید.


1. مشاهده گزارش تماس‌ها در پنل Issabel

برای بررسی گزارش‌های تماس در Issabel از طریق رابط وب، مراحل زیر را دنبال کنید:

  1. به پنل مدیریتی Issabel وارد شوید.
  2. از منوی PBX، گزینه CDR Reports را انتخاب کنید.
  3. می‌توانید تماس‌ها را بر اساس بازه زمانی، شماره داخلی، شماره تماس‌گیرنده یا مقصد فیلتر کنید.
  4. برای مشاهده جزئیات هر تماس، روی Call Details کلیک کنید.

نکات کلیدی در گزارش‌ها:

  • مدت زمان تماس: بررسی کنید که آیا تماس‌ها به درستی هدایت شده‌اند یا کاربران به دلیل مشکلی تماس را قطع کرده‌اند.
  • کدهای خطا: وجود خطاهایی مانند NO ANSWER، BUSY یا FAILED نشان‌دهنده مشکلات در مسیردهی تماس است.
  • ورودی‌های اشتباه: بررسی کنید که چند درصد از تماس‌ها شامل ورود DTMF نامعتبر بوده‌اند.

2. بررسی لاگ‌های Asterisk برای تحلیل دقیق‌تر

برای دریافت اطلاعات دقیق در مورد نحوه عملکرد IVR، می‌توان لاگ‌های Asterisk را مشاهده کرد.

  1. به سرور Issabel متصل شوید:
    ssh root@your-server-ip
    
  2. برای نمایش آخرین لاگ‌ها دستور زیر را اجرا کنید:
    tail -f /var/log/asterisk/full
    
  3. برای جستجوی خطاهای مرتبط با IVR، می‌توان از grep استفاده کرد:
    grep "IVR" /var/log/asterisk/full
    
  4. برای مشاهده مسیر ورودهای عددی (DTMF) و تحلیل آن‌ها:
    grep "DTMF" /var/log/asterisk/full
    

موارد مهم در لاگ‌ها:

  • بررسی کنید که تماس‌ها به درستی به داخلی‌ها، صف‌ها یا سایر مقاصد هدایت شده‌اند.
  • پیام‌های DTMF Timeout می‌توانند نشان‌دهنده این باشند که سیستم ورودی‌های عددی را دریافت نکرده است.
  • پیام‌های Call Dropped یا No Response نشان‌دهنده مشکلات ارتباطی هستند.

3. تجزیه و تحلیل گزارش‌ها برای بهینه‌سازی IVR

بررسی داده‌های تماس‌ها می‌تواند به بهبود عملکرد IVR کمک کند. به عنوان مثال:

  • اگر کاربران زیاد کلید اشتباه می‌زنند، ممکن است منوی IVR پیچیده باشد.
  • اگر تعداد زیادی تماس قطع شده قبل از انتخاب گزینه وجود دارد، باید زمان انتظار یا پیام خوش‌آمدگویی را کوتاه‌تر کنید.
  • اگر تماس‌ها به مقصد صحیح هدایت نمی‌شوند، باید ورودی‌های تنظیم‌شده در IVR را بررسی کنید.

4. دریافت گزارش‌های آماری از تماس‌های IVR

برای مشاهده آمار کلی تماس‌ها می‌توان از دستورات زیر در MySQL استفاده کرد.

  1. ورود به دیتابیس Asterisk CDR:
    mysql -u root -p asteriskcdrdb
    
  2. دریافت تعداد تماس‌های پردازش‌شده توسط IVR:
    SELECT COUNT(*) FROM cdr WHERE dst LIKE 'ivr-%';
    
  3. دریافت تعداد تماس‌هایی که بدون ورود عدد قطع شده‌اند:
    SELECT COUNT(*) FROM cdr WHERE dst LIKE 'ivr-%' AND disposition = 'NO ANSWER';
    
  4. بررسی مقاصد تماس‌ها در IVR:
    SELECT dst, COUNT(*) FROM cdr WHERE dst LIKE 'ivr-%' GROUP BY dst;
    

نتایج این گزارش‌ها به شما نشان می‌دهد:

  • چه تعداد تماس وارد IVR شده و پردازش شده‌اند.
  • چند تماس بدون انتخاب گزینه قطع شده‌اند.
  • بیشترین مسیرهای انتخاب‌شده توسط کاربران در IVR کدامند.

5. استفاده از ابزارهای مانیتورینگ برای نظارت بر IVR

برای نظارت بر تماس‌ها و بررسی مشکلات احتمالی، می‌توان از ابزارهایی مانند sngrep استفاده کرد:

  1. نصب sngrep (اگر از قبل نصب نیست):
    yum install sngrep -y
    
  2. اجرای برنامه برای مشاهده SIP Packets:
    sngrep
    
  3. بررسی تماس‌های IVR و مشاهده جریان تماس در شبکه برای تشخیص مشکلات مربوط به DTMF، تاخیر در ارتباط یا مشکلات شبکه.

جمع‌بندی

  • بررسی گزارش‌های تماس در Issabel برای مشاهده مسیر تماس‌ها و میزان استفاده از IVR.
  • مشاهده لاگ‌های Asterisk برای تحلیل دقیق مشکلات مربوط به IVR.
  • آنالیز داده‌های MySQL برای استخراج آمار تماس‌های ورودی و انتخاب‌های کاربران.
  • استفاده از ابزار sngrep برای نظارت بر سیگنال‌های SIP و مشکلات مربوط به ارتباط.

این روش‌ها به شما کمک می‌کنند مشکلات احتمالی IVR را شناسایی و آن را بهینه‌سازی کنید تا تجربه کاربری بهتری برای تماس‌گیرندگان فراهم شود.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”اصلاح اشکالات متداول مانند مشکلات در مسیر‌دهی تماس‌ها یا پیام‌های صوتی” subtitle=”توضیحات کامل”]پیکربندی IVR در Issabel ممکن است با مشکلاتی مواجه شود که مانع از مسیردهی صحیح تماس‌ها یا اجرای پیام‌های صوتی شود. در این بخش، مشکلات رایج و راه‌حل‌های آن‌ها را بررسی می‌کنیم.


1. بررسی مشکل عدم هدایت تماس‌ها به مقصد صحیح

یکی از مشکلات رایج در IVR این است که تماس‌ها به مقصد تعیین‌شده منتقل نمی‌شوند یا به اشتباه به داخلی‌های دیگر هدایت می‌شوند.

روش‌های بررسی و اصلاح:
  1. بررسی تنظیمات IVR در پنل Issabel:
    • به PBX → IVR بروید.
    • گزینه‌های شماره‌گیری (DTMF) را بررسی کنید و مطمئن شوید که به مقاصد صحیح هدایت شده‌اند.
    • اگر گزینه‌ای به داخلی خاص، صف یا گروه تماس هدایت می‌شود، بررسی کنید که مقصد فعال و در دسترس باشد.
  2. تست ورودی‌های عددی در لاگ‌های Asterisk:
    tail -f /var/log/asterisk/full | grep "DTMF"
    

    این دستور نشان می‌دهد که سیستم چه ورودی‌هایی را دریافت کرده است. اگر ورودی اشتباه ثبت شده باشد، ممکن است نیاز به تغییر تنظیمات DTMF داشته باشید.

  3. بررسی تنظیمات داخلی‌ها و صف‌ها:
    • به PBX → Extensions بروید و داخلی‌های مرتبط با IVR را بررسی کنید.
    • اگر تماس‌ها باید به صف هدایت شوند، PBX → Queues را بررسی کنید و مطمئن شوید که صف به درستی تعریف شده است.
  4. تست دستی مسیر‌دهی تماس:
    • با شماره‌گیری مستقیم داخلی یا صف مقصد از طریق یک تلفن داخلی بررسی کنید که آیا آن‌ها به درستی پاسخ می‌دهند.
    • اگر تماس به درستی انجام نشود، ممکن است مشکلی در تنظیمات SIP Trunk یا داخلی‌ها وجود داشته باشد.

2. مشکل عدم پخش پیام صوتی در IVR

در برخی موارد، کاربران گزارش می‌کنند که پیام خوش‌آمدگویی یا سایر پیام‌های ضبط‌شده پخش نمی‌شود یا به درستی اجرا نمی‌شود.

روش‌های بررسی و اصلاح:
  1. بررسی فرمت فایل صوتی:
    • Issabel فقط از فرمت‌های خاصی مانند WAV و GSM پشتیبانی می‌کند.
    • برای بررسی فایل صوتی و تبدیل آن به فرمت مناسب، از این دستور استفاده کنید:
      file /var/lib/asterisk/sounds/custom/ivr-message.wav
      
    • اگر فرمت فایل نادرست است، آن را به فرمت WAV 16-bit 8000Hz mono تبدیل کنید:
      ffmpeg -i input.mp3 -acodec pcm_s16le -ar 8000 -ac 1 output.wav
      
    • سپس فایل را در مسیر /var/lib/asterisk/sounds/custom/ قرار دهید و مالکیت را به Asterisk تغییر دهید:
      chown asterisk:asterisk /var/lib/asterisk/sounds/custom/output.wav
      
  2. بررسی تنظیمات IVR در Issabel:
    • به PBX → IVR بروید.
    • پیام صوتی انتخاب شده برای IVR را بررسی کنید.
    • گزینه Enable Announcements را فعال کنید.
  3. بررسی سطح دسترسی فایل‌های صوتی:
    ls -lh /var/lib/asterisk/sounds/custom/
    

    اگر فایل موردنظر سطح دسترسی نامناسبی دارد، آن را اصلاح کنید:

    chmod 644 /var/lib/asterisk/sounds/custom/output.wav
    

3. مشکل عدم دریافت ورودی DTMF در IVR

گاهی ممکن است سیستم IVR قادر به دریافت ورودی‌های عددی از کاربران نباشد یا مقادیر اشتباهی دریافت کند.

روش‌های بررسی و اصلاح:
  1. بررسی لاگ‌های Asterisk برای دریافت ورودی‌های عددی:
    tail -f /var/log/asterisk/full | grep "DTMF"
    
    • اگر هیچ ورودی ثبت نشد، ممکن است مشکل از تنظیمات DTMF Mode در Trunk یا داخلی‌ها باشد.
  2. تنظیم صحیح حالت DTMF در Trunk یا داخلی‌ها:
    • به PBX → Trunks بروید و تنظیمات DTMF Mode را تغییر دهید. گزینه‌های مناسب شامل RFC2833، INFO یا Auto هستند.
    • در تنظیمات Extensions، مقدار DTMF Mode را روی Auto یا RFC2833 قرار دهید.
  3. تست دریافت ورودی عددی در کنسول Asterisk:
    asterisk -rvvv
    

    سپس از طریق یک تماس تستی، ورودی‌های عددی را ارسال کنید و بررسی کنید که آیا Asterisk آن‌ها را دریافت می‌کند یا خیر.


4. مشکل تاخیر یا قطع تماس در IVR

اگر تماس‌ها به‌طور ناگهانی قطع می‌شوند یا کاربران هنگام ورود به IVR با تاخیر مواجه می‌شوند، این مشکل می‌تواند به موارد زیر مرتبط باشد:

روش‌های بررسی و اصلاح:
  1. بررسی تنظیمات Timeout در IVR:
    • به PBX → IVR بروید و مقدار Timeout را افزایش دهید.
    • مقدار پیشنهادی 5 تا 10 ثانیه است.
  2. بررسی وضعیت سرور و منابع پردازشی:
    top
    
    • اگر بار پردازشی (CPU Load) بالاست، ممکن است سیستم تحت فشار باشد و نیاز به بهینه‌سازی داشته باشد.
  3. بررسی ارتباط با Trunk:
    asterisk -rx "sip show peers"
    
    • اگر Trunk در وضعیت UNREACHABLE باشد، ممکن است مشکل از ارتباط اینترنتی یا فایروال باشد.
  4. بررسی تنظیمات NAT در شبکه:
    • اگر تماس‌های ورودی از اینترنت مشکل دارند، تنظیمات NAT را در فایل sip_general_custom.conf بررسی کنید:
      nano /etc/asterisk/sip_general_custom.conf
      
    • مقادیر زیر را اضافه کنید:
      nat=yes
      externip=YourPublicIP
      localnet=192.168.1.0/255.255.255.0
      
    • سپس Asterisk را ریستارت کنید:
      systemctl restart asterisk
      

جمع‌بندی

  • اگر تماس‌ها به مقصد صحیح هدایت نمی‌شوند، مسیر‌دهی را بررسی کرده و از دستورات لاگ‌گیری Asterisk استفاده کنید.
  • اگر پیام‌های صوتی پخش نمی‌شوند، فرمت فایل را بررسی و آن را به WAV 16-bit 8000Hz mono تبدیل کنید.
  • اگر سیستم ورودی‌های عددی (DTMF) را دریافت نمی‌کند، تنظیمات DTMF Mode را بررسی و آن را به RFC2833 یا Auto تغییر دهید.
  • اگر تماس‌ها قطع شده یا تاخیر دارند، تنظیمات Timeout و منابع پردازشی سرور را بررسی کنید.

با این روش‌ها می‌توان مشکلات رایج در IVR را شناسایی و برطرف کرد تا سیستم مسیردهی تماس‌ها به درستی عمل کند.[/cdb_course_lesson][cdb_course_lesson title=”فصل 10. بهینه‌سازی عملکرد IVR”][/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”راهکارهایی برای بهبود تجربه کاربری (UX) و تسهیل دسترسی در IVR” subtitle=”توضیحات کامل”]سیستم‌های IVR به‌عنوان یکی از مهم‌ترین نقاط تعامل کاربران با مراکز تماس باید به‌گونه‌ای طراحی شوند که تجربه‌ای ساده، سریع و کارآمد ارائه دهند. در این بخش، روش‌هایی برای بهینه‌سازی UX و افزایش دسترسی کاربران بررسی می‌شود.


1. ساده‌سازی ساختار منوی IVR

یکی از مشکلات رایج در IVR، منوهای پیچیده و چندسطحی است که کاربران را دچار سردرگمی می‌کند.

روش‌های بهبود:
  • تعداد گزینه‌های هر سطح را به حداکثر 5 مورد محدود کنید.
  • از سطوح اضافی منو اجتناب کنید و مسیرها را کوتاه و مشخص نگه دارید.
  • مسیرهای پرکاربرد را در اولین سطح IVR قرار دهید تا کاربران سریع‌تر به مقصد برسند.
  • برای گزینه‌های رایج مانند صحبت با اپراتور یا اطلاعات حساب، کلیدهای مستقیم در نظر بگیرید.
مثال مناسب:
1. استعلام وضعیت سفارش  
2. ارتباط با پشتیبانی  
3. اطلاعات پرداخت  
0. صحبت با اپراتور  

2. ارائه گزینه جست‌وجوی سریع (Direct Dialing)

در بسیاری از مواقع، کاربران از شماره داخلی یا کد موردنظر خود مطلع هستند و نمی‌خواهند مسیرهای پیچیده IVR را طی کنند.

راهکار:
  • امکان ورود مستقیم داخلی یا کد موردنظر را فعال کنید.
  • در پیام خوش‌آمدگویی اعلام کنید:

    “اگر داخلی موردنظر خود را می‌دانید، شماره آن را وارد کنید.”

پیکربندی در Issabel:
  • در تنظیمات IVR → گزینه Enable Direct Dial را فعال کنید.

3. استفاده از پیام‌های صوتی شفاف و کوتاه

یکی از مشکلات رایج در IVR، پیام‌های صوتی طولانی و گیج‌کننده است.

بهبود تجربه کاربری با:
  • استفاده از جملات کوتاه و ساده.
  • حذف توضیحات اضافی و تمرکز بر اصل پیام.
  • اعلام گزینه‌های کلیدی در ابتدای پیام (مثلاً “برای پشتیبانی، کلید 2 را فشار دهید”).
  • استفاده از لحن واضح و سرعت مناسب برای گوینده.
مثال ضعیف (پیام طولانی و پیچیده):

“به مرکز تماس شرکت خوش آمدید. لطفاً برای ارتباط با واحد پشتیبانی، ابتدا نوع درخواست خود را مشخص کنید. اگر درخواست شما مربوط به صورتحساب است، کلید 1 را فشار دهید. در غیر این صورت، برای ارتباط با تیم فنی کلید 2 را فشار دهید. همچنین می‌توانید با اپراتور صحبت کنید که برای این کار، کلید 0 را انتخاب نمایید.”

مثال بهینه (پیام کوتاه و شفاف):

“برای صورتحساب، کلید 1 – برای پشتیبانی فنی، کلید 2 – برای اپراتور، کلید 0”


4. تنظیم IVR برای تشخیص ساعات کاری و پاسخگویی هوشمند

اگر کسب‌وکار در ساعات غیراداری پاسخگو نیست، کاربران نباید در IVR بدون نتیجه بمانند.

روش‌های بهینه‌سازی:
  • تنظیم پاسخگویی خودکار بر اساس ساعات کاری.
  • ارائه گزینه‌هایی مانند گذاشتن پیام صوتی یا ارسال درخواست از طریق پیامک/ایمیل.
  • ارائه اطلاعات ساعات کاری در پیام خوش‌آمدگویی.
پیکربندی در Issabel:
  1. به PBX → Time Conditions بروید.
  2. یک قانون زمانی برای ساعات کاری و غیرکاری تنظیم کنید.
  3. در IVR مسیر تماس را بر اساس این قوانین مشخص کنید:
    • در ساعات کاری → تماس‌ها به اپراتور هدایت شوند.
    • در ساعات غیرکاری → پیام صوتی ضبط‌شده پخش شود.

5. امکان دسترسی برای افراد دارای نیازهای خاص (Accessibility)

کاربران ممکن است دارای محدودیت‌های شنوایی، بینایی یا حرکتی باشند. بهینه‌سازی IVR برای این افراد تجربه کاربری را بهبود می‌بخشد.

روش‌های پیشنهادی:
  • پخش مجدد پیام‌ها در صورت عدم دریافت ورودی.
  • افزایش وضوح و کیفیت صدای گوینده.
  • ارائه گزینه‌های کمکی مانند هدایت سریع به اپراتور.
  • ارائه راهنمایی‌های متنی در وب‌سایت برای کاربران کم‌شنوا.

6. استفاده از فناوری تشخیص گفتار (Speech Recognition)

در برخی از سیستم‌های پیشرفته، تشخیص صوتی به کاربران اجازه می‌دهد به‌جای فشار دادن دکمه‌ها، درخواست خود را بگویند.

مزایا:
  • کاهش نیاز به تایپ یا شماره‌گیری برای کاربران.
  • تسهیل استفاده برای افراد سالمند یا کم‌توان.
  • افزایش سرعت پردازش درخواست‌ها.
پیکربندی در Issabel:

Issabel به‌صورت پیش‌فرض از تشخیص گفتار پشتیبانی نمی‌کند، اما می‌توان با ادغام Google Speech API یا IBM Watson Speech-to-Text این قابلیت را اضافه کرد.


7. آنالیز داده‌های تماس و بهینه‌سازی مسیرهای IVR

بررسی گزارش‌های تماس می‌تواند مشکلات رایج در مسیردهی و تجربه کاربران را شناسایی کند.

اقدامات بهینه‌سازی:
  • بررسی گزارش‌های PBX → Call Detail Records برای مشاهده مدت انتظار کاربران.
  • شناسایی نقاطی که کاربران تماس را قطع می‌کنند و اصلاح این مسیرها.
  • بررسی تماس‌های ناموفق برای تشخیص مشکلات فنی یا طراحی.
  • بهبود منوی IVR بر اساس بازخورد کاربران و داده‌های تحلیلی.

جمع‌بندی

  • منوی IVR را ساده و قابل فهم طراحی کنید.
  • گزینه‌های پرکاربرد را در دسترس قرار دهید.
  • پیام‌های صوتی شفاف و کوتاه باشند.
  • سیستم را به ساعات کاری و نیازهای کاربران خاص تطبیق دهید.
  • از گزارش‌های تماس و آنالیز داده‌ها برای بهینه‌سازی IVR استفاده کنید.

با این راهکارها می‌توان تجربه کاربران را بهبود بخشید و دسترسی سریع‌تر و راحت‌تر به خدمات تلفنی را فراهم کرد.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”استفاده از زبان‌های مختلف برای کاربرانی با زبان‌های مختلف در IVR” subtitle=”توضیحات کامل”]در سیستم‌های IVR، پشتیبانی از زبان‌های مختلف برای کاربران از اهمیت بالایی برخوردار است. این ویژگی می‌تواند کمک کند تا تجربه کاربری بهتر و دسترسی آسان‌تر برای افراد از فرهنگ‌ها و زبان‌های مختلف فراهم شود. در این بخش، روش‌هایی برای پیکربندی زبان‌های مختلف در IVR بررسی خواهد شد.


1. پیکربندی انتخاب زبان در ابتدای منوی IVR

اولین گام در ارائه تجربه کاربری بهتر، این است که کاربر را قادر به انتخاب زبان خود در ابتدا کنیم. این امر به آن‌ها کمک می‌کند که در تمام مسیرهای بعدی با زبان موردنظر خود ارتباط برقرار کنند.

راهکار:
  • منوی IVR باید گزینه‌ای برای انتخاب زبان در ابتدای مسیر ارائه دهد.
  • زبان‌های پرکاربرد مانند فارسی، انگلیسی، عربی، اسپانیایی و غیره را در نظر بگیرید.
  • پیام خوش‌آمدگویی باید به‌صورت دو زبانه (یا چندزبانه) تنظیم شود، تا کاربر در ابتدای تماس متوجه شود که می‌تواند زبان خود را انتخاب کند.
پیکربندی در Issabel:
  1. به PBX → IVR بروید.
  2. یک منوی IVR جدید بسازید یا منوی موجود را ویرایش کنید.
  3. در قسمت “Greeting Message” پیام‌های خوش‌آمدگویی مختلف برای هر زبان را آپلود کنید.
  4. از ویژگی “Language Selection” استفاده کنید تا کاربر قادر به انتخاب زبان موردنظر خود باشد.

مثال پیام برای انتخاب زبان:

“Welcome to our service. Press 1 for English, press 2 for فارسی, press 3 for العربية”


2. استفاده از پیام‌های صوتی و متنی در زبان‌های مختلف

برای اطمینان از درک درست از سیستم، باید پیام‌های صوتی و متنی به زبان‌های مختلف در سیستم IVR قرار گیرند.

راهکار:
  • برای هر زبان، پیام‌های صوتی مختص به آن زبان را ضبط کنید.
  • می‌توانید از متن به گفتار (TTS) برای زبان‌هایی که به‌طور مداوم تغییر می‌کنند یا به تعداد زیاد نیاز دارید، استفاده کنید.
  • از ترجمه دقیق و حرفه‌ای برای تولید محتوای صوتی و متنی استفاده کنید.
پیکربندی در Issabel:
  1. به PBX → IVR بروید و Message مربوط به هر زبان را آپلود کنید.
  2. از پیکربندی زبان برای استفاده از پیام‌های صوتی یا متنی در زبان انتخابی کاربر استفاده کنید.
  3. برای اضافه کردن متن به گفتار (TTS)، از Google TTS یا Amazon Polly می‌توانید استفاده کنید.

3. تنظیم مسیرهای جداگانه برای هر زبان

پس از انتخاب زبان، مسیرهای مختلف باید به‌صورت جداگانه برای هر زبان طراحی شوند تا کاربر بتواند به‌راحتی انتخاب کند که چه خدماتی به زبان خود می‌خواهد.

راهکار:
  • مسیرهای جداگانه برای هر زبان ایجاد کنید تا کاربران به راحتی به گزینه‌های موردنظر خود دسترسی پیدا کنند.
  • برای زبان‌های مختلف، مسیرهای منو و گزینه‌ها باید با جملات مربوط به زبان انتخابی تطابق داشته باشند.
پیکربندی در Issabel:
  1. یک منوی IVR برای هر زبان ایجاد کنید.
  2. گزینه‌های هر منو را بر اساس زبان انتخابی تنظیم کنید.
  3. در مسیرهای مختلف گزینه‌های منو و اقدامات را متناسب با زبان تنظیم کنید.

4. استفاده از فناوری تشخیص گفتار (Speech Recognition) برای پشتیبانی از زبان‌های مختلف

اگر از فناوری تشخیص گفتار برای دریافت ورودی‌های کاربر استفاده می‌کنید، پشتیبانی از زبان‌های مختلف در این بخش نیز اهمیت دارد.

راهکار:
  • از پروتکل‌های تشخیص گفتار که از زبان‌های مختلف پشتیبانی می‌کنند، استفاده کنید.
  • از APIهایی مانند Google Speech-to-Text یا IBM Watson که قابلیت پشتیبانی از چند زبان دارند، استفاده کنید.
پیکربندی در Issabel:
  1. از Speech-to-Text API (مثلاً Google یا IBM Watson) برای پشتیبانی از زبان‌های مختلف استفاده کنید.
  2. در تنظیمات IVR، برای هر زبان تشخیص گفتار را پیکربندی کنید تا ورودی‌ها به‌درستی شناسایی شوند.

5. تست و بهینه‌سازی برای زبان‌های مختلف

برای اطمینان از عملکرد صحیح IVR در تمامی زبان‌ها، لازم است تست‌های متعدد انجام دهید و به بازخورد کاربران توجه کنید.

راهکار:
  • تست عملکرد منوی IVR در زبان‌های مختلف و بررسی صحت مسیردهی تماس‌ها.
  • توجه به تنظیمات تشخیص گفتار و بررسی صحت ورودی‌ها در زبان‌های مختلف.
  • بازخوردگیری از کاربران در مورد درک آسان منو و ارتباطات صوتی.
پیکربندی در Issabel:
  1. با استفاده از نرم‌افزارهای تست تماس مانند SIPp یا Asterisk CLI، عملکرد سیستم را در زبان‌های مختلف بررسی کنید.
  2. از گزارش‌های تماس برای شناسایی مشکلات احتمالی در مسیرهای IVR در زبان‌های مختلف استفاده کنید.

جمع‌بندی

  • با اضافه کردن انتخاب زبان در ابتدای IVR، کاربران می‌توانند زبان موردنظر خود را انتخاب کنند.
  • باید پیام‌های صوتی و متنی را برای هر زبان ضبط یا تنظیم کنید.
  • مسیرهای IVR باید به‌صورت جداگانه برای هر زبان طراحی و پیکربندی شوند.
  • از فناوری تشخیص گفتار برای پشتیبانی از زبان‌های مختلف استفاده کنید.
  • تست و بازخوردگیری از کاربران می‌تواند به شناسایی مشکلات و بهبود عملکرد کمک کند.

با این روش‌ها، تجربه کاربری بهتر و دسترسی آسان‌تری برای کاربران با زبان‌های مختلف فراهم می‌شود.[/cdb_course_lesson][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”lecture” private_lesson=”true” title=”کاهش زمان انتظار و اتوماسیون فرایندها برای کاهش هزینه‌ها و بهبود بهره‌وری” subtitle=”توضیحات کامل”]

در دنیای کسب‌وکار امروز، کاهش زمان انتظار و اتوماسیون فرایندها به عنوان دو استراتژی مهم در جهت بهبود بهره‌وری و کاهش هزینه‌ها شناخته می‌شوند. این استراتژی‌ها می‌توانند تأثیرات چشمگیری بر عملکرد سازمان‌ها و کسب‌وکارها داشته باشند. در ادامه به تفصیل به این دو موضوع پرداخته می‌شود.


کاهش زمان انتظار

کاهش زمان انتظار به معنای کاهش تأخیر در انجام فرایندها و کاهش مدت زمان پاسخ‌دهی به مشتریان است. این کار می‌تواند از طریق بهینه‌سازی فرایندها، افزایش سرعت پاسخگویی و مدیریت بهتر منابع انجام شود.

روش‌های کاهش زمان انتظار:

  1. بهبود فرآیندها: با تجزیه و تحلیل و شناسایی نقاط ضعف در فرایندهای موجود، می‌توان زمان‌های اضافه را کاهش داد.
  2. استفاده از فناوری‌های نوین: به کارگیری ابزارهای دیجیتال و سیستم‌های مدیریت فرایند کسب‌وکار (BPM) می‌تواند موجب تسریع فرایندها شود.
  3. آموزش کارکنان: آماده بودن کارکنان برای انجام وظایف سریع‌تر و به‌طور مؤثرتر می‌تواند به کاهش زمان انتظار کمک کند.

اتوماسیون فرایندها

اتوماسیون فرایندها به معنای استفاده از نرم‌افزارها و ابزارهای فناوری برای انجام خودکار وظایف تکراری و کاهش نیاز به دخالت دستی در برخی از فرایندها است. این استراتژی می‌تواند تأثیر زیادی بر کاهش هزینه‌ها و افزایش بهره‌وری بگذارد.

مزایای اتوماسیون فرایندها:

  1. کاهش خطای انسانی: با خودکارسازی فرایندها، خطر اشتباهات انسانی کاهش می‌یابد.
  2. صرفه‌جویی در زمان و هزینه‌ها: اتوماسیون باعث تسریع فرایندها و کاهش هزینه‌های مربوط به نیروی انسانی می‌شود.
  3. بهبود کیفیت و دقت: فرایندهای خودکار شده معمولاً با دقت بیشتری انجام می‌شوند و خطاهای کمتری دارند.
  4. ارتقای کارایی: کارکنان می‌توانند وقت خود را صرف وظایف پیچیده‌تر و خلاقانه‌تری کنند.

ترکیب کاهش زمان انتظار و اتوماسیون

ترکیب این دو استراتژی می‌تواند تأثیرات زیادی داشته باشد:

  • افزایش سرعت عملیات: با کاهش زمان انتظار و بهبود زمان پاسخ‌دهی از طریق اتوماسیون، سازمان‌ها قادر خواهند بود به سرعت به نیازهای مشتریان پاسخ دهند.
  • بهبود تجربه مشتری: کاهش زمان انتظار برای مشتریان به‌ویژه در خدمات آنلاین یا خدمات پشتیبانی مشتری می‌تواند تجربه کلی آنها را بهبود بخشد.
  • کاهش هزینه‌ها: اتوماسیون فرایندهای تکراری می‌تواند نیاز به نیروی انسانی را کاهش دهد و در نتیجه هزینه‌ها را پایین بیاورد.

جمع‌بندی

کاهش زمان انتظار و اتوماسیون فرایندها دو استراتژی حیاتی برای کاهش هزینه‌ها و بهبود بهره‌وری در سازمان‌ها هستند. با به‌کارگیری این روش‌ها، شرکت‌ها می‌توانند سرعت و دقت عملکرد خود را افزایش دهند، رضایت مشتریان را بهبود بخشند، و هزینه‌های عملیاتی را کاهش دهند.[/cdb_course_lesson][/cdb_course_lessons]

[cdb_course_lessons title=”پاسخ به سوالات فنی کاربران”][cdb_course_lesson icon=”fas fa-arrow-alt-circle-down” badge=”free” title=”پشتیبانی دائمی و در لحظه” subtitle=”توضیحات کامل”]ما در این دوره تمام تلاش خود را کرده‌ایم تا محتوایی جامع و کاربردی ارائه دهیم که شما را برای ورود به دنیای حرفه‌ای آماده کند. اما اگر در طول دوره یا پس از آن با سوالات فنی، چالش‌ها یا حتی مشکلاتی در اجرای مطالب آموزشی مواجه شدید، نگران نباشید!

 

  1. پرسش‌های شما، بخش مهمی از دوره است:
    هر سوال یا مشکلی که مطرح کنید، با دقت بررسی شده و پاسخ کامل و کاربردی برای آن ارائه می‌شود. علاوه بر این، سوالات و پاسخ‌های شما به دوره اضافه خواهند شد تا برای سایر کاربران نیز مفید باشد.
  2. پشتیبانی دائمی و در لحظه:
    تیم ما همواره آماده پاسخگویی به سوالات شماست. هدف ما این است که شما با خیالی آسوده بتوانید مهارت‌های خود را به کار بگیرید و پروژه‌های واقعی را با اعتماد به نفس کامل انجام دهید.
  3. آپدیت دائمی دوره:
    این دوره به طور مداوم به‌روزرسانی می‌شود تا همگام با نیازهای جدید و سوالات کاربران تکمیل‌تر و بهتر گردد. هر نکته جدید یا مشکل رایج، در نسخه‌های بعدی دوره قرار خواهد گرفت.

حرف آخر

با ما همراه باشید تا نه تنها به مشکلات شما پاسخ دهیم، بلکه در مسیر یادگیری و پیشرفت حرفه‌ای، شما را پشتیبانی کنیم. هدف ما این است که شما به یک متخصص حرفه‌ای و قابل‌اعتماد تبدیل شوید و بتوانید با اطمینان پروژه‌های واقعی را بپذیرید و انجام دهید.

📩 اگر سوالی دارید یا به مشکلی برخوردید، همین حالا مطرح کنید!
ما در کوتاه‌ترین زمان ممکن پاسخ شما را ارائه خواهیم داد. 🙌

[/cdb_course_lesson][/cdb_course_lessons]

نوع دوره

پک آموزشی

برند

نقد و بررسی ها

نقد و بررسی وجود ندارد.

فقط مشتریانی که وارد سیستم شده اند و این محصول را خریداری کرده اند می توانند نظر بدهند.

سبد خرید

مجموع: ۴۰۰,۰۰۰ تومان

مشاهده سبد خریدتسویه حساب

ورود به سایت