Voice Over IP Mobile Telephony Using WIFI P2P

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

2010 Sixth International Conference on Wireless and Mobile Communications

Voice over IP Mobile Telephony Using WIFI P2P

Ghassan Kbar Wathiq Mansoor


Riyadh Techno Valley Research Centre American University in Dubai
Riyadh, KSA Dubai, UAE
gahkbar@yahoo.com wmansoor@aud.edu

Aryan Naim
Blue House IT Solutions Provider
Dubai, UAE

Abstract — Voice telephony over mobile is currently supported at mobile phones. These are the use of WIFI technology [14]
a cost using service provider such as GSM, or using IP service over AP, and WIFI over p2p (Peer-to-Peer). In addition, a
provider at cheaper cost. The purpose of this research is to design novel algorithm has been invented to tackle the first
and implement a telephony program that uses WIFI in p2p (Peer- fundamental problem of designing Ad hoc and p2p
to-Peer) or WLAN (Wireless Local Area Network) as a means of
communication between mobile phones at no cost. The system will
telephony using WIFI, which will not rely on any central
allow users to search for other individuals within WIFI range and database, and will not require users to register to any
to establish free p2p voice connections, or to establish virtual service. This can be achieved through executing an
connection through Access Points (AP), as well as giving the algorithm to map a mobile number to a unique IP address
option to user to use GSM in the case of no WIFI connectivity is that can be used to establish p2p connection to any other
available. The system will use a novel algorithm to convert mobile mobile phone running the same algorithm. Ad hoc network
number into IP address and use it as a mean for contacting other is an IEEE 802.11 communication network that establishes
mobile over p2p or AP using WIFI technology. The software will contact with multiple stations in a given area network
use a correlation between current address books available in without the use of access points or server [1]. p2p networks
mobile phones to convert phone numbers into IP addresses. The
system will allow user to make voice conversation, sending SMS
help extending the range of fixed wireless networks and
(Short Message Service) as well as MMS. Inbox and outbox give rise to flexible architectures to adapt to geography of
services, message delivery reports, and message drafts will be used users, information, and signal transmission in a locally
for SMS and MMS management. The current system will only optimal manner [2]. This mobile telephony software lends
allow for one call per connection, and no call waiting, or itself to be a completely distributed system in terms of
conference calls. The first step of this research and development is architecture. Distributed computing architecture is described
to resolve the technical issue regarding mapping of the mobile as a number of autonomous processing systems that are
user’s phone number to a unique IP address in order to avoid IP interconnected by a computer network and that cooperate in
collision, centralized control, and user configuration. In addition, accomplishing the assigned tasks [3].
voice call will be supported using WIFI to allow mobile phones to
communicate free of cost to each other through p2p or through AP.
Currently, servicing IP addressing in traditional
networks are managed by two technologies, the DNS
Keywords-VoIP; WIFI P2P; WLAN; Mobile Telephony (Domain Name System), and DHCP (Domain Host
Configuration Protocol) [4]. DNS Servers resolve human-
I. INTRODUCTION friendly domain names to IP addresses for computers and
The support of telephony services over mobile phone has resources on the Internet globally. DNS keeps website
been used everywhere using technology such as GSM addresses consistent regardless of the physical location or
(Global System for Mobile) and 3rd Generation mobile routing protocol [4]. DHCP helps to make automatic
telecommunication 3G [13], but at high cost. On the other network configuration, IP address allocation, for network
hand, IP telephony try to reduce the cost for supporting this devices. Whenever a new device is connected to the
service over mobile phone, but it is facing difficulties since network the device will request for an IP address from the
the same feature is supported on desktop and laptop at lower server, which will allocate the address to the networked
complexity. The challenge is to provide the same service device for a specific time period , where dynamic network
over mobile phone at no cost, as it has been described in addressing is used [5][6]. The DNS mechanism cannot be
this paper. Two approaches are suggested in this paper to applied to p2p Ad hoc network, and therefore a better
meet the objective of having free telephony services over

978-0-7695-4182-2/10 $26.00 © 2010 IEEE 268


