sinch-rtc
Version:
RTC JavaScript/Web SDK
229 lines (228 loc) • 6.16 kB
TypeScript
/**
* Ocra (REST API for Sinch RTC clients)
* REST API for Sinch RTC clients.
*
* The version of the OpenAPI document: 0.11.0
* Contact: rtc@sinch.com
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { AudioRouteEventLog, CallQuality, CallReportInstance, CallResult, ClientError, ClientEvents, ConnectionInfo, Destination, Direction, Domain, IceCandidate, Origin, PushProvider } from './';
/**
*
* @export
* @interface CallReport
*/
export interface CallReport {
/**
*
* @type {string}
* @memberof CallReport
*/
callId: string;
/**
* Client-generated unique id
* @type {string}
* @memberof CallReport
*/
reportId: string;
/**
*
* @type {CallReportInstance}
* @memberof CallReport
*/
instance: CallReportInstance;
/**
*
* @type {string}
* @memberof CallReport
*/
userId: string;
/**
*
* @type {Origin}
* @memberof CallReport
*/
from?: Origin;
/**
*
* @type {Destination}
* @memberof CallReport
*/
to?: Destination;
/**
*
* @type {Direction}
* @memberof CallReport
*/
direction: Direction;
/**
*
* @type {{ [key: string]: string; }}
* @memberof CallReport
*/
publicCallHeaders?: {
[key: string]: string;
};
/**
*
* @type {Date}
* @memberof CallReport
*/
startTime: Date;
/**
* Total call duration (in seconds with millisecond precision).
* @type {number}
* @memberof CallReport
*/
duration: number;
/**
* Call setup duration (in seconds with millisecond precision).
* @type {number}
* @memberof CallReport
*/
setupDuration?: number;
/**
* Call notifying duration (in seconds with millisecond precision). This duration is measured as the time interval beetween when the caller issued the push notification request to OCRA (`progressing` event) and the first MXP ACK from the callee is received (`ringing` event). This duration value for the callee is always 0.
* @type {number}
* @memberof CallReport
*/
notifyingDuration?: number;
/**
* Call ringing duration (in seconds with millisecond precision). For the caller this is measured as the timespan between the `ringing` and the `answered` events. For the callee this is measured as the timespan between the start time of the call and the `answered` event. If the call was never answered (e.g. was denied by the callee) the end timestamp for this measurement is the termination time.
* @type {number}
* @memberof CallReport
*/
ringingDuration?: number;
/**
* Call connecting duration (in seconds with millisecond precision). This duration is measured as the time interval beetween the `answered` and the `established` event.
* @type {number}
* @memberof CallReport
*/
connectingDuration?: number;
/**
* Call accepting duration (in seconds with millisecond precision). This duration is measured only for the callee as the time interval beetween issuing MXP JOIN and receiving MXP JOINED.
* @type {number}
* @memberof CallReport
*/
acceptingDuration?: number;
/**
*
* @type {CallResult}
* @memberof CallReport
*/
result: CallResult;
/**
*
* @type {Domain}
* @memberof CallReport
*/
localDomain: Domain;
/**
*
* @type {Domain}
* @memberof CallReport
*/
remoteDomain?: Domain;
/**
*
* @type {boolean}
* @memberof CallReport
*/
requestedAudio: boolean;
/**
*
* @type {boolean}
* @memberof CallReport
*/
requestedVideo: boolean;
/**
*
* @type {boolean}
* @memberof CallReport
*/
hadAudioStreams: boolean;
/**
*
* @type {boolean}
* @memberof CallReport
*/
hadVideoStreams: boolean;
/**
* Flag indicating if given incoming call (for outgoing call the value is always false) has transitioned from `pending` state i.e. the MXP INVITE was fetched and the connection was established on signalling level.
* @type {boolean}
* @memberof CallReport
*/
isPendingCall?: boolean;
/**
*
* @type {IceCandidate}
* @memberof CallReport
*/
primaryRemoteIceCandidate?: IceCandidate;
/**
*
* @type {IceCandidate}
* @memberof CallReport
*/
primaryLocalIceCandidate?: IceCandidate;
/**
*
* @type {Array<ConnectionInfo>}
* @memberof CallReport
*/
connectionInfo?: Array<ConnectionInfo>;
/**
*
* @type {Array<ClientError>}
* @memberof CallReport
*/
errors?: Array<ClientError>;
/**
* Indicates whether client sent call report to a particular PoP, e.g. to URL provided in CallInitiationResponse.apiBaseUrl.
* @type {boolean}
* @memberof CallReport
*/
pinnedPop?: boolean;
/**
* Raw data from WebRTC Statistics API (https://www.w3.org/TR/webrtc-stats/)
* @type {object}
* @memberof CallReport
*/
rtcStatisticsReport: object;
/**
* Detailed MXP event log (used for troubleshooting)
* @type {object}
* @memberof CallReport
*/
mxpEventLog?: object;
/**
*
* @type {AudioRouteEventLog}
* @memberof CallReport
*/
audioRouteEventLog?: AudioRouteEventLog;
/**
*
* @type {CallQuality}
* @memberof CallReport
*/
callQuality?: CallQuality;
/**
*
* @type {PushProvider}
* @memberof CallReport
*/
pushProvider?: PushProvider;
/**
*
* @type {ClientEvents}
* @memberof CallReport
*/
clientEvents?: ClientEvents;
}
export declare function CallReportFromJSON(json: any): CallReport;
export declare function CallReportFromJSONTyped(json: any, ignoreDiscriminator: boolean): CallReport;
export declare function CallReportToJSON(value?: CallReport | null): any;