Beruflich Dokumente
Kultur Dokumente
Altruist Technologies
PPROJECT FILE
(SIX MONTH TRAINING)
Submitted To
Mrs. Navreet Kaur Submitted By
(Lect. MCA Deptt.) Gulab Singh
Roll.No.
7007211831
______________________________________________________________
Altruist Technologies
A DISSERTATION REPORT
SUBMITTED IN PARTIAL FULFILLMENT OF
REQUIREMENTS
S UBMITTED BY
GULAB SINGH
May 2010
CERTIFICATE BY ORGANISATION
______________________________________________________________
Altruist Technologies
______________________________________________________________
Altruist Technologies
Ce rt i fic a te
Designation:(AGM)
Altruist Technologies
Ce rt i fic a te
(Mrs.Navreet Kaur)
(Lect.MCA Deptt.)
Place: Kharar(Mohali)
DECLARATION
I hereby certify that the work embodied in this thesis entitled “Mobile Voice Chat ” submitted by
me, in partial fulfillment of requirement for the award of Degree of Master of
Technology (Information Technology) submitted at
GGS College of Modern Technology under PUNJAB TECHNICAL UNIVERSITY,
JALANDHAR, is an authentic record of the my own work carried out during a period
from January-11-2010 to April-29-2010 under the supervision of Lect. Narvreet kaur. The
matter presented in this thesis has not been submitted by me in any other University / Institute
for the award of MCA Degree.
Gulab Singh
This is to certify that the above statement made by the candidate is correct to the best of my
knowledge.
Supervisors
Signature of H.O.D.
______________________________________________________________
Altruist Technologies
CANDIDATE DECLARATION
I hereby declare that the project work entitled “Mobile Voice Chat” in partial
fulfillment of the requirement for the award of degree of MCA, submitted to
the (GGS College of Modern Technology,Kharar) is authentic record of my
own work carried out during the period from 9th Jan 2010 to be continued up to
May2010 under the guidance of Mr. Alok Bhandari , Project Leader,Altruist
technologies, Delhi and Mrs. Navreet Kaur (Lect. MCA Deptt. GGS College Of
Modern Technology, Kharar, Mohali(Punjab)
I have not submitted the project report for any award of any other
degree/diploma of any university/Institute.
Gulab Singh
MCA 6th Sem
Dept. of Computer Science
GGS College of Modern Technology
Place: Mohali
Date:
______________________________________________________________
Altruist Technologies
ACNOWLEDGEMENT
At the very outset I would like to thank the Almighty God for his blessings that
helped me to achieve everything I had wished for till now.
I would also like to take the opportunity to sincerely thank all my Trainers and
colleagues at Altruist technologies for their support and assistance throughout
the project.
TABLE OF CONTENTS
PAGE NO
1. COMPANY PROFILE……………………………………………9-17
1.1 Introduction………………………………………..…….………………………….9
1.2 Team ……………………………………………………..…..…………………….10
1.3 Partners …………………………………………………....……………………….10
1.4 Clients ……………………………………………………..…..………………..….11
1.5 Solution…………………………………………………….……………………….11
1.6 Technology used…………………………………………….……………………...17
3. TECHNOLOGIES OVERVIEW………………………..…………..25-29
3.1 Software Technologies……………………………………………………….25
3.1.1 VXml,CCXml………………………………………………………….25
3.1.2 CCXML + VoiceXML Architecture……………...................................25
3.2 Hardware Technologies………………………………………………………26
3.2.1 Global System for Mobile communication…………………………….26
3.2.2 Services provided by GSM……………………………………………27
3.2.3 Architecture of the GSM network……………………………………..28
3.2.4 How it work……………………………………………………………29
______________________________________________________________
Altruist Technologies
4. SOFTWARE DESIGN……………..………………………………………..40-55
4.1 what is AFC………………………………………………….………………...40
4.1.1 Salient
Features………………………………………………………...40
4.1.2 Driving Principle’s…………………………………………………….40
4.1.3 Advantages………………………………………….…………………40
4.2 Friend Chat On voice…………………………………….................................41
4.2.1 REGISTRATION………………………………………………………….41
4.2.2 SERVICE FLOW…………………………………………….……………41
4.2.3 OTHER FEATURES………………………………………..……………..42
4.3 Road Map……………………………………………………………………..52
4.4 Frequently Asked Questions (FAQ’s)………………………………………...52
4.5 Best Practices with Impact Analysis………………………………………….55
5. CODING…………………………………………………………..………....58-84
5.1 Programming Languages & Development Tools…………………………...58-74
5.2 Activation of a MSISDN into service
5.2.1 Through URL
5.2.2 Through file uploadation
5.3 An Introduction to VoiceXML………………………………………………...74
5.3.1 What is VoiceXML ?................................................................................74
5.3.2 Voice User nterface……………………………………………………..76
5.3.3 Why use VoiceXML ?..............................................................................76
5.4 The VoiceXML language……………………………………………………...76
5.5 Mixed VoiceXML properties……………………...…………………………..79
5.6 -initiative dialogues……………………………………………………………79
5.7 Form Interpretation Algorithm………………………………………………...80
5.8 FIA – confirmations…………………………………………………………...80
5.9 Limitations…………………………………………………………………….80
5.10 Dynamic VoiceXML…………………………………………………………..84
5.11 Conclusion……………………………………………………………………84
______________________________________________________________
Altruist Technologies
6. SOFTWARE TESTING……………………………………………85-87
6.1 Introduction……...……………………………………………………………85
6.1.1 Black-Box Testing………………………………………………………85
6.1.2 White-Box Testing……………………………………………………...85
6.1.3 Static Testing……………………………………………………………86
6.1.4 Dynamic Testing………………………………………………………..86
6.1.5 Conclusion………………………………………………………………87
6.2 Steps for checking service……………………………………………………..88
6.3 Steps for the Correcting the Service…………………………………………...88
7.1 Evaluation……..……………………………………………………………...89
7.2 Implementation…….…………...…………………………………………….89
7.3 Incremental Program Development…………………………………………..90
1. COMPANY PROFILE
1.1 INTRODUCTION:
ALTRUIST has emerged as a proven company in the field of Voice and Web
Based Value Added Services, Business Process Outsourcing , Information
Technology and Interactive Communication solutions to Carrier, WASP, ISP, CSP
and Corporate clients with its diligence, operations reviews, analysis of
business prospects and interim management.
Strong IT foundations and an excellent mobile domain understanding have
helped us in becoming the leading Wireless Application Providers in India with
installations for most of the telecom service providers Like MOBILE, IDEA, BPL,
Reliance communications, MTNL, TATA Indicom, Connect and other corporate
like DishTV etc.
The emerging trends in mobile telephony clearly point towards a domain vastly
governed by the customers' whims and fancies.
Value Added Services are those mobile operator's services which allow
customers to make more than just traditional voice calls from their phones to
other phones.
At ALTRUIST we provide value added services and solutions to major telecom
players and corporate across the globe. Our vision is to be a technology
enabler in a wire-free world connecting data source or application to any
device and make the mobile phone an integrated communications device, with
the ability to provide information and perform real time online transactions
anytime... anywhere.
ALTRUIST has proven expertise in the field of Voice and Web Based Value
Added Services, Business Process Outsourcing , Information Technology and
Interactive Communication solutions to Carrier, WASP, ISP, CSP and Corporate
clients with its diligence, operations reviews, analysis of business prospects
and interim management.
______________________________________________________________
Altruist Technologies
1.2 TEAM :
ALTRUIST believes its true strength lies in the potential of its Associates.
Associates work in an atmosphere of trust and confidence. Every individual
Associate is a leader. This leadership is expressed in the way tasks are
assigned and taken up, the freedom with which work styles are negotiated and
high standards of quality set independently by each and every Associate. A
high degree of operational freedom helps Associates exercise their creativity
and expertise in approaching tasks and achieving Customer Delight.
1.3 PARTNERS:
1.3.1 Oracle
For 32 years, Oracle has been helping customers manage critical information.
Our goal is to make sure that you spend less money on your systems while
getting the most up-to-date and accurate information from them.
1.3.2 Intel
Intel offers a broad range of building blocks that can be used in many different
types of telecom solutions in various communications environments, including
enterprise and service provider. A single building block can support a variety of
solutions. Once a building block is installed, it can be used to add new features
and capabilities to a solution.
1.4 CLIENTS:
______________________________________________________________
Altruist Technologies
1.5 SOLUTIONS:
Altruist is a leading VAS Enabler, helping communication service providers
deliver innovative applications for Entertainment, E-commerce and Enterprises.
Currently offering a range of leading-edge voice and data transmission
technologies for telecom operators and service providers . Our solutions
seamlessly integrate enterprise IT and wireless environment, which enable all
the players in the value chain to deploy value added services quickly and cost
effectively.
Altruist offers solutions that Combine with network design,
consulting, project implementation, training and technical support professional
services, allowing telecommunications companies to implement advanced and
next generation networks in order to take full advantage of their capabilities
and offer competitive services.
1.5.1 Our Credentials
Comprehensive VAS application solutions covering the entire gamut of
telecom service providers, content provider and application vendor
requirements.
Facilitation of third party VAS application development.
One stop for all VAS applications
______________________________________________________________
Altruist Technologies
customizable, for both the B2B and the B2C markets. SatNav has strategic
alliances with the experts in the Industry and is consistently developing its
market intelligence and approach, which has led it to become a leader from a
pioneer in the focused business areas. SatNav has made significant progress in
the area of navigation and maps for India.
1.5.5 Mobile Social Networking
The mobile-centric internet meets the needs of the unwired.
Voice Chat to evolve into a full blown Mobile Social Networking platform
bringing in real world associations onto mobile. M Communities is a place to
make and connect with friends, an environment where you can share day-to-
day experiences at work, at home and at play.This platform has new
communities – like education, sports, health and entertainment – that enable
and encourage our users to better interact with each other.
The service additionally showcases a different community each month and the
featured topics will resonate with our members’ interests and lifestyles. By
delivering value to consumers – providing our users with a sense of community
and belonging as well as access to information that they can use to improve
their lives – Voice Chat population will continue to grow.Social Networking sites
like MySpace and Facebook have emerged recently as some of the hottest
names on the Internet.
MySpace, Facebook, Hi5, Orkut and Friendster - rank among the top 10 most-
visited websites globally.Transactions in Social Networking Space These
include News Corp's July 2005 acquisition of MySpace for US$580m and more
recently Microsoft's purchase of a 1.6% stake in Facebook for $240m, a
purchase price that values the entire company, which has annual revenue of
some $100-150m, at an impressive $15bn. One out of every four people online
visits social networks, according to the Consumer Internet Barometer.
1.5.6 Mobile Career Catalyst
Mobile Career Catalyst is the Students/Guardians key to all the relevant and
personalized information regarding Engineering and Medical Entrance Exams
sent proactively to them in an SMS everyday. It is a unique concept, and is a
revolutionary service that creates a media for the students for getting the
______________________________________________________________
Altruist Technologies
• Entertainment
• Gaming- Tambola, Quiz, Contests
• Cricket Alerts on Voice
• Horoscope
• News
• Song Dedication
• Ring tone Download
• SMS Bank on Voice
Tele-voting
Have already tied up with media brands and provide tele-voting for events like Indian
Idol etc
1.5.9 SMS Solutions:
(a) Bulk Messaging
Alongside our consumer targeted service, we offer bulk messaging for a
multitude of applications. Again, we focus on customer satisfaction, so we have
designed a standard Remote Access System based on the HTTP protocol and
SMPP. Sending a message is as easy as calling an URL from your application or
server-side scripts. The standard system boasts the following features:
• Sending to multiple recipients at once
• Sender ID
• Flash messages
• Nokia ringtones (and RTTL)
• Nokia logo's
• Delivery delay
• Delivery status check
(b) Web2SMS
______________________________________________________________
Altruist Technologies
This application extents sending SMS from Mobile to you PC .Using you can
send Single/Multiple SMS to your clients any where in the world both on GSM
and CDMA networks. This application is HTTP based and is quite fast and easy
to use. The user can design and send customized SMS to his friends. He can
also store messages in a virtual Inbox for further use.
Most popular portals allow chat plug-ins. Chat sites hardly need to
advertise. In fact to popularize sites, a chat plug-in works best;
The element of anonymity allows users to be themselves for a change;
Chat allows a very upfront and no holds barred initiation, introduction and
platform to interact to users;
People get into rooms/ huddles for finding like minded mates. Many a real
world friendships/ relationships/ business tie-ups are stemming out of chat
rooms with enhanced maturity and acceptance;
Humans have a major craving to connect and communicate;
Mobiles saw huge success and growth in numbers as they fit in very well
with the human social build up;
Now it is the right time to provide an evolved interface for Value Added
Interaction and Communication;
Mobile VAS as we know it currently is about content and there is a huge gap
on the covert desire of subscribers to connect with people; and
Friends Chat, an adaptation of the popular Internet Chat is a promising
application which could possibly fill the void and translate to a big Revenue
Grosser, retention tool and clear differentiator.
Mobile Friends Chat is a Sticky, ARPU enhancing, Killer Application for the
YOUNG at heart
Mobile VAS as we know it currently is about content and there is a huge gap
on the covert desire of People to connect with People. Friends Chat, an
adaptation of the popular Internet Chat is a promising application which
would fill this void and translate to a big Revenue Grosser, Retention Tool
and a Clear Differentiator;
Altruist Friends Chat is a full bodied, well researched, complete user
interface for subscribers to talk/ chat over Voice / SMS anonymously (which
means by sharing only there virtual identities as created by them and never
giving out the mobile numbers). The intuitive, dynamic menu makes Altruist
Friends Chat an exhilarating experience;
The service is absolutely secure with very stringent checks and moderation;
and
______________________________________________________________
Altruist Technologies
2.2 Requirements:
2.2.1 Problem Analysis
Operators likeAIRCEL, MOBILE need to make promotions of their products or
packs .They launch any new products or packs timely, their products can be
like launch of new handsets or exchange offer of the old handsets with new
handsets or it can be new service packs for attracting customers like night
packs etc to increase revenues. For their products they have to do promotions
or advertisements for this they talk to the companies like ours who are
basically considered as vendors.
They talk to the vendors and describe about there products and offer for doing
promotions for there products or services. After we get contracted we tell our
requirements to the client end and deploy servers over there and start Product
for the specified period. Vendors also have there own products like Voice chat,
tambola ,Jobs on Phone, Cricket etc. These products are helpful in raising
revenues of both the vendor side as well as client side , if they get convinced
or like our products they offer us to do promotions of these products too on
contract basis. For these we use there
IVRS can used to providing value added services to mobile subscribers in every
segment. Be it Information, Entertainment, Games or Music everything can be
made reach people in an interactive manner and 24 hours of the day using the
IVRS technology. A benefit both for the mobile users and telecom operators.
Banks and credit card companies can use IVR systems so that their customers
can receive up-to-date account information instantly and easily without having
to speak directly to a person.
ASR is a technology that allows a caller to speak rather punching numbers. The
technology makes mobile phones to respond directly to the subscriber's
commands. Recognizing and understanding a spoken sentence is obviously a
knowledge-intensive process, which must take into account all variable
information about the speech communication process, from acoustics to
semantics and pragmatics.
______________________________________________________________
Altruist Technologies
Supported Applications
(a) ASR and VAS: Custom designed to recognize Indian voices and accents,
the ASR service makes life more convenient. Using ASR, mobile subscriber's
can get the latest updates on news, stocks, cricket and their horoscope. Caller
just needs to speak the service. Say "cricket" to get latest updates on cricket.
(b) ASR and Customer Services: It is ideal for institutions that rely heavily
on customer service, and wish to make the communication most friendly and
convenient. Call centre, airlines, railways ,insurance companies can benefit
from this technology.
Call to
543216xxxxxxx
Call to570001
Msc MH
Msc KK
Altruist
VXML
HP APP Server
TCP/IP
DB
Msc Dehli
VoiceXML
HTTP
3. TECHNOLOGIES OVERVIEW
3.1 Software Technologies:
3.1.1 VXml,CCXml:
VoiceXML is a dialog markup language
• A programming language for building speech or DTMF enabled
voice based applications
______________________________________________________________
Altruist Technologies
SIP Endpoint
Vocalocity OEM
Browser SIP Signaling RTP
ggggggggg
RTP
______________________________________________________________
Altruist Technologies
GSM called PCS1900, GSM systems exist on every continent, and the acronym
GSM now aptly stands for Global System for Mobile communications.
The developers of GSM chose an unproven (at the time) digital system, as
opposed to the then-standard analog cellular systems like AMPS in the United
States and TACS in the United Kingdom. They had faith that advancements in
compression algorithms and digital signal processors would allow the
fulfillment of the original criteria and the continual improvement of the system
in terms of quality and cost. The over 8000 pages of GSM recommendations try
to allow flexibility and competitive innovation among suppliers, but provide
enough standardization to guarantee proper interworking between the
components of the system. This is done by providing functional and interface
descriptions for each of the functional entities defined in the system.
From the beginning, the planners of GSM wanted ISDN compatibility in terms of
the services offered and the control signalling used. However, radio
transmission limitations, in terms of bandwidth and cost, do not allow the
standard ISDN B-channel bit rate of 64 kbps to be practically achieved.
A variety of data services is offered. GSM users can send and receive data, at
rates up to 9600 bps, to users on POTS (Plain Old Telephone Service), ISDN,
Packet Switched Public Data Networks, and Circuit Switched Public Data
Networks using a variety of access methods and protocols, such as X.25 or
X.32. Since GSM is a digital network, a modem is not required between the
user and GSM network, although an audio modem is required inside the GSM
network to interwork with POTS.
______________________________________________________________
Altruist Technologies
The mobile station (MS) consists of the mobile equipment (the terminal) and a
smart card called the Subscriber Identity Module (SIM). The SIM provides
personal mobility, so that the user can have access to subscribed services
irrespective of a specific terminal. By inserting the SIM card into another GSM
terminal, the user is able to receive calls at that terminal, make calls from that
terminal, and receive other subscribed services.
The mobile equipment is uniquely identified by the International Mobile
Equipment Identity (IMEI). The SIM card contains the International Mobile
Subscriber Identity (IMSI) used to identify the subscriber to the system, a
secret key for authentication, and other information. The IMEI and the IMSI are
independent, thereby allowing personal mobility. The SIM card may be
protected against unauthorized use by a password or personal identity
number.
The Base Station Subsystem is composed of two parts, the Base Transceiver
Station (BTS) and the Base Station Controller (BSC). These communicate
across the standardized Abis interface, allowing (as in the rest of the system)
operation between components made by different suppliers.
______________________________________________________________
Altruist Technologies
The Base Transceiver Station houses the radio tranceivers that define a cell
and handles the radio-link protocols with the Mobile Station. In a large urban
area, there will potentially be a large number of BTSs deployed, thus the
requirements for a BTS are ruggedness, reliability, portability, and minimum
cost.
The Base Station Controller manages the radio resources for one or more BTSs.
It handles radio-channel setup, frequency hopping, and handovers, as
described below. The BSC is the connection between the mobile station and
the Mobile service Switching Center (MSC).
The Home Location Register (HLR) and Visitor Location Register (VLR), together
with the MSC, provide the call-routing and roaming capabilities of GSM. The
HLR contains all the administrative information of each subscriber registered in
the corresponding GSM network, along with the current location of the mobile.
The location of the mobile is typically in the form of the signalling address of
the VLR associated with the mobile station. The actual routing procedure will
be described later. There is logically one HLR per GSM network, although it
may be implemented as a distributed database.
The other two registers are used for authentication and security purposes. The
Equipment Identity Register (EIR) is a database that contains a list of all valid
mobile equipment on the network, where each mobile station is identified by
its International Mobile Equipment Identity (IMEI). An IMEI is marked as invalid
if it has been reported stolen or is not type approved. The Authentication
Center (AuC) is a protected database that stores a copy of the secret key
stored in each subscriber's SIM card, which is used for authentication and
encryption over the radio channel.
Ensuring the transmission of voice or data of a given quality over the radio link
is only part of the function of a cellular mobile network. A GSM mobile can
seamlessly roam nationally and internationally, which requires that
registration, authentication, call routing and location updating functions exist
and are standardized in GSM networks. In addition, the fact that the
geographical area covered by the network is divided into cells necessitates the
implementation of a handover mechanism. These functions are performed by
the Network Subsystem, mainly using the Mobile Application Part (MAP) built
on top of the Signalling System No. 7 protocol.
______________________________________________________________
Altruist Technologies
(c) Handover
In a cellular network, the radio and fixed links required are not permanently
allocated for the duration of a call. Handover, or handoff as it is called in North
America, is the switching of an on-going call to a different channel or cell. The
execution and measurements required for handover form one of basic
functions of the RR layer.
There are four different types of handover in the GSM system, which involve
transferring a call between:
The first two types of handover, called internal handovers, involve only one
Base Station Controller (BSC). To save signalling bandwidth, they are managed
by the BSC without involving the Mobile services Switching Center (MSC),
except to notify it at the completion of the handover. The last two types of
handover, called external handovers, are handled by the MSCs involved. An
important aspect of GSM is that the original MSC, the anchor MSC, remains
responsible for most call-related functions, with the exception of subsequent
inter-BSC handovers under the control of the new MSC, called the relay MSC.
Handovers can be initiated by either the mobile or the MSC (as a means of
traffic load balancing). During its idle time slots, the mobile scans the
Broadcast Control Channel of up to 16 neighboring cells, and forms a list of the
six best candidates for possible handover, based on the received signal
strength. This information is passed to the BSC and MSC, at least once per
second, and is used by the handover algorithm.
The algorithm for when a handover decision should be taken is not specified in
the GSM recommendations. There are two basic algorithms used, both closely
tied in with power control. This is because the BSC usually does not know
whether the poor signal quality is due to multipath fading or to the mobile
having moved to another cell. This is especially true in small urban cells.
The Mobility Management layer (MM) is built on top of the RR layer, and
handles the functions that arise from the mobility of the subscriber, as well as
the authentication and security aspects. Location management is concerned
with the procedures that enable the system to know the current location of a
powered-on mobile station so that incoming call routing can be completed.
For reliability reasons, GSM also has a periodic location updating procedure. If
an HLR or MSC/VLR fails, to have each mobile register simultaneously to bring
the database up to date would cause overloading. Therefore, the database is
updated as location updating events occur. The enabling of periodic updating,
and the time period between periodic updates, is controlled by the operator,
and is a trade-off between signaling traffic and speed of recovery. If a mobile
does not register after the updating time period, it is deregistered.
The same initial random number and subscriber key are also used to compute
the ciphering key using an algorithm called A8. This ciphering key, together
______________________________________________________________
Altruist Technologies
with the TDMA frame number, use the A5 algorithm to create a 114 bit
sequence that is XORed with the 114 bits of a burst (the two 57 bit blocks).
Enciphering is an option for the fairly paranoid, since the signal is already
coded, interleaved, and transmitted in a TDMA manner, thus providing
protection from all but the most persistent and dedicated eavesdroppers.
White-listed
The terminal is allowed to connect to the network.
Grey-listed
The terminal is under observation from the network for possible problems.
Black-listed .The terminal has either been reported stolen, or is not type
approved (the correct type of terminal for a GSM network). The terminal is not
allowed to connect to the network.
(h)Call routing
Unlike routing in the fixed network, where a terminal is semi-permanently
wired to a central office, a GSM user can roam nationally and even
______________________________________________________________
Altruist Technologies
The most general routing procedure begins with the GMSC querying the called
subscriber's HLR for an MSRN. The HLR typically stores only the SS7 address of the
subscriber's current VLR, and does not have the MSRN (see the location updating
section). The HLR must therefore query the subscriber's current VLR, which will
temporarily allocate an MSRN from its pool for the call. This MSRN is returned to the
HLR and back to the GMSC, which can then route the call to the new MSC. At the new
MSC, the IMSI corresponding to the MSRN is looked up, and the mobile is page.
______________________________________________________________
Altruist Technologies
d in its
current location area .
4. SOFTWARE DESIGN
4.1 what is AFC:
4.1.1 Salient Features:
User calls
Call
CallFlow
Flow
Is the user
subscribed
Check the
circle/location
of the user This language sequence is
variable in Language options
as well their sequence .For
ex the given sequence is for
Here the default keys are playing punjab , similarly the LS for
Hindi ke liye 1 other circle is different
in hindi only dabayein, for depending upon the regional
english press 2 , and most spoken languages
punjabi lai 3 of that zone………….
dabavo
User records
his/her profile
You have
recorded
<>
To change your
recording press 2 else
pls wait
Let’s record again. After the beep, speak Your mobile number will
a few exciting things about yourself like never be disclosed to
your name, hobbies, sun sign, the kind of anyone while you chat.
music you like etc . To end the recording Press 1 if you are a Male Or
press hash key press 2 if you are a female.
Call patches
Figure 4.2 Call Flow When We Patch Your Call To New Friend
______________________________________________________________
Altruist Technologies
User chooses
an option
User chooses
an option
If this is correct
then press 1, to
enter again press
2
The chatid you are trying to call does not exists. /
The chatid you are trying to call ,has logged out
Check if the Id from the service./
is valid /correct/ No The chatid you are trying to call have blocked
exists your id./
The chatid you are trying to call get unsubscribed
from the service..
Check if the Id
male is male or Female
female
User is taken
to main menu
Call patch
with agent
1 2 3
User records
2
Your entry has You have entered
been saved
You have
recorded
If this is correct
press1 to enter
again press 2
<>
1
1
Your Age has To listen your
been updated recording press 1, to
Your recording has
save your recorded 2
been saved
profile press 2 and to
record again press 3
User presses
a valid key User presses
a valid key
3 4
1 2
U se r presses
a va lid key
5 6
1 2 2 1
Call
disconnects
Airtel friends chat is a unique service that provides you an opportunity to meet
and speak to people of your interest and who knows you may find that special
person you’ve been looking for !! The best part is that your mobile number will
never be disclosed while you chat with your prospective friend . It is very simple to
start using the service . All you need is to become a member of this service which
gives you a unique seven digit identification number . This number will be used by
others to get in touch with you . You may search for your friend basis your liking
and get in touch with them by dialing their seven digit identification number . We
shall recommend you to record exciting things about you which others can hear
and get encouraged to talk to you . We also have options for logout to stop
receiving calls when you are busy . So join this exclusive service and get
connected .you can get this service by dialling 543216 and also the call charges of
Friends chat has been reduced by 33% , so now talk more at rs 2 per minute
instead of rs 3 per minute .
Multiple User Chat Rooms: As the next step to one to one Voice Chat there is a Chat
room feature wherein people can get into topical huddles and discuss, interact and
chose the people they may want to have a one on ne interaction with.
Add Ons: Do more than just chat. Send greeting messages, dedicate songs and gift
Hello Tunes to people using only the Chat Id. Send physical gifts to each other through
Chat Id.
the updated features as per the market need. The service is designed in such a
way that we can enhance or plug any new features and take out the next
release.
• What is Friends Chat Service?
Sir / Ma’am, Altruist Friends Chat allows you to find friends and
talk to them over SMS or Voice without displaying your mobile
number. Instead you get a 7 digit chat ID as your Friends Chat
identity.
The service is absolutely secure with very stringent checks and
moderation. Subscribers to be able to Chat with people across
various circles of Mobile to offer a lot of choice and variety to
them.
• Ladies free Offer – Subscription fee was waived off for the
ladies in some circles which helped bring more of them and also
in retaining the existing one’s. Done in Gujarat very effectively
and increased the number of ladies by 100% and the success
minutes by 50%. Similar experience informally in Punjab where
• One Month Trial – Rental waived for first month for trial.
Attempted as a weekend offer or a one week offer and gave good
results. Done in allmost circles for Voice Chat.
• On Ground Events – Passes to various Christmas and New
Year bashes were distributed. Colleges/ Hostels etc were covered
in Punjab/ Gujarat for free trial subscription offers. Worked
extremely well but needs on ground support from Mobile for good
results and close co-ordination with Marcom teams for execution.
______________________________________________________________
Altruist Technologies
Celebrity Chats – Some regional personalities were put on Chat like Satinder Satti in
Punjab/ Tanaaz & Bakhtiar in Maharshtra/ some local Models etc. Some bursts in
minutes were seen in these places. The concept could be really ignited if to start with
couple of big names could be brought on Chat as then the other celebs would follow
suit for the sake of visibility. Mobile support on this count would help make it a reality
______________________________________________________________
Altruist Technologies
5. CODING
5.1 Programming Languages & Development Tools:
As our company has to provide Solutions and various Value Added Services to
any Telecom Company so in order to this we have to wok on separate VXML,
Core Java Servlets and Apache Tomcat. As all programs in our company are
based on these languages. All the code is written in CCXML, VXML, Servlets
and Java is used just to communicate with Oracle.
2). Through File Uploadation:- The second most prominent way to activate
numbers into the service is the file uploadation. In this method we have to
transfer the list of MSISDN’s to the server in the specific path .
Examplary Program
\
********************************************************************************
*****************
THIS PROGRAM INSERTS ANI(Mobile Number), STATUS ,MODE(Activation Mode)
INTO TABLE FOR SUBSCRIPTION OF NUMBERS
********************************************************************************
******************/
import java.sql.*;
import java.net.*;
______________________________________________________________
Altruist Technologies
import java.io.*;
import java.lang.*;
import java.util.*;
import com.mysql.jdbc.Driver.*;
break;
}
System.out.println(ani);
try
{
ResultSet rs1=null;
rs1 =stmt.executeQuery("select count(1) from tbl_aircelurl where
ani='"+ani+"'");
rs1.next();
int state =rs1.getInt(1);
rs1.close();
if(state >0)
System.out.println("PLACED IN TBL_AIRCELURL")
stmt.executeUpdate("insert into tbl_aircelurl(ani,status,mode
values('"+ani+"','SUB','"+modeofact+"')");
}
catch(Exception i)
{
i.printStackTrace(); }
______________________________________________________________
Altruist Technologies
}
catch(Exception oo)
{
oo.printStackTrace();
}
}
}
5.2)
How To deactivate a MSISDN(Mobile Station International
Subscriber Directory Number):-
MSISDN is a number used to identify a mobile phone number internationally.
To use the service first of all we have to deactivate a customer from the
service, their are two possible ways to deactivate a number.
1).Through URL:- Simplest way to deactivate a number in the
service is through URL. In it we just transfer the list of numbers to a
particular server location, and then simply browse the list from the
position where it is stored.
______________________________________________________________
Altruist Technologies
2). Through File Uploadation:- The second most prominent way to deactivate
numbers into the service is the file uploadation. In this method we have to
transfer the list of MSISDN’s to the server in the specific path .
Examplary Program
\
********************************************************************************
*****************
THIS PROGRAM INSERTS ANI(Mobile Number), STATUS ,MODE(Activation Mode)
INTO TABLE FOR SUBSCRIPTION OF NUMBERS
********************************************************************************
******************/
import java.sql.*;
import java.net.*;
import java.io.*;
______________________________________________________________
Altruist Technologies
import java.lang.*;
import java.util.*;
import com.mysql.jdbc.Driver.*;
System.out.println(ani);
try
{
ResultSet rs1=null;
rs1 =stmt.executeQuery("select count(1) from tbl_aircelurl where
ani='"+ani+"'");
rs1.next();
int state =rs1.getInt(1);
rs1.close();
if(state >0)
}
catch(Exception i)
{
i.printStackTrace(); }
}
______________________________________________________________
Altruist Technologies
}
catch(Exception oo)
{
oo.printStackTrace();
}
}
}
Profile Pool
Call connected to
selected profile
______________________________________________________________
Altruist Technologies
OBD(Out bound dialing) is the second prominent way with the help of which we make
to subscribe a customer into the service. In OBD we just plays prerecorded prompts to
users which they listen and opt to subscribe the service.
For playing a prompt to a selected number of users we make the following steps.
2.1) Free the channels on which we have to make the OBD:
for(j=0;j<FileName.length;j++)
{
File FullPath = new File(Directory + "\\" + FileName[j]);
if(FullPath.isDirectory()==true)
{
}
else
{
System.out.println("Deleting File-->"+" " + FullPath);
System.out.println("");
______________________________________________________________
Altruist Technologies
FullPath.delete();
}
//Thread.sleep(100);
}
}
catch(Exception ex)
{
System.out.println("Error Occured-->"+" " + ex);
}
}
}
}
import java.io.*;
import java.util.*;
import java.sql.*;
import java.lang.*;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.text.DecimalFormatSymbols;
import java.util.Date;
import java.text.SimpleDateFormat;
import java.lang.Integer;
class FileCopy
{ //Function to print the exception
private void alert(Exception e)
______________________________________________________________
Altruist Technologies
e.printStackTrace();
{
int i,j;
try
{
Try
{
BufferedWriter[] Out = new BufferedWriter[160];
BufferedWriter[] TotalSubs1=new BufferedWriter[160];
BufferedWriter[] Promo1=new BufferedWriter[160];
BufferedWriter[] HelloTune1=new BufferedWriter[160];
int[] TotalSubs=new int[160];
{
System.out.println("totalsubs length---->done good .."+TotalSubs.length);
}
for (i=0; i<TotalSubs.length; i++)
{
TotalSubs[i]=0;
}
for (i=StartChannel;i<=EndChannel ;i++ )
{
Out[i] = new BufferedWriter(new FileWriter( FolderName +FileName + i+ ".txt",true));
}
String str;
int isEOFile = 1;
while(isEOFile==1)
{
for (i=StartChannel;i<=EndChannel ;i++ )
{
if ((str = in.readLine()) != null)
{
if (Integer.parseInt(str.substring(0,1))==0)
{
Out[i].write(str);
TotalSubs[i]=TotalSubs[i]+1;
______________________________________________________________
Altruist Technologies
Out[i].newLine();
}
else
{
Out[i].write(str);
TotalSubs[i]=TotalSubs[i]+1;
Out[i].newLine();
}
}
else
{
isEOFile=0;
}
}
}
for (j=StartChannel;j<=EndChannel ;j++ )
{
Out[j].close();
}
in.close();
{
TotalSubs1[i] = new BufferedWriter(new FileWriter( FolderName +TotalSubsFile+ i+
".txt"));
TotalSubs1[i].write(Integer.toString(TotalSubs[i])) ;
TotalSubs1[i].close();
}
for (i=StartChannel;i<=EndChannel ;i++ )
{
Promo1[i] = new BufferedWriter(new FileWriter( FolderName +PromoFile+ i+ ".txt"));
Promo1[i].write("STARTPROMO");
Promo1[i].close();
}
for (i=StartChannel;i<=EndChannel ;i++ )
{
HelloTune1[i] = new BufferedWriter(new FileWriter( FolderName +HelloTuneFile+ i+
".txt"));
HelloTune1[i].write("0");
HelloTune1[i].close();
}
return("yes");
}
catch (Exception e)
______________________________________________________________
Altruist Technologies
{
alert(e);
return("no");
}
}
catch (Exception e)
{
alert(e);
return("no");
}
} //Function to move the created files in the required folders
try
{
File srcFile = new File( absSrcName );
if ( srcFile.renameTo( destFile ) )
return("yes");
else
{
return("no");
}
}
catch( Exception x )
x.printStackTrace();
}
return("no");
} // End Function to copy and paste the created files in the required folders
Try
{
FileCopy objFileCopy=new FileCopy();
int Channels;
String SourceDir,DestDir;
int StartChannel,EndChannel,count;
DestFileName="HelloSubs" ;
TotalSubsFile="TotalSubs" ;
PromoFile="Promo" ;
StartChannel=105;
EndChannel=118;
SourceDir="E:\\HelloTunes\\OBD1\\";
if
((objFileCopy.divideAndMakeFile(SourceDir,SrcFileName,TotalSubsFile,PromoFile,HelloTuneFil
e,StartChannel,EndChannel))=="yes")
{
for (count=StartChannel; count<=EndChannel;count++ )
{
DestDir="E:\\HelloTunes\\" + Integer.toString(count) + "\\log";
If
(!new File(DestDir).exists())
new File(DestDir).mkdir();
else
{
DeleteDirectory(new File(DestDir));
new File(DestDir).mkdir(); }
______________________________________________________________
Altruist Technologies
if (objFileCopy.copyAndPasteFile(SourceDir,DestDir,SrcFileName+integer.toString(count)
+".txt",DestFileName+".txt")=="yes")
{
If (objFileCopy.copyAndPasteFile(SourceDir,DestDir,TotalSubsFile+Integer.toString(count)
+".txt",TotalSubsFile+".txt")=="yes")
If (objFileCopy.copyAndPasteFile(SourceDir,DestDir,PromoFile+Integer.toString(count)
+".txt",PromoFile+".txt")=="yes")
If (objFileCopy.copyAndPasteFile(SourceDir,DestDir,HelloTuneFile+Integer.toString(count)
+".txt",HelloTuneFile+".txt")=="yes")
filename.delete();
}
}
catch(Exception excep){ excep.printStackTrace();}
}
}
______________________________________________________________
Altruist Technologies
Architecture:
(c ) Basic elements
filled: what to do if user input is recognized
value: return a field’s value
goto: go to another form or file
submit: go to another file and keep field values
</vxml>
What do we want
to know?
What’s next?
Acceptable answer
Wrong answer?
No answer?
Possible answers
Question
Example:
______________________________________________________________
Altruist Technologies
(h) Events
<nomatch count=3> What did you say ? </nomatch> Similar to exceptions
Thrown by Platform: ASR misrecognition Application: <throw>
Handler Specific: <noinput>, <nomatch>, <help> General: <catch event=…>
Can count number of event occurrences Successive ASR errors with different
repairs
The main basic table used in voice chat, it contains all the entries which
comes into the service.
Column Name Data Type Precesion
serialno int 10
mobileno varchar 10
subId int 10
PlanId int 10
MmsKeyword varchar 10
requestMode int 10
deliverymode int 10
gwdatetime datetime 10
regId int 10
validitydate datetime 10
inittransid int 10
trRequest int 10
Amt int 10
nDays int 10
isBilled bit 10
OperatorId int 10
CircleId int 10
OperatorIdentifier varchar 10
trInitiater int 10
OprBillResponse varchar 10
DivisionId int 10
ClientId int 10
ShortcodeId int 10
responsedate datetime 10
campaignId int 10
contenttypeid int 10
BillingType int 10
UsageMinutes int 10
UserAccountType varchar 10
2).Subscriptionbilled:-
This table contains the entries whose billing has been done. It’s main fields are
RegId int 10
mobileno numeric 18
Name varchar 25
Sex bit 10
Address varchar 25
City varchar 15
Proviance varchar 15
Organization varchar 15
RegistrationDate datetime
SubId int 10
UrlId int 10
LastPushLevenNo int 10
unsubflag int 10
UpdateDate datetime
TransID int 10
Channel varchar 10
Pushdate datetime
ValidityDate datetime
RenevalAlert int 10
AlertUrl varchar 10
SubscriptionMode varchar 10
PlanID int 10
dctLoginName varchar 15
ProviderMasterId int 10
OperatorId int 10
CircleId int 10
OperatorIdentifier varchar 10
CampaignId int 10
nRenewal int 10
UserRequestedPlanId int 10
ShortCodeId int 10
UsedMinutes int 10
BalanceMinutes int 10
5.9 Limitations
Simple mixed initiative How to retrieve information from a database?
What about more advanced dialogue system features?
Content summarization Multiple database entries Find alternatives answers
Dynamic grammars If the database changes, the recognition grammar must
adapt
Generate VoiceXML pages dynamically
processes the results The script outputs VXML code which is interpreted by the
browser.
5.10.1 Dynamic VoiceXML
(Database)
JSP, PHP,
Perl scripts
5.11 Conclusion
VoiceXML has become a standard All-in-one solutions available Reduces
dialogue system development time Comes with limited dialogue management
and language generation capabilities Additional functions can be easily
Implemented Develop your own dialogue system with free VoiceXML browsers!
6. SOFTWARE TESTING
6.1 INTRODUCTION:
Testing of software deals with checking of the software that whether it is
working as it should be according to the system design. The software should
not be performing any functions less than the required and also not follow
something extra or perform unwanted operations. Thus a software testing
______________________________________________________________
Altruist Technologies
deals with the process of verifying that the system works according to the
requirement specifications and the system design.
The testing may be done in many ways. On the basis of the knowledge
of the software tester the testing may be divided into three groups. They are:
6.1.1 Black-Box Testing: In Black-Box Testing the tester only knows what
the software is supposed to do-he can’t see how it operates. If he types in
a certain input, he gets a certain output. He doesn’t know how or why it
happens, just that it does. Means run a test, give input and verify its
output and if any bug or unexpected result u have faced, and ask
developer to review its related code.
6.1.2 White-Box Testing: While in White-Box Testing the software tester has
access to the program’s code and can examine it for clues to help him
with his testing-he scan see inside the box. Thus we can say that in white-
box testing the tester has knowledge about the software that what and
how the things are going on inside the system. Thus he can debug that
the certain error is coming from which part of the software.
6.1.3 Static Testing: Static Testing refers to testing something that’s not
running, means just examining and reviewing it without running it. It is just
related to reviewing of concerned code.
6.1.4 Dynamic Testing: While the Dynamic Testing refers to the process that
you would normally think of as testing-running and using the software.
Other testing procedures can be the mixture of the above i.e. Static Black-
Box testing, Dynamic Black-Box testing, Static White-Box testing, and the
Dynamic White-Box testing and so on.
The testing could be done on basis of confirming the behavior of a module and
the features related to a particular type. This is the Object based testing. One
could say that the process of testing is fully related on the Software
Development Model followed to develop the software. If there is no record of
requirements and design specifications of the software then one could not
think of the Static testing of the software. Similarly the dynamic testing is
______________________________________________________________
Altruist Technologies
possible only at the completion of some portion of the project. The project
should be in the state of running for the dynamic testing.
6.1.5 Conclusion: The test cases are based to test the behavior in a specific
condition. They are formed generally to test each and every part of the code
i.e. each statement is executed at least once when testing the software.
The first step is to test the application for all the methods. They are checked
whether are working according to the requirement specifications or not. Only
after rigorous testing, the module is passed to the next phase.
The second phase consists of the Negative testing. I played with the
application and just try to produce an exception. Still the software application
should be good enough to handle all the activities of the user and still behave
properly. This is a real test of the application from the torture level point of
view. The application, which passes from this phase, is then sent to the next
and the final phase of the testing.
Thus each of the methods in the application undergoes rigorous testing before
being actually opened for the users.
For Black Box testing, we have made a number of automated test cases,
considering all the run time requirements. These test cases are made in such a
way that about every part of code would be executed by the tester, at least for
once. So the tester can run these test cases without continuously giving his
time to these as these are capable to run themselves without requiring
interaction from tester. So in this phase, there is a little to do for tester, just he
is responsible only for running this test case unit and for sending them to
concerned authority, after their completion.
For white box testing, we have followed unit-testing procedure. Besides it, we
have also followed the static testing technique, to make our code more
efficient. For it, the senior engineers, generally working in same team, are
appointed for reviewing of any particular part of component. This helps us in
optimizing our code quality and in rectifies the hidden bug in our architecture,
which is traced out by reviewing of code, due to experience of concerned
appointed engineer.
______________________________________________________________
Altruist Technologies
1. Open the VNC server and enter the IP address for the Landline server.
2. Open the VOSBOX (ADL Display).
3. Right click on the vosbox and select the control panel.
4. In the control Panel, select the ADL (Topaz).
5. In Topaz, we check for the channels on which our Trunk and Media
resources are running. By clicking the refresh button we can check the
present status of the channels like Idle, Calling, Connected, Remote
Disconnected etc.
6. If they are working properly, then click on Close.
7. After that go to E:/IVR/Update folder.
8. There create a file number.txt which contains the dialing number.
9. After that we open the ADL display to check the call status.
10. If the service is running properly, then we stop, otherwise next step
is followed to correct it.
c).Find the problem: Under this, there may be different errors responsible
for the problem such as:
1. Database error : If there is a database error check weather the record
in the database is ok or not. Check for the procedures used.
2. VOS error : If there is a problem regarding incoming call and outgoing
call
then check the code written in VOS.
______________________________________________________________
Altruist Technologies
4. Text File error : If there is any problem regarding logs then check for the
code which is used to make corresponding logs.
5. VAS error : If there is any error in writing the records in the database or
there is any error in calling procedures then we check the VAS.java file.
As this code is used for the connectivity of Database and VOS Code.
7.1 EVALUATION:
We have following approaches for the evaluation
1) Benchmarking- Comparing the performance of hardware and
software.
2) Experience of other users- Vendors generally gives a list of users
who are satisfied with their work. But it is advisable to seek the
opinion independently.
3) Report of independent research organizations- Many research
organizations undertake project of evaluating the proprietary
software offered by various software agencies. They publish the
report at regular interval. The prospective buyer of a software
package can have faith in their evaluation.
In our case we have evaluated our System and found that the hardware and
software are in absolute sync with each other. Their performance has been
found to be up to the mark. We also compared our software with other
recruitment systems on other platforms and found that we were offering a
much better system at a lesser price and on a more sophisticated and user
friendly technology. Plus we offered complete maintenance and support for a
certain period of time.
7.2 IMPLEMENTAION:
Implementation includes all those activities that take place to convert from old
system to the new one. The new system may be completely new. Successful
Implementation may not guarantee improvement in the organization using the
______________________________________________________________
Altruist Technologies
new system, improper installation will prevent it. Implementation uses the
design document to produce code. Demonstration that the program satisfies
its specifications validates the code. Typically, sample runs of the program
demonstrating the behavior for expected data values and boundary values are
required. Small programs are written using the model: It may take several
iterations of the model to produce a working program. As programs get more
complicated, testing and debugging alone may not be enough to produce
reliable code. Instead, we have to write programs in a manner that will help
insure that errors are caught or avoided.
6) Our system not only met the user requirements but to certain extent
exceeded in achieving much more then what was actually needed.
Value Added Services are those mobile operator's services that allow
customers to do more from their phones than just traditional voice calls to
other phones. The emerging trends in mobile telephony clearly point towards a
domain vastly governed by the customers' whims and fancies.
The Value added Services (VAS) offered by Altruist are in sync with the tastes
and preferences of subscribers and range from Entertainment, Gaming,
Information to Community services (Music cards, Tambola, Quiz, Cricket, self
provisioning, group messaging etc).
(a)Voice Chat: Voice Chat service is for the subscribers who wish to chat with
varied people without disclosing their identity. All they need to do is create a
Chat Id and Login by sending SMS with specific keywords to a number. A list of
Chat rooms and currently online ID's are provided on the mobile screen.
Subscribers can search for the Id they feel fascinated to talk to and call a
preconfigured IVR number followed by the chosen Id they wish to talk to and
chat!
(c) SMS Chat: SMS Chat service provides you with all the features of
Chatting , a login Id, chat rooms, chat groups etc all on the subscribers mobile.
The user just needs to create a unique Chat Id , login, join a room or send
personal messages to other chat Id's which are received on the other's mobile.
The user's mobile number is never disclosed. Subscriber is recognized only by
the chat Id he/she has created.
(e) Music: Music is loved by all and Altruist loves to encash the fact by
providing a wide variety of services all based on music. Be it Jukebox or
dedications, all behold the potential to enlighten the subscriber with lively
music of vivid kind.
(f) Jukebox: We as humans, all have music linked to few special moments in
our lives and on hearing our song we end up reliving those personal events.
Jukebox allows your subscribers to listen to their own song anytime anywhere.
It also prompts your subscribers to express their feelings through song
dedications or allow them to simply share music with their loved ones which in
turn assists you as an operator to have emotionally loyal subscribers
(g) Gaming: Gaming segment is devoted to subscribers who like to use their
mobile phones to enliven their moods by choosing a game to play. Our games
can be used not only to refresh the moods of the subscribers but also make
them all the happier by offering special prizes to winners. The list of games
include,Tambola, Quiz.
(h) Quiz: Quiz is an IVR based service. In this quiz user needs to dial a
preconfigured number and participate in the quiz. Subscribers are asked to
choose the category and then questions related to that selected category will
be asked. Every correct answer gives the user some credits which he can
gather and qualify to win.
______________________________________________________________
Altruist Technologies
(i) Tambola: Tambola is one of the most popular games among Indian masses
and is often a part of games at clubs and parties. Tambola has the potential to
attract all masses irrespective of their age or gender. A unique game which
gives a feeling of competing with others and winning prizes. Altruist offers this
game a universal approach by making it available on a mobile phone. A feeling
to play anytime anywhere.
(k) Horoscope: Who does not wish to know what their star signs have in store
for them. How their stars define their personality. Altruist can provide a
customized Horoscope to all mobile subscribers both on IVRS and SMS.
(l) Cricket Updates: A cricket match going on and you are away from your
Television set. Wish to know what the scores could be like. Who could be
batting? Who took how many wickets etc? Altruist offers a service on USSD,
SMS and IVRS dedicated just to bring mobile subscriber with the latest
updates on the cricket match.
Every student is concerned about his future and wants to know about various
career opportunities available to them. Altruist provides information about the
upcoming competitive exams and the tips to prepare for them.
specific keyword to a number. It is an every day attraction for those who wish
to start their day with a new music on their phone, a new Logo and a different
wallpaper to dress their mobile!
(b) Ringtone Download: By this service you can download the exiting Ring
Tones. Altruist provides you the option to choose the Ring Tones from various
categories and download them. For download you just have to send a SMS as
TONE <CODE> to a pre-configured number. You can also download ring tone
by making a call on a pre-configured number, and then choose your category
and your selected tone will be downloaded on your mobile.
8.2 REFERENCES
Google Search Engine
Java in a Nutshell
By David Flanagan
Programming and Problem Solving With Java
By Nell B. Dale, Chip Weems, Mark R. Headington - 2003
Java Network Programming
By Elliotte Rusty Harold - 2000
JavaTech, an Introduction to Scientific and Technical Computing with Java
By Clark S. Lindsey, Johnny S. Tolliver, Thomas Lindblad - 2005
Java 2: A Beginner's Guide
By Herbert Schildt - 2001
Oracle in a Nutshell
By Ricky Greenwald, David C. Kraines - 2003
Mastering Oracle SQL
By Sanjay Mishra, Alan Beaulieu - 2004
Oracle PL/SQL Programming
By Steven Feuerstein - 2002
Securing Windows NT/2000 Servers for the Internet
By Stefan Norberg - 2000