From 308e31596de11364f81a17f927dc39f0b7b1fb4c Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Sat, 12 Jun 2010 16:37:35 +0000 Subject: [PATCH] Catching more unsollicited registration events --- src/gsm.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/gsm.c b/src/gsm.c index f55043d..c072f13 100644 --- a/src/gsm.c +++ b/src/gsm.c @@ -1891,12 +1891,26 @@ static int _gsm_trigger_creg(GSM * gsm, char const * result) &gsm->event.registration.area, &gsm->event.registration.cell)) == 4) ret = _gsm_event_send(gsm, GSM_EVENT_TYPE_REGISTRATION); + else if(res == 3) + { + gsm->event.registration.stat = gsm->event.registration.n; + gsm->event.registration.n = 2; + ret = _gsm_event_send(gsm, GSM_EVENT_TYPE_REGISTRATION); + } else if(res == 2) { gsm->event.registration.area = 0; gsm->event.registration.cell = 0; ret = _gsm_event_send(gsm, GSM_EVENT_TYPE_REGISTRATION); } + else if(res == 1) + { + gsm->event.registration.stat = gsm->event.registration.n; + gsm->event.registration.n = 2; + gsm->event.registration.area = 0; + gsm->event.registration.cell = 0; + ret = _gsm_event_send(gsm, GSM_EVENT_TYPE_REGISTRATION); + } else return 1; switch(gsm->event.registration.stat)