Connecting device via multiple carriers

A user device establishes a first connection with a first carrier network of a first carrier. The first carrier issues a first phone number used by the user device. The user device further establishes a second connection with a second carrier network of a second carrier. The second carrier issues a second phone number used by the user device. The user device receives a notification about a call from the first carrier network while connected to the first carrier network and the second carrier network.

BACKGROUND

Users are increasingly relying on mobile phone devices to stay in contact with other people for business and personal reasons. Carriers provide mobile phone services within limit geographic areas (e.g., a particular country). Users who travel between multiple locations, with different carriers, often want to simultaneously be accessible and use multiple local phone numbers associated with those locations. Currently, standard mobile phones allow a user to place/receive calls only via a single local phone number issued by a carrier. As a result, a user who wants to utilize local numbers in, for example, multiple countries must carry multiple mobile phones. To be accessible by a primary local number while in a foreign country or market, the user must roam with a primary mobile phone associated with the primary local number. A mobile phone with dual subscriber identity module (SIM) cards may, theoretically, allow a user of the mobile phone to communicate by using two different local numbers. However, the dual SIM cards require specialized hardware that supports the dual SIM cards. Furthermore, the dual SIM cards require a user to roam using any one of the two dual SIM cards in multiple countries.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

A carrier may refer to one or more of a mobile network operator (MNO), a mobile phone operator, a mobile operator, a carrier service provider (CSP), a wireless service provider, a wireless carrier, a cellular company, and/or any other company that provides mobile phone service(s) to users (e.g., subscribers of the carrier) via a network. Herein, a carrier may also refer to the carrier network (e.g., a cellular network) provided and operated by the carrier.

An implementation, described herein, may allow a mobile phone device, which includes only a single SIM card, to connect to multiple carrier networks. The mobile phone device may use a first local phone number issued by a first carrier and a second local phone number issued by a second, different, carrier. The mobile phone device may connect to an Internet protocol (IP) multimedia subsystem (IMS) core of the first carrier and to an IMS core of the second carrier. The mobile phone device may receive, via the IMS core of the first carrier, phone calls from other user devices that call the first local phone number and may receive, via the IMS core of the second carrier, phone calls from other user devices that call the second local phone number. The second carrier may handle the call as a local call. A user of the mobile phone device may elect to make an outgoing call by using the first carrier or the second carrier. The recipient of the call may view, for example, the second local phone number as a source of the call when the user selects the second carrier.

FIG. 1is a diagram of an example environment100in which systems and/or methods described herein may be implemented. Environment100may include one or more of the following elements: a user device110, a first carrier network120, a network130, and a second carrier network140. WhileFIG. 1shows a particular number and arrangement of elements, environment100may include additional, fewer, different, or differently arranged elements than are illustrated inFIG. 1.

User device110may include any computation or communication device, such as a wireless mobile communication device that is capable of communicating with first carrier network120. For example, user device110may include a mobile telephone device, a radiotelephone, a personal communications system (PCS) terminal (e.g., that may combine a cellular radiotelephone with data processing and data communications capabilities), a personal digital assistant (PDA) (e.g., that can include a radiotelephone, a pager, Internet/intranet access, etc.), a smart phone, a laptop computer, a camera, a personal gaming system, or another type of mobile computation or communication device.

User device110may include a single SIM card (e.g., a Universal Integrated Circuit Card (UICC) with a SIM application) that may provide information for authentication of user device110by first carrier network120and/or second carrier network140. The information for authentication may include a unique identifier associated with user device110. User device110may execute an IMS client that allows user device110to connect to/communicate with IMS applications of first carrier network120and/or second carrier network140. User device110may place calls to other user devices and/or receive calls from other user devices via first carrier network120and/or second carrier network140.

First carrier network120may include any cellular network (e.g., a mobile phone network) that provides users (e.g., subscribers), of a first carrier, cellular phone service within a particular geographic area (e.g., the United States of America (USA)). The first carrier may issue a local phone number that user device110may use to place and/or receive calls via first carrier network120.

