pub fn is_error_reason(reason: &str) -> bool
Whether a call-closed reason indicates an error (not a normal close). Backend-neutral: shared by all backends that produce SIP reason strings.