From: Zvonimir Bužanić Date: Wed, 26 Oct 2022 17:53:01 +0000 (+0200) Subject: [core] Fix wrong reason code for group call X-Git-Tag: v1.10.9^2~28 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=92caab3647f7006f67af8bf835e84dbb94e735b9;p=thirdparty%2Ffreeswitch.git [core] Fix wrong reason code for group call --- diff --git a/src/switch_ivr_originate.c b/src/switch_ivr_originate.c index c4f4bfa2b2..63a0911929 100644 --- a/src/switch_ivr_originate.c +++ b/src/switch_ivr_originate.c @@ -1795,7 +1795,14 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_enterprise_originate(switch_core_sess if (cancel_cause && *cancel_cause > 0) { handles[i].cancel_cause = *cancel_cause; } else { - handles[i].cancel_cause = SWITCH_CAUSE_LOSE_RACE; + /* Was this call taken by another destination? */ + if (hp != NULL && hp->cause == SWITCH_CAUSE_SUCCESS) { + /* Yes, the race was lost */ + handles[i].cancel_cause = SWITCH_CAUSE_LOSE_RACE; + } else { + /* No, something else happened, probably Originator Cancel */ + handles[i].cancel_cause = SWITCH_CAUSE_ORIGINATOR_CANCEL; + } } }