Abstract:
A communications network, method and computer program product for managing network calls. Calls between mobile stations at base transceiver stations (BTS), each connected to a different base station controller (BSC) in a different switching sub-domain are passed between BSCs over a dedicated line between endpoints. Call linkage for the calls pass in call context objects separate from the calls and need not pass in a signaling channel with the calls.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The present invention is related to computer telephony communications and more particularly, to providing call completion services between communications devices at different computer telephony interface (CTI) platforms.  
         [0003]     2. Background Description  
         [0004]     A typical computer telephony interface (CTI) integrates telephony communications with computer data communications, e.g., connecting a public switched telephone network (PSTN) to a local area network (LAN) and/or the Internet. The telecommunications connection point is typically referred to as an endpoint and that endpoint is in what is known as a switched sub-domain in the particular communications network. Normally, the endpoints are monitored by a software application such as what are known as computer supported telecommunications applications (CSTA) that provide application service interfaces for switching, computing and special resource functions. Calls made between endpoints can traverse multiple communications infrastructures, e.g., a session initiation protocol (SIP) in an Internet protocol (IP) based network, a switched circuit network (SCN) or an enterprise private network, such as a private branch exchange (PBX) based network.  
         [0005]     As each call traverses between infrastructure endpoints, each CTI may assign a different, unique call identification (ID) attribute to it that the switching function uses to represent a valid call. In CSTA a call ID has the form of: callID (M) Octet String. The maximum length supported by the switching function is provided via the capabilities exchange services. These IDs are created by the switching function and are globally unique among all calls within the switching sub-domain. For example, a call may originate with a 10 digit telephone number (800-555-5421), a CTI to an IP network may assign one CSTA attribute (e.g., mobile@ 10.23.23.244) to identify the call as it traverses the IP network and another CTI may assign another, unique 3 digit ID (e.g., 987) as it exits the IP network at a second endpoint.  
         [0006]     So, normally, the CSTA at each endpoint assigns the call linkage attributes to calls traversing between endpoints. Then, the CSTAs tunnel CSTA attributes (call linkage) thru a signaling channel with the call to identify and maintain the identity of events with the call. These attributes correlate events from the monitored endpoints. However, many infrastructure protocols may not support tunneling the call linkage attributes. So, unfortunately, these types of infrastructures have previously been unavailable for use in a CTI platform.  
         [0007]     Thus, there is a need for maintaining the identity of events with respective calls in communications infrastructures that do not support call linkage attribute tunneling.  
       SUMMARY OF THE INVENTION  
       [0008]     It is a purpose of the invention to provide a global view of a call to an application that monitors/controls devices in multiple CTI(/CSTA) sub-domains; 
        It is another purpose of the invention to enable endpoints to tunnel calls between each other even when a signaling channel is unavailable for passing call linkage with the calls.        
 
         [0010]     The present invention relates to a communications network, method and computer program product for managing network calls. Calls placed between different switching sub-domains are passed over a dedicated line between endpoints. Call linkage for the calls pass in call context objects separate from the calls and need not pass in a signaling channel with the calls.  
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0011]     The foregoing and other objects, aspects and advantages will be better understood from the following detailed description of a preferred embodiment of the invention with reference to the drawings, in which:  
         [0012]      FIG. 1  shows an example of a preferred embodiment communications network, wherein calls tunnel between endpoints regardless of infrastructure protocol;  
         [0013]      FIG. 2  shows an example of steps for call establishment of an incoming call between endpoints connected by communications infrastructures;  
         [0014]      FIG. 3  shows an example of a call placed between mobile stations in different switching sub domains over communications infrastructures. 
     
    
     DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0015]     Turning now to the drawings and more particularly,  FIG. 1  shows an example of a preferred embodiment communications network or Public Land Mobile Network (PLMN)  100 , wherein calls tunnel between endpoints regardless of infrastructure protocol. In particular, calls may tunnel between base station controllers (BSCs)  102 ,  104 , each of which includes one or more cells serviced by a local base transceiver station (BTS)  106 ,  108 . Each BSC  102 ,  104  may be a different switching sub-domain (e.g., a different service area) within the network  100 . Mobile Subscriber (MS) units or wireless communications devices  110 ,  112 ,  114 ,  116  in the cells wirelessly communicate through the particular local base station  106 ,  108 . Each MS  110 ,  112   114 ,  116  may be any appropriate wireless communications device such as a second generation ( 2 G) or third generation ( 3 G) wireless communications device, e.g., a typical cellular phone. Further, each switching sub-domain is connected to a number of communications network infrastructures  118 ,  120  through an endpoint, e.g., a gateway server  122 ,  124 . In particular, the communications network infrastructures  118 ,  120  may or may not allow passing call linkage information in a signaling channel. Examples of suitable such communications network infrastructures include, for example, a session initiation protocol (SIP) in an Internet protocol (IP) based network  120 , a switched circuit network (SCN)  118  or an enterprise private network, such as a private branch exchange (PBX) based network.  
         [0016]     So, for example, the communications networks  118 ,  120  may include: a standard integrated services digital network (ISDN) with common channel signaling (CCS) wherein signaling for all of the other channels of the link is carried on one dedicated (common) channel; and/or a channel-associated signaling (CAS) wherein each channel contains its own signaling. Each gateway server  122 ,  124  is an endpoint running computer supported telecommunications applications (CSTA) and, thereby, providing application service interfaces for switching, computing and special resource functions. Preferably, CSTA in endpoints  122 ,  124  include a call linkage facility (e.g., implemented in the gateway server) as CSTA middleware and that is provided, for example, in a software development kit (SDK). Thus, each endpoint  122 ,  124  provides CSTA call linkage, e.g., over the Internet  120 , for calls spanning such multiple infrastructures  118 ,  120  (spanning calls) tunneling between endpoints  122 ,  124  and, further, without requiring specific signaling channels for passing any particular spanning call information, regardless of whether any such signaling channels available.  
         [0017]     Spanning calls are passed between endpoints  122 ,  124  using an address or number from a pool of addresses or numbers (such as dial in direct (DID) numbers) allocated in each endpoint  122 ,  124 . Calls between stations at different endpoints  122 ,  124  and traversing infrastructures  118 ,  120  are established by first placing the call to a designated number from the pool of numbers. Then, the local routing devices (e.g., a gateway server in a receiving endpoint  122 ,  124 ) pass call linkage independently and redirect the call to the called destination. So, call linkage is established and passed between endpoints  122 ,  124  independent of the call, uniquely correlating calls between endpoints. Advantageously, unlike prior art communications networks, even when a signaling channel is unavailable for call linkage, calls are pass between endpoints  122 ,  124  as if one were available.  
         [0018]      FIG. 2  shows steps for call establishment  130  with reference to the PLMN  100  of  FIG. 1  for an incoming call  132  between endpoints (e.g.,  122 ,  124 ) connected by communications infrastructures (e.g.,  118 ,  120 ) according to a preferred embodiment of the present invention. In step  134  a call context object is created for the new call and a globally unique call linkage value is assigned to that call. If in step  136  the call is to remain in the originating sub-domain (e.g., directed from MS  110  to MS  112 ), then the call is routed normally in step  138 . However, if in step  136  the CSTA in the originating endpoint  122  recognizes that the call is intended to reach a destination in a MS in a different CSTA sub-domain, e.g., MS  114 ; then, continuing to step  140  the CSTA in the originating endpoint  122  substitutes one of the circular pool numbers for the MS destination number. Next, the CSTA in the originating endpoint  122  caches the call ID, the pool number, and the original destination number in the call context object created in step  134 ; and, forwards the call context object to the destination switching sub-domain through connecting communications infrastructures, e.g., over the Internet  120 . Substantially coincidentally, in step  142  the CSTA in the originating endpoint  122  sends the call on the pool number. In step  144  the call arrives on one of the pooled lines at receiving end and the local routing device (e.g., the gateway server or endpoint  124 ) receives the call context object and identifies the incoming pool number call as being from another sub-domain. In response in step  146 , the CSTA in the receiving endpoint  124  retrieves original destination information from the call context object. Then, in step  148 , the CSTA in the receiving endpoint  124  deflects the call to its original destination, MS  114 ; and, coincidentally in step  150 , call events for the original destination are linked to the call context object and reported with the call linkage ID.  
         [0019]      FIG. 3  shows an example  160  of a spanning call placed between mobile stations  110  and  114  in different sub domains  102  and  104 , respectively, over communications infrastructures with reference to the call establishment example  130  of  FIG. 2 . So, an incoming spanning call  162  originates in MS  110  at  123  in sub-domain  102  directed to  456 , which is not associated with a MS in sub-domain  102 . The local CSTA (e.g., operating in  122  in  FIG. 1 ) in sub-domain  102  creates a call context object  164  in step  134  for the new call and assigns a globally unique call linkage value (e.g., in ECMA, a globally UniqueCallLinkageID Octet String that specifies the globally unique call linkage identifier, no more than 16 octets) to that spanning call. Since the spanning call is directed to a destination in a different sub-domain, MS  116  identified by  456  in sub-domain  104 , then, in step  140  one of the circular pool numbers (e.g.,  300 ) is substituted for the destination number. In this example, the circular pool includes eleven numbers ( 300 - 310 ) that are assigned on a rotating basis. Next, the originating CSTA in sub-domain  102  caches the call ID, the pool number, and the original destination number in the call context object  164 . Then, the originating CSTA in sub-domain  102  sends the call  166  to the pool number ( 300 ) and forwards the cached call context object  164  in step  142 . The local CSTA (e.g.,  124  in  FIG. 1 ) at the receiving end  104  identifies the spanning call  166  in step  144  from the incoming call number and the call context object  164  as being associated with the pool number and so, from another sub-domain,  102  in this example. The receiving end CSTA in sub-domain  104  responds in step  146  by caching the call ID in a call context  168 . Then, the receiving end CSTA in sub-domain  104  deflects the call  170  in step  148  to its intended destination, MS  114  in this example and, coincidentally, reports events for the original destination with the call linkage value (i.e., the call context object created in step  134 ) in step  150 .  
         [0020]     Advantageously, since the local CSTAs at each endpoint maintain call linkage outside and independent of the call, calls can be tunneled between endpoints regardless of whether a signaling channel is available in the connecting infrastructure.  
         [0021]     While the invention has been described in terms of preferred embodiments, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the appended claims.