Author: anthm Date: Mon Nov 20 19:29:51 2006 New Revision: 3428 Modified: freeswitch/trunk/src/switch_ivr.c Log: send 180 when there is no ringback specified on forked calls Modified: freeswitch/trunk/src/switch_ivr.c ============================================================================== --- freeswitch/trunk/src/switch_ivr.c (original) +++ freeswitch/trunk/src/switch_ivr.c Mon Nov 20 19:29:51 2006 @@ -2260,6 +2260,7 @@ uint8_t to = 0; char *ringback_data = NULL; switch_codec_t *read_codec = NULL; + uint8_t sent_ring = 0; write_frame.data = fdata; @@ -2310,6 +2311,11 @@ or_argc = switch_separate_string(data, '|', pipe_names, (sizeof(pipe_names) / sizeof(pipe_names[0]))); + if (caller_channel && or_argc > 1 && !ringback_data) { + switch_channel_ringback(caller_channel); + sent_ring = 1; + } + for (r = 0; r < or_argc; r++) { memset(peer_names, 0, sizeof(peer_names)); peer_session = NULL; @@ -2330,6 +2336,11 @@ and_argc = switch_separate_string(pipe_names[r], '&', peer_names, (sizeof(peer_names) / sizeof(peer_names[0]))); + if (caller_channel && !sent_ring && and_argc > 1 && !ringback_data) { + switch_channel_ringback(caller_channel); + sent_ring = 1; + } + for (i = 0; i < and_argc; i++) { chan_type = peer_names[i];
participants (1)
-
Freeswitch SVN