First carrier network120may include an IMS core125. IMS core125may include an architectural framework for providing IP multimedia services, including voice services. For example, IMS core125may include a network that delivers IP multimedia services via one or more protocols (e.g., via a session initiation protocol (SIP)). IMS core125may include call session control functions (CSCF) components, including one or more interrogating call session control functions (I-CSCFs), one or more serving call session control functions (S-CSCFs), and/or one or more proxy call session control functions (P-CSCFs). Further details of I-CSCFs, S-CSCFs, and/or P-CSCFs are provided below in connection with, for example,FIG. 2.

Network130may include the Internet, which includes a global system of interconnected computer networks that rely on the Transmission Control Protocol/Internet Protocol (TCP/IP). Network130may use IP Version 4 (IPv4) and/or IP Version 6 (IPv6) to identify and locate devices (e.g., user device110), which are assigned IP addresses and are connected (e.g., via first carrier network120and/or one or more other networks) to network130. Network130may also allow Voice over IP (VoIP) services that facilitate voice communications and multimedia sessions over network130. User device110may connect to second carrier network140via network130, as described further below.

Second carrier network140may perform the same type of functions as first carrier network120for a different geographic area. For example, first carrier network120may provide cellular phone service within a first country (e.g., the USA) and second carrier network140may provide cellular phone service within a second country (e.g., Israel) that is different than the first country. Second carrier network140may include an IMS core145. IMS core145may include an IMS network comparable to that of IMS core125. Second carrier network140and IMS core145may include similar and/or different components than first carrier network120and/or IMS core125, respectively.

In one implementation, a first carrier that operates first carrier network120may issue a first local phone number to user device110. The first local phone number may be local to a geographic area covered by first carrier network120. A second carrier that operates second carrier network140may issue a second local phone number to user device110. The second local phone number may be local to a geographic area covered by second carrier network140.

User device110may enter a coverage area (e.g., a part of the geographic area) associated with first carrier network120. A component of first carrier network120may assign an IP address to user device110. User device110may establish a connection with first carrier network120. Establishing the connection with first carrier network120may include establishing a connection150with IMS core125. To do so, a CSCF component (e.g., a P-CSCF) of/associated with IMS core125may receive authentication information (e.g., an identifier, a password, etc.) from user device110. After the CSCF component authenticates user device110, IMS core125may establish connection150with user device110. Connection150may allow user device110to receive and/or place calls to other user devices by using the first local phone number, via IMS core125.

The authentication information may be based on information associated with user device110, including, for example, a device identifier (e.g., a mobile directory number (MDN), a landline directory number (LDN), an international mobile subscriber identity (IMSI), a mobile station international subscriber directory number (MSISDN), a SIM universal resource identifier (URI), etc.) and/or a device address (e.g., a media access control (MAC) address, etc.). The SIM card and/or another component of user device110may store one or more pieces of the aforementioned information as secret credential(s) unique to user device110.

After establishing connection150, user device110may establish a second connection (e.g., a connection160or a connection170) with second carrier network140while user device110is still located in the coverage area associated with first carrier network120. In one implementation, a direct connection (e.g., not via network130) may exist between first carrier network120and second carrier network140. When the direct connection exists, user device110may transmit the authentication information of user device110to a CSCF component of IMS core145. The CSCF component of IMS core145may authenticate user device110and establish connection160between user device110and IMS core145.

In another implementation, first carrier network120and second carrier network140may connect via network130. User device110may transmit the authentication information of user device110to the CSCF component of IMS core145via media anchors (not shown inFIG. 1) of network130. Here, the CSCF component of IMS core145may authenticate user device110and establish connection170between user device110and IMS core145. After either connection160or connection170is established, user device110may receive and/or place calls, via IMS core145, to other user devices by using the second local phone number. User device110may receive and/or place the calls without roaming even when user device110is located outside a coverage area associated with second carrier network140(e.g., while located in the coverage associated with first carrier network120). A call is treated as a local call when user device110does not roam during the call.

Only first carrier network120and second carrier networks140(and no other carrier networks) have been illustrated inFIG. 1for simplicity. In practice, user device110may simultaneously connect to two or more carrier networks, which have issued local phone numbers for use by the user of user device110. For example, a third carrier may provide cellular phone service/coverage in a third country that is different than the first and second countries. The third carrier may issue a third local phone number, local to a location in the third country, for the user to use with user device110. After establishing connection150with first carrier network120and establishing connection160/170with second carrier network140, user device110may establish a third connection with an IMS core/network of the third carrier network.

