Closed
Bug 936982
Opened 11 years ago
Closed 10 years ago
Hanging all calls inside conference call leaves additional "connected" status to last hangup call
Categories
(Firefox OS Graveyard :: RIL, defect)
Tracking
(tracking-b2g:backlog)
RESOLVED
WONTFIX
tracking-b2g | backlog |
People
(Reporter: rexboy, Assigned: aknow)
References
Details
Attachments
(2 files, 1 obsolete file)
STR
1. Establish two calls, A and B
2. Join A and B into conference call
3. call A.hangUp() and then B.hangUp() together
Expected Result:
State of B changes from connected-->disconnecting-->disconnected
Actual Result:
State of B changes from connected-->disconnecting-->connected-->disconnected
(And B.ongroupchange raised right before changing to the last disconnected)
Platform version: Unagi, 26.0a2 20131028004002
I'll pul ril log later.
Reporter | ||
Comment 1•11 years ago
|
||
Not sure what filter should I apply, so I copied all the log between making first call to hanging up all the calls. (Some gaia debug log also included)
Assignee | ||
Comment 2•11 years ago
|
||
Hsinyi,
Some analysis
Reason
======
11-11 12:03:41.701: I/Gecko(556): RIL Worker[0]: Received chrome message {"callIndex":2,"rilMessageToken":12,"rilMessageType":"hangUp"}
11-11 12:03:41.701: I/Gecko(556): RIL Worker[0]: New outgoing parcel of type 12
11-11 12:03:41.701: I/Gecko(556): RIL Worker[0]: Received chrome message {"callIndex":1,"rilMessageToken":13,"rilMessageType":"hangUp"}
11-11 12:03:41.701: I/Gecko(556): RIL Worker[0]: New outgoing parcel of type 12
We sent out two hangUp request to ril.
11-11 12:03:42.031: I/Gecko(556): RIL Worker[0]: Handling parcel as REQUEST_HANGUP
11-11 12:03:42.031: I/Gecko(556): RIL Worker[0]: New outgoing parcel of type 9
The first hangUp request is finish. Then we sent out the 'GET_CURRENT_CALLS' request.
Note that the request is sent out before we finish the hangUp procedure of 2nd call.
11-11 12:03:42.041: I/Gecko(556): RIL Worker[0]: Solicited response for request type 12, token 175, error 0
11-11 12:03:42.041: I/Gecko(556): RIL Worker[0]: Handling parcel as REQUEST_HANGUP
Finish 2nd hangUp.
11-11 12:03:42.061: I/Gecko(556): RIL Worker[0]: Handling parcel as REQUEST_GET_CURRENT_CALLS
11-11 12:03:42.071: I/Gecko(556): -*- RadioInterface[0]: Received message from worker: {"rilMessageType":"callStateChange","call":{"state":0,"callIndex":1,"toa":129,"isMpty":false,"isMT":false,"als":0,"isVoice":true,"isVoicePrivacy":false,"number":"117","numberPresentation":0,"name":"","namePresentation":0,"uusInfo":null,"isOutgoing":true,"isEmergency":false,"isConference":false,"started":1384142607492}}
The result contains 2nd call and the state is 'connected' because the call is not still connect when we send out the 'GET_CURRENT_CALL' request.
When telephony dom receives this update, it found that the state is different. It is set to 'disconnecting' before when hangUp API is called. Now a value of 'connected' is observed. So it fire a 'statechange' event with 'connected'.
Assignee | ||
Comment 3•11 years ago
|
||
The problem cannot simulate on emulator. I got the similar sequence of requests and responses. However the response of "GET_CURRENT_CALLS" contains nothing. So the two calls become disconnected at the same time.
Assignee | ||
Updated•11 years ago
|
Assignee: nobody → szchen
Assignee | ||
Comment 5•11 years ago
|
||
Assignee | ||
Updated•11 years ago
|
Attachment #8426082 -
Attachment is obsolete: true
Assignee | ||
Comment 6•11 years ago
|
||
Bug 1005816 could not solve this issue.
05-21 15:53:02.538: I/Gecko(108): RIL Worker: [0] [TeleQ] push REQUEST_HANGUP
05-21 15:53:02.548: I/Gecko(108): RIL Worker: [0] [TeleQ] execute REQUEST_HANGUP
05-21 15:53:02.548: I/Gecko(416): [aknow] call: 4302e040, state: disconnecting
05-21 15:53:02.548: I/Gecko(416): [aknow] call: 44e6e1d0, state: disconnecting
05-21 15:53:02.558: I/Gecko(108): RIL Worker: [0] [TeleQ] push REQUEST_HANGUP
05-21 15:53:02.568: I/Gecko(108): RIL Worker: [0] [TeleQ] execute REQUEST_HANGUP
05-21 15:53:02.838: I/Gecko(108): RIL Worker: [0] [TeleQ] push REQUEST_GET_CURRENT_CALLS
05-21 15:53:02.838: I/Gecko(108): RIL Worker: [0] [TeleQ] pop REQUEST_HANGUP
05-21 15:53:02.838: I/Gecko(108): RIL Worker: [0] [TeleQ] push REQUEST_GET_CURRENT_CALLS
05-21 15:53:02.838: I/Gecko(108): RIL Worker: [0] [TeleQ] pop REQUEST_HANGUP
Sent two hangup requests.
05-21 15:53:02.838: I/Gecko(108): RIL Worker: [0] [TeleQ] execute REQUEST_GET_CURRENT_CALLS
Sent getCurrentCall requests to ril.
05-21 15:53:02.848: I/Gecko(108): RIL Worker: [0] Handling parcel as UNSOLICITED_RESPONSE_CALL_STATE_CHANGED
Received 1st callstatechanged indicating the 1st call had been already hung-up. (however, 2nd call is not)
05-21 15:53:02.848: I/Gecko(108): RIL Worker: [0] [TeleQ] push REQUEST_GET_CURRENT_CALLS
05-21 15:53:02.858: I/Gecko(108): RIL Worker: [0] [TeleQ] execute REQUEST_GET_CURRENT_CALLS
05-21 15:53:02.868: I/Gecko(108): -*- RadioInterface[0]: Received message from worker: {"rilMessageType":"callStateChange","call":{"state":0,"callIndex":1,"toa":129,"isMpty":false,"isMT":false,"als":0,"isVoice":true,"isVoicePrivacy":false,"number":"0912532529","numberPresentation":0,"name":"","namePresentation":0,"uusInfo":null,"isOutgoing":true,"isEmergency":false,"isConference":false,"started":1400658758719,"hangUpLocal":true},"rilMessageClientId":0}
From call list, 2nd call is still alive but with a different Mpty value.
We report the callstatechange. That makes the state change from 'disconnecting' to 'connected.'
05-21 15:53:02.868: I/Gecko(108): RIL Worker: [0] [TeleQ] pop REQUEST_GET_CURRENT_CALLS
05-21 15:53:02.878: I/Gecko(416): [aknow] call: 44e6e1d0, state: connected
05-21 15:53:02.878: I/Gecko(108): RIL Worker: [0] [TeleQ] pop REQUEST_GET_CURRENT_CALLS
05-21 15:53:02.978: I/Gecko(108): [aknow] call: 43ef93c0, state: disconnected
05-21 15:53:02.998: I/Gecko(108): RIL Worker: [0] Handling parcel as UNSOLICITED_RESPONSE_CALL_STATE_CHANGED
Now, we received 2nd callstatechanged... Modem just completed the action for 2nd hangUp request.
05-21 15:53:02.998: I/Gecko(108): RIL Worker: [0] [TeleQ] push REQUEST_GET_CURRENT_CALLS
05-21 15:53:02.998: I/Gecko(108): RIL Worker: [0] [TeleQ] execute REQUEST_GET_CURRENT_CALLS
05-21 15:53:03.129: I/Gecko(108): RIL Worker: [0] [TeleQ] pop REQUEST_GET_CURRENT_CALLS
05-21 15:53:03.189: I/Gecko(108): [aknow] call: 46eff3c0, state: disconnected
05-21 15:53:03.239: I/Gecko(416): [aknow] call: 4302dfd0, state: disconnected
05-21 15:53:03.239: I/Gecko(416): [aknow] call: 4302e040, state: disconnected
05-21 15:53:03.369: I/Gecko(416): [aknow] call: 452ab2b0, state: disconnected
05-21 15:53:03.379: I/Gecko(416): [aknow] call: 44e6e1d0, state: disconnected
Assignee | ||
Comment 7•10 years ago
|
||
We have provided the method to hangup all calls in the conference (Bug 978639).
The scenario in this bug will not happen and it's not needed any more.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WONTFIX
Updated•10 years ago
|
blocking-b2g: backlog → ---
tracking-b2g:
--- → backlog
You need to log in
before you can comment on or make changes to this bug.
Description
•