[Asterisk-cvs] asterisk channel.c,1.112,1.113 manager.c,1.48,1.49 sounds.txt,1.28,1.29
markster at lists.digium.com
markster at lists.digium.com
Fri May 21 23:58:11 CDT 2004
Update of /usr/cvsroot/asterisk
In directory mongoose.digium.com:/tmp/cvs-serv15930
Modified Files:
channel.c manager.c sounds.txt
Log Message:
Merge fabeman's extensive meetme improvements (bug #1624)
Index: channel.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channel.c,v
retrieving revision 1.112
retrieving revision 1.113
diff -u -d -r1.112 -r1.113
--- channel.c 20 May 2004 16:30:09 -0000 1.112
+++ channel.c 22 May 2004 04:11:22 -0000 1.113
@@ -468,6 +468,19 @@
}
+struct ast_channel *ast_get_channel_by_name_locked(char *channame)
+{
+ struct ast_channel *chan;
+ chan = ast_channel_walk_locked(NULL);
+ while(chan) {
+ if (!strcasecmp(chan->name, channame))
+ return chan;
+ ast_mutex_unlock(&chan->lock);
+ chan = ast_channel_walk_locked(NULL);
+ }
+ return NULL;
+}
+
int ast_safe_sleep_conditional( struct ast_channel *chan, int ms,
int (*cond)(void*), void *data )
{
Index: manager.c
===================================================================
RCS file: /usr/cvsroot/asterisk/manager.c,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -d -r1.48 -r1.49
--- manager.c 20 May 2004 16:30:09 -0000 1.48
+++ manager.c 22 May 2004 04:11:22 -0000 1.49
@@ -455,6 +455,7 @@
char *exten = astman_get_header(m, "Exten");
char *context = astman_get_header(m, "Context");
char *priority = astman_get_header(m, "Priority");
+ struct ast_channel *chan, *chan2 = NULL;
int pi = 0;
int res;
if (!name || !strlen(name)) {
@@ -465,10 +466,16 @@
astman_send_error(s, m, "Invalid priority\n");
return 0;
}
- res = ast_async_goto_by_name(name, context, exten, pi);
+ chan = ast_get_channel_by_name_locked(name);
+ if (strlen(name2))
+ chan2 = ast_get_channel_by_name_locked(name2);
+ res = ast_async_goto(chan, context, exten, pi);
if (!res) {
if (strlen(name2)) {
- res = ast_async_goto_by_name(name2, context, exten, pi);
+ if (chan2)
+ res = ast_async_goto(chan2, context, exten, pi);
+ else
+ res = -1;
if (!res)
astman_send_ack(s, m, "Dual Redirect successful");
else
@@ -477,6 +484,10 @@
astman_send_ack(s, m, "Redirect successful");
} else
astman_send_error(s, m, "Redirect failed");
+ if (chan)
+ ast_mutex_unlock(&chan->lock);
+ if (chan2)
+ ast_mutex_unlock(&chan2->lock);
return 0;
}
Index: sounds.txt
===================================================================
RCS file: /usr/cvsroot/asterisk/sounds.txt,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- sounds.txt 3 May 2004 00:54:15 -0000 1.28
+++ sounds.txt 22 May 2004 04:11:22 -0000 1.29
@@ -612,3 +612,21 @@
%plus.gsm%plus [+]
%equals.gsm%equals [=]
+
+%conf-locked.gsm%This conference is locked!
+
+%conf-kicked.gsm%You have been kicked from this conference
+
+%conf-adminmenu.gsm%Please press 1 to mute or unmute yourself, or press 2 to lock or unlock the conference
+
+%conf-usermenu.gsm%Please press 1 to mute or unmute yourself
+
+%conf-errormenu.gsm%Invalid Choice
+
+%conf-muted.gsm%You are now muted
+
+%conf-unmuted.gsm%You are now unmuted
+
+%conf-lockednow.gsm%The conference is now locked
+
+%conf-unlockednow.gsm%The conference is now unlocked
More information about the svn-commits
mailing list