مجله ایرانیکاسرورآموزش سرور، هاست، وردپرس و شبکه
آموزشی

FreeSWITCH یا Asterisk؛ کدام برای تماس‌های پرترافیک و هم‌زمان بهتر است؟

اگر سؤال شما این است که «برای سامانه تماس پرترافیک FreeSWITCH بهتر است یا Asterisk؟» پاسخ کوتاه این است: بدون Benchmark روی سناریوی واقعی خودتان، انتخاب قطعی قابل‌اعتماد نیست. هر دو می‌توانند هزاران Session…

FreeSWITCH یا Asterisk؛ کدام برای تماس‌های پرترافیک و هم‌زمان بهتر است؟
خلاصه سریع این آموزش

اگر سؤال شما این است که «برای سامانه تماس پرترافیک FreeSWITCH بهتر است یا Asterisk؟» پاسخ کوتاه این است: بدون Benchmark روی سناریوی واقعی خودتان، انتخاب قطعی قابل‌اعتماد نیست. هر…

۱۶ دقیقه مطالعه ۰ دیدگاه ۲۷ مهر ۱۴۰۵ آخرین به‌روزرسانی

اگر سؤال شما این است که «برای سامانه تماس پرترافیک FreeSWITCH بهتر است یا Asterisk؟» پاسخ کوتاه این است: بدون Benchmark روی سناریوی واقعی خودتان، انتخاب قطعی قابل‌اعتماد نیست. هر دو می‌توانند هزاران Session یا Channel را در معماری درست مدیریت کنند، اما نوع بار تعیین می‌کند کدام‌یک برای شما مناسب‌تر است: تماس ساده بدون Transcoding، ضبط مکالمه، Conference، WebRTC، SRTP، AI Voice Bot، نرخ بالای ایجاد تماس یا Call Center هرکدام الگوی مصرف متفاوتی دارند.

در عمل، FreeSWITCH معمولاً برای پروژه‌هایی که Media Processing، Conference، WebRTC و کنترل دقیق مسیر RTP بخش اصلی سیستم است جذاب‌تر است؛ در مقابل Asterisk معمولاً در اکوسیستم PBX، Dialplan، PJSIP، ARI/AMI و ابزارهای مدیریتی اطرافش مزیت عملیاتی بیشتری دارد. اما این گزاره یک قانون عددی نیست. سروری که در تماس G.711 بدون Transcoding عالی عمل می‌کند ممکن است با Opus، Recording یا Video نتیجه کاملاً متفاوتی بدهد.

نتیجه این مقاله: به‌جای تکرار جمله‌هایی مثل «FreeSWITCH ده‌هزار تماس می‌گیرد» یا «Asterisk فقط برای PBX کوچک است»، معیارهای قابل‌اندازه‌گیری می‌سازیم تا روی سخت‌افزار و Call Flow یکسان، هر دو موتور را منصفانه آزمایش کنید.

فهرست مطالب

اول تفاوت Session، Channel و Call را روشن کنیم

بخش زیادی از مقایسه‌های اینترنتی از همین‌جا اشتباه می‌شوند. «۵۰۰ تماس» لزوماً به معنی «۵۰۰ Channel» یا «۵۰۰ Session» نیست.

در یک تماس Bridge شده معمولی، دو سمت تماس دارید: Leg ورودی و Leg خروجی. در FreeSWITCH هر Leg یک Session است؛ بنابراین ۵۰۰ تماس Bridge شده می‌تواند حدود ۱۰۰۰ Session ایجاد کند. در Asterisk نیز برای مقایسه ظرفیت باید تعداد Channelهای فعال را جدا از تعداد Callهای منطقی در نظر بگیرید.

پس در هر Benchmark، واحد را از ابتدا مشخص کنید:

🔹 Concurrent Calls: تعداد مکالمه‌های هم‌زمان واقعی.

🔹 Active Channels / Sessions: تعداد Legهای فعال داخل موتور.

🔹 CPS: تعداد Call Setup جدید در هر ثانیه.

🔹 RTP Streams: تعداد Streamهای صوتی یا تصویری عبوری.

وضعیت نسخه‌ها در اکتبر ۲۰۲۶

