# US 5,703,940 A · Method and apparatus for delivering calling services

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 5,703,940 A
- Document ID: US5703940A
- Status: Granted
- Kind: A
- Application number: 08/513,477
- Filed: 1995-08-10
- Granted: 1997-12-30
- Earliest claimed: 1993-11-12
- Assignees: Intervoice, Inc.
- Inventors: Sohail Sattar; Steven E. Polsky
- Web page: https://patentgrep.com/patent/US5703940A

## CPC

- H04M 3/4228: {in networks}
- H04M 3/533: Voice mail systems
- H04Q 3/0029: {Provisions for intelligent networking}
- H04Q 2213/13209: ISDN
- H04Q 2213/13375: Electronic mail
- H04Q 2213/135: Service creation
- H04Q 2213/13503: object-oriented systems
- H04Q 2213/13517: SLEE - service logic execution
- H04Q 2213/13527: protocols - X.25, TCAP etc.
- H04Q 2213/13546: Intelligent Peripheral
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)
- H04Q: SELECTING (switches, relays, selectors H01H; wireless communication networks H04W)

## Abstract

A call processor (49) contains a service node (48) and an intelligent peripheral (42) for performing calling services requested by a telephone network service control point (24). If service control point (24) requests a calling service that is not supported by intelligent peripheral (42), or if the service logic for the requested source is stale or unavailable, intelligent peripheral (42) requests that service control point (24) or another external source transmit the necessary service logic to intelligent peripheral (42) to perform the specific calling service. Intelligent peripheral (42) caches the service logic for the calling service for a predetermined period of time according to the anticipated future need for the calling service.

## Claims

### Claim 1

A call processing system operable to deliver calling services to callers, said system comprising:
a call processor for receiving from a service control point requests for a calling service and for executing said calling service when said call processor contains proper program logic pertaining to said calling service;
wherein said call processor comprises:
means for requesting from a source external to said call processor additional program logic pertaining to said calling service when said call processor does not contain said proper program logic pertaining to said calling service.

### Claim 2 (depends on 1)

The call processing system as set forth in claim 1, wherein said requesting means includes:
means for determining if said proper program logic is contained within said call processor,
wherein, at certain time periods, said determining means determines whether program logic contained within said call processor is proper program logic.

### Claim 3 (depends on 1)

The call processing system as set forth in claim 1, wherein said requesting means includes:
means for determining if said proper program logic is contained within said call processor,
wherein said determining means uses information received from said service control point to determine whether program logic contained within said call processor is said proper program logic.

### Claim 4 (depends on 1)

The call processing system as set forth in claim 1, wherein said external source is said service control point.

### Claim 5 (depends on 1)

The call processing system as set forth in claim 1, further comprising:
a first database associated with the service control point for storing program logic to be sent to the call processor; and
a second database associated with the call processor for storing program logic received from said service control point.

### Claim 6 (depends on 5)

The call processing system as set forth in claim 5, wherein the second database is updated at predetermined intervals.

### Claim 7 (depends on 6)

The call processing system as set forth in claim 6, wherein said updating is performed by purging preselected program logic.

### Claim 8 (depends on 6)

The call processing system as set forth in claim 6, wherein said updating is performed by receiving preselected program logic.

### Claim 9 (depends on 1)

The call processing system as set forth in claim 1, wherein said call processor comprises:
an intelligent peripheral for performing caller services when requested by said service control point.

### Claim 10 (depends on 1)

The call processing system as set forth in claim 1, further comprising:
means for creating a service logic table associated with said call processor operable to store program logic.

### Claim 11 (depends on 10)

The call processing system as set forth in claim 10, wherein said creating means includes means for allowing manipulation of vectors, objects, and events to construct said program logic.

### Claim 12 (depends on 10)

The call processing system as set forth in claim 10, wherein said creating means includes a graphical interface that allows manipulation of vectors, objects, and events to construct a visual representation of the program logic.

