[asterisk-commits] oej: branch group/set-tonezone-trunk r317718 - in /team/group/set-tonezone-tr...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri May 6 12:52:45 CDT 2011


Author: oej
Date: Fri May  6 12:52:22 2011
New Revision: 317718

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=317718
Log:
Reset, merge, resolve. Have a nice weekend. 

Added:
    team/group/set-tonezone-trunk/apps/confbridge/
      - copied from r317671, trunk/apps/confbridge/
    team/group/set-tonezone-trunk/apps/confbridge/conf_config_parser.c
      - copied unchanged from r317671, trunk/apps/confbridge/conf_config_parser.c
    team/group/set-tonezone-trunk/apps/confbridge/include/
      - copied from r317671, trunk/apps/confbridge/include/
    team/group/set-tonezone-trunk/apps/confbridge/include/confbridge.h
      - copied unchanged from r317671, trunk/apps/confbridge/include/confbridge.h
    team/group/set-tonezone-trunk/funcs/func_jitterbuffer.c
      - copied unchanged from r317671, trunk/funcs/func_jitterbuffer.c
    team/group/set-tonezone-trunk/include/asterisk/format.h
      - copied unchanged from r317671, trunk/include/asterisk/format.h
    team/group/set-tonezone-trunk/include/asterisk/format_cap.h
      - copied unchanged from r317671, trunk/include/asterisk/format_cap.h
    team/group/set-tonezone-trunk/include/asterisk/format_pref.h
      - copied unchanged from r317671, trunk/include/asterisk/format_pref.h
    team/group/set-tonezone-trunk/include/asterisk/silk.h
      - copied unchanged from r317671, trunk/include/asterisk/silk.h
    team/group/set-tonezone-trunk/main/format_pref.c
      - copied unchanged from r317671, trunk/main/format_pref.c
    team/group/set-tonezone-trunk/tests/test_format_api.c
      - copied unchanged from r317671, trunk/tests/test_format_api.c
