Professional Documents
Culture Documents
On
P a g e 1 | 16
TABLE OF CONTENTS
Introduction...................................................................................................7
o Software specification
o Achievement
o Silent features of whatsapp for Android
o Technical specifics
o Downloading & Installing
o To verify Whatapp by interchanging the SIM cards
o Message sending Technique in Whatsapp
When both clients are in online:
When one clients is in online :
Protocol Used................................................................................................10
o Characteristics
Architecture..................................................................................................12
Conclusion.....................................................................................................15
Reference………………………………………………………………...…15
P a g e 2 | 16
Introduction
Software Specification:
• Developer(s) : WhatsApp Inc.
• Development status : Active
• O.S : Android, BlackBerry OS, iOS, Symbian, Series 40, and Windows Phone
• Type : Instant Messaging
• License: Proprietary
• Website : whatsapp.com
P a g e 3 | 16
Achievements:
• WhatsApp crossed its own milestone for the first time by sending just over 1 billion
messages in a single day.
• Just how much is 1 billion messages? That is 41,666,667 messages an hour, 694,444
messages a minute, and 11,574 messages a second.
• 1 billion messages a day is a significant milestone
• WhatsApp is editors choice in google app market.
HOW IT WORKS
P a g e 4 | 16
• WhatsApp Messenger is a cross-platform mobile messaging app which allows you to
exchange messages without having to pay for SMS.
• WhatsApp Messenger uses the same internet data plan that you use for email and web
browsing, there is no cost to message and stay in touch with your friends.
• WhatsApp users can create groups, send each other unlimited images, video and audio
messages.
Technical specifics
• WhatsApp uses a customized version of the open standard Extensible Messaging and
Presence Protocol (XMPP).
• Developed for Third Generation IC Integrated smartphones
• The Greater bandwidth networks such as 3G or Wi-Fi
• ID creation: During installation, take use rid as Eg. [Phone number]@s.whatsapp.net).
• Password Creation:
In Android: reversed-version of the phone's IMEI, MD5 hashed.
In iOS: double MAC address, MD5 hashes it.
P a g e 5 | 16
Suppose if the application was uninstalled, you can again install and register with the
previous number. The process will be same as the above.
To verify whatsapp by entering a invalid mobile number Whatsapp not only test the
mobile IMEI numbers but also test the valid or wrong numbers. Suppose if you have
entered a invalid/wrong number. For to test this, you need to have a mobile with SIM
inserted and whatsapp installed and with minimum balance.
P a g e 6 | 16
To verify Whatapp by interchanging the SIM cards
Here we are going to see how whatsapp works when two registered mobile numbers
(SIMS) are interchanged.
For this you need to have two mobiles registered with their own mobile numbers.
P a g e 7 | 16
Message sending Technique in Whatsapp
When both clients are in online:
Store and Forward Technique
P a g e 8 | 16
When one clients is in online :
All messages are in queued on the server until the client reconnects to retrieve
message.
Messages are wiped from server memory as soon as the client has accepted the
message.
P a g e 9 | 16
PROTOCOL USED
WhatsApp uses a customized version of the open standard Extensible Messaging and
Presence Protocol (XMPP) Upon installation, it creates a user account using one's
phone number as the username (Jabber ID: [phone number]@s.whatsapp.net).
WhatsApp software automatically compares all the phone numbers from the device's
address book with its central database of WhatsApp users to automatically add contacts
to the user's WhatsApp contact list. Previously the Android and S40 versions used an
MD5-hashed, reversed-version of the phone's IMEI as password,[15] while the iOS
version used the phone's Wi-Fi MAC address instead of IMEI. A 2012 update now
generates a random password on the server side.
XMPP: Extensible Messaging and Presence Protocol (XMPP) is a communications
protocol for message-oriented middleware based on XML(Extensible Markup
Language).[1] The protocol was originally named Jabber,[2] and was developed by the
Jabber open-source community in 1999 for near real-time, instant messaging (IM),
presence information, and contact list maintenance. Designed to be extensible, the
protocol has also been used for publish subscribe systems, signaling for VoIP, video,
file transfer, gaming, Internet of Things applications such as the smart grid, and social
networking services. Unlike most instant messaging protocols, XMPP is defined in an
open standard and uses an open systems approach of development and application, by
which anyone may implement an XMPP service and interoperate with other
organizations' implementations. Because XMPP is an open protocol, implementations
can be developed using any software license; although many server, client, and library
implementations are distributed as free and open-source software, numerous freeware
and commercial software implementations also exist.
P a g e 10 | 16
Characteristics:
Open: It's free. There are multiple implementations for open source XMPP servers,
as many customers and development libraries.
Free: you can see how it works, and the user has the freedom to implement himself
the freedom to suit their needs, without needing anyone's approval. WhatsApp Seminar
Report www.pediain.com
Extensible: using the potential of XML, anyone can extend the XMPP protocol for
custom functionality.
Decentralized: anyone can start their own XMPP server.
Insurance: Safety Supports the transport layer and any XMPP server can be isolated
from the public XMPP. \
P a g e 11 | 16
Architecture
Generally, XMPP is implemented and used as a client-server distributed architecture.
When we send an XMPP message to a contact, the XMPP client connects to our XMPP
server, and it connects directly to our contact XMPP server, without performing
multiple jumps.
P a g e 12 | 16
XML: XMPP is essentially a technology for transmitting XML. Once the connection
is established, we can exchange messages asynchronously with the server.
Types of XML tags to transmit different type of messages:
Stream: Container unit is a sequence of messages XMPP.
Message: Used to send messages between users.
Presence: To report the presence of the user. This includes when they connect,
disconnect, change state or name.
Qi: It is used for the transmission of internal commands. A new connection, report
bugs & things that have nothing to do with users.
XEP: are the set of applications that extends the different labels that supports the
protocol.
Secure Communication: The XMPP communications between clients and servers are
safely implemented mainly through two mechanisms: The TLS protocol applied to the
transport layer protocol and SASL layer applied to the Simple Authentication and
Security. The TLS protocol is a protocol for establishing a secure connection between
a client and a server or between two servers. TLS is able to authenticate on both sides
of the communication, and creates an encrypted connection between the two. If the
talks were not encrypted attack would be easy and could make it easily intercepted
conversations. Such attacks are very simple, with a network analysis tools & protocols
such as Wireshark & specific application called Whatsapp Xtract. XMPP SASL
provides a generalized method for authentication.
Instant Messaging: The messages are the most important part of any instant messenger
system. XMPP is a message oriented protocol, which can be of six different:
P a g e 13 | 16
MD5: The MD5 message-digest algorithm is a widely used cryptographic hash
function producing a 128-bit (16-byte) hash value, typically expressed in text format
as a 32 digit hexadecimal number. MD5 has been utilized in a wide variety of
cryptographic applications, and is also commonly used to verify data integrity. MD5
was designed by Ron Rivets in 1991 to replace an earlier hash function, MD4. The
source code in RFC 1321 contains a "by attribution" RSA license.
P a g e 14 | 16
Conclusion
• Application testing requires a detailed overview of the System requirements and
Functional requirements.
• Testing application and making it to sustain in harsh environment makes the
application more flexible and quality wise very rich.
• Based on products review up gradation is done this makes application to stay alive
and popular in market.
• Various robust testing makes the application capable to satisfy every requirements
and needs of the customer.
• WhatsApp on the other hand has been around for quite some time now and is being
used by most and offers functionality like text based messaging and files transfers. But
given enough time Line is a capable product and in the future it hold the potential to
overtake WhatsApp, unless some new innovations is adopted by the world leader in
messengers.
P a g e 15 | 16
P a g e 16 | 16