Abstract:
Embodiments of a network element and method of establishing an internet-protocol communications session between a first device and a second device and generally described herein. In some embodiments, the network element is configured to receive a request from the first device to invite the second device to participate in an IP communications session. The second device may be identified in the request by a network identifier. The network element may relate the network identifier to a mobile IP (MIP) address of the second device and a second IP address. The network element may send an invitation to the MIP address of the second device. The invitation may include a MIP address of the first device and a first IP address. The first device establishes an IP connection for an IP communications session with the second device using the MIP address of the second device and the second IP address.

Description:
PRIORITY CLAIM 
     This application is a continuation of U.S. patent application Ser. No. 12/563,555, filed on Sep. 21, 2009, now issued as U.S. Pat. No. 8,204,044, which is a divisional of U.S. patent application Ser. No. 11/027,915, filed on Dec. 30, 2004, now issued as U.S. Pat. No. 7,593,390, all of which are incorporated herein by reference in their entireties. 
    
    
     TECHNICAL FIELD 
     Embodiments of the invention relate to voice-over-IP technology implemented on a mobile wireless broadband network. 
     BACKGROUND 
     Voice-over-IP (VoIP) technology permits parties to communicate orally over a packet-switched IP network. VoIP technology has grown in popularity, and depending upon certain factors, can offer sound quality that is comparable to that of the public switched telephone network (PSTN). 
     Also growing in popularity are wireless mobile networks. Wireless mobile networks permit a device to link to a network without requiring a physical conductive line to carry data between the device and the network. Further, such networks permit mobility by allowing a device to change access points in a manner transparent to network elements or nodes outside of the wireless mobile network domain. 
     Despite the growing popularity of VoIP technology and wireless mobile networks, there are no mobile client devices for present VoIP services over the Internet. One factor that hinders the advancement such mobile devices relates to finding a simple scheme by which a mobile device may be permitted to roam a significant geographic area (and therefore potentially wander between domains), while appearing keep a single IP address. The user datagram protocol (UDP) indexes connections by use of a quadruplet that contains the IP addresses and port number of both connection endpoints. Changing any one of these four numbers causes the connection to be disrupted and lost. Therefore, it is important that the device appear to keep the same IP address while roaming geographically. The difficulty in addressing this issue grows as the geographic area through which a device is permitted to roam grows. 
     From the foregoing, it is evident that there exists a need for a scheme by which a wireless IP telephony device can be permitted to roam a geographically significant area, such as a metropolitan area. It is desirable that such a scheme be relatively simple to implement as an overlay to an existing wireless network. It is further desirable that such a scheme be easily interconnected to the PSTN. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  depicts a network environment in which an embodiment of a voice home agent is deployed. 
         FIG. 2  depicts a protocol stack making up a voice home agent, according to an embodiment of the invention. 
         FIG. 3  depicts a tunneling scheme employed by the mobile IP layer of the protocol stack depicted in  FIG. 2 . 
         FIG. 4  depicts a method of initiating a VoIP phone call, according to an embodiment of the invention. 
         FIG. 5  depicts a method of executing a VoIP phone call, according to an embodiment of the invention. 
         FIG. 6  depicts a hardware environment in which a voice home agent may be embodied, according to an embodiment of the invention. 
     
    
    
     DETAILED DESCRIPTION 
       FIG. 1  depicts a network environment  100  in which one or more mobile nodes  102  may be permitted to roam over a geographically significant area, such as across a metropolitan area. The mobile nodes  102  communicate via digital transmission (typically in the 2-to-6 GHz licensed bands, with typical channel bandwidths ranging from 1.5 to 20 MHz) to an access point  104 . An access point (also referred to herein as a base station), such as the one identified by reference numeral  104 , receives transmissions from the mobile node, and communicates the transmissions to network elements within an associated regional access network  106 . According to an embodiment, the regional access network  106  is a wired network (i.e., a physical line interconnects the various elements making up the regional access network) that is a generic packet based access network, such as an Ethernet network, an IP/MPLS network, or an ATM network. The transmission between the access points  104  and the mobile nodes  102  is compliant with Institute of Electrical and Electronics Engineers (IEEE) 802.16 standard signals, IEEE std. 802.16-2001, published 2001 and later versions (hereinafter IEEE 802.16 standard or IEEE 802.16e standard). A regional access network  106  interconnecting access points (such as  104 ) compliant with IEEE 802.16e standards is referred to as a WiMAX network. 
     At the periphery of the WiMAX regional access network  106  is a radio network services node  108 . The radio network services node  108  provides routing and control between other WiMAX regional are networks, such as the WiMAX network identified by reference numeral  110 . Each regional access network  106  and  124  includes a radio network services node that couples the regional access network  106  or  110  to a WiMAX core network  112 , which interconnects all of the regional access networks  106  and  110 . Although the WiMAX core network  112  is depicted in  FIG. 1  as interconnecting two WiMAX networks  106  and  110 , the WiMAX core network  112  may, in principle, interconnect any number of regional access networks. 
     The WiMAX core network  112  may be an ordinary IP network, composed of commonplace IP network elements, such as optical networking elements permitting high speed data transfer. As such, the WiMAX core network  112  may interconnect directly with the Internet (not depicted in  FIG. 1 ). 
     At the periphery of the WiMAX core network  112  are one or more voice home agents  114  and  116 . There exists a voice home agent  114  or  116  associated with each WiMAX regional access network  106  and  110 . The structure of, and methods enacted by, a voice home agent  114  or  116  are discussed in detail below. Briefly, a voice home agent is a network element that permits VoIP integration between a WiMAX core network (such as core network  112 ) and the public switched telephone network (PSTN). Additionally, a voice home agent provides functionality that permits a mobile node (such as mobile node  102 ) to roam from one WiMAX regional access network (such as network  106 ) to another (such as  110 ). 
     Although  FIG. 1  depicts a single voice home agent  114  or  116  associated with each regional access network  106  or  110 , more than one voice home agent may be associated with a given regional access network. Thus, although reference numerals  114  and  116  are presented herein as referring to a single voice home agent, each reference numeral  114  and  116  may be understood as referring to a group of voice home agents servicing their respective WiMAX regional access networks  106  and  110 . 
     Each voice home agent  114  and  116  interfaces the WiMAX core network  112  to a local office  118  or  120  of the public switched telephone network  122 . The public switched telephone network  122  uses an out-of-band signaling scheme known as Signaling System 7 (SS7), defined by the International Telecommunication Union (ITU) Telecommunication Standardization Sector (ITU-T). An out-of-band signaling scheme employs a different physical path for call control than is used to carry the content of the call itself (e.g., the voice data). Therefore, as shown in  FIG. 1 , a voice home agent serves as two separate interfaces: an interface for voice data, which is delivered as time domain multiplexed digital voice data, and an interface for SS7 control signals, which are delivered as SS7 packets. 
     A mobile node, such as the one identified by reference numeral  102 , may be embodied as a telephone handset (in like fashion as a cellular telephone), may be embodied as a personal digital assistant, or may be embodied as another mobile computing device. Upon power-up, a mobile node makes an initial transmission to the nearest available access point. At the time of transmission, the access point assigns the mobile node a management channel, which identifies the mobile node to the access point. The access point and mobile node may communicate with another over a distance ranging from one to five or ten miles. Given the size of such an area, other mobile nodes may be located therein. Therefore, an access point may communicate with hundreds of mobile nodes. The use of management channels permits an access node to distinguish one access point from another. 
     Each access point in a WiMAX regional access network has an IP address that identifies it. However, this IP address is functional only within the regional access network (also referred to as a domain) in which the access point is situated. Thus, an access point may directly send data to another access point within the regional access network in which it is situated. To direct data to an access point in another domain, the radio network services node servicing the particular domain in which the access point is situated must be used as an intermediary. 
     As mentioned above, during power-up of the mobile node, an initial transmission is made to the base station for the sake of establishing a management channel and authenticating the user. Thereafter, the mobile node makes an initial communication with the voice home agent servicing the domain in which the mobile node is situated. This communication marks the beginning of a registration process, by which the mobile node informs the voice home agent of which domain the mobile node is in. In response, the voice home agent assigns the mobile node an IP address, known as a mobile IP (MIP) address. The voice home agent also records a care-of address for the mobile node. The MIP address for the mobile node does not change, even should the mobile node wander to a geographic region in which it communicates with another access point or with another WiMAX regional access network altogether. The care-of address, on the other hand, identifies the domain with which the mobile node is communicating, and therefore changes when the mobile node roams from one regional access network to another. 
     A voice home agent may assign a mobile node more than one IP addresses. For example, a mobile node may have one IP address assigned to it for the carrying of voice data, and another IP address assigned to it for the carrying of signaling data. For the sake of simplicity, the disclosure proceeds from the assumption that each mobile node has a single IP address assigned to it during registration. 
     At the time of registration, the voice home agent updates a database that it maintains. The database may contain information concerning the features supported by the mobile node (call waiting, voicemail, etc.). The database is updated to associate a telephone number by which the mobile node is identified, the MIP address assigned to the mobile node, and the domain in which the mobile node is located (i.e., the care-of address of the mobile node). 
     A WiMAX regional access network  106  or  110  employs a technique known as tunneling. By virtue of this technique, movement of a mobile node within a geographic area served by a given WiMAX domain  106  or  110  is transparent to network elements or nodes outside of the domain. Thus, for example, a network node outside of WiMAX domain  106  cannot tell whether mobile node  102  is communicating with access point  104  or access point  122 . A network element outside of the domain  106  need only know that the mobile node  102  is located in domain  106  to communicate with the mobile node  102 . Therefore, whenever a mobile node (such as mobile node  102 ) moves from one domain to another, the mobile node re-registers with the voice home agent it previously registered with. In response, the voice home agent updates its database to associate a new care-of address (i.e., network address of the domain with which the mobile node communicates) with the mobile node. 
     The preceding discussion focused on a network environment in which a voice home agent  114  or  116  operates. The following discussion briefly presents protocol layers making up a voice home agent  114  or  116 . 
       FIG. 2  depicts a protocol stack  200  executed by the voice home agent  114  or  116 . As can be seen from  FIG. 2 , the protocol stack  200  includes a Mobile IP (MIP) layer  200  that provides functionality complying with an industry-accepted MIP standard, such as the standard described in “IP Mobility Support,” C. Perkins, ed., IETF RFC 2002, October 1996. The functionality provide by the MIP layer  202  is made available to the upper layers  204 - 210  of the stack  200 . 
     The MIP layer provides the tunneling functionality mentioned above.  FIG. 3  depicts the MIP layer  202  receiving a packet  300  having an IP header  302 . The IP header  302  contains the MIP address assigned to a particular mobile node in its 32-bit destination IP address field, and it therefore termed IP Header MIP . In response to receiving such a packet  300 , the MIP layer  202  appends the packet  300  to a second IP header  304 . The second IP header uses the care-of address of the particular mobile node identified by the MIP address, and is therefore termed IP Header CareOf . Thus, the WiMAX core network  112  observes the second IP header  304  and routes the packet  300  according to the second IP header  304 , meaning that the packet  300  is routed to the appropriate domain  106  or  124 . Prior to reception by the mobile node, the second IP header  304  is stripped away. 
     The effect of the tunneling technique described with reference to  FIG. 3  is that each mobile node receives IP packets containing the MIP address assigned to it during the registration process. Accordingly, each mobile node may roam—even roam between domains—while retaining the IP address assigned to it during the registration process. 
     Many layers of tunneling may be used in the network environment  100  depicted in  FIG. 1 . For example, each WiMAX regional access network  106  and  124  may employ tunneling, so that elements laying outside the domain need only address IP packets to the proper domain in order for the packet to reach the desired mobile node. 
     Returning to  FIG. 2 , it can be seen that the protocol stack  200  also includes a VoIP layer  204 , which provides voice over IP functionality that may be compliant with an industry-accepted VoIP standard, such as Realtime Transport Protocol (RTP), which is defined by IETF RFC 1889 and/or Realtime Streaming Protocol (RTSP), which is defined by IETF RFC 2326. Briefly, the VoIP layer  204  receives VoIP packets and transforms those packets into time domain multiplexed digital voice data for the public switched telephone network (PSTN)  118  and  120 , and vice versa. As discussed below, in the context of a discussion between a user of a mobile node and a user of the PSTN, the VoIP layer  204  converts time domain multiplexed digital data into VoIP packets. The VoIP packets contain the MIP address assigned to the particular mobile node. The VoIP packets are passed to the MIP layer  202 , which appends the VoIP packets to an IP header containing the care-of address of the particular mobile node. 
     The protocol stack  200  also includes a session initiation protocol layer  206 , which provides SIP functionality that may be compliant with an industry-accepted standard, such as IETF RFC 3261. Briefly, the SIP layer  206  provides application-layer control functionality for creating, modifying, and terminating communication sessions with one or more participants. For example, the SIP layer  206  contains the functionality to signal a mobile node that another party wishes to communicate with it. 
     The protocol stack  200  also includes a layer  210  that interfaces with the PSTN. The layer  210  includes a media gateway (MGW) that converts time-domain multiplexed voice data into IP packets. It also includes an SS7 interface that receives SS7 signals, decodes the signals, and passes the extracted information to the voice home agent control plane  208 . 
     The voice home agent control plane  208  coordinates the actions of the other layers. It mediates communication between the major gateway and the VoIP layer  204 , and also mediate communication between the SS7 interface and the SIP layer  206 . For example, the voice home agent control plane  208  may receive a signal from the S7 interface  210  indicating that a connection to a particular telephone number is desired. In response, the control plane  208  invokes the SIP plane  206  to send an SIP invite message to the mobile node corresponding to the telephone number. Similarly, the control plane  208  receives voice data in a particular time slot and forwards the data to the VoIP layer for conversion into VoIP packets, and for communication to particular mobile node (in this way, a voice path is maintained). 
     The preceding discussion briefly presented protocol layers  202 - 210  making up a voice home agent  114  or  116 . A discussion relating to the operation of the voice home agent  114  or  116  with respect to call initiation and call execution follows. This discussion describes the operation of the voice home agent as a whole (as opposed to on a layer-by-layer basis), and provides an high-level integrated view of the operation of the voice home agent. 
       FIG. 4  depicts the operation of a voice home  114  or  116  agent in initiating a telephone call to a mobile node. The process may be initiated by a user of the PSTN or by a user of a mobile node served by the voice home agent  114  or  116 . If the process is initiated by a user of the PSTN, then the voice home agent  114  or  116  receives an SS7 signal indicating that a telephone call is desired with a mobile node identified by a particular telephone number, as shown in operation  400 . The telephone number is extracted from the SS7 signal (operation  400 ). The SS7 signal is converted into an invite message (operation  400 ), which is an SIP message indicating that a communication session is desired. Thus, at the completion of operation  400 , the voice home agent  114  or  116  has constructed an invite message addressed to a particular telephone number. 
     On the other hand, the process may have been initiated by a mobile node served by the voice home agent  114  or  116 . When a mobile node initiates the phone call, the mobile node sends an SIP invite message addressed to a chosen telephone number to the voice home agent  114  or  116 . This SIP invite message is received by the voice home agent, as shown in operation  402 . 
     Whether the SIP invite message is received (as is the case when a mobile node initiates the phone call) or is created by the voice home agent (as is the case when a user of the PSTN initiates the phone call), operation flow next proceeds to operation  404 . In operation  404 , the voice home agent queries a database to identify a MIP address and care-of address associated with the telephone number embedded in the invite message. 
     If the telephone number identified in operation  404  corresponds to the domain served by the voice home agent  114  or  116 , then the voice home agent  114  or  116  sends the SIP invite message to the mobile node using the tunneling technique described with reference to  FIG. 3  (operation  406 ). 
     If the telephone number identified in operation  404  corresponds to a domain not served by the voice home agent  114  or  116 , then the voice home agent  114  or  116  sends the SIP invite message to the voice home agent  114  or  116  serving the domain corresponding to the invited mobile (operation  408 ). 
     If the telephone number indicates that the telephone number refers to a telephony device served by the PSTN, the invite message is converted to an SS7 signal to originate the phone call on the PSTN (operation  410 ). 
     After the invite message has been sent (by way of an SIP invite message or by way of an SS7 signal), the voice home agent  114  or  116  awaits a response to the invite message, as shown in operation  412 . If the user of the invited telephony device wishes to answer the phone call, a response indicating such a desire is received by the voice home agent  114  or  116  (operation  412 ). If the response originates from a mobile node, the response may reach the voice home agent  114  or  116  in the form of an SIP acknowledge (ack) message. On the other hand, if the response originates from a PSTN telephony device, the response may come to the voice home agent  114  or  116  in the form of an SS7 signal that may be converted into an SIP ack message. 
     After the response is received, it is forwarded to the initiator (operation  414 ). If the initiator of the phone call is a mobile node, the forwarding operation involves sending the response to the mobile node, using MIP layer  202  to employ the tunneling technique described with reference to  FIG. 3 . On the other hand, if the initiator of the phone call is a telephony device on the PSTN, then the response is converted into an SS7 signal, and is directed to the PSTN through the SS7 interface  210 . 
     Finally, assuming the response received in operation  412  indicates that the user of the invited mobile node wishes to engage in a communication session (i.e., wishes to answer the call), a voice path between the inviting and invited devices is established (operation  416 ). Establishing the voice path may involve associating a particular time slot in the time-domain multiplexed voice data from the PSTN local office  118  or  120  with a particular MIP address (and vice versa). Additionally, it may involve associating an MIP address of a mobile node with a care-of address or an address of a voice home agent  114  or  116  servicing a particular mobile node. 
     After a VoIP session has been established (as shown in  FIG. 4 ), the parties may speak to one another. While the parties speak, the voice home agent  114  or  116  receives either VoIP packets or time-domain multiplexed voice data from the PSTN, as shown in operation  500  of  FIG. 5 . If the voice home agent receives time-domain multiplexed voice data from the PSTN, such data is converted to VoIP packets, as discussed above. 
     Next, as shown in operation  502 , the VoIP packets or voice data are sent along the voice pathway established in operation  416  of  FIG. 4 . In the case of sending VoIP packets to a mobile node, this may mean sending received VoIP packets to a voice home agent  114  or  116  servicing the mobile node, or may mean directly sending received VoIP packets to a mobile node, using the tunneling technique described with reference to  FIG. 3 . In the case of sending voice data to telephony device on the PSTN, operation  502  includes converting VoIP data to time-domain multiplexed digital voice data, and inserting such voice data into an appropriate time slot, so that the PSTN switching equipment routes the data to the appropriate location. 
     The preceding discussion related to the operation of the voice home agent during initiation and execution of a phone call. The following discussion presents, from a system-level point of view, initiation and execution of a phone call in the context of the network environment  100  depicted in  FIG. 1 . 
     In the context of a telephone call between a PSTN telephony device (initiator of call) and a mobile node (responder to call), the flow proceeds as follows. Initially, the voice home agent  114  or  116  receives an SS7 signal indicating that a communication session is desired with a mobile device corresponding to a given telephone number. The voice home agent extracts the telephone number, and creates an SIP invite message addressed to an MIP address of the invited mobile node. (If the invited mobile node is not available, the call may be re-routed to a voice mail service.) 
     By virtue of the tunneling capability of the voice home agent and the various WiMAX domains, the SIP invite message reaches the invited mobile node, addressed to the mobile node&#39;s MIP address. Within the SIP invite message, caller-ID information is embedded. Therefore, a message identifying the inviting telephony device may be displayed at the invited mobile node. Meanwhile, the voice home agent  114  or  116  sends an SS7 signal resulting in a ring-back tone to the inviting telephony device. 
     If the user of the mobile node accepts the call, then an SIP acknowledgement message is sent to the voice home agent  114  or  116 . The voice home agent  114  or  116  translates the SIP acknowledgement message into an SS7 signal, and establishes a voice path. At this time, the users of the PSTN telephony device and the mobile node begin speaking. 
     In the context of a telephone call between two mobile nodes (in different domains), the flow proceeds as follows. Initially, the voice home agent receives an SIP invite message from the inviting mobile node. The SIP invite message is addressed to a telephone number corresponding with the desired mobile node. In response, the voice home agent forwards the SIP invite message to the voice home agent servicing the domain in which the invited mobile node is located. The latter voice home agent sends the response to the MIP address of the invited mobile node. 
     By virtue of the tunneling capability of the voice home agent and the various WiMAX domains, the SIP invite message reaches the invited mobile node, addressed to the mobile node&#39;s MIP address. Within the SIP invite message, caller-ID information is embedded. Therefore, a message identifying the inviting telephony device may be displayed at the invited mobile node. Further, the IP address of the inviting mobile node is contained in the SIP invite message. 
     If the user of the invited mobile node accepts the call, then an SIP acknowledgement message is sent to the voice home agent  114  or  116  servicing the domain in which the invited mobile node is located. In response, the voice home agent  114  or  116  forwards the SIP acknowledgement message to the voice home agent  114  or  116  servicing the domain in which the inviting mobile node is located. The latter voice home agent  114  or  116  forwards the SIP acknowledgement message to the inviting mobile node&#39;s MIP address. The SIP acknowledgement message contains the IP address of the invited node. 
     Voice communication may now occur in one of two manners. First, the mobile nodes may communicate with one another without the mediation of voice home agents. This is possible because, by virtue of the SIP invite and acknowledgement message, each mobile node is aware of the other&#39;s IP address. However, the connection between the two mobile nodes will be lost, should either of the mobile nodes roam to a different domain. 
     Secondly, the voice path may extend between both voice home agents. This scheme allows for either of the mobile nodes to roam from domain to domain. 
       FIG. 6  depicts a hardware environment in which the voice home agent  114  or  116  may be embodied. The environment includes four blades  600 ,  602 ,  604 , and  606 . Each blade contains its own computing environment, including a processor, a memory, and an input/output module (control hub and I/O bus, for example) providing access to a network interface or to storage. Each blade  600 - 606  may communicate via a local area network, such as via an Ethernet hub. The blades  600 - 606  may be embodied as thin boards that may be mounted within a rack. 
     Each blade may be dedicated to executing various facets of the previously described control plane functions or data plane functions. For example, blade  602  may execute the functions relating to the MIP layer  202 . This blade  602  also executes the routing functionality required when a VoIP packet is received, and needs to be routed to another voice home agent, or to a mobile node, as described above. The blade  602  includes a network interface to permit the software/firmware executed thereon to communicate with the WiMAX core network  112 . 
     Blade  604  may execute the VoIP functionality described above with reference to the VoIP layer  204  discussed in  FIG. 2 . The blade  604  includes a time domain multiplexing interface to permit the software/firmware executed thereon to interact with time domain multiplexed digital voice data from the PSTN. 
     Blade  606  may decode SS7 signals and send the extracted content to the SS7 application layer functionality residing on blade  600 . The blade  606  includes an SS7 interface to permit the software/firmware executed thereon to interact with the SS7 packets from the PSTN local office. 
     Blade  600  may execute the voice home agent control plane functionality described above. For this purpose, the blade includes a storage device (to maintain the database necessary to enact such functionality). The blade  600  also executes the SIP functionality and application layer functionality of the SS7 subsystem. In one embodiment, the blade  600  executes a billing routine. The billing routine may track, on a user-by-user or account-by-account basis, the amount of time a given user is connected to the network, the amount of traffic consumed by the user, the type of service consumed (local call, long distance call, etc.) by the user, or the bandwidth consumed by the user. The tracked information may be stored in a database, and periodic bills may be generated therefrom. 
     Embodiments of the invention may be implemented in one or a combination of hardware, firmware, and software. Embodiments of the invention may also be implemented as instructions stored on a machine-readable medium, which may be read and executed by at least one processor to perform the operations described herein. A machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer). For example, a machine-readable medium may include read-only memory (ROM), random-access memory (RAM), magnetic disc storage media, optical storage media, flash-memory devices, electrical, optical, acoustical or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.), and others. 
     The Abstract is provided to comply with 37 C.F.R. Section 1.72(b) requiring an abstract that will allow the reader to ascertain the nature and gist of the technical disclosure. It is submitted with the understanding that it will not be used to limit or interpret the scope or meaning of the claims. 
     In the foregoing detailed description, various features are occasionally grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments of the subject matter require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus, the following claims are hereby incorporated into the detailed description, with each claim standing on its own as a separate preferred embodiment.