Transfer of voice transmissions to alternate networks

Automatically transferring transmissions of a data network in which one or more processors receive metrics of active concurrent transmission sessions on a LAN that includes a data network, connected to a WAN, and a threshold level of concurrent transmission sessions of the data network of the LAN. Receiving a request for an additional transmission session, and responsive to determining that the threshold level of concurrent transmission sessions is exceeded, accessing data that maps a communication connection of the data network for a targeted recipient, to a communication connection of an alternate network corresponding to the targeted recipient, and performing a transfer of the additional transmission session from the communication connection of the data network for the targeted recipient, to the alternate network corresponding to the targeted recipient.

FIELD OF THE INVENTION

The present invention relates generally to the field of concurrent IP telephonic capacity, and more particularly to redirection of over-capacity transmissions to a mobile device.

BACKGROUND OF THE INVENTION

Transitioning from traditional time-division multiplexing (TDM) trunks to voice over IP (VoIP) centralized session initiation protocol (SIP) telephony services provides many enterprise organizations significant savings. The SIP is a communications protocol for signaling and controlling multimedia communication sessions. The most common applications of SIP are in Internet telephony for voice and video calls, as well as instant messaging, all over Internet Protocol (IP) networks. Voice transmission of telephony using IP networks is referred to as voice over internet protocol, or voice over IP (VoIP). TDM is a method of transmitting and receiving independent signals over a common signal path by means of synchronized switches at each end of the transmission line so that each signal appears on the line only a fraction of time in an alternating pattern.

A limitation of this transition is the use of the data network at each location to carry voice (or video) transmissions, adding to the bandwidth of transmissions. There is a limit to the number of concurrent voice transmissions that can be carried on the local and wide area data networks, based on the bandwidth at each location when the IP data service provided includes quality of service (QoS) based multi-protocol label switching (MPLS) networks. MPLS is a scalable, protocol-independent transport, often chosen for reliability purposes, in which data packets are assigned labels. Packet-forwarding decisions are made solely on the contents of this label, without the need to examine the packet itself.

Configurations for enterprise-level data and voice transmissions often have a capacity limitation at each of a plurality of locations, for example a consulting business may have multiple branch locations as well as a headquarters location. Each branch location may have a designated number (fixed limit) of concurrent voice transmissions assigned as a threshold limit, based on the number of employees at each location. Extra capacity may be assigned to accommodate peak periods, but the extra capacity may go unused for a majority of time. Alternatively, without establishing extra capacity, peak voice transmission periods may experience loss of service.

SUMMARY

Embodiments of the present invention disclose a method, computer program product, and system for automatically transferring transmissions of a data network. The method for automatically transferring transmissions of a data network provides that one or more processors receive metrics of active concurrent transmission sessions on a local area network (LAN) that includes a data network, connected to a wide area network, and a threshold level of concurrent transmission sessions of the data network of the LAN. One or more processors receive a request for an additional transmission session on the data network of the LAN. Responsive to determining that the additional transmission session results in active concurrent sessions that exceed the threshold level of concurrent transmission sessions, one or more processors accessing data that maps a communication connection of the data network for a targeted recipient, to a communication connection of an alternate network corresponding to the targeted recipient, and one or more processors performing a transfer of the additional transmission session from the communication connection of the data network for the targeted recipient, to the alternate network corresponding to the targeted recipient.

DETAILED DESCRIPTION

Embodiments of the present invention recognize that communication systems that convert to, or incorporate SIP over VoIP for voice and/or video transmission, from traditional TDM trunks, make use of data networks to carry voice and/or video transmissions. Due to bandwidth capacity of the local communication system, voice and/or video transmissions (hereafter referred to as “voice”, or “voice transmissions”), have a predefined capacity limit of concurrent transmission to meet service provider quality of service (QoS) level agreements for MPLS networks. Voice transmissions that are received or initiated in excess of a capacity limit, which may occur at peak usage periods, experience a loss of service or unavailability of service.

