[asterisk-commits] russell: branch group/xcon_bfcp r51415 - in /team/group/xcon_bfcp: ./ apps/ c...

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Mon Jan 22 12:48:22 MST 2007


Author: russell
Date: Mon Jan 22 13:48:21 2007
New Revision: 51415

URL: http://svn.digium.com/view/asterisk?view=rev&rev=51415
Log:
Merged revisions 51340,51342,51344,51349,51351-51353,51405,51408,51413 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

................
r51340 | russell | 2007-01-19 15:21:03 -0600 (Fri, 19 Jan 2007) | 10 lines

Merged revisions 51339 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r51339 | russell | 2007-01-19 15:20:20 -0600 (Fri, 19 Jan 2007) | 2 lines

Remove a variable that was declared twice.

........

................
r51342 | russell | 2007-01-19 16:34:13 -0600 (Fri, 19 Jan 2007) | 10 lines

Merged revisions 51341 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r51341 | russell | 2007-01-19 16:19:10 -0600 (Fri, 19 Jan 2007) | 2 lines

Remove another duplicated definition

........

................
r51344 | russell | 2007-01-19 18:13:52 -0600 (Fri, 19 Jan 2007) | 10 lines

Merged revisions 51343 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r51343 | russell | 2007-01-19 18:13:06 -0600 (Fri, 19 Jan 2007) | 2 lines

Remove an unused instance of an unnamed enum.

........

................
r51349 | qwell | 2007-01-20 00:18:09 -0600 (Sat, 20 Jan 2007) | 16 lines

Merged revisions 51348 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r51348 | qwell | 2007-01-20 00:16:06 -0600 (Sat, 20 Jan 2007) | 8 lines

Fix German language support in say.conf

Properly support 21, 31, 41, 51, 61, 71, 81, and 91.
  einundzwanzig has the same format as zweiundzwanzig (as do all other "_ZX" spoken numerals)

Fix support for numbers in the 10,000,000 to 99,999,999 range.
Add support for numbers in the 100,000,000 to 999,999,999 range.

........

................
r51351 | qwell | 2007-01-20 00:54:45 -0600 (Sat, 20 Jan 2007) | 13 lines

Merged revisions 51350 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r51350 | qwell | 2007-01-20 00:53:49 -0600 (Sat, 20 Jan 2007) | 5 lines

Fix Italian numeral support in say.conf for "_[2-9]00" case.

"2131" would've translated to something along the lines of (pardon my..Italian {or lack thereof})
  "duecentocentotrentuno", which makes no sense at all.

........

................
r51352 | russell | 2007-01-20 12:27:35 -0600 (Sat, 20 Jan 2007) | 2 lines

Add a comment that the frame type constants are transmitted directly over IAX2.

................
r51353 | tilghman | 2007-01-20 21:25:57 -0600 (Sat, 20 Jan 2007) | 2 lines

Fix bug introduced during constification (reported by tzanger via IRC)

................
r51405 | oej | 2007-01-22 13:00:25 -0600 (Mon, 22 Jan 2007) | 2 lines

Remove (to quote Rizzo) "useless" variable.

................
r51408 | file | 2007-01-22 13:22:07 -0600 (Mon, 22 Jan 2007) | 18 lines

Merged revisions 51407 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r51407 | file | 2007-01-22 14:13:44 -0500 (Mon, 22 Jan 2007) | 10 lines

Merged revisions 51406 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r51406 | file | 2007-01-22 14:08:52 -0500 (Mon, 22 Jan 2007) | 2 lines

