WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Multi-service telephone switching system    
United States Patent4878240   
Link to this pagehttp://www.wikipatents.com/4878240.html
Inventor(s)Lin; Steve M. (East Brunswick, NJ); Rizzo; Joseph F. (Lincroft, NJ)
AbstractEnhanced telephone services are provided through a multi-service telephone switching system that contains a programmable adjunct connected to a telephone switching system. Specifically, this system includes a telephone switch that serves at least one subscriber and an adjunct connected both through one or more distinct paths, such as a number of hunt group lines, and through a datalink, such as a simplified message desk datalink, to the telephone switch. The telephone switch routes a telephone call involving this subscriber to the adjunct through an available hunt group line and provides a message to the adjunct over the datalink specifying a condition under which the call was routed. In response to this message, the adjunct takes complete control of the call substantially throughout the remainder of its duration and provides a desired enhanced service that has been pre-defined by a service script stored within the adjunct. Different service scripts can be invoked to provide correspondingly different enhanced services to the subscriber depending upon the specific condition for which the call was routed to the adjunct and/or a specific event occurring during the call.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 4878240
Multi-service telephone switching system - US Patent 4878240 Drawing
Multi-service telephone switching system
Inventor     Lin; Steve M. (East Brunswick, NJ); Rizzo; Joseph F. (Lincroft, NJ)
Owner/Assignee     Bell Communications Research, Inc. (Livingston, NJ)
Patent assignment
All assignments
Publication Date     October 31, 1989
Application Number     07/148,331
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     January 25, 1988
US Classification     379/88.22 379/198 379/201.02 379/201.05 379/207.02 379/269
Int'l Classification     H04M 003/50 H04Q 003/42
Examiner     Brown; Thomas W.
Assistant Examiner    
Attorney/Law Firm     Falk; James W.
Address
Parent Case    
Priority Data    
USPTO Field of Search     379/67 379/88 379/201 379/211 379/334 379/269 379/89 370/58 370/62
Patent Tags     multi-service telephone switching
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
4747127
Hansen

May,1988

[0 after 0 votes]
4653085
Chan
379/93.14
Mar,1987

[0 after 0 votes]
4612416
Emerson
379/88.18
Sep,1986

[0 after 0 votes]
4611094
Asmuth
379/201.03
Sep,1986

[0 after 0 votes]
4540850
Herr
379/88.19
Sep,1985

[0 after 0 votes]
4376875
Beirne
379/88.23
Mar,1983

[0 after 0 votes]
4232199
Boatwright
379/197
Nov,1980

[0 after 0 votes]
3920908
Kraus
379/91.02
Nov,1975

[0 after 0 votes]
3668317
Vitalo
379/84
Jun,1972

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


We claim:

1. A switching system adjunct for use in conjunction with a telephone switch to provide enhanced telephone services to at least one telephone subscriber served by said telephone switch and comprising:

a programmable switch providing first and second sets of interfaces, wherein one of said interfaces within said first set is for connection to at least one path in a plurality of paths emanating from a telephone switch;

at least one peripheral device connected to an interface within said second set;

means for storing a sequence of functional components which form a service script and which collectively define an enhanced service; and

a host processor connected to said storing means, said peripheral device and said programmable switch and for connection through a datalink to said telephone switch for controlling said peripheral device and said programmable switch in a manner defined by said service script in order to provide the enhanced service to a telephone subscriber; wherein the adjunct, in response to a message received over said datalink regarding a corresponding telephone call that is routed by said telephone switch over said one path to said adjunct, is able to take control over said telephone call substantially throughout the remainder of its duration in order to provide said enhanced service to said one subscriber.

2. The adjunct of claim 1 further comprising means for controllably terminating the routed call within said adjunct or directing the routed call through said programmable switch to a second one of said paths substantially throughout the remainder of the duration of said routed call.

3. The adjunct of claim 2 wherein said host processor includes service control means operative in conjunction with said storing means for executing the service script to provide said enhanced service, wherein said service control means comprises:

means responsive to a trigger for accessing the service script from said storing means in order to provide an accessed service script; and

means responsive to a returned result and a state of said accessed service script for selecting one of said functional components in said accessed service script for current execution; and

said host processor further includes switching control means operative in conjunction with said storing means for appropriately controlling said programmable switch to selectively perform telephone switching operations involving individual ones of said paths, wherein said switching control means comprises:

