TECHNICAL FIELD

The present disclosure relates generally to the field of IP communication. More particularly, it relates to inbound IP traffic to a device subject to network address translation (NAT).

BACKGROUND

A communication device—also denoted herein as first communication device, device, or user equipment (UE)—configured for Internet protocol (IP) connections can, for various reasons, be assigned a local IP address that is not globally addressable. Such a situation can for example be explained as the device being subject to a Network Address Translation (NAT).

Whenever an outgoing connection is established from the device, a new entry is created in a NAT table that enables translation between the local IP address domain and the global IP address domain.

One example scenario with NAT is an ordinary user router maintaining one single public IP address, wherein devices “behind” the router are typically assigned local IP address (i.e. 192.168.0.X). The router maintains a table comprising active IP connections and translates the local and global IP address domains for all outgoing traffic.

Use of NAT increases the number of devices that may be accommodated based on the global IP address domain. However, inbound IP traffic to devices subject to a NAT is blocked since their local IP address is not generally known.

To open up a NAT for inbound traffic, a static port forwarding rule may typically be configured in the router handling the NAT, redirecting inbound traffic to the appropriate local IP address. However, in many situations, it is not feasible to use static port forwarding. One such situation is peer-to-peer connection for an online game, wherein setting up a static port forwarding rule would allow only one client to play the game. Hence, other techniques are needed for NAT traversal of inbound traffic.

One approach comprises the device connecting to an external server and maintaining this connection through “keep alive” messaging. Such messaging typically comprises a “heartbeat” signal transmitted periodically, e.g. a packet sent with some periodicity. Another device that also maintains a connection to the same server can then communicate with device through the server.

Another approach termed hole punching may be used if two devices “behind” two different NAT:s are to communicate directly with each other. In this approach, each of the devices connects to an external server and sends its internal IP/port-tuple to the server. The server stores this information together with the corresponding global IP/port-tuple. The connections between the devices and the server are maintained through keep alive messaging. When one device wants to connect to the other device, the server sends a connection request to the other device with the global IP/port-tuple of the first device, and the first device receives the global IP/port-tuple of the other device from the server. Then, the two devices will simultaneously start a connection towards each other, which will look like outgoing traffic for the respective NAT:s.

Other approaches for NAT traversal relying on some kind of heartbeat signal to keep an outbound connection alive also exist. Using keep alive signaling is power consuming and results in signaling overhead, which is unnecessarily capacity consuming. The former may be particularly severe for resource constrained devices and/or devices with low power consumption restrictions.

Yet another approach to enable inbound IP traffic for a device subject to NAT comprises sending an SMS message to the device. This pages the device, and the content of the SMS message may, for example, instruct the device to contact a server. However, using SMS messaging only to wake up a device for inbound traffic may be unnecessarily capacity consuming. Furthermore, SMS messaging may not be available in all situations, e.g. in relation to Internet-of-Things (IoT) devices, New Radio, etc.

US 2009/0210519 A1 discloses approaches to facilitate remote wake-up wherein a separate IP address can be used by a target host. However, the solution disclosed therein requires set-up of a particular IP address for wake-up. Therefore, two attach procedures (one for the default IP address and one for the wake-up IP address) need to be performed which is unnecessary complex. Furthermore, the problem of inbound traffic to a device subject to NAT is still not adequately addressed. In addition, the solution of US 2009/0210519 A1 consumes twice as many local IP addresses as conventionally. This may lead to one or more of: potential address exhaustion, more cumbersome collision avoidance, and more cumbersome re-use handling.

Therefore, there is a need for alternative approaches for enabling inbound IP traffic to a communication device subject to NAT.

SUMMARY

It should be emphasized that the term “comprises/comprising” when used in this specification is taken to specify the presence of stated features, integers, steps, or components, but does not preclude the presence or addition of one or more other features, integers, steps, components, or groups thereof. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise.

It is an object of some embodiments to solve or mitigate, alleviate, or eliminate at least some of the above or other disadvantages.

According to a first aspect, this is achieved by a method of a first communication device, for enabling inbound Internet protocol (IP) traffic to the first communication device, wherein the first communication device has an operator specific device identity related to an operator network and is subject to network address translation (NAT).

The method comprises transmitting, to a server associated with the operator network and with a wake-up server identity, a wake-up registration request.

The method also comprises acquiring, from the server, a wake-up identifier comprising at least a first part and a second part.

Generally throughout this disclosure, the first part is indicative of a wake-up device identity associated with the operator specific device identity of the first communication device and the second part is indicative of the wake-up server identity.

Also generally throughout this disclosure, the wake-up identifier is for triggering a wake-up action of the first communication device, and wherein the wake-up action is for enabling the inbound IP traffic.

In some embodiments, the method further comprises adding a third part to the wake-up identifier, wherein the third part is indicative of an application identity of an application of the first communication device.

In some embodiments, the method further comprises distributing the wake-up identifier to one or more second communication devices unable, due to the NAT, to establish an inbound IP connection to the first communication device.

In some embodiments, the method further comprises receiving a wake-up message based on the operator specific device identity, and performing the wake-up action in response to receiving the wake-up message.

In some embodiments, the wake-up action comprises establishing an outbound IP connection from the first communication device to the operator network to enable the inbound IP traffic.

A second aspect is a method of a server, for enabling inbound Internet protocol (IP) traffic to a first communication device that is subject to network address translation (NAT), wherein the server is associated with an operator network and with a wake-up server identity and is configured to maintain an association between an operator specific device identity of the first communication device and a wake-up device identity.

The method comprises receiving, from the first communication device, a wake-up registration request.

The method also comprises providing, to the first communication device, a wake-up identifier comprising at least a first part and a second part.