برای مقایسه عملی باید نسخه‌های واقعی و پشتیبانی‌شده را Benchmark کنید، نه Buildهای چندسال قبل.

پلتفرم نسخه مناسب مبنا وضعیت
FreeSWITCH 1.11.3 Latest Release؛ منتشرشده ۲۸ اوت ۲۰۲۶ با اصلاحات امنیتی و پایداری
Asterisk 22.11.0 شاخه LTS و Fully Supported
Asterisk 23 23.5.0 Standard Release؛ مناسب بررسی قابلیت‌های جدید ولی LTS نیست
Asterisk 24 در اکتبر ۲۰۲۶ هنوز Release Candidate برای Benchmark آزمایشی مناسب است، نه Baseline Production

Asterisk 22 تا ۱۶ اکتبر ۲۰۲۸ Full Support و تا ۱۶ اکتبر ۲۰۲۹ Security Maintenance دارد. بنابراین برای مقایسه Production، شاخه 22 LTS مبنای منطقی‌تری از نسخه آزمایشی 24 است.

FreeSWITCH در بار بالا چگونه Media را مدیریت می‌کند؟

یکی از نقاط قوت معماری FreeSWITCH، کنترل صریح روی مسیر Media است. سه حالت اصلی دارد:

🔹 Normal Media: RTP هر دو Leg داخل FreeSWITCH Terminate می‌شود؛ Recording، Transcoding، DTMF Processing و Jitter Buffer ممکن است.

🔹 Proxy Media: RTP از سرور عبور می‌کند اما Payload Decode/Encode نمی‌شود.

🔹 Bypass Media: بعد از Signaling، Endpointها RTP را مستقیم به یکدیگر می‌فرستند و FreeSWITCH فقط Signaling را نگه می‌دارد.

همین تفاوت می‌تواند نتیجه Benchmark را چند برابر تغییر دهد. اگر یک تست FreeSWITCH را در Bypass Media و Asterisk را با Media Anchored مقایسه کند، نتیجه از پایه منصفانه نیست.

FreeSWITCH علاوه بر max-sessions، نرخ Session جدید را هم با sessions-per-second کنترل می‌کند. در تنظیمات Core، Defaultهای مستند فعلی ۱۰۰۰ Session و ۳۰ Session در ثانیه هستند؛ این اعداد سقف سخت‌افزار نیستند، بلکه Limitهای Config هستند و باید برای Benchmark آگاهانه تنظیم شوند.

<param name="max-sessions" value="2000"/>
<param name="sessions-per-second" value="100"/>

این فقط نمونه است؛ عدد درست باید بعد از Load Test تعیین شود.

Asterisk در بار بالا چه چیزی را باید مراقبت کنید؟

در Asterisk نیز اگر دو سمت تماس از Codec یکسان استفاده کنند و فقط Media Forward شود، هزینه CPU نسبتاً پایین است. مستند رسمی Asterisk صراحتاً می‌گوید معمولاً بزرگ‌ترین مصرف CPU زمانی رخ می‌دهد که Media نیاز به Transcoding دارد.

این موضوع فقط تبدیل G.711 به Opus یا G.729 نیست. پخش Prompt، Music on Hold، Recording و Voicemail نیز می‌توانند باعث Translation یا Media Processing شوند.

برای دیدن هزینه Codecها روی همان CPU:

core show translation recalc 60

Asterisk همچنین direct_media دارد و می‌تواند در سناریوهای مناسب RTP را مستقیماً بین Endpointها برقرار کند. بنابراین همان قانون مقایسه FreeSWITCH اینجا هم صدق می‌کند: Media Path باید در هر دو تست یکسان باشد.

پس کدام‌یک برای Concurrency بالا بهتر است؟

Concurrency به‌تنهایی معیار انتخاب نیست. سؤال درست این است: «در چه Call Flow و با چه Media Workload؟»