means responsive to said one functional component for invoking said programmable switch to perform a desired switching operation involving said routed telephone call appearing on a first one of said paths and for producing, when appropriate, said returned result;

means responsive to said programmable switch for detecting an event associated with a corresponding condition of said telephone call; and

means responsive to said detected event for generating said trigger.

4. The adjunct of claim 3 wherein said switch invoking means further comprises means for decoding said one functional component into a corresponding sequence of instructions for appropriately controlling said programmable switch.

5. The adjunct of claim 4 wherein said host processor further comprises: means operative in conjunction with said storing means and responsive to a code existing within said message for invoking a pre-defined sequence of functional components so as to appropriately process said routed call.

6. The adjunct of claim 5 further comprising: means for receiving a telephone call appearing over one of said paths and placed to a logical number associated with a particular subscriber and for re-directing the received call over another one of said paths to a physical number associated with the particular subscriber.

7. The adjunct of claim 6 wherein the adjunct further comprises means for producing a different trigger for an incoming call, an outgoing call, a no-answer, a busy line, a remote access or an occurrence of a specified time and date.

8. The adjunct of claim 7 wherein said event detecting means further comprises means for detecting timer events.

9. The adjunct of claim 3 further comprising: means responsive to said one functional component for appropriately controlling the peripheral device.

10. The adjunct of claim 9 wherein the peripheral device controlling means further comprises: means responsive to said one functional component for generating, when appropriate, a request for service by said peripheral device.

11. The adjunct of claim 10 wherein said peripheral device controlling means further comprises: means for decoding said one functional component into a corresponding sequence of instructions for appropriately controlling said peripheral device.

12. The adjunct of claim 11 further comprising: means responsive to said service request for scheduling a task as requested by said one functional component for said peripheral device and, upon availability of said peripheral device to perform a task, instructing said peripheral to perform the scheduled task.

13. The adjunct of claim 12 wherein said peripheral device comprises: a voice messaging system for recording and playing back voice messages.

14. A telephone switching system for providing an enhanced telephone service comprising:

a telephone switch for serving at least one telephone subscriber connected thereto; and

a switching system adjunct connected to said telephone switch by a datalink and at least one path in a plurality of paths emanating from said telephone switch, wherein the adjunct stores a corresponding service script associated with the one subscriber and which defines an enhanced service for the subscriber such that the adjunct, in response to a message that is received over said datalink from said telephone switch regarding a corresponding telephone call that is routed by said telephone switch over said one path to said adjunct, executes said service script and takes control over said telephone call substantially throughout the remainder of the duration of the telephone call in order to provide the enhanced service to said one subscriber, wherein the adjunct comprises:

a programmable switch providing first and second sets of interfaces wherein an interface within said first set is connected to said one path;

at least one peripheral device connected to an interface within said second set;

means for storing a sequence of functional components which form the service script; and

a host processor connected to said storing means, said peripheral device and said programmable switch and connected through said datalink to said telephone switch for controlling said peripheral device and said programmable switch in a manner defined by said service script in order to provide the enhanced service to said one subscriber.

15. The telephone switching system of claim 14 further comprising: means for controllably terminating the routed call within said adjunct or directing the routed call through said programmable switch to a second one of said paths substantially throughout the remainder of the duration of said telephone call in order to provide said enhanced service.

16. The telephone switching system of claim 15 wherein the message comprises a telephone number for a calling party and a code indicative of a condition under which the telephone switch routed the telephone call to said one path.

17. The telephone switching system of claim 16 wherein said host processor includes service control means operative in conjunction with said storing means for executing the service script to provide said enhanced service, wherein said service control means comprises:

means responsive to a trigger for accessing said service script from said storing means in order to provide an accessed service script; and

means responsive to a returned result and a state of said accessed service script for selecting one of said functional components in said accessed service script for current execution; and

said host processor further includes switching control means operative in conjunction with said storing means for appropriately controlling said programmable switch to selectively perform telephone switching operations involving individual ones of said paths, wherein said switching control means comprises:

means responsive to said one functional component for invoking said programmable switch to perform a desired switching operation involving said routed telephone call appearing on a first one of said paths and for producing, when appropriate, said returned result;

means responsive to said programmable switch for detecting an event associated with a corresponding condition of said telephone call; and

means responsive to said detected event for generating said trigger.

