مقدمه
با ارائه ایزابل ایزو نایتلی و البته نسخه پیشرفته ایزابل۵ Issabel5، این سیستم تلفنی محبوب از درایور PJSIP در استریسک پشتیبانی می کند و امکان استفاده از آن بخصوص در ساخت داخلی Extensions و ترانک Trunk وجود دارد.
در ایزابل امکان استفاده از هر دور دروایور وحود دارد حتی به صورت همزمان. طبیعتا درایور PJSIP به دلیل به روز بودن و مزایای بسیار گزینه اول انجام پروزه خواهد بود.
کتابخانه PJSIP چیست؟
PJSIP (قبلاً با نام PJSUA شناخته میشد) یک کتابخانه ارتباطی چندرسانهای رایگان و منبع باز به زبان C است. این کتابخانه پروتکلها و کدکهایی را فراهم میکند برای ساخت برنامههای VoIP (صدا از طریق پروتکل اینترنت VOIP) مانند تلفنهای نرم، سرورهای SIP و سیستمهای IP-PBX. PJSIP از انواع کدکهای صوتی و تصویری، پروتکلهای رمزنگاری و حملونقل شبکه پشتیبانی میکند که آن را به یک ابزار چندمنظوره برای پیادهسازی راهحلهای ارتباطی به صورت زمانواقعی تبدیل میکند.
تاریخچه PJSIP در استریسک Asterisk
PJSIP در تاریخچه Asterisk
PJSIP یک پروژه متن باز است که برای پیادهسازی پروتکلهای ارتباطی مانند SIP، RTP و ICE طراحی شده است. این پروتکلها برای ارتباطات VoIP و تلفنی استفاده میشوند. PJSIP از زبان برنامهنویسی C و C++ استفاده میکند و به عنوان یک کتابخانه قدرتمند برای پیادهسازی پروتکلهای ارتباطی در برنامهها و سیستمهای VoIP شناخته میشود.
در Asterisk، PJSIP به عنوان یک ماژول برای مدیریت تماسهای VoIP و ارتباطات SIP مورد استفاده قرار میگیرد. این ماژول جدیدتر و پیشرفتهتر از ماژول chan_sip است که قبلاً در Asterisk استفاده میشد. با اضافه شدن PJSIP به Asterisk، امکانات بهبود یافتهای نظیر پشتیبانی از WebRTC، امنیت بهتر، عملکرد بهتر و انعطافپذیری بیشتر به سیستم ارتباطات VoIP اضافه شده است.
PJSIP به دلیل قابلیتهای پیشرفته، پشتیبانی از پروتکلهای مدرن و امکانات بهبود یافتهاش، به گزینهای محبوب برای برنامههای VoIP مدرن تبدیل شده است. تاریخچه PJSIP در Asterisk نشان میدهد که توسعهدهندگان Asterisk به دنبال بهبود و ارتقاء مداوم امکانات و قابلیتهای این سیستم ارتباطات هستند و از فناوریهای پیشرفتهای مانند PJSIP برای این منظور بهره میبرند.
ویژگیهای کلیدی PJSIP
- پشتیبانی از SIP (پروتکل آغاز جلسه) و سایر پروتکلهای اشارهگر VoIP
- پشتیبانی از انواع کدکهای صوتی و تصویری، از جمله G.711، G.722، Opus، VP8 و H.264
- پشتیبانی از پروتکلهای رمزنگاری مانند SRTP و TLS
- پشتیبانی از حملونقلهای شبکه مانند UDP، TCP و WebSockets
- سازگاری چندپلتفرمی، با پشتیبانی از ویندوز، لینوکس، macOS، iOS و اندروید
- API گسترده برای توسعه برنامه
PJSIP به طور گسترده در توسعه برنامههای VoIP استفاده میشود و توسط بسیاری از پروژههای تجاری و منبعباز به کار گرفته شده است. این کتابخانه به دلیل قابلیت اعتماد، عملکرد و انعطافپذیری خود، یک انتخاب محبوب برای ساخت راهحلهای ارتباطی به صورت RealTime است.
تفاوت های درایور chan_sip و chan_pjsip
در نرمافزار Asterisk، دو ماژول به نامهای “chan_sip” و “chan_pjsip” وجود دارند که برای مدیریت تماسهای VoIP استفاده میشوند. این دو ماژول دارای تفاوتهای مهمی هستند:
- پشتیبانی از پروتکل:
- “chan_sip”: از پروتکل SIP برای مدیریت تماسهای VoIP استفاده میکند.
- “chan_pjsip”: از پشته PJSIP استفاده میکند که علاوه بر SIP، پروتکلهای دیگری مانند WebRTC را نیز پشتیبانی میکند.
- ویژگیها:
- “chan_sip”: این ماژول از قدیمیترین درایور SIP در Asterisk است و برای ارتباطات بر پایه SIP به کار میرود.
- “chan_pjsip”: این ماژول جدیدتر و پیشرفتهتر در Asterisk است که امکانات بهتری برای ویژگیهای مدرن مانند WebRTC، امنیت بهتر و عملکرد بهتر ارائه میدهد.
- پیکربندی:
- “chan_sip”: پیکربندی در “chan_sip” از طریق فایل sip.conf انجام میشود.
- “chan_pjsip”: پیکربندی در “chan_pjsip” از طریق فایل pjsip.conf انجام میشود که دارای یک فرمت پیکربندی ساختارمند و انعطافپذیرتر است.
- پروتکلهای انتقال:
- “chan_sip”: از پروتکلهای UDP، TCP و TLS پشتیبانی میکند.
- “chan_pjsip”: از پروتکلهای UDP، TCP، TLS و WebSockets پشتیبانی میکند.
- پشتیبانی از کدکها:
- “chan_sip”: از تعداد زیادی از کدکهای معمول در ارتباطات SIP پشتیبانی میکند.
- “chan_pjsip”: از انواع کدکهای صوتی و تصویری پشتیبانی میکند، از جمله Opus، VP8، H.264 و غیره.
- پشتیبانی از WebRTC:
- “chan_pjsip”: برای برنامههای WebRTC بهتر مناسب است به دلیل پشتیبانی طبیعی از پروتکلهای WebRTC و امکانات بهبود یافتهاش.
به طور خلاصه، در حالی که “chan_sip” و “chan_pjsip” هر دو برای ارتباطات SIP در Asterisk استفاده میشوند، “chan_pjsip” ویژگیهای پیشرفتهتر، عملکرد بهتر و پشتیبانی از پروتکلهای پیشرفتهتر را ارائه میدهد، که آن را به گزینهای مناسب برای برنامههای VoIP مدرن، به ویژه برنامههایی که شامل WebRTC هستند، تبدیل کرده است.
مزایای درایور PJSIP از دید مهندسی ایزابل
- امکان استفاده بدون ایراد یک داخلی Extension بر روی چند دستگاه به طور همزمان
- امکان داشتن چند ترانک با Host IP یکسان
- امکان محدود کردن داخلی به تعداد رجیستر شدن های همزمان
- توان پردازشی بالاتر استریسک با درایور PJSIP
- عمر بالاتر سیستم های تلفنی با این درایور، درایور قدیمی chan_sip از استریسک ۲۱ به بعد حذف شده است.
نکات استفاده از PJSIP در ایزابل Issabel
در ایزابل نایتلی یا ایزابل ۵ هر دو درایور هممزان وجود دارند و موقف نصب از شما سوال پرسیده می شود کدام دروایور پیش فرض قرار گرفته شود.
عملا هر دو درایور را همزان دارید می توانید داخلی یا ترانک از هر دو درایور بسازید فقط نکنه اینجاست که باید روی دو پورت متفاوت کار کنند یعنی اگر PJSIP را درایور پیش فرض انتخاب کردید پورت ۵۰۶۰ برای درایور PJSIP خواهد بود و پورت ۵۰۶۶ برای درایور Chan_SIP این موضوع ممکن باعث گمراه شدن بسیار از تازه کار ها گردد.
عملا در تنظمیات می توانید پورت این دو درایور را عوض کرده و هر آنچه می خواهید انتخاب کنید.
باید بدانید، سوالات متداول
- آیا PJSIP یک پروتکل است؟
خیر PJSIP یک درایور جدید برای کار با پروتکل SIP در استریسک است. - آیا باید پرووایدر ها و یا گوشی ها هم PJSIP پشتیبانی بکنند؟
خیر، درواقع خطوط شهذی همان SIP است و گوشی ها و Endpoint های شما هم همان SIP خواهند بود فقط در ایزابل داخلی یا ترانک را با درایور PJSIP خواهسد ساخت. - آیا PJSIP باگ دارد؟
دروایور PJSIP جدیدی نیست و از استریسک ۱۳ در استریسک پیاده سازی شده و سال ها در نسخه های پایدار درحال استفاده است. درواقع ایزابل است که این دروایور را جدیدا به محیط وب خود اضافه کرده است، نه تنها باگ اساسی ندارد بکنه بسیار پایدار تر از درایور قبلی یعنی chan_sip است. - آیا برای کار با دروایور PJSIP دانش جدید نیاز است؟
طبیعتا هر مبحث جدیدی نیاز به به روز رسانی دانش دارد، در دوره مهندسی ایزابل voipiran.io این دانش را کامل کسب می کنید. اما اگر قبلا حرفه ای ایزابل کار می کردید با کمی کار می توانید به راحتی از این درایور استفاده کنید چون اصطلاحات تفاوتی ندارند.
نتیجه گیری
دانش خود را افزایش دهید و در ایزابل نایتلی یا ایزابل۵ از درایور PJSIP به عنوان درایور پیش فرض استفاده کنید، علامه بر مزایای بسیار عمر سیستم تلفنی خود را نیز بالا برده اید.
آموزش PJSIP
در صورت حضور در دوره های مهندسی ایزابل ویپ ایران voipiran.io به طور کامل کار با این درایور را آموزش خواهید دید.
حامد کوه فلاح، متخصص، برنامه نویس و مدرس VOIP