سناریو FreeSWITCH Asterisk نکته تصمیم
SIP Signaling با Bypass Media بسیار مناسب بسیار مناسب CPS و Signaling Path مهم‌تر از Codec است
RTP Anchored بدون Transcoding مناسب مناسب NIC، Kernel، Packet Rate و Logging مهم‌اند
Transcoding سنگین قوی و Media-oriented قابل انجام؛ CPU را دقیق Benchmark کنید Codec Matrix تعیین‌کننده است
Conference پرتعداد معمولاً انتخاب طبیعی‌تر قابل‌پیاده‌سازی Mixing، Sample Rate و Recording را تست کنید
WebRTC Browser SIP/WSS و Verto PJSIP/WSS + WebRTC ICE، DTLS-SRTP، Opus و TURN مهم‌اند
PBX سازمانی سنتی خوب اکوسیستم بسیار گسترده GUI و Integrationهای موجود مهم‌تر از Raw Throughput است
Call Control API Event Socket ARI/AMI/AGI تجربه تیم توسعه تعیین‌کننده است
Hosted PBX / Multi-tenant اکوسیستم FusionPBX و طراحی FreeSWITCH مناسب است با پلتفرم‌های بالادستی و معماری جدا قابل انجام است Isolation و Billing را جدا Benchmark کنید

WebRTC؛ FreeSWITCH یا Asterisk؟

هر دو WebRTC را پشتیبانی می‌کنند، اما مسیرشان کمی متفاوت است.

FreeSWITCH دو مدل اصلی دارد: SIP over WSS از طریق mod_sofia و Verto از طریق mod_verto. Verto یک پروتکل JSON-RPC برای WebRTC است و Media از DTLS-SRTP و ICE استفاده می‌کند.

Asterisk نیز PJSIP over WebSocket/WSS، DTLS-SRTP، ICE و Opus را پشتیبانی می‌کند. مستند رسمی برای WebRTC استفاده از res_http_websocket، res_pjsip_transport_websocket و PJSIP Endpoint را توضیح می‌دهد.

برای Benchmark WebRTC فقط تعداد Call را اندازه نگیرید. این موارد را هم ثبت کنید:

🔹 زمان ICE Completion.

🔹 DTLS Handshake Time.

🔹 مصرف CPU با Opus.

🔹 Packet Loss و Jitter در SRTP.

🔹 درصد Callهایی که به TURN Relay می‌روند.

🔹 Memory Growth در اتصال‌های WSS طولانی.

اکوسیستم؛ جایی که Asterisk معمولاً مزیت عملیاتی دارد

Asterisk سال‌هاست پایه تعداد زیادی PBX و سیستم سازمانی است. FreePBX، VitalPBX و مجموعه بزرگی از ابزارهای Provisioning، Monitoring و Integration روی آن شکل گرفته‌اند.

در سمت توسعه هم سه رابط معروف دارید:

🔹 AMI: Event-driven برای مدیریت و مشاهده وضعیت.

🔹 AGI/FastAGI: اتصال Dialplan به برنامه خارجی.

🔹 ARI: REST + WebSocket برای ساخت Applicationهای Call Control.

در نسخه‌های جدید Asterisk، ARI حتی قابلیت Outbound WebSocket و سناریوهای ساده‌تر Load Balancing/Failure Recovery برای Application Serverها را هم توسعه داده است.

این مزیت لزوماً به معنی Throughput بالاتر نیست؛ یعنی ممکن است برای تیم شما هزینه توسعه، نگهداری و مانیتورینگ کمتر شود.

اکوسیستم FreeSWITCH؛ تمرکز بیشتر روی Media و Integration

FreeSWITCH تقریباً همه قابلیت‌ها را به‌صورت Module ارائه می‌کند. SIP با mod_sofia، WebRTC با mod_verto/mod_rtc، Conference با mod_conference و Integration خارجی با mod_event_socket انجام می‌شود.

Event Socket می‌تواند از یک Application خارجی Command و Event بگیرد و برای معماری‌هایی که Control Plane جدا از Media Server دارند مناسب است.

اگر پروژه شما Media Server، Conference، Gateway، WebRTC Edge یا Programmable Telecom است، همین ساختار ماژولار معمولاً با معماری پروژه هم‌راستاتر است.

HA؛ هیچ‌کدام را با «یک سرور خیلی قوی» High Availability نکنید

HA واقعی با یک Process یا یک VPS ساخته نمی‌شود. اگر کل تماس‌های شما روی یک Node باشند، خرابی همان Node می‌تواند همه Sessionهای Active را قطع کند؛ حتی اگر Configuration Backup داشته باشید.

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

