diff --git a/src/switch_core_state_machine.c b/src/switch_core_state_machine.c index a97fedb9f0..05ba48101c 100644 --- a/src/switch_core_state_machine.c +++ b/src/switch_core_state_machine.c @@ -432,6 +432,7 @@ SWITCH_DECLARE(void) switch_core_session_run(switch_core_session_t *session) const char *hook_var; switch_core_session_t *use_session = NULL; switch_call_cause_t cause = switch_channel_get_cause(session->channel); + switch_call_cause_t cause_q850 = switch_channel_get_cause_q850(session->channel); switch_event_t *event; switch_channel_set_hangup_time(session->channel); @@ -441,6 +442,7 @@ SWITCH_DECLARE(void) switch_core_session_run(switch_core_session_t *session) switch_channel_stop_broadcast(session->channel); switch_channel_set_variable(session->channel, "hangup_cause", switch_channel_cause2str(cause)); + switch_channel_set_variable_printf(session->channel, "hangup_cause_q850", "%d", cause_q850); switch_channel_presence(session->channel, "unavailable", switch_channel_cause2str(cause), NULL); switch_channel_set_timestamps(session->channel);