|
|
|
Power |
Telecom |
Transport |
Others
Development of "Location ID" system in CTI-GIS interface: A real-time telephone call tracer G. K. Tripathy, S. Sen, S. Shukla and P.
Jothimani Applied Technology Group, Tata Infotech Ltd, SEEPZ Andheri
(E), Mumbai 400 096 gk.tripathy@tatainfotech.com
Commercial applications using GIS techniques is not much
realised in India. With the use of Internet as a medium for disseminating
information to larger population the role of GIS in terms of commercial
applications have been multi-folded. Both GIS and Internet technologies are
definitely in the forefront of present IT developments in application sectors
like telecommunication, e-commerce, navigation, videoconferencing and power
systems. Recent developments in public health and security systems to improvise
their targeting and response time are based on GIS, GPS and Internet
technologies. In this direction the present work discussed here by authors is a
trend setter in GIS-telecommunication applications in the Indian scenario.
Objective "Location ID" system is an amalgamation of CTI
(Computer Telephony Integration) and MapInfo GIS to deliver the locational
information of a telephone caller. This is based on acquiring the Caller’s
identity number through CTI and using digital data of city and its telephone
users’ addresses. As a call is registered through CTI, the display module based
on GIS is used to locate the address (location) of the caller over the digital
map. The system also generates a delivery path, allocation of nearest place of
attendance and work order to follow up the route from the position of the
caller. Designed SolutionThe proposed solution of Location ID
system consists of few modules and takes into care few aspects of the conditions
that are involved in the development and integration of the modules. These are
- The Telephone Customers data of MTNL is available with MTNL and updated from
time to time. These contain three distinct fields of addresses in the database
records namely region, road and building/monument.
- Marine Lines which is a region in Mumbai city was taken as a sample area for
demonstration of the system. The region contains both residential and
non-residential telephone subscribers.
- The address of an area can be found from the digital data of Mumbai city
corroborated by the postal zone addresses from the corresponding post office.
- The process of obtaining Location ID is required to be instantaneous and
hence the availability of an indexed database of telephone numbers and the
lat/long position is required for quick recovery of information. For this
purpose the Location ID database has to be kept ready for reference for the
program. This database maybe refreshed and updated by using a geocoding program
incorporated within Location ID system.
- Routes (shortest routes) similarly have to be computed and kept ready for
paths between the points (from the Caller to the destination) on the road
network.
- The CTI can capture the events of incoming call and capable of getting the
CALLER ID and write the CALLER ID into a file. Triggering of the MapInfo Display
could also be done using the CTI.
- Using the above information the proposed solution is graphically described
below.
Systen Description CTI Interface CTI refers to the
coordination of telephone calls with data processing functions. For example,
when a call comes, it can be identified through its ANI (Calling number,
obtained via ISDN or analog lines enable for caller identification). This
identifier can trigger a database lookup to determine which department the call
should be connected to, and who is the likely caller. The application may even
consult the clock, forwarding calls to different agents or to a completely
automated IVR (Interactive Voice Response) system depending on the time of day.
Description of a typical CTI architecture can be found in appendix A.
In the Location ID- CTI, the event of an incoming call and the
capture of the CALLERID (Caller Identification) are trapped. This program runs
as a continuous process monitoring the CTC server. In the event of a call the
CALLERID is written into a text file in the root directory and the display
module of the Location ID is executed. Display Module The Display Module
runs in a MapInfo GIS environment. It utilizes the map data of the city (say
Mumbai), namely the building/ monument, road and region data and also uses the
Location ID table and the Routes table created by the Geocoding Tool and the
Path Finding tool respectively. On execution the Display of all the maps
in a single window is done. After reading the last entry of telephone number in
the text file (trt.txt) done by the CTI program, the Display module then blinks
at the point represented by the location (x,y) in the Location ID table. The map
is also centered to that point. This action could be repeated by making clicking
on the first button (Refresh) in the Location ID menu. On Clicking the
second button the Shortest Route to that point from a predefined point based on
the routes table is displayed. On Clicking the last button the list of
roads to be traversed is displayed along with their identification numbers and
the length. Geocoding Tool This tool reads input data from the telephone
users’ addresses (directory data) and writes into the Location ID table its
latitude and longitude entries as x and y respectively. The values are read
after matching the address fields to the map objects in the corrected digital
map data. The matching is done based on region, street and building/(point
features) matching sequentially. The string search is based on current name, old
name and plot number in case of buildings while for streets it is old/new street
names and pin code/locality name respectively. Path Finding Tool This
program reads the Location ID table and finds out the shortest path to that
entry from a predefined point. The program finds these routes using the
Dijkstra’s single source shortest path algorithm from a single vertex. These
routes are stored in the Routes table with the telephone numbers as their id.
The tool requires road data in tabular files (*.tab) and these road data need to
be clean (devoid of dangles, multi-polyline object-free, circular path-free
etc). A brief description of Dijkstra algorithm is described in the appendix B.
Technical Requirements The basic hardwares
/softwares those are required to run the system are as follows.
Hardware & Software
- Pentium II based PC with 32 MB RAM (64MB recommended) with standard features
and 256 color display)
- 1.2 GB Hard disk memory
- D21 H DialogicVoice Processing Board.
- Windows NT 4.0/ 95 OS
- MapInfo Professional ver 5.0 or above
- CT Connect software
- Switch Drivers for Dialogic processor board
Installation For installation of the program the following
data files/tables, as shown below, are copied into the directory (C:\LOCID).
"Wards.tab", "Railways.tab", "Roads.tab", " Landmarks.tab", "Location
ID.tab"
"test.tab", "routes.tab", "landuse.tab", "trt.txt",
"MTNLdata.tab", "Test0.2.MBX"
The tools of Geocoding and Path Finding
(Geocode.mbx and Route.mbx) can be installed optionally. The CTI component needs
to be installed separately.
Application Execution Make the
CTI application active by running it (the CTC service on the server should be
available). Wait till a telephone call is registered. In the event of an
incoming call the blinking occurs for 5 seconds after which the place is labeled
with a number. The number corresponding to it in the message window follows the
details like latitude and longitude position, address and name of the Caller.
To repeat the Blink action press the first button on the Location ID
menu. To find the shortest Path click on the second button. The shortest path to
the point from the prefixed destination is displayed. To generate the Work Order
browser table that is the list of roads to be traversed along with length
information click on third button.
On receiving a new call a new MapInfo
GIS window is opened. To obtain the information on the same window click on the
first button of the Location ID menu in the first MapInfo window. The window
display is as shown below. The execution process continues in the batch mode
throughout till the user desires to cancel.
 Image