🔹 SIP Proxy/Load Balancer در Edge؛ مثل Kamailio یا OpenSIPS.

🔹 حداقل دو Media/PBX Node.

🔹 Health Check فعال برای Nodeها.

🔹 Database/Config Replication متناسب با Application.

🔹 DNS/SRV یا Proxy Routing برای ورودی‌ها.

🔹 Storage و Recording مستقل از یک Node.

در اینجا باید دو شاخص را جدا کنید: Failover تماس جدید و Survival تماس در حال اجرا. بسیاری از معماری‌های Active/Standby فقط تماس‌های جدید را به Node سالم هدایت می‌کنند؛ تماس‌های Active روی Node خراب‌شده الزاماً زنده نمی‌مانند.

Benchmark واقعی باید چه چیزهایی را ثابت نگه دارد؟

اگر می‌خواهید نتیجه علمی باشد، این متغیرها در تست FreeSWITCH و Asterisk باید یکسان باشند:

🔹 یک CPU Model و تعداد vCPU یکسان.

🔹 یک Hypervisor و Storage Class یکسان.

🔹 یک Kernel و Network MTU یکسان.

🔹 یک Codec و Packetization Time یکسان.

🔹 Media Mode یکسان: Anchored یا Direct/Bypass.

🔹 TLS/SRTP یا Plain RTP یکسان.

🔹 Logging Level یکسان و Debug خاموش.

🔹 Recording یا Conference دقیقاً یکسان.

🔹 Generator روی سرور جدا تا خود Generator Bottleneck نشود.

معیارهای قابل‌اندازه‌گیری که باید ثبت کنید

Metric چرا مهم است؟
Maximum Sustained Concurrent Calls ظرفیت واقعی قبل از افت کیفیت
CPS پایدار توان Call Setup در Burst و کمپین
P50/P95/P99 Call Setup Time کندشدن Signaling قبل از Crash را نشان می‌دهد
Failed Call Ratio 503/408/Timeout و Failure واقعی
CPU User/System/Steal تفکیک محدودیت Application از Hypervisor
RSS Memory Memory Footprint و Leak احتمالی
Packets/sec فشار Kernel/NIC در RTP زیاد
Packet Loss/Jitter کیفیت Media زیر Load
Disk Write Latency برای Recording و CDR حیاتی است
Transcoding Cost اثر Codec Conversion روی CPU
Recovery Time رفتار HA و Failover

SIPp؛ ابزار مناسب برای Load Test قابل‌تکرار

SIPp به‌صورت مشخص برای SIP Performance Testing ساخته شده و می‌تواند نرخ Call بالا، تعداد Call هم‌زمان و Response Time را اندازه‌گیری کند. برای تست Performance، Documentation خود SIPp توصیه می‌کند Traceهای سنگین را خاموش کنید تا Generator خودش Bottleneck نشود.

نمونه تست ساده با نرخ ۲۰ Call در ثانیه و حداکثر ۵۰۰ Call هم‌زمان:

sipp 203.0.113.10:5060 \
  -sf uac.xml \
  -r 20 \
  -rp 1000 \
  -l 500 \
  -m 10000 \
  -trace_rtt

برای تست جدی، سناریو XML باید دقیقاً Call Flow واقعی شما را تقلید کند: 100 Trying، 180/183، 200 OK، ACK، Hold Time، BYE و در صورت نیاز RTP/SRTP.

اشتباه رایج: SIPp را روی همان VPS که Asterisk یا FreeSWITCH اجرا می‌شود نصب نکنید و بعد از نتیجه CPU نتیجه‌گیری نکنید. Generator باید روی Host جدا باشد، و برای Load خیلی بالا بهتر است چند Generator داشته باشید.

چهار سناریوی Benchmark که واقعاً ارزش دارند

تست ۱: Signaling Only

Media را Direct/Bypass کنید و فقط SIP Setup را فشار دهید. این تست برای سنجش CPS، Parser، Dialplan و Control Plane است.

تست ۲: RTP Anchored بدون Transcoding

