زمان لازم جهت مطالعه این مقاله: 3 دقیقه (625 words)

حرکت استریسک به سمت پیاده سازی PJSIP

teluu-log_20171202-060455_1

تغییر اساسی در هسته ی برنامه به خودی خود یک کار پیچیده ای است، اگر این برنامه نزدیک به یک و نیم میلیون خط کد و بیش از 15 سال سابقه در بازار راه هم داشته باشد امری تقریبا غیر ممکن است. اما این دقیقا کاری است که تیم برنامه نویسی استریسک پس از انتشار استریسک 12 به آن روی آورده اند. حرکت به سمت نسل جدید سیپ تحت عنوان   pjsip تصمیمی است که استریسکی ها به اندازه ی کافی دلایلش را دارند.

 

استریسک سه سال از زمان فعالیتش می گذشت که پروتکل سیپ معرفی شد و توسعه دهندگان این ابر برنامه تصمیم به استفاده از این پروتکل در برنامه ی خود کردند. اگر آنروزها به هریک از توسعه دهندگان سیپ و استریسک موفقیت چشم گیر 10 ساله شان را برایشان به تصویر می کشیدیم شاید به سختی می توانستند باور کنند اما حالا با گذشت بیش از یک دهه هر دو پروژه جزو بهترین ها به حساب می آیند.

استریسک در فایل chan_sip شروع به استفاده از پروتکل SIP کرد و در طی این سالها با توسعه ی این فایل امکانات محدود تری از سیپ را برای استفاده در نظر گرفت. استریسک کلیه امورات سیپ اعم از پیغام های سیپ. ثبت نام و ارتباط با هسته را در همین فایل گنجاند و همین کار به خودی خود تغییرات ساختاری را بسیار سخت تر می کرد، چرا که با هر تغییری ایرادات ناخواسته زیادی متحمل سیستم می شد.

هرچند از زبان خود برنامه نویسان استریسک شنیده ایم که فایل chan_sip  انرژِی خیلی زیادی را از توسعه دهندگان استریسک می گیرد و اگر این انرژی ذخیره شود می توانند برروی توسعه ی سایر بخش ها تلاش کنند.

 

در دنیای ویپ کسانی که ایراد‌های استریسک را تحت نظر دارند آماری را ارایه کرده اند که در نوع خود بسیار جالب است . این آمار نشان می‌دهد که حدود ۳۰درصد از کل‌ ایراد‌های سیستم به همین فایل بر‌می‌گردد.

 

B2ap3 Large Pjsip1

 

با تکیه بر واقعیت‌ها تیم استریسک دو راه در مقابل خود برای حل این مشکل داشت. اولی تغییرات ساختاری در فایل chan_sip بود که از مزایای این روش آشنایی سایر کدنویسان با نحوه‌ی کدهای این فایل و در نتیجه استفاده از امکانات این سیستم بود و دومی ایجاد یک فایل جدید که شانس تجدید بنا با معماری همگون و مناسب عصر امروز را می داد. استریسکی ها گزینه دوم را انتخاب کردند و در استریسک ۱۲ نشان دادند که به همین سمت حرکت کرده اند.

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

در ورژن ۱۲ با بهره گیری از pjsip استریسکی ها توانستند درایوری را راه اندازی کنند که در آن کلیه ی امورات سیپ به صورت جداگانه در فایل‌های جداگانه نگه داری می شود. به عنوان مثال ایجاد داخلی سیپ و رجیستری سیپ هریک در فایلی جداگانه کد نویسی شده اند و بنابراین برای هرگونه تغییری دست کد نویس کاملا باز است و تغییرات برروی فرایند هریک از این مراحل به فرایند دیگری تاثیر گذار نخواهد بود.

در این ورژن هر یک از درایور ها با کمترین تاثیر بررروی یکدیگر در نظر گرفته شده اند و از بابت نگهداری نیز همین بس که فایل chan_sip دارای ۳۵ هزار خط کد و فایل chan_pjsip تنها حاوی ۲۰۰۰ خط کد است.

 

اگر تا کنون از این پروتکل استفاده کرده اید نظرات خود را با دیگران به اشتراک بگذارید.

ایزابل نسخه 4 RC به همراه استریسک 13 ارائه شد.
ایزابل محبوب ترین سیستم تلفنی ویپ در ایران

مطالب مرتبط

آرشیو مقالات

2023
دی
اسفند
ارديبهشت
خرداد
مرداد
شهریور
مهر
آبان
آذر
2014
دی
بهمن
اسفند
فروردين
ارديبهشت
خرداد
تیر
مرداد
شهریور
مهر
آبان
آذر
2013
اسفند
فروردين
ارديبهشت
خرداد
تیر
شهریور
مهر
آبان
آذر
2012
دی
بهمن
فروردين
ارديبهشت
خرداد
تیر
مرداد
مهر
آبان
آذر
2011
دی
بهمن
اسفند
فروردين
ارديبهشت
آبان
آذر
2010
بهمن
فروردين
ارديبهشت
خرداد
تیر
مرداد
مهر
آبان
آذر
2009
دی
اسفند
فروردين
ارديبهشت
خرداد
تیر
مرداد
شهریور
مهر
آبان
آذر

محبوب ترین مقالات

تنظیمات سیپ ترانک مخابراتاگر بخواهیم ساده ترین تعریف را داشته باشیم باید بگوییم SIP Trunk ، یک لینک ...
SIP TRUNK چیست؟سیپ ترانک در واقع یک روشی است که سیستم تلفنی های تجاری میتوانند از خطوط اینترنتی بجای...
چرا NATNAT  یا Network Address Translation راهکاری برای تبدیل آدرس های شبکه Local یا  Private به آدر...
کاربرد جهت مدل های  4104/4108 در این آموزش شما با نحوه تنظیم گیت وی های شهری برند گرنداستریم (Grands...
شرکت شاتل یکی از شرکت های دارنده مجوز FCP است که اقدام به ارائه خطوط ویپ با نام ShatelTalk کرده است،...
پورت های FXO و FXS به چه معناست؟ و کاربرد آنها چیست؟اگر شما در حال تحقیق جهت آشنایی بیشتر و ارتقای س...
راهنمای اتصال Gateway NewRock به سرور ایزابلدر گیتوی های برند Newrock برای اتصال به دستگاه و انجام م...