For example, a local branch of an enterprise-level business holds a weekly conference call to provide information and receive input from all employees of the local branch. The call requires every employee to be on a voice transmission call concurrently (assuming limited sharing of voice transmission calls; however, establishing the capacity limit of the network to accommodate the weekly call requires paying for capacity levels that go unused for over ninety percent of the work-week. Lowering the capacity limit will result in loss of service for some employee calls.

Embodiments of the present invention provide a method, computer program product, and computer system that determines a concurrent voice transmission level reaching the capacity limit of a local network, and provides an automated transfer of the additional voice transmission to a mobile communication device corresponding to the target user. In some embodiments of the present invention a translation reference file is maintained in which the VoIP telephone numbers are mapped to a corresponding mobile communication device telephone number, which enables transfer of a telephonic transmission to the mobile device over a cellular network, which is a type of an alternate network, in response to the concurrent voice transmission level of the local network reaching or exceeding the capacity limit. Use of an alternate network to complete the connection of the transmission avoids a loss of service response from attempting to access the at-capacity data network. In some embodiments, mapping the translation reference file may also include public switched telephone network (PSTN) telephone numbers that may be used to offload voice calls exceeding SIP network capacity. In some embodiments, the transfer of the telephonic transmission, either incoming or outgoing, uses a mobile phone communication network, separate from the local data network, and avoids exceeding the capacity limit of concurrent voice transmissions. For an out-going voice transmission, as a user places an outbound call, and if the capacity of the branch location is detected to be at a threshold limit, a call back to the user's mobile phone is performed to establish a call with the other party over the mobile network, or PSTN network. Use of the PSTN network may require modification to the handshaking protocol. The threshold limit may be established by the QoS or other aspect of a service level agreement (SLA) of the service provider, and the threshold limit of active concurrent connections supported by a service provider is often referred to as a concurrent session maximum (CSM).

Some embodiments of the present invention include combinations of the following features: an edge function within edge devices, such as routers, to monitor concurrent voice sessions and threshold capacity of branch locations; a central monitoring system (system monitor) for collection of concurrent voice transmission session metrics; call processor communication with central monitoring to access concurrent voice transmission session metrics and threshold capacities of branch locations; a data structure that includes VoIP telephone extension data by branch location, and mobile phone numbers that map to the VoIP telephone extensions of each branch location; a lower-quality SLA as an alternative to direct voice calls exceeding bandwidth capacity, based on an edge monitoring trigger, to degraded codec, broadband, and Wi-Fi, based on edge monitoring trigger. Use of degraded codec uses less bandwidth on the same MPLS, with lower voice quality, which potentially enables additional sessions to be processed within the assigned bandwidth limit for the specific MPLS connection. Use of broadband Internet, instead of MPLS serves as an alternative network, but lacks quality of service (QoS) attributes of MPLS. Wi-Fi networks operate as an alternative parallel network within LANs for the broadband traffic.

The present invention will now be described in detail with reference to the Figures (FIG.).FIG. 1is a functional block diagram illustrating a distributed communication network environment, in accordance with an embodiment of the present invention.

In an exemplary embodiment of the present invention, distributed communication network environment100includes network connections between local branches of an enterprise organization, in which voice communication is transmitted as VoIP via a data network of LANs and a WAN. Distributed communication network environment100includes mobile communications network103, PSTN105, VoIP Gateways113and161, call processing server110, session manager115, system monitor117, computing devices141,143, and145, virtual local area network_data (VLAN_data)147, telephony devices171,173, and175, SIP gateway163, PBX180, LANs123,125,127, and129, routers131,133,135, and137, all interconnected via network150.

Network150can be, for example, a local area network (LAN) connecting other LANs, a telecommunications network, a wide area network (WAN), such as the Internet, a virtual local area network (VLAN), or any combination that can include wired, wireless, or optical connections. In general, network150can be any combination of connections and protocols that will support communications between routers131,133,135, and137, VOIP gateway113, and mobile communications network103. Network150also provides access to system and network resources for call processing server110, offload transfer program300, session manager115, and system monitor117, in accordance with embodiments of the present invention.

Computing devices141,143, and145are connected to network150through LANs125,127, and129, respectively, at their respective branch locations. Each branch location may include a plurality of computing devices similarly connected to network150through the respective LANs. Computing devices141,143, and145may be a laptop computer, a tablet computer, a netbook computer, a personal computer (PC), a desktop computer, a personal digital assistant (PDA), a smart phone, or any programmable electronic device capable of connecting to and sending and receiving data via network150. In another embodiment, computing devices141,143, and145each represent a computing system utilizing clustered computers and components (e.g., database server computers, application server computers, etc.) that act as a single pool of seamless resources when accessed within distributed communication processing environment100. Computing devices141,143, and145may include internal and external hardware components, as depicted and described with reference toFIG. 4.

Mobile communications network103and PSTN105represent communications networks connected to, but distinct from network150and LANs123,125,127, and129of the local branch locations of distributed communication network environment100. Mobile communications network103includes support for voice and data transmissions to mobile communication devices (hereafter generically referred to as “mobile phones”), which, in some embodiments of the present invention, receive voice transmissions, also referred to herein as “calls”, transferred from local branch VoIP SIP networks. The transfer prevents a loss of service occurring as concurrent calls reach capacity limits of local MPLS networks. PSTN is a switched telephonic network and similarly, in some embodiments of the present invention, voice transmissions may be transferred from VoIP SIP network calls to an available PSTN network as concurrent calls reach capacity limits of local networks.

VoIP gateway113, VoIP gateway161, and SIP gateway163, are electronic devices that enable direct connection of local networks to an Internet telephony service provider (ITSP), extending voice over IP (VoIP) telephonic transmissions beyond the firewall of a LAN. VoIP gateway113enables a connection between a legacy telephony network, such as a PSTN primary rate interface (PRI) trunk and a modern VoIP connection using SIP. VoIP gateway161enables a connection between a private branch exchange (PBX) telephony system and a VoIP system using SIP. A PBX is a private telephone network used within a business or organizational entity, in which users of the PBX phone system share a number of outside lines for making external phone calls. The VoIP SIP systems utilize data networks for voice and data transmission, and a capacity limit of concurrent voice transmissions on data networks is typically established, for both quality of service and cost reasons.

Telephony devices171,173, and175send and receive voice transmissions within their respective local branch locations, via connection from respective LANs to network150. Telephony device171is connected to private branch exchange (PBX)180, and enables a direct connection between the TDM PBX system and SIP-based service providers (not shown), by way of connections to LAN125, router133and network150. Telephony device173is connected to SIP gateway163, which enables telephony device173to utilize SIP VoIP from service providers, by connection to LAN127, router135, and network150. Telephony device175supports SIP and VoIP, and is connected directly to LAN129which connects to network150via router137. In some embodiments of the present invention, telephony devices171,173, and175, each represent a plurality of telephony devices at their respective local branches.

VLAN_data147is a virtual local area network, configured by software, for handling data from computing device145, and connected to LAN129. A VLAN is formed by a group of end stations with a common set of requirements, regardless of their physical location. VLANs have the same attributes as a physical LAN but allow grouping of end stations even if the end stations are not located physically on the same LAN segment.

Routers131,133,135, and137, provide data and voice transmission routing functions for separate respective local branch locations. Routers131,133,135, and137, receive information that includes translation of VoIP phone numbers to corresponding mobile device phone numbers for users within each local branch location. The translation information is used by routers131,133,135, and137, to transfer voice transmissions to a mobile network in response to the local branch location's data network reaching (or in some embodiments of the present invention, approaching) the capacity limit of concurrent voice transmissions. In some embodiments of the present invention, offload transfer program300sends the information to each respective router, and in response to determining that the number of active concurrent voice transmissions has reached (or is approaching, in other embodiments) the threshold capacity, offload transfer program300initiates transfer of the transmission to an alternate carrier solution.

System monitor117is a centralized monitor that collects data and status of VoIP activity on the interconnected local branch networks from each edge device, such as routers131,133,135, and137, connecting branch LANs to one another through connection to a WAN, for example an Internet connection. System monitor117is also connected to session manager115which includes the concurrent session maximum (CSM) limit of voice transmissions over the data network, which, in some embodiments of the present invention, is a threshold limit established by an SLA with an SIP bandwidth provider. CSMs are assigned to each of the local branches of an enterprise organization's data network that includes VoIP transmissions. In some embodiments of the present invention, session manager115determines whether the active concurrent VoIP sessions reach the CSM or threshold concurrent limit for a given local branch, and sends notification of VoIP sessions reaching threshold capacity to offload transfer program300, hosted on call processing server110. System monitor117, session manager115, and offload transfer program300, interactively determine if VoIP concurrent calls reach a bandwidth limitation, based on local branch bandwidth activity and configuration, and transfer additional voice transmission requests to a mobile phone number previously determined to correspond to the VoIP telephone number of the requested voice transmission.

Call processing server110is a computing device that includes offload transfer program300. In some embodiments call processing server110may be a management server, a web server, a mobile computing device, or any other electronic device or computing system capable of receiving and sending data. In other embodiments, call processing server110may represent a virtual computing device of a computing system utilizing multiple computers as a server system, such as in a cloud computing environment. In another embodiment, call processing server110may be a laptop computer, a tablet computer, a netbook computer, a personal computer (PC), a desktop computer, a personal digital assistant (PDA), a smart phone, or any programmable electronic device capable of performing the operational steps of offload transfer program300, via network150. In another embodiment, call processing server110represents a computing system utilizing clustered computers and components (e.g., database server computers, application server computers, etc.) that act as a single pool of seamless resources when accessed within distributed network processing environment100. Call processing server110may include internal and external hardware components, as depicted and described with reference toFIG. 4.

In some embodiments of the present invention, offload transfer program300receives the active concurrent VoIP transmissions data of each local branch from system monitor117, and receives CSM of VoIP transmissions for each local branch of the enterprise network from session manager115. Offload transfer program300determines if concurrent session activity has reached the CSM for a given local branch, as per a predetermined allocation of bandwidth, and having determined that the threshold limit of sessions has been reached, offloads the requested voice transmission (call) from the local branch data network associated with threshold limit of concurrent session activity, to a mobile phone number corresponding to the telephone extension number of the targeted recipient in the local branch. In other embodiments, session manager115determines that the active concurrent sessions of VoIP calls equals the CSM limit, and sends notification to offload transfer program300.

Offload transfer program300includes data that maps the VoIP phone extension of each local branch to a mobile phone number of the user corresponding to the VoIP phone extension. Having determined that a request for a VoIP call exceeds a threshold limit, or the CSM, offload transfer program300transfers the requested call to the mobile phone corresponding to the VoIP extension, completing the call by offloading from the data network to a mobile phone network connection.

FIG. 2Ais a functional block diagram illustrating router table205, including exemplary communication bandwidth capacity and current activity data of three branches of distributed communication network environment100ofFIG. 1, in accordance with an embodiment of the present invention. Router table205includes data for location210(referring to the column of data below location210), location220, and location230which, in one embodiment of the present invention, correspond to branch locations of an enterprise organization within distributed communication network environment100.

Router table205includes bandwidth rate data, CSM limits of VoIP concurrent session calls, and concurrent sessions active (CSA) of VoIP calls, indicating the number of concurrent VoIP calls that are currently active, for each of locations210,220, and230. Locations210and220both have bandwidth of 1.5 MB/s, and location230has a lower bandwidth at 1.0 MB/s. Location210has a CSM of 15 and a CSA of 7 VoIP sessions, so location210is well below the threshold concurrent call level.

Router table205depicts location220as having 14 concurrent VoIP sessions that are active, with a CSM of 15, indicating that an additional concurrent call request will cause location220to reach the concurrent session threshold limit. In some embodiments of the present invention, offload transfer program300transfers call requests after the threshold limit of concurrent VoIP calls is reached which, in the case of location220would occur after if a call request was received while 15 concurrent sessions were active. In other embodiments of the present invention, a concurrent session limit may be applied that is below the CSM, for example, 13 concurrent VoIP sessions, and avoids a potential decline of data network performance.

Router table205depicts location230with CSA calls equal to the CSM limit. In some embodiments of the present invention, in response to receiving an additional request for a VoIP call, while the concurrent sessions active are equal to the CSM limit of VoIP calls, offload transfer program300transfers the requested call to a mobile phone number corresponding to the VoIP extension to which the call is targeted. For example, location230has a CSA of 10 VoIP calls, and a CSM of 10 VoIP calls, and receives a request for an additional VoIP call, concurrent with the CSA of 10 calls. Offload transfer program300transfers the requested VoIP call that will exceed the CSM to a mobile phone number that corresponds to the VoIP telephone number of a user to which the requested VoIP call is targeted.

In other embodiments, offload transfer program300may transfer the requested call to a corresponding mobile phone number in response to the additional request of a VoIP increasing the concurrent session active calls to equal the CSM limit. For example, if the CSA for location230is 9 and an additional VoIP call request is received by location230, offload transfer program300transfers the requested call to a mobile phone number that corresponds to the user to which the requested VoIP call is targeted.

FIG. 2Billustrates exemplary table255that includes telephony contact translation information of selected users of distributed communication network environment100ofFIG. 1, in accordance with an embodiment of the present invention. Table255includes contact information for first user260, second user270, and third user280. For each user, table255includes the VoIP extension number, a corresponding mobile telephone number for the same user, and in some embodiments of the present invention, a public switched telephone network (PSTN) number, which may be a copper-wire second extension connected to the telephone device supporting a particular VoIP extension number for a particular user. In other embodiments Table255may include softphone numbers respectively corresponding to each user listed on table255(not shown). For example, first user260is depicted as having extension263, which is an assigned VoIP extension number of “x-3398”. Table255also depicts first user260as having mobile265, which is a mobile phone number, “987-654-0123”, of first user260's mobile phone, and table255shows first user260as having a PSTN267, which is a hard-wired switched telephone connection number of “7-987-565-0001”, corresponding to the VoIP extension for first user260. Similarly, second user270and third user280have VoIP extensions, mobile phone numbers, and PSTN phone numbers that correspond to each respective user of the telephony system of a local branch of distributed communication network environment100.

Table255is accessible to offload transfer program300, enabling translation of a received request to set up a VoIP call on a particular extension number to a corresponding mobile phone number or, in some embodiments of the present invention, to a corresponding PSTN phone number. Offload transfer program300, in response to determining that the local branch concurrent session active calls exceeds a threshold concurrent call limit, re-directs the call request to the mobile phone number corresponding to the VoIP extension number associated with the call setup request or, in other embodiments, offload transfer program300redirects the call request to a PSTN number that corresponds to the VoIP extension to which the call request was directed, based on the information included in table255.

In some embodiments of the present invention, as an alternative to re-directing a call request to another network, such as directing the call to a mobile phone using a mobile network, or re-directing the call to a hard-wired PSTN network, offload transfer program300may apply another alternative in which the enterprise business model supports use of lower voice quality transmission during peak usage periods in which the concurrent session active calls exceeds the predetermined threshold concurrent session limit. Instead of re-directing the telephone call to a mobile cell phone during capacity usage, a broadband intern& connection could be used, or a Wi-Fi connection, or an alternative LAN connection, to the particular local branch and negotiate a lower bandwidth codec to an alternate softphone extension on a computer or mobile device. Thus, additional capacity may be attained. The codec negotiation is also applicable to the MPLS scenario.

Embodiments of the present invention include centralized collection of monitoring data of SIP trunks monitored at the branch edge devices of distributed branches of an enterprise organization, connected by a WAN. Embodiments also include logic to direct VoIP call requests to alternate networks based on the monitored data. Initiation of call transfers to alternate networks or negotiated lower bandwidth codec is based on determining whether the concurrent session active calls have reached a predetermined threshold, based on allocated bandwidth of data networks available to the respective branches of the enterprise organization, and grouping of user contact information by branch location.

FIG. 3depicts operational steps of offload transfer program300, operating on call processing server110, within distributed communication network environment100ofFIG. 1, in accordance with an embodiment of the present invention. In step310, offload transfer program300receives active concurrent transmission data. The active transmissions, or calls, are monitored at the branch level of an enterprise organization having multiple branches at dispersed locations, each having LANs connected by a WAN. The monitoring of active calls by edge devices at each branch location is centrally collected and available to a centralized session manager, and offload transfer program300. In some embodiments session manager115sends the monitored data of active calls at each branch location to offload transfer program300. In other embodiments, offload transfer program300accesses and retrieves the active call data from a centralized collection point.

For example, system monitor117collects active call data from routers131,133,135, and137, which includes the respective concurrent session active transmissions for each branch location of an enterprise group within distributed communication network environment100. Session manager115accesses the concurrent session active call data for each branch location and sends the information to offload transfer program300, which receives the transmission data.

In step320, offload transfer program300receives capacity information of network branches for concurrent active transmissions. In some embodiments of the present invention, the threshold limit of concurrent active call sessions of each branch location is maintained by a session manager, such as session manager115, and the capacity information of each branch location is sent to offload transfer program300. The CSM is a predetermined bandwidth allocation limit configured the MPLS bandwidth of the data network for each local branch, and the CSM of each local branch defines the capacity limit of concurrent active transmissions, such as VoIP calls.

For example, session manager115sends CSM capacity information of each local branch to offload transfer program300, which includes the threshold limit of voice transmissions that can concurrently be active.

In step330, offload transfer program300receives notification of a transmission request within a branch location. In some embodiments of the present invention, a request to setup a call within one of the monitored branch locations is determined by the session manager accessing the monitoring of the session monitor. A notification of the request is sent to offload transfer program300, by the session manager. Offload transfer program300has received information regarding the concurrent session active calls, the CSM limits for each branch location within the enterprise organization, and receives notification of an additional call request within a branch location from the session manager.

For example, offload transfer program300, having received information regarding the active concurrent call sessions for each branch location from the monitored data collected by system monitor117, and having received the CSM limits for each branch location, from session manager115, receives notification from session manager115of a request to setup a call in one of the branch locations of the enterprise organization within distributed communication network environment100. Offload transfer program300is now in possession of the number of active concurrent calls within each branch, and the threshold number of concurrent calls that are allocated within the bandwidth limits of the data network for each branch location. In response to receiving a call request notification at one of the branch locations, offload transfer program300can determine a course of action to take.

In decision step340, offload transfer program300determines whether the concurrent sessions that are active exceed the threshold limit. In response to receiving the notification of a requested call setup, offload transfer program300determines which branch location(s) is involved in the requested call setup, and determines if the call, in combination with the concurrent sessions active for the particular branch location, exceeds the CSM limit for that particular branch location. Determining, in step340, “NO” branch, that the additional call added to active concurrent sessions does not exceed the threshold concurrent limit, offload transfer program300enables initiation of a standard transmission over the enterprise SIP trunk (data network) in step360, and returns to receive monitored concurrent transmission data, in step310.

In the case of step340, “YES” branch, in which offload transfer program300determines that the additional call request, combined with the concurrent sessions that are active, does exceed the CSM limit for the particular branch location, offload transfer program300, in step350, performs a change to the transmission to direct the requested call to an alternate path. In some embodiments of the present invention, offload transfer program300directs the transmission to a mobile phone number that corresponds to the user to which the VoIP call is targeted. In other embodiments, offload transfer program300directs the transmission to a lower voice quality from degraded codec on the same MPLS.

For example, offload transfer program determines that the addition of a requested call setup to a first branch location will exceed the CSM for that particular branch, and performs a change to the transmission of the requested call using an alternate path. In some embodiments of the present invention, offload transfer program300determines the requested call is directed to extension263, which is number “x-3398”, of first user260. Offload transfer program300accesses mobile265from table255, and retrieves the corresponding mobile phone number for first user260. Offload transfer program transfers the call to phone number “987-654-0123”, which corresponds to mobile265. Thus the SIP trunk utilizing the data network for voice transmissions does not exceed the CSM, because the requested call is alternatively directed to the mobile phone number, using the mobile network of first user260.

In another embodiment of the present invention, offload transfer program300may negotiate a lower voice quality level by codec negotiation, which reduces bandwidth requirement by further compression of the analog to digital signal of the audio transmission. Calls made using the negotiated lower quality level codec consume less bandwidth of the SIP trunk per call and therefore additional calls are accommodated within the same SIP trunk bandwidth limits. Embodiment using a lower voice quality level codec may involve designating such options in a service level agreement (SLA) of a provider of SIP trunk bandwidth. In yet other embodiments, offload transfer program300directs the requested call to the PSTN network, determining the corresponding hard-wire connection number “7-987-565-0003” to correspond to extension263VoIP number of “x-3398” for first user260.

Having performed a change to routing the transmission, and initiated the requested call within the branch location at the CSM limit of voice transmissions, without loss of service, offload transfer program300ends.

FIG. 4depicts a block diagram of components of computing system400, including computing device405which, similar to call processing server110, is capable of operationally performing offload transfer program300, in accordance with an embodiment of the present invention.

Computing device405, includes components and functional capability similar to call processing server110in accordance with an illustrative embodiment of the present invention. It should be appreciated thatFIG. 4provides only an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made.

Memory406, cache memory416, and persistent storage408are computer readable storage media. In this embodiment, memory406includes random access memory (RAM)414. In general, memory406can include any suitable volatile or non-volatile computer readable storage media.

Communications unit410, in these examples, provides for communications with other data processing systems or devices, including resources of distributed communication network environment100and computing devices141,143, and145, and call processing server110. In these examples, communications unit410includes one or more network interface cards. Communications unit410may provide communications through the use of either or both physical and wireless communications links. Offload transfer program300may be downloaded to persistent storage408through communications unit410.

I/O interface(s)412allows for input and output of data with other devices that may be connected to computing system400. For example, I/O interface412may provide a connection to external devices418such as a keyboard, keypad, a touch screen, and/or some other suitable input device. External devices418can also include portable computer readable storage media such as, for example, thumb drives, portable optical or magnetic disks, and memory cards. Software and data used to practice embodiments of the present invention, e.g., offload transfer program300can be stored on such portable computer readable storage media and can be loaded onto persistent storage408via I/O interface(s)412. I/O interface(s)412also connect to a display420.