Modified:
    team/group/set-tonezone-trunk/   (props changed)
    team/group/set-tonezone-trunk/CHANGES
    team/group/set-tonezone-trunk/CREDITS
    team/group/set-tonezone-trunk/Makefile
    team/group/set-tonezone-trunk/UPGRADE.txt
    team/group/set-tonezone-trunk/addons/cdr_mysql.c
    team/group/set-tonezone-trunk/addons/chan_mobile.c
    team/group/set-tonezone-trunk/addons/chan_ooh323.c
    team/group/set-tonezone-trunk/addons/chan_ooh323.h
    team/group/set-tonezone-trunk/addons/format_mp3.c
    team/group/set-tonezone-trunk/addons/ooh323c/src/ooCalls.h
    team/group/set-tonezone-trunk/addons/ooh323c/src/ooCapability.c
    team/group/set-tonezone-trunk/addons/ooh323c/src/ooCmdChannel.c
    team/group/set-tonezone-trunk/addons/ooh323c/src/ooGkClient.c
    team/group/set-tonezone-trunk/addons/ooh323c/src/ooGkClient.h
    team/group/set-tonezone-trunk/addons/ooh323c/src/ooLogChan.c
    team/group/set-tonezone-trunk/addons/ooh323c/src/ooLogChan.h
    team/group/set-tonezone-trunk/addons/ooh323c/src/ooSocket.c
    team/group/set-tonezone-trunk/addons/ooh323c/src/ooSocket.h
    team/group/set-tonezone-trunk/addons/ooh323c/src/ooStackCmds.c
    team/group/set-tonezone-trunk/addons/ooh323c/src/oochannels.c
    team/group/set-tonezone-trunk/addons/ooh323c/src/ooh245.c
    team/group/set-tonezone-trunk/addons/ooh323c/src/ooh323.c
    team/group/set-tonezone-trunk/addons/ooh323c/src/ooh323ep.h
    team/group/set-tonezone-trunk/addons/ooh323c/src/ooports.c
    team/group/set-tonezone-trunk/addons/ooh323c/src/ooq931.c
    team/group/set-tonezone-trunk/addons/ooh323c/src/ootypes.h
    team/group/set-tonezone-trunk/addons/ooh323cDriver.c
    team/group/set-tonezone-trunk/addons/ooh323cDriver.h
    team/group/set-tonezone-trunk/addons/res_config_mysql.c
    team/group/set-tonezone-trunk/apps/Makefile
    team/group/set-tonezone-trunk/apps/app_alarmreceiver.c
    team/group/set-tonezone-trunk/apps/app_amd.c
    team/group/set-tonezone-trunk/apps/app_chanspy.c
    team/group/set-tonezone-trunk/apps/app_confbridge.c
    team/group/set-tonezone-trunk/apps/app_dahdibarge.c
    team/group/set-tonezone-trunk/apps/app_dial.c
    team/group/set-tonezone-trunk/apps/app_dictate.c
    team/group/set-tonezone-trunk/apps/app_dumpchan.c
    team/group/set-tonezone-trunk/apps/app_echo.c
    team/group/set-tonezone-trunk/apps/app_externalivr.c
    team/group/set-tonezone-trunk/apps/app_fax.c
    team/group/set-tonezone-trunk/apps/app_festival.c
    team/group/set-tonezone-trunk/apps/app_followme.c
    team/group/set-tonezone-trunk/apps/app_ices.c
    team/group/set-tonezone-trunk/apps/app_jack.c
    team/group/set-tonezone-trunk/apps/app_meetme.c
    team/group/set-tonezone-trunk/apps/app_milliwatt.c
    team/group/set-tonezone-trunk/apps/app_minivm.c
    team/group/set-tonezone-trunk/apps/app_mixmonitor.c
    team/group/set-tonezone-trunk/apps/app_mp3.c
    team/group/set-tonezone-trunk/apps/app_nbscat.c
    team/group/set-tonezone-trunk/apps/app_originate.c
    team/group/set-tonezone-trunk/apps/app_parkandannounce.c
    team/group/set-tonezone-trunk/apps/app_queue.c
    team/group/set-tonezone-trunk/apps/app_record.c
    team/group/set-tonezone-trunk/apps/app_rpt.c
    team/group/set-tonezone-trunk/apps/app_sms.c
    team/group/set-tonezone-trunk/apps/app_speech_utils.c
    team/group/set-tonezone-trunk/apps/app_talkdetect.c
    team/group/set-tonezone-trunk/apps/app_test.c
    team/group/set-tonezone-trunk/apps/app_voicemail.c
    team/group/set-tonezone-trunk/apps/app_waitforsilence.c
    team/group/set-tonezone-trunk/autoconf/ast_check_pwlib.m4
    team/group/set-tonezone-trunk/bridges/bridge_builtin_features.c
    team/group/set-tonezone-trunk/bridges/bridge_multiplexed.c
    team/group/set-tonezone-trunk/bridges/bridge_simple.c
    team/group/set-tonezone-trunk/bridges/bridge_softmix.c
    team/group/set-tonezone-trunk/cel/cel_odbc.c
    team/group/set-tonezone-trunk/cel/cel_pgsql.c
    team/group/set-tonezone-trunk/cel/cel_radius.c
    team/group/set-tonezone-trunk/channels/chan_agent.c
    team/group/set-tonezone-trunk/channels/chan_alsa.c
    team/group/set-tonezone-trunk/channels/chan_bridge.c
    team/group/set-tonezone-trunk/channels/chan_console.c
    team/group/set-tonezone-trunk/channels/chan_dahdi.c
    team/group/set-tonezone-trunk/channels/chan_gtalk.c
    team/group/set-tonezone-trunk/channels/chan_h323.c
    team/group/set-tonezone-trunk/channels/chan_iax2.c
    team/group/set-tonezone-trunk/channels/chan_jingle.c
    team/group/set-tonezone-trunk/channels/chan_local.c
    team/group/set-tonezone-trunk/channels/chan_mgcp.c
    team/group/set-tonezone-trunk/channels/chan_misdn.c
    team/group/set-tonezone-trunk/channels/chan_multicast_rtp.c
    team/group/set-tonezone-trunk/channels/chan_nbs.c
    team/group/set-tonezone-trunk/channels/chan_oss.c
    team/group/set-tonezone-trunk/channels/chan_phone.c
    team/group/set-tonezone-trunk/channels/chan_sip.c
    team/group/set-tonezone-trunk/channels/chan_skinny.c
    team/group/set-tonezone-trunk/channels/chan_unistim.c
    team/group/set-tonezone-trunk/channels/chan_usbradio.c
    team/group/set-tonezone-trunk/channels/chan_vpb.cc
    team/group/set-tonezone-trunk/channels/h323/ast_h323.cxx
    team/group/set-tonezone-trunk/channels/h323/chan_h323.h
    team/group/set-tonezone-trunk/channels/iax2-parser.c
    team/group/set-tonezone-trunk/channels/iax2-parser.h
    team/group/set-tonezone-trunk/channels/iax2-provision.c
    team/group/set-tonezone-trunk/channels/iax2.h
    team/group/set-tonezone-trunk/channels/misdn_config.c
    team/group/set-tonezone-trunk/channels/sig_analog.c
    team/group/set-tonezone-trunk/channels/sig_pri.c
    team/group/set-tonezone-trunk/channels/sig_pri.h
    team/group/set-tonezone-trunk/channels/sig_ss7.c
    team/group/set-tonezone-trunk/channels/sig_ss7.h
    team/group/set-tonezone-trunk/channels/sip/dialplan_functions.c
    team/group/set-tonezone-trunk/channels/sip/include/globals.h
    team/group/set-tonezone-trunk/channels/sip/include/sip.h
    team/group/set-tonezone-trunk/channels/sip/reqresp_parser.c
    team/group/set-tonezone-trunk/channels/sip/sdp_crypto.c
    team/group/set-tonezone-trunk/configure
    team/group/set-tonezone-trunk/configure.ac
    team/group/set-tonezone-trunk/doc/asterisk.8
    team/group/set-tonezone-trunk/doc/asterisk.sgml
    team/group/set-tonezone-trunk/funcs/func_channel.c
    team/group/set-tonezone-trunk/funcs/func_curl.c
    team/group/set-tonezone-trunk/funcs/func_enum.c
    team/group/set-tonezone-trunk/funcs/func_frame_trace.c
    team/group/set-tonezone-trunk/funcs/func_odbc.c
    team/group/set-tonezone-trunk/funcs/func_pitchshift.c
    team/group/set-tonezone-trunk/funcs/func_speex.c
    team/group/set-tonezone-trunk/funcs/func_volume.c
    team/group/set-tonezone-trunk/include/asterisk/_private.h
    team/group/set-tonezone-trunk/include/asterisk/abstract_jb.h
    team/group/set-tonezone-trunk/include/asterisk/astobj2.h
    team/group/set-tonezone-trunk/include/asterisk/audiohook.h
    team/group/set-tonezone-trunk/include/asterisk/autoconfig.h.in
    team/group/set-tonezone-trunk/include/asterisk/bridging.h
    team/group/set-tonezone-trunk/include/asterisk/bridging_features.h
    team/group/set-tonezone-trunk/include/asterisk/bridging_technology.h
    team/group/set-tonezone-trunk/include/asterisk/calendar.h
    team/group/set-tonezone-trunk/include/asterisk/callerid.h
    team/group/set-tonezone-trunk/include/asterisk/ccss.h
    team/group/set-tonezone-trunk/include/asterisk/channel.h
    team/group/set-tonezone-trunk/include/asterisk/data.h
    team/group/set-tonezone-trunk/include/asterisk/dsp.h
    team/group/set-tonezone-trunk/include/asterisk/file.h
    team/group/set-tonezone-trunk/include/asterisk/frame.h
    team/group/set-tonezone-trunk/include/asterisk/frame_defs.h
    team/group/set-tonezone-trunk/include/asterisk/image.h
    team/group/set-tonezone-trunk/include/asterisk/linkedlists.h
    team/group/set-tonezone-trunk/include/asterisk/mod_format.h
    team/group/set-tonezone-trunk/include/asterisk/pbx.h
    team/group/set-tonezone-trunk/include/asterisk/rtp_engine.h
    team/group/set-tonezone-trunk/include/asterisk/sched.h
    team/group/set-tonezone-trunk/include/asterisk/select.h
    team/group/set-tonezone-trunk/include/asterisk/slin.h
    team/group/set-tonezone-trunk/include/asterisk/slinfactory.h
    team/group/set-tonezone-trunk/include/asterisk/speech.h
    team/group/set-tonezone-trunk/include/asterisk/time.h
    team/group/set-tonezone-trunk/include/asterisk/translate.h
    team/group/set-tonezone-trunk/main/abstract_jb.c
    team/group/set-tonezone-trunk/main/app.c
    team/group/set-tonezone-trunk/main/ast_expr2.fl
    team/group/set-tonezone-trunk/main/ast_expr2f.c
    team/group/set-tonezone-trunk/main/asterisk.c
    team/group/set-tonezone-trunk/main/astobj2.c
    team/group/set-tonezone-trunk/main/bridging.c
    team/group/set-tonezone-trunk/main/ccss.c
    team/group/set-tonezone-trunk/main/cdr.c
    team/group/set-tonezone-trunk/main/channel.c
    team/group/set-tonezone-trunk/main/cli.c
    team/group/set-tonezone-trunk/main/config.c
    team/group/set-tonezone-trunk/main/data.c
    team/group/set-tonezone-trunk/main/dsp.c
    team/group/set-tonezone-trunk/main/features.c
    team/group/set-tonezone-trunk/main/frame.c
    team/group/set-tonezone-trunk/main/fskmodem_float.c
    team/group/set-tonezone-trunk/main/http.c
    team/group/set-tonezone-trunk/main/image.c
    team/group/set-tonezone-trunk/main/indications.c
    team/group/set-tonezone-trunk/main/loader.c
    team/group/set-tonezone-trunk/main/manager.c
    team/group/set-tonezone-trunk/main/say.c
    team/group/set-tonezone-trunk/main/slinfactory.c
    team/group/set-tonezone-trunk/main/taskprocessor.c
    team/group/set-tonezone-trunk/main/translate.c
    team/group/set-tonezone-trunk/main/udptl.c
    team/group/set-tonezone-trunk/main/utils.c
    team/group/set-tonezone-trunk/pbx/pbx_ael.c
    team/group/set-tonezone-trunk/pbx/pbx_config.c
    team/group/set-tonezone-trunk/pbx/pbx_dundi.c
    team/group/set-tonezone-trunk/pbx/pbx_loopback.c
    team/group/set-tonezone-trunk/pbx/pbx_lua.c
    team/group/set-tonezone-trunk/pbx/pbx_spool.c
    team/group/set-tonezone-trunk/sounds/Makefile
    team/group/set-tonezone-trunk/sounds/sounds.xml

