SIP در مقابل XMPP (Jabber)
SIP و XMPP پروتکل های لایه برنامه هستند که بیشتر برای ارسال صدا یا پیام فوری از طریق اینترنت استفاده می شوند. SIP توسط RFC 3621 و XMPP در RFC 3920 تعریف شده است. اساسا XMPP از IM و Presence تکامل یافته است، در حالی که SIP از Voice و Video روی IP تکامل یافته است. XMPP افزونهای به نام Jingle را برای مذاکره در جلسه و SIP افزونهای به نام SIMPLE را برای پشتیبانی از IM و Presence اضافه کرد.
SIP (پروتکل شروع جلسه)
پروتکل شروع جلسه (SIP) یک پروتکل لایه کاربردی است که برای ایجاد، تغییر و پایان جلسات چند رسانه ای مانند تماس های VoIP استفاده می شود. SIP همچنین می تواند جلسات جدیدی را به جلسات موجود مانند کنفرانس های چندپخشی دعوت کند. اساساً به عنوان پروتکل سیگنال دهی در محیط VoIP شناخته می شود که می تواند برقراری تماس، کنترل تماس و خاتمه تماس را مدیریت کند و برای اهداف صورتحساب CDR (Call Detail Record) ایجاد کند.
XMPP (پروتکل حضور پیامرسانی توسعهیافته)
XMPP یک پروتکل باز توسعهپذیر زبان نشانهگذاری (XML) برای سرویسهای پیامرسانی بلادرنگ، حضور و پاسخ درخواست است. در ابتدا توسط جامعه منبع باز Jabber در سال 1999 توسعه داده شد. در سال 2002، گروه کاری XMPP اقتباسی از پروتکل Jabber را توسعه داد که برای IM (پیامرسانی فوری) مناسب است.
تفاوت بین SIP و XMPP
ما نمی توانیم SIP و XMPP را با هم مقایسه کنیم زیرا هر دو به ترتیب اهداف مختلفی مانند ایجاد جلسه و تبادل داده های ساخت یافته را دنبال می کنند. اما مقدمه SIMPLE و Jingle برخی از عملکردهای مشابه را معرفی می کند.
(1) SIP ایجاد، اصلاح و خاتمه جلسه را فراهم می کند، اما XMPP لوله جریانی را برای تبادل ساختار یافته داده بین گروهی از مشتریان ارائه می دهد.
(2) SIP پروتکل پاسخ درخواست مبتنی بر متن است و XMPP معماری سرور مشتری مبتنی بر XML است.
(3) پیام های سیگنالینگ SIP از طریق سرصفحه ها و بدنه SIP می روند در حالی که در پیام های XMPP از طریق لوله جریان عبور می کنند. XMPP درخواست، پاسخ، نشانه یا خطا را با استفاده از XML از طریق لوله جریان ارسال می کند.
(4) SIP روی UDP، TCP و TLS اجرا می شود در حالی که XMPP فقط از TCP و TLS استفاده می کند.
(5) در SIP، عامل کاربر می تواند سرور یا کلاینت باشد، بنابراین عامل کاربر می تواند پیام ارسال یا دریافت کند، در حالی که در XMPP مشتری فقط درخواست ها را به سرور آغاز می کند، بنابراین با NAT و فایروال کار می کند.
(6) هر دو SIP و XMPP به راحتی اجرا می شوند.
مقایسه فنی SIP و XMPP مانند مقایسه سیب و پرتقال است، زیرا پروتکل های اصلی اهداف مختلفی را دنبال می کنند: قرار ملاقات/تاسیس جلسه در مقابل تبادل داده های ساختاریافته