### Claim 13 (depends on 10)

The call processing system as set forth in claim 10, further comprising a service logic executive processor with access to said service logic table operable to execute said program logic.

### Claim 14 (depends on 1)

The call processing system as set forth in claim 1, wherein said call processor receives said program logic without interruption of service by said call processor.

### Claim 15 (depends on 1)

The call processing system as set forth in claim 1, further comprising at least one external server accessible by said call processor to provide information necessary to execute said program logic.

### Claim 16 (depends on 1)

The call processing system as set forth in claim 1, wherein said call processor maintains a first program logic set operable to provide call services to said service control point and a second program logic set operable to deliver call services independent of said service control point.

### Claim 17

A method for a call processor to deliver calling services to a caller, comprising the steps of:
determining that said call processor does not contain proper logic pertaining to a calling service requested by a service control point (SCP);
requesting that said SCP download program instructions defining said calling service to said call processor;
downloading said program instructions from said SCP to said call processor; and
executing said program instructions by said call processor.

### Claim 18 (depends on 17)

The method as set forth in claim 17, further comprising the step of storing said downloaded program instructions in a database controlled by said call processor.

### Claim 19 (depends on 18)

The method as set forth in claim 18, further comprising the step of updating said database at predetermined intervals,
wherein said updating step comprises the step of requesting updated program instructions from a source outside of said call processor, and
wherein said updated program instructions are downloaded to said database.

### Claim 20 (depends on 19)

The method as set forth in claim 19, wherein said updating step further comprises the step of purging out-of-date program instructions from said database.

### Claim 21 (depends on 19)

The method as set forth in claim 19, wherein said updating step is performed for a particular calling service.

### Claim 22 (depends on 19)

The method as set forth in claim 19 wherein said outside source is said SCP.

### Claim 23 (depends on 17)

The method as set forth in claim 17, wherein said executing step further comprises the steps of:
accessing a service logic table generated by a computer input means coupled to said call processor; and
executing said service logic table.

### Claim 24 (depends on 17)

The method as set forth in claim 17, further comprising the step of accessing at least one external server accessible by the call processor to provide information necessary to execute the program instructions.

### Claim 25 (depends on 17)

The method as set forth in claim 17 further comprising the step of:
executing a stored program instruction from said database either as a result of a request from an SCP or by a request generated outside of said SCP.

### Claim 26 (depends on 17)

The method as set forth in claim 17 wherein said requesting step includes the step of:
said SCP requesting said download to said call processor to occur from a resource separate from said SCP.

### Claim 27 (depends on 26)

The method as set forth in claim 26 wherein said separate resource is said call processor.

### Claim 28 (depends on 26)

The method as set forth in claim 26 wherein said separate resource is also separate from said call processor.

### Claim 29

A method of delivering calling services to a caller comprising the steps of:
receiving a call from the caller at a switch of a telephone network;
determining from an input received from said caller a need for a first calling service associated with the call;
notifying a service control point of said telephone network of said need for said first calling service;
establishing a communication link between said service control point and a call processor associated with said switch;
transmitting a calling service request from said service control point to said call processor, said calling service request being operable to cause said call processor to execute said first calling service if said call processor contains service logic operable to execute said first calling service;
if said call processor does not contain service logic necessary to execute said first calling service, then:
sending a service logic request from said call processor to a source external to said call processor to transfer the necessary service logic to said call processor;
transferring said necessary service logic from said external source to said call processor, and
said call processor executing said first calling service using said necessary service logic.

### Claim 30 (depends on 29)

The method as set forth in claim 29 including the further step of caching said necessary service logic transferred from said external source in a storage device associated with said call processor.

### Claim 31 (depends on 30)

The method as set forth in claim 30 including the further step of purging selected ones of said cached service logic from said storage device from time to time.

### Claim 32 (depends on 31)

The method as set forth in claim 31 wherein said purging step is accomplished at a time determined by the call processor.