DOI 10.1109/ICWMC.2010.97
solution should be used such as the one ssuggested in this number. An algorithm was devised to map telephone
paper, which is based on WIFI technology. numbers to IP addresses, consequen ntly creating a unique IP
The first stage of developing the voice over WIFI IEEE addresses for p2p devices that wish
hes to communicate. IPv6
802.11 (Wireless Fidelity) application dealt with the was chosen because of its vast ad ddress space availability
problem of developing a method that could assign unique IP which is 2138 IP addresses. IPv6 utilizes
u 128-bit addresses
addresses to mobile devices on the flly without user versus IPv4 which uses 32-bit addreesses [9].
interaction and central management [7]. Hoowever, this was The telephone number & area code
c are in the format of
a major challenge since devices in Ad hoc mode do not 0-9 digits for the area code and 0-9
0 digits, except for the
register with any central service such as D DHCP and DNS. first number that cannot be given the
t value 0 comprise off
Since the mobile software IP addressinng facility lacks 9,000,000,000 numbers unique num mbers. IPv6 which has
coordination with central database, thhen IP address accommodates for more spaces waas a better candidate than
allocation and IP conflicts present a major isssue. IPv4 which has fewer space and is already being exhausted
The solution to the IP problem was taackled in a very and already in use by many traditional
t and wireless
innovative way that did not compromise thhe software’s p2p networks[10].
and Ad hoc values. GSM mobile phones come with SIM
(Subscriber Identification Modules) cards tthat help identify II. MOBILE CALL USING WIFI
W TELEPHONY
users uniquely in GSM networks, by mappiing SIM numbers First, as described in the previious section, using WIFI
to subscribers and unique telephone addresss of the subscribe technology will allow mobile phonees to communicate to each
[8]. There is no two phones can have the same number in other at no cost compare to GSM M technology where high
the same network. However the GSM appproach relies on charge is applied. In order to suppo
ort voice call over mobile
centralized system of communicationn routing and phones using WIFI seamlessly wiithout affecting the user
management. However, the solution proposed in this paper normal behavior in making a call to any mobile phone, a new
will only rely on the fact that each user hass a unique phone novel technique has been invented ini this paper as described
in Figure 1.

Figure 1. Using WIFI pp2p and AP to establish call between mobile phones in addition to GSM

269
In this figure, if mobile user (M1) is willing to make a call to
other mobile user (M2), the invented algorithm will convert both
mobile numbers to 2 unique IP numbers using IP6. Then M1 will
try to establish a p2p call to M2 using the mapped IP to Mobile
(IPM1, IPM2). If M2 is within the range of WIFI of M1, then a
virtual connection will be established between M1 and M2, and
then M2 will convert IPM1 to M1and make the ring by showing
the calling number coming from M1. If user of M2 accepts the
call, M1 and M2 will be able to communicate to each other using
voice over IP. However, if M2 is far from M1, then M1 will try
to see if M2 is connected to close AP within the same range of
M1. If both M1 and M2 are connected through AP, then M1 and
M2 will establish a virtual connection using (IPM1, IPAP,
IPM2). Then if user of M2 accepts the call, M1 and M2 will be
able to communicate to each other using voice over IP. However,
if M1 and M2 are not covered by any WIFI network, a message
will be popped up to user of M1 asking if he/she is willing to
continue the call through GSM or other wireless network. Then
the user would have the choice to carry on or cancel the call. As
it was described in the previous section, WIFI would require the
mapping of mobile number to a unique IP address, and vice
versa. The algorithm described in this paper would allow the
mapping without the need for storing this mapping since it will
convert mobile number to unique IP and unique IP to mobile
number. This algorithm needs to be applied to all mobiles
wishing to use this technique. It is very clear that the new
technique using WIFI would allow users to make a voice call
through mobile phone at no cost.
Figure 2 shows the use of WIFI over p2p connection
between 2 mobile phones as well as 2 wireless laptops to making Figure 2, p2p Ad hoc technique using WIFI between mobile phones and wireless
laptops
voice call. This p2p connection is based on unique IP address
linked to the mobile number, where user would be able to call
other mobile phone using its mobile number or through III. MOBILE IP CONVERSION ALGORITHM
browsing the phone list. In order for this p2p to work using a
unique IP address, the invented algorithm described in this paper A software solution was developed in order to convert mobile
has to be executed at both mobiles to convert mobile number numbers to IP addresses and vice versa. In this program
into unique IP address and to do the other conversion from IP to development, it is possible to map the mobile numbers to a valid
mobile number needed for displaying the calling number on the IPv6 address, and therefore there is no need for DNS lookup. In
mobile phone. addition, there is no need for complicated hashing and
addressing protocols because the IP-to-Mobile algorithm would
produce a unique number used as input, leading to a unique
output hexadecimal IPv6 address. The outputted address is then
allocated to private IP within a specified range in order not to
conflict with other devices in the same wireless range.
A. Traditional Hashing Algorithm for IP

