When using GSM (GPRS, UMTS, LTE) cellular network modems, there are options to control Data Compression (e.g. V.42bis, V.44, MNP5).

When using "modern" USB-dongles or telephones in modem-mode, is this still applicable and changing those compression settings will have some effect, so that could care about that, or is this only applicable for "real" dial-up data connections like in the "old times" and one should not care for cellular data connections (since the baseband and cell phone tower/ network provider will negotiate the best for the current situation anyway)? I don't really know where the endpoints of this compression will be anyway, I just read about that compression and wonder. And Still remember that when dialing up over an ordinary telephone line many years ago, the pppd did also negotiate some compression with the other side.

Some excerpts from the documentation from Huawei (AT+CGDCONT-command) and Nokia (AT+DS-command, also is accepted by some Huawei-devices):

With Huawei-Devices, usually it is the the 5th and 6th parameter to the AT+CGDCONT-command:

AT+CGDCONT–Define PDP Context
See the AT+CGDCONT command described in 3GPP TS 27.007. The following description is for reference only. Observe the 3GPP specifications if the following description conflicts with the 3GPP specifications.
Command Syntax
AT+CGDCONT=<cid>[,<PDP_type>[,<APN>[,<PDP_addr>[,<d_comp>[,<h_comp>[,<IPv4AddrAlloc>[,<emergency indication>[,<PCSCF_discovery>[,<IM_CN_Signalling_Flag_Ind>]]]]]]]]]
<d_comp>: a numeric parameter that controls PDP data compression.
0: Off
1: On
2: V.42bis
3: V.44
<h_comp>: a numeric parameter that controls PDP header compression.
0: Off
1: On
2: RFC1144 (applicable for SNDCP only) 3: RFC2507
4: RFC3095

(Is this applicable at all if one then connects with AT+NDISDUP=1,1 and not by dialing *99#?)

On some Huawei-Devices, like the E160E, also AT+DS is supported for Data compression (I did not find Huawei-Documentation about that, though, so see below cited from the Nokia Documentation).

On some Nokia phones, the extra parameters to AT+CGDCONT are not supported, but AT+DS is supported:

+DS Data Compression
This command controls the V.42bis and MNP5 data compression functions. V.42bis can be used with transparent and non-transparent data services and MNP5 can be used only with transparent data service. The data service is selected with the command AT+CBST. (V.25ter section 6.6.1.)
AT+DS=[<dir>[,<neg>[,<P1>[,<P2>]]]] Set compression parameters.
0: no compression (V.42bis P0=0)
1: V.42bis transmit only or MNP5
2: V.42bis receive only or MNP5
3: V.42bis both directions or MNP5
[<neg> just controls what to do if compression does not get negotioated]
<P1>: maximum number of dictionary entries which should be negotiated, 512 to 2048
<P2>: maximum string length to be neto 32, de-fault 20 (V.42bis P2).

activexperts.com then also writes about the AT%C<n>-command:

AT%C3 - Data Compression: MNP5 and v.42bis
%Cn - "Data Compression" - This command selects the data compression.
- %C0 - Disable data compression
- %C1 - MNP5
- %C2 - v.42bis
- %C3 - MNP5 and v.42bis

  • 1
    Although I don't have a direct reference (thus a comment and not an answer), the protocols for data compression and error correction are specific to analog connections, and although they do not work in modern digital protocols, the use of them is maintained for application​ compatibility even though they have no function.
    – acejavelin
    Apr 4, 2017 at 17:33


You must log in to answer this question.

Browse other questions tagged .