Move filestream creation to Mixmonitor loop. This will prevent a blank file from being created if no frames ever pass through to be recorded. (issue #7589 reported by steve_mcneil)

........

................

................
r51413 | murf | 2007-01-22 13:42:28 -0600 (Mon, 22 Jan 2007) | 9 lines

Merged revisions 51409 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r51409 | murf | 2007-01-22 12:28:51 -0700 (Mon, 22 Jan 2007) | 1 line

This fixes 8836, according to dnatural
........

................

Modified:
    team/group/xcon_bfcp/   (props changed)
    team/group/xcon_bfcp/apps/app_meetme.c
    team/group/xcon_bfcp/apps/app_mixmonitor.c
    team/group/xcon_bfcp/channels/chan_sip.c
    team/group/xcon_bfcp/configs/say.conf.sample
    team/group/xcon_bfcp/include/asterisk/frame.h
    team/group/xcon_bfcp/main/pbx.c
    team/group/xcon_bfcp/pbx/pbx_ael.c

Propchange: team/group/xcon_bfcp/
------------------------------------------------------------------------------
    automerge = *

Propchange: team/group/xcon_bfcp/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Propchange: team/group/xcon_bfcp/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Mon Jan 22 13:48:21 2007
@@ -1,1 +1,1 @@
-/trunk:1-51333
+/trunk:1-51414

Modified: team/group/xcon_bfcp/apps/app_meetme.c
URL: http://svn.digium.com/view/asterisk/team/group/xcon_bfcp/apps/app_meetme.c?view=diff&rev=51415&r1=51414&r2=51415
==============================================================================
--- team/group/xcon_bfcp/apps/app_meetme.c (original)
+++ team/group/xcon_bfcp/apps/app_meetme.c Mon Jan 22 13:48:21 2007
@@ -193,7 +193,7 @@
 enum {
 	OPT_ARG_WAITMARKED = 0,
 	OPT_ARG_ARRAY_SIZE = 1,
-} meetme_option_args;
+};
 
 AST_APP_OPTIONS(meetme_opts, {
 	AST_APP_OPTION('A', CONFFLAG_MARKEDUSER ),
@@ -337,7 +337,6 @@
 "other participants in the conference, all member stations are invited into\n"
 "the bridge.\n";
 
-#define CONFIG_FILE_NAME "meetme.conf"
 #define CONFIG_FILE_NAME_SLA "sla.conf"
 #define XCON_CONFIG_FILE_NAME "xcon.conf"
 
@@ -448,7 +447,6 @@
 	ASTOBJ_CONTAINER_COMPONENTS(struct ast_sla);
 } slas;
 
-
 /*! XCON Binary Floor Control Protocol (BFCP) management */
 static bfcp bfcp_server_list;		/*! The object managing the BFCP server behaviour */
 static unsigned short int bfcp_port;	/*! The port the BFCP server will listen on (TCP only, TLS not supported yet) */
@@ -501,10 +499,6 @@
 int xcon_mute_user(struct ast_conference *cnf, struct ast_conf_user *user);
 int xcon_unmute_user(struct ast_conference *cnf, struct ast_conf_user *user);
 
-
-static int audio_buffers;			/*!< The number of audio buffers to be allocated on pseudo channels
-						   when in a conference
-						*/
 /*! The number of audio buffers to be allocated on pseudo channels
  *  when in a conference */
 static int audio_buffers;

Modified: team/group/xcon_bfcp/apps/app_mixmonitor.c
URL: http://svn.digium.com/view/asterisk/team/group/xcon_bfcp/apps/app_mixmonitor.c?view=diff&rev=51415&r1=51414&r2=51415
==============================================================================
--- team/group/xcon_bfcp/apps/app_mixmonitor.c (original)
+++ team/group/xcon_bfcp/apps/app_mixmonitor.c Mon Jan 22 13:48:21 2007
@@ -93,7 +93,7 @@
 
 struct mixmonitor {
 	struct ast_channel_spy spy;
-	struct ast_filestream *fs;
+	char *filename;
 	char *post_process;
 	char *name;
 	unsigned int flags;
@@ -146,8 +146,11 @@
 {
 	struct mixmonitor *mixmonitor = obj;
 	struct ast_frame *f = NULL;
-	
-	
+	struct ast_filestream *fs = NULL;
+	unsigned int oflags;
+	char *ext;
+	int errflag = 0;
+
 	if (option_verbose > 1)
 		ast_verbose(VERBOSE_PREFIX_2 "Begin MixMonitor Recording %s\n", mixmonitor->name);
 	
@@ -174,8 +177,27 @@
 			*/
 			for (; f; f = next) {
 				next = AST_LIST_NEXT(f, frame_list);
-				if (write)
-					ast_writestream(mixmonitor->fs, f);
+				if (write && errflag == 0) {
+					if (!fs) {
+						/* Determine creation flags and filename plus extension for filestream */
+						oflags = O_CREAT | O_WRONLY;
+						oflags |= ast_test_flag(mixmonitor, MUXFLAG_APPEND) ? O_APPEND : O_TRUNC;
+
+						if ((ext = strrchr(mixmonitor->filename, '.')))
+							*(ext++) = '\0';
+						else
+							ext = "raw";
+
+						/* Move onto actually creating the filestream */
+						if (!(fs = ast_writefile(mixmonitor->filename, ext, NULL, oflags, 0, 0644))) {
+							ast_log(LOG_ERROR, "Cannot open %s.%s\n", mixmonitor->filename, ext);
+							errflag = 1;
+						}
+
+					}
+					if (fs)
+						ast_writestream(fs, f);
+				}
 				ast_frame_free(f, 0);
 			}
 		}
@@ -194,7 +216,8 @@
 		ast_safe_system(mixmonitor->post_process);
 	}
 		
-	ast_closestream(mixmonitor->fs);
+	if (fs)
+		ast_closestream(fs);
 
 	free(mixmonitor);
 
@@ -208,12 +231,10 @@
 	pthread_attr_t attr;
 	pthread_t thread;
 	struct mixmonitor *mixmonitor;
-	char *file_name, *ext;
 	char postprocess2[1024] = "";
-	unsigned int oflags;
 	size_t len;
 
-	len = sizeof(*mixmonitor) + strlen(chan->name) + 1;
+	len = sizeof(*mixmonitor) + strlen(chan->name) + strlen(filename) + 2;
 
 	/* If a post process system command is given attach it to the structure */
 	if (!ast_strlen_zero(post_process)) {
@@ -245,23 +266,8 @@
 		strcpy(mixmonitor->post_process, postprocess2);
 	}
 
-	/* Determine creation flags and filename plus extension for filestream */
-	oflags = O_CREAT | O_WRONLY;
-	oflags |= ast_test_flag(mixmonitor, MUXFLAG_APPEND) ? O_APPEND : O_TRUNC;
-	file_name = ast_strdupa(filename);
-	if ((ext = strrchr(file_name, '.'))) {
-		*(ext++) = '\0';
-	} else {
-		ext = "raw";
-	}
-
-	/* Move onto actually creating the filestream */
-	mixmonitor->fs = ast_writefile(file_name, ext, NULL, oflags, 0, AST_FILE_MODE);
-	if (!mixmonitor->fs) {
-		ast_log(LOG_ERROR, "Cannot open %s.%s\n", file_name, ext);
-		free(mixmonitor);
-		return;
-	}
+	mixmonitor->filename = (char *) mixmonitor + sizeof(*mixmonitor) + strlen(chan->name) + 1;
+	strcpy(mixmonitor->filename, filename);
 
 	/* Setup the actual spy before creating our thread */
 	ast_set_flag(&mixmonitor->spy, CHANSPY_FORMAT_AUDIO);
@@ -285,7 +291,6 @@
 			mixmonitor->spy.type, chan->name);
 		/* Since we couldn't add ourselves - bail out! */
 		ast_mutex_destroy(&mixmonitor->spy.lock);
