[asterisk-commits] simon.perreault: branch group/v6 r84154 - in /team/group/v6/trunk: ./ apps/ b...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Oct 1 08:19:39 CDT 2007


Author: simon.perreault
Date: Mon Oct  1 08:19:38 2007
New Revision: 84154

URL: http://svn.digium.com/view/asterisk?view=rev&rev=84154
Log:
Merged revisions 83401,83431,83433,83466,83483-83484,83499-83500,83517,83532,83545,83574-83575,83590,83654-83656,83671,83696,83726,83741,83743,83758,83774,83804,83819,83834,83849,83864,83880,83911,83942,83944,83977-83978,83986,84019,84050,84079-84080,84115,84130,84134,84137,84143,84147 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

................
r83401 | file | 2007-09-21 09:36:02 -0400 (Fri, 21 Sep 2007) | 11 lines

Blocked revisions 83400 via svnmerge

........
r83400 | file | 2007-09-21 10:34:32 -0300 (Fri, 21 Sep 2007) | 4 lines

Fix video under certain circumstances. It would have been possible for the formats on the channel to not contain the video format.
(closes issue #10782)
Reported by: cwhuang

........

................
r83431 | tilghman | 2007-09-21 10:25:51 -0400 (Fri, 21 Sep 2007) | 2 lines

Check for the presence of trunc and round, and make the ISOC99 detection a little more sane (closes issue #10776)

................
r83433 | russell | 2007-09-21 10:40:10 -0400 (Fri, 21 Sep 2007) | 12 lines

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

........
r83432 | russell | 2007-09-21 09:37:20 -0500 (Fri, 21 Sep 2007) | 4 lines

gcc 4.2 has a new set of warnings dealing with cosnt pointers.  This set of
changes gets all of Asterisk (minus chan_alsa for now) to compile with gcc 4.2.
(closes issue #10774, patch from qwell)

........

................
r83466 | tilghman | 2007-09-21 13:36:17 -0400 (Fri, 21 Sep 2007) | 4 lines

Fix cdr_manager, such that if the config file is created past load, it'll
start logging (and conversely, if the config file is destroyed or deactivated,
the logging is disabled).  Reported by Juggie via IRC, fix by me.

................
r83483 | russell | 2007-09-21 14:27:56 -0400 (Fri, 21 Sep 2007) | 3 lines

Update app_queue to use commas as application argument separators.
(closes issue #10793, snar)

................
r83484 | tilghman | 2007-09-21 14:41:36 -0400 (Fri, 21 Sep 2007) | 2 lines

Fix some areas where we were still using '|' for an argument delimiter (closes issue #10793)

................
r83499 | mattf | 2007-09-21 15:54:07 -0400 (Fri, 21 Sep 2007) | 1 line

Add an SS7 readme for setup and use of libss7 and asterisk
................
r83500 | russell | 2007-09-21 15:55:03 -0400 (Fri, 21 Sep 2007) | 2 lines

Fix compilation errors in CLI command updates to SS7 CLI commands

................
r83517 | tilghman | 2007-09-21 22:07:53 -0400 (Fri, 21 Sep 2007) | 2 lines

Fixes for FreeBSD... testing for every conceivable math function now

................
r83532 | tilghman | 2007-09-22 10:03:48 -0400 (Sat, 22 Sep 2007) | 2 lines

Add the MeetmeList and Reload manager commands, which supplement the need to have Command privilege. (closes issue #10736)

................
r83545 | tilghman | 2007-09-22 10:45:42 -0400 (Sat, 22 Sep 2007) | 2 lines

Fix build of check_expr and hashtest2 when DEBUG_THREADLOCAL is defined

................
r83574 | mattf | 2007-09-22 13:37:07 -0400 (Sat, 22 Sep 2007) | 2 lines

Fix potential point of confusion

................
r83575 | murf | 2007-09-22 13:39:37 -0400 (Sat, 22 Sep 2007) | 9 lines

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

........
r83558 | murf | 2007-09-22 10:41:43 -0600 (Sat, 22 Sep 2007) | 1 line

This closes issue #10788 -- the 3rd arg in the for statement is now wrapped in Set() only if there's an '=' in that string. Otherwise, if it begins with '&', then a Macro call is generated; otherwise it is made into an app call. A bit more accomodating, keeps the new guys happy, and the guys with ael-1 code should be happy, too
........

................
r83590 | murf | 2007-09-22 15:54:10 -0400 (Sat, 22 Sep 2007) | 9 lines

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

........
r83589 | murf | 2007-09-22 13:39:16 -0600 (Sat, 22 Sep 2007) | 1 line

This closes issue #10788 -- The exact same fixes are made here for the first arg in the for(arg1; arg2; arg3) {} statement, as were done for the 3rd arg. It can now be an assignment that will embedded in a Set() app, or a macro call, or an app call.
........

................
r83654 | tilghman | 2007-09-24 12:40:12 -0400 (Mon, 24 Sep 2007) | 11 lines

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

........
r83637 | tilghman | 2007-09-24 10:17:06 -0500 (Mon, 24 Sep 2007) | 3 lines

Making change to group splitting, as discussed on the -dev list.  The main
effect of this will be to permit Set(GROUP([cat])=), i.e. unsetting a group.

........

................
r83655 | tilghman | 2007-09-24 12:42:48 -0400 (Mon, 24 Sep 2007) | 9 lines

Blocked revisions 83653 via svnmerge

........
r83653 | tilghman | 2007-09-24 11:37:52 -0500 (Mon, 24 Sep 2007) | 2 lines

Oops.  Removed the unworkable workaround.  This note should never have been in the release.

........

................
r83656 | mmichelson | 2007-09-24 13:00:57 -0400 (Mon, 24 Sep 2007) | 5 lines

interface_exists_global was never returning 1. Most likely an error from my merge on Friday.

(closes issue #10817, reported and patched by snar, patch simplified by me)


................
r83671 | dhubbard | 2007-09-24 13:10:14 -0400 (Mon, 24 Sep 2007) | 1 line

merged jcmoore's patch for configurable SDP origin-field username and session field, closes issue# 10795
................
r83696 | tilghman | 2007-09-24 13:29:02 -0400 (Mon, 24 Sep 2007) | 12 lines

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

........
r83695 | tilghman | 2007-09-24 12:22:08 -0500 (Mon, 24 Sep 2007) | 4 lines

In the source, keys are relative to the datadir, not varlib (which is the same
in most cases, but it's good to be accurate).
Closes issue #10811

........

................
r83726 | tilghman | 2007-09-24 18:06:19 -0400 (Mon, 24 Sep 2007) | 2 lines

Permit custom locations for astdb and the keys directory (though default to the current locations) (Closes issue #10267)

................
r83741 | russell | 2007-09-25 04:09:01 -0400 (Tue, 25 Sep 2007) | 3 lines

Add some files to the utils directory svn:ignore and Makefile clean target
(closes issue #10808, reported by mvanbaak)

................
r83743 | phsultan | 2007-09-25 05:07:30 -0400 (Tue, 25 Sep 2007) | 22 lines

Comply with latest XEP-0166, XEP-0167, XEP-0176.

No real Jingle implementation being available, testing was made using
two Asterisk servers relaying SIP calls over their Jingle channels:

SIP Phone 1 --- [chan_sip]Asterisk 1[chan_jingle] --- [chan_jingle]Asterisk 2[chan_sip] --- SIP Phone 2

Thus, it was possible to test the code in both ways, and make the
Jingle channel comply with the latest specifications. No sound available yet.

Main modifications include :
- modified the 'jingle_candidate' structure and the
  'jingle_create_candidates' function according to XEP-0176 ;
- modified the 'jingle_action' function in order to properly terminate
  a Jingle session, in conformance with XEP-0166 ;
- modified username format used in STUN requests ;
- actually make the bindaddr configuration field useable.

Todo :
- set audio paths up (no native bridging) ;
- make the CLI gtalk functions available to jingle ;
- clean up the storage space used in strings.
................
r83758 | file | 2007-09-25 09:41:02 -0400 (Tue, 25 Sep 2007) | 2 lines

Fix minor memory leak in pval.c. Overwriting a value without freeing the previous result is bad, mmmk?

................
r83774 | tilghman | 2007-09-25 10:18:09 -0400 (Tue, 25 Sep 2007) | 10 lines

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

........
r83773 | tilghman | 2007-09-25 09:13:25 -0500 (Tue, 25 Sep 2007) | 2 lines

jmls pointed out that unsetting the group and setting the group to the blank string aren't quite the same.

........

................
r83804 | phsultan | 2007-09-25 12:34:49 -0400 (Tue, 25 Sep 2007) | 2 lines

Added a CLI command that shows our buddy list, as suggested by Daniel McKeehan, thanks!

................
r83819 | russell | 2007-09-25 17:06:44 -0400 (Tue, 25 Sep 2007) | 4 lines

Don't note that functions are deprecated in favor of themselves.  This was
found by showing a very poor example doxygen function in a presentation this
morning.  :)

................
r83834 | mattf | 2007-09-25 19:14:03 -0400 (Tue, 25 Sep 2007) | 1 line

Fix typo in readme
................
r83849 | russell | 2007-09-26 02:31:05 -0400 (Wed, 26 Sep 2007) | 3 lines

Change function documentation to use doxygen tags.  (Really, I just needed
to make some minor change in trunk to test something with automerge ...)

................
r83864 | russell | 2007-09-26 02:53:43 -0400 (Wed, 26 Sep 2007) | 1 line

fix a typo in a comment
................
r83880 | tilghman | 2007-09-26 14:43:23 -0400 (Wed, 26 Sep 2007) | 10 lines

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

........
r83879 | tilghman | 2007-09-26 13:35:56 -0500 (Wed, 26 Sep 2007) | 2 lines

Remove unused 4k of memory on the program stack (closes issue #10827)

........

................
r83911 | russell | 2007-09-26 17:04:03 -0400 (Wed, 26 Sep 2007) | 11 lines

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

........
r83910 | russell | 2007-09-26 15:50:09 -0500 (Wed, 26 Sep 2007) | 3 lines

Fix building chan_misdn under dev-mode.  (please run the configure script
with --enable-dev-mode so this doesn't happen again ...)

........

................
r83942 | russell | 2007-09-26 17:17:41 -0400 (Wed, 26 Sep 2007) | 13 lines

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

........
r83941 | russell | 2007-09-26 16:15:15 -0500 (Wed, 26 Sep 2007) | 5 lines

Add a log message that was requested by the masses in the developer tutorial
session at Astricon.  chan_sip did not output any message when a call was
rejected because the extension was not found.  This adds a verbose message
(at verbose level 3) to note when this happens.

........

................
r83944 | russell | 2007-09-26 17:36:34 -0400 (Wed, 26 Sep 2007) | 10 lines

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

........
r83943 | russell | 2007-09-26 16:35:23 -0500 (Wed, 26 Sep 2007) | 2 lines

I changed my mind ... I think this should be a LOG_NOTICE.

........

................
r83977 | russell | 2007-09-26 20:02:18 -0400 (Wed, 26 Sep 2007) | 9 lines

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

........
r83976 | russell | 2007-09-26 19:01:29 -0500 (Wed, 26 Sep 2007) | 1 line

remove a todo item that has been completed
........

................
r83978 | kpfleming | 2007-09-26 20:06:06 -0400 (Wed, 26 Sep 2007) | 2 lines

deal with more gcc 4.2 const pointer warnings

................
r83986 | kpfleming | 2007-09-26 20:08:47 -0400 (Wed, 26 Sep 2007) | 10 lines

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

........
r83974 | kpfleming | 2007-09-26 16:53:03 -0700 (Wed, 26 Sep 2007) | 2 lines

avoid the weird usage of assert() in the ALSA header files that gcc 4.2 wants to complain about

........

................
r84019 | dhubbard | 2007-09-27 19:18:09 -0400 (Thu, 27 Sep 2007) | 9 lines

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

........
r84018 | dhubbard | 2007-09-27 18:12:25 -0500 (Thu, 27 Sep 2007) | 1 line

if an Agent is redirected, the base channel should actually be redirected.  This was causing multiple issues, especially issue 7706 and BE-160
........

................
r84050 | tilghman | 2007-09-28 01:37:16 -0400 (Fri, 28 Sep 2007) | 11 lines

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

........
r84049 | tilghman | 2007-09-28 00:30:22 -0500 (Fri, 28 Sep 2007) | 3 lines

Avoid a deadlock with ALL of the locks in the masquerade function, not just the
pairs of channels.  (Closes issue #10406)

........

................
r84079 | tilghman | 2007-09-28 10:22:58 -0400 (Fri, 28 Sep 2007) | 10 lines

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

........
r84078 | tilghman | 2007-09-28 09:13:47 -0500 (Fri, 28 Sep 2007) | 2 lines

Correct pronunciations of numbers for .nl (Closes issue #10837)

........

................
r84080 | tilghman | 2007-09-28 10:35:36 -0400 (Fri, 28 Sep 2007) | 2 lines

Autoconf requires version 2.60, not 2.59, to process (Closes issue #10842)

................
r84115 | mattf | 2007-09-28 20:19:15 -0400 (Fri, 28 Sep 2007) | 1 line

Let's use process time instead of wall clock time for show translation
................
r84130 | tilghman | 2007-09-29 14:21:36 -0400 (Sat, 29 Sep 2007) | 2 lines

Set enablecdr at the end of re-reading the config file (Closes issue #10852)

................
r84134 | murf | 2007-09-29 18:40:58 -0400 (Sat, 29 Sep 2007) | 1 line

the last commit for AEL affected a small number of tests. Added a regression test for glob'd includes
................
r84137 | murf | 2007-09-29 19:47:59 -0400 (Sat, 29 Sep 2007) | 9 lines

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

........
r84133 | murf | 2007-09-29 15:47:53 -0600 (Sat, 29 Sep 2007) | 1 line

This issue sort of closes 10786; All config files support #include with globbing (you know, *,[chars],?,{list,list},etc), so I've updated the AEL system to support this also.
........

................
r84143 | russell | 2007-09-29 23:05:04 -0400 (Sat, 29 Sep 2007) | 7 lines

* The documentation for the LOCK() function says that it will block for up to
  3 seconds while waiting on a lock when other locks are currently held to
  avoid deadlocks.  Change the code to reflect this.
* Since trying to grab a lock may block for some time, put the channel in
  autoservice so that audio is still read from the channel and that any
  active generators on the channel don't pause.

................
r84147 | russell | 2007-09-30 16:06:58 -0400 (Sun, 30 Sep 2007) | 12 lines

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

........
r84146 | russell | 2007-09-30 16:02:16 -0400 (Sun, 30 Sep 2007) | 4 lines

Fix the AST_MODULE_INFO macro for C++ modules.  The load and reload parameters
were in the wrong place.
(closes issue #10846, alebm)

........

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

Added:
    team/group/v6/trunk/doc/ss7.txt
      - copied unchanged from r84147, trunk/doc/ss7.txt
    team/group/v6/trunk/pbx/ael/ael-test/ael-ntest22/
      - copied from r84147, trunk/pbx/ael/ael-test/ael-ntest22/
    team/group/v6/trunk/pbx/ael/ael-test/ael-ntest22/extensions.ael
      - copied unchanged from r84147, trunk/pbx/ael/ael-test/ael-ntest22/extensions.ael
    team/group/v6/trunk/pbx/ael/ael-test/ael-ntest22/qq.ael
      - copied unchanged from r84147, trunk/pbx/ael/ael-test/ael-ntest22/qq.ael
    team/group/v6/trunk/pbx/ael/ael-test/ael-ntest22/t1/
      - copied from r84147, trunk/pbx/ael/ael-test/ael-ntest22/t1/
    team/group/v6/trunk/pbx/ael/ael-test/ael-ntest22/t1/a.ael
      - copied unchanged from r84147, trunk/pbx/ael/ael-test/ael-ntest22/t1/a.ael
    team/group/v6/trunk/pbx/ael/ael-test/ael-ntest22/t1/b.ael
      - copied unchanged from r84147, trunk/pbx/ael/ael-test/ael-ntest22/t1/b.ael
    team/group/v6/trunk/pbx/ael/ael-test/ael-ntest22/t1/c.ael
      - copied unchanged from r84147, trunk/pbx/ael/ael-test/ael-ntest22/t1/c.ael
    team/group/v6/trunk/pbx/ael/ael-test/ael-ntest22/t2/
      - copied from r84147, trunk/pbx/ael/ael-test/ael-ntest22/t2/
    team/group/v6/trunk/pbx/ael/ael-test/ael-ntest22/t2/d.ael
      - copied unchanged from r84147, trunk/pbx/ael/ael-test/ael-ntest22/t2/d.ael
    team/group/v6/trunk/pbx/ael/ael-test/ael-ntest22/t2/e.ael
      - copied unchanged from r84147, trunk/pbx/ael/ael-test/ael-ntest22/t2/e.ael
    team/group/v6/trunk/pbx/ael/ael-test/ael-ntest22/t2/f.ael
      - copied unchanged from r84147, trunk/pbx/ael/ael-test/ael-ntest22/t2/f.ael
    team/group/v6/trunk/pbx/ael/ael-test/ael-ntest22/t3/
      - copied from r84147, trunk/pbx/ael/ael-test/ael-ntest22/t3/
    team/group/v6/trunk/pbx/ael/ael-test/ael-ntest22/t3/g.ael
      - copied unchanged from r84147, trunk/pbx/ael/ael-test/ael-ntest22/t3/g.ael
    team/group/v6/trunk/pbx/ael/ael-test/ael-ntest22/t3/h.ael
      - copied unchanged from r84147, trunk/pbx/ael/ael-test/ael-ntest22/t3/h.ael
    team/group/v6/trunk/pbx/ael/ael-test/ael-ntest22/t3/i.ael
      - copied unchanged from r84147, trunk/pbx/ael/ael-test/ael-ntest22/t3/i.ael
    team/group/v6/trunk/pbx/ael/ael-test/ael-ntest22/t3/j.ael
      - copied unchanged from r84147, trunk/pbx/ael/ael-test/ael-ntest22/t3/j.ael
    team/group/v6/trunk/pbx/ael/ael-test/ref.ael-ntest22
      - copied unchanged from r84147, trunk/pbx/ael/ael-test/ref.ael-ntest22
    team/group/v6/trunk/utils/clicompat.c
      - copied unchanged from r84147, trunk/utils/clicompat.c
Modified:
    team/group/v6/trunk/   (props changed)
    team/group/v6/trunk/Makefile
    team/group/v6/trunk/apps/app_meetme.c
    team/group/v6/trunk/apps/app_queue.c
    team/group/v6/trunk/build_tools/make_defaults_h
    team/group/v6/trunk/cdr/cdr_manager.c
    team/group/v6/trunk/channels/chan_agent.c
    team/group/v6/trunk/channels/chan_alsa.c
    team/group/v6/trunk/channels/chan_h323.c
    team/group/v6/trunk/channels/chan_iax2.c
    team/group/v6/trunk/channels/chan_jingle.c
    team/group/v6/trunk/channels/chan_mgcp.c
    team/group/v6/trunk/channels/chan_misdn.c
    team/group/v6/trunk/channels/chan_sip.c
    team/group/v6/trunk/channels/chan_zap.c
    team/group/v6/trunk/channels/misdn_config.c
    team/group/v6/trunk/configs/sip.conf.sample
    team/group/v6/trunk/configure
    team/group/v6/trunk/configure.ac
    team/group/v6/trunk/funcs/func_lock.c
    team/group/v6/trunk/include/asterisk/autoconfig.h.in
    team/group/v6/trunk/include/asterisk/channel.h
    team/group/v6/trunk/include/asterisk/devicestate.h
    team/group/v6/trunk/include/asterisk/event.h
    team/group/v6/trunk/include/asterisk/file.h
    team/group/v6/trunk/include/asterisk/jingle.h
    team/group/v6/trunk/include/asterisk/module.h
    team/group/v6/trunk/include/asterisk/sched.h
    team/group/v6/trunk/main/app.c
    team/group/v6/trunk/main/ast_expr2.c
    team/group/v6/trunk/main/ast_expr2.fl
    team/group/v6/trunk/main/ast_expr2.h
    team/group/v6/trunk/main/ast_expr2.y
    team/group/v6/trunk/main/ast_expr2f.c
    team/group/v6/trunk/main/asterisk.c
    team/group/v6/trunk/main/cdr.c
    team/group/v6/trunk/main/channel.c
    team/group/v6/trunk/main/db1-ast/hash/hash.c
    team/group/v6/trunk/main/dnsmgr.c
    team/group/v6/trunk/main/file.c
    team/group/v6/trunk/main/manager.c
    team/group/v6/trunk/main/rtp.c
    team/group/v6/trunk/main/say.c
    team/group/v6/trunk/main/sched.c
    team/group/v6/trunk/main/translate.c
    team/group/v6/trunk/pbx/ael/ael-test/ref.ael-test2
    team/group/v6/trunk/pbx/ael/ael-test/ref.ael-test3
    team/group/v6/trunk/pbx/ael/ael-test/ref.ael-test4
    team/group/v6/trunk/pbx/pbx_ael.c
    team/group/v6/trunk/pbx/pbx_dundi.c
    team/group/v6/trunk/res/ael/ael.flex
    team/group/v6/trunk/res/ael/ael.tab.c
    team/group/v6/trunk/res/ael/ael.y
    team/group/v6/trunk/res/ael/ael_lex.c
    team/group/v6/trunk/res/ael/pval.c
    team/group/v6/trunk/res/res_config_pgsql.c
    team/group/v6/trunk/res/res_jabber.c
    team/group/v6/trunk/utils/   (props changed)
    team/group/v6/trunk/utils/Makefile
    team/group/v6/trunk/utils/ael_main.c
    team/group/v6/trunk/utils/hashtest2.c

Propchange: team/group/v6/trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-blocked' - no diff available.

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

Propchange: team/group/v6/trunk/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Mon Oct  1 08:19:38 2007
@@ -1,1 +1,1 @@
-/trunk:1-83398
+/trunk:1-84153

Modified: team/group/v6/trunk/Makefile
URL: http://svn.digium.com/view/asterisk/team/group/v6/trunk/Makefile?view=diff&rev=84154&r1=84153&r2=84154
==============================================================================
--- team/group/v6/trunk/Makefile (original)
+++ team/group/v6/trunk/Makefile Mon Oct  1 08:19:38 2007
@@ -108,6 +108,8 @@
   ASTETCDIR=/var/etc/asterisk
   ASTLIBDIR=/opt/asterisk/lib
   ASTVARLIBDIR=/var/opt/asterisk
+  ASTDBDIR=$(ASTVARLIBDIR)
+  ASTKEYDIR=$(ASTVARLIBDIR)
   ASTSPOOLDIR=/var/spool/asterisk
   ASTLOGDIR=/var/log/asterisk
   ASTHEADERDIR=/opt/asterisk/include
@@ -128,9 +130,12 @@
 ifneq ($(findstring BSD,$(OSARCH)),)
   ASTVARLIBDIR=$(prefix)/share/asterisk
   ASTVARRUNDIR=$(localstatedir)/run/asterisk
+  ASTDBDIR=$(localstatedir)/db/asterisk
 else
   ASTVARLIBDIR=$(localstatedir)/lib/asterisk
-endif
+  ASTDBDIR=$(ASTVARLIBDIR)
+endif
+  ASTKEYDIR=$(ASTVARLIBDIR)
 endif
 ifeq ($(ASTDATADIR),)
   ASTDATADIR:=$(ASTVARLIBDIR)
@@ -556,6 +561,8 @@
 		echo "astetcdir => $(ASTETCDIR)" ; \
 		echo "astmoddir => $(MODULES_DIR)" ; \
 		echo "astvarlibdir => $(ASTVARLIBDIR)" ; \
+		echo "astdbdir => $(ASTDBDIR)" ; \
+		echo "astkeydir => $(ASTKEYDIR)" ; \
 		echo "astdatadir => $(ASTDATADIR)" ; \
 		echo "astagidir => $(AGI_DIR)" ; \
 		echo "astspooldir => $(ASTSPOOLDIR)" ; \

Modified: team/group/v6/trunk/apps/app_meetme.c
URL: http://svn.digium.com/view/asterisk/team/group/v6/trunk/apps/app_meetme.c?view=diff&rev=84154&r1=84153&r2=84154
==============================================================================
--- team/group/v6/trunk/apps/app_meetme.c (original)
+++ team/group/v6/trunk/apps/app_meetme.c Mon Oct  1 08:19:38 2007
@@ -3099,6 +3099,81 @@
 	return meetmemute(s, m, 0);
 }
 
+static char mandescr_meetmelist[] =
+"Description: Lists all users in a particular MeetMe conference.\n"
+"MeetmeList will follow as separate events, followed by a final event called\n"
+"MeetmeListComplete.\n"
+"Variables:\n"
+"    *ActionId: <id>\n"
+"    *Conference: <confno>\n";
+
+static int action_meetmelist(struct mansession *s, const struct message *m)
+{
+	const char *actionid = astman_get_header(m, "ActionID");
+	const char *conference = astman_get_header(m, "Conference");
+	char idText[80] = "";
+	struct ast_conference *cnf;
+	struct ast_conf_user *user;
+	int total = 0;
+
+	if (!ast_strlen_zero(actionid))
+		snprintf(idText, sizeof(idText), "ActionID: %s\r\n", actionid);
+
+	if (AST_LIST_EMPTY(&confs)) {
+		astman_send_error(s, m, "No active conferences.");
+		return 0;
+	}
+
+	astman_send_listack(s, m, "Meetme user list will follow", "start");
+
+	/* Find the right conference */
+	AST_LIST_LOCK(&confs);
+	AST_LIST_TRAVERSE(&confs, cnf, list) {
+		/* If we ask for one particular, and this isn't it, skip it */
+		if (!ast_strlen_zero(conference) && strcmp(cnf->confno, conference))
+			continue;
+
+		/* Show all the users */
+		AST_LIST_TRAVERSE(&cnf->userlist, user, list) {
+			total++;
+			astman_append(s,
+			"Event: MeetmeList\r\n"
+			"%s"
+			"Conference: %s\r\n"
+			"UserNumber: %d\r\n"
+			"CallerIDNum: %s\r\n"
+			"CallerIDName: %s\r\n"
+			"Channel: %s\r\n"
+			"Admin: %s\r\n"
+			"Role: %s\r\n"
+			"MarkedUser: %s\r\n"
+			"Muted: %s\r\n"
+			"Talking: %s\r\n"
+			"\r\n",
+			idText,
+			cnf->confno,
+			user->user_no,
+			S_OR(user->chan->cid.cid_num, "<unknown>"),
+			S_OR(user->chan->cid.cid_name, "<no name>"),
+			user->chan->name,
+			user->userflags & CONFFLAG_ADMIN ? "Yes" : "No",
+			user->userflags & CONFFLAG_MONITOR ? "Listen only" : user->userflags & CONFFLAG_TALKER ? "Talk only" : "Talk and listen",
+			user->userflags & CONFFLAG_MARKEDUSER ? "Yes" : "No",
+			user->adminflags & ADMINFLAG_MUTED ? "By admin" : user->adminflags & ADMINFLAG_SELFMUTED ? "By self" : "No",
+			user->talking > 0 ? "Yes" : user->talking == 0 ? "No" : "Not monitored"); 
+		}
+	}
+	AST_LIST_UNLOCK(&confs);
+	/* Send final confirmation */
+	astman_append(s,
+	"Event: MeetmeListComplete\r\n"
+	"EventList: Complete\r\n"
+	"ListItems: %d\r\n"
+	"%s"
+	"\r\n", total, idText);
+	return 0;
+}
+
 static void *recordthread(void *args)
 {
 	struct ast_conference *cnf = args;
@@ -4976,6 +5051,7 @@
 	ast_cli_unregister_multiple(cli_meetme, ARRAY_LEN(cli_meetme));
 	res = ast_manager_unregister("MeetmeMute");
 	res |= ast_manager_unregister("MeetmeUnmute");
+	res |= ast_manager_unregister("MeetmeList");
 	res |= ast_unregister_application(app4);
 	res |= ast_unregister_application(app3);
 	res |= ast_unregister_application(app2);
@@ -5002,6 +5078,8 @@
 				    action_meetmemute, "Mute a Meetme user");
 	res |= ast_manager_register("MeetmeUnmute", EVENT_FLAG_CALL, 
 				    action_meetmeunmute, "Unmute a Meetme user");
+	res |= ast_manager_register2("MeetmeList", EVENT_FLAG_REPORTING, 
+				    action_meetmelist, "List participants in a conference", mandescr_meetmelist);
 	res |= ast_register_application(app4, channel_admin_exec, synopsis4, descrip4);
 	res |= ast_register_application(app3, admin_exec, synopsis3, descrip3);
 	res |= ast_register_application(app2, count_exec, synopsis2, descrip2);

Modified: team/group/v6/trunk/apps/app_queue.c
URL: http://svn.digium.com/view/asterisk/team/group/v6/trunk/apps/app_queue.c?view=diff&rev=84154&r1=84153&r2=84154
==============================================================================
--- team/group/v6/trunk/apps/app_queue.c (original)
+++ team/group/v6/trunk/apps/app_queue.c Mon Oct  1 08:19:38 2007
@@ -884,6 +884,7 @@
 			ao2_ref(mem, -1);
 			ao2_unlock(q);
 			queue_unref(q);
+			ret = 1;
 			break;
 		}
 		ao2_unlock(q);
@@ -2858,16 +2859,28 @@
 				monitorfilename = pbx_builtin_getvar_helper(qe->chan, "MONITOR_FILENAME");
 				if (!monitorfilename) {
 					if (qe->chan->cdr)
-						ast_copy_string(tmpid, qe->chan->cdr->uniqueid, sizeof(tmpid)-1);
+						ast_copy_string(tmpid, qe->chan->cdr->uniqueid, sizeof(tmpid));
 					else
 						snprintf(tmpid, sizeof(tmpid), "chan-%lx", ast_random());
 				} else {
-					ast_copy_string(tmpid2, monitorfilename, sizeof(tmpid2)-1);
-					for (p = tmpid2; *p ; p++) {
-						if (*p == '^' && *(p+1) == '{') {
-							*p = '$';
+					const char *m = monitorfilename;
+					for (p = tmpid2; p < tmpid2 + sizeof(tmpid2) - 1; p++, m++) {
+						switch (*m) {
+						case '^':
+							if (*(m + 1) == '{')
+								*p = '$';
+							break;
+						case ',':
+							*p++ = '\\';
+							/* Fall through */
+						default:
+							*p = *m;
 						}
+						if (*m == '\0')
+							break;
 					}
+					if (p == tmpid2 + sizeof(tmpid2))
+						tmpid2[sizeof(tmpid2) - 1] = '\0';
 
 					memset(tmpid, 0, sizeof(tmpid));
 					pbx_substitute_variables_helper(qe->chan, tmpid2, tmpid, sizeof(tmpid) - 1);
@@ -2877,40 +2890,42 @@
 				monitor_options = pbx_builtin_getvar_helper(qe->chan, "MONITOR_OPTIONS");
 
 				if (monitor_exec) {
-					ast_copy_string(meid2, monitor_exec, sizeof(meid2)-1);
-					for (p = meid2; *p ; p++) {
-						if (*p == '^' && *(p+1) == '{') {
-							*p = '$';
+					const char *m = monitor_exec;
+					for (p = meid2; p < meid2 + sizeof(meid2) - 1; p++, m++) {
+						switch (*m) {
+						case '^':
+							if (*(m + 1) == '{')
+								*p = '$';
+							break;
+						case ',':
+							*p++ = '\\';
+							/* Fall through */
+						default:
+							*p = *m;
 						}
+						if (*m == '\0')
+							break;
 					}
+					if (p == meid2 + sizeof(meid2))
+						meid2[sizeof(meid2) - 1] = '\0';
 
 					memset(meid, 0, sizeof(meid));
 					pbx_substitute_variables_helper(qe->chan, meid2, meid, sizeof(meid) - 1);
 				}
 	
-				snprintf(tmpid2, sizeof(tmpid2)-1, "%s.%s", tmpid, qe->parent->monfmt);
+				snprintf(tmpid2, sizeof(tmpid2), "%s.%s", tmpid, qe->parent->monfmt);
 
 				mixmonapp = pbx_findapp("MixMonitor");
-
-				if (strchr(tmpid2, '|')) {
-					ast_log(LOG_WARNING, "monitor-format (in queues.conf) and MONITOR_FILENAME cannot contain a '|'! Not recording.\n");
-					mixmonapp = NULL;
-				}
 
 				if (!monitor_options)
 					monitor_options = "";
 				
-				if (strchr(monitor_options, '|')) {
-					ast_log(LOG_WARNING, "MONITOR_OPTIONS cannot contain a '|'! Not recording.\n");
-					mixmonapp = NULL;
-				}
-
 				if (mixmonapp) {
 					if (!ast_strlen_zero(monitor_exec))
-						snprintf(mixmonargs, sizeof(mixmonargs)-1, "%s|b%s|%s", tmpid2, monitor_options, monitor_exec);
+						snprintf(mixmonargs, sizeof(mixmonargs), "%s,b%s,%s", tmpid2, monitor_options, monitor_exec);
 					else
-						snprintf(mixmonargs, sizeof(mixmonargs)-1, "%s|b%s", tmpid2, monitor_options);
-						
+						snprintf(mixmonargs, sizeof(mixmonargs), "%s,b%s", tmpid2, monitor_options);
+
 					ast_debug(1, "Arguments being passed to MixMonitor: %s\n", mixmonargs);
 					/* We purposely lock the CDR so that pbx_exec does not update the application data */
 					if (qe->chan->cdr)
@@ -2950,7 +2965,7 @@
 			}
 			
 			app = pbx_findapp("Macro");
-			
+
 			if (app) {
 				res = pbx_exec(qe->chan, app, macroexec);
 				ast_debug(1, "Macro exited with status %d\n", res);
@@ -2959,7 +2974,7 @@
 				ast_log(LOG_ERROR, "Could not find application Macro\n");
 				res = -1;
 			}
-		
+
 			if (ast_autoservice_stop(qe->chan) < 0) {
 				ast_log(LOG_ERROR, "Could not stop autoservice on calling channel\n");
 				res = -1;
@@ -2995,13 +3010,13 @@
 				ast_copy_string(qe->chan->exten, "s", sizeof(qe->chan->exten));
 				qe->chan->priority = 0;
 
-				gosub_argstart = strchr(gosubexec, '|');
+				gosub_argstart = strchr(gosubexec, ',');
 				if (gosub_argstart) {
 					*gosub_argstart = 0;
-					asprintf(&gosub_args, "%s|s|1(%s)", gosubexec, gosub_argstart + 1);
+					asprintf(&gosub_args, "%s,s,1(%s)", gosubexec, gosub_argstart + 1);
 					*gosub_argstart = '|';
 				} else {
-					asprintf(&gosub_args, "%s|s|1", gosubexec);
+					asprintf(&gosub_args, "%s,s,1", gosubexec);
 				}
 				if (gosub_args) {
 					res = pbx_exec(qe->chan, app, gosub_args);

Modified: team/group/v6/trunk/build_tools/make_defaults_h
URL: http://svn.digium.com/view/asterisk/team/group/v6/trunk/build_tools/make_defaults_h?view=diff&rev=84154&r1=84153&r2=84154
==============================================================================
--- team/group/v6/trunk/build_tools/make_defaults_h (original)
+++ team/group/v6/trunk/build_tools/make_defaults_h Mon Oct  1 08:19:38 2007
@@ -14,7 +14,7 @@
 #define AST_DATA_DIR   "${INSTALL_PATH}${ASTDATADIR}"
 #define AST_LOG_DIR    "${INSTALL_PATH}${ASTLOGDIR}"
 #define AST_AGI_DIR    "${INSTALL_PATH}${AGI_DIR}"
-#define AST_KEY_DIR    "${INSTALL_PATH}${ASTVARLIBDIR}/keys"
+#define AST_KEY_DIR    "${INSTALL_PATH}${ASTDATADIR}/keys"
 #define AST_DB         "${INSTALL_PATH}${ASTVARLIBDIR}/astdb"
 #define AST_TMP_DIR    "${INSTALL_PATH}${ASTSPOOLDIR}/tmp"
 

Modified: team/group/v6/trunk/cdr/cdr_manager.c
URL: http://svn.digium.com/view/asterisk/team/group/v6/trunk/cdr/cdr_manager.c?view=diff&rev=84154&r1=84153&r2=84154
==============================================================================
--- team/group/v6/trunk/cdr/cdr_manager.c (original)
+++ team/group/v6/trunk/cdr/cdr_manager.c Mon Oct  1 08:19:38 2007
@@ -52,12 +52,15 @@
 static int enablecdr = 0;
 struct ast_str *customfields;
 
+static int manager_log(struct ast_cdr *cdr);
+
 static int load_config(int reload)
 {
 	char *cat = NULL;
 	struct ast_config *cfg;
 	struct ast_variable *v;
 	struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 };
+	int newenablecdr = 0;
 
 	cfg = ast_config_load(CONF_FILE, config_flags);
 	if (cfg == CONFIG_STATUS_FILEUNCHANGED)
@@ -71,6 +74,8 @@
 	if (!cfg) {
 		/* Standard configuration */
 		ast_log(LOG_WARNING, "Failed to load configuration file. Module not activated.\n");
+		if (enablecdr)
+			ast_cdr_unregister(name);
 		enablecdr = 0;
 		return 0;
 	}
@@ -79,9 +84,8 @@
 		if (!strcasecmp(cat, "general")) {
 			v = ast_variable_browse(cfg, cat);
 			while (v) {
-				if (!strcasecmp(v->name, "enabled")) {
-					enablecdr = ast_true(v->value);
-				}
+				if (!strcasecmp(v->name, "enabled"))
+					newenablecdr = ast_true(v->value);
 				
 				v = v->next;
 			}
@@ -105,6 +109,13 @@
 	}
 	
 	ast_config_destroy(cfg);
+
+	if (enablecdr && !newenablecdr)
+		ast_cdr_unregister(name);
+	else if (!enablecdr && newenablecdr)
+		ast_cdr_register(name, "Asterisk Manager Interface CDR Backend", manager_log);
+	enablecdr = newenablecdr;
+
 	return 1;
 }
 
@@ -178,18 +189,11 @@
 
 static int load_module(void)
 {
-	int res;
-
 	/* Configuration file */
 	if (!load_config(0))
 		return AST_MODULE_LOAD_DECLINE;
-	
-	res = ast_cdr_register(name, "Asterisk Manager Interface CDR Backend", manager_log);
-	if (res) {
-		ast_log(LOG_ERROR, "Unable to register Asterisk Call Manager CDR handling\n");
-	}
-	
-	return res;
+
+	return AST_MODULE_LOAD_SUCCESS;
 }
 
 static int reload(void)

Modified: team/group/v6/trunk/channels/chan_agent.c
URL: http://svn.digium.com/view/asterisk/team/group/v6/trunk/channels/chan_agent.c?view=diff&rev=84154&r1=84153&r2=84154
==============================================================================
--- team/group/v6/trunk/channels/chan_agent.c (original)
+++ team/group/v6/trunk/channels/chan_agent.c Mon Oct  1 08:19:38 2007
@@ -231,6 +231,8 @@
 static struct ast_channel *agent_bridgedchannel(struct ast_channel *chan, struct ast_channel *bridge);
 static void set_agentbycallerid(const char *callerid, const char *agent);
 static char *complete_agent_logoff_cmd(const char *line, const char *word, int pos, int state);
+static struct ast_channel* agent_get_base_channel(struct ast_channel *chan);
+static int agent_set_base_channel(struct ast_channel *chan, struct ast_channel *base);
 
 /*! \brief Channel interface description for PBX integration */
 static const struct ast_channel_tech agent_tech = {
@@ -253,6 +255,8 @@
 	.indicate = agent_indicate,
 	.fixup = agent_fixup,
 	.bridged_channel = agent_bridgedchannel,
+	.get_base_channel = agent_get_base_channel,
+	.set_base_channel = agent_set_base_channel,
 };
 
 /*!
@@ -696,6 +700,37 @@
 
 	snprintf(buf, sizeof(buf), "%s_%s", GETAGENTBYCALLERID, callerid);
 	pbx_builtin_setvar_helper(NULL, buf, agent);
+}
+
+struct ast_channel* agent_get_base_channel(struct ast_channel *chan)
+{
+	struct agent_pvt *p = NULL;
+	struct ast_channel *base = NULL;
+	
+	if (!chan || !chan->tech_pvt) {
+		ast_log(LOG_ERROR, "whoa, you need a channel (0x%ld) with a tech_pvt (0x%ld) to get a base channel.\n", (long)chan, (chan)?(long)chan->tech_pvt:(long)NULL);
+	} else {
+		p = chan->tech_pvt;
+		base = p->chan;
+	}
+	return base;
+}
+
+int agent_set_base_channel(struct ast_channel *chan, struct ast_channel *base)
+{
+	struct agent_pvt *p = NULL;
+	
+	if (!chan || !base) {
+		ast_log(LOG_ERROR, "whoa, you need a channel (0x%ld) and a base channel (0x%ld) for setting.\n", (long)chan, (long)base);
+		return -1;
+	}
+	p = chan->tech_pvt;
+	if (!p) {
+		ast_log(LOG_ERROR, "whoa, channel %s is missing his tech_pvt structure!!.\n", chan->name);
+		return -1;
+	}
+	p->chan = base;
+	return 0;
 }
 
 static int agent_hangup(struct ast_channel *ast)

Modified: team/group/v6/trunk/channels/chan_alsa.c
URL: http://svn.digium.com/view/asterisk/team/group/v6/trunk/channels/chan_alsa.c?view=diff&rev=84154&r1=84153&r2=84154
==============================================================================
--- team/group/v6/trunk/channels/chan_alsa.c (original)
+++ team/group/v6/trunk/channels/chan_alsa.c Mon Oct  1 08:19:38 2007
@@ -368,7 +368,8 @@
 		ast_debug(1, "Opening device %s in %s mode\n", dev, (stream == SND_PCM_STREAM_CAPTURE) ? "read" : "write");
 	}
 
-	snd_pcm_hw_params_alloca(&hwparams);
+	hwparams = alloca(snd_pcm_hw_params_sizeof());
+	memset(hwparams, 0, snd_pcm_hw_params_sizeof());
 	snd_pcm_hw_params_any(handle, hwparams);
 
 	err = snd_pcm_hw_params_set_access(handle, hwparams, SND_PCM_ACCESS_RW_INTERLEAVED);
@@ -419,7 +420,8 @@
 	if (err < 0)
 		ast_log(LOG_ERROR, "Couldn't set the new hw params: %s\n", snd_strerror(err));
 
-	snd_pcm_sw_params_alloca(&swparams);
+	swparams = alloca(snd_pcm_sw_params_sizeof());
+	memset(swparams, 0, snd_pcm_sw_params_sizeof());
 	snd_pcm_sw_params_current(handle, swparams);
 
 #if 1

Modified: team/group/v6/trunk/channels/chan_h323.c
URL: http://svn.digium.com/view/asterisk/team/group/v6/trunk/channels/chan_h323.c?view=diff&rev=84154&r1=84153&r2=84154
==============================================================================
--- team/group/v6/trunk/channels/chan_h323.c (original)
+++ team/group/v6/trunk/channels/chan_h323.c Mon Oct  1 08:19:38 2007
@@ -311,9 +311,9 @@
 	ast_free(peer);
 }
 
-static int oh323_simulate_dtmf_end(void *data)
-{
-	struct oh323_pvt *pvt = data;
+static int oh323_simulate_dtmf_end(const void *data)
+{
+	struct oh323_pvt *pvt = (struct oh323_pvt *)data;
 
 	if (pvt) {
 		ast_mutex_lock(&pvt->lock);

Modified: team/group/v6/trunk/channels/chan_iax2.c
URL: http://svn.digium.com/view/asterisk/team/group/v6/trunk/channels/chan_iax2.c?view=diff&rev=84154&r1=84153&r2=84154
==============================================================================
--- team/group/v6/trunk/channels/chan_iax2.c (original)
+++ team/group/v6/trunk/channels/chan_iax2.c Mon Oct  1 08:19:38 2007
@@ -738,8 +738,8 @@
 	enum iax2_thread_type type;
 	enum iax2_thread_iostate iostate;
 #ifdef SCHED_MULTITHREADED
-	void (*schedfunc)(void *);
-	void *scheddata;
+	void (*schedfunc)(const void *);
+	const void *scheddata;
 #endif
 #ifdef DEBUG_SCHED_MULTITHREAD
 	char curfunc[80];
@@ -873,7 +873,7 @@
 static struct timeval lastused[IAX_MAX_CALLS];
 
 static enum ast_bridge_result iax2_bridge(struct ast_channel *c0, struct ast_channel *c1, int flags, struct ast_frame **fo, struct ast_channel **rc, int timeoutms);
-static int expire_registry(void *data);
+static int expire_registry(const void *data);
 static int iax2_answer(struct ast_channel *c);
 static int iax2_call(struct ast_channel *c, char *dest, int timeout);
 static int iax2_devicestate(void *data);
@@ -1075,7 +1075,7 @@
 }
 
 #ifdef SCHED_MULTITHREADED
-static int __schedule_action(void (*func)(void *data), void *data, const char *funcname)
+static int __schedule_action(void (*func)(const void *data), const void *data, const char *funcname)
 {
 	struct iax2_thread *thread = NULL;
 	static time_t lasterror;
@@ -1103,7 +1103,7 @@
 #define schedule_action(func, data) __schedule_action(func, data, __PRETTY_FUNCTION__)
 #endif
 
-static int iax2_sched_replace(int old_id, struct sched_context *con, int when, ast_sched_cb callback, void *data)
+static int iax2_sched_replace(int old_id, struct sched_context *con, int when, ast_sched_cb callback, const void *data)
 {
 	int res;
 
@@ -1113,7 +1113,7 @@
 	return res;
 }
 
-static int iax2_sched_add(struct sched_context *con, int when, ast_sched_cb callback, void *data)
+static int iax2_sched_add(struct sched_context *con, int when, ast_sched_cb callback, const void *data)
 {
 	int res;
 
@@ -1123,9 +1123,9 @@
 	return res;
 }
 
-static int send_ping(void *data);
-
-static void __send_ping(void *data)
+static int send_ping(const void *data);
+
+static void __send_ping(const void *data)
 {
 	int callno = (long)data;
 	ast_mutex_lock(&iaxsl[callno]);
@@ -1136,7 +1136,7 @@
 	ast_mutex_unlock(&iaxsl[callno]);
 }
 
-static int send_ping(void *data)
+static int send_ping(const void *data)
 {
 #ifdef SCHED_MULTITHREADED
 	if (schedule_action(__send_ping, data))
@@ -1157,9 +1157,9 @@
 	return e;
 }
 

[... 21536 lines stripped ...]



More information about the asterisk-commits mailing list