A user of user device110may select to place calls, via the IMS core of the third carrier network, by using the third local phone number. The user device may also receive calls (and/or notifications about calls), via the IMS core of the third carrier network, from other user devices whose users dialed the third local phone number. User device110may receive/place calls via the IMS core of the third carrier network, without roaming, while in a geographic location associated with/covered by first carrier network120or second carrier networks140.

FIG. 2is a diagram of an example portion200of environment100. Portion200may include user device110and first carrier network120or a portion of first carrier network120. As shown inFIG. 2, portion200may include a group of user devices110-1, . . . ,110-L (where L≧1) (hereinafter referred to collectively as “user devices110” and individually as “user device110”), a group of e-Node Bs220-1, . . . ,220-M (where M≧1) (hereinafter referred to collectively as “eNBs220” and individually as “eNB220”), a group of serving gateway devices230-1, . . . ,230-N (where N≧1) (hereinafter collectively referred to as “SGWs230” and individually as “SGW230”), a mobility management entity device240(hereinafter referred to as “MME240”), a home subscriber service server250(hereinafter referred to as an “HSS server250”), a call session control function (CSCF) server260(hereinafter referred to as “CSCF server260”), a packet data network (PDN) gateway device270(hereinafter referred to as a “PGW270”), and a network280. The number of devices, nodes, and/or networks, illustrated inFIG. 2, is provided for explanatory purposes only. In practice, there may be additional devices, nodes and/or networks; fewer devices, nodes, and/or networks; different devices, nodes and/or networks; or differently arranged devices, nodes and/or networks than illustrated inFIG. 2.

Also, in some implementations, one or more of the devices of portion200may perform one or more functions described as being performed by another one or more of the devices of portion200. Further, MME240, HSS server250, and/or CSCF server260may be integrated into a single device. In another example, SGW230and/or PGW270may be integrated into a single device. Devices of portion200may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.

Portion200may include an evolved packet system (EPS) that includes a long term evolution (LTE) network and/or an evolved packet core (EPC) that operate based on a third generation partnership project (3GPP) wireless communication standard. The EPS may process calls between user devices that are associated with the same LTE network (e.g., local calls) and/or between user devices that are associated with different network (e.g., non-local calls, long distance calls, etc.).

The LTE may be a radio access network (RAN) that includes one or more eNBs220via which user device110communicates with the EPC and/or other user devices110. The EPC may include SGW230, MME240, and/or PGW270that enables user device110to communicate with network280, other user devices110, and/or IMS core125. IMS core125may include HSS server250and/or CSCF server260and may manage authentication, session initiation, account information, profile information, etc. associated with user device110.

eNB220may include one or more devices that receive, process, and/or transmit traffic, such as voice, video, text, and/or other data, destined for and/or received from user device110. One or more eNBs220may be associated with the LTE network that receives traffic from and/or sends traffic to network280and/or IMS core125via the EPC. eNB220may send traffic to and/or receive traffic from user device110via an air interface.

SGW230may include one or more devices, or other types of computation or communication devices, that gather, process, search, store, and/or provide information in a manner described herein. SGW230may, for example, aggregate traffic received from one or more eNBs220and may send the aggregated traffic to network280(e.g., via PGW270) and/or other devices associated with IMS core125and/or the EPC. SGW230may also receive traffic from the other network devices and/or may send the received traffic to user device110via eNB220. For example, SGW230may receive an instruction (e.g., as a result of a registration operation, handoff operation, and/or some other operation) from MME240to establish a connection (e.g., a tunnel) that permits user device110to communicate with other user devices110and/or network devices associated with the LTE, EPC, IMS core125, and/or network280.

MME240may include one or more devices, or other types of computation or communication devices, that gather, process, search, store, and/or provide information in a manner described herein. For example, MME240may perform operations associated with a handoff to and/or from the EPS. MME240may perform operations to register user device110with the EPS, to handoff user device110from the EPS to another network, to handoff a user device110from the other network to the EPS, and/or to perform other operations. MME240may perform policing operations on traffic destined for and/or received from user device110.

