[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