Ticket #288 (closed enhancement: fixed)

Opened 3 years ago

Last modified 3 years ago

retry after registration denied?

Reported by: lindi Owned by: mickey
Priority: major Milestone:
Component: framework/ogsmd Version:
Keywords: Cc:

Description

Today I noticed that the phone had dropped from GSM network. registration status was "denied" and debug output of frameworkd reveals that +CREG=0,3 was returned and after that trying to call out fails.

2008.12.03 18:01:29 ogsmd    DEBUG    <MiscChannel via /dev/pts/5>: sending 44 bytes: 'AT+CREG?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?\r\n'

2008.12.03 18:01:29 ogsmd    DEBUG    <MiscChannel via /dev/pts/5>: got 14 bytes from: '\r\n+CREG: 0,3\r\n'

2008.12.03 18:01:29 ogsmd    DEBUG    <MiscChannel via /dev/pts/5>: got 30 bytes from: '\r\n+COPS: 0\r\n\r\n+COPS: 0\r\n\r\nOK\r\n'

2008.12.03 18:01:29 ogsmd    DEBUG    <MiscChannel via /dev/pts/5>: COMPLETED 'AT+CREG?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?' => ['+CREG: 0,3', '+COPS: 0', '+COPS: 0', 'OK']

2008.12.03 18:01:29 ogsmd    DEBUG    |...|...|...|...|...|...|...|...|...|...|...> NetworkGetStatus.genResponseFromChannel: ENTER ('AT+CREG?;+COPS=3,0;+COPS?;+COPS=3,2;+COPS?', ['+CREG: 0,3', '+COPS: 0', '+COPS: 0', 'OK']),{}

2008.12.03 18:01:29 ogsmd.objects INFO     org.freesmartphone.GSM.Network.Status: {'cid': '9FBF', 'strength': 84, 'mode': 'automatic', 'lac': '23A0', 'registration': 'denied'}

2008.12.03 18:01:29 ogsmd    DEBUG    |...|...|...|...|...|...|...|...|...|...|...> NetworkGetStatus.genResponseFromChannel: LEAVE

2008.12.03 18:01:29 ogsmd    DEBUG    |...|...|...|...|...|...|...|...|...> NetworkGetStatus.__del__: ENTER (),{}

2008.12.03 18:01:29 ogsmd    DEBUG    |...|...|...|...|...|...|...|...|...> NetworkGetStatus.__del__: LEAVE

2008.12.03 18:01:29 ogsmd    DEBUG    <MiscChannel via /dev/pts/5> queue is: deque([])

2008.12.03 18:01:29 ogsmd    DEBUG    <MiscChannel via /dev/pts/5>: nothing in request queue

2008.12.03 18:03:05 ogsmd    DEBUG    <UnsolicitedResponseChannel via /dev/pts/6>: got 20 bytes from: '\r\n%CSQ:  15, 99, 1\r\n'

2008.12.03 18:03:05 ogsmd.objects INFO     org.freesmartphone.GSM.Network.SignalStrength: 79

2008.12.03 18:03:16 ogsmd    DEBUG    <UnsolicitedResponseChannel via /dev/pts/6>: got 20 bytes from: '\r\n%CSQ:  19, 99, 2\r\n'

2008.12.03 18:03:16 ogsmd.objects INFO     org.freesmartphone.GSM.Network.SignalStrength: 86

2008.12.03 18:06:20 ogsmd    DEBUG    <UnsolicitedResponseChannel via /dev/pts/6>: got 20 bytes from: '\r\n%CSQ:  16, 99, 1\r\n'

2008.12.03 18:06:20 ogsmd.objects INFO     org.freesmartphone.GSM.Network.SignalStrength: 81

2008.12.03 18:06:32 ogsmd    DEBUG    <UnsolicitedResponseChannel via /dev/pts/6>: got 20 bytes from: '\r\n%CSQ:  19, 99, 2\r\n'

2008.12.03 18:06:32 ogsmd.objects INFO     org.freesmartphone.GSM.Network.SignalStrength: 86

2008.12.03 18:06:39 ogsmd    DEBUG    <UnsolicitedResponseChannel via /dev/pts/6>: got 20 bytes from: '\r\n%CSQ:  16, 99, 1\r\n'

2008.12.03 18:06:39 ogsmd.objects INFO     org.freesmartphone.GSM.Network.SignalStrength: 81

2008.12.03 18:06:43 ogsmd    DEBUG    <UnsolicitedResponseChannel via /dev/pts/6>: got 20 bytes from: '\r\n%CSQ:  19, 99, 2\r\n'

2008.12.03 18:06:43 ogsmd.objects INFO     org.freesmartphone.GSM.Network.SignalStrength: 86

2008.12.03 18:16:27 ogsmd    DEBUG    <UnsolicitedResponseChannel via /dev/pts/6>: got 20 bytes from: '\r\n%CSQ:  16, 99, 1\r\n'

2008.12.03 18:16:27 ogsmd.objects INFO     org.freesmartphone.GSM.Network.SignalStrength: 81

2008.12.03 18:16:30 ogsmd    DEBUG    |...|...|...|...|...|...|...|...|...> CallInitiate.__init__: ENTER (<framework.subsystems.ogsmd.objects.Device at /org/freesmartphone/GSM/Device at 0x2531f0>, <function <lambda> at 0x888e70>, <function <lambda> at 0x888bb0>),{'calltype': dbus.String(u'voice'), 'number': dbus.String(u'0800770215')}

