On some networks that support the legacy SVLTE (Simultaneous Voice and
LTE) instead of the more modern VoLTE (Voice Over LTE) standard, or even
CSFB (Circuit-switched fallback) this number would (presumably) be even
higher.
</p>
<p>
XMPP server and client implementers, bearing this increased power usage in
mind, and knowing a bit about how LTE radios work, can optimize their
traffic to minimize network usage.
For the downlink, LTE user equipment
(UE) utilizes Orthogonal Frequency Division Multiplexing (OFDM), which is
somewhat inefficient
<note>A Close Examination of Performance and Power Characteristics of 4G LTE Networks <<linkurl='http://www.cs.columbia.edu/~lierranli/coms6998-7Spring2014/papers/rrclte_mobisys2012.pdf'>http://www.cs.columbia.edu/~lierranli/coms6998-7Spring2014/papers/rrclte_mobisys2012.pdf</link>></note>.
On the uplink side a different technology, Single-carrier frequency
division multiple access (SC-FDMA) is used, which is slightly more
efficient than traditional (non linearly-precoded) OFDM, slightly
offsetting the fact that broadcasting requires more power than receiving.
LTE UE also implements a Discontinuous reception (DRX) mode in which the
hardware can sleep until it is woken by a paging message or is needed to
perform some task.
LTE radios have two power modes: RRC_CONNECTED and RRC_IDLE.
DRX is supported in both of these power modes.
By attempting to minimize the time which the LTE UE state machine spends
in the RCC_CONNECTED state, and maximize the time it stays in the DRX
state (for RCC_CONNECTED and RRC_IDLE), we can increase battery life
without degrading the XMPP experience.
To do so, the following rules should be observed:
</p>
<section2topic='Transmit no data'>
<p>
Whenever possible, data that is not strictly needed should not be
transmitted (by the server or client).
Supporting &xep0352; is recommended.
Most importantly, XMPP pings should be kept as far apart as possible and
only used when necessary.
Server operators are encouraged to set high ping timeouts, and client
implementors are advised to only send pings when absolutely necessary to
prevent the server from closing the socket.
</p>
</section2>
<section2topic='Transmit as much data as you can at once'>
<p>
If one is on 3G, transmitting a small amount of data will cause the
radio to enter FACH mode which is significantly cheaper than its high
power mode.
On LTE radios, however, transmitting small amounts of data is vastly
more expensive per bit due to the higher tail-times (the time it takes
for the radio to change state).
On LTE radios, one should transmit as much data from the client as
possible when the radio is already on (eg. by placing messages in a send
queue and executing the queue as a batch when the radio is on).
Similarly, when data is being received from the server, the mobile
devices radio is already in a high power state and therefore any data
that needs to be sent to the server should be transmitted.
</p>
<p>
These rules also apply to server operators: If the server receives data,
the phones radio is already on therefore you should send any pending
data.
Batching data to be sent and sending it all at once will help reduce
power consumption.
</p>
</section2>
</section1>
<section1topic='Notable Extensions'anchor='xeps'>
<p>
This section provides pointers to other documents which may be of interest
to those developing mobile clients, or considering implementing