GSM network search algorithm

3 thoughts on “GSM network search algorithm

  1. Hello,


    Is anyone able to give me some details about the GSM network search algorithm?  I know that a terminal will oscillate between +CREG state 0 and 2 (not searching / searching) when attempting to register with the network.  If the terminal is in an area of poor coverage, the duration of the "not searching" phase (+CREG 0) increases indicating a search backoff.  Can someone tell me what the timings are for this back-off procedure?


    Also, would the terminal ever stop searching after a period of x mins?  For example, if the terminal is searching but out-of-range for a number of hours/days, then brought in to an area of good coverage, would the terminal register automatically?  Is it a better idea to initiate a search (+COPS 0) every hour perhaps?


    All thoughts/theories gratefully received! 

    1. Hello Philip,


      the GSM network search algorithm is not so trivial. Basically you could have automatic or manual PLMN selection mode 


      The automatic and manual mode are network selection
      modes working according to ETSI normative. 
      Maybe is useful give a look at this  ( for Release 99 compliant products) :

      Figure 2a:
      PLMN Selection State diagram (automatic mode)





      Figure 2b: PLMN Selection State diagram
      (manual mode)

      in one of the  specification 3GPP TS  23.122 version  (e.g.
      downloadable from 

      Shortly : the field strength criteria is
      not  the first criteria that the mobile uses to select the net (read
      also at section and


  2. Luca,
    Many thanks for the information.  I’ve looked at the document and I see what you mean – it is far from trivial!  I think I’ve found the key sentence that answers my question about needing to re-start a search.
    Section Automatic Network Selection Mode Procedure – If registration cannot be achieved because no PLMNs are available and allowable, the MS indicates "no service" to the user, waits until a new PLMN is available and allowable and then repeats the procedure.
    Therefore, I think I am correct in saying that once I trigger an automatic search (+COPS 0) on a Telit modem, it will always register once an available and allowable PLMN appears regardless of how long the PLMN takes to become available.  There is no need for me to regularly send +COPS 0 to re-trigger a search.