-		ast_closestream(mixmonitor->fs);
 		free(mixmonitor);
 		return;
 	}

Modified: team/group/xcon_bfcp/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/team/group/xcon_bfcp/channels/chan_sip.c?view=diff&rev=51415&r1=51414&r2=51415
==============================================================================
--- team/group/xcon_bfcp/channels/chan_sip.c (original)
+++ team/group/xcon_bfcp/channels/chan_sip.c Mon Jan 22 13:48:21 2007
@@ -1135,7 +1135,6 @@
 	struct ast_ha *ha;		/*!<  Access control list */
 	struct ast_variable *chanvars;	/*!<  Variables to set for channel created by user */
 	struct sip_pvt *mwipvt;		/*!<  Subscription for MWI */
-	int lastmsg;
 	int autoframing;
 };
 
@@ -10435,7 +10434,6 @@
 
 		/* - is enumerated */
 		ast_cli(fd, "  DTMFmode     : %s\n", dtmfmode2str(ast_test_flag(&peer->flags[0], SIP_DTMF)));
-		ast_cli(fd, "  LastMsg      : %d\n", peer->lastmsg);
 		ast_cli(fd, "  ToHost       : %s\n", peer->tohost);
 		ast_cli(fd, "  Addr->IP     : %s Port %d\n",  peer->addr.sin_addr.s_addr ? ast_inet_ntoa(peer->addr.sin_addr) : "(Unspecified)", ntohs(peer->addr.sin_port));
 		ast_cli(fd, "  Defaddr->IP  : %s Port %d\n", ast_inet_ntoa(peer->defaddr.sin_addr), ntohs(peer->defaddr.sin_port));
