forked from Mirrors/freeswitch
FS-5853 #resolve #comment mod_rayo now reports record completion cause
This commit is contained in:
parent
26af9c3d67
commit
bea7d8ec71
@ -134,11 +134,17 @@ static void on_call_record_stop_event(switch_event_t *event)
|
|||||||
struct rayo_component *component = RAYO_COMPONENT_LOCATE(file_path);
|
struct rayo_component *component = RAYO_COMPONENT_LOCATE(file_path);
|
||||||
|
|
||||||
if (component) {
|
if (component) {
|
||||||
|
const char *completion_cause = switch_event_get_header(event, "Record-Completion-Cause");
|
||||||
|
completion_cause = zstr(completion_cause) ? "" : completion_cause;
|
||||||
RECORD_COMPONENT(component)->duration_ms += (switch_micro_time_now() - RECORD_COMPONENT(component)->start_time) / 1000;
|
RECORD_COMPONENT(component)->duration_ms += (switch_micro_time_now() - RECORD_COMPONENT(component)->start_time) / 1000;
|
||||||
if (RECORD_COMPONENT(component)->stop) {
|
if (RECORD_COMPONENT(component)->stop) {
|
||||||
complete_record(component, COMPONENT_COMPLETE_STOP);
|
complete_record(component, COMPONENT_COMPLETE_STOP);
|
||||||
|
} else if (!strcmp(completion_cause, "no-input-timeout")) {
|
||||||
|
complete_record(component, RECORD_COMPLETE_INITIAL_TIMEOUT);
|
||||||
|
} else if (!strcmp(completion_cause, "success-maxtime")) {
|
||||||
|
complete_record(component, RECORD_COMPLETE_MAX_DURATION);
|
||||||
} else {
|
} else {
|
||||||
/* TODO assume final timeout, for now */
|
/* assume final timeout */
|
||||||
complete_record(component, RECORD_COMPLETE_FINAL_TIMEOUT);
|
complete_record(component, RECORD_COMPLETE_FINAL_TIMEOUT);
|
||||||
}
|
}
|
||||||
RAYO_RELEASE(component);
|
RAYO_RELEASE(component);
|
||||||
|
Loading…
Reference in New Issue
Block a user