18. The telephone switching system of claim 17 wherein said switch invoking means further comprises means for decoding said one functional component into a corresponding sequence of instructions for appropriately controlling said programmable switch.

19. The telephone switching system of claim 18 wherein said host processor further comprises: means operative in conjunction with said storage means and responsive to said code existing within said message for invoking a pre-defined sequence of functional components so as to appropriately process said routed call.

20. The telephone switching system of claim 19 further comprising: means for receiving a call appearing over one of said paths and placed to a logical number associated with a particular subscriber and for re-directing the received call over another one of said paths to a physical number associated with the particular subscriber.

21. The telephone switching system of claim 17 further comprising: means responsive to said one functional component for appropriately controlling the peripheral device.

22. The telephone switching system of claim 21 wherein the peripheral device controlling means further comprises: means responsive to said one functional component for generating, when appropriate, a request for service by said peripheral device.

23. The telephone switching system of claim 22 wherein said peripheral device controlling means further comprises: means for decoding said one functional component into a corresponding sequence of instructions for appropriately controlling said peripheral device.

24. The telephone switching system of claim 23 further comprising: means responsive to said service request for scheduling a task as requested by said one functional component for said peripheral device and, upon availability of said peripheral device to perform a task, instructing said peripheral device to perform the scheduled task.

25. In a telephone switching system, a method for providing enhanced telephone services to at least one telephone subscriber connected to a telephone switch comprising:

in said telephone switch routing a telephone call involving a subscriber from the telephone switch over a first path connecting said telephone switch to a switching system adjunct and generating a message, regarding said routed telephone call, over a datalink connecting said telephone switch to said switching system adjunct, wherein said message includes a telephone number for a calling party and a code indicative of a condition under which the telephone switch routed the telephone call to said first path; and

in said switching system adjunct and in response to said message executing a pre-defined corresponding service script which is associated with said subscriber and which defines an enhanced service for that subscriber, taking control of said routed telephone call substantially throughout the remainder of its duration so as to provide the enhanced service to said subscriber and controllably terminating the routed call within said adjunct or directing the routed call to a second path connecting said telephone switch to said adjunct substantially throughout the remainder of the duration of said telephone call in order to provide said enhanced service.

26. The method in claim 25 further comprising in said adjunct:

executing the service script within a host processor to provide said enhanced service, wherein said service script contains a sequence of functional components that collectively define said enhanced service and wherein said executing comprises:

accessing in response to a trigger said service script from a storage means connected to said host processor in order to provide an accessed service script; and

selecting in response to a returned result and a state of said accessed service script one of said functional components in said accessed service script for current execution; and

selectively performing telephone switching operations within said host processor, wherein said selective performing comprises:

invoking in response to said one functional component a programmable switch connected to said host processor and to said first and second paths to perform a desired switching operation involving said routed telephone call appearing on the first path and producing, when appropriate, said returned result;

detecting through said programmable switch an event associated with a corresponding condition of said routed telephone call; and

generating said trigger in response to said detected event.

27. The method in claim 26 wherein said switch invoking further comprises: appropriately decoding said one functional component into a corresponding sequence of instructions for controlling said programmable switch.

28. The method in claim 27 further comprising in the adjunct: invoking in response to said code existing within said message a pre-defined sequence of functional components so as to appropriately process said routed call.

29. The method in claim 28 further comprising in the adjunct: receiving a call appearing over one of said paths and placed to a logical number associated with a particular subscriber, and re-directing the received call over another one of said paths to a physical number associated with the particular subscriber.

30. The method in claim 26 wherein said selective performing further comprises: controlling, when appropriate and in response to said one functional component, a peripheral device that is connected to said programmable switch and to said host processor.

31. The method in claim 30 wherein said peripheral device controlling further comprises: generating in response to said one functional component a request for service by said peripheral device.

32. The method in claim 21 wherein said peripheral device controlling further comprises: decoding said one functional component into a corresponding sequence of instructions for appropriately controlling said peripheral device.

33. The method in claim 32 wherein said peripheral device controlling further comprises:

scheduling in response to said service request a task requested by said one functional component for said peripheral device; and

instructing said peripheral device to perform the scheduled task in response to availability of said peripheral to perform said task.

34. A telephone switching system for providing an enhanced telephone service comprising:

a telephone switch for serving at least one telephone subscriber connected thereto; and