@@ -10515,7 +10513,6 @@
 
 		/* - is enumerated */
 		astman_append(s, "SIP-DTMFmode: %s\r\n", dtmfmode2str(ast_test_flag(&peer->flags[0], SIP_DTMF)));
-		astman_append(s, "SIPLastMsg: %d\r\n", peer->lastmsg);
 		astman_append(s, "ToHost: %s\r\n", peer->tohost);
 		astman_append(s, "Address-IP: %s\r\nAddress-Port: %d\r\n",  peer->addr.sin_addr.s_addr ? ast_inet_ntoa(peer->addr.sin_addr) : "", ntohs(peer->addr.sin_port));
 		astman_append(s, "Default-addr-IP: %s\r\nDefault-addr-port: %d\r\n", ast_inet_ntoa(peer->defaddr.sin_addr), ntohs(peer->defaddr.sin_port));

Modified: team/group/xcon_bfcp/configs/say.conf.sample
URL: http://svn.digium.com/view/asterisk/team/group/xcon_bfcp/configs/say.conf.sample?view=diff&rev=51415&r1=51414&r2=51415
==============================================================================
--- team/group/xcon_bfcp/configs/say.conf.sample (original)
+++ team/group/xcon_bfcp/configs/say.conf.sample Mon Jan 22 13:48:21 2007
@@ -126,7 +126,7 @@
     _[n]um:[2-9]0 =>  digits/${SAY}
     _[n]um:[2-9][1-9] =>  digits/${SAY:0:1}0, num:${SAY:1}
     _[n]um:1XX => digits/hundred, num:${SAY:1}
-    _[n]um:[2-9]1XX => num:${SAY:0:1}, digits/hundred, num:${SAY:1}
+    _[n]um:[2-9]XX => num:${SAY:0:1}, digits/hundred, num:${SAY:1}
 
     _[n]um:1XXX => digits/thousand, num:${SAY:1}
     _[n]um:[2-9]XXX => num:${SAY:0:1}, digits/thousands, num:${SAY:1}
@@ -147,13 +147,12 @@
     _date::. => date:AdBY:${SAY}
     _time::. => date:IMp:${SAY}
 
-
 [de](date-base,digit-base)
     _[n]um:0. => num:${SAY:1}
     _[n]um:X => digits/${SAY}
     _[n]um:1X => digits/${SAY}
     _[n]um:[2-9]0 => digits/${SAY}
-    _[n]um:[2-9][2-9] => digits/${SAY:1}-and, digits/${SAY:0:1}0
+    _[n]um:[2-9][1-9] => digits/${SAY:1}-and, digits/${SAY:0:1}0
     _[n]um:1XX => digits/ein, digits/hundred, num:${SAY:1}
     _[n]um:[2-9]XX => digits/${SAY:0:1}, digits/hundred, num:${SAY:1}
     _[n]um:1XXX => digits/ein, digits/thousand, num:${SAY:1}