HSS server250may include one or more server devices, or other types of computation or communication devices, that gather, process, search, store, and/or provide information in a manner described herein. For example, HSS server250may manage, update, and/or store, in a memory associated with HSS server250, service profile information associated with user device110that includes access point names (APNs) that are permitted for and/or accessible by user device110, information associated with a user of user device110(e.g., a username, a password, a personal identification number (PIN), etc.), rate information, minutes allowed, and/or other information. Additionally, or alternatively, HSS server250may include a device that performs authentication, authorization, and/or accounting (AAA) operations associated with a communication session with user device110.

CSCF server260may include one or more server devices, or other types of computation or communication devices, that gather, process, search, store, and/or provide information in a manner described herein. CSCF server260may execute session initiation protocols (SIPs) associated with establishing a session with user device110. CSCF server260may communicate via network280and may process and/or route calls to and/or from user device110. CSCF server260may, for example, route a call received from user device110(e.g., via eNB220) and may route the call to a destination device and/or perform operations associated with monitoring minutes and/or billing information.

CSCF server260may include one or more I-CSCFs, S-CSCFs, and/or P-CSCFs. An I-CSCF may provide a SIP function. An IP address of the I-CSCF may be published in a Domain Name System (DNS) so that remote servers can find the I-CSCF and use the I-CSCF as a forwarding point for SIP packets. The I-CSCF may query one or more databases stored in HSS server250to retrieve a user location, and may then route a SIP request to its assigned S-CSCF. The S-CSCF may be a central node of the signaling plane, and may perform session control. The S-CSCF may handle SIP registrations, may inspect signaling messages, may decide to which application server(s) a SIP message may be forwarded, may provide routing services, etc. A P-CSCF may function as a proxy server for user device110, where SIP signaling traffic to and from user device110may go through the P-CSCF. The P-CSCF may validate and then forward requests from user device110, and may process and forward responses to user device110.

CSCF server260may also include a policy and charging rules function (PCRF) that may perform operations that enforce EPS policies associated with a communication session with user device110. For example, the PCRF may dynamically provide real-time bandwidth allocations and/or controls (e.g., associated with a particular APN) associated with particular applications, network accesses, and/or services provided to user device110during a communication session. The PCRF may also dynamically provide a real-time signal flow policy to adapt to changing conditions within the network and/or to manage traffic flow during the communication session.

CSCF server260may receive a query from SGW230to identify via which eNB220and/or other SGW230a call is to be routed to a destination user device110. CSCF server260may use information associated with the destination user device110on which to base the determination (e.g., from a look up table) via which eNB220and/or other SGW230the call is to be routed. Based on the determination, CSCF server260may send information, associated with the identified eNB220and/or the other SGW230, to SGW230.

PGW270may include one or more devices, or other types of computation or communication devices, that gather, process, search, store, and/or provide information in a manner described herein. In one example implementation, PGW270may include a device that aggregates traffic received from one or more SGWs230and may send the aggregated traffic to network280and/or IMS core125(e.g., CSCF server260). In another example implementation, PGW270may receive traffic from network280and may send the traffic to user device110via SGW230and/or eNB220. PGW270may perform policing operations on traffic destined for the EPS.

Network280may include one or more wired and/or wireless networks. For example, network280may include a cellular network, a public land mobile network (PLMN), a second generation (2G) network, a third generation (3G) network, a fourth generation (4G) network, a fifth generation (5G) network, and/or another network. Additionally, or alternatively, network280may include a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., the Public Switched Telephone Network (PSTN)), an ad hoc network, an intranet, the Internet, a fiber optic-based network (e.g., a FiOS network), and/or a combination of these or other types of networks. Network280may transport traffic to and/or from the EPS (e.g., via PGW270) and/or another network. In another implementation, network280may include network130.

FIG. 3is a diagram of example components of a device300. Device300may correspond to user device110, MME240, HSS server250, and/or CSCF server260. Alternatively, or additionally, each of user device110, MME240, HSS server250, and/or CSCF server260may include one or more devices300.

Device300may include a bus310, a processor320, a memory330, an input component340, an output component350, and a communication interface360. AlthoughFIG. 3shows example components of device300, in other implementations, device300may contain fewer components, additional components, different components, or differently arranged components than depicted inFIG. 3. For example, device300may include one or more switch fabrics instead of, or in addition to, bus310. Additionally, or alternatively, one or more components of device300may perform one or more tasks described as being performed by one or more other components of device300.

