Loop/Data Collection: Difference between revisions

Jump to navigation Jump to search
Line 175: Line 175:


The index file is a JSON object with the following fields:
The index file is a JSON object with the following fields:
* ''id'': UUID of report (must match ZIP file name)
* '''id''': UUID of report (must match ZIP filename)
* ''timestamp'': Date of report submission, in seconds past the epoch
* '''timestamp''': Date of report submission, in seconds past the epoch
* ''phase'': Indicates what state the call was in when the user indicated an issue.
* '''phase''': Indicates what state the call was in when the user indicated an issue.
** '''noalert''' - The user proactively indicated that a call should have arrived, but did not.
** ''noalert'' - The user proactively indicated that a call should have arrived, but did not.
** '''setup''' - The call was in the process of being set up when the user indicated an issue.
** ''setup'' - The call was in the process of being set up when the user indicated an issue.
** '''midcall''' - The call was set up and in progress when the user indicated an issue.
** ''midcall'' - The call was set up and in progress when the user indicated an issue.
** '''postcall''' - The call was already finished when the user indicated an issue. The call may have never set up successfully.
** ''postcall'' - The call was already finished when the user indicated an issue. The call may have never set up successfully.
* ''setupState'': call setup state; see [[MVP#Call_Setup_States]] '''(only if phase == setup)'''
* '''setupState''': call setup state; see [[MVP#Call_Setup_States]] ''(only if phase == setup)''
** '''init'''
** ''init''
** '''alerting'''
** ''alerting''
** '''connecting'''
** ''connecting''
** '''half-connected'''
** ''half-connected''
* ''type'': Indicates whether the user was receiving or placing a call:
* '''type''': Indicates whether the user was receiving or placing a call:
** '''incoming'''
** ''incoming''
** '''outgoing'''
** ''outgoing''
* ''client'': Indicates which client is generating the report. Currently, only the builtin client has the ability to collect the necessary information; this field is included to allow for future expansion if the interfaces to collect this informaiton are made available in the future.
* '''client''': Indicates which client is generating the report. Currently, only the builtin client has the ability to collect the necessary information; this field is included to allow for future expansion if the interfaces to collect this informaiton are made available in the future.
** '''builtin'''
** ''builtin''
* ''channel'': Browser channel (nightly, aurora, beta, release, esr)
* '''channel''': Browser channel (nightly, aurora, beta, release, esr)
* ''version'': Browser version
* '''version''': Browser version
* ''callId'': (for correlating to the other side, if they also made a report)
* '''callId''': (for correlating to the other side, if they also made a report)
* ''apiKey'': Copied from the field provided during call setup.
* '''apiKey''': Copied from the field provided during call setup.
* ''sessionId'': Copied from the field provided during call setup (to correlate to TB servers)
* '''sessionId''': Copied from the field provided during call setup (to correlate to TB servers)
* ''sessionToken'': Copied from the field provided during call setup (to correlate to TB servers)
* '''sessionToken''': Copied from the field provided during call setup (to correlate to TB servers)
* ''simplePushUrl'': Copied from the field provided during user registration
* '''simplePushUrl''': Copied from the field provided during user registration
* ''loopServer'': Value of the "loop.server" pref
* '''loopServer''': Value of the "loop.server" pref
* ''callerId'': Firefox accounts ID or MSISDN of calling party, if direct
* '''callerId''': Firefox accounts ID or MSISDN of calling party, if direct
* ''calleeId'': Firefox accounts ID or MSISDN of called party
* '''calleeId''': Firefox accounts ID or MSISDN of called party
* ''callUrl'': URL that initiated the call, if applicable
* '''callUrl''': URL that initiated the call, if applicable
* ''dndMode'': Indication of user "availability" state; one of the following values:
* '''dndMode''': Indication of user "availability" state; one of the following values:
** '''available'''
** ''available''
** '''contactsOnly'''
** ''contactsOnly''
** '''doNotDisturb'''
** ''doNotDisturb''
** '''disconnected'''
** ''disconnected''
* ''termination'': If the call has been during setup, the "reason" code from the call progress signaling (see [[MVP#Termination_Reasons]]).
* '''termination''': If the call has been during setup, the "reason" code from the call progress signaling (see [[MVP#Termination_Reasons]]).
* ''reason'': User-selected value, one of the following:
* '''reason''': User-selected value, one of the following:
** '''quality'''
** ''quality''
** '''failure'''
/** ''failure''
* ''comment'': User-provided description of problem.
* '''comment''': User-provided description of problem.
* ''okToContact'': Set to "true" only if user opts-in to option to let developer contact them about this report
* '''okToContact''': Set to "true" only if user opts-in to option to let developer contact them about this report
* ''contactEmail'': If "okToContact" is true, preferred email address for contact
* '''contactEmail''': If "okToContact" is true, preferred email address for contact


These objects will look roughly like the following:
These objects will look roughly like the following:
Confirmed users
632

edits

Navigation menu