CF_ZRTP_HASH,
CF_ZRTP_PASS,
CF_CHANNEL_SWAP,
+ CF_PICKUP,
/* WARNING: DO NOT ADD ANY FLAGS BELOW THIS LINE */
/* IF YOU ADD NEW ONES CHECK IF THEY SHOULD PERSIST OR ZERO THEM IN switch_core_session.c switch_core_session_request_xml() */
CF_FLAG_MAX
switch_channel_set_name(nchannel, name);
switch_channel_set_variable(nchannel, "process_cdr", "false");
pickup_add_session(nsession, pickup);
+ switch_channel_set_flag(nchannel, CF_PICKUP);
goto done;
char bug_key[256] = "";
int send_ringback = 0;
uint8_t ring_ready_val = 0;
+ int pickups = 0;
oglobals->hups = 0;
oglobals->idx = IDX_NADA;
}
}
+
+ if (originate_status[i].peer_channel && switch_channel_test_flag(originate_status[i].peer_channel, CF_PICKUP)) {
+ pickups++;
+ }
+
if (!(originate_status[i].peer_channel && originate_status[i].peer_session)) {
oglobals->hups++;
continue;
}
}
- if (oglobals->hups == len) {
+ if (oglobals->hups + pickups == len) {
rval = 0;
} else {
rval = 1;