G.711 ↔ G.711 با Media داخل سرور. این تست NIC، Packet Rate، RTP Stack و Kernel را نشان می‌دهد.

تست ۳: Transcoding واقعی

مثلاً Opus ↔ G.711. در این مرحله انتظار دارید CPU سریع‌تر بالا برود. نتیجه این تست را نمی‌توان از تست Signaling حدس زد.

تست ۴: Production Features

Recording، TLS، SRTP، CDR، WebRTC، Queue یا Conference را دقیقاً مثل Production فعال کنید. عددی که از این تست می‌گیرید از نظر Capacity Planning مهم‌تر از «حداکثر تماس خام» است.

هنگام Benchmark خود موتور را هم مانیتور کنید

FreeSWITCH

fs_cli -x "status"
fs_cli -x "show channels count"
fs_cli -x "show calls"

خروجی status علاوه بر Session فعلی، Peak و Sessions per Second را نشان می‌دهد.

Asterisk

asterisk -rx "core show channels count"
asterisk -rx "core show taskprocessors"
asterisk -rx "core show translation recalc 60"

Linux

pidstat -u -r -p $(pidof freeswitch) 1
sar -n DEV 1
vmstat 1

برای Asterisk فقط نام Process را عوض کنید:

pidstat -u -r -p $(pidof asterisk) 1

Logging می‌تواند نتیجه Benchmark را خراب کند

Asterisk در مستند Performance خودش هشدار می‌دهد Logging و مخصوصاً Verbose/Debug می‌تواند هزینه قابل‌توجهی ایجاد کند. حتی در نسخه‌های قدیمی‌تر، Channel Event Logging سهم بسیار بزرگی از Instructionهای CPU داشت و در نسخه‌های جدید بهینه‌سازی شده است.

در FreeSWITCH هم Debug Logging پرحجم باعث CPU و Disk I/O اضافی می‌شود.

بنابراین در تست Capacity:

🔹 Debug SIP Trace فقط برای عیب‌یابی کوتاه‌مدت روشن باشد.

🔹 Log Level در هر دو موتور مشابه باشد.

🔹 Packet Capture کامل روی سرور تحت تست اجرا نشود؛ Capture را روی Mirror/TAP یا Node جدا انجام دهید.

🔹 CDR/CEL را دقیقاً مطابق Production روشن یا خاموش کنید.

برای AI Voice Bot کدام مناسب‌تر است؟

در پروژه AI Voice Bot، فقط SIP مهم نیست. Audio باید از Media Engine به STT/LLM/TTS یا Media Service خارجی برسد.

Asterisk در نسخه‌های جدید Channel Driver مبتنی بر WebSocket برای Media دارد که انتقال Audio به Application خارجی را ساده‌تر می‌کند و با ARI ExternalMedia قابل استفاده است. این قابلیت در شاخه 22 از نسخه 22.6 در دسترس است.

FreeSWITCH نیز با Event Socket، Modules و Media Architecture منعطف، گزینه مناسبی برای Voice Applicationهای سفارشی است.

در این سناریو Benchmark مهم باید شامل این موارد باشد: Latency رفت‌وبرگشت Audio، Backpressure، تعداد Streamهای هم‌زمان، Codec Conversion و رفتار سیستم هنگام کندشدن سرویس AI.

مطلب مرتبط: اگر هدف شما اتصال تماس به مدل گفتاری و AI است، راهنمای ایجنت تلفنی هوش مصنوعی روی VPS را هم ببینید.

ساخت ایجنت تلفنی هوش مصنوعی روی VPS

روش تصمیم‌گیری پیشنهادی

اگر اولویت اصلی شماست… از این گزینه شروع کنید
Media Server، Conference، WebRTC یا RTP Processing سنگین FreeSWITCH را اول Benchmark کنید
PBX سازمانی با اکوسیستم آماده و GUIهای متعدد Asterisk را اول Benchmark کنید
Application تلفنی با ARI/AMI و Integration زیاد Asterisk جذاب‌تر است
Hosted PBX مبتنی بر FreeSWITCH FreeSWITCH/FusionPBX طبیعی‌تر است
SIP Signaling بسیار پرترافیک بدون Media هر دو را تست کنید؛ شاید Proxy/SBC اختصاصی نیز لازم باشد
ده‌ها هزار Endpoint یا Carrier-grade Edge فقط یک PBX کافی نیست؛ Proxy/SBC + چند Media Node طراحی کنید