Propchange: team/group/set-tonezone-trunk/
            ('svnmerge-integrated' removed)

Modified: team/group/set-tonezone-trunk/CHANGES
URL: http://svnview.digium.com/svn/asterisk/team/group/set-tonezone-trunk/CHANGES?view=diff&rev=317718&r1=317717&r2=317718
==============================================================================
--- team/group/set-tonezone-trunk/CHANGES (original)
+++ team/group/set-tonezone-trunk/CHANGES Fri May  6 12:52:22 2011
@@ -12,15 +12,29 @@
 --- Functionality changes from Asterisk 1.8 to Asterisk 1.10 -----------------
 ------------------------------------------------------------------------------
 
+Parking
+-------
+ * parkedmusicclass can now be set for non-default parking lots.
+
 Asterisk Manager Interface
 --------------------------
  * PeerStatus now includes Address and Port.
  * Added Hold events for when the remote party puts the call on and off hold
    for chan_dahdi ISDN channels.
+ * Added new action MeetmeListRooms to list active conferences (shows same
+   data as "meetme list" at the CLI).
+ * DAHDIShowChannels, SIPshowpeer, SIPpeers, and IAXpeers now contains a
+   Description field that is set by 'description' in the channel configuration
+   file.
 
 Asterisk HTTP Server
 --------------------------
  * The HTTP Server can bind to IPv6 addresses.
+
+chan_dahdi
+--------------------------
+ * Busy tone patterns featuring 2 silence and 2 tone lengths can now be used
+   with busydetect.  usage example: busypattern=200,200,200,600
 
 CLI Changes
 --------------------------
@@ -28,11 +42,28 @@
    gtalk.conf.
  * The 'logger reload' command now supports an optional argument, specifying an
    alternate configuration file to use.
+ * 'dialplan add extension' command will now automatically create a context if
+   the specified context does not exist with a message indicated it did so.
+ * 'sip show peers', 'iax show peers', and 'dahdi show peers' now contains a
+   Description field which can be populated with 'description' in the channel
+   configuration files (sip.conf, iax2.conf, and chan_dahdi.conf).
 
 CDR
 --------------------------
  * The filter option in cdr_adaptive_odbc now supports negating the argument,
    thus allowing records which do NOT match the specified filter.
+
+CODECS
+--------------------------
+ * Ability to define custom SILK formats in codecs.conf.
+ * Addition of speex32 audio format with translation.
+
+ConfBridge
+--------------------------
+ * New highly optimized and customizable ConfBridge application capable of
+   mixing audio at sample rates ranging from 8khz-96khz.
+ * CONFBRIDGE dialplan function capable of creating dynamic ConfBridge user
+   and bridge profiles on a channel.
 
 Dialplan Variables
 ------------------
@@ -42,6 +73,10 @@
 
 Dialplan Functions
 ------------------
+ * Addition of the JITTERBUFFER dialplan function. This function allows
+   for jitterbuffering to occur on the read side of a channel.  By using
+   this function conference applications such as ConfBridge and MeetMe can
+   have the rx streams jitterbuffered before conference mixing occurs.
  * Added DB_KEYS, which lists the next set of keys in the Asterisk database
    hierarchy.
 
@@ -49,6 +84,36 @@
 --------------------------
  * Added moh_signaling option to specify what to do when the channel's bridged
    peer puts the ISDN channel on hold.
+ * Added display_send and display_receive options to control how the display ie
+   is handled.  To send display text from the dialplan use the SendText()
+   application when the option is enabled.
+ * Added mcid_send option to allow sending a MCID request on a span.
+
+Calendaring
+--------------------------
+ * Added setvar option to calendar.conf to allow setting channel variables on
+   notification channels.
+ * Added "calendar show types" CLI command to list registered calendar
+   connectors.
+
+MixMonitor
+--------------------------
+ * Added two new options, r and t with file name arguments to record 
+   single direction (unmixed) audio recording separate from the bidirectional
+   (mixed) recording.  The mixed file name argument is optional now as long
+   as at least one recording option is used.
+
+FollowMe
+--------------------------
+ * Added a new option, l, which will disable local call optimization for
+   channels involved with the FollowMe thread.  Use this option to improve
+   compatability for a FollowMe call with certain dialplan apps, options, and
+   functions.
+
+CEL
+--------------------------
+ * cel_pgsql now supports the 'extra' column for data added using the
+   CELGenUserEvent() application.
 
 ------------------------------------------------------------------------------
 --- Functionality changes from Asterisk 1.6.2 to Asterisk 1.8 ----------------

