Apparatus and method for multiplexing communication signals
First Claim
1. A computer-readable medium whose contents cause a processor to perform a method for virtually combining a plurality of communication cards, the processor having a program with functions for invocation to perform the steps of:
- communicating with a plurality of communication cards, each communication card having a channel for transmitting a signal;
receiving a signal for transmission across a channel from an API;
selecting one of the plurality of communication cards that is free and operable to transmit the signal; and
facilitating transmission of the signal by the one of the plurality of communication cards.
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.
-
Citations
15 Claims
-
1. A computer-readable medium whose contents cause a processor to perform a method for virtually combining a plurality of communication cards, the processor having a program with functions for invocation to perform the steps of:
-
communicating with a plurality of communication cards, each communication card having a channel for transmitting a signal;
receiving a signal for transmission across a channel from an API;
selecting one of the plurality of communication cards that is free and operable to transmit the signal; and
facilitating transmission of the signal by the one of the plurality of communication cards. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-readable medium whose contents cause a processor operatively associated with a PBX environment to perform a method for handling a call, the processor having a program with functions for invocation to perform the steps of:
-
establishing a first communication connection;
establishing a second communication connection;
detecting a failed attempt to establish a conference call for the first and second communication connections due to the PBX environment not supporting conference calling; and
invoking a virtual conference call routine for bridging the first and second communication connections to emulate a conference call.
-
-
6. An adapter for facilitating routing a call from a user, wherein the adapter facilitates communication between devices associated a PBX, and wherein the adapter comprises:
-
(a) a memory storing an instruction set; and
(b) a processor in communication with the memory and the PBX, wherein the processor is operative to;
(i) communicate with a plurality of communication cards, each communication card having a channel for transmitting a signal;
(ii) receive a signal for transmission across a channel from an API;
(iii) select one of the plurality of communication cards that is free and operable to transmit the signal; and
(iv) facilitate transmission of the signal by the one of the plurality of communication cards.
-
-
7. A system for maintaining connections between devices of a PBX, wherein the PBX includes a server for housing a plurality of printed circuit boards for routing a signal onto a bus of the PBX and a plurality of API for controlling operation of the PBX, the system comprising:
-
an interface printed circuit board having a memory for storing an interface routine; and
a processor in communication with the memory for running the interface routine, the processor being operative to;
isolate the plurality of API from the plurality of printed circuit boards;
determine whether each of the plurality of printed circuit boards are operational;
if the selected printed circuit board is not operational, attempt reload of the adapter or choose an alternative printed circuit board;
if the selected printed circuit board is not operational after attempting reload, then prevent the selected printed circuit board from being called;
receive a signal that calls a printed circuit board from one of the API;
if the selected printed circuit board is operational, then direct the signal to the called printed circuit board; and
if the selected printed circuit board is not operational, choose alternative printed circuit board or return an error message to the one of the API. - View Dependent Claims (8, 9)
-
-
10. A server for facilitating establishing a conference call within a PBX, wherein the PBX has a switch that cannot establish a conference call, the server comprising:
-
(a) a memory storing an instruction set; and
(b) a processor for running the instruction set, the processor being in communication with the memory and the PBX, wherein the processor is run an appliation that is operative to;
(i) establish a first communication connection;
(ii) establish a second communication connection;
(iii) detect a failed attempt to establish a conference call for the first and second communication connections; and
(iv) invoke a virtual conference call routine for bridging the first and second communication connections to emulate a conference call such that the application disconnects from the first and second communication connections but the conference call is maintained. - View Dependent Claims (11)
-
-
12. A middleware application for facilitating communication between low level and high level drivers comprising:
-
a first logical entity for representing a state of a low level interface device that bridges a logical and physical gap between communication devices of a first and second logical entity by establishing a connection, wherein the first logical entity is created upon insertion of the low level interface device time and destroyed upon removal of same, the first logical entity being operative to;
store a request function of the low level interface device;
store properties associated with the low level interface device;
store a serial number and a logical adapter number of the low level interface device;
maintain a list of IDI entities that are assigned on the low level interface device; and
provide notification to a PBX environment related to removal and insertion of the low level interface device;
the second logical entity (Global Listener) for maintaining a user specified assignment and accepting incoming calls from IDI entities, wherein the second logical entity is responsible for starting and shutting down of the IDI entities dependent on the state of applications in communication with the middleware application;
a third logical entity (User Entity (UE)) for representing a state of the assigned by application IDI entity, the third logical entity being operable to;
store a pointer provided by an application IDI entity;
assign an ID to new entities from a common ID pool;
assign at least one channel to a networking entity from a common channel pool;
trace current entity state;
expose to application correct and consistent behavior;
maintain a relationship between a networking entity and a signaling entity;
maintain a relationship between a User entity and an entity that is seen by the first logical entity;
expose to the application networking state machine that is compatible with one that was requested by the application;
a fourth logical entity (XDI Entity (XE)) for representing a state of the entity seen by Real IDI adapter, the fourth logical entity being operable to;
contains memory storage for IDI entity that is seen by real IDI adapter;
maintain a relationship to real IDI adapter;
maintain a relationship to the third logical entity;
isolate the third logical entity from changes in the adapter state;
maintain state machines requested for the emulation of the supplementary services; and
maintain state machines requested for “
best effort”
dial out procedure;
a fifth logical entity (Global Listener (GL)) for maintaining a necessary of amount listening entities on every real IDI adapter dependent on adapter state and on listen state of the third logical entity;
a sixth logical entity (Listener Entity (LE)) created by the fifth logical entity, for assignment on particular real when the first logical entity is set in active listen state, the sixth logical entity being operative to;
distribute incoming call to the third logical entity; and
select the call owner after a call is answered by the third logical entity. - View Dependent Claims (13, 14, 15)
-
Specification