asterisk/asterisk.git
11 years agoRemove extraneous BRIDGEPEER AMI VarSet event on a CEL dummy channel.
Richard Mudgett [Wed, 11 Jan 2012 22:53:09 +0000 (22:53 +0000)]
Remove extraneous BRIDGEPEER AMI VarSet event on a CEL dummy channel.

(closes issue ASTERISK-19180)
Reported by: Corey Farrell
Patches:
      asterisk_cel_noevent_varset.diff (license #5909) patch uploaded by Corey Farrell
........

Merged revisions 350452 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 350453 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350454 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoMake FollowMe optionally update connected line information when the accepting endpoin...
Richard Mudgett [Wed, 11 Jan 2012 21:56:12 +0000 (21:56 +0000)]
Make FollowMe optionally update connected line information when the accepting endpoint is bridged.

Like Dial and Queue, FollowMe needs to deal with
AST_CONTROL_CONNECTED_LINE information so when the parties are initially
bridged, the connected line information will be correct.

* Added the 'I' option just like the app_dial and app_queue 'I' option.

* Made 'N' option ignored if the call is already answered.

(closes issue ASTERISK-18969)
Reported by: rmudgett
Tested by: rmudgett

Review: https://reviewboard.asterisk.org/r/1656/
........

Merged revisions 350364 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 350415 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350416 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAlways treat arguments to get_by_name_cb as strings
Terry Wilson [Wed, 11 Jan 2012 19:19:35 +0000 (19:19 +0000)]
Always treat arguments to get_by_name_cb as strings

Initially, support was left in for the old style of searching, even
though it wasn't actually used. In the case of name_len != 0, the
OBJ_KEY flag isn't passed because we aren't matching on a full key
and therefor can't use the hash function to optimize. The code left
in to support the old way of searching unfortunately treated a prefix
search like this as though an ast_channel struct was passed as an arg
and caused a crash.

This patch also adds needed parentheses around some matching conditions.

(closes issue ASTERISK-19182)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350365 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix absolute/relative time mismatch in LOCK function.
Richard Mudgett [Tue, 10 Jan 2012 22:10:18 +0000 (22:10 +0000)]
Fix absolute/relative time mismatch in LOCK function.

The time passed by the LOCK function to an internal function was relative
time when the function expected absolute time.

* Don't use C++ keywords in get_lock().

(closes issue ASTERISK-16868)
Reported by: Andrey Solovyev
Patches:
      20101102__issue18207.diff.txt (license #5003) patch uploaded by Andrey Solovyev (modified)
........

Merged revisions 350311 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 350312 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350313 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix compiler warnings reported by gcc v4.2.4.
Richard Mudgett [Mon, 9 Jan 2012 23:21:21 +0000 (23:21 +0000)]
Fix compiler warnings reported by gcc v4.2.4.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350273 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoReplace direct access to channel name with accessor functions
Terry Wilson [Mon, 9 Jan 2012 22:15:50 +0000 (22:15 +0000)]
Replace direct access to channel name with accessor functions

There are many benefits to making the ast_channel an opaque handle, from
increasing maintainability to presenting ways to kill masquerades. This patch
kicks things off by taking things a field at a time, renaming the field to
'__do_not_use_${fieldname}' and then writing setters/getters and converting the
existing code to using them. When all fields are done, we can move ast_channel
to a C file from channel.h and lop off the '__do_not_use_'.

This patch sets up main/channel_interal_api.c to be the only file that actually
accesses the ast_channel's fields directly. The intent would be for any API
functions in channel.c to use the accessor functions. No more monkeying around
with channel internals. We should use our own APIs.

The interesting changes in this patch are the addition of
channel_internal_api.c, the moving of the AST_DATA stuff from channel.c to
channel_internal_api.c (note: the AST_DATA stuff will have to be reworked to
use accessor functions when ast_channel is really opaque), and some re-working
of the way channel iterators/callbacks are handled so as to avoid creating fake
ast_channels on the stack to pass in matching data by directly accessing fields
(since "name" is a stringfield and the fake channel doesn't init the
stringfields, you can't use the ast_channel_name_set() function). I went with
ast_channel_name(chan) for a getter, and ast_channel_name_set(chan, name) for a
setter.

The majority of the grunt-work for this change was done by writing a semantic
patch using Coccinelle ( http://coccinelle.lip6.fr/ ).

Review: https://reviewboard.asterisk.org/r/1655/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350223 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix joinable thread terminating without joiner memory leak in chan_iax.c.
Richard Mudgett [Mon, 9 Jan 2012 21:56:29 +0000 (21:56 +0000)]
Fix joinable thread terminating without joiner memory leak in chan_iax.c.

The iax2_process_thread() can exit without anyone waiting to join the
thread.  If noone is waiting to join the thread then a large memory leak
occurs.

* Made iax2_process_thread() deatach itself if nobody is waiting to join
the thread.

(closes issue ASTERISK-17339)
Reported by: Tzafrir Cohen
Patches:
      asterisk-1.8.4.4-chan_iax2-detach-thread-on-non-stop-exit.patch (license #5617) patch uploaded by Alex Villacis Lasso (modified)

(closes issue ASTERISK-17825)
Reported by: wangjin
........

Merged revisions 350220 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 350221 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350222 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix shutdown handling of sqlite3 astdb.
Walter Doekes [Mon, 9 Jan 2012 19:37:23 +0000 (19:37 +0000)]
Fix shutdown handling of sqlite3 astdb.

If a db_sync was scheduled just before shutdown, the atexit code calling
db_sync would have no effect, causing the astdb commit thread to stay
alive. This caused the SIP/realtime_sipregs test to fail. (The fallback
kill would run the atexit code again and that would wreak havoc.) This
fixes that the atexit kill condition is picked up properly.

(closes issue ASTERISK-18883)
Reviewed by: Terry Wilson

Review: https://reviewboard.asterisk.org/r/1659
........

Merged revisions 350180 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350181 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoMultiple revisions 350127-350128
Richard Mudgett [Mon, 9 Jan 2012 18:58:58 +0000 (18:58 +0000)]
Multiple revisions 350127-350128

........
  r350127 | rmudgett | 2012-01-09 12:40:33 -0600 (Mon, 09 Jan 2012) | 12 lines

  Update contrib script live_ast to invoke Asterisk with valgrind and suppression file.

  * Added valgrind_compare script to compare two valgrind log files for
  differences.

  (issue ASTERISK-17339)
  Reported by: Tzafrir Cohen
  Patches:
        valgrind_compare (license #5035) script uploaded by Tzafrir Cohen
        live_ast_valgrind.diff (license #5035) patch uploaded by Tzafrir Cohen
        live_ast_valgrind_v2.diff (license #5185) patch uploaded by Paul Belanger
........
  r350128 | rmudgett | 2012-01-09 12:54:56 -0600 (Mon, 09 Jan 2012) | 11 lines

  live_ast: valgrind: run asterisk under valgrind

  Adds a new sub-command, "valgrind" to live_ast. It runs asterisk under
  valgrind. The extra command-line parameters are passed to Asterisk as
  usual, and parameters to valgrind are passed through LIVE_AST_VALGRIND_ARGS
  in live.conf .

  Review: https://reviewboard.asterisk.org/r/1109/

  Merged revisions 326636 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 350127-350128 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 350129 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350130 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoMake Asterisk -x command line parameter imply -r parameter presence.
Richard Mudgett [Mon, 9 Jan 2012 17:06:30 +0000 (17:06 +0000)]
Make Asterisk -x command line parameter imply -r parameter presence.

The Asterisk -x command line parameter is documented inconsistently.

* Made the -x documentation and behavior consistent.

* Since this is also a new year, updated the copyright notices while here.

(closes issue ASTERISK-19094)
Reported by: Eugene
Patches:
      issueA19094_correct_asterisk_option_x.patch (license #5674) patch uploaded by Walter Doekes (modified)
Tested by: Eugene
........

Merged revisions 350075 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 350076 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350077 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoPrevent SLA settings from getting wiped out on reload
Kinsey Moore [Mon, 9 Jan 2012 15:40:16 +0000 (15:40 +0000)]
Prevent SLA settings from getting wiped out on reload

If SLA was reloaded without the config file being changed, current settings got
wiped out before the SLA reload code decided it wasn't going to reload the file
since nothing was changed.  Moving the settings reset later in the reload
process fixes this.

(closes issue AST-744)
........

Merged revisions 350023 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 350024 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350025 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoDon't leak CID in From header when presentation=unavailable
Terry Wilson [Fri, 6 Jan 2012 23:31:25 +0000 (23:31 +0000)]
Don't leak CID in From header when presentation=unavailable

When someone does Set(CALLERPRES()=unavailable) (or
Set(CALLERID(pres)=unavailable)) when sendrpid=no, the From header shows
"Anonymous" <anonymous@anonymous.invalid>. When sendrpid=yes/pai, the From
header will still display the callerid info, even though we supply an rpid
header with the anonymous info. It seems like we shouldn't leak that info in
any case. Skimming http://tools.ietf.org/html/draft-ietf-sip-privacy-04 seems
to indicate that one shouldn't send identifying info in the From in this case.

This patch anonymizes the From header as well even when sendrpid=yes/pai.

(closes issue ASTERISK-16538)

Review: https://reviewboard.asterisk.org/r/1649/
........

Merged revisions 349968 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 349977 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349978 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix lua goto detection to prevent unexpected behavior with confbridge
Kinsey Moore [Fri, 6 Jan 2012 21:26:16 +0000 (21:26 +0000)]
Fix lua goto detection to prevent unexpected behavior with confbridge

A bug in the pbx_lua goto detection was causing the dialplan to hangup
unexpectedly after confbridge exited if it had called lua dialplan code during
execution.

Patch-by: Timo Teras
Acked-by: Matt Nicholson
(closes issue ASTERISK-18976)
........

Merged revisions 349928 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349929 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix memory leaks in app_followme find_realtime().
Richard Mudgett [Fri, 6 Jan 2012 16:50:08 +0000 (16:50 +0000)]
Fix memory leaks in app_followme find_realtime().

(closes issue ASTERISK-19055)
Reported by: Matt Jordan
........

Merged revisions 349872 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 349873 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349874 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix premature free'ing of the frame committed in r349608
Matthew Jordan [Thu, 5 Jan 2012 23:58:26 +0000 (23:58 +0000)]
Fix premature free'ing of the frame committed in r349608

Even though we set the frame to the ast_null_frame and return that,
the caller of the frame hook may still need the frame.  This now is
a bit more careful about when it frees the frame, i.e., only under
the same conditions that applied when we duplicated it in the first
place.
........

Merged revisions 349822 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349823 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoMake not assume that the cel_sqlite3_custom SQL table primary key is AcctId.
Richard Mudgett [Thu, 5 Jan 2012 23:47:11 +0000 (23:47 +0000)]
Make not assume that the cel_sqlite3_custom SQL table primary key is AcctId.

If a table is created by some other application and the primary key is not
named "AcctId", cel/cel_sqlite3_custom.c will always try to create the
table and fail because it already exists.

* Change the SQL table query to not require AcctId as the primary key.

(closes issue ASTERISK-18963)
Reported by: socketpair
Patches:
      fix.patch (license #6337) patch uploaded by socketpair
........

Merged revisions 349819 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 349820 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349821 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoMake pbx_config.c use Gosub instead of Macro call for stdexten.
Richard Mudgett [Thu, 5 Jan 2012 23:06:17 +0000 (23:06 +0000)]
Make pbx_config.c use Gosub instead of Macro call for stdexten.

Users created by users.conf with hasvoicemail=yes have been documented as
using a Gosub to stdexten since v1.6.0.  However, the code still generates
dialplan to access stdexten as a Macro as documented in v1.4; which does
not work with the newer extensions.conf.sample file.

* Make generated dialplan access the stdexten dialplan with the documented
Gosub instead of the older Macro style.

(closes issue ASTERISK-18809)
Reported by: Jay Allen
Patches:
      gosub_patch-pbx_config.patch (license #6323) patch uploaded by Jay Allen (modified)
Tested by: rmudgett

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349782 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAllow playback of formats that don't support seeking
Kinsey Moore [Thu, 5 Jan 2012 22:11:41 +0000 (22:11 +0000)]
Allow playback of formats that don't support seeking

ast_streamfile previously did unconditional seeking on files that broke
playback of formats that don't support that functionality.  This patch avoids
the seek that was causing the problem.  This regression was introduced in
r158062.

(closes issue ASTERISK-18994)
Patch-by: Timo Teras
........

Merged revisions 349731 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 349732 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349733 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix an issue where dsp.c would interpret multiple dtmf events from a single key press.
Jonathan Rose [Thu, 5 Jan 2012 22:02:33 +0000 (22:02 +0000)]
Fix an issue where dsp.c would interpret multiple dtmf events from a single key press.

When receiving calls from a mobile phone into a DISA system on a connection with
significant interference, the reporter's Asterisk system would interpret DTMF incorrectly
and replicate digits received. This patch resolves that by increasing the number of
frames a mismatch has to be detected before assuming the DTMF is over by 1 frame and
adjusts dtmf_detect function to reset hits and misses only when an edge is detected.

(closes issue ASTERISK-17493)
Reported by: Alec Davis
Patches:
bug18904-refactor.diff.txt uploaded by Alec Davis (license 5546)
Review: https://reviewboard.asterisk.org/r/1130/
........

Merged revisions 349728 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 349729 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349730 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoEnsures Asterisk closes when receiving terminal signals in 'no fork' mode.
Jonathan Rose [Thu, 5 Jan 2012 16:16:51 +0000 (16:16 +0000)]
Ensures Asterisk closes when receiving terminal signals in 'no fork' mode.

When catching a signal, in no fork mode the console thread is identical to the thread
responsible for catching the signal and closing Asterisk, which requires it to first
dispense with the console thread. Prior to this patch, if these threads were identical,
upon receiving a killing signal, the thread will send an URG signal to itself, which
we also catch and then promptly do nothing with. Obviously this isn't useful behavior.

(closes issue ASTERISK-19127)
Reported By: Bryon Clark
Patches:
quit_on_signals.patch uploaded by Bryon Clark (license 6157)
........

Merged revisions 349672 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 349673 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349674 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix for ConfBridge config parser unlocking channel mutex too many times
Matthew Jordan [Wed, 4 Jan 2012 22:23:28 +0000 (22:23 +0000)]
Fix for ConfBridge config parser unlocking channel mutex too many times

When looking up a ConfBridge profile, the config parser would, if it
found a channel datastore on the channel requesting the bridge profile,
unlock the channel mutex twice.  Since that's a little aggressive,
it now only unlocks it once.

(closes issue ASTERISK-19042)
Reported by: Matt Jordan
Tested by: Matt Jordan
Patches:
  19042 uploaded by David Vossel (license 5628)
........

Merged revisions 349619 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349634 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFree successfully translated frame in fax_gateway_framehook
Matthew Jordan [Wed, 4 Jan 2012 21:40:45 +0000 (21:40 +0000)]
Free successfully translated frame in fax_gateway_framehook

A frame that is translated via ast_translate is also duplicated via ast_frdup.
This will allocate a new frame on the heap, which needs to be free'd
at the appropriate time.  This issue reporter used valgrind to find that this
occurred in res_fax's fax_gateway_framehook; a quick search through the code
showed that only place this was currently not handling the translatted frame
properly.

(closes issue ASTERISK-19133)
Reported by: Sylvain Rochet
........

Merged revisions 349608 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349609 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix segfault in chan_dahdi for CHANNEL(dahdi_span) evaluation on hangup.
Richard Mudgett [Wed, 4 Jan 2012 20:55:59 +0000 (20:55 +0000)]
Fix segfault in chan_dahdi for CHANNEL(dahdi_span) evaluation on hangup.

* Added NULL private pointer checks in the following chan_dahdi channel
callbacks: dahdi_func_read(), dahdi_func_write(), dahdi_setoption(), and
dahdi_queryoption().

(closes issue ASTERISK-19142)
Reported by: Diego Aguirre
Tested by: rmudgett
........

Merged revisions 349558 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 349559 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349560 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoMake debian init script conform to the LSB standard
Kinsey Moore [Wed, 4 Jan 2012 20:24:25 +0000 (20:24 +0000)]
Make debian init script conform to the LSB standard

Previously, this init script would return 1 if Asterisk was already running.
This is incorrect behavior according to the LSB standard and has been fixed by
returning 0 instead.

(closes issue ASTERISK-17958)
Reported-by: johnc
........

Merged revisions 349529 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 349532 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349535 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoUpdate autosupport script and man page
Kinsey Moore [Wed, 4 Jan 2012 20:02:34 +0000 (20:02 +0000)]
Update autosupport script and man page

Added information collection from the output of the utilities: top, free, uptime, ifconfig
Added information collection from the output of the Asterisk command 'dahdi show status'
Added option / flag '-n, --non-interactive'
Updated man page to reflect new option / flag '-n, --non-interactive'

Patch-by: John Bigelow (itzanger)
(closes issue AST-749)
........

Merged revisions 349504 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 349505 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349506 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAdds Subscription-State header to notify with call completion. per RFC3265
Jonathan Rose [Wed, 4 Jan 2012 19:53:49 +0000 (19:53 +0000)]
Adds Subscription-State header to notify with call completion. per RFC3265

(Closes issue ASTERISK-17953)
Reported by: George Konopacki
Patches:
19400.patch uploaded by mmichelson (license 5049)
........

Merged revisions 349482 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 349502 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349503 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix documentation for SayNumber to reflect the fact that language is changed in CHANNEL()
Jonathan Rose [Wed, 4 Jan 2012 18:46:51 +0000 (18:46 +0000)]
Fix documentation for SayNumber to reflect the fact that language is changed in CHANNEL()

(closes issue ASTERISK-18962)
reported by: Nir Simionovich
........

Merged revisions 349450 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 349451 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349452 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix some minor formatting issues based on coding guidelines.
Russell Bryant [Sat, 31 Dec 2011 15:48:09 +0000 (15:48 +0000)]
Fix some minor formatting issues based on coding guidelines.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349410 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoConstify tag argument in REF_DEBUG related code.
Russell Bryant [Sat, 31 Dec 2011 15:45:57 +0000 (15:45 +0000)]
Constify tag argument in REF_DEBUG related code.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349409 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoHandle AST_CONTROL_UPDATE_RTP_PEER frames in local bridge loop
Matthew Jordan [Thu, 29 Dec 2011 15:16:46 +0000 (15:16 +0000)]
Handle AST_CONTROL_UPDATE_RTP_PEER frames in local bridge loop

Failing to handle AST_CONTROL_UPDATE_RTP_PEER frames in the local bridge loop
causes the loop to exit prematurely.  This causes a variety of negative side
effects, depending on when the loop exits.  This patch handles the frame by
essentially swallowing the frame in the local loop, as the current channel
drivers expect the RTP bridge to handle the frame, and, in the case of the
local bridge loop, no additional action is necessary.

(issue ASTERISK-19040)
(issue ASTERISK-19128)
(issue ASTERISK-17725)
(issue ASTERISK-18340)
(closes issue ASTERISK-19095)
Reported by: Stefan Schmidt
Tested by: Matt Jordan

Review: https://reviewboard.asterisk.org/r/1640/
........

Merged revisions 349339 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 349340 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349341 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoUse ast_audiohook_write_list_empty to determine if our lists are empty instead
Sean Bright [Wed, 28 Dec 2011 21:39:12 +0000 (21:39 +0000)]
Use ast_audiohook_write_list_empty to determine if our lists are empty instead
of duplicating that logic.
........

Merged revisions 349289 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 349290 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349291 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoTell Subversion to gnore the 'astdb2bdb' binary file if it exists.
Kevin P. Fleming [Wed, 28 Dec 2011 19:00:20 +0000 (19:00 +0000)]
Tell Subversion to gnore the 'astdb2bdb' binary file if it exists.
........

Merged revisions 349250 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349251 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoImprove T.38 gateway V.21 preamble detection.
Kevin P. Fleming [Wed, 28 Dec 2011 18:59:16 +0000 (18:59 +0000)]
Improve T.38 gateway V.21 preamble detection.

This commit removes the V.21 preamble detection code previously added to the
generic DSP implementation in Asterisk, and instead enhances the res_fax module
to be able to utilize V.21 preamble detection functionality made available by
FAX technology modules. This commit also adds such support to res_fax_spandsp,
which uses the Spandsp modem tone detection code to do the V.21 preamble
detection.

There should be no functional change here, other than much more reliable V.21
preamble detection (and thus T.38 gateway initiation).
........

Merged revisions 349248 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349249 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix timing source dependency issues with MOH
Matthew Jordan [Tue, 27 Dec 2011 20:55:15 +0000 (20:55 +0000)]
Fix timing source dependency issues with MOH

Prior to this patch, res_musiconhold existed at the same module priority level
as the timing sources that it depends on.  This would cause a problem when
music on hold was reloaded, as the timing source could be changed after
res_musiconhold was processed.  This patch adds a new module priority level,
AST_MODPRI_TIMING, that the various timing modules are now loaded at.  This
now occurs before loading other resource modules, such that the timing source
is guaranteed to be set prior to resolving the timing source dependencies.

(closes issue ASTERISK-17474)
Reporter: Luke H
Tested by: Luke H, Vladimir Mikhelson, zzsurf, Wes Van Tlghem, elguero, Thomas Arimont
Patches:
 asterisk-17474-dahdi_timing-infinite-wait-fix_v3_branch-1.8.diff uploaded by elguero (License #5026)
 asterisk-17474-dahdi_timing-infinite-wait-fix_v3_branch-10.diff uploaded by elguero (License #5026)
 asterisk-17474-dahdi_timing-infinite-wait-fix_v3.diff uploaded by elguero (License #5026)

Review: https://reviewboard.asterisk.org/r/1578/
........

Merged revisions 349194 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 349195 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349196 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoOnce an audiohook is attached to a channel, we continue to transcode all of the
Sean Bright [Tue, 27 Dec 2011 17:17:58 +0000 (17:17 +0000)]
Once an audiohook is attached to a channel, we continue to transcode all of the
frames, even after all of the hooks are detached.  This patch short-cicuits us
out before we transcode unnecessarily.
........

Merged revisions 349144 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 349145 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349146 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAllow overriding of IMAP server settings on a user by user basis
Matthew Jordan [Fri, 23 Dec 2011 21:19:52 +0000 (21:19 +0000)]
Allow overriding of IMAP server settings on a user by user basis

This patch allows the imapserver, imapport, and imapflags settings to be
overridden for any voicemail user.  It also documents the settings in
the sample voicemail.conf file, and updates the voicemail schema to
allow storage of those columns.

(closes issue ASTERISK-16489)
Reporter: Hubert Mickael
Tested by: Matt Jordan

Review: https://reviewboard.asterisk.org/r/1614/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349106 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoINFO/Record request configurable to use dynamic features
Jonathan Rose [Fri, 23 Dec 2011 20:42:21 +0000 (20:42 +0000)]
INFO/Record request configurable to use dynamic features

Adds two new options to SIP peers allowing them to specify features (dynamic or builtin)
to use when sending INFO/record requests. Recordonfeature activates whatever feature
is specified when recieving a record: on request while recordofffeature activates
whatever feature is specified when receiving a record: off request. Both of these
features can be disabled by setting the feature to an empty string.

(closes issue ASTERISK-16507)
Reported by: Jon Bright
Review: https://reviewboard.asterisk.org/r/1634/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349098 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agochan_sip autocreatepeer=persist option for auto-created peers to survive reload
Jonathan Rose [Fri, 23 Dec 2011 20:19:33 +0000 (20:19 +0000)]
chan_sip autocreatepeer=persist option for auto-created peers to survive reload

This patch moves destruction of sip peers to immediately after the general section of
sip.conf is read so that autocreatepeer setting can be read before deletion of peers.
If autocreatepeer=persist at reload, then peers created by the autocreatepeer setting
will be skipped when purging the current SIP peer list.

(closes ASTERISK-16508)
Reported by: Kirill Katsnelson
Patches:
017797-kkm-persist-autopeers-1.8.patch uploaded by Kirill Katsnelson (license 5845)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349097 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoMerged revisions 349045 via svnmerge from
Sean Bright [Fri, 23 Dec 2011 17:36:14 +0000 (17:36 +0000)]
Merged revisions 349045 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r349045 | seanbright | 2011-12-23 12:32:33 -0500 (Fri, 23 Dec 2011) | 25 lines

  Merged revisions 349044 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.8

  ........
    r349044 | seanbright | 2011-12-23 12:25:01 -0500 (Fri, 23 Dec 2011) | 18 lines

    In ChanSpy, don't create audiohooks that will never be used.

    When ChanSpy is initialized it creates and attaches 3 audiohooks:

      1) Read audio off of the channel that we are spying on
      2) Write audio to the channel that we are spying on
      3) Write audio to the channel that is bridged to the channel that we are
         spying on.

    The first is always necessary, but the others are used only when specific
    options are passed to the ChanSpy application (B, d, w, and W to be specific).

    When those flags are not passed, neither of those audiohooks are ever sent
    frames, but we still try to process the hooks for each voice frame that we
    recieve on the channel.

    So in short - only create and attach audiohooks that we actually need.
  ........
................

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349046 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix missing doc tags found while fixing ASTERISK-18689
Kinsey Moore [Fri, 23 Dec 2011 15:26:12 +0000 (15:26 +0000)]
Fix missing doc tags found while fixing ASTERISK-18689

Add missing <variable></variable> tags in app_dial documentation.
........

Merged revisions 348992 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 348993 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348994 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix extension state callback references in chan_sip.
Richard Mudgett [Fri, 23 Dec 2011 02:35:13 +0000 (02:35 +0000)]
Fix extension state callback references in chan_sip.

Chan_sip gives a dialog reference to the extension state callback and
assumes that when ast_extension_state_del() returns, the callback cannot
happen anymore.  Chan_sip then reduces the dialog reference count
associated with the callback.  Recent changes (ASTERISK-17760) have
resulted in the potential for the callback to happen after
ast_extension_state_del() has returned.  For chan_sip, this could be very
bad because the dialog pointer could have already been destroyed.

* Added ast_extension_state_add_destroy() so chan_sip can account for the
sip_pvt reference given to the extension state callback when the extension
state callback is deleted.

* Fix pbx.c awkward statecbs handling in ast_extension_state_add_destroy()
and handle_statechange() now that the struct ast_state_cb has a destructor
to call.

* Ensure that ast_extension_state_add_destroy() will never return -1 or 0
for a successful registration.

* Fixed pbx.c statecbs_cmp() to compare the correct information.  The
passed in value to compare is a change_cb function pointer not an object
pointer.

* Make pbx.c ast_merge_contexts_and_delete() not perform callbacks with
AST_EXTENSION_REMOVED with locks held.  Chan_sip is notorious for
deadlocking when those locks are held during the callback.

* Removed unused lock declaration for the pbx.c store_hints list.

(closes issue ASTERISK-18844)
Reported by: rmudgett

Review: https://reviewboard.asterisk.org/r/1635/
........

Merged revisions 348940 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 348952 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348953 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix for memory leaks / cleanup in cel_pgsql
Matthew Jordan [Thu, 22 Dec 2011 22:39:29 +0000 (22:39 +0000)]
Fix for memory leaks / cleanup in cel_pgsql

There were a number of issues in cel_pgsql's pgsql_log method:
* If either sql or sql2 could not be allocated, the method would return while
the pgsql_lock was still locked
* If the execution of the log statement succeeded, the sql and sql2 structs
were never free'd
* Reconnection successes were logged as ERRORs.  In general, the severity of
several logging statements was reduced

(closes issue ASTERISK-18879)
Reported by: Niolas Bouliane
Tested by: Matt Jordan

Review: https://reviewboard.asterisk.org/r/1624/
........

Merged revisions 348888 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 348889 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348890 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix segfault on answer.
Damien Wedhorn [Thu, 22 Dec 2011 21:12:57 +0000 (21:12 +0000)]
Fix segfault on answer.

Only update/change RTP source if RTP has already been started and
connected to the subchannel.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348849 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAdd Asterisk TestSuite event hooks to support ConfBridge testing
Matthew Jordan [Thu, 22 Dec 2011 20:44:53 +0000 (20:44 +0000)]
Add Asterisk TestSuite event hooks to support ConfBridge testing

This patch adds initial testsuite event hooks so that ConfBridge tests
can be executed in the Asterisk TestSuite.

(issue ASTERISK-19059)
........

Merged revisions 348846 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348848 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAllow packetization vaules > 127
Terry Wilson [Thu, 22 Dec 2011 20:39:48 +0000 (20:39 +0000)]
Allow packetization vaules > 127

According to the RTP packetization documentation, and the maximum values
listed in AST_FORMAT_LIST, we should support values > that the signed
char array that ast_codec_pref makes available to store the value. All
places in the code treat the framing field as though it were an int
array instaead of a char array anyway, so this just fixes the type of
the array.

(closes issue ASTERISK-18876)
Review: https://reviewboard.asterisk.org/r/1639/
........

Merged revisions 348833 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 348845 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348847 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoMake codecs/speex ignore *.i files also.
Richard Mudgett [Wed, 21 Dec 2011 20:13:37 +0000 (20:13 +0000)]
Make codecs/speex ignore *.i files also.
........

Merged revisions 348793 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348794 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoMake apps/confbridge ignore *.i files also.
Richard Mudgett [Wed, 21 Dec 2011 20:08:36 +0000 (20:08 +0000)]
Make apps/confbridge ignore *.i files also.
........

Merged revisions 348790 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348791 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix chan_iax2 to not report an RDNIS number if it is blank.
Richard Mudgett [Tue, 20 Dec 2011 23:11:29 +0000 (23:11 +0000)]
Fix chan_iax2 to not report an RDNIS number if it is blank.

Some ISDN switches complain or block the call if the RDNIS number is
empty.

* Made chan_iax2 not save a RDNIS number into the ast_channel if the
string is blank.  This is what other channel drivers do.

(closes issue ASTERISK-17152)
Reported by: rmudgett
........

Merged revisions 348735 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 348736 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348737 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoThis adds support for setting several safe_asterisk parameters using
Matthew Nicholson [Tue, 20 Dec 2011 20:06:17 +0000 (20:06 +0000)]
This adds support for setting several safe_asterisk parameters using
environment variables and also enables a custom run directory for asterisk
(instead of defaulting to /tmp).

Patch by: Byron Clark (byronclark)
(closes ASTERISK-17810)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348698 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix crashes on other platforms caused by interference from Darwin weak symbol support.
Richard Mudgett [Mon, 19 Dec 2011 21:43:19 +0000 (21:43 +0000)]
Fix crashes on other platforms caused by interference from Darwin weak symbol support.

Support weak symbols on a platform specific basis.  The Mac OS X (Darwin)
support must be isolated from the other platforms because it has caused
other platforms to crash.  Several other platforms including Linux have
GCC versions that define the weak attribute.  However, this attribute is
only setup for use in the code by Darwin.

(closes issue ASTERISK-18728)
Reported by: Ben Klang

Review: https://reviewboard.asterisk.org/r/1617/
........

Merged revisions 348647 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 348648 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348649 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoUpdate documentation for MESSAGE_SEND_STATUS variable.
Leif Madsen [Mon, 19 Dec 2011 19:55:18 +0000 (19:55 +0000)]
Update documentation for MESSAGE_SEND_STATUS variable.

(Closes issue ASTERISK-19056)
Reported by: Yuri
Patches:
     348360.diff uploaded by Yuri (license #5242)
........

Merged revisions 348605 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348606 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAdd a separate buffer for SRTCP packets
Terry Wilson [Mon, 19 Dec 2011 01:36:21 +0000 (01:36 +0000)]
Add a separate buffer for SRTCP packets

The function ast_srtp_protect used a common buffer for both SRTP and SRTCP
packets. Since this function can be called from multiple threads for the same
SRTP session (scheduler for SRTCP and channel for SRTP) it was possible for the
packets to become corrupted as the buffer was used by both threads
simultaneously.

This patch adds a separate buffer for SRTCP packets to avoid the problem.

(closes issue ASTERISK-18889, Reported/patch by Daniel Collins)
........

Merged revisions 347995 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 347996 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348567 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoCorrect two flaws in sip.conf.sample related to AST-2011-013.
Kevin P. Fleming [Sun, 18 Dec 2011 18:29:47 +0000 (18:29 +0000)]
Correct two flaws in sip.conf.sample related to AST-2011-013.

* The sample file listed *two* values for the 'nat' option as being the default.
  Only 'force_rport' is the default.

* The warning about having differing 'nat' settings confusingly referred to both
  peers and users.
........

Merged revisions 348515 from http://svn.asterisk.org/svn/asterisk/branches/1.6.2
........

Merged revisions 348516 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 348517 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348518 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoClean-up on isle five for __ast_request_and_dial() and ast_call_forward().
Richard Mudgett [Fri, 16 Dec 2011 23:58:44 +0000 (23:58 +0000)]
Clean-up on isle five for __ast_request_and_dial() and ast_call_forward().

* Add locking when a channel inherits variables and datastores in
__ast_request_and_dial() and ast_call_forward().  Note: The involved
channels are not active so there was minimal potential for problems.

* Remove calls to ast_set_callerid() in __ast_request_and_dial() and
ast_call_forward() because the set information is for the wrong direction.

* Don't use C++ keywords for variable names in ast_call_forward().

* Run the redirecting interception macro if defined when forwarding a call
in ast_call_forward().  Note: Currently will never execute because the
only callers that supply a calling channel supply a hungup or zombie
channel.

* Make feature_request_and_dial() put the transferee into autoservice when
it calls ast_call_forward() in case a redirection interception macro is
run.  Note: Currently will never happen because the caller channel (Party
B) is always hungup at this time.

* Make feature_request_and_dial() ignore the AST_CONTROL_PROCEEDING frame
to silence a log message.
........

Merged revisions 348464 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 348465 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348466 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoVoicemail with the saycid option will now play a caller's name based on cid if available.
Jonathan Rose [Fri, 16 Dec 2011 22:00:37 +0000 (22:00 +0000)]
Voicemail with the saycid option will now play a caller's name based on cid if available.

In order to check the availability of the caller's name, app_voicemail will check for an
audio file in <astspooldir>/recordings/callerids/
This change sets a precedent for where to put recordings of names. Currently the idea is
that recordings here could also be used for applications like confbridge and meetme to
find recorded names in this folder from callerid (when another recording isn't available)

(closes issue ASTERISK-18565)
Reporter: Russell Brown
Patches:
r uploaded by Russel Brown (license 6182)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348416 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix cut and past error in ast_call_forward().
Richard Mudgett [Fri, 16 Dec 2011 21:30:35 +0000 (21:30 +0000)]
Fix cut and past error in ast_call_forward().

(issue ASTERISK-18836)
........

Merged revisions 348401 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 348405 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348408 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix crash during CDR update.
Richard Mudgett [Fri, 16 Dec 2011 21:10:19 +0000 (21:10 +0000)]
Fix crash during CDR update.

The ast_cdr_setcid() and ast_cdr_update() were shown in ASTERISK-18836 to
be called by different threads for the same channel.  The channel driver
thread and the PBX thread running dialplan.

* Add lock protection around CDR API calls that access an ast_channel
pointer.

(closes issue ASTERISK-18836)
Reported by: gpluser

Review: https://reviewboard.asterisk.org/r/1628/
........

Merged revisions 348362 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 348363 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348364 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix ParkAndAnnounce to pass the CallerID to the announcing channel.
Richard Mudgett [Fri, 16 Dec 2011 01:29:20 +0000 (01:29 +0000)]
Fix ParkAndAnnounce to pass the CallerID to the announcing channel.

ParkAndAnnounce tried to pass the CallerID to the announcing channel but
the ID was wiped out by the channel masquerade done when parking the call.

* Save the CallerID before parking the channel to pass it to the
announcing channel.

* Fixed a minor memory leak in ParkAndAnnounce.

* Updated some ParkAndAnnounce log messages.
........

Merged revisions 348310 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 348311 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348312 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAdded support for all slin formats to app_originate
Matthew Jordan [Wed, 14 Dec 2011 22:36:30 +0000 (22:36 +0000)]
Added support for all slin formats to app_originate

Previously, app_originate could not originate a call into a non-8kHz conference
bridge as the formats for non-8kHz slin codecs were not applied to the created
channel.  This patch adds all of the formats by default, such that if a created
channel has a codec that supports a higher sampling rate, a translation path
can be built between it and other channels.
........

Merged revisions 348265 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348266 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFixed Asterisk crash when function QUEUE_MEMBER receives invalid input
Matthew Jordan [Wed, 14 Dec 2011 22:08:55 +0000 (22:08 +0000)]
Fixed Asterisk crash when function QUEUE_MEMBER receives invalid input

The function QUEUE_MEMBER has two required parameters (queuename, option).  It
was only checking for the presence of queuename.  The patch checks for the
existence of the option parameter and provides better error logging when
invalid values are provided for the option parameter as well.
........

Merged revisions 348211 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348215 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoDon't clear LOCALSTATIONID before sending or receiving. The user may set that
Matthew Nicholson [Wed, 14 Dec 2011 22:05:57 +0000 (22:05 +0000)]
Don't clear LOCALSTATIONID before sending or receiving. The user may set that
variable.

ASTERISK-18921
........

Merged revisions 348212 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 348213 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348214 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAdd and document PARKEDCALL variable set during timeout
Jonathan Rose [Wed, 14 Dec 2011 21:08:20 +0000 (21:08 +0000)]
Add and document PARKEDCALL variable set during timeout

PARKEDCALL variable tracks which parking lot the call was last parked in.  This can be
used afterwards for flow control when returntoorigin is set to off. I went ahead and
documented both this and the existing variable set during timeout (PARKINGSLOT) in
the sample features.conf since there was no prior mention of variables being set during
timeout.

(closes issue ASTERISK-16239)
Reported By: Clod Patry
Patches:
M17503.diff uploaded by Clod Patry (license 5138)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348161 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoImprove error message in CONFBRIDGE_INFO
Matthew Jordan [Wed, 14 Dec 2011 20:51:39 +0000 (20:51 +0000)]
Improve error message in CONFBRIDGE_INFO

Provided a more descriptive error message when a value supplied for the parameter
type is not one of the acceptable values.

(closes issue ASTERISK-18717)
Reported by: Paul Belanger
Patches:
  __20111103-better-confbridge_info-error-msg.txt (License #4999)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348160 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix accidental use of tabs instead of spaces from previous features.conf.sample change
Jonathan Rose [Wed, 14 Dec 2011 20:37:11 +0000 (20:37 +0000)]
Fix accidental use of tabs instead of spaces from previous features.conf.sample change
........

Merged revisions 348157 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 348158 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348159 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoDocument PARKINGSLOT variable in features.conf.sample
Jonathan Rose [Wed, 14 Dec 2011 20:32:40 +0000 (20:32 +0000)]
Document PARKINGSLOT variable in features.conf.sample

(issue ASTERISK-16239)
........

Merged revisions 348154 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 348155 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348156 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix FollowMe CallerID on outgoing calls.
Richard Mudgett [Tue, 13 Dec 2011 23:10:42 +0000 (23:10 +0000)]
Fix FollowMe CallerID on outgoing calls.

The addition of the Connected Line support changed how CallerID is passed
to outgoing calls.  The FollowMe application was not updated to pass
CallerID to the outgoing calls.

* Fix FollowMe CallerID on outgoing calls.

* Restructured findmeexec() to fix several memory leaks and eliminate some
duplicated code.

* Made check the return value of create_followme_number().  Putting a NULL
into the numbers list is bad if create_followme_number() fails.

* Fixed a couple uses of ast_strdupa() inside loops.

* The changes to bridge_builtin_features.c fix a similar CallerID issue
with the bridging API attended and blind transfers.  (Not used at this
time.)

(closes issue ASTERISK-17557)
Reported by: hamlet505a
Tested by: rmudgett

Review: https://reviewboard.asterisk.org/r/1612/
........

Merged revisions 348101 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 348102 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348103 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix possible misshandling of an incoming SIP response as a peer poke response.
Stefan Schmidt [Tue, 13 Dec 2011 15:22:48 +0000 (15:22 +0000)]
Fix possible misshandling of an incoming SIP response as a peer poke response.
Also make sure peer has even qualify enabled when handle a peer poke response.

(closes issue ASTERISK-18940)
Reported by: Vitaliy
Tested by: Vitaliy and UnixDev

Review: https://reviewboard.asterisk.org/r/1620
Reviewed by: David Vossel
........

Merged revisions 348048 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 348056 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348061 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoBacked out core changes from r346391
Matthew Jordan [Mon, 12 Dec 2011 19:35:08 +0000 (19:35 +0000)]
Backed out core changes from r346391

During testing, it was discovered that there were a number of side effects
introduced by r346391 and subsequent check-ins related to it (r346429,
r346617, and r346655).  This included the /main/stdtime/ test 'hanging',
as well as the remote console option failing to receive the appropriate output
after a period of time.

I only backed out the changes to main/ and utils/, as this was adequate
to reverse the behavior experienced.

(issue ASTERISK-18974)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347997 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoUpdate sample configs to put incoming calls into context public.
Richard Mudgett [Mon, 12 Dec 2011 17:34:39 +0000 (17:34 +0000)]
Update sample configs to put incoming calls into context public.

* Add warning about the SIP allowguest option in context public.

(closes issue ASTERISK-14122)
Reported by: Alec Davis
Review: https://reviewboard.asterisk.org/r/719/
........

Merged revisions 347953 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347954 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAdds MixMonitor and StopMixMonitor AMI commands to the manager
Jonathan Rose [Fri, 9 Dec 2011 21:47:28 +0000 (21:47 +0000)]
Adds MixMonitor and StopMixMonitor AMI commands to the manager

These commands work much like the dialplan applications that would otherwise invoke them.
A nice benefit of these is that they can be invoked on a call remotely and at any time
during a call. They work much like the Monitor and StopMonitor ami commands.

(closes issue ASTERISK-17726)
Reported by: Sergio González Martín
Patches:
mixmonitor_actions.diff uploaded by Sergio González Martín (license 5644)
Review: https://reviewboard.asterisk.org/r/1193/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347903 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoRemove autojump extensions from SayUnixTime, make an option to perform automatic...
Jonathan Rose [Fri, 9 Dec 2011 20:27:03 +0000 (20:27 +0000)]
Remove autojump extensions from SayUnixTime, make an option to perform automatic jumps.

When a caller sends DTMF while the SayUnixTime application is saying the time, The call
would jump to the next extension much like it does during Background(). This patch adds
option 'j' to SayUnixTime which when used employs the old behavior. Also, this patch
allows arguments to sayunixtime to not be used as empty strings in the case of something
like 'sayunixtime(,,,j)' or 'sayunixtime(,,pattern).

(closes issue ASTERISK-16675)
Reported by: jlpedrosa
Patches:
patch_SayUnixTime_noJump.patch uploaded by jlpedrosa (license 5959)
Review: https://reviewboard.asterisk.org/r/956/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347866 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix some parsing issues in add_exten_to_pattern_tree().
Richard Mudgett [Fri, 9 Dec 2011 01:33:29 +0000 (01:33 +0000)]
Fix some parsing issues in add_exten_to_pattern_tree().

* Simplify compare_char() and avoid potential sign extension issue.

* Fix infinite loop in add_exten_to_pattern_tree() handling of character
set escape handling.

* Added buffer overflow checks in add_exten_to_pattern_tree() character
set collection.

* Made ignore empty character sets.

* Added escape character handling to end-of-range character in character
sets.  This has a slight change in behavior if the end-of-range character
is an escape character.  You must now escape it.

* Fix potential sign extension issue when expanding character set ranges.

* Made remove duplicated characters from character sets.  The duplicate
characters lower extension matching priority and prevent duplicate
extension detection.

* Fix escape character handling when the escape character is trying to
escape the end-of-string.  We could have continued processing characters
after the end of the exten string.  We could have added the previous
character to the pattern matching tree incorrectly.

(closes issue ASTERISK-18909)
Reported by: Luke-Jr
........

Merged revisions 347811 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 347812 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347813 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix regression when using tcpenable=no and tlsenable=yes.
Walter Doekes [Thu, 8 Dec 2011 21:32:36 +0000 (21:32 +0000)]
Fix regression when using tcpenable=no and tlsenable=yes.

The tlsenable settings are tucked away in main/tcptls.c, so I missed
them when resolving ASTERISK-18837. This should resolve the test suite
breakage of the sip tls tests.

Review: https://reviewboard.asterisk.org/r/1615
Reviewed by: Matt Jordan
........

Merged revisions 347718 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 347727 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347735 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix regressed behavior of queue set penalty to work without specifying 'in <queuename>'
Jonathan Rose [Thu, 8 Dec 2011 20:55:19 +0000 (20:55 +0000)]
Fix regressed behavior of queue set penalty to work without specifying 'in <queuename>'

r325483 caused a regression in Asterisk 10+ that would make Asterisk segfault when
attempting to set penalty on an interface without specifying a queue in the queue set
penalty CLI command. In addition, no attempt would be made whatsoever to perform the
penalty setting on all the queues in the core list with either the cli command or the
non-segfaulting ami equivalent. This patch fixes that and also makes an attempt to
document and rename some functions required by this command to better represent what
they actually do. Oh yeah, and the use of this command without specifying a specific
queue actually works now.

Review: https://reviewboard.asterisk.org/r/1609/
........

Merged revisions 347656 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347658 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoMark channel running the h exten with the soft-hangup flag.
Richard Mudgett [Thu, 8 Dec 2011 17:55:07 +0000 (17:55 +0000)]
Mark channel running the h exten with the soft-hangup flag.

When a bridge is broken, ast_bridge_call() might execute the h exten on
the calling channel.  However, that channel may not have been the channel
that broke the bridge by hanging up.  The channel executing the h exten
must be in a hung up state so things like AGI run in the correct mode.

* Make sure ast_bridge_call() marks the channel it is executing the h
exten on as hung up.  (The AST_SOFTHANGUP_APPUNLOAD flag is used so as to
match the pbx.c main dialplan execution loop when it executes the h
exten.)

(closes issue ASTERISK-18811)
Reported by: David Hajek
Patches:
      jira_asterisk_18811_v1.8.patch (license #5621) patch uploaded by rmudgett
Tested by: David Hajek, rmudgett
........

Merged revisions 347595 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 347600 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347601 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoDon't crash on INFO automon request with no channel
Terry Wilson [Thu, 8 Dec 2011 16:24:29 +0000 (16:24 +0000)]
Don't crash on INFO automon request with no channel

AST-2011-014. When automon was enabled in features.conf, it was possible
to crash Asterisk by sending an INFO request if no channel had been
created yet.

(closes issue ASTERISK-18805)
........

Merged revisions 347530 from http://svn.asterisk.org/svn/asterisk/branches/1.6.2
........

Merged revisions 347531 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 347532 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347533 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix segfault on answer.
Damien Wedhorn [Thu, 8 Dec 2011 06:59:01 +0000 (06:59 +0000)]
Fix segfault on answer.

Fix a segfault if an attempt to answer a call is made between when
the inbound call gives up (and the channel is removed) and when the
device is notified and removes the call from the device.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347490 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoUpdate AMI Getvar and Setvar documentation about supplying a channel name.
Richard Mudgett [Wed, 7 Dec 2011 21:42:29 +0000 (21:42 +0000)]
Update AMI Getvar and Setvar documentation about supplying a channel name.

(closes issue ASTERISK-18958)
Reported by: Red
Patches:
      jira_asterisk_18958_v1.8.patch (license #5621) patch uploaded by rmudgett
........

Merged revisions 347438 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 347439 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347440 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix: Meetme recording variables from realtime DB use null entries over channel variables
Jonathan Rose [Wed, 7 Dec 2011 20:34:23 +0000 (20:34 +0000)]
Fix: Meetme recording variables from realtime DB use null entries over channel variables

Meetme would attempt to substitute the realtime values of RECORDING_FILE and
RECORDING_FORMAT from the meetme db entry instead of using the channel variable set
for those variables in spite of those database entries being NULL or even lacking
a column to represent them.

(closes issue ASTERISK-18873)
Reported by: Byron Clark
Patches:
ASTERISK-18873-1.patch uploaded by Byron Clark (license 6157)
........

Merged revisions 347369 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 347383 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347395 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAdd ASTSBINDIR to the list of configurable paths
Terry Wilson [Wed, 7 Dec 2011 20:15:29 +0000 (20:15 +0000)]
Add ASTSBINDIR to the list of configurable paths

This patch also makes astdb2sqlite3 and astcanary use the configured
directory instead of relying on $PATH.

(closes issue ASTERISK-18959)
Review: https://reviewboard.asterisk.org/r/1613/
........

Merged revisions 347344 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347345 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoMake SIP INFO messages for dtmf-relay signals case insensitive.
Richard Mudgett [Tue, 6 Dec 2011 23:58:44 +0000 (23:58 +0000)]
Make SIP INFO messages for dtmf-relay signals case insensitive.

(closes issue ASTERISK-18924)
Reported by: Kevin Taylor
........

Merged revisions 347292 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 347293 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347294 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoDocuments CHANNEL(musicclass) taking priority over m([x]) in waitExten
Jonathan Rose [Tue, 6 Dec 2011 22:01:00 +0000 (22:01 +0000)]
Documents CHANNEL(musicclass) taking priority over m([x]) in waitExten

If waitExten specifies a music class to use with its music on hold option, it will use
CHANNEL(musicclass) instead if that channel variable has been set on the initiating
channel.  This documents that behavior in the waitExten app so that this can be known
without checking the documentation of the code in function local_ast_moh_start.

(closes issue ASTERISK-18804)
........

Merged revisions 347239 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 347240 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347241 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAdd VM_INFO() dialplan function to gather information about a mailbox.
Walter Doekes [Tue, 6 Dec 2011 20:23:13 +0000 (20:23 +0000)]
Add VM_INFO() dialplan function to gather information about a mailbox.

Deprecates MAILBOX_EXISTS. Provides count, email, exists, fullname,
language, locale, pager, password, tz.

(closes issue ASTERISK-18634)
Patch by: Kris Shaw
Review: https://reviewboard.asterisk.org/r/1568
Reviewed by: Walter Doekes

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347192 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoDon't allow transport=tcp when tcpenable=no.
Walter Doekes [Tue, 6 Dec 2011 19:44:27 +0000 (19:44 +0000)]
Don't allow transport=tcp when tcpenable=no.

When tcpenable=no, sending to transport=tcp hosts was still allowed.
Resolving the source address wasn't possible and yielded the string
"(null)" in SIP messages. Fixed that and a couple of not-so-correct
log messages.

(closes issue ASTERISK-18837)
Reported by: Andreas Topp

Review: https://reviewboard.asterisk.org/r/1585
Reviewed by: Matt Jordan
........

Merged revisions 347166 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 347167 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347168 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoAdd regression tests for issue ASTERISK-18838.
Walter Doekes [Tue, 6 Dec 2011 19:30:14 +0000 (19:30 +0000)]
Add regression tests for issue ASTERISK-18838.

Review: https://reviewboard.asterisk.org/r/1572
Reviewed by: Matt Jordan
........

Merged revisions 347131 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 347146 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347163 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoThe voicemail [general] zonetag and locale variables weren't loaded
Walter Doekes [Tue, 6 Dec 2011 19:28:18 +0000 (19:28 +0000)]
The voicemail [general] zonetag and locale variables weren't loaded
until after the mailboxes were initialized. This caused the settings to
be unset for those mailboxes until a reload was performed.

(closes issue ASTERISK-18838)

Review: https://reviewboard.asterisk.org/r/1570
Reviewed by: Matt Jordan
........

Merged revisions 347111 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 347124 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347157 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoDoubly linked lists unit test and update to implementation.
Richard Mudgett [Tue, 6 Dec 2011 19:09:56 +0000 (19:09 +0000)]
Doubly linked lists unit test and update to implementation.

Update the doubly linked list implementation.  Now safe traversing can
insert before and after the current node when traversing in either
direction.

Updated the linked lists unit test test_linkedlist to also test doubly
linked lists.  The old test_dlinkedlist requires a manual check of results
and probably should be removed.

Review: https://reviewboard.asterisk.org/r/1569/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347110 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFixed crash from orphaned MWI subscriptions in chan_sip
Matthew Jordan [Tue, 6 Dec 2011 17:34:35 +0000 (17:34 +0000)]
Fixed crash from orphaned MWI subscriptions in chan_sip

This patch resolves the issue where MWI subscriptions are orphaned
by subsequent SIP SUBSCRIBE messages.  When a peer is removed, either
by pruning realtime SIP peers or by unloading / loading chan_sip, the
MWI subscriptions that were orphaned would still be on the event engine
list of valid subscriptions but have a pointer to a peer that no longer
was valid.  When an MWI event would occur, this would cause a seg fault.

(closes issue ASTERISK-18663)
Reported by: Ross Beer
Tested by: Ross Beer, Matt Jordan
Patches:
  blf_mwi_diff_12_06_11.txt uploaded by Matt Jordan (license 6283)

Review: https://reviewboard.asterisk.org/r/1610/
........

Merged revisions 347058 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 347068 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347069 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoRestore call progress code for analog ports.
Richard Mudgett [Mon, 5 Dec 2011 17:44:15 +0000 (17:44 +0000)]
Restore call progress code for analog ports.

Extracting sig_analog from chan_dahdi lost call progress detection
functionality.

* Fix analog ports from considering a call answered immediately after
dialing has completed if the callprogress option is enabled.

(closes issue ASTERISK-18841)
Reported by: Richard Miller
Patches:
      chan_dahdi.diff (license #5685) patch uploaded by Richard Miller (Modified by me)
      sig_analog.c.diff (license #5685) patch uploaded by Richard Miller (Modified by me)
      sig_analog.h.diff (license #5685) patch uploaded by Richard Miller
........

Merged revisions 347006 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 347007 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347008 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoResolve duplicate label used in multiple priorities for the same extension.
Jonathan Rose [Mon, 5 Dec 2011 15:04:12 +0000 (15:04 +0000)]
Resolve duplicate label used in multiple priorities for the same extension.

Prior to this patch, if labels with the same name were used for different priorities in
the same extension, the new label would be accepted, but it would be unusable since
attempts to reach that label would just go to the first one. Now pbx.c detects this,
generates a warning in logs, and culls the label before adding it to the dialplan.

(closes issue ASTERISK-18807)
Reported by: Kenneth Shumard
Patches:
pbx.c.patch uploaded by Kenneth Shumard (License 5077)
........

Merged revisions 346954 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 346955 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346956 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix chan_jingle/gtalk load regression introduced in r346087
Kinsey Moore [Mon, 5 Dec 2011 14:47:11 +0000 (14:47 +0000)]
Fix chan_jingle/gtalk load regression introduced in r346087

Add missing symbol exports for ast_aji_client_destroy and ast_aji_buddy_destroy
for usage outside res_jabber.  Testing of these changes focused on res_jabber
itself, so this problem was missed.

Reported-by: Michael Spiceland
........

Merged revisions 346951 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 346952 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346953 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFor SIP REGISTER fix domain-only URIs and domain ACL bypass.
Walter Doekes [Sun, 4 Dec 2011 10:08:19 +0000 (10:08 +0000)]
For SIP REGISTER fix domain-only URIs and domain ACL bypass.

The code that allowed admins to create users with domain-only uri's had
stopped to work in 1.8 because of the reqresp parser rewrites. This is
fixed now: if you have a [mydomain.com] sip user, you can register with
useraddr sip:mydomain.com. Note that in that case -- if you're using
domain ACLs (a configured domain list) -- mydomain.com must be in the
allow list as well.

Reviewboard r1606 shows a list of registration combinations and which
SIP response codes are returned.

Review: https://reviewboard.asterisk.org/r/1533/
Reviewed by: Terry Wilson

(closes issue ASTERISK-18389)
(closes issue ASTERISK-18741)
........

Merged revisions 346899 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 346900 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346901 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoUpdate SIP MESSAGE To parsing to correctly handle URI
Matthew Jordan [Fri, 2 Dec 2011 23:30:21 +0000 (23:30 +0000)]
Update SIP MESSAGE To parsing to correctly handle URI

The previous patch (r346040) incorrectly parsed the URI in the presence
of a port, e.g., user@hostname:port would fail as the port would be
double appended to the SIP message.  This patch uses the parse_uri function
to correctly parse the URI into its username and hostname parts, and places
them in the correct fields in the sip_pvt structure.

(issue ASTERISK-18903)
Review: https://reviewboard.asterisk.org/r/1597/
........

Merged revisions 346856 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346857 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoimplement nat option for rtp channels with ooh323
Alexandr Anikin [Fri, 2 Dec 2011 19:40:21 +0000 (19:40 +0000)]
implement nat option for rtp channels with ooh323

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346816 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoMerged revisions 346763 via svnmerge from
Alexandr Anikin [Fri, 2 Dec 2011 18:03:31 +0000 (18:03 +0000)]
Merged revisions 346763 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r346763 | may | 2011-12-02 20:42:32 +0400 (Fri, 02 Dec 2011) | 14 lines

  Merged revisions 346762 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.8

  ........
    r346762 | may | 2011-12-02 20:19:19 +0400 (Fri, 02 Dec 2011) | 7 lines

    process null frame pointer returned by ast_rtp_instance_read correctly

    (closes issue ASTERISK-16697)
    Reported by: under
    Patches:
            segfault.diff (License #5871) patch uploaded by under
  ........
................

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346777 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoRe-resolve the STUN address if a STUN poll fails for res_stun_monitor.
Richard Mudgett [Thu, 1 Dec 2011 21:19:41 +0000 (21:19 +0000)]
Re-resolve the STUN address if a STUN poll fails for res_stun_monitor.

The STUN socket must remain open between polls or the external address
seen by the STUN server is likely to change.  However, if the STUN request
poll fails then the STUN server address needs to be re-resolved and the
STUN socket needs to be closed and reopened.

* Re-resolve the STUN server address and create a new socket if the STUN
request poll fails.

* Fix ast_stun_request() return value consistency.

* Fix ast_stun_request() to check the received packet for expected message
type and transaction ID.

* Fix ast_stun_request() to read packets until timeout or an associated
response packet is found.  The stun_purge_socket() hack is no longer
required.

* Reduce ast_stun_request() error messages to debug output.

* No longer pass in the destination address to ast_stun_request() if the
socket is already bound or connected to the destination.

(closes issue ASTERISK-18327)
Reported by: Wolfram Joost
Tested by: rmudgett

Review: https://reviewboard.asterisk.org/r/1595/
........

Merged revisions 346700 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 346701 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346709 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoChange 183 Ringing in sipfrag body to 180 ringing. 183 Ringing isn't even a thing.
Jonathan Rose [Thu, 1 Dec 2011 20:46:12 +0000 (20:46 +0000)]
Change 183 Ringing in sipfrag body to 180 ringing. 183 Ringing isn't even a thing.

183 is actually a session progress message.

(closes issue ASTERISK-18925)
Reported by: Sebastian Denz
Tested by: jrose
Patches:
asterisk18-use_180_instead_of_183_in_sipfrag.diff by Sebastian Denz (License #6139)
........

Merged revisions 346697 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 346698 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346699 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoRemove the few places where we try to ast_verbose() without a newline.
Tilghman Lesher [Wed, 30 Nov 2011 23:38:34 +0000 (23:38 +0000)]
Remove the few places where we try to ast_verbose() without a newline.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346655 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agoFix edge case for overflow buffer.
Tilghman Lesher [Wed, 30 Nov 2011 22:40:23 +0000 (22:40 +0000)]
Fix edge case for overflow buffer.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346617 65c4cc65-6c06-0410-ace0-fbb531ad65f3

11 years agor346525 | jrose | 2011-11-30 15:10:38 -0600 (Wed, 30 Nov 2011) | 18 lines
Jonathan Rose [Wed, 30 Nov 2011 22:03:02 +0000 (22:03 +0000)]
r346525 | jrose | 2011-11-30 15:10:38 -0600 (Wed, 30 Nov 2011) | 18 lines

Cleaning up chan_sip/tcptls file descriptor closing.

This patch attempts to eliminate various possible instances of undefined behavior caused
by invoking close/fclose in situations where fclose may have already been issued on a
tcptls_session_instance and/or closing file descriptors that don't have a valid index
for fd (-1). Thanks for more than a little help from wdoekes.

(closes issue ASTERISK-18700)
Reported by: Erik Wallin

(issue ASTERISK-18345)
Reported by: Stephane Cazelas

(issue ASTERISK-18342)
Reported by: Stephane Chazelas

Review: https://reviewboard.asterisk.org/r/1576/
........

Merged revisions 346564 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 346565 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346566 65c4cc65-6c06-0410-ace0-fbb531ad65f3