برای سامانه واقعاً پرترافیک، انتخاب اصلی اغلب دیگر «FreeSWITCH یا Asterisk» نیست؛ انتخاب مهم‌تر معماری Cluster است. یک SIP Proxy در Edge، چند Node مستقل، Load Balancing، Health Check و Storage جدا می‌توانند بیشتر از تفاوت خام دو موتور روی Availability اثر بگذارند.

چک‌لیست قبل از انتخاب نهایی

🔹 Peak Concurrent Call واقعی را از CDR قبلی یا Forecast مشخص کنید.

🔹 CPS در Busy Hour را اندازه بگیرید.

🔹 Codec Matrix را مشخص کنید؛ مخصوصاً Opus/G.711/G.729.

🔹 Recording، Conference و WebRTC را از Benchmark حذف نکنید اگر در Production دارید.

🔹 تست را حداقل چند ده دقیقه در Steady State نگه دارید.

🔹 CPU Steal روی VPS را هم ثبت کنید.

🔹 Failure Test انجام دهید؛ فقط Capacity Test کافی نیست.

🔹 نتیجه را بر اساس Cost per Sustained Call هم مقایسه کنید.

برای VoIP پرترافیک، اول Load Test و بعد خرید نهایی

می‌خواهید FreeSWITCH و Asterisk را روی VPS واقعی مقایسه کنید؟

بهترین روش این است که دو VPS با CPU، RAM و Network یکسان بسازید، Call Flow یکسان را روی هر دو اجرا کنید و با SIPp نرخ تماس را مرحله‌به‌مرحله افزایش دهید. بعد CPU، Memory، Call Setup Time، Failure Rate و RTP Quality را مقایسه کنید.

ایرانیکاسرور می‌تواند برای آماده‌سازی VPS آزمایشی، نصب Asterisk یا FreeSWITCH و طراحی تست اولیه زیرساخت کمک کند.

تماس با پشتیبانی ایرانیکاسرور: 021-91302467

پرسش‌های رایج

FreeSWITCH از Asterisk تماس هم‌زمان بیشتری می‌گیرد؟

هیچ عدد عمومی قابل‌اعتمادی برای همه سناریوها وجود ندارد. ظرفیت به CPU، Codec، Transcoding، Media Path، Recording، TLS/SRTP، Logging و Call Flow بستگی دارد. برای تصمیم واقعی باید هر دو روی شرایط یکسان Benchmark شوند.

FreeSWITCH برای Media سنگین بهتر است؟

معماری FreeSWITCH کنترل گسترده‌ای روی Normal، Proxy و Bypass Media، Conference و WebRTC دارد و برای پروژه‌های Media-oriented نقطه شروع مناسبی است؛ اما ظرفیت واقعی همچنان باید اندازه‌گیری شود.

بزرگ‌ترین عامل مصرف CPU در Asterisk چیست؟

طبق مستند Performance Asterisk، Media Processing و به‌خصوص Transcoding معمولاً یکی از مهم‌ترین مصرف‌کننده‌های CPU است. Logging سنگین نیز می‌تواند اثر قابل‌توجهی داشته باشد.

هر دو WebRTC دارند؟

بله. FreeSWITCH هم SIP over WSS و هم Verto دارد. Asterisk نیز PJSIP over WebSocket/WSS با ICE و DTLS-SRTP را پشتیبانی می‌کند.

برای HA کدام بهتر است؟

HA را نباید فقط به موتور PBX وابسته کرد. در بار بالا بهتر است SIP Proxy/Load Balancer، چند Node و Health Check داشته باشید. Failover تماس جدید با حفظ تماس Active دو مسئله جدا هستند.

برای Benchmark از چه ابزاری استفاده کنیم؟

SIPp یکی از ابزارهای استاندارد برای تولید SIP Load و اندازه‌گیری Call Rate و Response Time است. Generator باید روی ماشین جدا اجرا شود.

CPS مهم‌تر است یا Concurrent Call؟

