Patent ID: 8054947

Claim:
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.