[Freeswitch-svn] [commit] r3428 - freeswitch/trunk/src
Freeswitch SVN
anthm at freeswitch.org
Mon Nov 20 19:29:51 EST 2006
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];
More information about the Freeswitch-svn
mailing list