The method also comprises storing the association between the operator specific device identity of the first communication device and the wake-up device identity.

In some embodiments, the method further comprises receiving, from a second communication device, a wake-up request message indicative of the wake-up device identity, wherein the second communication device is unable, due to the NAT, to establish an inbound IP connection to the first communication device, determining the operator specific device identity corresponding to the wake-up device identity according to the association, and causing transmission of a wake-up message to the first communication device having the determined operator specific device identity for triggering performance of the wake-up action by the first communication device.

In some embodiments, the wake-up request message is further indicative of an application identity of an application of the first communication device, and the method further comprises causing indication of the application identity in the wake-up message.

In some embodiments, causing the transmission of the wake-up message comprises triggering transmission of the wake-up message from the operator network.

A third aspect is a method of a second communication device, for enabling inbound Internet protocol (IP) traffic to a first communication device that has an operator specific device identity related to an operator network and that is subject to network address translation (NAT), wherein the second communication device is unable, due to the NAT, to establish an inbound IP connection to the first communication device.

The method comprises receiving a wake-up identifier from the first communication device, wherein the wake-up identifier comprises at least a first part and a second part.

In some embodiments, the method further comprises determining, responsive to the second part of the wake-up identifier, a server associated with the operator network and with a wake-up server identity, and transmitting, to the determined server, a wake-up request message indicative of the wake-up device identity of the first communication device.

In some embodiments, the wake-up identifier further comprises a third part indicative of an application identity of an application of the first communication device and the wake-up request message is further indicative of the application identity.

A fourth aspect is a computer program product comprising a non-transitory computer readable medium, having thereon a computer program comprising program instructions. The computer program is loadable into a data processing unit and configured to cause execution of the method according to one or more of the first, second and third aspects when the computer program is run by the data processing unit.

A fifth aspect is an arrangement for a first communication device, for enabling inbound Internet protocol (IP) traffic to the first communication device, wherein the first communication device has an operator specific device identity related to an operator network and is subject to network address translation (NAT).

The arrangement comprises controlling circuitry configured to cause transmission, to a server associated with the operator network and with a wake-up server identity, of a wake-up registration request, and acquisition, from the server, of a wake-up identifier comprising at least a first part and a second part.

In some embodiments, the controlling circuitry is further configured to cause addition of a third part to the wake-up identifier, wherein the third part is indicative of an application identity of an application of the first communication device.

In some embodiments, the controlling circuitry is further configured to cause distribution of the wake-up identifier to one or more second communication devices unable, due to the NAT, to establish an inbound IP connection to the first communication device.

In some embodiments, the controlling circuitry is further configured to cause reception of a wake-up message based on the operator specific device identity, and performance of the wake-up action in response to receiving the wake-up message.

In some embodiments, performance of the wake-up action comprises establishment of an outbound IP connection from the first communication device to the operator network to enable the inbound IP traffic.

A sixth aspect is a wake-up client comprising the arrangement of the fifth aspect.

A seventh aspect is a communication device comprising one or more of the arrangement of the fifth aspect and the wake-up client of the sixth aspect.

An eighth aspect is an arrangement for a server, for enabling inbound Internet protocol (IP) traffic to a first communication device that is subject to network address translation (NAT), wherein the server is associated with an operator network and with a wake-up server identity and is configured to maintain an association between an operator specific device identity of the first communication device and a wake-up device identity.

The arrangement comprises controlling circuitry configured to cause reception, from the first communication device, of a wake-up registration request, provision, to the first communication device, of a wake-up identifier comprising at least a first part and a second part, and storing of the association between the operator specific device identity of the first communication device and the wake-up device identity.

In some embodiments, the controlling circuitry is further configured to cause reception, from a second communication device, of a wake-up request message indicative of the wake-up device identity, wherein the second communication device is unable, due to the NAT, to establish an inbound IP connection to the first communication device, determination of the operator specific device identity corresponding to the wake-up device identity according to the association, and transmission of a wake-up message to the first communication device having the determined operator specific device identity for triggering performance of the wake-up action by the first communication device.

In some embodiments, the wake-up request message is further indicative of an application identity of an application of the first communication device, and the controlling circuitry is further configured to cause indication of the application identity in the wake-up message.

In some embodiments, the controlling circuitry is configured to cause the transmission of the wake-up message by triggering transmission of the wake-up message from the operator network.

A ninth aspect is a server node comprising the arrangement of the eighth aspect.

A tenth aspect is an arrangement for a second communication device, for enabling inbound Internet protocol (IP) traffic to a first communication device that has an operator specific device identity related to an operator network and that is subject to network address translation (NAT), wherein the second communication device is unable, due to the NAT, to establish an inbound IP connection to the first communication device.

The arrangement comprises controlling circuitry configured to cause reception of a wake-up identifier from the first communication device, wherein the wake-up identifier comprises at least a first part and a second part.

In some embodiments, the controlling circuitry is further configured to cause determination, responsive to the second part of the wake-up identifier, of a server associated with the operator network and with a wake-up server identity, and transmission, to the determined server, of a wake-up request message indicative of the wake-up device identity of the first communication device.

In some embodiments, the wake-up identifier further comprises a third part indicative of an application identity of an application of the first communication device and the wake-up request message is further indicative of the application identity.

An eleventh aspect is a communication device comprising the arrangement of the tenth aspect.

In some embodiments, any of the above aspects may additionally have features identical with or corresponding to any of the various features as explained above for any of the other aspects.

An advantage of some embodiments is that inbound IP traffic to a communication device subject to NAT is enabled.

Another advantage of some embodiments is that one or more of the overhead signaling, the capacity consumption and the power consumption is reduced compared to prior art approaches for NAT traversal.

