A PBX-BASED APPROACH FOR TELECOMMUNICATION
NUMBER PORTABILITY SERVICE
C. W. Cheng
Department of Computer Science and Information Engineering, National Chiao Tung University, Hsin-Chu, Taiwan
C. G. Chung
Department of Computer Science and Information Engineering, Chang Gung University, Kwei-Shan Tao-Yuan,Taiwan
Keywords: Number portability, PBX, cache policy.
Abstract: Number portability (NP) servic
e has become an important factor in enhancing the competitiveness of a
service provider. Although NP service is available now, NP database (NPDB) query and portable number
translation are all-call-based, and the time required to process a NP call is long. It is an overhead to the
operator and the user. How to reduce the impact of NP call process is an important issue. Considering an
organization often has dialled number locality, we suggest applying caches to PBX to keep the routing
information of portable numbers. In this paper, the interoperation of PBX and operator network is
introduced. We also demonstrate the workload of portable number translation is shared out to PBX, the
delay time of querying routing information is shorten, and the efficiency of NP call process is enhanced.
1 INTRODUCTION
The service of number portability (NP) that allows a
subscriber to keep a unique telephone number even
when changing service providers is an important
factor for fair competition among telecommunication
operators (Gans, King & Woodbridge 2001).
At present, approaches to support number
p
ortability in switching circuit networks (SCN) are
often implemented on the Intelligent Network (IN)
architecture (Lin & Rao, 2003). A number portability
database (NPDB) is required for an operator to
maintain the mapping between portable numbers and
destination addresses. Number translation is
all-call-based. Every NP call requires a NPDB query
for portable number translation. In addition, when a
number was ported out, the whole cluster of numbers
were taken as portable numbers. With the increase of
NP subscribers, NPDB grows cumbersomely, the
workload of NPDB is heavy, and the delay time for
NPDB query increases to prolong the call setup
process.
Many researches tended to enhance the call setup
ef
ficiency by improving the performance of database
query. (Carpenter et al, 2000) pointed out that caches
can offload a substantial amount of traffic at a
database. To alleviate the workload of NPDB, a
cache keeping the destination address of portable
numbers can be applied to the system to reduce the
delay time of portable number translation. But
implying caches to the NP service still has problems.
Once a cache is implemented to the switching
center
of the operator, the numbers dialed from the
numerous subscribers are scattered. To increase the
cache hit ratio, the cache size must be large to
accommodate the amount of dialed numbers. This
could burden the effort of cache query and
management. If the cache is applied to terminals, the
altered routing information of portable numbers must
be updated from operators to all terminals; that may
consume considerable communication resources, but
the service provider makes no profit from it.
Caches profit when the variation of data is
occasional
or the accessed data has locality. From
the telecommunication network hierarchy, we found
that a lot of telecommunication traffic was generated
by organizations. Organizations usually have sets of
frequent contact targets, thus the locality of the
dialed numbers is distinguishable. When the
frequently dialed numbers are portable numbers, the
total time delay for waiting NP call setup is
137
W. Cheng C. and G. Chung C. (2005).
A PBX-BASED APPROACH FOR TELECOMMUNICATION NUMBER PORTABILITY SERVICE.
In Proceedings of the Second International Conference on e-Business and Telecommunication Networks, pages 137-142
DOI: 10.5220/0001417601370142
Copyright
c
SciTePress
appreciable. Moreover, every NP call setup requires
NPDB queries and consumes extra communication
resources, but service providers rarely make profit
from the process. Organization usually established
PBX (Private Branch Exchanges) for saving
telecommunication cost. We propose to apply caches
to PBX. By evaluating the costs and benefits of
applying caches to PBX, we show that PBX with
cache is a reasonable solution that can remarkably
alleviate the traffic and workload of databases and
improve the efficiency of NP services.
The rest of this paper is organized as follow.
Section 2 gives an overview of related work. Section
3 introduces caches to the telecommunication system
to enhance the efficiency of NP call process. Section
4 investigates the performance of caches in NP
service. Finally, section 5 draws the conclusion.
2 RELATED WORK
NP implementation schemes can be classified into
on-switch and off-switch solutions (Black 1998).
Methods of on-switch solutions implement routing
knowledge on switching centers of the service
network. When an originating network, which a
caller connects to, receives a call, it routes the call to
the donor network, which first assigned the
telephone number to the callee, by the prefix of the
dialed number. The donor network routes the call to
the destination network by the information of the
mapping of dialed numbers and the destination
addresses in the gateway switches. The operation
logic of a switching center alters whenever a number
is ported out or in. The frequent alteration decreases
the stability of communication services and increases
the cost of system operation and maintenance.
To prevent the alteration of switching networks,
off-switch solutions use Intelligent Network (IN) as
the implementation basis (Lin & Rao 1999). An
NPDB is implemented for maintaining portable
numbers and the corresponding destination addresses.
Here we assume a global NPDB (GDB) which is
centrally maintained by a neutral organization
(Number Portability Administration Center, NPAC)
is available. All portable numbers of every operator
are recorded in GDB. Operators may make a copy of
NPDB to their networks to omit the delay of long
term GDB.
There are four off-switch schemes for solving the
NP problem: all call query (ACQ), query on release
(QOR), call dropback (also known as return to pivot,
RTP), and onward routing (OR) (Kim & Yong 2003).
The four schemes exist in the NP solutions of
different countries: UK, Finland, France, Germany,
Span, Singapore, etc. <http://www.arcome.com>,
<http://www.ida.gov.sg>, <http://www.tct.hut.fi>.
The considerations of which scheme to adopt include
the network resources, the policy of addressing and
routing, the impacts on the signaling system, and the
interworking with other services. ACQ and call
dropback are the two most popular solutions.
z All call query (ACQ): The originating network
initiates a query to NPAC when determining the
dialed number is a portable number. NPAC
returns the destination address of the number,
then the originating network routes the call to the
destination address to set up the call. It is the
most efficient of using the network transmission
facilities.
z
Call dropback: The originating network receives
a call and routes the call to the donor network by
the prefix of the number. The donor network
determines the number was ported out, it returns
the routing address of the numbers new
subscription network and release the call. Then
the origination network re-routes the call to the
destination network. The routing information is
maintained in the donor networks of portable
numbers. However, transmission resources are
occupied during the routing of calls. This may
reduce the efficiency of source network.
The drawback of the existing methods results
from the growing database size. Every call
terminated to a portable number initiates a database
query. Numerous NP service subscribers incur a
cumbersome database that severely encumbers the
efficiency of routing information query and call
setup process.
3 APPLYING CACHES TO PSTN
3.1 Analysis of calling behavior
Cache performs well when the data variation is
infrequent and the data has access locality.
Implementing caches to switching centers the size of
the cache either is too large to be practical or the hit
rate is too low to be efficacious. On the other hand,
caches on terminals suffer from the alteration of
subscription networks, which will cause the change
of caches in all terminals.
In fix-lined telecommunication systems, an
organization (e.g., a company, an enterprise, a
campus, or a government department) often
establishes PBX for saving telecommunication cost.
A PBX is an exchange which enables organization
members to call each other freely, and to make and
receive calls from users served by the public network.
ICETE 2005 - GLOBAL COMMUNICATION INFORMATION SYSTEMS AND SERVICES
138
The communications within a PBX service region
are routed by the PBX, without using the
communication resource beyond. A PBX has one or
more physical channels that connect to a local
exchange, the communications beyond the PBX are
routed to the public network through the local
exchange (Black 1998).
The communication targets of an organization
usually have locality. For example, organizations
like government departments or retail businesses
have frequent contact objects to solve problems or to
supply merchandise. The communication targets of
an organization may be diffused, but always include
a set of cooperation subjects. From the view of
telecommunication network hierarchy, the quantity
of users within a PBX service region is moderate,
and the locality of PBX contact targets is
distinguishable.
Portable numbers are determined as external calls
of PBX that is routed to local exchanges. The local
exchange determines whether the request can be
processed locally, or should be routed to a higher
layer switch. If a switch can translate a portable
number, it consults NPDB to determine the routing
information of the number to routes the call;
otherwise, it routes the request to the higher layer
switches for number translation.
3.2 Applying caches to PBX
3.2.1 The operation of caches in the fix-lined
telecommunication system
For maintenance and long-term operation, operators
generally adopt off-switch schemes for NP
communication services. The purpose of caches on
PBX is to share the workload of portable number
translation, and to alleviate the traffic load of NPDB
for shortening the call setup time and enhancing the
utilization of communication resources.
Caches on PBX keep the routing information of
dialed numbers (both portable and non-portable
numbers) to omit the delay of NPDB queries. A
mechanism is needed for PBX to inform the
confirmed routing information of the called parties
to the public switching system, thus the call can be
routed directly without querying NPDB.
The communication beyond PBX must through
the public communication system. Conventionally,
PBX route every external call to the public network
through local exchanges. When caches are applied to
PBX, a PBX checks the internal cache before routing
an external call. A cache hit indicates that the
destination address of the dialed number is
confirmed, and the NPDB queries can be omitted.
PBX adds a special code (e.g., *14*, *30*) in front
of the dialed number to indicate the destination
address of a dialed number was confirmed and
appended to the call originating request. The public
switching system recognizes the code and routes the
call by the appended routing information without
querying GDB or donor NPDB.
PBX
cache
Exchange
NPDB
Terminating
switch
Subscription
GW/NPAC
NPDB
Ben
*14*Ben_dest
Ben_dest
Ben
NPDB
1
2
3
4
5
6
Originating network Terminating network
Donor/NPAC network
Figure 1: A special code is used to indicate a cache hit
Figure 1 illustrates the basic NP call process. A
call is made from a PBX to an external user Ben.
PBX determines the request is an external call and
checks cache for the destination address of Ben (step
1). In the case of cache hit, PBX appends a special
code “*14*” and the obtained destination address to
the call originating request. The request is sent to a
local exchange (step 2). The public switching system
routes the call to the called party Ben without
querying NPDB (step 5 & 6).
When a cache miss, the routing information of
the called party should be solved by higher level
exchanges. The PBX routes the call originating
request to the local exchange without modifying the
request or adding any special code. The public
switching system determines that is a NP call, and
consults NPDB to translate the number (step 3 & 4),
and routes the call to the called party (step 5 & 6).
The signaling systems of operators usually have
the function to process special codes (e.g., the code
“*67” in USA prohibits displaying the callers
telephone number to the called party). Applying
caches to PBX requires adding a rule for new special
code in the signaling system without altering the
operation logic. It is feasible for operators to
implement the new service.
3.2.2 Issues of applying caches to PBX
Following the communication model of PBX with
caches, the issues of cache implementation
encompass the policy of establishing a cache, the
update of cached data, and the size of the cache.
z The policy of cache establishment
Caches should keep as many as possible the
destination addresses of portable numbers, but the
size of a cache is restricted that the data can be kept
in is limited. The cache hit rate increases when the
A PBX-BASED APPROACH FOR TELECOMMUNICATION NUMBER PORTABILITY SERVICE
139
accessed data has locality. To improve the cache hit
ratio to enhance the efficiency of NP call setup, the
cache needs to expose the communication habits of
users of the PBX service region.
There are two approaches for cache
establishment: The dynamic cache policy supposes
the most recently dialed numbers shall be cached for
they might be dialed repeatedly in a span; from
another point, the static cache policy believes the
frequently dialed numbers must be cached for they
represent the most frequently contact targets for a
long-range observation.
When the subscription network of a cached
number changed, the cached routing information
becomes obsolete. This will bring about miss-routing
calls that consume extra signaling and transmission
resources and prolongs the call setup time. Follow
the dynamic cache policy, the altered routing
information must be updated dynamically, thus the
signaling system of the public network must be
modified to notify PBX to renew the routing
information immediately. Besides, cache
replacement happens whenever a new data is
inserted to the cache; this may replace expected data
and decline the hit rate. The costs to modify the
signaling system of public networks, to management
a dynamic cache, and to update routing information
in caches are expensive. Consequently, dynamic
cache policy is not feasible for PBX caches to
enhance the performance of NP service.
On the contrary, a static cache keeps the most
frequently dialed numbers (FDN) of the PBX. The
establishment and alteration of a static cache is
manually performed by the system administrator of
an organization. When a member joined an
organization, the member proposed a set of FDN to
the system administrator. The system administrator
sends the FDN set to a contracted operator to obtain
the corresponding routing information. This is a
batch process that can prevent inconsistent data in
the cache. When a contact target changes
subscription network, the contracted operator sends
messages to registered PBX to notify the alteration.
While the contact targets of an organization have
locality, and the change of members is infrequent,
the variation of FDN is gentle. The complexity of
establishing and maintaining a static cache is much
less than that of a dynamic cache. The hit rate of a
static cache is proportional to the probability the
FDN be dialed.
z Cache update
The cache update can be initiated by PBX or by
operators. Operators can provide a service for PBX
to consult the routing information, and the
consulting can be processed off-line in off-time to
reduce the impact on operators and PBX, even can
be served through Internet. Or a PBX can register a
profile of FDN to the contracted operator, thus the
operator can notify the PBX to renew altered routing
information.
NPAC
New subscription
Switch
GDB
cache
PBX subscription network New subscription network
NPAC network
NPDB
PBX
PBX
Subscription
switch
NPDB
8
6
5
3
2
1
Old
subscription network
1
profile
4
7
Figure 2: The process of cache update
Assuming a neutral GDB is available, the update
of caches is illustrated in Figure 2. When a portable
number changes subscription network, the new
subscription network updates the new destination
address of the number to NPAC (step 1 & 2). NPAC
notifies the alteration to contracted operators (step 3).
When received a notification of altered routing
information, the subscription network of PBX
checks registered profiles (step 4), and sends a
notification to PBX (step 6). Then PBX initiates a
query process to query the altered information, and
updates the new data to the cache (step 7).
For limiting the porting frequency of NP
subscribers, we assume users can not change
subscription networks too often. The effectiveness of
a new ported number is postponed for couple hours
to guarantee the consistency of GDB and the NPDB
of old and new subscription networks.
z Cache size
A cache entry consists of a 10- to 15-digit
telephone numbers which follows ITU-T
Recommendation E.164 (Faltstrom 2000), a 4-octet
destination address of the number, a 4-byte field of
the latest modification time, and a 2-bit cache
management tag. A cache entry occupies 186 bits.
Assume that there are s members in an
organization, the FDN quota of each member is k.
Suppose the probability the FDN of a member
overlap with other members’ is r in average, 0 r <1.
Let U be the universal set of all individual FDN set
u
i
of member i, which can be represented as
() ( )
UUU
s
kji
s
ji
s
i
uuuuuuU
====
+=
,0,,,0,00
k
jikjijijii
(
)
s
uuu
+
+
LL
21
The minimum cache size ms
cache
to keep the FDN set
of an organization is
ms
cache
=
1
1
1
)1(
=
i
s
i
i
kr
i
s
ICETE 2005 - GLOBAL COMMUNICATION INFORMATION SYSTEMS AND SERVICES
140
=
, where 0<r< 1. (1)
=
×
s
i
ii
r
i
s
k
1
11
)1(
When the contact targets of every member is
scattered that r = 0, the minimum size of the cache
of the iNetwork is represented as
ms
cache
= s × k, where r = 0. (2)
In an organization with 15000 employees, each
member has 100 FDN in average, when r = 0, the
total cache size is less than 33.3 MB; when r = 0.5,
the cache size reduced to 17 MB. It is obvious that
caches are small enough to be located in memory
that the search time is less than 0.01 msec memory
access. Since a GDB query consumes 2 seconds or
less, when GDB queries are substituted by memory
accesses, the delay of querying routing information
can be reduced remarkably.
4 PERFORMANCE ANALYSIS
PBX with a cache diminishes the demand of
long-term database queries, and decrease the NP call
setup time. But it also requires the modification of
PBX. In this section the cost and the benefit of PBX
with caches are evaluated.
The costs of applying caches to PBX includes the
cost to modify the signaling system, the cost to
establish caches and update cached data, and the
time to query cached data.
The signaling system needs to add a new rule on
switches to process special codes. PBX must be
modified to query caches before forwarding requests,
and to append the destination address and a special
code to a call initiation message. These are the
constant investment of system construction.
The cost of cache implementation includes the
hardware cost of memory, the cost of the batch
process to attain the routing information of FDN,
and the cost to enter FDN manually. While memory
is cheap, the entering of FDN is infrequent, and the
query of routing information of FDN is an off-line
batch process that can be executed in off-time, the
different of conventional NP service systems and the
system with caches on PBX is the cost of system
operation. We study the benefit of PBX with caches
by comparing the cost of call initiation process of the
conventional telecom system and the cache-applied
system.
When caches are applied to PBX, every external
call triggers a cache query. The result of a cache
query can be a cache miss when the required data is
not kept in the cache, or a location hit if the cached
data points to the actual destination address of the
dialed number. Location miss will not occurred
because of the postponed activity of NP subscribers.
The cost of call setup is represented as
C
call setup with cache
=
θ
1
δ
+
θ
2
ζ
,
where
θ
1
and
θ
2
are the cost of call setup when it is
a cache miss and a location hit, respectively;
δ
and
ζ
are the probability of cache miss and location hit
respectively,
δ
+
ζ
=1.
θ
1
includes the costs of cache
access and conventional NP/non-NP call setup
process,
δ
equals to the probability of dialing
non-FDN.
θ
1
= C
cache access
+ C
donor/NPAC NPDB query
+ C
message processing
+ C
service
+
C
message transmission
+ C
queuing
,
δ
= P{dial non-FDN} = 1-P{dial FDN}
A location hit is the most economic case of call setup.
θ
2
is represented as
θ
2
= C
cache access
+ C
message processing
+ C
service
+ C
message transmission
+
C
queuing
,
ζ
= P {dial FDN} = 1 -
δ
The message transfer delay of a trunk is denoted as
t
trans
. Database access time includes the time for
GDB query (t
GDB
), and for local NPDB query (t
NPDB
).
The time for cache query is t
cache
. The total delay
time of cache access, message process and
transmission, service, and queuing is denoted as t
p
.
Different NP schemes results in the diverseness
of network operation and signal flows. We study the
performance of PBX caches by analyzing the call
setup delay of ACQ and call dropback.
Case 1: ACQ
z In the conventional NP call process, the call
setup time t
acq_conv
can be represented as
t
acq_conv
= t
trans
+( t
GDB
+ t
NPDB
)+ t
p
(3)
z In the case of location hits, the call setup time
t
acq_hit
can be represented as
t
acq_hit
=t
trans
+ ( t
cache
+ t
NPDB
)+t
p
(4)
= (3) + t
cache
t
GDB
Where t
cache
is much less than t
GDB
that can be
ignored, and (4) is much less than (3).
z In the cache miss case, the call setup time is:
t
acq_miss
= t
trans
+(t
cache
+t
GDB
= (3) + t
+t
NPDB
)+t
p
(5)
cache
Case 2: Call dropback
z The call setup time t
cd_conv
is represented as
t
cd_conv
= t
trans
+(2×t
NPDB
) + t
p
(6)
z In the case of location hits, the call setup time
t
cd_hit
can be represented as
t
cd_hit
= t
trans
+( t
cache
+ t
NPDB
)+ t
p
(7)
= (6) + t
cache
t
NPDB
z When cache miss, the call setup time t
cd_miss
is
t
cd_miss
=t
trans
+(t
cache
+2
×
t
NPDB
)+ t
p
= (6) + t
(8)
cache
Assuming the call arrival rate in a PBX is a
Poisson process at the rate of λ per second, the
average call setup time in a PBX is
Total call setup time
conventional
=
λ
t × t
conventional
A PBX-BASED APPROACH FOR TELECOMMUNICATION NUMBER PORTABILITY SERVICE
141
In the case of PBX with caches, the probability of
using FDN is p in average, the call setup time is
Total call setup time
cache
=
λ
t ×( p × t
hit
+ (1-p) × t
miss
)
From equations (5) and (8), the conventional call
setup time closes to that of cache miss (p= 0).
Assuming the longest connection is less than 450
km. The time to process a request needs 100msec.
The time to query GDB data should be less than 2
sec (Foster, McGarry & Yu 2003), the time for
NPDB query should be less than 350 msec (Gans,
King & Woodbridge 2001). A PBX handles 2000
calls per hour. The delay of searching a cached entry
is less than 1/100 millisecond in average. According
to the increase of p, the total NP call setup time with
caches decreases linearly, as shown in Figure 3.
Average call setup time
0
500
1000
1500
2000
2500
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
p
t(in msec)
cached ACQ
cached dropback
ACQ
Dropback
Figure 3 : The relation of FDN utility rate (p) and the
average call setup time (t in msec)
SCP access times (p=0.7)
0
50
100
150
200
250
300
350
400
450
500
50 100 150 200 250 300 350 400 450
a
SCP access_cache
SCP access_no cache
Figure 4: The SCP access times per second
The query delay dominates the NP call setup time.
Numerous NP users results in substantial NPDB
queries, NPDB access becomes the bottleneck of NP
call process. Take ACQ as an example, if caches are
not available, or the cache queries are all missed, the
setup time of a call is 1911 milliseconds in average.
When 70% of the dialed numbers are FDN, the call
setup time decreased to 1211 msec. It reduced to
almost half of that without caches.
Calls originated from organization dominate the
telecommunication traffic in business hours.
Assuming 70% of the calls are originated from
enterprises in business hours, and 85% of enterprises
has established PBX. The number of NPDB accesses
per second is demoted as a. According to the
increase of a, the use of FDN cache can reduce the
DB load effectively (Figure 4).
5 CONCLUSION
In this article we stated the importance of NP
services in telecommunication systems, and the
problem of long information query delay resulted
from huge NPDB. By analyzing the hierarchy of
fix-lined telecom network, we proposed to apply
caches to PBX to share the traffic load of NPDB,
and to alleviate the delay time of querying
destination addresses of portable numbers.
According to the communication characteristics of
organization members, we suggest adopting static
cache policy, which is easy to establish and maintain.
Caches on PBX alleviate workload of NPDB,
and remarkably reduce the average NP call setup
time. The improved NP call setup efficiency leads to
better communication resource utilization; therefore,
caches on PBX benefit both the telecommunication
users and service providers.
This solution needs not to modify the signaling
system of the public telecommunication network.
Hence, applying caches to PBX is a low-cost
solution to enhance the performance of the NP
service in the fixed-line telecommunication system.
REFERENCES
Gans J., King S., Woodbridge G., Numbers to the people:
regulation, ownership and local number portability,
Information Economics and Policy Vol. 13, Issue 2,
June, 2001, pp. 167-180.
Lin Y. B, Rao H., Number portability for
telecommunication networks, IEEE Network, Vol. 13
Issue 1, Jan.-Feb. 1999, pp. 56 –62.
Foster M., McGarry T., Yu J., Number portability in the
Global switched telephone network (GSTN): An
overview, RFC 3482, Feb. 2003.
Black U., The intelligent network, customizing
telecommunication networks and services, Prentice
Hall, 1998.
Carpenter T., Carter R., Cochinwala M., and Eiger M.,
Data Caching for Telephony services, International
Database Engineering and Application Symposium,
2000, Sep. 2000, pp. 101-109.
Faltstrom P., E.164 number and DNS, RFC 2916, Sep.
2000.
Kim H. S., Yong H. S., Personalized cache management
for mobile computing environments, Information
Processing Letters Vol. 87, Issue 4, Aug. 2003, pp.
221-228.
ICETE 2005 - GLOBAL COMMUNICATION INFORMATION SYSTEMS AND SERVICES
142