Skip to content

Commit dfead3f

Browse files
add status_code to progress event (#374)
Co-authored-by: Takekatsu Hiramura <takekatsu.hiramura@gmail.com>
1 parent c9f7e16 commit dfead3f

File tree

3 files changed

+16
-6
lines changed

3 files changed

+16
-6
lines changed

lib/src/event_manager/call_events.dart

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,12 @@ class EventCallEnded extends CallEvent {
3131
}
3232

3333
class EventCallProgress extends CallEvent {
34-
EventCallProgress({RTCSession? session, this.originator, this.response})
34+
EventCallProgress(
35+
{RTCSession? session, this.originator, this.response, this.cause})
3536
: super(session);
3637
String? originator;
3738
dynamic response;
39+
ErrorCause? cause;
3840
}
3941

4042
class EventCallConfirmed extends CallEvent {

lib/src/rtc_session.dart

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2361,7 +2361,7 @@ class RTCSession extends EventManager implements Owner {
23612361
}
23622362

23632363
_status = C.STATUS_1XX_RECEIVED;
2364-
_progress('remote', response);
2364+
_progress('remote', response, int.parse(status_code));
23652365

23662366
if (response.body == null || response.body!.isEmpty) {
23672367
return;
@@ -2916,11 +2916,17 @@ class RTCSession extends EventManager implements Owner {
29162916
emit(EventCallConnecting(session: this, request: request));
29172917
}
29182918

2919-
void _progress(String originator, dynamic response) {
2919+
void _progress(String originator, dynamic response, [int? status_code]) {
29202920
logger.d('session progress');
29212921
logger.d('emit "progress"');
2922+
2923+
ErrorCause errorCause = ErrorCause(status_code: status_code);
2924+
29222925
emit(EventCallProgress(
2923-
session: this, originator: originator, response: response));
2926+
session: this,
2927+
originator: originator,
2928+
response: response,
2929+
cause: errorCause));
29242930
}
29252931

29262932
void _accepted(String originator, [dynamic message]) {

lib/src/sip_ua_helper.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,8 +228,10 @@ class SIPUAHelper extends EventManager {
228228
});
229229
handlers.on(EventCallProgress(), (EventCallProgress event) {
230230
logger.d('call is in progress');
231-
_notifyCallStateListeners(event,
232-
CallState(CallStateEnum.PROGRESS, originator: event.originator));
231+
_notifyCallStateListeners(
232+
event,
233+
CallState(CallStateEnum.PROGRESS,
234+
originator: event.originator, cause: event.cause));
233235
});
234236
handlers.on(EventCallFailed(), (EventCallFailed event) {
235237
logger.d('call failed with cause: ${event.cause}');

0 commit comments

Comments
 (0)