a switching system adjunct connected to said telephone switch by a datalink and at least one path in a plurality of paths emanating from said telephone switch, wherein the adjunct stores a corresponding service script associated with the one subscriber and which defines an enhanced service for the subscriber such that the adjunct, in response to a message that is received over said datalink from said telephone switch regarding a corresponding telephone call that is routed by said telephone switch over said one path to said adjunct, executes said service script and takes control over said telephone call substantially throughout the remainder of the duration of the telephone call in order to provide the enhanced service to said one subscriber.

35. In a telephone switching system, a method for providing enhanced telephone services to at least one telephone subscriber connected to a telephone switch comprising:

in said telephone switch routing a telephone call involving a subscriber from the telephone switch over a path connecting said telephone switch to a switching system adjunct and generating a message, regarding said routed telephone call, over a datalink connecting said telephone switch to said switching system adjunct; and

in said switching system adjunct and in response to said message executing a pre-defined corresponding service script which is associated with said subscriber and which defines an enhanced service for that subscriber and taking control of said routed telephone call substantially throughout the remainder of its duration so as to provide the enhanced service to said subscriber.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to a multi-service telephone switching system which includes a programmable adjunct that is to be used in conjunction with a local switching system for providing enhanced telephone services.

2. Description of the Prior Art

A large expanding market exists for enhanced telephone services. Currently, enhanced telephone services, such as call waiting, speed calling and call forwarding, are provided through a local telephone switching system. Local switching systems that provide these services are generally large, handling upwards of 50,000 separate lines, and are typified by the 1AESS and 5AESS electronic switching systems manufactured by American Telephone and Telegraph (AT&T) Corporation. In general, telephone switches directly inter-connect local calling and called parties and, when required for long distance communication, route telephone calls from a calling party over a series of one or more trunk lines to a local switch situated some distance away from the calling party and located in the vicinity of the called party.

At present, these electronic switching systems are computer controlled with the specific switching functions implemented in a series of software routines which are commonly referred to as generics. These generics are developed by the switch manufacturer and then loaded into the switch for subsequent use at a customer's site, typically a local switching office. Through these generics, the switch is able to provide a pre-defined selection of enhanced services to any local customer that is connected to the switch.

As in any industry, customer needs frequently change over time. The telephone industry is no exception. For example, once a customer has utilized a particular enhanced service for a period of time sufficient for him or her to discover its limitations, the customer will demand an improved service that cures these limitations. For example, call waiting was offered, initially a few years ago, to provide a service through which customers would not automatically miss a telephone call if their line was busy. In essence, this service first provided a signal (typically a short tone) to a called party on a busy line that another party was attempting to reach him and then allowed the called party to switch between the two calling parties by flashing a switch hook on his telephone. At first, this service adequately met customer demand. However, after this service was used by a customer for a sufficient period of time, the customer quickly realized that every telephone call that occurred during the time his line was busy would generate a tone on his line regardless of who was calling him. This occurred simply because the local switch, which provided this service, was not programmed to discriminate between incoming calls to a customer. Yet many customers find that some calls are more important than others. Hence, call waiting customers felt that calls from certain parties could be interrupted while calls from other parties were simply too important and could not be interrupted. Therefore, a demand, yet unsatisfied, has arisen for selective call waiting in which the customer would define those telephone numbers to the local telephone operating company that are important to him. An incoming call from any of these numbers, that would occur during the time the customer's line was busy, would be allowed to generate a tone and interrupt any on-going call on that line. The customer could then switch back and forth between the two callers at will. Incoming telephone calls from other numbers would simply receive a busy signal. Similarly, new service demands constantly arise from customer experiences with other presently available enhanced services.

Therefore, enhanced services that are new, when first introduced, later become commonplace after being used for several years and spawn a demand for new services. Hence, to maximize revenue, local telephone operating companies must constantly change their available service mix to satisfy customer demand. Thus, the development of enhanced services should ideally become an ongoing rapid evolutionary process between a telephone company and its customers. Unfortunately, in practice, this is simply not the case, as will now be discussed.

As noted above, software generics that provide enhanced services reside within the local switch. Because these generics are developed by the switch manufacturer and not by the local telephone companies, the local telephone companies generally must rely on the switch manufacturer to develop and then disseminate an entirely new set (a so-called "release") of generics or alternatively supplement an existing release with various new generics before any new enhanced services could be offered to customers, even on a trial basis. This generally necessitated a complete or substantial re-programming of a switch. Specifically, these generics often vary widely among switches produced by different manufacturers. Inasmuch as a local telephone company frequently utilizes switches from a variety of different manufacturers, the local telephone company simply does not have the resources to expeditiously write generics for each different switch it uses and therefore must rely on the switch manufacturer to do so. Consequently, the local telephone companies are constrained to wait until the switch manufacturer completes a lengthy development effort to offer, what it believes to be, either a new release of generics or supplementary generics to an existing release. Now, even when either of these events occurs, the new release (or supplementary generics from an existing release) has yet to be loaded into an operational switch for field trials (actual market tests) in order to accurately assess customer demand for the newly available enhanced services. Frequently, during the course of such a trial, the local telephone company learns that certain services, just now provided by the switch manufacturers are not particularly useful or usable by customers while other services, not previously foreseen or implemented by the manufacturer, are highly in demand. These results are then fed back to the switch manufacturer which, in turn, appropriately modifies the current generics in the present release. As one can appreciate, this iterative development process results in both a great deal of delay and considerable expense to the switch manufacturers in developing each release and substantial business opportunities and concomitant revenues that are missed by the local telephone companies. Moreover, there is no guarantee that, when the modified release becomes available in a fully operational release, the marketplace demand for certain enhanced telephone services will still remain. In particular, as the capability of the telephone network increases, a customer who demands a particular enhanced service might well decide, over time, to utilize a readily available substitute, though non-identical service, for the service initially demanded. This, in turn, decreases the eventual sales for the initially demanded service once that service finally becomes available. Hence, as the delay lengthens between the time a demand for a particular enhanced service is first foreseen and the time that service is finally implemented in an operational release and then made available to customers on a wide scale, increasing uncertainty, as to the ultimate marketplace acceptance of this new service, will tend to corrupt any early prediction of revenue for this service.

Thus, as can be seen, the long lead times associated with developing fully functional generics has, in the past, and continues to significantly inhibit the ability of local telephone companies to expeditiously develop and field test new enhanced telephone services and then modify the services, if necessary, to quickly satisfy customer demand. As a result, local telephone companies often provided enhanced telephone services that were out of step with current customer demand and were thereby unable to tap significant business opportunities. Now, if new services could be very quickly developed and expeditiously trialed on a small scale, then the local telephone companies would be much more able to adequately define each new service to meet customer requirements and rapidly deploy that service with a markedly reduced chance of failure than that which presently occurs.

Thus, a need exists for a telephone switching system that can readily provide new enhanced telephone services without requiring that any of the generics utilized in a local telephone switch be re-programmed.

SUMMARY OF THE INVENTION

The above-described drawbacks in the provisioning of new enhanced telephone services are advantageously eliminated in accordance with the teachings of the present invention by a multi-service telephone switching system that utilizes a programmable adjunct in conjunction with a telephone switch. Specifically, this system includes a telephone switch that serves at least one subscriber and an adjunct that is connected to the telephone switch both through one or more distinct paths, such as a number of hunt group lines, and through a datalink, such as a simplified message desk datalink. The telephone switch routes a telephone call (e.g. forwards an incoming call and directly connects an outgoing call) involving this subscriber to the adjunct through an available hunt group line and provides a corresponding message to the adjunct over the datalink. This message typically specifies the calling number and a condition under which the call was routed to the available hunt group line. In response to this message, the adjunct takes complete control of the call substantially throughout the remainder of its duration and provides a desired enhanced service that has been pre-defined by a service script stored within the adjunct.

In particular, the telephone switch, typically a local switch, is connected to each one of a plurality of telephone subscribers through a separate corresponding one of a plurality of lines. The adjunct itself utilizes: a programmable switch providing first and second sets of interfaces, wherein various ones of the first set are connected to corresponding lines within the hunt group supplied by the telephone switch; at least one peripheral device connected to a particular interface within the second set; a storage device, typically a disk drive; and a host processor connected to the telephone switch, via the simplified message desk datalink, and also connected to the storage device, the peripheral device and the programmable switch.

In operation, the host processor controls the peripheral device and the programmable switch in accordance with a sequence of functional components which form a service script. The service script is stored within the storage device and collectively defines an enhanced service. To provide an enhanced service anytime during the call, the adjunct routes a call, that has been forwarded by the telephone switch, through the programmable switch throughout the remainder of the duration of the call in order for the adjunct to exercise substantial control over the call during this time. Since at this point and thereafter the adjunct has substantially complete control over the call, it is able to provide enhanced services to either the caller or called party on that call independently of any software, such as generics, executing within the local switch. This, in turn, eliminates any need to re-program the telephone (local) switch to provide the enhanced service.

Service scripts are sequences of functional components. Each functional component is a high level command that provides a certain function required to provide an enhanced service. An entire set of functional components provides all the necessary commands, in terms of high level telephone switching operations, to provide enhanced services. For example, some of these functional components, when executed, instruct the programmable switch to transmit a digit, collect a dialed number, establish a voice path through the switch between a caller and either a called party or a peripheral, and the like. Other functional components, when executed, instruct the peripheral device to provide a specific function, such as play a message, record a message, synthesize or recognize speech and the like.

Now, whenever an enhanced service is to be provided, specifically in response to a so-called trigger, an appropriate service script is read from a storage device. An interpretive process, illustratively called the SCP Process, determines, based upon an immediately prior state of the script and the value of a returned result, which functional component in the script is to be executed. The appropriate functional component is then sent to another process, illustratively referred to as the SSP Process. This process, similar to a run time compiler, decodes each functional component it receives into a pre-determined sequence of instructions. This sequence is used to appropriately instruct the programmable switch or a peripheral device used in the adjunct to perform the desired function specified by the functional component. Once the function has been performed, the SSP Process may provide a returned result. In addition, the SSP Process also detects events and sets appropriate triggers to invoke associated service scripts for separately processing each detected event. These events may originate within the programmable switch, such as illustratively an incoming call or a busy line, or may take the form of a software event occurring within the host processor, such as a time-out indication provided by a software timer.

By separating the software used to provide service logic functions (i.e. functional components) from the software used to implement actual switching and peripheral functions (decoding process), a programmer developing new telephone services is substantially, if not completely, relieved of the need to know any details of both the software which controls actual switching operations on the telephone switch and the software which controls actual switching and peripheral operation on the adjunct. Re-programming a short relatively simple high level service script becomes all that is required to provide a new enhanced service. Furthermore, the developed service script becomes independent of the actual hardware used in the adjunct. Consequently, the service logic (service scripts) becomes easily transportable; while, the switching logic (decoding process) is customized for a particular adjunct being controlled (e.g. much like a compiler is written for the instruction set of a particular machine; while the high level code to be compiled is usually machine independent, i.e. tansportable and executable on computers having significantly disparate instruction sets). Thus, use of the inventive adjunct advantageously permits enhanced telephone services to be quickly developed, trialed and modified, as needed, in order to expeditiously satisfy customer demand with a minimal expenditure of time and effort.

To easily provide enhanced services through existing telephone switches, each subscriber, in accordance with a preferred embodiment of the present invention, has two telephone numbers. One such number is a logical or published number. This is the number known to the telephone switch and is the one that others would dial to reach this subscriber. The other number is a physical number known only to the adjunct. Incoming calls to a subscriber's logical number are routed by the telephone switch (illustratively using a "call forwarding" feature) to a hunt group line. The call is then routed by the adjunct through the programmable switch for the duration of the call and, based upon the services desired by the called party and the condition (e.g. answered, busy or not answered) of his telephone line, routed to the physical number of the called party to ring his telephone or, for call forwarding, to the physical number of another party in order to ring the telephone there.

In accordance with a feature of the present invention, the adjunct can provide enhanced services based upon call screening. Since the adjunct, at least with respect to calls originating within a service area of the local switch, obtains the calling party's telephone number (so-called ANI information) from the local telephone switch for each incoming call, enhanced services can be provided which selectively prevent calls from reaching a subscriber or which selectively allow calls to be routed to the subscriber based upon the number of the calling party or information obtained through a database access using the number of the calling party.

BRIEF DESCRIPTION OF THE DRAWING

The teachings of the present invention can be readily understood by considering the following detailed description in conjunction with the accompanying drawing, in which:

FIG. 1 is a block diagram of a preferred embodiment of a system, that incorporates the teachings of the present invention, for providing enhanced telephone services;

FIG. 2 is a block diagram showing typical call flow through inventive system 100, depicted in FIG. 1, for processing an incoming telephone call;

FIG. 3 is a block diagram showing typical call flow through inventive system 100, depicted in FIG. 1, for processing an outgoing telephone call;

FIG. 4 shows the proper alignment of the drawing sheets for FIGS. 4A-4D;

FIGS. 4A-4D collectively depict a block diagram of Modular Switching Node (MSN) 400 that forms a portion of inventive system 100 shown in FIG. 1;

FIG. 5 is a block diagram of "#" sign detector 500 shown in FIGS. 4A-4D;

FIG. 6 diagrammatically shows an overview of the organization of and inter-process communication occurring within the software executing on host processor 490 shown in FIGS. 4A-4D;

FIG. 7 depicts a flowchart of SCP Process Routine 700 shown in FIG. 6;

FIG. 8 shows the proper alignment of the drawing sheets for FIGS. 8A-8C;

FIGS. 8A-8C collectively depict a flowchart of SSP Process Routine 800 shown in FIG. 6;

FIG. 9 shows the proper alignment of the drawing sheets for FIGS. 9A and 9B;

FIGS. 9A and 9B collectively depict a flowchart of Load Database Routine 900 that is executed as part of SSP Process Routine 800 shown in FIGS. 8A-8C;

FIG. 10 depicts a flowchart of SMD N - No Answer Routine 1000 that is also executed as part of SSP Routine 800 shown in FIGS. 8A-8C;

FIG. 11 depicts a flowchart of SMD B - Busy Routine 1100 that is also executed as part of SSP Routine 800 shown in FIGS. 8A-8C;

FIG. 12 depicts a flowchart of SMD D - Directly Dialed Routine 1200 that is also executed as part of SSP Routine 800 shown in FIGS. 8A-8C;

FIG. 13 shows the proper alignment of the drawing sheets for FIGS. 13A and 13B;

FIGS. 13A and 13B collectively depict a flowchart of SMD A - Forwarded Call Routine 1300 that is also executed as part of SSP Routine 800 shown in FIGS. 8A-8C;

FIG. 14 shows the proper alignment of the drawing sheets for FIGS. 14A and 14B;

FIGS. 14A and 14B collectively depict a flowchart of Software Event Routine 1400 that is also executed as part of SSP Process Routine 800 shown in FIGS. 8A-8C;

FIG. 15 shows the proper alignment of the drawing sheets for FIGS. 15A and 15B;

FIGS. 15A and 15B collectively depict a flowchart of Off Hook Routine 1500 that is also executed as part of SSP Process Routine 800 shown in FIGS. 8A-8C;

FIG. 16 depicts a flowchart of On Hook Routine that is also executed as part of SSP Process Routine shown in FIGS. 8A-8C;

FIG. 17 shows the proper alignment of the drawing sheets for FIGS. 17A-17C;

FIGS. 17A-17C collectively depict a flowchart of Digit Collection Routine 1700 that is also executed as part of SSP Process Routine 800 shown in FIGS. 8A-8C;

FIG. 18 depicts a flowchart of Answer Functional Component (FC) Routine 1800;

FIG. 19 depicts a flowchart of Call Forward FC Routine 1900;

FIG. 20 depicts a flowchart of Check ANI FC Routine 2000;

FIG. 21 shows the proper alignment of the drawing sheets for FIGS. 21A and 21B;

FIGS. 21A and 21B collectively depict a flowchart of Check Message FC Routine 2100;

FIG. 22 depicts a flowchart of Collect Digits FC Routine 2200;

FIG. 23 depicts a flowchart of Customer Answer FC Routine 2300;

FIG. 24 depicts a flowchart of Dialing FC Routine 2400;

FIG. 25 shows the proper alignment of the drawing sheets for FIGS. 25A-25B;

FIGS. 25A-25B collectively depict a flowchart of Give Path FC Routine 2500;

FIG. 26 depicts a flowchart of Go To FC Routine 2600;

FIG. 27 depicts a flowchart of Hang-Up FC Routine 2700;

FIG. 28 depicts a flowchart of Quit FC Routine 2800;

FIG. 29 depicts a flowchart of Page FC Routine 2900;

FIG. 30 depict a flowchart of Play Voice Message FC Routine 3000;

FIG. 31 shows the proper alignment of the drawing sheets for FIGS. 31A and 31B;

FIGS. 31A and 31B collectively depict a flowchart