, , , ∑

N is the size of IP range, which should be a prime number larger


than our range in order to assure good performance for the
algorithm. Consider every IP address as a quadruple of integers
modulo N which in IP addresses are 32-bit which quadruple 8-
bit. We can define function H for hashing of number mod N, and

270
fix any four coefficients such that Ha (x1,x2,x33,x4) = (a1 × x1, D. IP- to-Mobile Algorithm and Pseudo code
a2 × x2, a3 × x3, a4× x4) mod N[11].
This algorithm would do the reverse of Mobile-to-IP algorithm
B. Mobile to IP Algorithm and Pseudo code to convert unique IPv6 into mobiile number, where X16 is {
This algorithm will map any mobile number tto a unique IPv6 x|3B9ACA00 ≤ x ≤2540BE3FF} base b 16 hexadecimal integer
address, where X10 is {x|1,000,000,000≤ x ≤ 9,999,999,999) and the function g(x) converts X base16 from to X base10
base 10 decimal integer and the function f(x) coonverts X base10 decimal integer with range X10 is {x|1,000,000,000≤ x ≤
to X base 16 Hexadecimal integer with range{ xx|3B9ACA00 ≤ x 9,999,999,999} as defined in the pseudo code of IpToMob.
≤2540BE3FF} as defined in the pseudo code of MobToIP.
C. function MobToIp(String number) E. Function IpToMob
/*Input: String representation of phone number /*Input: IPv6
/*Output: IPv6 /*Output: String representation of phone number
String ip←"" /*Initialize local String variables to empty Strings
String hex←"" String string1, string2, string3←""
String output←""
/*character array of 16 hexadecimal group of 4 hexadecimal charArray will be set to input ip value
octets, and all initialized to zero and separated bby":" charArray ← ip
ipArray ← ['0','0','0','0',':',.....,':','0','0','0','0']
/*String buffer object firstBuffer new buffer object
/* read mobile number and store it in charArrray, where each Integer loop counter i←0
digit of the mobile number is represented by onne equivalent hex Loop For i< length of charArray
digit. Eg charArray [ ] = readMobNum(“98973451”), then {
charArray[‘9’,’8’,’9’,’7’,’3’,’4’,’5’,’1’] firstBuffer←charArray[i]
charArray [ ] = readMobNum(“calledNumber”) increment i←i+1
}
/*Initialize Integers counter variables for loop
Integer i←0; Integer k←0; /*reverse order of string buffer elem
ments of firstBuffer
Loop While i<=length of charArray & k<= length of ipArray string1← firstBuffer reverse
{ /*Character Array charArray2 will contain
c values of string 1
if ipArray[k]=0 charArray2 ← string1
{
ipArray[k]=charArray[i] /*loop replace trailing zeros with "*
*"
increment i←i+1 Integer loop counter c←0
} Loop For c<charArray2.length
if ipArray[k]=":" {
{ if charArray2[c]=':' or charArray2[cc]=='0'
ipArray[k+1]=charArray[i] {
} /*replace zeros & colon with “*” to o mark that they are no longer
increment k←k+1 needed
} End While loop charArray2[c] ← '*'
}
/*create String buffer object hexBuffer else
Integer c←0 {
Loop for c<= length of ipArray break out of for loop
{ }
hexBuffer←ipArray[c] }End for loop
increment c←c+1 String buffer secondBuffer new bufffer object
} Integer loop counter c←0
ip←hexBuffer Loop For c<charArray2.length
return ip {
End function secondBuffer<-charArray2[c]
}End for loop

271
/* reverse order of string buffer elements of secondBuffer V. CONCLUSION
string1 ←secondBuffer reverse Voice over WIFI telephony is a challenging research topic. In
String x this paper a novel architecture has been proposed and a novel
character array charArray3 ← string2 algorithm has been developed to support IP to Mobile number
Integer loop counter k←0 conversion. The system is transparent to the user, where a user
Loop For k←length of charArray3 needs only to dial the required phone number the same way of
{ using the normal mobile phone. Following the mobile conversion
if charArray3[k]!='*' to IPv6, the software applied at the mobile phone will try to
{ establish p2p connection to the dialed mobile phone using the
string3←string3+charArray3[k] same algorithm. If no p2p connection can be made, then the
} calling mobile phone will check if virtual connection can be
}End for loop possible through AP using the same mechanism in p2p to
character array charArray4 ← string3 establish communication channel with the called mobile phone. If
Integer loop counter a←0 no wireless connection using WIFI is possible between the 2
mobile phones, then a message would be displayed on the calling
Loop For a<length of charArray mobile phone notifying its user to proceed with the call using
GSM technology or abort the call. The IP collision problem for
{
mapping mobile to IP has been avoided since there is a unique
if charArray[a]!=':' mapping resulting in a unique IP for each mobile number. The
{ work presented in this paper is a first step for developing a p2p
output ← output + charArray[a] voice to voice communication between 2 mobile users using the
} WIFI network which is based on 10 mobile digit numbers. Future
}End for loop work will focus of the development of automated algorithm to
Long integer num ← output to integer develop IP collision avoidance and correction for large mobile
return num digit numbers. Furthermore, a complete solution to establish
End function communication channel between 2 mobile phones using p2p, or
through AP, and optional GSM will be developed. In addition,
the release of the voice API by the giant mobile manufacturers
IV. ALGORITHM TEST RESULT will enable future complete working system based on the
The voice over WIFI telephony application will use Java architecture initiated by this research work.
technology as means to develop the software for mobile devices.
Java for Micro-Devices or J2ME also software developers to REFERENCES
implement software that is able to be distributed to all Java [1] B. Regis J, and D. W. Gregory, “Voice and Data
enabled phones with minimal alteration in compilation and Communication”, 4rth ed. California, Berkeley: McGraw
versioning. J2ME is robust, scalable, and secure platform for Hill, 2001.
mobile phones, personal digital assistants, and embedded [2] F. Borko, and M. Ilyas, “Wireless Internet Handbook
devices [12]. J2ME contains TCP/IP networking and GUI APIs
Technology, Standards, and Applications”, 1st ed. NY, New
along with other packages that will allow reliable development
mobile applications. The utilization of native platform dependent York: McGraw Hill, 2000.
code maybe needed in order to automatically change IP [3] O. Tammer, and P. Valduriez, “Principles of Distributed
addresses within the phones operating system without user Database Systems”, 2nd ed. New Jersey: Prentice Hall, 1999.
interaction. At this stage implementation covers the conversion [4] C. Douglas, “Internetworking with TCP/IP Volume 1 :
of mobile number to IPv6 address and the reverse conversion of Principles, Protocols, and Architecture”, 3rd. Upper Saddle
IPv6 address into mobile number. A Java program for the River, NJ: Prentice Hall International, 1995.
conversion from mobile to IPv6 and from IPv6 to mobile has [5] Hac, and Anna, “Mobile Telecommunication Protocols for
been done and proven the correctness of the algorithms. Where, Data Networks”, 1st. London: John Wiley & Sons LTD,
a user would enter the mobile number which will be converted 2000.
to a unique IPv6. The other IPv6 to mobile algorithm allows
[6] J. Distefane, and A. Ronan, “Guide To Wireless Enterprise
user to enter IPv6 in hex and then it will convert it to mobile
Application Architecture”, 1st ed. NY, New York: John
number. In the future a complete program will be developed to
establish a p2p connection or a virtual connection over AP in Wiley & Sons Inc, 2002.
order to allow the 2 mobile phones to communicate to each other [7] S. Gast, and Mathew, “802.11 Wireless Networks the
over WIFI technology at no cost. Definitive Guide”, 1st. California: Orielly, 2000.
[8] William Lee, “Wireless and Cellular Telecommunications.
3rd”, New York, NY: McGraw Hill, 2006.

272
[9] Taylor D. Edgar, “TCP/IP Complete”, 1st. New Jersey: Applications”, 1st. Upper Saddle River, NJ: Prentice Hall,
McGraw Hill, 1998. 2004.
[10] A. Forouzan Behrouz, “TCP/IP Protocol Suite”, 3rd. NY:
McGraw Hill, 2006. [13] GSM, http://www.gsmworld.com/technology/gsm/index.htm
[11] D. Sanjoy, C. Papadimitriou, and U. Vazirani, “Algorithms”, [14] WIFI IEEE 802.11, http://www.wifinotes.com/IEEE-
1st. New York: McGraw Hill, 2008. 802.11.html
[12] Yuan Michael, “Enterprise J2ME: Developing Mobile Java

273

You might also like