هر دو مهم‌اند. Concurrent Call ظرفیت Steady State را نشان می‌دهد و CPS توان سیستم هنگام Burst و ایجاد تماس جدید را. سامانه کمپین Outbound ممکن است CPS بالا ولی Duration کوتاه داشته باشد.

برای یک Call Center معمولی کدام را انتخاب کنیم؟

اگر اکوسیستم PBX، Queue و Integration آماده اولویت اصلی است، Asterisk معمولاً مسیر ساده‌تری دارد. اگر Media Server، Conference یا WebRTC بخش غالب پروژه است، FreeSWITCH را جدی‌تر Benchmark کنید.

جمع‌بندی

برای سامانه تماس پرترافیک، FreeSWITCH و Asterisk را با شعار انتخاب نکنید. FreeSWITCH در معماری Media-oriented، Conference و WebRTC ابزارهای بسیار قدرتمندی دارد و Asterisk در اکوسیستم PBX، PJSIP و Interfaceهای برنامه‌نویسی مثل ARI/AMI جایگاه بسیار قوی دارد.

تفاوت اصلی زمانی مشخص می‌شود که بار واقعی خودتان را وارد کنید. G.711 بدون Transcoding، Opus Transcoding، Recording، SRTP، Conference و WebRTC هرکدام نتیجه متفاوتی می‌سازند.

یک Benchmark معتبر باید نسخه، سخت‌افزار، Media Path، Codec، Logging و Call Flow یکسان داشته باشد و حداقل Concurrent Calls، CPS، P95/P99 Setup Time، Failure Rate، CPU، Memory، Network و Packet Loss را ثبت کند.

برای پروژه‌های بسیار بزرگ نیز به‌جای یک PBX غول‌پیکر، معماری چندلایه با SIP Proxy، چند Media Node و Failover طراحی کنید. در آن مقیاس، معماری سیستم بیشتر از نام موتور تعیین می‌کند که سرویس در Busy Hour پایدار بماند یا نه.

منابع و مستندات
نسخه‌های فعلی، Media Handling، WebRTC، Performance، ARI و روش Benchmark این مقاله با مستندات رسمی پروژه‌ها تا ۱۹ اکتبر ۲۰۲۶ بررسی شده‌اند.
Asterisk Versions
مرجع LTS بودن Asterisk 22 و چرخه Full Support و Security Maintenance.
FreeSWITCH Release
مرجع آخرین Release عمومی FreeSWITCH در ۲۸ اوت ۲۰۲۶ و اصلاحات امنیتی و پایداری.
FreeSWITCH Media
مرجع Normal Media، Proxy Media، Bypass Media، Transcoding و کنترل مسیر RTP.
FreeSWITCH Core
مرجع max-sessions، sessions-per-second، session thread pool، RTP Range و Core Capacity Controls.
FreeSWITCH WebRTC
مرجع SIP over WSS و تفاوت آن با Verto در FreeSWITCH.
Asterisk WebRTC
مرجع PJSIP WebSocket/WSS، TLS و Endpointهای WebRTC در Asterisk.
Asterisk Performance
مرجع اثر Transcoding، Recording، MOH، Logging و CEL روی CPU.
Asterisk ARI
مرجع Failure Recovery و Load Balancing برای Application Serverهای ARI.
Asterisk Media API
مرجع انتقال Media با WebSocket در Asterisk 22.6+ و استفاده با ARI ExternalMedia.
SIPp
مرجع تولید بار SIP، High Call Rate، Concurrent Calls و اندازه‌گیری Response Time.
عدد واقعی را روی Call Flow خودتان به دست آورید

برای Load Test Asterisk و FreeSWITCH کمک می‌خواهید؟

اگر تعداد تماس هم‌زمان، CPS، Codec و نیاز به Recording/WebRTC مشخص باشد، می‌توان دو VPS یکسان ساخت و یک Test Plan قابل‌تکرار برای مقایسه هر دو موتور اجرا کرد.

تماس با پشتیبانی ایرانیکاسرور: 021-91302467

اشتراک‌گذاری مقاله
گفت‌وگو درباره آموزش

دیدگاه‌ها (۰)

هنوز دیدگاهی ثبت نشده است.

دیدگاه یا سؤال خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *