SIP (Session Initiation Protocol) and XMPP (Extensible Messaging and Presence Protocol) are two popular online communications acronyms. The major difference between them is the original reason for which they are created; SIP was developed to bring the normal signaling of ordinary phones into packet-based networks. It is used to start and end VoIP calls and maximizing every possible usage of VoIP, while XMPP designed for instant messaging, it's also important to know that SIP is text-based while XMPP is XML. SIP does not require access to a server once the IP address of the other party is known; a VoIP call can be made via SIP. But for XMPP, a server is needed to go in between the communication of the two parties. An additional benefit of XMPP is its open nature, allowing anyone to create their own XMPP server.
XMPP is used for transferring messages and actual data, and since its ability to connect to other messaging protocols, while SIP is only used in call transactions, and another protocol is used to transfer the actual content. Since XMPP users are connected to the server, the firewall will not block the connection. At the same time, an incoming SIP call may be blocked by the firewall if it has not been set up to appropriately forward the transaction, so firewalls are less of a problem for XMPP than SIP.