آخرین ویرایش شهریور 10, 1405 حامد کوه فلاح
انتشار Issabel Call Center 5.1.1 RC؛ بهبود امنیت، PJSIP و مدیریت تماس
Issabel Call Center 5.1.1 RC (Release Candidate) در نسخه Community Edition منتشر شد. این نسخه با تمرکز بر افزایش امنیت ارتباطات ECCP، بهبود سازگاری با SIP/PJSIP، مدیریت تماس و انتقال تماس، پایداری ارتباطات و همچنین بهبود فرآیند نصب و مدیریت نسخه ارائه شده است.
نسخه 5.1.1 در حال حاضر یک Release Candidate است؛ بنابراین هنوز نباید آن را با یک نسخه Stable نهایی یکسان در نظر گرفت. هدف اصلی این مرحله، انجام تستها و اعتبارسنجی نهایی پیش از انتشار نسخه پایدار است.
در این مقاله مهمترین تغییرات Issabel Call Center 5.1.1 RC را بررسی میکنیم و توضیح میدهیم که این تغییرات چه تأثیری بر سرورهای مرکز تماس مبتنی بر Issabel خواهند داشت.
لینکهای مهم Issabel Call Center
اگر قصد دارید Issabel Call Center را نصب، توسعه یا بررسی کنید، بهتر است به جای استفاده از نسخهها و فایلهای ناشناس در اینترنت، از Repositoryهای Community استفاده کنید.
Repository اصلی Call Center
Repository رسمی Community در GitHub:
IssabelFoundation / Call Center
این Repository مربوط به Community Call Center Module using ECCP Protocol است و کد منبع، تاریخچه تغییرات و Issueهای پروژه در آن قرار دارد.
Repository مخصوص Issabel 5
برای نسخه Issabel 5 نیز Repository زیر در دسترس است:
ISSABELPBX / callcenter-issabel5
این Repository برای نسخههای جدیدتر Issabel و محیطهایی مانند Rocky Linux 8 و Asterisk 18 بهروزرسانی شده است.
نصب Call Center روی Issabel 5
Repository نسخه Issabel 5 اسکریپت نصب آماده نیز دارد.
برای نصب از GitHub، دستورهای ارائهشده در Repository به شکل زیر هستند:
cd /usr/src
git clone https://github.com/ISSABELPBX/callcenter-issabel5.git
cd callcenter-issabel5 bash build/5.0/install-issabel-callcenter.sh برای نصب Local نیز اسکریپت گزینه -l را در اختیار قرار میدهد. همچنین سرویس issabeldialer برای مدیریت Dialer در این نسخه استفاده میشود.
توجه: قبل از اجرای اسکریپت نصب روی یک سرور Production حتماً سازگاری نسخه Issabel، Asterisk، PHP و Rocky Linux را بررسی و از سیستم Backup تهیه کنید. Release Candidate نیز برای تست و اعتبارسنجی نهایی است و نباید بدون تست مستقیماً روی سیستم حساس Production نصب شود.
تاریخچه Issabel Call Center؛ از Elastix تا Issabel 5
اگر سالها در حوزه VoIP فعالیت کرده باشید، احتمالاً نام Elastix Call Center را به خاطر دارید.
Call Center یکی از قابلیتهای مهمی بود که در نسخههای متنباز Elastix در اختیار کاربران قرار گرفت و امکان راهاندازی یک مرکز تماس نسبتاً کامل را بدون نیاز به خرید نرمافزارهای تجاری گرانقیمت فراهم میکرد.
این Call Center از ابتدا با Asterisk کار میکرد و امکاناتی مانند مدیریت Agent، کمپینهای ورودی و خروجی، Predictive Dialer، Agent Console و گزارشگیری را در اختیار مدیران مرکز تماس قرار میداد.
حتی در مستندات قدیمی Elastix نیز Call Center بهعنوان یکی از قابلیتهای مهم این پروژه معرفی شده است. کدهای قدیمی این ماژول نیز همچنان در Repository رسمی Community موجود است و تاریخچه توسعه آن به سالهای دوران Elastix بازمیگردد.
از Elastix تا Issabel
بعد از تغییر مسیر پروژه Elastix و تجاری شدن نسخههای بعدی آن، یکی از نگرانیهای مهم جامعه کاربران، آینده ابزارهای متنبازی بود که سالها بر پایه Elastix استفاده میشدند.
Issabel بهعنوان یک پروژه Open Source که از Elastix منشعب شد، بخشی از این مسیر را ادامه داد. خود پروژه Issabel نیز در GitHub اعلام میکند که یک توزیع و رابط گرافیکی Open Source برای سیستمهای Unified Communications است که از Elastix منشعب شده و هسته آن بر پایه Asterisk قرار دارد.
یکی از بخشهایی که در این مسیر ادامه پیدا کرد، Call Center بود.
بنابراین چیزی که امروز در Issabel Call Center میبینیم، یک پروژه کاملاً جدید و بیارتباط با گذشته نیست؛ بلکه بخش مهمی از آن ادامه مسیر نرمافزاری است که سالها قبل در اکوسیستم Elastix توسعه پیدا کرده بود.
یک Call Center کاملاً رایگان و Open Source
یکی از نکات مهم درباره Issabel Call Center این است که این پروژه در مسیر Open Source باقی مانده است.
Repository مربوط به Call Center در GitHub بهصورت عمومی در دسترس است و تحت GPLv2 یا نسخههای بعدی GPL منتشر شده است. بنابراین کد نرمافزار قابل مشاهده، بررسی و توسعه توسط جامعه است.
این موضوع برای شرکتها و متخصصان VoIP اهمیت زیادی دارد.
در بسیاری از راهکارهای تجاری Call Center، امکاناتی مانند:
- Predictive Dialer
- Agent Console
- کمپینهای Outbound
- مدیریت Agent
- گزارشگیری
- Call Management
بخشی از محصولات تجاری هستند و ممکن است برای استفاده از آنها نیاز به خرید License وجود داشته باشد.
اما Issabel Call Center Community Edition مسیر متفاوتی دارد.
نرمافزار بهصورت رایگان و Open Source در اختیار Community قرار گرفته و توسعه و نگهداری آن نیز با مشارکت اعضای جامعه ادامه پیدا کرده است.
Issabel Call Center 5.1.1 چه تغییراتی دارد؟
نسخه 5.1.1 RC چند تغییر مهم در بخشهای امنیتی و فنی Call Center ایجاد کرده است. مهمترین موارد عبارتاند از:
- رمزنگاری ارتباطات ECCP با TLS
- بهبود امنیت پردازش ECCP XML
- اضافه شدن سیستم جدید مدیریت نسخه
- پشتیبانی از Trunkهای PJSIP در کمپینهای Outbound
- ایجاد Parking اختصاصی برای Call Center
- بهبود مدیریت تماس و Transfer
- بهبود پایداری ارتباطات ECCP
- بهبود فرآیند نصب و شناسایی نسخه
در ادامه هرکدام از این تغییرات را بررسی میکنیم.
1. افزایش امنیت ECCP با TLS
یکی از مهمترین تغییرات Issabel Call Center 5.1.1، اضافه شدن TLS Encryption برای پروتکل ECCP است.
ECCP یا EJabberd Call Center Protocol، در معماری Call Center ایزابل برای ارتباط میان بخشهایی مانند Agent Console و سرور Call Center استفاده میشود.
در نسخه جدید، ارتباط ECCP روی پورت 20005 به شکل TLS انجام میشود.
این تغییر از نظر امنیتی اهمیت زیادی دارد؛ زیرا اطلاعات ردوبدلشده میان Agent Console و Call Center Server دیگر به شکل ارتباط ساده و بدون رمزنگاری منتقل نمیشود.
چرا TLS برای ECCP اهمیت دارد؟
در یک مرکز تماس، ارتباطات داخلی فقط شامل اطلاعات فنی نیستند. بسته به ساختار سیستم ممکن است اطلاعاتی درباره:
- وضعیت Agentها
- تماسهای جاری
- Queueها
- اطلاعات تماس
- وضعیت کمپین
- عملیات مربوط به تماس
در این ارتباطات منتقل شود.
استفاده از TLS باعث میشود ارتباط بین اجزای Call Center در برابر شنود و دستکاری در مسیر ارتباط، محافظت بیشتری داشته باشد.
بنابراین یکی از مهمترین تغییرات این نسخه را میتوان حرکت Call Center به سمت ارتباطات امنتر دانست.
2. پورت 20005 در Issabel Call Center 5.1.1
در نسخه جدید، پورت 20005 برای ارتباط ECCP به صورت اختصاصی از TLS استفاده میکند.
این موضوع هنگام پیادهسازی یا عیبیابی نسخه جدید اهمیت دارد.
اگر در زیرساخت شبکه، Firewall یا Security Policy برای سرور Issabel تنظیماتی روی پورت 20005 وجود دارد، پس از ارتقا یا نصب نسخه جدید باید نحوه دسترسی Agent Console به این پورت بررسی شود.
بهخصوص در سناریوهایی که Agentها از شبکههای مختلف یا از طریق VPN به Call Center متصل میشوند، تنظیمات مربوط به Firewall و TLS باید بهدرستی بررسی شود.
3. بهبود امنیت ECCP XML
در کنار TLS، در نسخه 5.1.1 تغییراتی نیز در نحوه پردازش XML مربوط به ECCP ایجاد شده است.
بر اساس تغییرات اعلامشده، موارد زیر بهبود پیدا کردهاند:
- Safe Content Escaping
- جلوگیری از Serialization Error
- تعریف صریح Character Set دیتابیس
Safe Content Escaping
پردازش صحیح محتوای XML یکی از موضوعات مهم در هر سیستمی است که اطلاعات را از طریق XML منتقل میکند.
Escape کردن صحیح محتوای ورودی باعث میشود کاراکترهای خاص نتوانند ساختار XML را دچار مشکل کنند و احتمال خطا یا رفتار غیرمنتظره کاهش پیدا کند.
جلوگیری از Serialization Error
در نسخه جدید، مدیریت دادههای ECCP از نظر Serialization نیز تقویت شده است.
این موضوع میتواند به افزایش پایداری ارتباط میان اجزای Call Center کمک کند؛ خصوصاً در شرایطی که دادههای پیچیدهتر میان Agent Console و سرور منتقل میشوند.
تعریف Character Set دیتابیس
همچنین Character Set دیتابیس به صورت صریح تعریف شده است.
این تغییر از نظر سازگاری داده اهمیت دارد و میتواند احتمال بروز مشکلات مربوط به Encoding را کاهش دهد؛ بهخصوص در محیطهایی که اطلاعات فارسی یا سایر کاراکترهای Unicode در Call Center استفاده میشوند.
4. سیستم جدید مدیریت Version در Issabel Call Center
یکی دیگر از تغییرات مهم نسخه 5.1.1، اضافه شدن فایل جدیدی با نام:
VERSION
در Root Repository پروژه است.
هدف این تغییر، ایجاد یک منبع واحد برای مشخص کردن شماره نسخه نرمافزار است.
به جای اینکه شماره نسخه در قسمتهای مختلف پروژه به شکل جداگانه مدیریت شود، فایل VERSION به عنوان Single Source of Truth برای Version پروژه استفاده میشود.
Installer چگونه از VERSION استفاده میکند؟
Installer نسخه جدید میتواند:
- فایل
VERSIONرا بخواند. - شماره نسخه را هنگام نصب نمایش دهد.
- نسخه نصبشده را به شکل صحیح شناسایی کند.
- مدیریت و نگهداری نسخهها را سادهتر کند.
- فرآیند Updateهای آینده را منظمتر کند.
این تغییر شاید در نگاه اول یک قابلیت ظاهری به نظر برسد، اما برای پروژهای مانند Call Center که نیاز به نگهداری و Update مداوم دارد، مدیریت صحیح Version اهمیت زیادی دارد.
5. پشتیبانی از PJSIP Trunk در Outbound Campaign
یکی از تغییرات کاربردی برای مدیران مراکز تماس، اضافه شدن پشتیبانی از PJSIP Trunk در Outbound Campaignها است.
در زیرساختهای جدید Asterisk، استفاده از PJSIP اهمیت زیادی پیدا کرده است و بسیاری از سرویسدهندگان VoIP نیز از Trunkهای مبتنی بر PJSIP استفاده میکنند.
در نسخه 5.1.1، Outbound Campaignها میتوانند از PJSIP Trunk استفاده کنند.
این قابلیت چه اهمیتی دارد؟
فرض کنید یک مرکز تماس برای برقراری تماسهای خروجی خود از یک SIP Provider استفاده میکند.
در صورتی که Trunk مورد استفاده از PJSIP باشد، سیستم Call Center باید بتواند این Trunk را در فرآیند تماسهای Outbound مدیریت کند.
پشتیبانی از PJSIP باعث میشود معماری Call Center با زیرساختهای مدرنتر Asterisk سازگاری بیشتری داشته باشد.
به زبان ساده:
Issabel Call Center 5.1.1 محدودیت قبلی در استفاده از PJSIP Trunk برای کمپینهای Outbound را کاهش داده است.
6. Parking اختصاصی برای Call Center
در نسخه 5.1.1 یک Parking اختصاصی با نام:
callcenter_hold
نیز اضافه شده است.
Parking در سیستمهای تلفنی برای قرار دادن موقت تماس در یک محل مشخص استفاده میشود تا بتوان تماس را بعداً از یک Extension یا Agent دیگر دریافت کرد.
اختصاص یک فضای Parking مشخص برای Call Center میتواند مدیریت تماسهای Park شده را از سایر بخشهای سیستم تلفنی تفکیک کند.
این موضوع در محیطهایی که همزمان از قابلیتهای معمول Asterisk و امکانات Call Center استفاده میکنند، میتواند باعث مدیریت بهتر تماسها شود.
7. بهبود مدیریت تماس و Transfer
در نسخه جدید، علاوه بر موارد امنیتی، روی بخشهایی از Call Management و Transfer نیز کار شده است.
این موضوع برای محیطهای Call Center اهمیت زیادی دارد؛ زیرا انتقال تماس یکی از عملیاتهای پرتکرار Agentها است.
در یک مرکز تماس واقعی، تماس ممکن است از:
Customer → Queue → Agent → Agent دیگر → Supervisor
منتقل شود.
هرگونه مشکل در فرآیند Transfer میتواند مستقیماً روی تجربه مشتری و عملکرد Agent تأثیر بگذارد.
بنابراین بهبود این بخش را باید در کنار سایر تغییرات مربوط به مدیریت تماس در نسخه 5.1.1 در نظر گرفت.
8. بهبود ارتباطات ECCP و پایداری Call Center
ترکیب تغییرات انجامشده در ECCP، TLS، XML Processing و Serialization نشان میدهد یکی از تمرکزهای اصلی این Release Candidate، افزایش Reliability ارتباطات Call Center بوده است.
در سیستمهای Call Center، ارتباط بین Agent Console و سرور دائماً در حال تبادل اطلاعات است.
بنابراین حتی خطاهای کوچک در این ارتباطات میتوانند باعث مشکلاتی مانند:
- قطع ارتباط Agent
- نمایش نادرست وضعیت Agent
- مشکل در مدیریت تماس
- خطا در انتقال اطلاعات
- ناپایداری Console
شوند.
تغییرات نسخه 5.1.1 با هدف کاهش چنین مشکلاتی انجام شدهاند.
9. Issabel Call Center 5.1.1 RC؛ نسخه Stable نیست
یک نکته مهم درباره این انتشار وجود دارد.
عبارت RC یا Release Candidate به این معنی است که نسخه برای تست و اعتبارسنجی نهایی در اختیار جامعه کاربران قرار گرفته است.
بنابراین:
Issabel Call Center 5.1.1 RC را نباید بدون بررسی و تست، معادل نسخه Stable در نظر گرفت.
برای محیطهای Production حساس، بهتر است قبل از مهاجرت کامل:
- Backup تهیه شود.
- نسخه جدید در محیط آزمایشی بررسی شود.
- Agent Console تست شود.
- اتصال ECCP بررسی شود.
- وضعیت TLS بررسی شود.
- Outbound Campaign تست شود.
- PJSIP Trunk تست شود.
- Transfer و Call Parking بررسی شوند.
- گزارشهای Call Center کنترل شوند.
این موضوع خصوصاً برای مراکز تماسی که تعداد زیادی Agent یا کمپین فعال دارند اهمیت بیشتری دارد.
جمعبندی
Issabel Call Center 5.1.1 RC یکی از بهروزرسانیهای مهم Community Edition در مسیر توسعه Call Center ایزابل محسوب میشود.
مهمترین تغییر این نسخه، افزایش امنیت ارتباطات ECCP با استفاده از TLS است. علاوه بر آن، پردازش ECCP XML، مدیریت Version، سازگاری با PJSIP Trunk در Outbound Campaign و مدیریت Parking اختصاصی Call Center نیز بهبود پیدا کردهاند.
در مجموع میتوان گفت تمرکز نسخه 5.1.1 RC بیشتر روی چهار محور بوده است:
Security + Stability + Compatibility + Call Management
با توجه به اینکه این نسخه هنوز در مرحله Release Candidate قرار دارد، توصیه میشود قبل از استفاده در محیط Production، تستهای کامل انجام شود و عملکرد بخشهای اصلی Call Center با زیرساخت موجود بررسی شود.
مسیر پیشنهادی برای مدیران Issabel
اگر در حال استفاده از Issabel Call Center هستید، قبل از ارتقا به 5.1.1 RC بهتر است ابتدا مشخص کنید:
- آیا از PJSIP Trunk استفاده میکنید؟
- آیا Agent Console از شبکه خارجی متصل میشود؟
- آیا Firewall پورت 20005 را مدیریت میکند؟
- آیا Campaignهای Outbound فعال دارید؟
- آیا Transfer بخش مهمی از فرآیند کاری شماست؟
- آیا محیط Production شما امکان تست نسخه RC را دارد؟
پاسخ این موارد مشخص میکند که این نسخه تا چه اندازه برای زیرساخت فعلی شما اهمیت دارد.















