02187273

pjsip چیست؟

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

البته شروع این انقلاب دوباره به پس از انتشار asterisk 12 باز می گردد به این دلیل که به مرور زمان برای امکانات کمتر انرژی بیشتری صرف فایل chan_sip می شد که این عمل باعث توسعه کمتر سایر بخش ها می شد اما با این وجود بیشتر باگ های سیستم مربوط به فایل 35 هزار خطی chan_sip می باشد، به دلیل ساختار یکپارچه sip و توسعه سخت آن، تیم توسعه استریسک به فکر توسعه pjsip افتاد که باعث افزایش توسعه بخش های دیگر و بهره وری بالاتر در حین استفاده از pjsip میگردد.

لازم به ذکر است که فایل chan_pjsip دارای حدود 2000 خط است که نسبت به SIP، بسیار کمتر است. برای دریافت اطلاعات بیشتر درباره pjsip، با ماهان ارتباط همراه باشید.

پروتکل pjsip چیست؟

در واقع pjsip یک پروتکل مستقل نیست و ادامه دهنده راه sip است که اصلاحات ساختاری بر روی آن اعمال گردیده تا عملکرد بهتری داشته باشد. از جمله ویژگی های pjsip می توان به موارد زیر اشاره کرد:

  • پروتکل pjsip توان پردازشی بالاتری نسبت به sip دارد.
  • تعداد خطوط کانفیگ فایل chap_pjsip نسبت به chan_sip حدود 17 برابر کمتر است و ناسازگاری کمتری در آن دیده می شود .
  • امکان رجیستر کردن داخلی روی دو ip متفاوت وجود دارد.
  • برطرف شدن مشکل یک طرفه بودن صدا در ساختار NAT از قابلیت های ویژه این پروتکل است.
  • قابلیت مدیریت تعداد بیشتر فایل های باز به صورت همزمان را دارا است.

تفاوت sip با pjsip چیست؟

در ادامه مقاله طی یک آزمایش به بررسی عملکرد sip و pjsip خواهیم پرداخت.

در نظر داشته باشید که در نتیجه این آزمایش در صورتی که مصرف CPU بیش از 60 درصد باشد یا به دلیل عدم پایداری در پردازش، کیفیت صدا در حین مکالمه واضح نباشد پروژه با شکست مواجه شده است.

موارد تست شده در این مقاله:

  • تماس با echo channel بدون مدیا
  • تماس با echo channel همراه با مدیا
  • شرایط و وضعیت رجیستری

جهت افزایش کارایی دو تغییر زیرنیز در سیستم ایجاد شده است:

Maximum Files on asterisk.conf = 5000

Disable Unnecessary Channels

Example : Chan_skinny , chan_iax2 , …

 مشخصات سرور تست:

 CPU : Intel quad core Celeron 2 GHz

Memory : 4 Gig

Disk Storage : 16G SSD

 

نحوه انجام مراحل تست با استفاده از برنامه SIPP :

این آزمایش بدون Media و Authenticate  است.

Command line :

sipp -s 1000 10.8.1.46:5060 -sn uac -i 10.8.1.46 -d 1000

 

Extensions.conf File edit and add new exten :

[from-internal]

exten => 1000,1,Answer()

exten => 1000,n,Echo()

exten => 1000,n,Hangup()

 

exten => 9000,1,Answer()

exten => 9000,n,MusicOnHold()

طی انجام اولین تست echo بدون media عملکرد pjsip نسبت به sip بهتر است. این عملکرد بهتر، در مقابل استفاده کمتری از بسیاری از منابع سیستم نسبت به SIP است که در نمودار زیر مشاهده می شود .

echotest pjsip

chan pjsip

آزمایش دوم که مربوط به عملکرد echo با media است که در این حالت chan_sip در استریسک 11 عملکرد خیلی بهتری ارائه می دهد که این عملکرد بهتر در مقابل منابع سخت افزاری بیشتری از سیستم را مصرف می کند.

Sipp -s 1000 10.8.1.46:5060 -sf sipp_pcap.xml -i 10.8.1.46 –d 90000

echo test media calls

chan sip

آزمایش سوم مربوط به رجیستری است؛ اگر نتایج را مقایسه کنید در استریسک 11 امکان 850 رجیستری بر ثانیه وجود دارد که به نظر می آید عملکرد فوق العاده‌ای است و باید دید به چه علت در ورژن های جدید استریسک این مقدار به شدت کاهش یافته است در واقع این مقدار رجیستری در مقابل مصرف بیش از اندازه و غیر قابل کنترل به چه علت است

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

Command Line :

Sipp 10.8.1.46:5060 -sf register_options.xml -i 10.8.1.46 -d 1000 -inf client2.csv

-oocsf ooc.xml

Register with authentication and qualify support

4000 users registered

registration chans sip

chansip winner

پیمایش به بالا