Modified: team/group/set-tonezone-trunk/CREDITS
URL: http://svnview.digium.com/svn/asterisk/team/group/set-tonezone-trunk/CREDITS?view=diff&rev=317718&r1=317717&r2=317718
==============================================================================
--- team/group/set-tonezone-trunk/CREDITS (original)
+++ team/group/set-tonezone-trunk/CREDITS Fri May  6 12:52:22 2011
@@ -222,6 +222,8 @@
 Despegar.com, Argentina - AstData API implementation, also sponsored by Google as part of the
 	gsoc/2009 program (developed by Eliel)
 
+Philippe Lindheimer - DEV_STATE additions to CCSS
+
 === OTHER CONTRIBUTIONS ===
 John Todd - Monkey sounds and associated teletorture prompt
 Michael Jerris - bug marshaling

Modified: team/group/set-tonezone-trunk/Makefile
URL: http://svnview.digium.com/svn/asterisk/team/group/set-tonezone-trunk/Makefile?view=diff&rev=317718&r1=317717&r2=317718
==============================================================================
--- team/group/set-tonezone-trunk/Makefile (original)
+++ team/group/set-tonezone-trunk/Makefile Fri May  6 12:52:22 2011
@@ -223,8 +223,12 @@
 endif
 
 ifeq ($(findstring -march,$(_ASTCFLAGS) $(ASTCFLAGS)),)
