GPRS attach retry mechanism | Telit Cinterion IoT Developer Community
September 4, 2018 - 10:05am, 10150 views
This is more a generic question not directly related to a specific gemalto modem:
In our application sometimes it happens that the network provider detaches the modem from GPRS service while the modem is still registered to the GSM network. We assume that this happens due to GPRS network conquestion but this isn't fully proofen yet.
The reject cause code we receive with AT+CEER is value 7, "GPRS services not allowed".
We observed that in this situation the modem does not invoke any retry or reconnection mechanism by itself, it seems that this should be performed by the application software instead.
My question is: How should a recommended retry mechanism for GPRS attach look like?
What retry intervals should be used to be quickly online again but to avoid high network loads, and should the retry intervals be constant or should they increase in time?
There is hard to say something because you don't say what module do you have and what can I do to try to reproduce your issue.
Network provider can detaches your modem from GPRS.
In some modules in SCFG configuration you can set "GPRS/AutoAttach" to "enabled".
You can activate PDP context by AT+CGACT command or attach to Packet Domain using AT+CGATT.
Its an AHS3-W.
I don't think that there is an issue with the modem, the network seems to reject the GPRS service due to network conquestion or overload. It could be that GPRS works again in the next second but it could also be that the network rejects the GPRS attempts for many minutes depending on the load. I assume you can reproduce that by performing a GPRS detach initiated by the network/tester and initiate a cause code "GPRS services not allowed".
The question is how should the application behave in this situation, can you recommend a retry procedure?
I could do a GPRS attach every second until the attach was successful but I assume this would create too much network activities and the GSM provider maight bar the modem.
How does AutoAttach works inside the modem?
How often, what intervals, does the modem automatically retry to reattach after the network has rejected the GPRS service?
AutoAttach works as it is described in AT Command Spec:
"GPRS with AutoAttach Setting can be used to control whether or not the UE will perform a GPRS attach immediately after power-up and registering to the network. If the setting is changed to "enabled" and the UE is not attached yet, it will not initiate an attach immediately but after the next restart and registration to the network. “disabled“(D) GPRS auto attach is disabled “enabled“ GPRS auto attach is enabled"
For possibility with AT+CEER 7 value "GPRS services not allowed" you can deregister from network and register again. Simply: AT+COPS=2 ; AT+COPS=0 ; AT+CGATT=1.
There is possibilty that your network provider can detached you form GPRS if you don't use GPRS connection (e.g sending data to server). If you observe that behaviour of detaches from GPRS please contact with your network provider.
So AutoAttach only works on modem startup and will not help here.
Do I really need to deregister and reregister using COPS to retry the GPRS session? What if I just do a GPRS attach using AT+CGATT=1, should it also work or does the modem or the network somehow remember the previous reject situation and CGATT=1 would be without use?
Having GPRS connection still alive it depends on your network provider so you can try to contact them and they maybe will give you some more information.
In the other way there is solution to have still opened GPRS connection. You can open TCP connection with some server. The GPRS connection will keeps opened. You can still try AT+CGATT=1 but if you won't use that connection to e.g communicate with server the network provider can detached your module.
Thanks, but our module looses the GPRS connection although we have an active TCP connection. This GPRS detach is initiated by the network, we guess due to networkw overload. Discussions with the network operator are ongoing.
What I want to know from you is whether the gsm module somehow "remembers" that it was rejected by the network and if I try to reattach using AT+CGATT=1 would just do nothing because the module has somehow blacklisted the provider.
So the question is: If the network does a GPRS detach would AT+CGATT=1 perform a GPRS attach procedure on the network or do I need to deregister/register to the network first(or even perform a CFUN reset) before I can attach to GPRS service again?
I found out that your network provide can detached your GPRS connection due to network overload. If you still have gsm connection you can try to close and reopen TCP connection. If it won't works, the idea is to deregister/register your module. Simply AT+COPS=2 ; AT+COPS=0. In that way your network provider should give you a way to connect to server. This is very hard issue to try to reproduce.
I don't think so it will help when you loose your connection and then writing a AT+CGATT=1.
You say that I should "try" to close/reopen TCP, and you "don't think" that it will help to use AT+CGATT=1 but you as the modem vendor should exactly know whether the modem itself blacklists the operator after a GPRS rejection, shouldn't you?
I don't talk how the network behaves, I just want to know whether the GSM module requires some special procedure before it wil retry a GPRS attach.
If a mobile is not allowed to register to a network then it keeps the PLMN inside an internal list to prevent to try registering again to that network.
Is a similar mechanism implemented in your GSM module in case the network has rejected the GPRS session?
If you don't know then could you please contact your R&D department?
When should the mobile start searching for another network at weak signal?
The MS should search for a network at lack (or loss) of coverage - i.e. if the received signal strength or quality is no longer sufficient to camp on the registered network. The state Loss of coverage is achieved, if in the current cell the path loss criterion (C1, GSM) or the criterion for a downlink signalling failure (GSM) are fulfilled or the cell selection criterion S is NOT fulfilled (UMTS) and a cell reselection is not possible - i.e. there is no suitable cell available in the registered network .
The corresponding places in the 3GPP standard documentation describing these conditions are the following:
3GPP TS 03.22. V8.7.0 (Release 99) or TS 43.022 (Release 4 and higher)
Chapter 4.5 ‘Cell selection process’ (describes for instance, when a cell reselection is necessary)
3GPP TS 05.08. V8.23.0 (Release 99) or TS 45.008 (Release 4 and higher)
Chapter 6.5 ‘Downlink signalling failure’
Chapter 6.6.2 ‘Path loss criteria and timings for cell reselection’
3GPP TS 25.304
Chapter 5.2 ‘Cell selection and reselection in idle ****’
3GPP TS 25.133
Chapter 4.2 ‘Cell Re-selection’
Resulting from these chapters, there might come up more detailed questions, which should be answered by these documents as well.
The algorithms and measurements are different between GSM and UMTS. But, independent of the radio access technology, in simple words, it could be summarised as follows:
The MS should start a new PLMN selection, if it was for almost about 10...15 seconds not able in the registered PLMN in state Idle (i.e. not during a call) even on the best available cell to receive the base station information with a sufficiently low bit error rate. This is the only criterion – there is no other one!
It does not matter, how many and which other PLMNs are available.
It does not matter, if other PLMN’s are better receivable (better-received signal strength and/or signal quality).
It does not matter, if the bad receiving conditions do noticeably affect the audio transmission quality of calls or connections.
It does not matter, if calls have dropped or failed during setup recently.
There is no criterion like these defined in the specs. Only the received signal strength or quality of the current (registered) network in IDLE **** is decisive. A new PLMN selection is the very last measure the MS should take, in order to regain availability and access to a network.
The conditions to reach the path loss criterion (GSM) or the cell selection criterion S (UMTS) can be controlled by the network side - mainly by setting the parameters RxLevAccessMin (GSM) or Qrxlevmin and Qqualmin (UMTS) appropriately. By means of these parameter, the network can command the MS like: "Do not use this cell, if you don’t receive it with minimum signal strength or quality of …" . Exactly this is the intended measure to avoid issues with bad connections and so this is up to the network. Nevertheless, these parameters are often not setup by the network providers with this in mind. Instead, they set these thresholds as low as possible in order to "capture" as many subscribers as possible in their own network, regardless of the service quality they are able to provide under these conditions.
To where should then the MS change?
This is described in standard document 3GPP TS 23.122, chapter 22.214.171.124 as the case "PLMN selection at recovery from lack of coverage". If once, the state lack of coverage is achieved and the MS has started searching for a PLMN, the PLMN to be selected with the highest priority is still the registered PLMN (RPLMN), i.e. the same PLMN that just was lost. Only if the RPLMN becomes undiscoverable, the MS should select a different PLMN. The only exception can be made for the HPLMN or an equivalent HPLMN (EHPLMN). These may be selected if available even if the MS has not yet completed searching for the RPLMN. If the RPLMN is unavailable the MS should select a different PLMN in the following priority order (simplified):
The HPLMN (home network) or the highest priority EHPLMN,
the PLMN/access technology combination in the User Controlled PLMN Selector with Access Technology data file in the SIM with the highest priority,
the PLMN/access technology combination in the Operator Controlled PLMN Selector with Access Technology data file in the SIM with the highest priority,
other PLMN with received high quality signal in random order,
other PLMN in order of decreasing signal quality.
Especially noteworthy is the "registered PLMN" being the choice with the highest priority. Because the PLMN search may take a while, it is possible, that the receiving conditions improve again, even more probably, if the mobile moves during this time. However, often these conditions do not last very long, and after a few seconds, the PLMN search has to be started anew. This way the duration of bad or non availability prolongs to the detriment of the user.
I am sorry, but all what you wrote regarding PLMN selection is not in question.
In my previous posting I just mentioned PLMN registration as an example where I know that a mobile stores the PLMN internally in a list when registration was rejected by the network to prevent the mobile to register again.
I think you didn't understand the main question:
The main question is, how does an application ***** to invoke a GPRS attach retry mechanism if GPRS attach was previously rejected by the network?
Again, if the network has rejected the GPRS connection, does the modem somehow "remember" or "blacklist" the network and so invoking a AT+CGATT=1 will not be executed by the modem or should the modem execute AT+CGATT=1 on the network in any case in this situation?
In your second post in this thread you mentioned to use AT+COPS=2 followed by AT+COPS=0 before executing AT+CGATT=1.
Why did you suggest this?
Will it do some unblocking for the GPRS attach?