Bus310may include a path that permits communication among the components of device300. Processor320may include a processor, microprocessor, or processing logic that may interpret and execute instructions. Memory330may include any type of dynamic storage device that may store information and instructions, for execution by processor320, and/or any type of non-volatile storage device that may store information for use by processor320.

Input component340may include a mechanism that permits a user to input information to device300, such as a keyboard, a keypad, a button, a switch, etc. Output component350may include a mechanism that outputs information to the user, such as a display, a speaker, one or more light emitting diodes (LEDs), etc. Communication interface360may include any transceiver-like mechanism that enables device300to communicate with other devices and/or systems via wireless communications (e.g., radio frequency, infrared, and/or visual optics, etc.), wired communications (e.g., conductive wire, twisted pair cable, coaxial cable, transmission line, fiber optic cable, and/or waveguide, etc.), or a combination of wireless and wired communications. For example, communication interface360may include mechanisms for communicating with another device or system via a network, such as network180. In one alternative implementation, communication interface360may be a logical component that includes input and output ports, input and output systems, and/or other input and output components that facilitate the transmission of data to other devices.

FIG. 4is a diagram of example components of a node400that may correspond to one or more of SGW230and/or PGW270. Alternatively, or additionally SGW230and/or PGW270may include one or more nodes400. Node400may include a data transfer device, such as a gateway, a switch, a firewall, a network interface card (NIC), a router, a hub, a bridge, a proxy server, an optical add-drop multiplexer (OADM), or some other type of device that processes and/or transfers traffic.

Node400may receive network traffic, as one or more packet stream(s), from physical links, may process the packet stream(s) to determine destination information, and may transmit the packet stream(s) out on links in accordance with the destination information. Node400may include a control unit410, a set of input/output (I/O) units420-1, . . . ,420-P (where P≧1) (hereinafter referred to collectively as “I/O units420” and individually as “I/O unit420”), and a switching unit430.

Control unit410may include a processor, a microprocessor, or some form of hardware logic (e.g., an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA)). In one example implementation, control unit410may include an Ethernet controller and/or another controller device. Control unit410may perform high level management functions for node400. For example, control unit410may maintain the connectivity and manage information/data necessary for transferring packets by node400. Control unit410may create routing tables based on network topology information, create forwarding tables based on the routing tables, and communicate the forwarding tables to I/O units420. I/O units420may use the forwarding tables to perform route lookup for incoming packets and perform the forwarding functions for node400. Control unit410may also perform other general control and monitoring functions for node400.

I/O unit420may include a component or collection of components to receive incoming packets, to process incoming and/or outgoing packets, and/or to transmit outgoing packets. For example, I/O unit420may include I/O ports, a packet forwarding component (PFC), an Ethernet interface and/or another type of interface, a central processing unit (CPU), and/or a memory device. I/O unit420may include a collection of ports that receive or transmit packets via physical links. I/O unit420may also include packet processing component(s), switch interface component(s), Internet processor component(s), memory device(s), etc.

Each of I/O units420may be connected to control unit410and switching unit430. I/O units420may receive packet data on physical links connected to a network (e.g., first carrier network120). Each physical link could be one of many types of transport media, such as an optical fiber or an Ethernet cable.

I/O units420may process incoming packet data prior to transmitting the data to another I/O unit420or the network. I/O units420may perform route lookups for the data using the forwarding table from control unit410to determine destination information. If the destination indicates that the data should be sent out on a physical link, connected to I/O unit420, then I/O unit420may prepare the data for transmission by, for example, adding any necessary headers and/or modifying existing headers, and/or transmitting the data from the port associated with the physical link. If the destination indicates that the data should be sent to another I/O unit420via switching unit430, then I/O unit420may, if necessary, prepare the data for transmission to the other I/O unit420and/or may send the data to the other I/O unit420via switching unit430.

Switching unit430may include one or multiple switching planes to facilitate communication among I/O units420and/or control unit410. In one implementation, each of the switching planes may include a single-stage switch or a multi-stage switch of crossbar elements. Switching unit430may also, or alternatively, include processors, memories, and/or paths that permit communication among I/O units420and/or control unit410.

As will be described in detail below, device400may perform certain operations associated with call processing and/or data transfer. Device400may perform these operations in response to control unit410and/or one or more I/O units420executing software instructions contained in a computer-readable medium, such as a memory associated with control unit410and/or the one or more I/O units420, respectively. The software instructions may be read into the memory from another computer-readable medium or from another device. The software instructions contained in the memory may cause control unit410and/or the one or more I/O units420to perform processes described herein. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.

