Methods and systems for creating optimized transmission paths for VoIP conference calls
First Claim
1. A softswitch for processing voice over internet protocol conference calls, the softswitch comprising:
- a processor; and
a computer readable memory having stored thereon instructions, wherein the instructions, when executed by the processor, cause the processor to perform;
storing active call information in the memory, the active call information including a connection table identifying various call nodes, a domain corresponding to each call node, any parties connected to each node, and nodes that are connected to each of the nodes, wherein the connection table includes a plurality of connection trees, each connection tree corresponding to one of a plurality of calls, wherein each connection tree includes an identifier for a corresponding call, a domain name for the call, information indicating users within the same domain that are connected to the call, and a domain name for at least one interexchange carrier softswitch associated with the call;
responsive to a conferencing request for an additional party to join an existing call, reading the connection table, including the connection trees;
determining whether the an additional party is located within a domain of the existing call, served by the softswitch, based on a connection tree associated with the existing call;
responsive to determining that the additional party is located within the domain of the existing call, served by the softswitch, sending an invitation to join the existing call to the additional party from the softswitch and broadcasting an updated connection tree to another softswitch involved in the existing call; and
responsive to determining that that the additional party is not located in the domain of the existing call, served by the softswitch, forwarding the conferencing request to a nearest interexchange carrier softswitch identified in the connection tree associated with the existing call,wherein responsive to receiving the conferencing request, the nearest interexchange carrier softswitch determines whether the additional party is located in another domain that is involved in the existing call;
wherein upon determining that the additional party is located in another domain that is currently involved in the call, the nearest interexchange carrier softswitch determines whether the domain in which the additional party is located is adjacent to the domain served by the softswitch based on the connection tree associated with the existing call; and
wherein upon determining that the additional party is not located within another domain involved in the existing call, the interexchange carrier softswitch forwards the conferencing request and the connection tree associated with the existing call to another softswitch serving the domain in which the additional party is located.
1 Assignment
0 Petitions
Accused Products
Abstract
A system, method, and apparatus for providing bandwidth efficient voice over internet protocol conference calls is disclosed. The system uses softswitches, also known as media gateway controllers, that can track active calls by recording information regarding those calls in the memory of the softswitches. Upon receipt of an instruction, at a softswitch, to issue an invitation to another party to join an existing call, the softswitch examines its table of call information to determine if the invitation should be issued from that softswitch or forwarded to another softswitch involved in the existing call. In this manner, the invitation can be issued by a softswitch involved in the existing call that is nearer to the invited party than would be the case with prior art methods. This avoids the transmission of redundant data and conserves bandwidth.
19 Citations
12 Claims
-
1. A softswitch for processing voice over internet protocol conference calls, the softswitch comprising:
-
a processor; and a computer readable memory having stored thereon instructions, wherein the instructions, when executed by the processor, cause the processor to perform; storing active call information in the memory, the active call information including a connection table identifying various call nodes, a domain corresponding to each call node, any parties connected to each node, and nodes that are connected to each of the nodes, wherein the connection table includes a plurality of connection trees, each connection tree corresponding to one of a plurality of calls, wherein each connection tree includes an identifier for a corresponding call, a domain name for the call, information indicating users within the same domain that are connected to the call, and a domain name for at least one interexchange carrier softswitch associated with the call; responsive to a conferencing request for an additional party to join an existing call, reading the connection table, including the connection trees; determining whether the an additional party is located within a domain of the existing call, served by the softswitch, based on a connection tree associated with the existing call; responsive to determining that the additional party is located within the domain of the existing call, served by the softswitch, sending an invitation to join the existing call to the additional party from the softswitch and broadcasting an updated connection tree to another softswitch involved in the existing call; and responsive to determining that that the additional party is not located in the domain of the existing call, served by the softswitch, forwarding the conferencing request to a nearest interexchange carrier softswitch identified in the connection tree associated with the existing call, wherein responsive to receiving the conferencing request, the nearest interexchange carrier softswitch determines whether the additional party is located in another domain that is involved in the existing call; wherein upon determining that the additional party is located in another domain that is currently involved in the call, the nearest interexchange carrier softswitch determines whether the domain in which the additional party is located is adjacent to the domain served by the softswitch based on the connection tree associated with the existing call; and wherein upon determining that the additional party is not located within another domain involved in the existing call, the interexchange carrier softswitch forwards the conferencing request and the connection tree associated with the existing call to another softswitch serving the domain in which the additional party is located. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for providing voice over internet protocol conference calls, the system comprising:
-
a first softswitch having a table stored in a computer readable memory for tracking active calls being serviced by the first softswitch, the first table identifying various call nodes, a domain corresponding to each call node, any parties connected to each node, and nodes that are connected to each of the nodes, wherein the table includes a plurality of connection trees, each connection tree corresponding to one of a plurality of calls, wherein each connection tree includes an identifier for a corresponding call, a domain name for the call, information indicating users within the same domain that are connected to the call, and a domain name for at least one interexchange carrier softswitch associated with the call; and a second softswitch communicatively connected to the first softswitch, wherein the second softswitch is a nearest interexchange carrier identified in a connection tree associated with an existing call; wherein the first softswitch is configured to perform; responsive to a conferencing request for an additional party to join an existing call, reading the first connection table, including the connection trees; determining whether the additional party is located within in a domain of the existing call, served by the first softswitch, based on a connection tree associated with the existing call; responsive to determining that the additional party is located within the domain of the existing call, served by the first softswitch, sending an invitation to join the existing call to the additional party from the first softswitch and broadcasting an updated connection tree to another softswitch involved in the existing call; and responsive to determining that that the additional party is not located in the domain of the existing call, served by the first softswitch, forwarding the conferencing request to the second softswitch, wherein responsive to receiving the conferencing request, the second softswitch determines whether the additional party is located in another domain that is involved in the existing call; wherein upon determining that the additional party is located in another domain that is currently involved in the call, the second softswitch determines whether the domain in which the additional party is located is adjacent to the domain served by the first softswitch based on the connection tree associated with the existing call; and wherein upon determining that the additional party is not located within another domain involved in the existing call, the second softswitch forwards the conferencing request and the connection tree associated with the existing call to another softswitch serving the domain in which the additional party is located. - View Dependent Claims (8, 9)
-
-
10. A method for providing voice over internet protocol conference calls, the method comprising:
-
storing active call information in a computer readable memory, the call information corresponding to an active call being serviced by a first softswitch, wherein the active call information comprises a connection table, the connection table identifying various call nodes, a domain corresponding to each call node, any parties connected to each node, and nodes that are connected to each of the nodes, wherein the connection table includes a plurality of connection trees, each connection tree corresponding to one of a plurality of calls, wherein each connection tree includes an identifier for a corresponding call, a domain name for the call, information indicating users within the same domain that are connected to the call, and a domain name for at least one interexchange carrier softswitch associated with the call; responsive to a conferencing request for an additional party to join an existing call, reading the connection table, including the connection trees; determining whether the additional party is located within a domain of the existing call, served by the softswitch, based on a connection tree associated with the existing call; responsive to determining that the additional party is located within the domain of the existing call, served by the softswitch, sending an invitation to join the existing call to the additional party from the softswitch and broadcasting an updated connection tree to another softswitch involved in the existing call; and responsive to determining that that the additional party is not located in the domain of the existing call, served by the softswitch, forwarding the conferencing request to a nearest interexchange carrier softswitch identified in the connection tree associated with the existing call, wherein responsive to receiving the conferencing request, the nearest interexchange carrier softswitch determines whether the additional party is located in another domain that is involved in the existing call; wherein upon determining that the additional party is located in another domain that is currently involved in the call, the nearest interexchange carrier softswitch determines whether the domain in which the additional party is located is adjacent to the domain served by the softswitch based on the connection tree associated with the existing call; and wherein upon determining that the additional party is not located within another domain involved in the existing call, the interexchange carrier softswitch forwards the conferencing request and the connection tree associated with the existing call to another softswitch serving the domain in which the additional party is located. - View Dependent Claims (11, 12)
-
Specification