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

مطابق با سایت رسمی Teluu، پروتکل PJSIP یک کتابخانه متن‌باز است که به زبان Cنوشته شده و برای ارتباطات، بر پایه پروتکل‌های استانداردی مانند SIP، SDP، RTP، STUN، TURN و ICE می‌باشد. این پروتکل، سیگنالینگ (SIP)، قابلیت چندرسانه‌ای وعملکرد NAT traversal را با هم ترکیب کرده و یک API سطح بالا فراهم می‌کند تا این پروتکل قابل حمل و مناسب برای هر نوع سیستمی، از دسکتاپ تا موبایل، باشد.
PJSIP توسط شرکت Teluu Ltd و با کمک توسعه‌دهندگان اینترنت در سراسر جهان توسعه و نگهداری می‌شود.

چرا PJSIP را استفاده کنیم؟

PJSIP اجرای بسیار سبک‌تری نسبت به پروتکل SIP دارد که استفاده از آن مزیت مهمی برای سرورهای تلفنی می‌باشد. یکپارچگی، قابل حمل بودن، سبک، مستندات کامل و متن باز بودن از مزایای استفاده از PJSIP می‌باشد.که در ادامه به صورت مختصر شرح خواهیم داد:

یکپارچگی
PJSIP تلاش می‌کند تا هر آنچه را که برای ارتباطات چندرسانه‌ای بهنگام مورد نیاز هست در اختیار توسعه دهنده قرار دهد. تمامی سه جز اصلی ارتباطات چندرسانه‌ای یعنی سیگنالینگ، ویژگی‌های چندرسانه‌ای و NAT traversal توسط PJSIP مدیریت می‌شوند، بنابراین توسعه دهنده بدون دغدغه‌های این پروتکل‌ها، فقط بر روی برنامه خود تمرکز می‌کند. هم چنین پیاده‌سازی ماژولار این پروتکل باعث می‌شود تنها قسمت‌های مورد استفاده را برای اجرا انتخاب کنید.

قابل حمل بودن
PJSIP قابلیت پیاده‌سازی بر روی هر سیستم عاملی اعم از Windows، Linux، Mac، Android، IOS را دارد.
این پروتکل همچنین روی سیستم‌های تعبیه‌شده نیز استفاده شده است، توسعه‌دهندگان پیاده‌سازی موفقیت‌آمیز این پروتکل، بر روی OS/RTOS تعبیه شده مانند uC-Linux، QNX و RTEMS در انواع مختلف پردازنده‌ها را گزارش داده‌اند. PJSIP بر روی یک پردازنده MIPS ۲۰ مگاهرتزی اجرا می‌شود.

سبک و بهینه
یک تماس صوتی که از کتابخانه‌های سطح پایین‌تر استفاده می‌کند از ۱۵۰ کیلوبایت شروع می‌شود و چنانچه از API سطح بالاتر PJSUA-LIB استفاده کند از چند صد کیلو بایت شروع می‌شود و برای دو تماس همزمان این مقدار به چند صد کیلو بایت افزایش می‌یابد.
البته مقادیر دقیق ممکن است بسته به پیاده‌سازی و ویژگی‌های خاص برنامه متفاوت باشند.

مستندات کامل و پشتیبانی
PJSIP دارای مستندات جامع و پشتیبانی فعال برای توسعه‌دهندگان است. کلیه مستندات آنلاین PJSIP در سایت RTD (Read The Docs) موجود می‌باشد.

بهبود عملکرد
تیم Teluu مدت هاست که بر روی پروتکلPJSIP کار می‌کنند و ترفندهای زیادی برای بهینه‌سازی این پروتکل برای عملکرد بالا، اجرایی کرده است و هم چنان در تلاش، برای بهبود عملکرد و توسعه این پروتکل می‌باشد.

متن باز حرفه‌ای
آخرین مورد که یکی از مهمترین موارد می‌باشد، این هست که PJSIP یک کتابخانه منبع باز (OSS) است. و دارای مجوز دوگانه است. متن باز بودن PJSIP، این امکان را فراهم کرده تا توسط هزاران توسعه دهنده در سراسر جهان مورد استفاده قرار گیرد. توسعه‌دهندگان PJSIP روز به روز بیشتر می‌شوند و به عنوان یک کتابخانه متن‌باز، کد PJSIP هرگز ناپدید نخواهد شد.

از سوی دیگر، PJSIP مجوز مالکیتی ارائه می‌دهد که همراه با پشتیبانی، برای کسانی است که نمی‌توانند محصولات خود را متن‌باز کنند یا کسانی که می‌خواهند خدمات خود را مستقیماً از توسعه‌دهندگان PJSIP دریافت کنند.

استفاده از PJSIP در نرم‌افزار مرکز تلفن رایمند

نرم افزار مرکز تلفن رایمند محصولی از شرکت رایمند ارتباطات نقش جهان می باشد. ما این نرم افزار را با استفاده از پروتکل قدرتمند PJSIP طراحی و توسعه داده ایم تا از تمامی مزایای آن بهرمنده شویم. پروتکل PJSIP جدیدترین و بروزترین پروتکل، در فناوری VoIP می باشد.

مرکز تلفن رایمند با بهره‌گیری از PJSIP به عنوان پایه فناوری خود، توانسته است محصولی مستحکم، جدید، امن و با امکانات بالا برای کسب‌وکارهای کوچک و بزرگ و همچنین به عنوان سافت سوئیچ برای ارگان‌های دولتی و امنیتی به بازار عرضه کند.

تاریخچه PJSIP