Although,FIG. 4illustrates example components of node400, in other implementations, node400may include additional components, fewer components, different components, or differently arranged components than those illustrated inFIG. 4and described herein. Additionally, or alternatively, one or more operations described as being performed by a particular component of node400may be performed by one or more other components, in addition to or instead of the particular component of node400.

FIG. 5is a flowchart of an example process500for connecting user device110via multiple carriers. In one example implementation, user device110may perform process500. Alternatively, process500may be performed by one or more other devices, alone or in combination with user device110.

As shown inFIG. 5, process500may include powering up user device110(block510). For example, a user of user device110may become a subscriber of a cellular phone service of a first carrier. The first carrier may provide the cellular phone service via first carrier network120in a first geographic area (e.g., the USA) that is under a coverage area of first carrier network120. The first carrier may issue a first local phone number (e.g., (202) 867-5309) that the user may use for user device110. The first geographic area may include an area (e.g., Washington, D.C.) corresponding to the area code (e.g., 202) of the first local phone number.

The user of user device110may also become a subscriber of a cellular phone service of a second carrier. The second carrier may provide the cellular phone service via second carrier network140in a second geographic area (e.g., Israel) that is under a coverage area of second carrier network140. The second carrier may issue a second local phone number (e.g., 02.1234567) that the user may use for user device110. The second geographic area may include an area (e.g., Jerusalem) corresponding to the area code (e.g., 02) of the second local phone number. After subscribing to cellular phone services of the first carrier and the second carrier, the user may utilize user device110to place and/or receive calls associated with the first local phone number or the second local phone number, while user device110is located within the first geographic area or the second geographic area, without roaming. To do so, the user may, first, press a power button of user device110. In response, user device110may power up and activate/execute an IMS client (application) of user device110.

An IP address may be received (block520). For example, before or after user device110powers up, the user may enter, with user device110, the coverage area of first carrier network120. User device110may connect to first carrier network120via eNB220of the LTE (FIG. 2). SGW230and PGW270may receive information about (e.g., including authentication information associated with) user device110. In response, PGW270may determine an IP address for user device110. PGW270may transmit the IP address, via SGW230and eNB220, to user device110. User device110may receive the IP address.

A connection may be established with an IMS core of a first carrier network (block530). For example, user device110may retrieve a secret credential stored in a SIM card of user device110. User device110(e.g., the IMS client of user device110) may generate authentication information by utilizing an IMS Authentication and Key Agreement (IMS AKA) protocol. The authentication information may include a temporary identifier (ID) based on the first local phone number, the secret credential, etc. User device110may transmit the authentication information in a message (e.g., a Common Industrial Protocol (CIP) message) to first carrier network120. SGW230and/or others components of first carrier network120may transmit the message with the authentication information, associated with user device110, to a P-CSCF of CSCF server260. The P-CSCF of CSCF server260may rely on the IMS AKA protocol to authenticate user device110based on the authentication information. Once the P-CSCF of CSCF server260authenticates user device110, the P-CSCF of CSCF server260may generate and/or transmit a confirmation message to user device110. As a result, mutual authentication may occur between user device110and IMS core125of first carrier network120when user device110receives the confirmation message. After the mutual authentication, connection150may be established between user device110and IMS core125of first carrier network120.

A connection may be established with an IMS core of a second carrier network (block540). For example, after connection150is established between user device110and IMS core125of the first carrier, the IMS client of user device110may establish a connection with IMS core145of the second carrier. To do so, user device110may generate/transmit a message (e.g., a CIP message) that includes the authentication information. The message may also include the IP address assigned to user device110. In one implementation, when a direct connection exists between the first carrier and the second carrier, user device110may transmit the message, via first carrier network120, to second carrier network140. In another implementation, user device110may transmit the message, via first carrier network120and network130, to second carrier network140.

A P-CSCF of second carrier network140may receive the message and authenticate user device110, by using the IMS AKA protocol, based on the authentication information in the message. In another implementation, the P-CSCF (and/or another component) of second carrier network140may request an authentication vector from first carrier network120. The P-CSCF of second carrier network140may use the authentication vector to authenticate user device110based on the authentication information. Once the P-CSCF of second carrier network140authenticates user device110, the P-CSCF of second carrier network140may generate and/or transmit a second confirmation message to user device110. As a result, mutual authentication may occur between user device110and IMS core145of second carrier network140when user device110receives the second confirmation message.