2008.12.03 18:16:30 ogsmd    DEBUG    |...|...|...|...|...|...|...|...|...> CallInitiate.__init__: LEAVE

2008.12.03 18:16:30 ogsmd    WARNING  <CallChannel via /dev/pts/7>: Got unicode input. Trying to convert to plain string...

2008.12.03 18:16:31 ogsmd    DEBUG    |...|...|...|...|...|...|...|...> CallInitiate.__del__: ENTER (),{}

2008.12.03 18:16:31 ogsmd    DEBUG    |...|...|...|...|...|...|...|...> CallInitiate.__del__: LEAVE

2008.12.03 18:16:31 ogsmd    DEBUG    <CallChannel via /dev/pts/7> queue is: deque([('ATD0800770215;\r\n', <bound method CallHandler.responseFromChannel of <framework.subsystems.ogsmd.modems.ti_calypso.mediator.CallHandler object at 0x846070>>, <bound method CallHandler.errorFromChannel of <framework.subsystems.ogsmd.modems.ti_calypso.mediator.CallHandler object at 0x846070>>, 3600)])

2008.12.03 18:16:31 ogsmd    DEBUG    <CallChannel via /dev/pts/7>: sending 16 bytes: 'ATD0800770215;\r\n'

2008.12.03 18:16:31 ogsmd    DEBUG    <CallChannel via /dev/pts/7>: got 6 bytes from: '\r\nOK\r\n'

2008.12.03 18:16:31 ogsmd    DEBUG    <CallChannel via /dev/pts/7>: COMPLETED 'ATD0800770215;' => ['OK']

AT RESPONSE FROM CHANNEL= ['OK']

2008.12.03 18:16:31 ogsmd    DEBUG    <UnsolicitedResponseChannel via /dev/pts/6>: got 110 bytes from: '\r\n%CPI: 1,9,0,0,0,0,"0800770215",129,"0074006500730074",,0\r\n\r\n%CPI: 1,8,0,0,,,,,,,0\r\n\r\n%CPI: 1,7,0,0,,,,,,,0\r\n'

2008.12.03 18:16:31 ogsmd.objects INFO     org.freesmartphone.GSM.Call.CallStatus: 1 outgoing {'status': 'outgoing', 'peer': '0800770215', 'line': 0, 'direction': 'outgoing'}

2008.12.03 18:16:31 ogsmd.objects INFO     org.freesmartphone.GSM.Call.CallStatus: 1 release {'status': 'release'}

2008.12.03 18:16:31 ogsmd    DEBUG    <CallChannel via /dev/pts/7>: got 14 bytes from: '\r\nNO CARRIER\r\n'

2008.12.03 18:16:31 ogsmd    WARNING  CALLCHANNEL: UNHANDLED INTERMEDIATE: NO CARRIER

2008.12.03 18:16:31 ogsmd    DEBUG    <CallChannel via /dev/pts/7> queue is: deque([])

2008.12.03 18:16:31 ogsmd    DEBUG    <CallChannel via /dev/pts/7>: nothing in request queue

2008.12.03 18:16:31 oeventsd INFO     Receive CallStatus, status = outgoing

2008.12.03 18:16:31 oeventsd INFO     Receive CallStatus, status = outgoing

2008.12.03 18:16:31 oeventsd INFO     Set Audio Scenario gsmhandset

2008.12.03 18:16:31 oeventsd INFO     call dbus signal /org/freesmartphone/Device/Audio SetScenario(('gsmhandset',))

2008.12.03 18:16:31 oeventsd INFO     Receive CallStatus, status = release

2008.12.03 18:16:31 oeventsd INFO     Receive CallStatus, status = release

2008.12.03 18:16:31 oeventsd INFO     Revert Audio Scenario to stereoout

2008.12.03 18:16:31 oeventsd INFO     call dbus signal /org/freesmartphone/Device/Audio SetScenario(('stereoout',))

2008.12.03 18:16:32 odeviced.audio INFO     sound scenario gsmhandset user

2008.12.03 18:16:33 odeviced.audio INFO     sound scenario stereoout user

2008.12.03 18:16:33 oeventsd INFO     signal SetScenario responded : ()

2008.12.03 18:16:33 oeventsd INFO     signal SetScenario responded : ()

2008.12.03 18:16:38 ogsmd    DEBUG    <UnsolicitedResponseChannel via /dev/pts/6>: got 20 bytes from: '\r\n%CSQ:  18, 99, 2\r\n'

The question here is: Who should try to re-register to network? The user? The phone UI automatically? Or fso-frameworkd automatically?

I am using fso-frameworkd 0.8.4.3-20081130-1 on debian.

Change History

comment:1 Changed 3 years ago by mickey

/org/framework/GSM/Device will not implement policy. It's the phone UIs task to react properly to a deregistration event. At max I could imagine /org/framework/GSM/Server to contain something highlevel such as "SetRegistrationPolicy?(always,automatic". I need to get more input on that though.

comment:2 Changed 3 years ago by lindi

Thanks, I'll implement this in my minimalistic UI then (although it feels bit odd to do it there too).

comment:3 Changed 3 years ago by mickey

Please test [8909b59fda7d868d23036e689a61f259f1c6884f], I would think it's a step towards what you want. If so, please close this bug.

comment:4 Changed 3 years ago by mickey

  • Status changed from new to closed
  • Resolution set to fixed

I think it does what you want.

Note: See TracTickets for help on using tickets.