Apparatus and method for multiplexing communication signals
First Claim
1. A system for maintaining connections with a public switched telephone network (PSTN) and with devices of a private branch exchange (PBX), wherein the system comprises:
- (a) a personal computer (PC) based server for housing a plurality of printed circuit boards for routing signals onto communication interfaces of the PSTN or the PBX and a plurality of application programming interfaces (APIs) for controlling operation of the communication interfaces;
(b) a memory for storing an interface routine in the server; and
(c) a processor in the server, the processor being in communication with the memory for running the interface routine such that the processor is operative to;
isolate the plurality of APIs from the plurality of printed circuit boards;
determine whether each of the plurality of printed circuit boards is operational;
store a state for each of the plurality of printed circuit boards by running a watchdog routine;
store a state of operation for each of the plurality of printed circuit boards that is operational;
select, by the plurality of APIs, one of the plurality of printed circuit boards for utilization to complete a connection;
if the selected printed circuit board is not operational, attempt reload of the selected printed circuit board;
if the selected printed circuit board is not operational after attempting reload, then store a state of the selected not operational printed circuit board as ignore to prevent the selected printed circuit board from being utilized on subsequent attempts;
if a state of one of the plurality of printed circuit boards is newly loaded during the watchdog routine, start the newly loaded printed circuit board, determine a state of the newly loaded printed circuit board, store the state of the newly loaded printed circuit board;
receive a first signal that requests usage of the selected printed circuit board from one of the plurality of APIs;
if the selected printed circuit board is operational, then direct the first signal to the selected printed circuit board; and
if the selected printed circuit board is not operational and has an ignore state, choose an alternative printed circuit board without trying the selected non-operational printed circuit board based upon the state of the non-operational selected printed circuit board.
8 Assignments
0 Petitions
Accused Products
Abstract
In a PBX environment, a middleware module abstracts communication cards so that the plurality of channels associated therewith are grouped for efficiency. The middleware module recognizes unoperational channels, and restarts the hardware associated with the channels as well as allowing conferencing and transferring calls when the PBX switch does not support same. Preferably, for outgoing calls, the middleware adapter controls the state of interfaces for all hardware adapters and tries to deliver calls over active interfaces. In case of failure, the middleware adapter investigates and makes a decision if the call should be delivered over another adapter. In this way, redundant and highly available solutions are implemented transparent to application and interface drivers. For incoming calls, the middleware adapter accepts calls from all hardware adapters and presents these calls to applications as if these calls are issued by one adapter.
13 Citations
9 Claims
-
1. A system for maintaining connections with a public switched telephone network (PSTN) and with devices of a private branch exchange (PBX), wherein the system comprises:
-
(a) a personal computer (PC) based server for housing a plurality of printed circuit boards for routing signals onto communication interfaces of the PSTN or the PBX and a plurality of application programming interfaces (APIs) for controlling operation of the communication interfaces; (b) a memory for storing an interface routine in the server; and (c) a processor in the server, the processor being in communication with the memory for running the interface routine such that the processor is operative to; isolate the plurality of APIs from the plurality of printed circuit boards; determine whether each of the plurality of printed circuit boards is operational; store a state for each of the plurality of printed circuit boards by running a watchdog routine; store a state of operation for each of the plurality of printed circuit boards that is operational; select, by the plurality of APIs, one of the plurality of printed circuit boards for utilization to complete a connection; if the selected printed circuit board is not operational, attempt reload of the selected printed circuit board; if the selected printed circuit board is not operational after attempting reload, then store a state of the selected not operational printed circuit board as ignore to prevent the selected printed circuit board from being utilized on subsequent attempts; if a state of one of the plurality of printed circuit boards is newly loaded during the watchdog routine, start the newly loaded printed circuit board, determine a state of the newly loaded printed circuit board, store the state of the newly loaded printed circuit board; receive a first signal that requests usage of the selected printed circuit board from one of the plurality of APIs; if the selected printed circuit board is operational, then direct the first signal to the selected printed circuit board; and if the selected printed circuit board is not operational and has an ignore state, choose an alternative printed circuit board without trying the selected non-operational printed circuit board based upon the state of the non-operational selected printed circuit board. - View Dependent Claims (2, 3)
-
-
4. A system for maintaining connections with a plurality of communication cards of a private branch exchange (PBX), wherein the PBX includes at least one application programming interface (API) for controlling operation of the PBX, the system comprising:
-
(a) a PC server having a memory for storing a watchdog routine and a processor for running the watchdog routine; and (b) an adapter card in communication with the processor, the adapter card being operative to; use the memory for storing an interface routine and state information related to a routine run by the watchdog routine; and wherein the processor being further operative to; (1) check and store a state of the plurality of communication cards based on a prompt from the watchdog routine; (2) test operability of the plurality of communication cards, wherein if one of the communication cards is not operational, attempt reload and restart of the non-operational communication card; (3) if the non-operational communication card is still not operational after attempting reload and restart, then prevent the non-operational communication card from being called and disassociate all resources utilized by the non-operational communication card by identifying a state of the non-operational communication card as non-operational; (4) if the state of one of the plurality of communication cards is newly loaded, attempt load and start of the newly loaded communication card; (5) if the newly loaded communication card is not operational after attempting load and start, then prevent the newly loaded communication card from being called and disassociate all resources utilized by the newly loaded communication card by identifying a state of the newly loaded communication card as non-operational; (6) receive a signal that requests utilization of a communication card from the at least one API; (7) if the requested communication card is operational, then direct the signal to the requested communication card; and (8) if the requested communication card is not operational based on the checking of the state of the plurality of communication cards, then choose an alternative communication card from the plurality of communication cards without trying the requested communication card. - View Dependent Claims (5, 6, 7, 8)
-
-
9. A method for maintaining connections between devices of a private branch exchange (PBX) or public switched telephone network (PSTN) using a personal computer running a server program having a plurality of interface printed circuit boards and a plurality of application programming interfaces (APIs) for controlling operation of the PBX or PSTN, the method comprising the steps of:
-
utilizing each of the plurality of interface printed circuit boards when the plurality of interface printed circuit boards are operational without redundant unused boards; determining whether any of the plurality of interface printed circuit boards are non-operational; storing a state for each of the plurality of printed circuit boards by running a watchdog routine; storing a state of operation for each of the plurality of printed circuit boards that is operational; selecting, by the plurality of APIs, one of the plurality of printed circuit boards for utilization to complete a connection; if a selected printed circuit board is not operational, attempting reload of the selected interface printed circuit board; if the selected printed circuit board is not operational after attempting reload, then marking the selected interface printed circuit board as non-operational; receiving a signal that calls one of the plurality of interface printed circuit boards from one of the plurality of APIs; if the selected interface printed circuit board is operational, then directing the signal to the called printed circuit board; and if the selected interface printed circuit board is marked non-operational, choosing an alternative interface printed circuit board without trying the selected non-operational interface printed circuit board.
-
Specification