[svn-commits] murf: branch murf/bug11210 r99165 - in /team/murf/bug11210: ./ apps/ build_to...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Tue Jan 22 10:38:51 CST 2008


Author: murf
Date: Fri Jan 18 21:27:35 2008
New Revision: 99165

URL: http://svn.digium.com/view/asterisk?view=rev&rev=99165
Log:
Merged revisions 98935,98944-98945,98947-98948,98952-98954,98956,98959,98961-98962,98965,98967-98969,98971,98974-98975,98978,98981,98983-98990,98992-98994,98998,99002,99006,99008-99009,99011,99015,99017-99018,99026,99080,99082,99085,99128 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

................
r98935 | file | 2008-01-15 13:10:20 -0700 (Tue, 15 Jan 2008) | 12 lines

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

........
r98934 | file | 2008-01-15 16:08:43 -0400 (Tue, 15 Jan 2008) | 4 lines

Based on the boundary found move over the correct amount.
(closes issue #11750)
Reported by: tasker

........

................
r98944 | russell | 2008-01-15 16:31:53 -0700 (Tue, 15 Jan 2008) | 33 lines

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

........
r98943 | russell | 2008-01-15 17:26:52 -0600 (Tue, 15 Jan 2008) | 25 lines

Commit a fix for some memory access errors pointed out by the valgrind2.txt
output on issue #11698.

The issue here is that it is possible for an instance of a translator to get
destroyed while the frame allocated as a part of the translator is still being
processed.  Specifically, this is possible anywhere between a call to ast_read()
and ast_frame_free(), which is _a lot_ of places in the code.  The reason this
happens is that the channel might get masqueraded during this time.  During a
masquerade, existing translation paths get destroyed.

So, this patch fixes the issue in an API and ABI compatible way.  (This one is
 for you, paravoid!)

It changes an int in ast_frame to be used as flag bits.  The 1 bit is still used
to indicate that the frame contains timing information.  Also, a second flag has
been added to indicate that the frame came from a translator.  When a frame with
this flag gets released and has this flag, a function is called in translate.c to
let it know that this frame is doing being processed.  At this point, the flag gets
cleared.  Also, if the translator was requested to be destroyed while its internal
frame still had this flag set, its destruction has been deffered until it finds out
that the frame is no longer being processed.

Admittedly, this feels like a hack.  But, it does fix the issue, and I was not able 
to think of a better solution ...

........

................
r98945 | russell | 2008-01-15 16:35:29 -0700 (Tue, 15 Jan 2008) | 2 lines

Clean up something I did for ABI compatability in 1.4

................
r98947 | tilghman | 2008-01-15 16:52:11 -0700 (Tue, 15 Jan 2008) | 2 lines

Add the "filter" keyword

................
r98948 | russell | 2008-01-15 16:53:28 -0700 (Tue, 15 Jan 2008) | 19 lines

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

........
r98946 | russell | 2008-01-15 17:50:10 -0600 (Tue, 15 Jan 2008) | 11 lines

Change a buffer in check_auth() to be a thread local dynamically allocated
buffer, instead of a massive buffer on the stack.  This fixes a crash reported
by Qwell due to running out of stack space when building with LOW_MEMORY defined.

On a very related note, the usage of BUFSIZ in various places in chan_sip is
arbitrary and careless.  BUFSIZ is a system specific define.  On my machine,
it is 8192, but by definition (according to google) could be as small as 256.  
So, this buffer in check_auth was 16 kB.  We don't even support SIP messages 
larger than 4 kB!  Further usage of this define should be avoided, unless it 
is used in the proper context.

........

................
r98952 | file | 2008-01-15 18:17:25 -0700 (Tue, 15 Jan 2008) | 12 lines

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

........
r98951 | file | 2008-01-15 21:13:27 -0400 (Tue, 15 Jan 2008) | 4 lines

Add autoconf logic for speexdsp. Later versions use a separate library for some things so we need to use it if present in codec_speex.
(closes issue #11693)
Reported by: yzg

........

................
r98953 | murf | 2008-01-15 18:35:10 -0700 (Tue, 15 Jan 2008) | 1 line

Terry found this problem with running the expr2 parser on OSX. Make the #defines come out the same between the parser & lexer.
................
r98954 | file | 2008-01-15 19:30:13 -0700 (Tue, 15 Jan 2008) | 4 lines

Remove DNS lookup from sip_devicestate. This seems to come from way back when and I can't think of a reason for it being here, plus it could cause needless DNS lookups.
(closes issue #10983)
Reported by: jtodd

................
r98956 | file | 2008-01-15 20:09:11 -0700 (Tue, 15 Jan 2008) | 14 lines

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

........
r98955 | file | 2008-01-15 23:07:24 -0400 (Tue, 15 Jan 2008) | 6 lines

Don't drop the old record route information when dealing with packets related to a reinvite.
(closes issue #11545)
Reported by: kebl0155
Patches:
      reinvite-patch.txt uploaded by kebl0155 (license 356)

........

................
r98959 | file | 2008-01-16 08:04:08 -0700 (Wed, 16 Jan 2008) | 12 lines

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

........
r98958 | file | 2008-01-16 11:03:14 -0400 (Wed, 16 Jan 2008) | 4 lines

Add two more SDP names for ulaw and alaw.
(closes issue #11777)
Reported by: tootai

........

................
r98961 | file | 2008-01-16 08:09:37 -0700 (Wed, 16 Jan 2008) | 14 lines

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

........
r98960 | file | 2008-01-16 11:08:24 -0400 (Wed, 16 Jan 2008) | 6 lines

Introduce a lock into the dialing API that protects it when destroying the structure.
(closes issue #11687)
Reported by: callguy
Patches:
      11687.diff uploaded by file (license 11)

........

................
r98962 | twilson | 2008-01-16 09:06:06 -0700 (Wed, 16 Jan 2008) | 2 lines

Make users list static

................
r98965 | mmichelson | 2008-01-16 10:21:49 -0700 (Wed, 16 Jan 2008) | 18 lines

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

........
r98964 | mmichelson | 2008-01-16 11:20:11 -0600 (Wed, 16 Jan 2008) | 10 lines

Fix a deadlock in chan_local in local_hangup. There was contention because
the local_pvt was held and it was attempting to lock a channel, which is the
incorrect locking order.

(closes issue #11730)
Reported by: UDI-Doug
Patches:
      11730.patch uploaded by putnopvut (license 60)
	  Tested by: UDI-Doug

........

................
r98967 | file | 2008-01-16 10:51:52 -0700 (Wed, 16 Jan 2008) | 14 lines

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

........
r98966 | file | 2008-01-16 13:50:10 -0400 (Wed, 16 Jan 2008) | 6 lines

Add missing NULLs at end of two ast_load_realtimes.
(closes issue #11769)
Reported by: tequ
Patches:
      chaniax.patch uploaded by dimas (license 88)

........

................
r98968 | qwell | 2008-01-16 11:06:14 -0700 (Wed, 16 Jan 2008) | 1 line

Add logging for 'make update' command (also fixes updates in some places).  Issue #11766, initial patch by jmls.
................
r98969 | qwell | 2008-01-16 11:34:19 -0700 (Wed, 16 Jan 2008) | 1 line

Add note about new update.log to CHANGES, by request of jmls and further prodding by jsmith.
................
r98971 | qwell | 2008-01-16 12:41:25 -0700 (Wed, 16 Jan 2008) | 4 lines

Partially revert r93898, because it broke the way netsnmp was being detected.

rizzo, do you want to discuss so we can rethink this, or do you have another way?

................
r98974 | file | 2008-01-16 13:35:49 -0700 (Wed, 16 Jan 2008) | 9 lines

Blocked revisions 98972 via svnmerge

........
r98972 | file | 2008-01-16 16:33:47 -0400 (Wed, 16 Jan 2008) | 2 lines

Replace current spy architecture with backport of audiohooks. This should take care of current known spy issues.

........

................
r98975 | file | 2008-01-16 13:36:21 -0700 (Wed, 16 Jan 2008) | 9 lines

Blocked revisions 98973 via svnmerge

........
r98973 | file | 2008-01-16 16:34:30 -0400 (Wed, 16 Jan 2008) | 2 lines

Bump up cleancount due to previous commit that changed the channel structure.

........

................
r98978 | russell | 2008-01-16 14:53:10 -0700 (Wed, 16 Jan 2008) | 30 lines

Merge the changes from issue #10665 from the team/group/sip_session_timers branch.

This set of changes introduces SIP session timers support (RFC 4028).  In short,
this prevents stuck SIP sessions that were not properly torn down due to network
or endpoint failures during an established SIP session.

To quote some of the documentation supplied with the patch:
"The SIP Session-Timers is an extension of the SIP protocol that allows end-points and proxies to
refresh a session periodically. The sessions are kept alive by sending a RE-INVITE or UPDATE
request at a negotiated interval. If a session refresh fails then all the entities that support Session-
Timers clear their internal session state. In addition, UAs generate a BYE request in order to clear
the state in the proxies and the remote UA (this is done for the benefit of SIP entities in the path
that do not support Session-Timers)."

(closes issue #10665)
Reported by: rjain
Patches:
      chan_sip.c.1.diff uploaded by rjain (license 226)
      chan_sip.c.diff uploaded by rjain (license 226)
      sip.conf.sample.diff uploaded by rjain (license 226)
      proc_422_rsp_comment.diff uploaded by rjain (license 226)
      chan_sip.c.cache.diff uploaded by rjain (license 226)
      chan_sip.memalloc uploaded by rjain (license 226)
      chan_sip.memalloc.bugfix uploaded by rjain (license 226)

      Patches tracked in team/group/sip_session_timers, with some additional fixes
      by russell and oej.

Tested by: jtodd, rjain, loloski

................
r98981 | tilghman | 2008-01-16 15:20:45 -0700 (Wed, 16 Jan 2008) | 7 lines

New module res_config_curl (closes issue #11747)
 Reported by: Corydon76
 Patches: 
       res_config_curl.c uploaded by Corydon76 (license 14)
       20080116__bug11747.diff.txt uploaded by Corydon76 (license 14)
 Tested by: jmls

................
r98983 | russell | 2008-01-16 15:36:47 -0700 (Wed, 16 Jan 2008) | 12 lines

Blocked revisions 98982 via svnmerge

........
r98982 | russell | 2008-01-16 16:36:24 -0600 (Wed, 16 Jan 2008) | 5 lines

Add an unused pointer to the ast_channel struct.  This makes the ast_channel structure
retain the same size as it had in previous 1.4 releases.  Also, all of the offsets for
members in the structure are still the same (except for the two pointers that got replaced
for the new spy/whisper architecture.)

........

................
r98984 | tilghman | 2008-01-16 15:36:58 -0700 (Wed, 16 Jan 2008) | 2 lines

Info about res_config_curl

................
r98985 | qwell | 2008-01-16 16:08:11 -0700 (Wed, 16 Jan 2008) | 2 lines

Change AST_EXT_TOOL_CHECK to attempt to build against <package>_LIB, per recommendations from Russell.

................
r98986 | russell | 2008-01-16 17:05:13 -0700 (Wed, 16 Jan 2008) | 10 lines

Add support for an easy way to automatically execute some Asterisk CLI commands
immediately at startup.  Any commands in the startup_commands file in the Asterisk
config diretory will get executed.

(closes issue #11781)
Reported by: jamesgolovich
Patches:
      asterisk-startupcmds.diff.txt uploaded by jamesgolovich (license 176)
	    -- With some changes by me.

................
r98987 | tilghman | 2008-01-16 17:13:32 -0700 (Wed, 16 Jan 2008) | 4 lines

Change the way the new filter feature works, by allowing it to be a column NOT
logged into the database.  This will allow more granularity of a decision
evaluated in the dialplan, then takes effect when posting the CDR.

................
r98988 | twilson | 2008-01-16 20:09:32 -0700 (Wed, 16 Jan 2008) | 9 lines

Update res_phoneprov to default to setting the SERVER variable to the IP
the HTTP request for the config came in on and the SERVER_PORT to the
bindport setting in sip.conf.  I've left in the ability to override these
options, because I can't always guess how someone might decide to do something
weird with what is available to them--although needing to is pretty unlikely.

Documentation was updated to reflect preference for not setting serveraddr,
serveriface, or serverport.  Tested on Linux and OS X.

................
r98989 | kpfleming | 2008-01-17 08:04:54 -0700 (Thu, 17 Jan 2008) | 2 lines

resolve (valid) compiler warning about variable that could be used before being initialized

................
r98990 | kpfleming | 2008-01-17 09:17:52 -0700 (Thu, 17 Jan 2008) | 2 lines

major reliability and performance improvement in VWMI monitoring for FXO ports (code by markster, me and dbailey)

................
r98992 | qwell | 2008-01-17 09:21:38 -0700 (Thu, 17 Jan 2008) | 13 lines

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

(Closes issue #11784)
........
r98991 | qwell | 2008-01-17 10:19:46 -0600 (Thu, 17 Jan 2008) | 4 lines

Add a clarification about the immediate= option of zapata.conf

Issue 11784, patch by klaus3000.

........

................
r98993 | mmichelson | 2008-01-17 09:26:41 -0700 (Thu, 17 Jan 2008) | 4 lines

Get the device state of the state interface instead of the interface when creating a new queue member.
Thanks to Atis Lezdins for bringing this up on the Asterisk-Dev mailing list.


................
r98994 | mmichelson | 2008-01-17 09:33:24 -0700 (Thu, 17 Jan 2008) | 3 lines

state_interface could be NULL, so use the never-NULL cur->state_interface for this check


................
r98998 | qwell | 2008-01-17 13:51:26 -0700 (Thu, 17 Jan 2008) | 12 lines

Add several busy detection related defines to menuselect.
Allow better busy detect debugging (with BUSYDETECT_DEBUG).

Remove very old BUSYDETECT and BUSY_DETECT_MARTIN defines.

(closes issue #11107)
Patches:
      busydetect_enhancement.patch uploaded by agx (license 298)
      busydetect-r94975.diff uploaded by sergee (license 138)

Additional changes/cleanup by me.

................
r99002 | mmichelson | 2008-01-17 15:22:02 -0700 (Thu, 17 Jan 2008) | 8 lines

Fixing trunk IMAP build

(closes issue #11788)
Reported by: DEA
Patches:
      vm-imap-build-fix.txt uploaded by DEA (license 3)


................
r99006 | russell | 2008-01-17 15:50:13 -0700 (Thu, 17 Jan 2008) | 18 lines

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

........
r99004 | russell | 2008-01-17 16:37:22 -0600 (Thu, 17 Jan 2008) | 10 lines

Have IAX2 optimize the codec translation path just like chan_sip does it.  If
the caller's codec is in our codec list, move it to the top to avoid transcoding.

(closes issue #10500)
Reported by: stevedavies
Patches:
      iax-prefer-current-codec.patch uploaded by stevedavies (license 184)
      iax-prefer-current-codec.1.4.patch uploaded by stevedavies (license 184)
Tested by: stevedavies, pj, sheldonh

........

................
r99008 | russell | 2008-01-17 16:20:37 -0700 (Thu, 17 Jan 2008) | 2 lines

Add AST_FORMAT_SLINEAR16 to the list for ast_best_codec()

................
r99009 | russell | 2008-01-17 16:21:30 -0700 (Thu, 17 Jan 2008) | 2 lines

List which devices are inputs and outputs in "console list devices"

................
r99011 | russell | 2008-01-17 16:28:16 -0700 (Thu, 17 Jan 2008) | 2 lines

Make the output of "console list devices" a bit prettier.

................
r99015 | tilghman | 2008-01-17 19:06:27 -0700 (Thu, 17 Jan 2008) | 2 lines

Reset default CUT delimiter back to '-'

................
r99017 | tilghman | 2008-01-17 23:52:18 -0700 (Thu, 17 Jan 2008) | 5 lines

Permit username and password to be NULL (which enables pass-through from the layer above).
Reported by: lurcher
Patch by: tilghman
(Closes issue #11739)

................
r99018 | tilghman | 2008-01-17 23:58:35 -0700 (Thu, 17 Jan 2008) | 7 lines

Convert func_odbc to use SQLExecDirect for speed
(closes issue #10723)
 Reported by: mnicholson
 Patches: 
       func-odbc-direct-execute1.diff uploaded by mnicholson (license 96)
 Tested by: Corydon76, mnicholson, falves11

................
r99026 | twilson | 2008-01-18 09:58:50 -0700 (Fri, 18 Jan 2008) | 12 lines

This should at least temporarily fix a problem where the 't' Dial
option is incorrectly passed to the transferee when built-in
attended transfers are used.  There is still a problem with 'T',
but better to fix some problems than no problems while we work
on it.

(closes issue #7904)
Reported by: k-egg
Patches: 
      transfer-fix-trunk-r97657.diff uploaded by sergee (license 138)
Tested by: sergee, otherwiseguy

................
r99080 | russell | 2008-01-18 14:24:05 -0700 (Fri, 18 Jan 2008) | 12 lines

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

........
r99079 | russell | 2008-01-18 15:22:21 -0600 (Fri, 18 Jan 2008) | 4 lines

Since we're relying on the offset between the frame and the beginning of the translator
pvt struct, set the packed attribute to make sure we get to the right place.
(potential fix for issue #11792)

........

................
r99082 | russell | 2008-01-18 14:38:01 -0700 (Fri, 18 Jan 2008) | 17 lines

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

........
r99081 | russell | 2008-01-18 15:37:21 -0600 (Fri, 18 Jan 2008) | 9 lines

Revert adding the packed attribute, as it really doesn't make sense why that
would do any good.  Fix the real bug, which is to do the check to see if the
frame came from a translator at the beginning of ast_frame_free(), instead of
at the end.  This ensures that it always gets checked, even if none of the
parts of the frame are malloc'd, and also ensures that we aren't looking at
free'd memory in the case that it is a malloc'd frame.

(closes issue #11792, reported by explidous, patched by me)

........

................
r99085 | russell | 2008-01-18 15:04:33 -0700 (Fri, 18 Jan 2008) | 13 lines

Merge changes from team/group/sip-tcptls

This set of changes introduces TCP and TLS support for chan_sip.  There are various
new options in configs/sip.conf.sample that are used to enable these features.  Also,
there is a document, doc/siptls.txt that describes some things in more detail.

This code was implemented by Brett Bryant and James Golovich.  It was reviewed
by Joshua Colp and myself.  A number of other people participated in the testing
of this code, but since it was done outside of the bug tracker, I do not have their
names.  If you were one of them, thanks a lot for the help!

(closes issue #4903, but with completely different code that what exists there.)

................
r99128 | file | 2008-01-18 15:58:50 -0700 (Fri, 18 Jan 2008) | 9 lines

Blocked revisions 99127 via svnmerge

........
r99127 | file | 2008-01-18 18:57:15 -0400 (Fri, 18 Jan 2008) | 2 lines

Remove the __ in front of the unused variable. This causes some compilers to freak out.

........

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

Added:
    team/murf/bug11210/doc/siptls.txt
      - copied unchanged from r99128, trunk/doc/siptls.txt
    team/murf/bug11210/include/asterisk/tcptls.h
      - copied unchanged from r99128, trunk/include/asterisk/tcptls.h
    team/murf/bug11210/main/tcptls.c
      - copied unchanged from r99128, trunk/main/tcptls.c
    team/murf/bug11210/res/res_config_curl.c
      - copied unchanged from r99128, trunk/res/res_config_curl.c
Modified:
    team/murf/bug11210/   (props changed)
    team/murf/bug11210/CHANGES
    team/murf/bug11210/CREDITS
    team/murf/bug11210/Makefile
    team/murf/bug11210/acinclude.m4
    team/murf/bug11210/apps/app_queue.c
    team/murf/bug11210/apps/app_voicemail.c
    team/murf/bug11210/build_tools/cflags.xml
    team/murf/bug11210/build_tools/menuselect-deps.in
    team/murf/bug11210/cdr/cdr_adaptive_odbc.c
    team/murf/bug11210/channels/chan_console.c
    team/murf/bug11210/channels/chan_iax2.c
    team/murf/bug11210/channels/chan_local.c
    team/murf/bug11210/channels/chan_sip.c
    team/murf/bug11210/channels/chan_zap.c
    team/murf/bug11210/codecs/codec_speex.c
    team/murf/bug11210/codecs/codec_zap.c
    team/murf/bug11210/configs/cdr_adaptive_odbc.conf.sample
    team/murf/bug11210/configs/phoneprov.conf.sample
    team/murf/bug11210/configs/sip.conf.sample
    team/murf/bug11210/configs/zapata.conf.sample
    team/murf/bug11210/configure
    team/murf/bug11210/configure.ac
    team/murf/bug11210/doc/tex/phoneprov.tex
    team/murf/bug11210/funcs/func_cut.c
    team/murf/bug11210/funcs/func_odbc.c
    team/murf/bug11210/include/asterisk/autoconfig.h.in
    team/murf/bug11210/include/asterisk/frame.h
    team/murf/bug11210/include/asterisk/http.h
    team/murf/bug11210/include/asterisk/translate.h
    team/murf/bug11210/main/Makefile
    team/murf/bug11210/main/abstract_jb.c
    team/murf/bug11210/main/ast_expr2.c
    team/murf/bug11210/main/ast_expr2.h
    team/murf/bug11210/main/ast_expr2.y
    team/murf/bug11210/main/asterisk.c
    team/murf/bug11210/main/channel.c
    team/murf/bug11210/main/dial.c
    team/murf/bug11210/main/dsp.c
    team/murf/bug11210/main/frame.c
    team/murf/bug11210/main/http.c
    team/murf/bug11210/main/manager.c
    team/murf/bug11210/main/rtp.c
    team/murf/bug11210/main/translate.c
    team/murf/bug11210/main/utils.c
    team/murf/bug11210/makeopts.in
    team/murf/bug11210/res/res_features.c
    team/murf/bug11210/res/res_odbc.c
    team/murf/bug11210/res/res_phoneprov.c

Change Statistics:
 team/murf/bug11210/CHANGES                               |   15 
 team/murf/bug11210/CREDITS                               |   10 
 team/murf/bug11210/Makefile                              |    7 
 team/murf/bug11210/acinclude.m4                          |   29 
 team/murf/bug11210/apps/app_queue.c                      |    2 
 team/murf/bug11210/apps/app_voicemail.c                  |    7 
 team/murf/bug11210/build_tools/cflags.xml                |   11 
 team/murf/bug11210/build_tools/menuselect-deps.in        |    1 
 team/murf/bug11210/cdr/cdr_adaptive_odbc.c               |   45 
 team/murf/bug11210/channels/chan_console.c               |   22 
 team/murf/bug11210/channels/chan_iax2.c                  |   31 
 team/murf/bug11210/channels/chan_local.c                 |   10 
 team/murf/bug11210/channels/chan_sip.c                   | 1907 +++++++++-
 team/murf/bug11210/channels/chan_zap.c                   |  264 +
 team/murf/bug11210/codecs/codec_speex.c                  |    1 
 team/murf/bug11210/codecs/codec_zap.c                    |   35 
 team/murf/bug11210/configs/cdr_adaptive_odbc.conf.sample |    4 
 team/murf/bug11210/configs/phoneprov.conf.sample         |   15 
 team/murf/bug11210/configs/sip.conf.sample               |   58 
 team/murf/bug11210/configs/zapata.conf.sample            |   16 
 team/murf/bug11210/configure.ac                          |   10 
 team/murf/bug11210/doc/tex/phoneprov.tex                 |   26 
 team/murf/bug11210/funcs/func_cut.c                      |    6 
 team/murf/bug11210/funcs/func_odbc.c                     |   10 
 team/murf/bug11210/include/asterisk/autoconfig.h.in      |    6 
 team/murf/bug11210/include/asterisk/frame.h              |   17 
 team/murf/bug11210/include/asterisk/http.h               |   86 
 team/murf/bug11210/include/asterisk/translate.h          |   18 
 team/murf/bug11210/main/Makefile                         |    2 
 team/murf/bug11210/main/abstract_jb.c                    |    4 
 team/murf/bug11210/main/ast_expr2.c                      |  179 
 team/murf/bug11210/main/ast_expr2.h                      |   32 
 team/murf/bug11210/main/ast_expr2.y                      |   12 
 team/murf/bug11210/main/asterisk.c                       |   38 
 team/murf/bug11210/main/channel.c                        |    1 
 team/murf/bug11210/main/dial.c                           |   15 
 team/murf/bug11210/main/dsp.c                            |   73 
 team/murf/bug11210/main/frame.c                          |   52 
 team/murf/bug11210/main/http.c                           |  200 -
 team/murf/bug11210/main/manager.c                        |    3 
 team/murf/bug11210/main/rtp.c                            |    6 
 team/murf/bug11210/main/translate.c                      |   33 
 team/murf/bug11210/main/utils.c                          |    2 
 team/murf/bug11210/makeopts.in                           |    3 
 team/murf/bug11210/res/res_features.c                    |    8 
 team/murf/bug11210/res/res_odbc.c                        |   36 
 team/murf/bug11210/res/res_phoneprov.c                   |   73 
 47 files changed, 2623 insertions(+), 818 deletions(-)

Propchange: team/murf/bug11210/
------------------------------------------------------------------------------
    automerge = on

Propchange: team/murf/bug11210/
------------------------------------------------------------------------------
Binary property 'branch-1.4-blocked' - no diff available.

Propchange: team/murf/bug11210/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Propchange: team/murf/bug11210/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Fri Jan 18 21:27:35 2008
@@ -23,3 +23,4 @@
 autom4te.cache
 makeopts.embed_rules
 aclocal.m4
+update.log

Propchange: team/murf/bug11210/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Fri Jan 18 21:27:35 2008
@@ -1,1 +1,1 @@
-/trunk:1-98911
+/trunk:1-99163

Modified: team/murf/bug11210/CHANGES
URL: http://svn.digium.com/view/asterisk/team/murf/bug11210/CHANGES?view=diff&rev=99165&r1=99164&r2=99165
==============================================================================
--- team/murf/bug11210/CHANGES (original)
+++ team/murf/bug11210/CHANGES Fri Jan 18 21:27:35 2008
@@ -79,6 +79,9 @@
      output to make debugging on busy systems much easier.
   * New CLI commands "dialplan set extenpatternmatching true/false"
   * New CLI command: "core set chanvar" to set a channel variable from the CLI.
+  * Added an easy way to execute Asterisk CLI commands at startup.  Any commands
+    listed in the startup_commands file in the Asterisk configuration directory
+    will get executed.
 
 SIP changes
 -----------
@@ -125,6 +128,11 @@
      SIP uri.
   * Added a new global and per-peer option, qualifyfreq, which allows you to configure
      the qualify frequency.
+  * Added SIP Session Timers support (RFC 4028).  This prevents stuck SIP sessions that
+     were not properly torn down due to network or endpoint failures during an established
+     SIP session.
+  * Added TCP and TLS support for SIP.  See doc/siptls.txt and configs/sip.conf.sample for
+     more information on how it is used.
 
 IAX2 changes
 ------------
@@ -448,6 +456,10 @@
      on as the channel's audio.  This is very useful for building custom
      vocoders or doing recording or analysis of the channel's audio in another
      application.
+  * Added a new module, res_config_curl, which permits using a HTTP POST url
+     to retrieve, create, update, and delete realtime information from a remote
+     web server.  Note that this module requires func_curl.so to be loaded for
+     backend functionality.
 
 Miscellaneous 
 -------------
@@ -480,4 +492,5 @@
   * A new option when starting a remote asterisk (rasterisk, asterisk -r) for
      specifying which socket to use to connect to the running Asterisk daemon
      (-s)
-
+  * Added logging to 'make update' command.  See update.log
+

Modified: team/murf/bug11210/CREDITS
URL: http://svn.digium.com/view/asterisk/team/murf/bug11210/CREDITS?view=diff&rev=99165&r1=99164&r2=99165
==============================================================================
--- team/murf/bug11210/CREDITS (original)
+++ team/murf/bug11210/CREDITS Fri Jan 18 21:27:35 2008
@@ -16,6 +16,9 @@
 nic.at - ENUM support in Asterisk
 
 Paul Bagyenda, Digital Solutions - for initial Voicetronix driver development
+
+John Todd, TalkPlus, Inc.  and JR Richardson, Ntegrated Solutions. - for funding
+    the development of SIP Session Timers support.
 
 === WISHLIST CONTRIBUTERS ===
 Jeremy McNamara - SpeeX support
@@ -53,7 +56,7 @@
 	and sip configs.
 	anthmct(AT)yahoo.com              http://www.asterlink.com
 
-James Golovich - Innumerable contributions
+James Golovich - Innumerable contributions, including SIP TCP and TLS support.
 	You can find him and asterisk-perl at http://asterisk.gnuinter.net
 
 Andre Bierwirth - Extension hints and status
@@ -172,6 +175,11 @@
 
 Luigi Rizzo - astobj2, console_video, windows build, chan_oss cleanup,
 	and a bunch of infrastructure work (loader, new_cli, ...)
+
+Brett Bryant - digit option for musiconhold selection, ENUMQUERY and ENUMRESULT functions,
+	feature group configuration for features.conf, per-file CLI debug and verbose settings,
+	TCP and TLS support for SIP, and various bug fixes.
+	brettbryant(AT)gmail.com
 
 === OTHER CONTRIBUTIONS ===
 John Todd - Monkey sounds and associated teletorture prompt

Modified: team/murf/bug11210/Makefile
URL: http://svn.digium.com/view/asterisk/team/murf/bug11210/Makefile?view=diff&rev=99165&r1=99164&r2=99165
==============================================================================
--- team/murf/bug11210/Makefile (original)
+++ team/murf/bug11210/Makefile Fri Jan 18 21:27:35 2008
@@ -276,9 +276,7 @@
 
 # XXX MALLOC_DEBUG is probably unused, Makefile.moddir_rules adds the
 #	value directly to ASTCFLAGS
-# XXX BUSYDETECT is probably useless, the only similar reference is to
-#	#ifdef BUSYDETECT in main/dsp.c
-ASTCFLAGS+=$(MALLOC_DEBUG)$(BUSYDETECT)$(OPTIONS)
+ASTCFLAGS+=$(MALLOC_DEBUG)$(OPTIONS)
 
 MOD_SUBDIRS:=channels pbx apps codecs formats cdr funcs tests main res $(LOCAL_MOD_SUBDIRS)
 OTHER_SUBDIRS:=utils agi
@@ -475,7 +473,10 @@
 update: 
 	@if [ -d .svn ]; then \
 		echo "Updating from Subversion..." ; \
+		fromrev="`svn info | $(AWK) '/Revision: / {print $$2}'`"; \
 		svn update | tee update.out; \
+		torev="`svn info | $(AWK) '/Revision: / {print $$2}'`"; \
+		echo "`date`  Updated from revision $${fromrev} to $${torev}." >> update.log; \
 		rm -f .version; \
 		if [ `grep -c ^C update.out` -gt 0 ]; then \
 			echo ; echo "The following files have conflicts:" ; \

Modified: team/murf/bug11210/acinclude.m4
URL: http://svn.digium.com/view/asterisk/team/murf/bug11210/acinclude.m4?view=diff&rev=99165&r1=99164&r2=99165
==============================================================================
--- team/murf/bug11210/acinclude.m4 (original)
+++ team/murf/bug11210/acinclude.m4 Fri Jan 18 21:27:35 2008
@@ -210,9 +210,9 @@
 
 # Check for a package using $2-config. Similar to AST_EXT_LIB_CHECK,
 # but use $2-config to determine cflags and libraries to use.
-# $3 and $4 can be used to replace --cflags and --libs in the request 
-
-# AST_EXT_TOOL_CHECK([package], [tool name], [--cflags], [--libs])
+# $3 and $4 can be used to replace --cflags and --libs in the request
+
+# AST_EXT_TOOL_CHECK([package], [tool name], [--cflags], [--libs], [includes], [expression])
 AC_DEFUN([AST_EXT_TOOL_CHECK],
 [
     if test "x${PBX_$1}" != "x1" -a "${USE_$1}" != "no"; then
@@ -223,8 +223,27 @@
 	    $1_INCLUDE=$(${CONFIG_$1} $A)
 	    if test x"$4" = x ; then A=--libs ; else A="$4" ; fi
 	    $1_LIB=$(${CONFIG_$1} $A)
-	    PBX_$1=1
-	    AC_DEFINE([HAVE_$1], 1, [Define if your system has the $1 libraries.])
+	    if test x"$5" != x ; then
+		saved_cppflags="${CPPFLAGS}"
+		if test "x${$1_DIR}" != "x"; then
+		    $1_INCLUDE="-I${$1_DIR}/include"
+		fi
+		CPPFLAGS="${CPPFLAGS} ${$1_INCLUDE}"
+
+		AC_COMPILE_IFELSE(
+		    [ AC_LANG_PROGRAM( [ $5 ],
+				       [ $6; ]
+				       )],
+		    [   PBX_$1=1
+			AC_DEFINE([HAVE_$1], 1, [Define if your system has the $1 headers.])
+		    ],
+		    []
+		)
+		CPPFLAGS="${saved_cppflags}"
+	    else
+		PBX_$1=1
+		AC_DEFINE([HAVE_$1], 1, [Define if your system has the $1 libraries.])
+	    fi
 	fi
     fi
 ])

Modified: team/murf/bug11210/apps/app_queue.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug11210/apps/app_queue.c?view=diff&rev=99165&r1=99164&r2=99165
==============================================================================
--- team/murf/bug11210/apps/app_queue.c (original)
+++ team/murf/bug11210/apps/app_queue.c Fri Jan 18 21:27:35 2008
@@ -842,7 +842,7 @@
 			ast_copy_string(cur->membername, interface, sizeof(cur->membername));
 		if (!strchr(cur->interface, '/'))
 			ast_log(LOG_WARNING, "No location at interface '%s'\n", interface);
-		cur->status = ast_device_state(interface);
+		cur->status = ast_device_state(cur->state_interface);
 	}
 
 	return cur;

Modified: team/murf/bug11210/apps/app_voicemail.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug11210/apps/app_voicemail.c?view=diff&rev=99165&r1=99164&r2=99165
==============================================================================
--- team/murf/bug11210/apps/app_voicemail.c (original)
+++ team/murf/bug11210/apps/app_voicemail.c Fri Jan 18 21:27:35 2008
@@ -3466,7 +3466,7 @@
 	if (box == 1) return 10;
 	/* get the real IMAP message number for this message */
 	snprintf(sequence, sizeof(sequence), "%ld", vms->msgArray[msg]);
-	ast_debug(3, "Copying sequence %s to mailbox %s\n",sequence,dbox);
+	ast_debug(3, "Copying sequence %s to mailbox %s\n",sequence,mbox(box));
 	res = mail_copy(vms->mailstream,sequence,(char *) mbox(box));
 	if (res == 1) return 0;
 	return 1;
@@ -5030,11 +5030,6 @@
 		return -1;
 	}
 	
-	/* Check Quota (here for now to test) */
-	mail_parameters(NULL, SET_QUOTA, (void *) mm_parsequota);
-	imap_mailbox_name(dbox, sizeof(dbox), vms, box, 1);
-	imap_getquotaroot(vms->mailstream, dbox);
-
 	/* Check Quota */
 	if  (box == 0)  {
 		ast_debug(3, "Mailbox name set to: %s, about to check quotas\n", mbox(box));

Modified: team/murf/bug11210/build_tools/cflags.xml
URL: http://svn.digium.com/view/asterisk/team/murf/bug11210/build_tools/cflags.xml?view=diff&rev=99165&r1=99164&r2=99165
==============================================================================
--- team/murf/bug11210/build_tools/cflags.xml (original)
+++ team/murf/bug11210/build_tools/cflags.xml Fri Jan 18 21:27:35 2008
@@ -48,4 +48,15 @@
 		</member>
 		<member name="THREAD_CRASH" displayname="Crash on mutex errors">
 		</member>
+		<member name="BUSYDETECT_TONEONLY" displayname="Enable additional comparision of only the tone duration not the silence part">
+			<conflict>BUSYDETECT_COMPARE_TONE_AND_SILENCE</conflict>
+			<defaultenabled>no</defaultenabled>
+		</member>
+		<member name="BUSYDETECT_COMPARE_TONE_AND_SILENCE" displayname="Assume that tone and silence have the same duration">
+			<conflict>BUSYDETECT_TONEONLY</conflict>
+			<defaultenabled>no</defaultenabled>
+		</member>
+		<member name="BUSYDETECT_DEBUG" displayname="Enable additional busy detection debugging">
+			<defaultenabled>no</defaultenabled>
+		</member>
 	</category>

Modified: team/murf/bug11210/build_tools/menuselect-deps.in
URL: http://svn.digium.com/view/asterisk/team/murf/bug11210/build_tools/menuselect-deps.in?view=diff&rev=99165&r1=99164&r2=99165
==============================================================================
--- team/murf/bug11210/build_tools/menuselect-deps.in (original)
+++ team/murf/bug11210/build_tools/menuselect-deps.in Fri Jan 18 21:27:35 2008
@@ -29,6 +29,7 @@
 PRI=@PBX_PRI@
 RADIUS=@PBX_RADIUS@
 SPEEX=@PBX_SPEEX@
+SPEEXDSP=@PBX_SPEEXDSP@
 SQLITE3=@PBX_SQLITE3@
 SQLITE=@PBX_SQLITE@
 SS7=@PBX_SS7@

Modified: team/murf/bug11210/cdr/cdr_adaptive_odbc.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug11210/cdr/cdr_adaptive_odbc.c?view=diff&rev=99165&r1=99164&r2=99165
==============================================================================
--- team/murf/bug11210/cdr/cdr_adaptive_odbc.c (original)
+++ team/murf/bug11210/cdr/cdr_adaptive_odbc.c Fri Jan 18 21:27:35 2008
@@ -56,6 +56,7 @@
 struct columns {
 	char *name;
 	char *cdrname;
+	char *filtervalue;
 	SQLSMALLINT type;
 	SQLINTEGER size;
 	SQLSMALLINT decimals;
@@ -152,6 +153,31 @@
 
 		ast_verb(3, "Found adaptive CDR table %s@%s.\n", tableptr->table, tableptr->connection);
 
+		/* Check for filters first */
+		for (var = ast_variable_browse(cfg, catg); var; var = var->next) {
+			if (strncmp(var->name, "filter", 6) == 0) {
+				char *cdrvar = ast_strdupa(var->name + 6);
+				cdrvar = ast_strip(cdrvar);
+				ast_verb(3, "Found filter %s for cdr variable %s in %s@%s\n", var->value, cdrvar, tableptr->table, tableptr->connection);
+
+				entry = ast_calloc(sizeof(char), sizeof(*entry) + strlen(cdrvar) + 1 + strlen(var->value) + 1);
+				if (!entry) {
+					ast_log(LOG_ERROR, "Out of memory creating filter entry for CDR variable '%s' in table '%s' on connection '%s'\n", cdrvar, table, connection);
+					res = -1;
+					break;
+				}
+
+				/* NULL column entry means this isn't a column in the database */
+				entry->name = NULL;
+				entry->cdrname = (char *)entry + sizeof(*entry);
+				entry->filtervalue = (char *)entry + sizeof(*entry) + strlen(cdrvar) + 1;
+				strcpy(entry->cdrname, cdrvar);
+				strcpy(entry->filtervalue, var->value);
+
+				AST_LIST_INSERT_TAIL(&(tableptr->columns), entry, list);
+			}
+		}
+
 		while ((res = SQLFetch(stmt)) != SQL_NO_DATA && res != SQL_ERROR) {
 			char *cdrvar = "";
 
@@ -164,13 +190,14 @@
 			 * really don't parse this file all that often, anyway.
 			 */
 			for (var = ast_variable_browse(cfg, catg); var; var = var->next) {
-				if (strcasecmp(var->value, columnname) == 0) {
+				if (strncmp(var->name, "alias", 5) == 0 && strcasecmp(var->value, columnname) == 0) {
 					char *tmp = ast_strdupa(var->name + 5);
 					cdrvar = ast_strip(tmp);
 					ast_verb(3, "Found alias %s for column %s in %s@%s\n", cdrvar, columnname, tableptr->table, tableptr->connection);
 					break;
 				}
 			}
+
 			entry = ast_calloc(sizeof(char), sizeof(*entry) + strlen(columnname) + 1 + strlen(cdrvar) + 1);
 			if (!entry) {
 				ast_log(LOG_ERROR, "Out of memory creating entry for column '%s' in table '%s' on connection '%s'\n", columnname, table, connection);
@@ -341,6 +368,21 @@
 				 strcasecmp(entry->cdrname, "end") == 0) ? 0 : 1);
 
 			if (colptr) {
+				/* Check first if the column filters this entry.  Note that this
+				 * is very specifically NOT ast_strlen_zero(), because the filter
+				 * could legitimately specify that the field is blank, which is
+				 * different from the field being unspecified (NULL). */
+				if (entry->filtervalue && strcasecmp(colptr, entry->filtervalue) != 0) {
+					ast_verb(4, "CDR column '%s' with value '%s' does not match filter of"
+						" '%s'.  Cancelling this CDR.\n",
+						entry->cdrname, colptr, entry->filtervalue);
+					goto early_release;
+				}
+
+				/* Only a filter? */
+				if (ast_strlen_zero(entry->name))
+					continue;
+
 				LENGTHEN_BUF1(strlen(entry->name));
 
 				switch (entry->type) {
@@ -567,6 +609,7 @@
 		if (rows == 0) {
 			ast_log(LOG_WARNING, "cdr_adaptive_odbc: Insert failed on '%s:%s'.  CDR failed: %s\n", tableptr->connection, tableptr->table, sql);
 		}
+early_release:
 		ast_odbc_release_obj(obj);
 	}
 	AST_RWLIST_UNLOCK(&odbc_tables);

Modified: team/murf/bug11210/channels/chan_console.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug11210/channels/chan_console.c?view=diff&rev=99165&r1=99164&r2=99165
==============================================================================
--- team/murf/bug11210/channels/chan_console.c (original)
+++ team/murf/bug11210/channels/chan_console.c Fri Jan 18 21:27:35 2008
@@ -787,7 +787,11 @@
 	if (a->argc != e->args)
 		return CLI_SHOWUSAGE;
 

[... 6060 lines stripped ...]



More information about the svn-commits mailing list