Conclusions In our system testing, we
have successfully executed a small sample of Mumbai city. There are few
disadvantages of the system those are due to inherent inaccuracy or error in the
input data. The road names are either missing or have duplicate names. The
telephone subscribers’ addresses do not have one-to-one match with that of city
digital records. The level of accuracy in digital data can not be in the
individual subscriber’s level. Sometimes the road data, having both-ends not
connected or even circular, need to be cleaned before using the routing
solution. Due to these errors, the system does not give any solution. We are,
therefore, updating our "Location ID" system to take into account these errors.
Acknowledgements We are very much thankful to Dr. Arun Pande,
Head, Applied Technology Group, Tata Infotech Ltd, for his conceptualisation of
the application and guidance for reviewing and demonstration of the application
system. We are thankful to Mr. Sanjay Agrawala of IDS, Calcutta for permitting
to use "Amchi Mumbai" Digital data in demonstrating the system.
Refrences
- MTNL CD-ROM data of Mumbai, 1998, Mahanagar Telephone Nigam Limited, Mumbai,
India.
- Reference Manual of MapInfo Professional, Fourth Edition, 1997, MapInfo
Corporation, New York, USA.
- Reference Guide of MapBasic, Third Edition, 1996, MapInfo Corporation, New
York, USA.
- Student Workbook, Introduction to MapInfo Professional for Windows, 1997,
MapInfo Australia Pty Limited, NSW, Australia.
Appendix
- The classic CTI- MapInfo architecture is graphically described below.
 Image1
 Image2
 Image3
 Image4
 Image5
 Image6
 Image7
 Image8
 Image9
 Image10
- Following is a brief description of the path finding algorithm
.
Sub_sequential_Dijkstra //init ds=0 di=100000000, {T}={V} //loop
structure For I=0 to N-1 Func_find [Vm,{T}],[Min dm] for
edge(vm,vt)where vt belongs_to {T) if dt> dm+length((vm,vt))) then dt=
dm+length((vm,vt))) end if next edge T=T- vm next I end
sub
 Image13
Page 1 of 1
|
|
|