Abstract:
A communications system is designed to allow an end-user device that is coupled to a telephone set to receive activation codes that are transmitted thereto by a switch of such communications system when the telephone set is in an on-hook position. The communications system may initiate the transmission of the activation codes to the end-user device. Alternatively, the end-user device may poll the communications system to receive the activation codes therefrom. The end-user device may invoke a communications service in real time by transmitting to the communications system activation codes stored in its memory via an SVD channel modem while another SVD channel is being used for another communication service.

Description:
TECHNICAL FIELD 
     This disclosure relates to communications systems and, more particularly, to a method for communicating activation codes to a communications device. 
     BACKGROUND 
     Communications services providers have long complained about their inability to make new features available to their subscribers without incurring high advertising costs. For example, millions of dollars have been spent to publicize the automatic callback feature that allows a user to automatically place a call to the last incoming calling number (which may be unknown) by pressing an activation code, such as *69. Because the advertising expenses are significant, communications services providers have to charge a high transaction fee for the automatic callback feature to recoup their advertising expenses, and earn a reasonable return on their investments. The high transaction fee for the automatic callback feature prevents a significant number of communications services users from invoking the feature 
     In an attempt to find a solution to this problem, Mirville and Silverman in U.S Pat. No. 5,745,553 proposed a solution that allows a user to receive on a display of a caller-id box, information related to communications features available to such user. According to the Mirville-Silverman solution, the communications system constantly transmits communications services features information to a subscriber primarily when the subscriber&#39;s telephone set is in an off-hook position. Specifically, the communications services feature information is transmitted to the caller-id box either in-band using the Analog Display Services Interface (ADSI) protocol for analog lines, or via the data channel (D) of an Integrated Services Digital Network (ISD) connection for digital lines. The communications services feature information includes an activation code for each feature as well as the fee for dynamically invoking the feature. 
     While the Mirville-Silverman solution represents a significant advance over the prior art, the solution however is not without some imperfections. For example, the use of the in-band or the D channel for transmission of the activation codes prevents or impairs the use of such channels for other purposes. The transmission of activation codes in-band can potentially interfere with similar transmission of caller identification information that is typically sent between the first and second rings. 
     Equally important is the fact that when a communications service feature is invoked for a POTS call, the activation code for such invocation is transmitted in-band. Such in-band transmission unduly interferes with the on-going conversation between calling and called parties. Thus, a solution is needed that implements the Mirville-Silverman teachings while overcoming the deficiencies of the Mirville-Silverman solution. 
     SUMMARY 
     The present disclosure is directed to a communications system that allows an end-user device (hereinafter called “a service activator”) that is coupled to a telephone set to receive activation codes that are transmitted thereto by a switch of such communications system when the telephone set is in an on-hook position. The principles of the present disclosure can be implemented as either a downloading process or as a polling process. In the downloading process, the communications system initiates the transmission of the activation codes to the service activator. In the polling process, the service activator initiates the reception of activation codes therein. 
     In an exemplary embodiment of the principles of the downloading process, an adjunct processor that is coupled to a switch of the communications system places a call to the telephone number associated with the telephone set for the purpose of downloading activation codes to the service activator. The adjunct processor is equipped with an auto dialer that is capable of initiating calls to telephone sets and other communications devices. For the purpose of receiving activation codes, the service activator operates in a manner similar to an answering machine inasmuch that it is arranged to receive information when the telephone set is still in an on-hook position after a predetermined number of rings. The service activator of the present disclosure includes a Simultaneous Voice over Data (SVD) modem that is equipped with a ringing tone suppressor and an auto dialer. 
     The switch to which the telephone set is coupled is arranged to send a distinctive signal ringing tone to the telephone line for calls initiated by the adjunct processor. Upon receiving the distinctive ringing tone, the service activator suppresses ringing to the telephone set and transmits a “Data Set Ready” (DSR) signal to the adjunct processor. The reception of the DSR signal by the adjunct processor triggers the information downloading process. At the end of the process, the adjunct processor terminates the call. 
     Alternatively, the adjunct processor may send a paging signal to a paging receiver of the service activator. Upon receiving the paging signal, the service activator initiates the polling process described below. 
     In an exemplary embodiment of the polling process, the service activator uses its auto dialer to initiate a call to the adjunct processor that is coupled to the switch serving the service activator. Upon completion of the call, the adjunct processor uses the Automatic Number Identification (ANI) associated with the call to determine the appropriate activation codes to be downloaded to the storage area of the service activator. Thereafter, the adjunct processor transmits the appropriate activation codes to the service activator. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 shows in block diagram format a communications network arranged in accordance with the principles disclosed herein to allow an adjunct processor to transmit appropriate activation codes to an service activator; 
     FIG. 2 illustrates a schematic diagram of the major components of an service activator that is used to implement the principles of the present disclosure; and 
     FIGS. 3 and 4 illustrate programmed instructions executed by different components of FIG. 1 to implement the principles disclosed herein. 
    
    
     DETAILED DESCRIPTION 
     FIG. 1 shows in block diagram format a communications network  100  which includes modem pools  111  and  112 , access/egress communications switches  105  and  106  and adjunct processors  108  and  109 . For the sake of clarity and ease of explanation, components of FIG. 1 that are identical will be described individually when appropriate, with the corresponding identical component indicated in parentheses. 
     Access/egress communications switches  105  and  106  of FIG. 1 are connected to a common signaling network  107  via trunk facilities  125  and  126 , respectively. Communications switch  105  ( 106 ) is a processor-controlled, software-driven communications systems that is arranged to route calls to destinations specified in call setup information received from service activators such as analog telephone set  101  ( 102 ). A well-known communications switch is the Lucent Technologies 5ESS® switch whose features and functionality are described in different articles published in the AT&amp;T Technical Journal, Vol. 64, No. 6, part 2, pp. 1305-1564, July/August, 1985. 
     Communications switches  105  and  106  exchange call processing messages via signaling network  107  and signaling trunks  125  and  126 . Signaling network  107  is comprised of a plurality of interconnected packet switching nodes that route call processing messages to their appropriate destinations according to a defined protocol, such as the well-known Common Channel Signaling (CCS) protocol. It is worth noting that although the communications system  100  of FIG. 1 does not show (for the sake of simplicity) any toll switches or Inter-exchange carrier network, it is to be understood that one or more toll switches may be included in communications system  100 . 
     Also shown in FIG. 1 is SVD modem pool  111  ( 112 ) that is coupled to communications switch  105  ( 106 ) via trunk  121  ( 122 ). Specifically, trunk  121  is connected to the voice ports of the SVD modems in the pool while the data ports of the SVD modems are coupled to facility  123  ( 124 ) that connects such data ports to adjunct processors  108  ( 109 ). As is well known in the art, an SVD modem allows simultaneous voice and data (SVD) signals to be transmitted to separate voice and data destinations. In the present disclosure, the SVD modems in the pool and the SVD modems in the service activator  103  ( 104 ) exchange SVD signals that include multiplexed voice and data signals. Specifically, the voice and data signals are de-multiplexed by the SVD modems in the pool to allow the voice signals to be directed to communications switch  105  ( 106 ) via trunk facility  121  ( 122 ) and the data signals to be routed to adjunct processor  108  ( 109 ) via trunk facility  123  ( 124 ). 
     Adjunct processor  108  ( 109 ) is a general-purpose computer that is suitably arranged to execute some of the instructions set forth in FIGS. 3 and 4. Adjunct processors  108  ( 109 ) is equipped with auto dialers that allow such processor to place calls to destinations selected by database  110 . Calls placed by adjunct processor  108  ( 109 ) include paging calls directed to service activator  103  ( 104 ). Specifically, adjunct processor  108  ( 109 ) is arranged to send call handling instructions to communications switch  105  upon receiving an activation code from service activator  103  ( 104 ), as described in further detail below. Other calls placed by adjunct processor  108  ( 109 ) include paging calls directed to service activator  103  ( 104 ). 
     FIG. 1 also shows database  110  that is a processor-controlled database management system suitably arranged to store a list of features subscribed by each line connected to communications switch  105  ( 106 ). Associated with each feature in the list is a fee for invoking such feature. An exemplary representation of one such list is shown in FIG. 4 of U.S. Pat. No. 5,745,553 that is incorporated herein by reference. Database  110  also stores information related to the directory number or Automatic Number Identification (ANI) of each subscriber. Such directory number or ANI is used to identify the telephone number associated with the service activator for a particular subscriber and to determine the set of activation codes that are appropriate for such particular subscriber. For example, database  110  may download to the service activators of heavy communications services users, certain advanced communications services features, such as multi-party services features, while the service activators of casual communications services users may receive basic communications services features such as caller-id and call forwarding. Database  110  also stores information related to 
     When communications switch  105  ( 106 ) needs to present an announcement to a caller or a called party, the switch sends a signal to Voice Messaging System  111  ( 112 ) to deliver a chosen message to the party. Specifically, upon receiving appropriate commands from adjunct processor  107  ( 108 ), communications switch  105  ( 106 ) transmits a pre-defined signal to VMS  111  ( 112 ) instructing the VMS to deliver a particular type of announcement to a called party. When VMS  111  ( 112 ) receives the pre-defined signal from communications switch  105  ( 106 ), VMS  111  ( 112 ) fetches its memory to retrieve a pre-defined set of scripts that are executed for delivery of a pre-recorded voice announcement. Such announcement typically prompts the calling or called party to enter some digits or delivers a message to the calling or called party A voice messaging system may be implemented using the AT&amp;T Conversant® Voice System whose architecture and features are described in  AT&amp;T Technical Journal  Vol. 65, Issue 5, pp. 34-47, September/October 1986. 
     It is worth noting that although communications switch  105  ( 106 ), adjunct processor  108  ( 109 ) and VMS  111  ( 112 ) are shown in FIG. 1 as separate components, persons skilled in the art may combine such components into a single piece of equipment capable of providing the features and functionality of the aforementioned components. 
     FIG. 2 illustrates a schematic diagram of the major components of an service activator that is used to implement the principles of the present disclosure. Shown in FIG. 2 are display  201 , bus  202 , components of caller-id display unit  203 , microprocessor  204 , ringing tone filter  205 , paging receiver  206 , auto dialer  207 , Dual Tone Multi Frequency (DTMF) Analog-to-Digital (A/D) converter  208 , SVD modem  209  and DTMF filter  210 . Each component of service activator  103  ( 104 ) has a distinct address that identifies such component in communications with other components of the activator. Specifically, communications signals exchanged between two components of service activator  103  ( 104 ) include a) a header address that identifies the source of the signal b) a destination address that indicates the component to which the signal is directed, and c) the particular message transmitted to the destination component. All such communications are transmitted and received via bus  202  that serves as the common link which allows each component to select to receive only signals addressed thereto. 
     Service activator  201  is a caller-id display unit suitably modified to implement the principles of this disclosure. Hence, all the components of a conventional caller-id display unit including Caller ID capture chips, on-board storage area, line interface unit, converter, control circuit, to name a few are represented in component  203 . Addition information related to caller-id display unit may be found in U.S. Pat. No. 4,582,956 that issued on Apr. 15, 1986 and that is incorporated herein by reference. 
     Display  202  is a video output screen that may be implemented preferably as a Liquid Crystal Display (LCD) capable of displaying alphabetic and numeric data such as ASCII characters. Alternatively, Display  202  may be implemented as a plurality of interlaced seven-segment displays or a combination of simple Light Emitting Diodes (LED). The latter implementation may be preferable if service activator  103  ( 104 ) has an independent power supply; i.e. does not receive its power directly from communications switch  105  ( 106 ). Display  202  may also include a display controller chip that stores in its non-volatile memory a display driver that allows display  202  to support different types of display modes (resolutions and pixel depths) that are selectable by a user through a simple physical interface such as a resolution selection button. 
     At the heart of service activator  103  ( 104 ) is microprocessor  204  that stores in memory  214  the activation codes record, some of the instructions set forth in FIGS. 3 and 4 as well as the internal logic of the microprocessor. Such internal logic may include an operating system for small devices such as Windows® CE from MicroSoft® or Inferno® from Lucent Technologies. Microprocessor  204  is a specialized semiconductor chip that is designed to take specific actions based on input received via bus  202  from telephone set  101  ( 102 ) or adjunct processor  108  ( 109 ). For example, when adjunct processor  108  ( 109 ) pages service activator  103  ( 104 ), the paging signal is received at paging receiver which promptly sends a processing signaling message to microprocessor  204 . Such processing signaling message includes in addition to the origination and destination address the telephone number associated with adjunct processor  108  ( 109 ). Upon receiving such message, microprocessor  204  instructs auto dialer  207  to compose the telephone number associated with adjunct processor  108  ( 109 ). 
     Microprocessor  204  also coordinates all functions performed by service activator  103  ( 104 ). For example, microprocessor  204  coordinates timing of signals between the components as well as between service activator  103  ( 104 ), telephone set ( 101  ( 102 ) and the components of network  100 . 
     Paging receiver  206  is a wireless receiver that is suitably arranged to receive alphanumeric or numeric wireless signals via radio waves transmitted thereto by signals from a commercial paging system such as PageMart in the United States. Paging receiver  206  includes a decoder that is designed to decode the data from the paging signal and to correct errors in such signals when possible. Data in the paging signal include address signals that allow the receiver to determine whether a particular message is directed to the receiver. When the receiver determines that a particular message is destined for such receiver, it automatically forwards the received message to microprocessor  204  for further processing as discussed in detail below. 
     DTMF A/D converter  204  is an Application-Specific Integrated Circuit (ASIC) that is designed to convert DTMF analog signals into digital signals that are forwarded to SVD modem  209 . DTMF A/D converter  204  performs its analog to digital conversion functions only when the voice channel of SVD modem  209  is in use or a data call is initiated by auto dialer  207 . When both channels of SVD modem  209  are idle, such as during call setup time, DTMF A/D converter  208  does not convert DTMF signals received from service activator  101  ( 103 ) via bus  202 . When the voice channel of SVD modem  209  is busy and DTMF analog signals i.e., activation codes, are broadcast over bus  202 , DTMF filter  210  screens out the DTMF analog signals in order to prevent the DTMF activation codes from being transmitted via the voice channel of SVD modem  209 . DTMF filter  210  also blocks out the dial tone sound when auto dialer  207  places a data call to a pre-determined destination, such as adjunct processor  107  ( 108 ). 
     FIG. 3 illustrates programmed instructions executed by different components of FIG. 1 to download activation codes to service activator  101  ( 103 ). The process contemplated by this disclosure is initiated in step  301  when adjunct processor  107  ( 108 ) receives a signal from database  110  to download new or updated activation codes to service activator  103  ( 104 ). The signal transmitted by database  110  may include one or more activation codes to be added to, or replaced in, the activation code record in service activator  103  ( 104 ). Alternatively, the signal may include a new activation code record to overwrite the existing activation code record in service activator  103  ( 104 ). Upon receiving such signal, adjunct processor  107  ( 108 ) in step  302  pages service activator  103  ( 104 ) to indicate its readiness to download the new or updated activation codes. The paging message transmitted by adjunct processor  107  ( 108 ) includes the telephone number associated with a data port of adjunct processor  107  ( 108 ). After receiving the paging message, service activator  103  ( 104 ) in step  303  ascertains whether the voice channel of SVD modem  209  within the service activator is idle. If so, service activator  103  ( 104 ) in step  304 , places a data call to adjunct processor  107  ( 108 ) via the data channel of SVD modem  209 . After the appropriate handshaking procedures have been established between service adjunct processor  107  ( 108 ) and service activator  103  ( 104 ), adjunct processor  107  ( 108 ) in step  305 , starts downloading the new activation codes record or the one or more updated activation code(s). 
     If the voice channel of SVD modem  209  is not idle (after service activator  103  ( 104 ) has received the paging message), as determined in step  303 , service activator continues to check the status of the voice channel of SVD modem  209  until such channel becomes available. 
     When an off-hook signal is detected by service activator  103  ( 104 ) during the downloading process, as determined in step  306 , microprocessor  204  in step  308  generates a signal that is transmitted to adjunct processor  107  ( 108 ) to request termination of the downloading process. Therafter, steps  303  to  306  are repeated until the downloading process is completed, as determined in step  307 . An alternative to the termination of the downloading process is to temporarily suspend the process when the off-hook signal is detected. When the handset of telephone  101  ( 102 ) goes back on-hook, the downloading process is resumed at the point where it was suspended. 
     FIG. 4 is a flowchart outlining programmed instructions executed by some of the components of FIG. 1 to implement the principles of the disclosure. The process of FIG. 4 is initiated in step  401  when auto dialer  207  of service activator  103  ( 104 ) initiates a call to adjunct processor  107  ( 108 ) to request an updated copy of the activation codes record. The process of FIG. 4 may be triggered by microprocessor  204  sending instructions to auto dialer  207  to initiate the call. The instruction in turn may be generated by microprocessor  204  executing a daemon-type program that creates such instructions at periodic intervals e.g., every four weeks. As is well known in the art, a daemon is a computer program that is not invoked explicitly, but lies dormant waiting for some condition(s) (such as expiration of a predetermined amount of time) to occur to trigger execution of the program. 
     Upon completion of the call, adjunct processor  107  ( 108 ) in step  402 , requests a copy of the activation codes record from both service activator  103  ( 104 ) and database  110  which promptly transmit their respective copy of the activation codes record in step  403 . Thereafter, adjunct processor  107  ( 108 ) compares the two copies of the activation codes record to ascertain whether the two copies are identical. When the two copies of the activation code records are identical, as determined in step  405 , the call is automatically terminated in step  406  resulting in the end of the process. If the two copies of the activation code records are not identical, as determined in step  405 , service activator  103  ( 104 ) in step  407 , assesses whether the voice channel of SVD modem  209  is idle. If so, service activator  103  ( 104 ) transmits a signal to adjunct processor  107  ( 108 ) which proceeds in step  408  to start downloading updated activation codes to service activator  103  ( 104 ) in order to overwrite the activation codes previously stored in memory  214 . 
     Throughout the downloading process, ringing tone detector monitors bus  202  to determine whether any off-hook signal is detected on bus  202 . When such a signal is detected, as determined in step  409 , service activator  103  ( 104 ) in step  410  transmits a signal to adjunct processor  107  ( 108 ) to request immediate termination of the downloading process. Thereafter, steps  407  to  409  are repeated until the end of the downloading process, as determined in step  411 . 
     The foregoing is to be construed as only being an illustrative embodiment of the principles of this disclosure. Persons skilled in the art can easily conceive of alternative arrangements providing functionality similar to this embodiment without any deviation from the fundamental principles or the scope of this disclosure.