افزایش ظرفیت سرویس های Voice Over IP – بهره گیری از Kamailio و RTPproxy

تنظیم و راه اندازی یک یا چندین Media Server  مانند Asterisk  ، FreeSwitch یا SEMS کار پیچیده ای نیست . ولی وقتی تماس های ما بیشتر و بیشتر می شود یک سرور کافی نیست . بخصوص در پیاده سازی های ظرفیت بالای سیستم تلفنی از جمله کریر ها استفاده از یک سرور اگرچه چندین نمونه از Asterisk یا .. بر روی ان باشد کارساز و عملی نیست .

 مشکل :

یکی از مشکلاتی که بهره گیری از چندین Media Server را بیشتر می کند نیاز به داشتن تعداد بیشتری ادرس ای پی Public و مدیریت امنیت و معرفی انها به دیگر کریر ها است . وقتی چندین نمونه Media Server را با ادرس های ای پی مجزا در شبکه تعریف و پیاده سازی می کنید نیاز به معرفی تمامی این ای پی ها به دیگر کریر ها و همچنین مدیریت امنیت انها به صورت مجزا هستید .

راه حل :

راه حل بهره گیری از یک سرور SIP Proxy  است که به عنوان دروازه تمامی تماس های ورودی خروجی عمل می کند .  سرور SIP Proxy تمامی Media Server ها را در ابری در پشت خود قرار میدهد و دیگر کریر ها و شبکه های SIP فقط نیاز به دانستن یک ادرس Public از شبکه SIP شما برای مسیردهی می باشند و تمامی Media Server ها در شبکه خصوصی شما از دید بیرون مخفی هستند .  

استفاده از SIP Proxy با قابلیت توزیع بار به ما اجازه می دهد تا Media Server ها را با توجه به انواع منابع ان در دسته های گوناگون تقسیم کنیم . به عنوان مثال ۱۰ سرور فقط برای IVR ها , ۱۳ سرور برای صندوق های صوتی ، ۶ سرور برای کنفرانس تلفنی و ۹ سرور فقط برای دروازه های ارتباطی با شبکه PSTN

SIP Proxy با قابلیت Load Balancing این تضمین را میدهد که هر کدام از Media Server ها درخواست متناسب با خود را دریافت کرده و بار ورودی بین انها توزیع میشود .

سرور SIP Proxy بسته های Keep-Alive را به تمامی سرورهای Media  ارسال می کند و اگر هر یک از سرور ها به علت مشکلی خدمات دهی را متوقف کند سرور پراکسی تماس ها را به سمت ان مسیر دهی نمی کند . ( اگرچه ارسال پکت های Keep-Alive را ادامه میدهد تا از سرویس دهی مجدد ان Media Server اطلاع یابد . )

به این سرور Proxy در شبکه SIP به اصطلاح Session Border Controller  که انرا با اختصار SBC می خوانند نیز گفته میشود. البته وظایف یک SBC مجموعه ای از وظایف بالا، Codec Translation  و … است .  

روش نصب Kamailio به عنوان یکی از پرقدرت ترین SIP Proxy ها در دینای کد باز را در این پست یاد گرفتیم . در سری پست های اتی با نحوه تنظیم ان اشنا خواهیم شد .

 

pixelstats trackingpixel

۶ نظر

  1. پویا گفت:

    سلام
    مقاله بسیار مفیدی بود. سئوالی که برای من پیش اومد این هست که اگر خود سرور SIP Proxy ما دچار مشکل بشه چه اتفاقی خواهد افتاد؟

    • High Availability در سطح SIP Server ها هم قابل تنظیم است . اگر در تصویر مشاهده کنید دو سرور SIP که صورت failOver پیاده سازی شده اند وجود دارد . البته در پروژهای بسیار بزرگ و حساس تا این سطح از HA را خواهند دید .

  2. پویا گفت:

    شما فرمودید که SIP Proxy یکی از وظایفش Load Balancing هست. فرض کنید که ما ۵ سرور برای IVR داریم و ۳ سرور برای ارتباط با PSTN. حالا بعد از پخش IVR نیاز هست تا با خط شهری ارتباط برقرار کنیم. آیا نیاز به ایجاد ترانک بین Media Serverهامون هستیم؟ و یا اینکه تمام این موارد توسط SIP Proxy مدیریت میشه؟

  3. hos7ein گفت:

    با درود

    مطلب بسیار خوبی بود.منتظر مطالب بیشتر شما در این زمینه هستیم.
    سپاس

  4. کوروش گفت:

    با سلام
    ممنونم از زحمات شما و همینطورمطالب مفید و پرکاربرد شما.

  5. علیرضا محمدی گفت:

    با سلام
    من می خواهم یک سرور کاملیو بر روی nat قرار دهم و در پشت آن ۴ سرور استریسک قرار گیرد
    نمی خواهم رجیستر شدن داخلی ها بر روی کاملیو باشد و هر داخلی بر روی استریسک خود رجیستر شود
    در تلفن آی پی پراکسی سرور را آدرس کاملیو دهم و دامین سرور را آدرس استریسک و رجیستر شدن داخلی روی استریسک انجام شود
    هر استریسک هم اطلاعات جداگانه و تنظیمات خود را دارد و کار مرکز تلفن بودن خود را انجام می دهد
    برای این منظور می شود از کاملیو استفاده کرد؟
    از چه ماژول هایی باید استفاده کنیم؟
    در مورد کانفیگ مقدازی توضیح میدهید
    ممنون

نوشتن دیدگاه