|
Description  |
|
|
CROSS-REFERENCE TO RELATED APPLICATIONS
F. J. Bogart, B. D. Butterfield, D. L. Chavez, Jr., H. C. Dittmer, F. R.
Fix, L. J. Hardouin, N. K. Schmidt, and L. L. Thomson, "Telecommunications
Call-Processing Arrangement", Ser. No. 07/786,107;
F. J. Bogart, B. D. Butterfield, D. L. Chavez, Jr., H. C. Dittmer, F. R.
Fix, L. J. Hardouin, N. K. Schmidt, and L. L. Thomson, "Dynamic
Tone-Administration", Ser. No. 07/786,324;
F. J. Bogart, B. D. Butterfield, D. L. Chavez, Jr., H. C. Dittmer, F. R.
Fix, L. J. Hardouin, N. K. Schmidt, and L. L. Thomson, "Dynamic
Routing-Administration", Ser. No. 07/786,168;
F. J. Bogart, B. D. Butterfield, D. L. Chavez, Jr., H. C. Dittmer, F. R.
Fix, L. J. Hardouin, N. K. Schmidt, and L. L. Thomson, "Dialed Number
Recognition Arrangement", Ser. No. 07/786,325; and
F. J. Bogart, B. D. Butterfield, D. L. Chavez, Jr., H. C. Dittmer, F. R.
Fix, L. J. Hardouin, N. K. Schmidt, and L. L. Thomson, "Context-Dependent
Call-Feature Selection", Ser. No. 07/786,323.
These applications are filed concurrently with this application and are
assigned to the same assignee.
TECHNICAL FIELD
This invention relates generally to telephone and telephone-like
communications systems including integrated services systems, and relates
particularly to telephony call-processing arrangements.
BACKGROUND OF THE INVENTION
In conventional telecommunications network numbering plans, all symbol
strings (e.g., dialed digits) that constitute call-control
symbol-sequences (e.g., called numbers) which make up a numbering plan
have a direct correspondence to--are unique identifiers of--elements
within the telecommunications network. For example, in the North American
numbering plan, the called number 0-10288-303-538-4154 consists of the
following five symbol strings: "0" identifying a local operator assistance
pool, "10288" identifying a particular interexchange carrier, "303"
identifying a particular remote geographical area, "538" identifying a
particular exchange (i.e., central office), and "4154" identifying a
particular port. For another example, the called number 1-303-555-1212
consists of the following three symbol strings: "1" identifying the
geographical area exclusive of the local area, "303" identifying a
particular remote geographical area, and "555-1212" identifying a
particular operator pool. It is apparent from these examples that every
entity identified by the symbol strings is a constituent portion of the
telecommunications network. It is in this manner that the symbol sequences
that are members of conventional network numbering plans serve to specify
communications (e.g., call) routes and destinations.
In many situations, the identity of the calling terminal/station may
influence or even override the choice of route or destination for the
call. For example, individual terminals are assigned a class-of-service,
and permissible call routes and permissible destination areas for calls
from the terminals are determined by their class of service. Or, all calls
to "900" numbers from a particular call-originating station may be
blocked. Or, all calls from a particular originating station may be routed
to an intercept announcement. Or, in a telemarketing system, a call may be
connected to one of a number of destination endpoints (e.g., telemarketing
agents' stations) based on the call's Automatic Number Identification
(ANI) which identifies the calling terminal. But it will be noted from
these examples that the route or destination-influencing information is
the identity of the calling terminal, which is--once again--an element of
the network.
Of course, the identifying of all of the network elements involved in a
call need not be done explicitly by the caller. For example, the network
typically obtains the identity of the calling terminal automatically, by
determining which port the call is originating at. Also, in some cases,
the call-processing intelligence of the network (e.g., the call-processing
software of the call-originating switching system in a telephony network)
makes default selections of network elements in the absence of them being
explicitly specified within a caller-generated call-control sequence. An
example thereof is disclosed in U.S. Pat. No. 4,577,066. As disclosed
therein, in the absence of a caller dialing an interexchange carrier I.D.
as part of the call-originating symbol-sequence, a switching system
selects for the call a carrier that is specified in the translations of
the calling terminal, or selects a default carrier if no carrier is
specified in the translations. However, a carder selection made by the
caller by dialing a carrier I.D. overrides a translations-based and a
default-based carrier selection.
Many customers of telecommunications systems consider the usual restriction
of call-route-and-destination-determinative information to network
element-related information to be undesirable and limiting. They wish to
extend their ability to influence call-route and destination selection to
network-independent criteria.
Examples of the use of information that does not directly identify network
elements, to influence call-route or call-destinations selection are rare,
however. One related example is the use of authorization or account codes
in some telephony systems. When such a system determines that, within a
set of possible routes for the call (selected on the conventional basis of
identified network elements), none of the call routes authorized to be
used by the class-of-service translations of the call-originating terminal
are available for use, but that other, expensive but non-authorized,
routes do exist within that set of possible routes, it prompts the caller
for an authorization or account code that signifies permission to use, and
to charge for, one of the non-authorized routes. The call is completed and
routed over one of the non-authorized routes only if the caller inputs a
valid authorization or account code, and an account associated with the
code is billed for the cost of using the route. These codes provide no
information on the uses of the calls.
Another example is the use of permissions in some electronic voice-mail
systems, as described in U.S. Pat. No. 5,017,917. When a caller accesses
such a system and attempts to leave a voice-mail message for a particular
called party, the system prompts the caller to input his or her personal
I.D. Based on that I.D., the system determines whether the calling person
has permission to contact the called person. If so, the system connects
the caller to the called party's mailbox; if not, the system connects the
caller to an intercept announcement.
A third example is the use of time-of-day routing in some telephony
switching systems, such as AT&T private-branch exchanges (PBXs). In these
systems, selection of a public-network route for a call is based at least
in part on the time of day at which the call is made, either for the
purpose of avoiding call-traffic congestion that develops on some routes
at certain times of day or for the purpose of selecting the
least-expensive route from among routes whose cost varies with the time of
day.
The very limited capability to influence call-route and destination
selection with network-independent criteria that the art presently
provides is inadequate for many customers. For instance, consider a
hypothetical example of an attorney in state A having a number of cases
pending in a court in state B. The court has separate phone numbers for an
internal operator, a civil division, and a criminal division. One of the
pending cases is a civil case for client A. Jones who has AT&T as his
interexchange carrier. Another two cases are a civil case and a criminal
case for client ABC Co. which has a private telecommunications network
extending between states A and B. And a fourth case is a criminal case for
client B. Doe who has MCI as his interexchange carrier. The attorney
herself has AT&T as her personal interexchange carrier. The attorney would
like to have the following capability. When she dials one of the
courthouse phone numbers, either alone or accompanied by her personal
I.D., she wishes to have the call routed to the dialed phone number via
AT&T. When she dials one of the courthouse phone numbers accompanied by an
account code for ABC Co., she wishes to have the call routed to the dialed
phone number via ABC Co.'s private network. When she dials any one of the
courthouse phone numbers accompanied by an account code for A. Jones, she
wishes to have the call routed to the civil division's phone number via
AT&T. And when she dials any one of the courthouse phone numbers
accompanied by an account code for B. Doe, she wishes to have the call
routed to the criminal division's phone number via MCI.
Capabilities such as the just-presented hypothetical are not available to
customers. Prior-art telecommunications networks and their call-processing
arrangements and numbering plans are simply not capable of implementing
such varied and flexible network-independent call-route-selection and
call-destination-selection algorithms.
SUMMARY OF THE INVENTION
This invention is directed to solving these and other problems and
disadvantages of the prior art. Applicants have recognized that
telecommunications network customers can obtain many of their sought-after
capabilities by being able to influence call-route and/or destination
selection by means of caller-provided personal caller I.D.s, client or
project account codes, reasons for making calls, and other such
information that represents the uses of the calls--generically referred to
herein as call-use information. Accordingly, applicants have invented a
call-processing arrangement that enables use codes--symbol strings
representative of call-use information--to be incorporated into and made a
part of network numbering plans. The arrangement responds to a use code
that is provided as part of a call-origination symbol-sequence (e.g.,
together with a called number) and uses the code to influence selection of
a route or a destination for the call. The arrangement uses the code to
influence route or destination selection even though the accompanying
called number is by itself sufficient for selection of--or even
determinative of--a route or a destination for the call, and even though
the so-influenced selection may yield a route or a destination for that
call that is so different from the route or destination that would be
selected in its absence as to be disallowed under selection criteria
employed in conjunction with the called number alone. In other words, the
arrangement allows the influence on call-route or destination selection to
contravene and override the influence exerted by the called number!
Specifically according to the invention, a call processing arrangement
includes stored definitions of influences (e.g., virtual nodepoint indexes
[VNIs] and information on combining of VNIs) of individual ones of a
plurality of use codes on selection of at least one of routes and
destinations of calls. To originate a call, a caller generates (e.g.
dials) a call-originating symbol-sequence comprising a called number, or
some other one or more symbol swings that are sufficient for selection of
a route and a destination for the call, plus a use code that represents
the use of this call. The call processing arrangement receives the symbol
sequence and in response determines, from the stored definitions of
influences, the influence of the received use code on selection of at
least one of a route and a destination for the call. The arrangement then
selects a route and a destination for the call on the basis of the
received symbol sequence, which involves selecting at least one of the
route and the destination under the determined influence of the received
use code. The selected route and destination may then be used by, e.g., a
switching system to route the call to the selected destination over the
selected route.
The invention is not limited in its application to use-based selection of
call routes or destinations, but is applicable generally to the selection
of treatments for calls. For example, it may be applied to effect
use-based selection of features for calls.
A benefit of this invention is that, if the use code either directly
identifies or can be uniquely associated with a particular client,
account, project, or person, the identified entity can be billed directly
for the call, irrespective of where the call is made from, and the charge
for the call can appear directly on that entity's phone bill. Yet another
benefit of having use codes that identify calling individuals is that the
caller-dialed use code may be used as true caller I.D.--as opposed to the
prior-art "caller I.D." which is merely a calling terminal I.D.--and that
use codes may be passed to the called end of the call path in-band, just
like the called number, without resort to, e.g., ISDN.
These and other advantages and features of the invention will become
apparent from the following description of an illustrative example of the
invention taken together with the drawing.
BRIEF DESCRIPTION OF THE DRAWING
FIG. 1 is a block diagram of a telephone system that incorporates an
illustrative embodiment of the invention;
FIG. 2 is a block diagram illustrating the convention of a network
numbering plan of the telephone system of FIG. 1;
FIG. 3 is a block diagram of selected contents of the memory of the
switching system of the telephone system of FIG. 1;
FIGS. 4-6 are block diagrams of syntax-defining data structures of network
digit analysis of FIG. 3;
FIGS. 7-8 are block diagrams of grammar-defining data structures of network
digit analysis of FIG. 3;
FIGS. 9-12 are a flow diagram of a string identification function of
network digit analysis of FIG. 3;
FIG. 13 is a flow diagram of a string action function of network digit
analysis of FIG. 3;
FIG. 14 is a block diagram of a data structure of digit modification of
FIG. 3;
FIG. 15 is a flow diagram of a function of digit modification of FIG. 3;
FIGS. 16-18 are block diagrams of data structures of generalized route
selection of FIG. 3;
FIG. 19 is a flow diagram of a function of generalized route selection of
FIG. 3;
FIGS. 20-21 are block diagrams of data structures of digit sending of FIG.
3; and
FIG. 22 is a flow diagram of a function of digit sending of FIG. 3.
DETAILED DESCRIPTION
An illustrative embodiment of the invention is implemented in a
telecommunications system shown in FIG. 1. The system of FIG. 1 is a
telephone system that includes a switching system 10 which provides
telephone services to user terminals 17 which are connected to switching
system 10 by telephone lines 15. Switching system 10 interconnects
terminals 17 with each other and with the remainder of the telephone
system, designated in FIG. 1 as network 18, to which the switching system
10 is connected by telephone trunks 16. Network 18 typically comprises one
or more other switching systems 10 and user terminals 17.
The telephone system of FIG. 1 implements one or more network numbering
plans. Network numbering plans are well known in the art. An illustrative
example thereof is the North American network numbering plan of the North
American public telephone system. A network numbering plan is a convention
that allows users to use symbols (e.g., dialed digits) to define to the
network the treatment that they wish a call to receive. The generic
characteristics of network numbering plans are graphically illustrated in
FIG. 2. As shown, a network numbering plan 100 is composed of a plurality
of defined symbol strings 101-150. Each defined symbol string consists of
one or more symbols, and has a defined meaning. Illustrative examples of
symbol strings are: area codes, office codes, extension numbers, long
distance carrier codes, and feature specification codes. The defined
symbol strings are building blocks from which symbol sequences 151-199
--e.g., network numbers, dialed numbers--are constructed. Each valid
symbol sequence consists of one or more defined symbol strings, and has a
meaning within the network numbering plan. A symbol sequence defines the
treatment that a corresponding call is to receive. If a symbol sequence is
valid (i.e., does not violate the definitions of its constituent symbol
strings and their permissible contexts) it is said to be included in the
network numbering plan.
Conventionally in a network such as that shown in FIG. 1, a switching
system such as system 10 would understand only one numbering plan, which
is used in the portion of the system of FIG. 1 that it is a part of. The
switching system would transport signals pertaining to other numbering
plans, used in other portions of the system of FIG. 1, to those portions
for their use through communication paths that it would establish on the
basis of its own numbering plan.
Switching system 10 is a stored-program controlled system, such as the AT&T
Definity.RTM. G2 PBX. It comprises a conventional switching fabric 13, a
processor 11 for controlling the operation of fabric 13, and a memory 12
for storing programs for execution and data for use by processor 11 in
performing its control functions. It further comprises conventional
service circuits 14--such as dialed-digit collection registers, outpulsing
circuits, tone generators, etc.--also operating under control of processor
11 and connected to fabric 13 for use in setting up call connections and
providing call features and other telecommunications services to user
terminals 17.
Contents of memory 12 that are relevant to this discussion are shown in
FIG. 3. Most of the programs and data structures held by memory 12 are
conventional. These include an outpulsed signal-collection program module
201, a connection-establishment program module 202, a time-of-day program
203, translations and status 204 for, e.g., trunks 16, lines 15, and
terminals 17, feature program modules 205, and a scratchpad memory portion
250 for holding call records 271 of individual calls. However, according
to the invention, there is provided a new call-processing arrangement,
referred to as world-class-routing (WCR) 200, which translates
user-provided call-destination addresses or feature-selection
codes--digits and other symbols that are received across telephone lines
15 from user terminals 17 or across trunks 16 from other switching
systems--into call routes and feature-access connections for establishment
by switching fabric 13 and network 18 and provisioning by modules 205 and
circuits 14. World-class routing 200 receives, as its input,
symbol-representing signals that have been outpulsed at a terminal 17 or
at the other end of a trunk 16 and collected by a conventional outpulsed
signal-collection module 201. It transforms the received signals into
route-identifying, feature-identifying, and other connection-identifying
and function-identifying information and into destination-identifying
outpulsed digits, and sends these as its output to, e.g., a conventional
connection-establishment program 202 or a feature module 205.
World-class-routing 200 implements the concept of a network numbering plan
as being a language, in the mathematical/computer science sense. As such,
world-class routi | | |