After the mutual authentication, connection160or connection170is established between user device110and IMS core145of second carrier network140. In other implementations, user device110may establish connections with one or more other carrier networks after connecting to second carrier network140in a manner similar to establishing connection160/170with second carrier network140. User device110may use each one of the other carrier networks, in addition to first carrier network120and second carrier network140, to place/receive calls.

A notification about a call may be received (block550). For example, after user device110establishes connection150with IMS core120of first carrier network120, user device110may perform/announce a presence Announcing a presence may include announcing to IMS core125that user device110, which is accessible by dialing the first local phone number (e.g., (202) 867-5309), is available to receive calls from other user devices. Assume that a second user device may dial the first local phone number (e.g., (202) 867-5309). An I-CSCF, associated with a carrier network (e.g., first carrier network120) to which the second user device is connected, may transmit a request to a S-CSCF of CSCF server260of first carrier network120. The S-CSCF of CSCF server260of first carrier network120may transmit a notification about the call, from the second user device, to user device110. User device110may receive the notification about the call.

Process500may further include determining whether a call is occurring via another carrier (block560). For example, user device110may differentiate between calls received via IMS core125of first carrier network120and calls received via IMS core145of second carrier network140. As a result, user device110may determine whether a different user device dialed the first local phone number or the second local phone number to place a call (that is occurring) to user device110. User device110may determine, after receiving the notification about the call from the second user device via IMS core125, whether user device110is engaged in an ongoing call that was received via IMS core145of second carrier network140.

If user device110determines that a call is occurring via the other carrier (e.g., via second carrier network140) (block560-YES), a busy message may be transmitted (block570). For example, prior to receiving the notification about the call from the second user device, assume that: a third user device dialed the second local phone number issued by second carrier network140; user device110received a notification, from IMS core145, about the call from the third user device; and the user of user device110accepted the call from the third user device. If the call with the third user device is occurring (e.g., voice data is being exchanged between user device110and the third user device) when user device receives the notification about the call from the second user device, then user device110may determine that a call is occurring via second network carrier140. Accordingly, in response to the notification about the call from the second user device, user device110may transmit a busy message (e.g., a busy signal) to IMS core125. IMS core125may forward the busy message to the second user device. The busy message may notify the second user device that the user of user device110is on another call and cannot/will not accept the call from the second user device.

If user device110determines that a call is not occuring via the other carrier (block560-NO), information about the call may be displayed (block575), instructions may be received (block580), and the instructions may be implemented (block590). For example, user device110may determine that user device110is not on an ongoing via second carrier network140. In response, user device110may determine information about the call, from the second user device, based on the notification. The information may include a phone number of the second user device and that the second user device dialed the first local phone number to reach user device110. User device110may display the information on a display of user device110.

User device110may further allow the user to provide instructions regarding how to proceed with the call. The user may accept the call, reject the call, send the call to voicemail, etc. If the user accepts the call, user device110may transmit a message to IMS125that user device110accepts the call from the second user device. In one implementation, IMS core125may establish a connection (e.g., a voice path) for the call, to exchange voice data by utilizing the IP address assigned to user device110and an IP address associated with the second user device. In another implementation, IMS core125may establish the connection between IMS core125and another non-IMS network (e.g., PSTN).

FIG. 6is a flow diagram600of an example of connecting a user device via multiple carriers. For example, a user of user device110may live and work in Washington, D.C., USA and Mexico City, Mexico. The user may want to, simultaneously, allow people from Washington, D.C. to call user device110via a first local phone number associated with Washington, D.C. and allow people from Mexico City to call user device110via a second local phone number associated with Mexico City. To do so, the user may subscribe to a cellular phone service provided by an American carrier and to a cellular phone service provided by a Mexican carrier (e.g., the American carrier and the Mexican carrier may include entities of the same and/or different companies that are or are not partners). The American carrier may provide the cellular phone service in the USA via first cellular network120. After the user subscribes, the American carrier may issue the first local phone number (e.g., (202) 867-5309) for user device110. The Mexican carrier may provide the cellular phone service in Mexican via second cellular network140. After the user subscribes, the Mexican carrier may issue the second local phone number (e.g., (55) 5555 1111) for user device110.