### Claim 33 (depends on 31)

The method as set forth in claim 31 wherein a purging time is determined from data transmitted to said call processor by a source external to said call processor.

### Claim 34 (depends on 31)

The method as set forth in claim 31 wherein a purging time is selected with respect to the service logic for each calling service.

### Claim 35 (depends on 31)

The method as set forth in claim 31 wherein the selected ones of said cached service logic to be purged are determined by data transmitted to said call processor under control of said service control point.

### Claim 36 (depends on 31)

The method as set forth in claim 31 wherein the selected ones of said cached service logic to be purged are determined by monitoring the execution of a calling service by said processor.

### Claim 37 (depends on 29)

The method as set forth in claim 29 wherein said service control point automatically transfers the service logic necessary to execute the first calling service to said call processor whenever said communications link is established between said service control point and said call processor.

### Claim 38 (depends on 29)

The method as set forth in claim 29 including the further step of automatically sending from said service control point to said call processor a list of required calling services whenever a communications link is established between the service control point and the call processor.

### Claim 39 (depends on 38)

The method as set forth in claim 38 wherein said call processor determines from a sent one of said lists any missing service logic needed to execute at least one required calling service; and
under control of said determining step sends a service logic request to a source external to said call processor to transfer said determined missing service logic to said call processor.

### Claim 40 (depends on 39)

The method as set forth in claim 39 wherein said external source transfers said determined missing service logic to said call processor in response to said service logic request.

### Claim 41 (depends on 29)

The method as set forth in claim 29 including the further step of automatically sending from said call processor to said service control point a list of calling services having service logic stored at said call processor whenever said communications link is established between said service control point and said call processor.

### Claim 42 (depends on 41)

The method as set forth in claim 41 wherein said service control point determines from said list of calling services which service logic is needed to execute any desired calling service; and
under control of said determining step controls the transfer of said determined service logic to said call processor.

### Claim 43

A system for delivering calling services to a caller, said system comprising:
means for receiving a call from a caller at a switch of a telephone network;
means for determining from an input received from said caller a need for a first calling service associated with said call;
means for notifying a service control point linked to said telephone network of said need for said first calling service;
means for transmitting a calling service request from said service control point to a call processor also linked with said switch;
said call processor comprising:
means operable in response to receipt of said calling service request for causing said call processor to execute said first calling service if said call processor contains proper service logic necessary to execute said first calling service;
means for determining if said call processor does not contain the proper service logic necessary to execute said first calling service; and
means for sending a request from said call processor to a source external to said call processor to transfer the proper service logic from said external source to said call processor,
wherein said request sending means operates when said determining means determines that said call processor does not contain said proper service logic.

### Claim 44 (depends on 43)

The system as set forth in claim 43 further including:
means operable upon transferring said requested service logic to said call processor to cause said call processor to execute said first calling service.

### Claim 45 (depends on 43)

The system as set forth in claim 43 further including:
a storage device associated with said call processor; and
means for storing in said storage device said service logic transferred from said external source.

### Claim 46 (depends on 45)

The system as set forth in claim 45 further including:
means for purging selected ones of said stored service logic from said storage device from time to time.

### Claim 47 (depends on 46)

The system as set forth in claim 46 further including:
means for controlling said purging by said call processor.

### Claim 48 (depends on 46)

The system as set forth in claim 46 further including:
means for controlling said purging from data transmitted to said call processor by said external source.

### Claim 49 (depends on 46)

The system as set forth in claim 46 further including:
means for selecting a purging time with respect to the particular service logic for each calling service.

### Claim 50

A method of delivering calling services to a caller, comprising the steps of:
sending a list of program instructions from a call processor to a network processing element;
examining, under control of said network processing element, said list of program instructions;
marking said list of program instructions to indicate which program instructions are required for future call processing by said call processor and which program instructions are obsolete; and
updating program instructions in said call processor according to said marked list of program instructions.