-  ifneq ($(PROC),ultrasparc)
-    _ASTCFLAGS+=$(shell if $(CC) -march=$(PROC) -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=$(PROC)"; fi)
+  ifneq ($(AST_MARCH_NATIVE),)
+    _ASTCFLAGS+=$(AST_MARCH_NATIVE)
+  else
+    ifneq ($(PROC),ultrasparc)
+      _ASTCFLAGS+=$(shell if $(CC) -march=$(PROC) -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=$(PROC)"; fi)
+    endif
   endif
 endif
 
@@ -233,8 +237,10 @@
 endif
 
 ifeq ($(OSARCH),FreeBSD)
-  ifeq ($(PROC),i386)
-    _ASTCFLAGS+=-march=i686
+  ifeq ($(findstring -march,$(_ASTCFLAGS) $(ASTCFLAGS)),)
+    ifeq ($(PROC),i386)
+      _ASTCFLAGS+=-march=i686
+    endif
   endif
   # -V is understood by BSD Make, not by GNU make.
   BSDVERSION=$(shell make -V OSVERSION -f /usr/share/mk/bsd.port.subdir.mk)
@@ -539,7 +545,6 @@
 	$(INSTALL) -d "$(DESTDIR)$(ASTLOGDIR)"
 	$(INSTALL) -d "$(DESTDIR)$(ASTLOGDIR)/cdr-csv"
 	$(INSTALL) -d "$(DESTDIR)$(ASTLOGDIR)/cdr-custom"
-	$(INSTALL) -d "$(DESTDIR)$(ASTLOGDIR)/cel-csv"
 	$(INSTALL) -d "$(DESTDIR)$(ASTLOGDIR)/cel-custom"
 	$(INSTALL) -d "$(DESTDIR)$(ASTDATADIR)"
 	$(INSTALL) -d "$(DESTDIR)$(ASTDATADIR)/documentation"
@@ -919,7 +924,7 @@
 menuselect/makeopts: makeopts
 	+$(MAKE_MENUSELECT) makeopts
 
-menuselect-tree: $(foreach dir,$(filter-out main,$(MOD_SUBDIRS)),$(wildcard $(dir)/*.c) $(wildcard $(dir)/*.cc)) build_tools/cflags.xml build_tools/cflags-devmode.xml sounds/sounds.xml build_tools/embed_modules.xml utils/utils.xml agi/agi.xml configure
+menuselect-tree: $(foreach dir,$(filter-out main,$(MOD_SUBDIRS)),$(wildcard $(dir)/*.c) $(wildcard $(dir)/*.cc)) build_tools/cflags.xml build_tools/cflags-devmode.xml sounds/sounds.xml build_tools/embed_modules.xml utils/utils.xml agi/agi.xml configure makeopts
 	@echo "Generating input for menuselect ..."
 	@echo "<?xml version=\"1.0\"?>" > $@
 	@echo >> $@

Modified: team/group/set-tonezone-trunk/UPGRADE.txt
URL: http://svnview.digium.com/svn/asterisk/team/group/set-tonezone-trunk/UPGRADE.txt?view=diff&rev=317718&r1=317717&r2=317718
==============================================================================
--- team/group/set-tonezone-trunk/UPGRADE.txt (original)
+++ team/group/set-tonezone-trunk/UPGRADE.txt Fri May  6 12:52:22 2011
@@ -21,6 +21,14 @@
 
 From 1.8 to 1.10:
 
+cel_pgsql:
+ - This module now expects an 'extra' column in the database for data added
+   using the CELGenUserEvent() application.
+
+ConfBridge
+ - ConfBridge's dialplan arguments have changed and are not
+   backwards compatible.
+
 HTTP:
  - A bindaddr must be specified in order for the HTTP server
    to run. Previous versions would default to 0.0.0.0 if no

Modified: team/group/set-tonezone-trunk/addons/cdr_mysql.c
URL: http://svnview.digium.com/svn/asterisk/team/group/set-tonezone-trunk/addons/cdr_mysql.c?view=diff&rev=317718&r1=317717&r2=317718
==============================================================================
--- team/group/set-tonezone-trunk/addons/cdr_mysql.c (original)
+++ team/group/set-tonezone-trunk/addons/cdr_mysql.c Fri May  6 12:52:22 2011
@@ -325,7 +325,7 @@
 				ast_str_make_space(&escape, (valsz = strlen(value)) * 2 + 1);
 				mysql_real_escape_string(&mysql, ast_str_buffer(escape), value, valsz);
 
-				ast_str_append(&sql1, 0, "%s", entry->name);
+				ast_str_append(&sql1, 0, "`%s`", entry->name);
 				ast_str_append(&sql2, 0, "'%s'", ast_str_buffer(escape));
 			}
 		}
@@ -428,7 +428,7 @@
 	int res;
 	struct ast_config *cfg;
 	struct ast_variable *var;
-	struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 };
+	struct ast_flags config_flags = { 0 };
 	struct column *entry;
 	char *temp;
 	struct ast_str *compat;
@@ -439,6 +439,9 @@
 	my_bool my_bool_true = 1;
 #endif
 
+	/* Cannot use a conditionally different flag, because the table layout may
+	 * have changed, which is not detectable by config file change detection,
+	 * but should still cause the configuration to be re-parsed. */
 	cfg = ast_config_load(config, config_flags);
 	if (!cfg) {
 		ast_log(LOG_WARNING, "Unable to load config for mysql CDR's: %s\n", config);

Modified: team/group/set-tonezone-trunk/addons/chan_mobile.c
URL: http://svnview.digium.com/svn/asterisk/team/group/set-tonezone-trunk/addons/chan_mobile.c?view=diff&rev=317718&r1=317717&r2=317718
==============================================================================
--- team/group/set-tonezone-trunk/addons/chan_mobile.c (original)
+++ team/group/set-tonezone-trunk/addons/chan_mobile.c Fri May  6 12:52:22 2011
@@ -71,7 +71,7 @@
 #define DEVICE_FRAME_FORMAT AST_FORMAT_SLINEAR
 #define CHANNEL_FRAME_SIZE 320
 
-static format_t prefformat = DEVICE_FRAME_FORMAT;
+static struct ast_format prefformat;
 
 static int discovery_interval = 60;			/* The device discovery interval, default 60 seconds. */
 static pthread_t discovery_thread = AST_PTHREADT_NULL;	/* The discovery thread */
@@ -196,7 +196,7 @@
 
 static struct ast_channel *mbl_new(int state, struct mbl_pvt *pvt, char *cid_num,
 		const struct ast_channel *requestor);
-static struct ast_channel *mbl_request(const char *type, format_t format,
+static struct ast_channel *mbl_request(const char *type, struct ast_format_cap *cap,
 		const struct ast_channel *requestor, void *data, int *cause);
 static int mbl_call(struct ast_channel *ast, char *dest, int timeout);
 static int mbl_hangup(struct ast_channel *ast);
@@ -450,10 +450,9 @@
  * channel stuff
  */
 
-static const struct ast_channel_tech mbl_tech = {
+static struct ast_channel_tech mbl_tech = {
 	.type = "Mobile",
 	.description = "Bluetooth Mobile Device Channel Driver",
-	.capabilities = AST_FORMAT_SLINEAR,
 	.requester = mbl_request,
 	.call = mbl_call,
 	.hangup = mbl_hangup,
@@ -844,11 +843,11 @@
 	}
 
 	chn->tech = &mbl_tech;
-	chn->nativeformats = prefformat;
-	chn->rawreadformat = prefformat;
-	chn->rawwriteformat = prefformat;
-	chn->writeformat = prefformat;
-	chn->readformat = prefformat;
+	ast_format_cap_add(chn->nativeformats, &prefformat);
+	ast_format_copy(&chn->rawreadformat, &prefformat);
+	ast_format_copy(&chn->rawwriteformat, &prefformat);
+	ast_format_copy(&chn->writeformat, &prefformat);
+	ast_format_copy(&chn->readformat, &prefformat);
 	chn->tech_pvt = pvt;
 
 	if (state == AST_STATE_RING)
@@ -867,7 +866,7 @@
 	return NULL;
 }
 
-static struct ast_channel *mbl_request(const char *type, format_t format,
+static struct ast_channel *mbl_request(const char *type, struct ast_format_cap *cap,
 		const struct ast_channel *requestor, void *data, int *cause)
 {
 
@@ -875,7 +874,6 @@
 	struct mbl_pvt *pvt;
 	char *dest_dev = NULL;
 	char *dest_num = NULL;
-	format_t oldformat;
 	int group = -1;
 
 	if (!data) {
@@ -884,10 +882,9 @@
 		return NULL;
 	}
 
-	oldformat = format;
-	format &= (AST_FORMAT_SLINEAR);
-	if (!format) {
-		ast_log(LOG_WARNING, "Asked to get a channel of unsupported format '%s'\n", ast_getformatname(oldformat));
+	if (!(ast_format_cap_iscompatible(cap, &prefformat))) {
+		char tmp[256];
+		ast_log(LOG_WARNING, "Asked to get a channel of unsupported format '%s'\n", ast_getformatname_multiple(tmp, sizeof(tmp), cap));
 		*cause = AST_CAUSE_FACILITY_NOT_IMPLEMENTED;
 		return NULL;
 	}
@@ -1099,7 +1096,7 @@
 
 	memset(&pvt->fr, 0x00, sizeof(struct ast_frame));
 	pvt->fr.frametype = AST_FRAME_VOICE;
-	pvt->fr.subclass.codec = DEVICE_FRAME_FORMAT;
+	ast_format_set(&pvt->fr.subclass.format, DEVICE_FRAME_FORMAT, 0);
 	pvt->fr.src = "Mobile";
 	pvt->fr.offset = AST_FRIENDLY_OFFSET;
 	pvt->fr.mallocd = 0;
@@ -4534,6 +4531,7 @@
 	if (sdp_session)
 		sdp_close(sdp_session);
 
+	mbl_tech.capabilities = ast_format_cap_destroy(mbl_tech.capabilities);
 	return 0;
 }
 
@@ -4542,6 +4540,11 @@
 
 	int dev_id, s;
 
+	if (!(mbl_tech.capabilities = ast_format_cap_alloc())) {
+		return AST_MODULE_LOAD_DECLINE;
+	}
+	ast_format_set(&prefformat, DEVICE_FRAME_FORMAT, 0);
+	ast_format_cap_add(mbl_tech.capabilities, &prefformat);
 	/* Check if we have Bluetooth, no point loading otherwise... */
 	dev_id = hci_get_route(NULL);
 	s = hci_open_dev(dev_id);

Modified: team/group/set-tonezone-trunk/addons/chan_ooh323.c
URL: http://svnview.digium.com/svn/asterisk/team/group/set-tonezone-trunk/addons/chan_ooh323.c?view=diff&rev=317718&r1=317717&r2=317718
==============================================================================
--- team/group/set-tonezone-trunk/addons/chan_ooh323.c (original)
+++ team/group/set-tonezone-trunk/addons/chan_ooh323.c Fri May  6 12:52:22 2011
@@ -66,7 +66,7 @@
 static struct ast_jb_conf global_jbconf;
 
 /* Channel Definition */
-static struct ast_channel *ooh323_request(const char *type, format_t format, 
+static struct ast_channel *ooh323_request(const char *type, struct ast_format_cap *cap,
 			const struct ast_channel *requestor,  void *data, int *cause);
 static int ooh323_digit_begin(struct ast_channel *ast, char digit);
 static int ooh323_digit_end(struct ast_channel *ast, char digit, unsigned int duration);
@@ -82,7 +82,7 @@
 static enum ast_rtp_glue_result ooh323_get_rtp_peer(struct ast_channel *chan, struct ast_rtp_instance **rtp);
 static enum ast_rtp_glue_result ooh323_get_vrtp_peer(struct ast_channel *chan, struct ast_rtp_instance **rtp);
 static int ooh323_set_rtp_peer(struct ast_channel *chan, struct ast_rtp_instance *rtp, 
-          struct ast_rtp_instance *vrtp, struct ast_rtp_instance *trtp, format_t codecs, int nat_active);
+          struct ast_rtp_instance *vrtp, struct ast_rtp_instance *trtp, const struct ast_format_cap *codecs, int nat_active);
 
 static struct ast_udptl *ooh323_get_udptl_peer(struct ast_channel *chan);
 static int ooh323_set_udptl_peer(struct ast_channel *chan, struct ast_udptl *udptl);
@@ -92,10 +92,9 @@
 struct ooh323_peer *find_friend(const char *name, int port);
 
 
-static const struct ast_channel_tech ooh323_tech = {
+static struct ast_channel_tech ooh323_tech = {
 	.type = type,
 	.description = tdesc,
-	.capabilities = -1,
 	.properties = AST_CHAN_TP_WANTSJITTER | AST_CHAN_TP_CREATESJITTER,
 	.requester = ooh323_request,
 	.send_digit_begin = ooh323_digit_begin,
@@ -144,7 +143,7 @@
 	int faxmode;
 	int t38_tx_enable;
 	int t38_init;
-	struct sockaddr_in udptlredirip;
+	struct ast_sockaddr udptlredirip;
 	time_t lastTxT38;
 	int chmodepend;
 
@@ -172,9 +171,9 @@
 	char callee_url[AST_MAX_EXTENSION];
  
 	int port;
-	format_t readformat;   /* negotiated read format */
-	format_t writeformat;  /* negotiated write format */
-	format_t capability;
+	struct ast_format readformat;   /* negotiated read format */
+	struct ast_format writeformat;  /* negotiated write format */
+	struct ast_format_cap *cap;
 	struct ast_codec_pref prefs;
 	int dtmfmode;
 	int dtmfcodec;
@@ -184,6 +183,8 @@
 	int nat;
 	int amaflags;
 	int progsent;			/* progress is sent */
+	int alertsent;			/* alerting is sent */
+	int g729onlyA;			/* G.729 only A */
 	struct ast_dsp *vad;
 	struct OOH323Regex *rtpmask;	/* rtp ip regexp */
 	char rtpmaskstr[120];
@@ -204,18 +205,19 @@
 	unsigned    inUse;
 	char        accountcode[20];
 	int         amaflags;
-	format_t    capability;
+	struct ast_format_cap *cap;
 	struct ast_codec_pref prefs;
 	int         dtmfmode;
 	int	    dtmfcodec;
 	int	    t38support;
 	int         rtptimeout;
 	int         mUseIP;        /* Use IP address or H323-ID to search user */
-	char        mIP[20];
+	char        mIP[4*8+7+2];  /* Max for IPv6 - 2 brackets, 8 4hex, 7 - : */
 	struct OOH323Regex	    *rtpmask;
 	char	    rtpmaskstr[120];
 	int	    rtdrcount, rtdrinterval;
 	int	    faststart, h245tunneling;
+	int	    g729onlyA;
 	struct ooh323_user *next;
 };
 
@@ -225,7 +227,7 @@
 	char        name[256];
 	unsigned    outgoinglimit;
 	unsigned    outUse;
-	format_t    capability;
+	struct ast_format_cap *cap;
 	struct ast_codec_pref prefs;
 	char        accountcode[20];
 	int         amaflags;
@@ -233,7 +235,7 @@
 	int	    dtmfcodec;
 	int	    t38support;
 	int         mFriend;    /* indicates defined as friend */
-	char        ip[20];
+	char        ip[4*8+7+2]; /* Max for IPv6 - 2 brackets, 8 4hex, 7 - : */
 	int         port;
 	char        *h323id;    /* H323-ID alias, which asterisk will register with gk to reach this peer*/
 	char        *email;     /* Email alias, which asterisk will register with gk to reach this peer*/
@@ -244,6 +246,7 @@
 	char	    rtpmaskstr[120];
 	int	    rtdrcount,rtdrinterval;
 	int	    faststart, h245tunneling;
+	int	    g729onlyA;
 	struct ooh323_peer *next;
 };
 
@@ -283,10 +286,12 @@
 
 static char gLogFile[256] = DEFAULT_LOGFILE;
 static int  gPort = 1720;
-static char gIP[20];
+static char gIP[2+8*4+7];	/* Max for IPv6 addr */
+struct ast_sockaddr bindaddr;
+int v6mode = 0;
 static char gCallerID[AST_MAX_EXTENSION] = "";
 static struct ooAliases *gAliasList;
-static format_t gCapability = AST_FORMAT_ULAW;
+static struct ast_format_cap *gCap;
 static struct ast_codec_pref gPrefs;
 static int  gDTMFMode = H323_DTMF_RFC2833;
 static int  gDTMFCodec = 101;
@@ -301,6 +306,7 @@
 static int  gMediaWaitForConnect = 0;
 static int  gTOS = 0;
 static int  gRTPTimeout = 60;
+static int  g729onlyA = 0;
 static char gAccountcode[80] = DEFAULT_H323ACCNT;
 static int  gAMAFLAGS;
 static char gContext[AST_MAX_EXTENSION] = DEFAULT_CONTEXT;
@@ -337,14 +343,14 @@
 
 
 static struct ast_channel *ooh323_new(struct ooh323_pvt *i, int state,
-                                             const char *host, int capability, const char *linkedid) 
+                                             const char *host, struct ast_format_cap *cap, const char *linkedid) 
 {
 	struct ast_channel *ch = NULL;
-	int fmt = 0;
-	if (gH323Debug)
-		ast_verbose("---   ooh323_new - %s, %d\n", host, capability);
-
-
+	struct ast_format tmpfmt;
+	if (gH323Debug)
+		ast_verbose("---   ooh323_new - %s\n", host);
+
+	ast_format_clear(&tmpfmt);
 	/* Don't hold a h323 pvt lock while we allocate a channel */
 	ast_mutex_unlock(&i->lock);
    	ch = ast_channel_alloc(1, state, i->callerid_num, i->callerid_name, 
@@ -360,16 +366,14 @@
 		ast_channel_lock(ch);
 		ch->tech = &ooh323_tech;
 
-		if (capability)
-			fmt = ast_best_codec(capability);
-		if (!fmt) 
-			fmt = ast_codec_pref_index(&i->prefs, 0);
-
-		ch->nativeformats = ch->rawwriteformat = ch->rawreadformat = fmt;
-
-		ast_channel_set_fd(ch, 0, ast_rtp_instance_fd(i->rtp, 0));
-		ast_channel_set_fd(ch, 1, ast_rtp_instance_fd(i->rtp, 1));
-		ast_channel_set_fd(ch, 5, ast_udptl_fd(i->udptl));
+		if (cap)
+			ast_best_codec(cap, &tmpfmt);
+		if (!tmpfmt.id)
+			ast_codec_pref_index(&i->prefs, 0, &tmpfmt);
+
+		ast_format_cap_add(ch->nativeformats, &tmpfmt);
+		ast_format_copy(&ch->rawwriteformat, &tmpfmt);
+		ast_format_copy(&ch->rawreadformat, &tmpfmt);
 
 		ast_jb_configure(ch, &global_jbconf);
 
@@ -377,8 +381,8 @@
 			ch->rings = 1;
 
 		ch->adsicpe = AST_ADSI_UNAVAILABLE;
-		ast_set_write_format(ch, fmt);
-		ast_set_read_format(ch, fmt);
+		ast_set_write_format(ch, &tmpfmt);
+		ast_set_read_format(ch, &tmpfmt);
 		ch->tech_pvt = i;
 		i->owner = ch;
 		ast_module_ref(myself);
@@ -462,9 +466,7 @@
 static struct ooh323_pvt *ooh323_alloc(int callref, char *callToken) 
 {
 	struct ooh323_pvt *pvt = NULL;
-	struct sockaddr_in ouraddr;
-	struct ast_sockaddr tmp;
-	struct in_addr ipAddr;
+
 	if (gH323Debug)
 		ast_verbose("---   ooh323_alloc\n");
 
@@ -472,48 +474,21 @@
 		ast_log(LOG_ERROR, "Couldn't allocate private ooh323 structure\n");
 		return NULL;
 	}
+	if (!(pvt->cap = ast_format_cap_alloc_nolock())) {
+		ast_free(pvt);
+		ast_log(LOG_ERROR, "Couldn't allocate private ooh323 structure\n");
+		return NULL;
+	}
 
 	ast_mutex_init(&pvt->lock);
 	ast_mutex_lock(&pvt->lock);
 
-
-	if (!inet_aton(gIP, &ipAddr)) {
-		ast_log(LOG_ERROR, "Invalid OOH323 driver ip address\n");
-		ast_mutex_unlock(&pvt->lock);
-		ast_mutex_destroy(&pvt->lock);
-		ast_free(pvt);
-		return NULL;
-	}
-
-	ouraddr.sin_family = AF_INET;
-	ouraddr.sin_addr = ipAddr;
-	ast_sockaddr_from_sin(&tmp, &ouraddr);
-	if (!(pvt->rtp = ast_rtp_instance_new("asterisk", sched, &tmp, NULL))) {
-		ast_log(LOG_WARNING, "Unable to create RTP session: %s\n", 
-				  strerror(errno));
-		ast_mutex_unlock(&pvt->lock);
-		ast_mutex_destroy(&pvt->lock);
-		ast_free(pvt);
-		return NULL;
-	}
- 
-	ast_rtp_instance_set_qos(pvt->rtp, gTOS, 0, "ooh323-rtp");
-
-	if (!(pvt->udptl = ast_udptl_new_with_bindaddr(sched, io, 0, &tmp))) {
-		ast_log(LOG_WARNING, "Unable to create UDPTL session: %s\n",
-				strerror(errno));
-		ast_mutex_unlock(&pvt->lock);
-		ast_mutex_destroy(&pvt->lock);
-		ast_free(pvt);
-		return NULL;
-	}
-
-	ast_udptl_set_error_correction_scheme(pvt->udptl, UDPTL_ERROR_CORRECTION_NONE);
 	pvt->faxmode = 0;
 	pvt->t38support = gT38Support;
 	pvt->rtptimeout = gRTPTimeout;
 	pvt->rtdrinterval = gRTDRInterval;
 	pvt->rtdrcount = gRTDRCount;
+	pvt->g729onlyA = g729onlyA;
 
 	pvt->call_reference = callref;
 	if (callToken)
@@ -529,7 +504,7 @@
 	ast_copy_string(pvt->accountcode, gAccountcode, sizeof(pvt->accountcode));
 
 	pvt->amaflags = gAMAFLAGS;
-	pvt->capability = gCapability;
+	ast_format_cap_copy(pvt->cap, gCap);
 	memcpy(&pvt->prefs, &gPrefs, sizeof(pvt->prefs));
 
 	ast_mutex_unlock(&pvt->lock); 
@@ -549,7 +524,7 @@
 /*
 	Possible data values - peername, exten/peername, exten at ip
  */
-static struct ast_channel *ooh323_request(const char *type, format_t format,
+static struct ast_channel *ooh323_request(const char *type, struct ast_format_cap *cap,
 		const struct ast_channel *requestor, void *data, int *cause)
 
 {
@@ -560,17 +535,14 @@
 	char *ext = NULL;
 	char tmp[256];
 	char formats[FORMAT_STRING_SIZE];
-	int oldformat;
 	int port = 0;
 
 	if (gH323Debug)
 		ast_verbose("---   ooh323_request - data %s format %s\n", (char*)data,  
-										ast_getformatname_multiple(formats,FORMAT_STRING_SIZE,format));
-
-	oldformat = format;
-	format &= AST_FORMAT_AUDIO_MASK;
-	if (!format) {
-		ast_log(LOG_NOTICE, "Asked to get a channel of unsupported format '%lld'\n", (long long) format);
+										ast_getformatname_multiple(formats,FORMAT_STRING_SIZE,cap));
+
+	if (!(ast_format_cap_has_type(cap, AST_FORMAT_TYPE_AUDIO))) {
+		ast_log(LOG_NOTICE, "Asked to get a channel of unsupported format '%s'\n", ast_getformatname_multiple(formats,FORMAT_STRING_SIZE,cap));
 		return NULL;
 	}
 
@@ -633,8 +605,9 @@
 		if (ext)
 			ast_copy_string(p->exten, ext, sizeof(p->exten));
 
-		p->capability = peer->capability;
+		ast_format_cap_copy(p->cap, peer->cap);
 		memcpy(&p->prefs, &peer->prefs, sizeof(struct ast_codec_pref));
+		p->g729onlyA = peer->g729onlyA;
 		p->dtmfmode |= peer->dtmfmode;
 		p->dtmfcodec  = peer->dtmfcodec;
 		p->t38support = peer->t38support;
@@ -663,11 +636,12 @@
 			ast_mutex_unlock(&iflock);
 			return NULL;
 		}
+		p->g729onlyA = g729onlyA;
 		p->dtmfmode = gDTMFMode;
 		p->dtmfcodec = gDTMFCodec;
 		p->t38support = gT38Support;
 		p->rtptimeout = gRTPTimeout;
-		p->capability = gCapability;
+		ast_format_cap_copy(p->cap, gCap);
 		p->rtdrinterval = gRTDRInterval;
 		p->rtdrcount = gRTDRCount;
 		p->faststart = gFastStart;
@@ -686,7 +660,7 @@
 	}
 
 
-	chan = ooh323_new(p, AST_STATE_DOWN, p->username, format,
+	chan = ooh323_new(p, AST_STATE_DOWN, p->username, cap,
 				 requestor ? requestor->linkedid : NULL);
 	
 	ast_mutex_unlock(&p->lock);
@@ -697,7 +671,7 @@
 		ast_mutex_unlock(&iflock);
    	} else {
       		ast_mutex_lock(&p->lock);
-      		p->callToken = (char*)ast_malloc(AST_MAX_EXTENSION);
+      		p->callToken = (char*)ast_calloc(1, AST_MAX_EXTENSION);
       		if(!p->callToken) {
        			ast_mutex_unlock(&p->lock);
        			ast_mutex_lock(&iflock);
@@ -1140,16 +1114,16 @@
 			}
 
 
-			if (!(f->subclass.codec & ast->nativeformats)) {
-				if (ast->nativeformats != 0) {
+			if (!(ast_format_cap_iscompatible(ast->nativeformats, &f->subclass.format))) {
+				if (!(ast_format_cap_is_empty(ast->nativeformats))) {
 					ast_log(LOG_WARNING,
 							"Asked to transmit frame type %s, while native formats is %s (read/write = %s/%s)\n",
-							ast_getformatname(f->subclass.codec),
+							ast_getformatname(&f->subclass.format),
 							ast_getformatname_multiple(buf, sizeof(buf), ast->nativeformats),
-							ast_getformatname(ast->readformat),
-							ast_getformatname(ast->writeformat));
-
-					ast_set_write_format(ast, f->subclass.codec);
+							ast_getformatname(&ast->readformat),
+							ast_getformatname(&ast->writeformat));
+
+					ast_set_write_format(ast, &f->subclass.format);
 				} else {
 					/* ast_set_write_format(ast, f->subclass);
 					ast->nativeformats = f->subclass; */
@@ -1183,6 +1157,7 @@
 
 	struct ooh323_pvt *p = (struct ooh323_pvt *) ast->tech_pvt;
 	char *callToken = (char *)NULL;
+	int res = -1;
 
 	if (!p) return -1;
 
@@ -1223,39 +1198,49 @@
 	case AST_CONTROL_PROGRESS:
 		if (ast->_state != AST_STATE_UP) {
 	    		if (!p->progsent) {
-	     			if (gH323Debug) 
-					ast_log(LOG_DEBUG,"Sending manual progress for %s, res = %d\n", callToken,
+	     			if (gH323Debug) {
+					ast_debug(1, "Sending manual progress for %s, res = %d\n", callToken,
              				ooManualProgress(callToken));	
-				else
+				} else {
 	     				ooManualProgress(callToken);
+				}
 	     			p->progsent = 1;
 	    		}
 		}
 	    break;
       case AST_CONTROL_RINGING:
-	    if (ast->_state == AST_STATE_RING || ast->_state == AST_STATE_RINGING) {
-	    	if (gH323Debug) 
-			ast_log(LOG_DEBUG,"Sending manual ringback for %s, res = %d\n", 
-			callToken,
-            		ooManualRingback(callToken));
-		 else
-	    		ooManualRingback(callToken);
-	    }
+		if (ast->_state == AST_STATE_RING || ast->_state == AST_STATE_RINGING) {
+			if (!p->alertsent) {
+				if (gH323Debug) {
+					ast_debug(1, "Sending manual ringback for %s, res = %d\n",
+						callToken,
+						ooManualRingback(callToken));
+				} else {
+					ooManualRingback(callToken);
+				}
+				p->alertsent = 1;
+			}
+		}
 	 break;
 	case AST_CONTROL_SRCUPDATE:
-		ast_rtp_instance_update_source(p->rtp);
+		if (p->rtp) {
+			ast_rtp_instance_update_source(p->rtp);
+		}
 		break;
 	case AST_CONTROL_SRCCHANGE:
-		ast_rtp_instance_change_source(p->rtp);

[... 45752 lines stripped ...]



More information about the asterisk-commits mailing list