For example, while in Washington, D.C., user device110may, first, establish a connection with first cellular network120of the American carrier. As shown inFIG. 6, user device110may transmit authentication information602to IMS core125of first carrier network120. A CSCF component of IMS core125may authenticate user device (e.g., that user device110may connect to IMS core125) based on authentication information602. The CSCF component or a different CSCF component of IMS core125may transmit a confirmation message604to confirm the authentication of user device110. Thereafter, connection150may form between user device110and IMS core125.

After establishing connection150with first carrier network120and while still located in Washington, D.C., user device110may transmit authentication information606to IMS core145in order to establish a connection160/170with second carrier network140. Authentication information606may include the same information as authentication information602. User device110may also transmit an IP address, assigned to user device110by first carrier network120, together with authentication information606. A CSCF component of IMS core145may authenticate user device110(e.g., that user device110may connect to IMS core145) based on authentication information606. The CSCF component and/or a different CSCF component of IMS core145may transmit a confirmation message608to confirm the authentication of user device110(e.g., that user device110may connect to IMS core145of second carrier network140). A connection160/170may be established between user device110and IMS core145.

After user device110establishes connection150with IMS core125of first carrier network120and connection160/170with IMS core145of second carrier network140, user device110may allow the user to place a call via IMS core125of first carrier network120, by using the first local phone number, or via IMS core145of second carrier network140, by using the second local phone number. For example, the user may decide to call an American user of a second user device655. The user may utilize (e.g., a keypad or touch screen of) user device110to select the first local phone number (e.g., (202) 867-5309) in order to make the call via the first carrier network. In another implementation, the user may use user device110to select the American carrier associated with first carrier network120. After the selection, the user may dial an outgoing phone number (e.g., (202) 994-2000) to call second user device655. In response, user device110may make a call610to second user device655.

A CSCF component of IMS core125may receive call610to second user device655and/or information about call610to second user device655. The CSCF component of IMS core125may determine how to (e.g., via what IMS core) to reach second user device655. The CSCF component of IMS core125may transmit a call notification612about call610to second user device655. The CSCF component of IMS core125may transmit call notification612via another CSCF component of IMS core125or a different IMS network associated with second user device655. When second user device655receives call notification612, call notification612may include an invitation to accept call610from user device110.

The American user of second user device655may accept call610. In response, second user device655may transmit an acceptance message614to user device110via IMS core125and/or the other IMS core associated with second user device655. As a result, a voice path616may be established, via IMS core125, between user device110and second user device655. The user of user device110and the American user of second user device655may talk to each other (i.e., exchange voice data) via voice path616.

While the user of user device110talks to the American user of second user device655, a Canadian user of third user device695, who works with the user of user device110in Mexico, may decide to call the user of user device110while the Canadian user is in Canada. To do so, the Canadian may dial the second local phone number (e.g., (55) 5555 1111), to reach user device110, by using third user device695. In response, third user device695may place a call618to user device110. A CSCF component of an IMS network, of a carrier network in Canada, associated with third user device695(herein, a “Canadian CSCF component”) may receive call618to user device110and/or information about call618. The Canadian CSCF component may determine that the second local phone number (e.g., (55) 5555 1111) is of a user device (i.e., user device110) that is associated with IMS core145. The Canadian CSCF component may transmit a request for user device110to accept call618. A CSCF component of IMS core145may receive the request and transmit a call notification620to user device110for call618.

User device110may receive call notification620. In response, user device110may determine that user device110is currently being used for an ongoing call via IMS core125(via voice path616) of first carrier network120. In response, user device110may transmit a busy message622to third user device695via IMS core145and the IMS network associated with third user device695. Busy message622may indicate that the user of user device110may not receive call618from the Canadian user at the time of call618. The Canadian user may decide to leave a voice mail or to call user device110at a later point in time. In another implementation, the user of user device110may interrupt voice path616(e.g., place call610with second user device655on hold) and accept call618to user device110from the Canadian user.

While a series of blocks has been described with regards toFIG. 5, the order of the blocks may be modified in other implementations. Further, non-dependent blocks may be performed in parallel.