CROSS REFERENCE TO RELATED APPLICATIONS This application is a continuation-in-part application of U.S. patent application Ser. No. 09/799,448 filed Mar. 5, 2001, which was a continuation application of U.S. patent application Ser. No. 09/146,606 filed Sep. 3, 1998, now of U.S. Pat. No. 6,230,006, all of which is hereby incorporated herein by reference.
FIELD OF THE INVENTION This invention relates generally to a system for testing the operation of a telecommunications network and more specifically to a system for remotely testing one or more switches within a telecommunications network.
BACKGROUND OF THE INVENTION Telecommunications networks can generally be divided into two components, cellular networks and conventional land-line networks. While the cellular networks support wireless telephone services and the land-line networks support conventional telephone service, the networks and services generally overlap in that a user of a wireless telephone service can place a phone call through the cellular network to the land-line network to thereby establish a telephone link with a conventional telephone, and conversely, a user of a conventional telephone service can place a phone call through the land-line network to the cellular network to thereby establish a phone link with a wireless telephone. Furthermore, in some instances, the cellular network is comprised of communication links that may, at times, be considered part of the land-line network.
There are many cellular networks in place around the United States and the rest of the world. Generally, a cellular network is bounded by a geographic territory. For example, the AT&T cellular network generally services the entire continental United States while the Cellular One cellular network generally services the east coast of the United States. A cellular network is generally comprised of multiple service areas, each of which is subdivided into multiple cells. Each cell has a base station for receiving and transmitting phone calls between a mobile phone and the cell, and the base stations are connected to a switch normally located in a mobile telephone switching office (MTSO). The number of switches required for a service area varies depending on the volume of calls experienced in the service area. Some service areas have only one switch to which all the base stations within the service area are connected; some have multiple switches such that the base stations within the service area are divided between the switches; and some even share a switch with other service areas. The MTSO generally manages the multiple switches in the cellular network and maintains a communications link between the cellular network and the land-line network.
Functionally, when a call is placed by a wireless phone located within a given cell of a service area in the cellular network, the cell base station receives the phone call and forwards it to the service area switch where it is forwarded to the destination device. If the destination device is another wireless phone located in another service area of the same cellular network, the service area switch forwards the phone call to the switch of the destination service area where it is forwarded to the bases station of the destination cell for transmission to the destination wireless phone, thereby establishing a communication link between two wireless phones within the same cellular network. If the destination device is a conventional phone; the MTSO directs the call from the calling service area switch to a switch associated with the land-line network where the call is connected to the conventional phone. If the destination device is a wireless phone located in a different cellular network, the calling service area switch forwards the phone call through the land-line network to the destination cellular network where it is directed through the switch of destination service area to the base station of the destination cell for transmission to the destination phone, thereby establishing a communication link from the calling wireless phone to the destination wireless phone by way of the calling cellular network, the land-line network and the destination cellular network.
One of skill in the art will understand that a phone call initiated by a wireless phone may involve many different switches in many different networks. Generally, the first switch accessed by the caller is the “billing switch” responsible for tracking and recording all the various charges associated with the phone call, including enhanced services. Such charges might include basic charges, in-network roaming charges, out-of-network roaming charges, land-line fees, long distance fees or other cellular network fees as will be appreciated by one of skill in the art. A billing switch that improperly tracks fees associated with a phone call or with any enhanced services provided by the service provider, results in lost revenue to, or over billing by, the service provider. Therefore, it is critical to the service provider that the billing switches consistently and accurately track and record fees.
Generally, a user of a cellular phone will execute a subscription agreement with one or more service providers which allows the user to place calls within the service providers cellular network. The user generally enters subscription agreements with service providers having cellular networks covering the geographic area in which the user normally makes phone calls. For purposes of this description, the service providers with which the user has a subscription agreement will be referred to as “home” service providers. The various service providers have executed agreements whereby a subscriber to a service provider can use the services of other service providers, subject to a fee, and the “home” service provider will appropriately charge the subscriber.
Every wireless phone contains an Electronic Serial Number (ESN) and a Numbered Assignment Modules (NAMs) which together indicate the “home” service providers to which the phone is associated (hereafter the ESN and the NAM will be collectively referred to as the “NAM”). When a wireless phone establishes a phone call, the associated billing switch recognizes the NAM in order to determine whether the phone is communicating with a “home” or “non-home” service provider in order to properly track and allocate fees. Initiating a call within the network of a “home” service provider will be charged differently than initiating a call within the network of a “non-home” service provider. Furthermore, calls initiated within “non-home” service providers will be charged differently depending upon the specific agreement between the non-home service provider and the home service provider.
Each billing switch tracks and records the fees associated with a phone call through use of a “billing table” that is preprogrammed into the switch by the service provider. The billing table recognizes charges associated with each call including any charges for enhanced services (i.e. call waiting) subscribed to by a user. Generally, the switches will be reprogrammed with updated billing tables at various times including whenever a new service area is added or removed from the cellular network; whenever a subscriber is added or deleted from the service provider; whenever the cellular network fees are changed; whenever the agreement between the cellular network and other networks changes. Furthermore, the hardware and or software of a switch may be periodically upgraded (e.g., a base station may be added to the switches' service area or the switch may be reprogrammed with “upgraded” software for bug fixes or feature enhancements). In addition, the switch undergoes maintenance or routing changes that change or effect the interaction between the switches. The upgrades and maintenance sometimes result in errors associated with billing and network operations causing the switch to malfunction as it processes calls. Whenever the switch is reprogrammed, upgraded, or undergoes maintenance, it is critical that the service provider have an efficient means for verifying that the various switches function properly and correctly track and record fees.
When a call is placed, the numerous switches handling the call are responsible for properly routing and billing the call. A switch that is installed, reprogrammed, upgraded, or maintained improperly may result in improperly routed and/or billed calls and thus lost revenue to the service provider. Because switches are being installed in new networks and because switches in existing networks are continuously reprogrammed, upgraded and/or maintained, a system for testing the proper operation of the numerous switches within a telecommunications network, and thus the proper routing and billing of calls to and from such network, is necessary to maintain an efficient network. Presently, there are two such types of systems available to service providers, one made by Rotodata and the other made by Comarco.
The Comarco system includes a testing device that places a wireless call to a service area of a cellular network where such call is routed through the switch associated with the service area to a destination device whereby a communication link is established between the testing device and the destination device. The destination device may be a mobile or land-line phone offering a pre-recorded audio message that is communicated over the established communications link to the user of the testing device where proper operation of the switch may be confirmed. The testing device may also be equipped with multiple phones such that the testing device may establish a communication link from a first one of said phones to a second one of said phones thereby establishing the testing device as the destination device. The testing device must be located “in the field” (e.g., geographically within the service area) so as to be capable of wireless communication with the service area.
One shortfall of the Comarco system is that the testing device is designed to be locally controlled in that setting the parameters of the testing device and/or initiating the test requires a technician to be located “in the field” with the testing device. This limitation also requires that a field technician travel to the various service areas of the cellular network in order to test the numerous switches within the network. Another shortfall of the Comarco System is that the testing device does not have the capability to record audio received from the destination device thereby requiring that a technician be located in the field with the testing device during testing in order for the technician to hear the quality of the audio received at the test device. Yet another shortfall of the Comarco system is that the presence of the technician in the field prevents the technician from accessing the billing records of the call, which are normally located in a central office, and therefore from verifying proper billing simultaneously with the verification of the call. Still yet another shortfall of the Comarco system is that it cannot complete calls from one testing device to a second testing device. A further shortfall of the Comarco system is that it does not enable the user to verify the audio of the placed call in both directions without a technician being present at each end of the call. Yet a further shortfall of the Comarco system is that it cannot interactively control or measure the testing being performed by the testing device.
The Rotodata system includes a testing device that places a wireless call to a service area of a cellular network where such call is routed through the switch associated with the service area to a destination device. Typically, the destination device is a pre-recorded audio message that is communicated to the user of the testing device to confirm proper operation of the switch. Unlike the Comarco system, the Rotodata system has remote control feature that permits operation of multiple testing devices from a remote location.
One shortfall of the Rotodata system is that the remote capability does not permit audio from the testing device to be communicated to the remote control location thereby forcing the user to rely on non-audio information in the call verification process. This limitation prevents the user from remotely verifying whether the audio was received, or the quality of the audio received, at either the testing device or the remote control location and prevents the user from remotely testing services such as 911 emergency service, voice mail, call forwarding, call waiting, no answer transfer and messaging, and any other service that can be verified through an interactive audio process. Accessing the audio requires the user to be in local control of the testing device which requires the technician to be located in the field with the testing device. Another shortfall of the Rotodata system is that the remote capability does not permit audio from the remote control location to be communicated to the testing device or the destination device thereby preventing the user from audio interaction with either of the devices. This limitation also prevents the user from testing services such as voice mail, call forwarding, call waiting, no answer transfer and messaging or any other service that can be verified through an interactive audio process. Yet another shortfall of the Rotodata system is that the remote control is implemented over an unsecured POTS line. Still yet another shortfall of the Rotodata system is that the system does not allow for individual call control of each remote unit. For example, the remote units will accept a 24 hour series of commands to run without master control such that the user will lose 24 hours of test if a test error occurs.
Therefore, a general object of the invention is a system for remotely testing a switch of a telecommunications network where audio received at the testing device is communicated to the remote control location whereby the user can verify the proper completion of the call, the audio quality, and the billing records.
Another object of the invention is a system for remotely testing a switch of a telecommunication network where audio from the remote control location is communicated to the testing device.
Yet another object of the invention is a system for remotely testing a switch of a telecommunication network where audio from the remote control location is communicated through the testing device to the destination device.
Still yet another object of the invention is a system for remotely testing a switch of a telecommunications network where such system is capable of centralized remote management of multiple testing devices and centralized remote testing of multiple switches.
A further object of the invention is to provide a system for remotely testing a switch of a telecommunications network where a communication link is established from a first testing device through a switch to a second testing device where the user at a remote control location has access to audio received at the first testing device and the second testing device.
Another general object of the invention is a system for remotely testing a telecommunications network wherein all network devices (“nodes”) or remote call processors (RCP) participating in the test are time synchronized with one another and events being tested and/or monitored for purposes of testing are time stamped whereby the user can verify the proper completion of the call.
Another general object of the invention is a system for remotely testing a telecommunications network the characteristics of an audio signal transmitted by one node and received at another are communicated to the remote control location whereby the user can verify the proper completion of the call and analyze the quality of the audio signal.
Another object of the invention is a system for remotely testing the transmission of data, such as audio, across a telecommunication network wherein the events involved in the transmission of data are time synchronized in response to a directive from the remote control location.
Yet another object of the invention is a system for remotely testing the transmission of data, such as audio, across a telecommunication network wherein the events involved in the transmission of data are time stamped in response to a directive from the remote control location.
Still yet another object of the invention is a system for remotely testing a telecommunications network where such system is capable of centralized remote management of multiple testing devices and centralized remote testing of multiple switches using time synchronization and time stamping.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is an illustration of a first embodiment of the system of the present invention.
FIGS. 2A-2C are diagrams of the controller and the Remote Call Processor of the present invention.
FIG. 3 is a diagram of another embodiment of the system of the present invention.
FIGS. 4-13 are flow diagrams applicable to the first and second embodiments of the present invention.
FIG. 14 is a further embodiment of the system of the present invention for implementing time synchronization and time stamping.
FIG. 15 is an even further embodiment of the system of the present invention for implementing time synchronization and time stamping.
FIGS. 16a-16cillustrate the different time events that are measurable using time synchronization and time stamping in accordance with the present invention.
FIG. 17a-17dare flow diagrams applicable to the third and fourth embodiments of the present invention.
SUMMARY OF INVENTION The present invention is a system for centrally and remotely testing switches of cellular and conventional telecommunications network wherein a controller located at a remote location establishes a communication link with a Remote Call Processor (RCP) and provides instructions to the RCP to thereby prompt the RCP to establish a communication link from the RCP through a switch to a destination device whereby audio from said destination device is communicated, by way of the switch and the RCP, to the controller in order to verify that the switch properly routed and billed the call. The destination device may be a service provided by such network or it may be another RCP.
DETAILED DESCRIPTION OF THE INVENTIONFIG. 1 is an illustration of one embodiment of the present invention. Referring toFIG. 1, the system of the present invention is a system for testing aswitch40 of atelecommunications network50. In a preferred embodiment, thetelecommunications network50 is a cellular network comprised ofmultiple service areas52 and54. The system of the present invention includes one or more remote call processors (RCPs)20,30 and acontroller10. TheRCPs20,30 include phone means for establishing a communication link from theRCP20 through the callingarea switch40 to a destination device such that audio from the destination device is communicated to theRCP20. The destination device may be a prerecorded voice mail box established by the service provider or, as further described below, anotherRCP30, or any other device that assists in the verification of the operation of theswitch40.
Thecontroller10 is for remotely controlling operation of theRCP20. The controller includes remote communication means for establishing a communication link between thecontroller10 and theRCP20 such that audio received at theRCP20 will be communicated to thecontroller10. Thecontroller10 also includes means for instructing theRCP20 to initiate a phone call to the destination device. Functionally, an operator of the system prompts thecontroller10 to establish a communication link between thecontroller10 and theRCP20 and instructs theRCP20 to initiate a phone call to a selected destination device. In response to such instructions, theRCP20 initiates a phone call to the destination device and establishes a communication link from theRCP20 through the callingarea switch40′ to the destination device (not shown). In this way, audio from the destination device is communicated through the callingarea switch40 and theRCP20 to thecontroller10. The operator of the system can then evaluate the audio received at thecontroller10 to determine if the callingarea switch40 properly connected theRCP20 to the destination device. The operator may further determine if the calling area switch properly switched the call and billed for the call by reviewing the translation tables and billing records of the switch, which preferably would be accessible at the location of thecontroller10.
In one embodiment, the destination device may be a voice mail service, a call waiting service, a call forwarding service, a no answer transfer service, a messaging service, a voice recognition service or any other of the types of services provided in such a network. In such a case, the destination device may prompt the user, through a pre-recorded voice, to select from a number of options through use of the telephone keypad. The pre-recorded voice would be forwarded to theRCP20, and thus to thecontroller10, for a response. The controller includes means for instructing theRCP20 to respond to such queries. In this way, the operator may verify the proper operation of theswitch40 by verifying that the call was established from theRCP20 to the correct destination device and that the 2-way audio transmission communicated from theRCP20 through theswitch40 to the destination device was enabled. It will be appreciated by one of skill in the art that the destination device may be any type of device sufficient to verify that the communication link throughswitch40 was properly established. Furthermore, the destination device may be located in another service area, another cellular network or the PSTN, as further described below. In another embodiment of the invention, the destination device may be a second or third wireless phone means located in theRCP20, whereby upon being prompted by thecontroller10, theRCP20 establishes a communication link from a first phone means located in theRCP20, through the callingarea switch40, to the second or third phone means located in theRCP20. In another embodiment of the invention, the destination device may be a conventional phone means located in theRCP20, whereby upon being prompted by thecontroller10, theRCP20 establishes a communication link from the wireless phone means located in theRCP20, through the callingarea switch40, to a conventional phone means located in theRCP20.
In another embodiment of the present invention, and with continued reference toFIG. 1, the destination device is asecond RCP30 that is in wireless communication with either thefirst service area52 or asecond service area54 as shown. In this embodiment, the user prompts the controller to establish a communication link withRCP20 andRCP30. The controller then instructs theRCP20 to initiate a phone call toRCP30 and instructsRCP30 to expect a phone call. In response to such instructions, theRCP20 attempts to establish a communication link through callingarea switch40 and callingarea switch42 toRCP30. If successful, theRCP30 sends data to the controller indicating the successful completion of the call at which time the user may verify that the call was properly billed by referencing the billing records. IfRCP30 does not receive the call within a predetermined period of time,RCP30 will send data to the controller indicating that the call has not been received, at which point the user may determine that one or more of theswitches40 and42 did not properly route the call.
A successful call will establish a communication link, resembling a communication loop, from thecontroller10, throughRCP20, callingarea switch40, callingarea switch42, andRCP30 to thecontroller10. As shown inFIG. 1, and as will be appreciated by one of skill in the art, the communication link between thecontroller10 andRCPs20 and30 may be comprised of thePSTN60. Also, the communication link between callingarea switch40 and callingarea switch42 may be comprised of leased lines that at other times may be considered part of the PSTN.
In the communication loop established with a successful call, the communication link betweenRCP20 andRCP30 is generally a conventional wireless telephone link capable of passing audio in either direction. The communication links22 and32 between thecontroller10 and theRCPs20 and30, respectively, will be further described below. Generally, however, these communication links may be such that they either pass one-way audio or two-way audio depending upon the specific design chosen. Furthermore, the system may have two modes of operation, a non-audio mode and an audio mode. In the non-audio mode, non-audio control and status information may be passed between the controller and each of the RCPs. In this mode, audio is not used for call verification. Such control and status information may be any type of remote control and status information known in the art. In the non-audio mode, the controller will not receive or communicate audio.
In the audio mode, in addition to control and status information being passed between the controller and each of the RCPs, audio is also passed between thecontroller10 and theRCPs20 and30. For the embodiment where communication links22 and32 are one-way audio, when the system is in the audio mode, audio received atRCP20 is communicated to the controller overcommunication link22 and audio generated at thecontroller10 is communicated toRCP30 overcommunication link32. In this mode, audio generated at the controller will be communicated toRCP30 overcommunication link32; audio fromRCP30 will be communicated toRCP20 through calling area switches42 and40; and audio fromRCP20 will be communicated to thecontroller10 overcommunication link22, thereby creating a one-way audio loop that begins and ends at thecontroller10. While in audio mode, the operator can verify that audio is adequately passing fromRCP30 through the calling area switches toRCP20 by communicating an audio signal fromcontroller10 overcommunication link32 toRCP30 and verifying that such signal is thereafter received atcontroller10 overcommunication link22.
In the preferred embodiment, the audio signal would be generated by the operator speaking into a microphone provided with thecontroller10, or through a pre-recorded text or speech message which may include a text to speech function as will be appreciated by one of skill in the art, the details of which will be further discussed below, and the audio signal would be received by a speaker provided with thecontroller10, thereby enabling the operator to verify the call by simply speaking into a microphone, or initiating the pre-recorded text or speech message, and listening to the speaker. In this embodiment, where the communication links22 and32 are such that only one-way audio is permitted, thecontroller10 would be provided with an electronic switch controlled by software residing in theController10, for reversing the path of the audio loop. By reversing the switch, audio fromRCP30 is communicated to thecontroller10 overcommunication link32 and audio from the controller is communicated toRCP20 overcommunication link22. In this embodiment, by reversing the switch, the audio signal generated at thecontroller10 would be communicated toRCP20 overcommunication link22 and thereafter received atcontroller10 overcommunication link32. In this way, the user may quickly verify the proper operation of theswitch40 and the quality of the audio passing between the RCPs.
Communications links22 and32 and the means for communicating over such links may be any known means for remotely communicating between two devices over a telecommunications network. In one embodiment, the controller and theRCP20 or30 include modems and the communication links22 and32 are conventional phone lines or wireless communication links. In another embodiment, the communications links22 and32 may be comprised of the Internet and thecontroller10 and theRCP20 or30 include voice-over-Internet means for communicating audio over the Internet. In the preferred embodiment, communications links22 and32 are an internal corporate intranet comprised of an Ethernet communication link where thecontroller10 and theRCP20 or30 include an Ethernet card for passing data over an Intranet via an Ethernet communication link and include voice-over-Ethernet means for sending audio over the Ethernet Intranet communication link.
FIG. 2 is a diagram of the various embodiments of the controller and the RCP of the system of the present invention. Referring toFIG. 2a, thecontroller100 and theRCP110 are shown. Thecontroller100 includes remote communication means for establishing a communication link between thecontroller100 and theRCP110. The remote communication means may be comprised of aconventional computer102 with amodem104 for establishing a communication link between thecontroller100 and theRCP110 over a conventional phone line normally associated with thePSTN105 such that thecontroller100 can communicate control instructions to theRCP110 and such that audio can be passed between theRCP110 and thecontroller100. Themodem104 and thecomputer102 may be any computer or modem known to one of skill in the art to enable such communication between thecontroller100 and theRCP110.
Thecontroller100 includes means for instructing theRCP110 which essentially comprises themodem104 and conventional software for generating and sending control instructions to thecontroller110. Such software for generating such control instructions may be any conventional or known type of software used for remote communications between devices, which are generally known in the art. In the preferred embodiment, such software is comprised of a combination of Microsoft “visual basic” and Microsoft “C” software that are compiled to run on a standard Pentium based personal computer. Functionally, a user of the system would prompt thecontroller100 to instruct theRCP110 to initiate a call, whereby thecontroller100 would establish a communication link with theRCP110 and communicate control data over the communication link to theRCP110.
Thecontroller100 may also include and A/D converter106 for digitizing the analog voice received at thecontroller100, whereafter such digitized voice may be stored inmemory108.Such memory108 may be any memory known that is sufficient to store digital audio data.
With continued reference toFIG. 2a, theRCP20 includes a phone means112, aprocessor114, amodem116, andmemory118. The phone means112 may be a conventional phone or in the preferred embodiment the phone means would be a conventional cellular phone. The cellular phone may be capable of communicating in one or more of the types of wireless communication systems such as TDMA, CDMA, NMT, AMPS or GSM. Themodem116 enables the communication between thecontroller100 and theRCP110 and may be any type of modem available and generally known by one of skill in the art. In the preferred embodiment theprocessor114 is a Pentium based processor, and thememory118 may be of the type generally known to those skilled in the art that is sufficient to store digital audio data. Themodem116 receives and transmits commands and audio signals between thecontroller100 and theprocessor114. Theprocessor114 commands thephone112 to place and receive calls and interrogates thephone112 for basic information about the call which may include information related to the network performance of a particular call, and the duration of the call, etc. All information is then processed and sent back to thecontroller100 for further interpretation and display to the user.
FIG. 2bshows another embodiment of thecontroller100 and theRCP110 of the system of the present invention. In this embodiment, the communication link between thecontroller100 and theRCP110 is that of a private corporate intranet comprised of an Ethernet communication link over the Internet. In this embodiment thecontroller100 and theRCP110 each have anEthernet Card130. TheRCP110 further comprises means for digitizing audio received from a destination device. Such means may include an A/D and a D/A converter111 for digitizing the analog audio received at theRCP110 from the destination device and for analoging the digital audio received at theRCP110 from thecontroller100, if necessary. In this embodiment audio and control signals passed between thecontroller100 and theRCP110 are in a digital format and the audio received at theRCP110 is readily stored in thememory118 of theRCP110 or the memory of thecontroller100.
In the preferred embodiment, as shown inFIG. 2c, the phone means112 located in theRCP110 comprises threewireless phones120 and one or moreconventional phones122. In this embodiment, test calls may be placed between phones of different RCPs, as described earlier, or between phones of thesame RCP110. Additionally, calls may be placed by any one of thephones112 to any other one of the phones. As a single call is place and received within the phone means112, the audio and control associated with that call will be communicated over the Ethernet medium to thecontroller100.
TheRCP110 may also include means for measuring the quality of the audio received at the RCP from the destination device. Such means would include any known means of measuring the signal strength, the signal to noise ratio and the clarity of the audio received.
FIG. 3 shows an illustration of the system of the present invention. Referring toFIG. 3, the system of the present invention as applied to various scenarios encountered in a broad network is shown. As shown therein, for broadest testing capability, an RCP is needed for each switch in the network, and in the event that a single switch covers multiple service areas, an RCP is needed for each service area. It will be appreciated by one of skill in the art that the system of the present invention enables testing of switches of multiple networks form a centralized remote location. As shown inFIG. 3,controller200 provides central control of a broad number of RCPs (210,220,230,240,250 and260) thereby enabling fast efficient testing of multiple switches throughout various cellular and land-line networks. Tests may be performed from any RCP to any destination device which includes tests from any RCP to any other RCP. In the preferred embodiment the system will have a script testing feature for testing a test call created by the user in order to ensure that the test call was created properly.
FIGS. 4-13 are flow charts illustrating the general functions of the software that resides in thecontroller110.FIG. 4 illustrates the various mode options available to a user of the system andFIGS. 5-13 illustrate the flow diagrams of each of the individual modes. As stated above, thecontroller110 in the preferred embodiment is comprised of a standard personal computer running the Microsoft Windows NT operating system. The controller functionality includes a methodology for managing calls (placing and receiving calls and sending and returning audio) in remote areas using one or more RCPs. The basic modes of the controller functionality are as follows: administration mode, login mode, buildingscripts mode, Run Mode, Schedule mode, results mode, interactive mode, maintenance mode, help mode and service step mode.
Administration mode includes a process of allocating user names and selecting passwords. By way of the main user or administrator, users will be assigned and passwords determined. Through a tiered authorization system each user will be assigned an authorization level providing varying access to controller functionality. These access levels are identified as level one, two, and three.
Login mode provides entry into the system by requesting a password from the user. It also may demand that the user, for further security, change his password after every three entries into the system.
The Build scripts mode allows for the building of test calls on the controller by way of the application specific software provided thereby offering the user an implicit method of creating most types of calls that can be presently made by wireless and landline subscribers today. These test calls are built by listing each of presently12 commands in the order required to place a call as needed. These commands are further enhanced by additional user entries to select phones and mobile numbers to be used, selection of audio direction and RCP to be used, decision to record audio and for how long, whether or not to answer the terminating mobile, and others. As a part of this mode, the test calls can be tested for accuracy by selecting a call test function that will verify the proper coding of the new test call. Additionally, key words and functions within a test call can be modified automatically through a string search and replace command.
In the run mode, the test calls built in the build scripts mode are executed. In the run mode, each of the commands or test steps in the list are executed in sequence thereby allowing the test call to be managed by the appropriate RCP/s. In the scheduled mode, the test calls are executed according to a predetermined schedule. In either mode the test calls are performed identically. However, responses to some of the stimulus from the wireless network may be responded to differently between the two different modes. In run mode an error in placing a call is responded to by stopping the call execution and asking for user intervention. In scheduled mode the same error is noted and the very next test call is executed and the process continues. In scheduled mode additional structure is added to allow the user to place a time delay between each test call, eliminate predetermined phone numbers from being dialed, determine the numbers of times an erred call must be retried upon completion of the first full list completed, and stop the list of calls from being executed prematurely.
At the completion of all executed test calls the results of all test steps executed whether erred or not are stored in the controller's memory. The controller, in order to determine the performance of each call, parses the results. This performance rating is coded and stored with the results within the controller's memory. This storage includes all one way and two way audio messages received by the controller from the selected RCPs. These results are stored in a standard format so that any standard PC can read or further analyze them.
In the results mode, the user can display, analyze and manipulate the results of the test calls. In the interactive mode, the user can activate and use the feature allowing audio to be sent from the controller to the RCPs.
In system information mode the user is provided information about key aspect of the operating system status such as; Software and Hardware revision levels, display resolution, time and date. In the maintenance mode, the user may copy stored test call lists and result files to other areas in memory.
In the configure RCP mode the controller provides a means of configuring each RCP in the system and the inherent devices within each RCP. Here the RCP can be named, the cellular phones are configured for their new mobile numbers (NAMs), the cellular phones ESN can be read and the landline number can be inserted. RCPs can be added or deleted in this mode and the associated IP addresses for each RCP can be programmed into the RCP.
Service step mode provides the user an opportunity to create program steps to insert digits and delay between digits into a phone in a RCP. These can be created and named, to be drawn from the standard list of program steps provided in the build scripts mode.
In a further embodiment of the present invention,FIG. 14 illustrates the overall system of the present invention that implements time synchronization and time stamping.FIG. 14 is a variation of the system illustrated inFIG. 1. Therefore, except where specifically indicated, the elements of the present invention inFIG. 14 are the same as those inFIG. 1 and represent the same structures and operations. Specifically, the system for implementing time synchronization and time stamping incorporates access to an industry standard Network Time Protocol (NTP)time server70 that can provide a known time standard by which all nodes in a test to be conducted, such as theRCPS20,30 and thecontroller10, synchronize their individual clocks or internal chronometers. Theserver70 may be selected from any known or conventional service that provides a standard time base accessible on the Internet (such as the one provided by the National Institute of Standards and Technology—NIST) or through some other remote communications means (i.e., RF, GPS satellite). Theserver70 may even be a standard time base provided internally by whoever is a party to the test to be conducted, such as thecontroller10, the telecommunications network(s) in the test, the company or organization that controls thecontroller10, etc. Depending on the time server used or selected, the individual nodes in the test would implement the appropriate communications link and protocols, as would be known in the art, to access the desired time base information.
In one implementation of the system of the present invention that uses time synchronization and time stamping, thecontroller10 communicates with theRCPs20,30, the destination device, etc. instructing them to individually access theserver70 and thereby synchronize their internal clocks or chronometers. Alternatively, thecontroller10 may also transmit a time base signal to theRCPs20,30 and other nodes that would then synchronize based on that time base signal.
Once each individual node in the test is synchronized, this allows each node to record a time stamp for all of the important events that occur as part of the test steps that are to be executed. These time stamps are used in the processing of the results to provide, for example, duration, occurrence/non-occurrence, etc. information for the test calls. The accuracy of these time stamps is critical, especially between the different test nodes involved in the test. For example, the duration for a test call from one node or RCP perspective may involve time stamps from 2 or more different nodes or RCPs. As events occur (i.e., a test call is initiated, a test call is received, the call terminated by either the originating device or the destination device, a test call is dropped), the individual nodes generate and record time stamps on the events that they experience. For example, theRCP30 that initiates a test call will record a time stamp on when it dials the test call, when it terminates the test call, or when it detects that the test call has been prematurely terminated. ARCP20 or other receiving device that receives a test call will time stamp when it receives the test call, when it terminates the test call or when it detects that the test call that it received has been terminated. Essentially, any event that originates, terminates or is received at a RCP or other node in the network is subject to being time-stamped.
In a similar variation of the system,FIG. 15 illustrates a variation of the system shown byFIG. 3. As noted for the previous embodiment, except where specifically indicated, the elements of the present invention inFIG. 15 are the same as those inFIG. 3 and represent the same structures and operations. Specifically, the system for implementing time synchronization and time stamping incorporates access to an industry standard Network Time Protocol (NTP)time server270 that can provide a known time standard by which all nodes in a test to be conducted, such as theRCPS210,220,230,240250 and260 and thecontroller200, synchronize their individual clocks or internal chronometers. Each of the RCPs will then time stamp all events that they individually experience. Thecontroller10,200 can then access the time stamped event data recorded by each RCP and use that data to calculate and analyze various test and operation data.
Specifically, in the operation of the system of the present invention as illustrated in eitherFIG. 14 or15, the time stamp information provided by the individual RCPs allows duration values of the test calls to be determined which improves the accuracy of the time information associated with any test call. This duration information is especially critical in monitoring mobile or cellular communications activity that can be performed by the RCPs. As will be explained further herein, the time stamp information allows more accurate analysis of when keypad functions, such as SEND and END are performed. Also, accurate values for time durations such as Talk Time and Air Time can be quantified. Such information has practical value in the operation of a telecommunications network. For example, measuring Talk Time versus Air Time (both of which are recorded with a resolution of 100 ms, for example) can result in more in more accurate billing procedures.
FIGS. 16a-16cillustrate how the use of time stamping can accurately record the occurrence of certain events in a telephone transmission (for example, in a mobile or cellular telephone system) that can then be used to characterize those events. In particular,FIG. 16ashows how events such the SEND key pressed, END key pressed, Air Time and Talk Time are characterized over time using time stamping according to the present invention. In transmissions that involve either mobile or land-line connections, either originating, terminating or both, the events that would be characterized include Place Call, Answer Call and Hang Up. Mobile connections further involve events called Power Off and Close Out.
FIG. 16bis another illustration for characterizing of the events over time with time stamping. In particular,FIG. 16bshows how events such Traffic Channel Assigned, Control Channel Scan, Air Time and Talk Time are characterized with time stamping instead according to the present invention. In analyzing equipment usage ad how to properly bill the usage of the network, the differences measured by the use of different events in time stamping are significant.
FIG. 16cillustrates the timing of events when a test call is “dropped” as a result of equipment failure, weak channel signal, etc. as compared to when a test call is terminated by the RCP or node that originated the call inFIG. 16b. Again, time stamping allows the analysis of events that would otherwise could not be accurately characterized. As will be explained further hereinbelow, dropped calls are detected during the Run and Schedule modes. From the time that the originating device or RCP initiates a test call to the end of the test call, the originating device is monitored as being “up” so as to calculate the duration of the test call. If a call is dropped, the controller is able to determine that the call was dropped based on the time stamp information it receives from both the originating node or RCP and the terminating node or RCP. Specifically, if the time stamp of Control Channel Scan events for both the originating and terminating nodes or RCPs occur prior to a END key event, a dropped call occurrence is assumed.
In one application for using time stamping in testing a telecommunications network, referring toFIG. 14 as an example, the transmission of Short Message Service (SMS) signals to a destination device is tested by initiating SMS messages fromRCP30 to a mobile telephone in the test represented byRCP20. The messages sent byRCP30 received byRCP20 during the test are captured and analyzed. The number of messages transmitted byRCP30 and the time in whichRCP20 must be able to receive the messages may be varied by thecontroller10. The controller may then use a Pass/Fail criteria to determine the results of the test. Specifically, the controller will determine whether messages are out of order, messages have been dropped or messages have been duplicated.
In another application, e-mail systems may be used to test the sending and receiving of messages with a node or RCP containing a mobile telephone. For example, a node or RCP will send an e-mail into the e-mail system or the e-mail system will send one or more e-mails into the mobile telephone. The controller then analyzes whether the transmission of the e-mail(s) occurred properly. The e-mail(s) being transmitted are generated and/or received by the controller such that the controller monitors and analyzes the characteristics of the e-mail and the message(s) received.
CDMA, TDMA and GSM capability are supported by the system in conducting this type of testing procedure. These capabilities will also be applicable to developing and future wireless technologies as would be understood by those of skill in the art.
In an even further embodiment of the present invention, audio analysis is conducted as part of the test call procedure or script, as will be further explained hereinbelow. Audio analysis is initialized with a set of “Expected Results” that would occur when a test call is placed by a RCP and that would be perceived at the originating node or RCP. The general categories of events with which the Expected Results would be associated include Place Call (Detect); Place Call (No Detect); Place Call (Other). Within those different events, the Expected Results associated with Place Call (Detect, which includes Do Not Answer) are Detected (default), Busy, Fast Busy, Voice, and Other. The Expected Results associated with Place Call (No Detect) and Place Call (Other) are Fax, Busy, Fast Busy, Voice (default), Ring, Test Tone, and Other. Further categories of Expected Results may be added as new network features are implemented. When the Place Call (Other) event is being tested, the telephone number being called is specified as a Mobile (M) or a Landline (L). Otherwise, the type of telephone number may be selected automatically by the RCP originating the test call based on a configuration specified by the controller. The configuration specified by the controller includes categorizing Place Call events as one of the following: Normal (Default); 3-way; CW (call waiting); CF (call forwarding); Voice Mail; and Operator.
When a test call script is in operation, the originating RCP will monitor for and detect audio signals generated by the telecommunication network in response to the test call. The RCP will then classify the detected audio signal as one of following: Busy; Fast Busy; Voice; Fax; Ring; Test Tone or Other. Further categories of audio classifications may also be added as new network features are brought into operation. Classification of an audio signal is based upon industry standards for classification. Classification of audio signals as Busy, Fast Busy or Ring will vary by operator and/or country. The RCPs are initially configured with the criteria to make those classifications prior to the operation of a test call script. That criteria may be based on industry known standards that describe the relevant audio signals by country, on user defined criteria or a combination of both.
As test calls are placed by the RCPs, the audio signals from or perceived by the originating RCP is analyzed. The RCPs are configured with the priority to detect Busy, Fast Busy, Voice or Fax signals. These types of signals are mutually exclusive as the presence or detection of one excludes the possibility of detecting any of the others in the same test call. As soon as one of these types of signals is detected, the state of the originating call is classified and the detection is complete, and other normal functions can progress (next test step, etc.). If none of these types of signals is detected within a predetermined time period, the state of the originating test call is set to Ring if it has been detected; otherwise, the state is set to Other.
When the state of the originating call is classified, a Pass/Fail determination is made based upon what was set in the Expected Result configuration, and the classification made by the originating node or RCP and/or the classification made by the terminating node or RCP (when analyzing a Place Call (Detect) event). The assignment of Pass/Fail is as follows in Table 1:
| TABLE 1 |
|
|
| Expected | | | | | | | | |
| Received at the | | | Fast | | | | Test | |
| Manager | Detected | Busy | Busy | Voice | Fax | Ring | Tone | Other |
|
| Detected (from terminating) | Pass | Fail | Fail | Fail | N/A | Fail | N/A | Fail |
| (Not valid for Place Call (Other) |
| and Place Call (No Detect)) |
| Busy (from originating) and | Fail | Pass | Fail | Fail | Fail | Fail | Fail | Fail |
| No Detect (from terminating)* |
| Fast Busy (from originating) and | Fail | Fail | Pass | Fail | Fail | Fail | Fail | Fail |
| No Detect (from terminating)* |
| Voice (from originating) and | Fail | Fail | Fail | Pass | Fail | Fail | Fail | Fail |
| No Detect (from terminating)* |
| Fax (from originating) | N/A | Fail | Fail | Fail | Pass | Fail | Fail | Fail |
| Ring (from originating) and | Fail | Fail | Fail | Fail | Fail | Pass | Fail | Fail |
| No Detect (from terminating)* |
| Test Tone (from originating) | Fail | Fail | Fail | Fail | Fail | Fail | Pass | Fail |
| Other (from originating) and | Fail | Fail | Fail | Fail | Fail | Fail | Fail | Pass |
| No Detect (from terminating) |
|
FIGS. 17a-17dshow flow diagrams that illustrate the additional features and operations implementing the time synchronization, time stamping and audio analysis of the present invention. In particular,FIG. 17aillustrates a variation ofFIG. 4,FIGS. 17band17cillustrate the additional modes shown byFIG. 17a.FIG. 17dillustrates a variation ofFIG. 8.
InFIG. 17a, the mode options further include an Access NTP Mode and an Audio Analysis Mode.FIG. 17bshows that the Access NTP Mode consists of the individual RCPs or other nodes setting up the required information and protocols to access the selected NTP time server and thereby conduct synchronization.FIG. 17cshows that the Audio Analysis Mode consists of setting up the audio parameters, such as the Expected Results (as discussed above), in conducting the audio analysis procedure.
InFIG. 17d, in order to conduct time synchronization and time stamping, running a test script will automatically initiate a re-synchronization operation wherein the RCP(s) will access the NTP time server and re-synchronize accordingly. Every RCP in the test script is commanded to synchronize, but will not if they have synchronized within a predetermined time prior to being commanded to re-synchronize (e.g., within 15 minutes). When the synchronization is performed, the results generated by the test script will include data indicating whether the individual RCP has passed with the updated time or failed the re-synchronization with the appropriate failure message.
During the execution of the test script, the step-by-step execution of the test script and running of the test script under schedule mode, the RCP(s) are constantly monitoring for the occurrence of events that require time stamping and for events in which audio analysis may be performed. As such events occur, the RCP(s) time stamp and record their occurrences, and analyze audio data they receive according to the audio analysis procedure selected via the Audio Analysis mode. The controller then accumulates the results from the test script execution including the time stamp data generated by the RCP(s). In accumulating the results, the time stamp data and audio analysis are evaluated. During the execution of the test script or application under schedule mode, the system is actually conducting all the steps that occur during the run mode.
As the test script is running or thereafter, in accumulating results for display and/or memory, such results will be stored in a result file that will include the following information:
- 1. For Place Call test steps, the type of call is classified as one of the following: M-L, M-M, L-M, L-L (M=mobile, L=land-line)
- 2. For Place Call test steps, the of type of service is classified as one of the following: Normal, 3-way, CW (Call Waiting), CF (Call forwarding), VM (Voice Mail) or OP (Operator)
- 3. Expected Results
- 4. Failure Reason (what call state is received from the originating phone is the Place Call failed.)
- 5. Dropped Call indication
The operation of the system of the present invention in the above-described further embodiments incorporating time synchronization, time stamping, and audio analysis are otherwise consistent with the operation of the first embodiments described above. Using the result file generated during a test, a user accessing the controller can analyze the operational characteristics of the telecommunication network(s) being tested.
While a preferred embodiment of the invention has been disclosed in detail, the invention is not to be limited thereby, but only by the following claims.