SWITCH_CAUSE_INVALID_GATEWAY = 608,
SWITCH_CAUSE_GATEWAY_DOWN = 609,
SWITCH_CAUSE_INVALID_URL = 610,
- SWITCH_CAUSE_INVALID_PROFILE = 611
+ SWITCH_CAUSE_INVALID_PROFILE = 611,
+ SWITCH_CAUSE_NO_PICKUP = 612
} switch_call_cause_t;
typedef enum {
end:
if (rval == 0 && pickups) {
- *force_reason = SWITCH_CAUSE_NO_ANSWER;
for (i = 0; i < len; i++) {
if (originate_status[i].peer_channel && switch_channel_test_flag(originate_status[i].peer_channel, CF_PICKUP) &&
switch_channel_up(originate_status[i].peer_channel)) {
- switch_channel_hangup(originate_status[i].peer_channel, SWITCH_CAUSE_NO_ANSWER);
+ switch_channel_hangup(originate_status[i].peer_channel, SWITCH_CAUSE_NO_PICKUP);
}
}
}
}
switch_mutex_unlock(handles[i].mutex);
- if (getcause && *cause != handles[i].cause && handles[i].cause != SWITCH_CAUSE_LOSE_RACE) {
+ if (getcause && *cause != handles[i].cause && handles[i].cause != SWITCH_CAUSE_LOSE_RACE && handles[i].cause != SWITCH_CAUSE_NO_PICKUP) {
*cause = handles[i].cause;
getcause++;
}