اولین نسخه‌ها
اولین نسخه عمومی PJSIP در فوریه ۲۰۰۵ به عنوان نسخه ۰.۲ منتشر شد. فایل. tar. gz آن ۲۳۹ کیلوبایت بود که در مقایسه با ۶.۵ مگابایت نسخه ۲.۰ بسیار کوچک‌تر است، اما در همان زمان یک کتابخانه کامل SIP، SDP و رسانه‌ای برای برقراری تماس صوتی و قابل حمل بود که روی سیستم‌عامل‌های ویندوز و لینوکس اجرا می‌شد. یکپارچگی، سبک و قابل حمل بودن و همچنین مستندات کامل، اصولی هستند که همیشه درPJSIP رعایت می‌شوند.

اولین نسخه به عنوان نسخه ۰.۲ منتشر شد به این دلیل که کتابخانه، مدت‌ها قبل از آن شروع به کار کرده بود PJSIP، توسط بنی پریژونو (Benny Prijono) ایجاد شد. «PJ» از نام خانوادگی Prijono گرفته شده است.

اولین کامپوننت PJSIP یک مفسر بود که در آگوست ۲۰۰۲، برای شرکت در یک مسابقه مفسر در شرکت Switchlab (شرکتی که بنی پریژونو در آن کار می‌کرد) ایجاد شد. تا سال ۲۰۰۳، PJSIP به اندازه‌ای کامل به نظر می‌رسید که در یک تلفن IP سخت‌افزاری (Vectone Genie) که توسط شرکت بنی پریژونو تولید شده بود، استفاده شد و جایگزین پروتکل قدیمی SIP مطابق با استاندارد RFC ۲۵۴۳ شد که توسط محصول استفاده می‌شد. بنابراین نسخه ۰.۱ PJSIP، این نسخه بود.

از زمان انتشار اولین نسخه عمومی، نه نسخه در چهار ماه منتشر شد: ۰.۲. ۱.۰. ۲.۵ و به همین ترتیب تا ۰.۲. ۹.۲ در ژوئن ۲۰۰۵، که دارای ثبت‌نام، پیام‌رسانی فوری و حضور (SIP SIMPLE) بود. اما سپس به یک مشکل برخورد کرد. با مطالعه RFCهای جدید SIP، مشخص شد که طراحی PJSIP با آخرین پیشرفت‌های SIP همگام نیست (به خاطر داشته باشید که PJSIP تقریباً همزمان با انتشار RFC ۳۲۶۱ شروع شد). یکی از چیزهایی که در PJSIP به وضوح مفقود بود، مفهوم استفاده از دیالوگ بود، جایی که یک دیالوگ می‌تواند توسط بیش از یک جلسه به اشتراک گذاشته شود. بنابراین تیم توسعه دهنده تصمیم گرفتند به طراحی اولیه بازگردند.

شروع با نسخه ۰.۵
قبل از نوشتن هر کد جدیدی، مستنداتی تحت عنوان «PJSIP Design» نوشته می‌شد، و این همان مستنداتی است که سپس به کتاب «PJSIP Developer’s Guide» تبدیل شد. در فوریه ۲۰۰۶ نسخه ۰.۵. ۰ منتشر شد. از نسخه ۰.۳ و ۰.۴ به دلیل ویژگی‌های عمده در نسخه جدید صرف‌نظر شد.

پس از ۰.۵، چهارده نسخه در دوازده ماه بعدی منتشر شد. به دلیل «احتیاط در شماره‌گذاری نسخه ها»، همه آن‌ها با شماره «۰.۵» عرضه شدند، بنابراین یک سال بعد شماره نسخه فقط به ۰.۵. ۱۰ رسید.

Symbian و PJNATH
نسخه مهم بعدی، نسخه ۰.۷. ۰ بود که در ژوئن ۲۰۰۷ منتشر شد. دو ویژگی اصلی در این نسخه، پشتیبانی از Symbian و معرفی کتابخانه جدید، PJNATH (PJ NAT Helper) بود که پروتکل‌های استانداری مانند STUN، TURN و ICE را پیاده‌سازی می‌کند. این اولین کتابخانه ICE متن‌باز در جهان بود و اکنون یک بخش جدایی‌ناپذیر از مجموعه ارتباطات PJSIP است.
جامعه متن‌باز به خوبی از PJSIP استقبال کرد و بسیاری از پروژه‌های فوق العاده که از PJSIP استفاده می‌کنند، شروع به کار کردند. از جمله پیشروهای قابل توجه، ساموئل وینسون بود که در سپتامبر ۲۰۰۷، PJSIP را به پروژه SvSIP برای Nintendo DS منتقل کرد و بازتاب زیادی از رسانه‌ها به دست آورد.

او در دسامبر ۲۰۰۷، PJSIP را به دستگاه iPod Touch و در فوریه ۲۰۰۹ در پروژه Siphon به iPhone منتقل کرد. پروژه Siphon، به عنوان اولین برنامه SIP/VoIP رایگان برای iPhone و iPod Touch در جهان شناخته شد، به این معنی که کاربران این دستگاه‌ها برای اولین بار قادر به استفاده از یک برنامه VoIP رایگان برای برقراری تماس‌های صوتی از طریق اینترنت شدند.

نسخه ۱.۰
مهم‌ترین گام بعدی، نسخه ۱.۰ بود که بیش از یک سال بعد، در ماه اکتبر ۲۰۰۸ منتشر شد.

نسخه ۲.۰ و پس از آن
در می‌۲۰۱۲، نسخه ۲.۰ PJSIP شد. ویژگی اصلی این نسخه اضافه شدن تماس تصویری است. تقریبا دو سال طول کشید تا این نسخه توسعه یابد.