Mobile Chatting Application

Need:

Now a days most of the social networking app or website provide a chat feature to communicate with different communities or different peoples. And not in social networking only but most of the organizations uses their own tools for internal chat in the organizations. XMPP is used to implement this type of instant message chat feature to full fill the organization's internal communication requirement and social communication requirement. XMPP is also used to implement few other services like Group Chat, Gaming, System Controls, etc.

How It Works:

To understand how XMPP works you need to understand XMPP Server and XMPP client. XMPP server is used to transport the message from one client to another client. It is basically a intermediate between the two or more clients. It can be installed on any existing server or you can build your own XMPP server. There are number of open source servers are available like OpenFire, Tegas, ejabberd, etc.

XMPP client can be any software or application or tool which can be used to connect to the XMPP server over Internet and do instant messaging. There are lots of free tools are available in market like Spark, xmppchat, Swift, Mozilla ThunderBird and many more.

Below are the steps which will show you how its actually works:

XMPP Server:
XMPP server is used to transport the message from one client to another client. It is basically a intermediate between the two or more clients. It can be installed on any existing server or you can build your own XMPP server. There are number of open source servers are available like OpenFire, Tegas, ejabberd, etc.

XMPP Client:
XMPP server is used to transport the message from one client to another client. It is basically a intermediate between the two or more clients. It can be installed on any existing server or you can build your own XMPP server. There are number of open source servers are available like OpenFire, Tegas, ejabberd, etc.

Below are the steps which will show you how its actually works:
  • Client send an login request which send in the packets by using the 5222 port to the server to request for start a new session.
  • Server send the response in XML and which include what type of encryption required either TLS or SASL.
  • If server required TLS encryption then client send STARTTLS to server and server send the response that TLS is allowed if encryption is correct else it will fail.
  •  If server required SASL encryption then client need to choose an authentication method which will be available on server. Available methods mostly like DIGEST-MD5, PLAIN, EXTERNAL, etc.
  • After selecting the authorization method, client will send stream to server including the username and password in base 64 encoded version.
  • If the authorization is accept by the server then it will send the success message otherwise if the password does not match or username invalid message in response.
  • After successful creation of user session, he/she can start instant messaging.
  •  Client send a message request session with server and server send the response in “iq stanza” which shows the session created successfully or not.
  • If above all steps works fine then user can start the XMPP message or stanza to any other user and start communicating with each other.
  • Client can send the message using the presence status of the user in the XMPP server.
  • At last if client is done with the message exchanging then he/she can terminate or close the active session.

Podcast

Michael Patterson sat down with the CEO of Boston Byte, Mustapha Shaikh to discuss the significance and rapid digitization of the healthcar...