@@ -163,7 +162,8 @@
     _[n]um:XXXXXX => digits/${SAY:0:1}, digits/hundred, num:${SAY:1}
     _[n]um:1XXXXXX => digits/eine, digits/million, num:${SAY:1}
     _[n]um:[2-9]XXXXXX => digits/${SAY:0:1}, digits/millions, num:${SAY:1}
-    _[n]um:XXXXXXXX => num:${SAY:0:1}, digits/millions, num:${SAY:2}
+    _[n]um:XXXXXXXX => num:${SAY:0:2}, digits/millions, num:${SAY:2}
+    _[n]um:XXXXXXXXX => num:${SAY:0:3}, digits/millions, num:${SAY:3}
 
     _datetime::. => date:AdBY 'digits/at' IMp:${SAY}
     _date::. => date:AdBY:${SAY}

Modified: team/group/xcon_bfcp/include/asterisk/frame.h
URL: http://svn.digium.com/view/asterisk/team/group/xcon_bfcp/include/asterisk/frame.h?view=diff&rev=51415&r1=51414&r2=51415
==============================================================================
--- team/group/xcon_bfcp/include/asterisk/frame.h (original)
+++ team/group/xcon_bfcp/include/asterisk/frame.h Mon Jan 22 13:48:21 2007
@@ -93,6 +93,7 @@
  *
  * \note It is important that the values of each frame type are never changed,
  *       because it will break backwards compatability with older versions.
+ *       This is because these constants are transmitted directly over IAX2.
  */
 enum ast_frame_type {
 	/*! DTMF end event, subclass is the digit */

Modified: team/group/xcon_bfcp/main/pbx.c
URL: http://svn.digium.com/view/asterisk/team/group/xcon_bfcp/main/pbx.c?view=diff&rev=51415&r1=51414&r2=51415
==============================================================================
--- team/group/xcon_bfcp/main/pbx.c (original)
+++ team/group/xcon_bfcp/main/pbx.c Mon Jan 22 13:48:21 2007
@@ -1415,11 +1415,11 @@
 	struct ast_custom_function *acfptr = ast_custom_function_find(copy);
 
 	if (acfptr == NULL)
-		ast_log(LOG_ERROR, "Function %s not registered\n", function);
+		ast_log(LOG_ERROR, "Function %s not registered\n", copy);
 	else if (!acfptr->read)
-		ast_log(LOG_ERROR, "Function %s cannot be read\n", function);
+		ast_log(LOG_ERROR, "Function %s cannot be read\n", copy);
 	else
-		return acfptr->read(chan, function, args, workspace, len);
+		return acfptr->read(chan, copy, args, workspace, len);
 	return -1;
 }
 
@@ -1430,11 +1430,11 @@
 	struct ast_custom_function *acfptr = ast_custom_function_find(copy);
 
 	if (acfptr == NULL)
-		ast_log(LOG_ERROR, "Function %s not registered\n", function);
+		ast_log(LOG_ERROR, "Function %s not registered\n", copy);
 	else if (!acfptr->write)
-		ast_log(LOG_ERROR, "Function %s cannot be written to\n", function);
+		ast_log(LOG_ERROR, "Function %s cannot be written to\n", copy);
 	else
-		return acfptr->write(chan, function, args, value);
+		return acfptr->write(chan, copy, args, value);
 
 	return -1;
 }

Modified: team/group/xcon_bfcp/pbx/pbx_ael.c
URL: http://svn.digium.com/view/asterisk/team/group/xcon_bfcp/pbx/pbx_ael.c?view=diff&rev=51415&r1=51414&r2=51415
==============================================================================
--- team/group/xcon_bfcp/pbx/pbx_ael.c (original)
+++ team/group/xcon_bfcp/pbx/pbx_ael.c Mon Jan 22 13:48:21 2007
@@ -4052,7 +4052,6 @@
 
 static int ael2_reload(int fd, int argc, char *argv[])
 {
-	ast_context_destroy(NULL, registrar);
 	return (pbx_load_module());
 }
 
@@ -4097,7 +4096,6 @@
 
 static int reload(void)
 {
-	ast_context_destroy(NULL, registrar);
 	return pbx_load_module();
 }
 



More information about the asterisk-commits mailing list