]> git.ipfire.org Git - thirdparty/asterisk.git/log
thirdparty/asterisk.git
11 years agoMinor performance bump by not allocate manager variable struct if we don't need it
David M. Lee [Thu, 26 Sep 2013 15:41:47 +0000 (15:41 +0000)] 
Minor performance bump by not allocate manager variable struct if we don't need it

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

11 years agoAdding a few words to the Dial option 'r' help text to clarify its tone argument...
Rusty Newton [Thu, 26 Sep 2013 14:12:29 +0000 (14:12 +0000)] 
Adding a few words to the Dial option 'r' help text to clarify its tone argument description

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

11 years agochan_dahdi: CLI "core stop gracefully" has needless delay for PRI and SS7.
Richard Mudgett [Wed, 25 Sep 2013 20:36:08 +0000 (20:36 +0000)] 
chan_dahdi: CLI "core stop gracefully" has needless delay for PRI and SS7.

The PRI and SS7 link control threads are not stopped correctly when the
chan_dahdi.so module is unloaded.  The link control threads pri_dchannel()
and ss7_linkset() are not awakened from a poll() to cancel the thread.

* Added a SIGURG signal after requesting the thread cancel to break the
link control thread poll() immediately.

For SS7 it was slightly worse, the link poll() timeout would always be
whatever was the last libss7 scheduled event time used.  If no libss7
scheduled event was pending, the thread could run more often than
necessary.

* Set nextms to 60 seconds for the ss7_linkset() poll() if there is no
other libss7 scheduled event.
........

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

Merged revisions 399834 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoBroke the build - Fixing XML DTD violation added in r399782, missing <para> tags...
Rusty Newton [Wed, 25 Sep 2013 19:40:43 +0000 (19:40 +0000)] 
Broke the build - Fixing XML DTD violation added in r399782, missing <para> tags inside a <note>

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

11 years agochan_sip: Fix Realtime Peer Update Problem When Un-registering And Expires Header...
Michael L. Young [Wed, 25 Sep 2013 19:28:30 +0000 (19:28 +0000)] 
chan_sip: Fix Realtime Peer Update Problem When Un-registering And Expires Header In 200ok

1st Issue
When a realtime peer sends an un-REGISTER request, Asterisk
un-registers the peer but the database table record still has regseconds and
fullcontact for the peer.  This results in calls attempting to be routed to the
peer which is no longer registered.  The expected behavior is to get
busy/congested when attempting to call an un-registered peer through the
dialplan.

What was discovered is that we are clearing out the peer's registration in the
database in parse_register_contact() when calling expire_register() but then
upon returning from parse_register_contact(), update_peer() is run which stores
back in the database table regseconds and fullcontact.

2nd Issue
The reporter pointed out that the 200 ok being returned by Asterisk
after un-registering a peer contains a Contact header with ;expires= and the
Expires header is not set to 0.  This is actually a regression.

Tests were created for this second issue (ASTERISK-22548).  The tests have been
reviewed and a Ship It! was received on those tests.

This patch does the following:

* Do not ignore the Expires header value even when it is set to 0.  The patch
  sets the pvt->expiry earlier on in the function so that it is set properly and
  used.

* If pvt->expiry is 0, do not call update_peer since that means the peer has
  already been un-registered and there is no need to update the database record
  again since nothing has changed.

(closes issue ASTERISK-22428)
Reported by: Ben Smithurst
Tested by: Ben Smithurst, Michael L. Young
Patches:
  asterisk-22428-rt-peer-update-and-expires-header.diff
                                              by Michael L. Young (license 5026)

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

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

Merged revisions 399795 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoFixing documentation for the configOption "external_media_address" of both Endpoints...
Rusty Newton [Wed, 25 Sep 2013 18:36:54 +0000 (18:36 +0000)] 
Fixing documentation for the configOption "external_media_address" of both Endpoints and Transports

Re-using some of Mark Michelson's text from an E-mail discussion for:

* Modifying synopsis for both options
* Adding description to both options
* Changing name of "external_media_address" for Endpoint configuration to "media_address" in anticipation of the option name being changed. (As it is not really specific to external destinations)

(issue ASTERISK-22405)
(closes issue ASTERISK-22405)
Reported by: Rusty Newton
Review: https://reviewboard.asterisk.org/r/2850/

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

11 years agoastobj2: Made use OBJ_SEARCH_xxx identifiers as field enum values internally.
Richard Mudgett [Tue, 24 Sep 2013 22:50:50 +0000 (22:50 +0000)] 
astobj2: Made use OBJ_SEARCH_xxx identifiers as field enum values internally.

* Made ao2_unlink to protect itself from stray OBJ_SEARCH_xxx values
passed in.

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

11 years agochan_iax2: Prevent some needless breaking of the native IAX2 bridge.
Richard Mudgett [Tue, 24 Sep 2013 20:34:59 +0000 (20:34 +0000)] 
chan_iax2: Prevent some needless breaking of the native IAX2 bridge.

* Clean up some twisted code in the iax2_bridge() loop.

* Add AST_CONTROL_VIDUPDATE and AST_CONTROL_SRCCHANGE to a list of frames
to prevent the native bridge loop from breaking.

* Passing the AST_CONTROL_T38_PARAMETERS frame should also allow FAX over
a native IAX2 bridge.

(issue ABE-2912)

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

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

Merged revisions 399708 from http://svn.asterisk.org/svn/asterisk/branches/11

For v12 and above this is really just documentation until IAX2 native
bridging is restored.

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

11 years agoapp_queue: Don't be quite so aggressive in initializing the array
Matthew Jordan [Tue, 24 Sep 2013 19:22:13 +0000 (19:22 +0000)] 
app_queue: Don't be quite so aggressive in initializing the array

We only need the first character.

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

11 years agoapp_queue: Initialize array holding MixMonitor exec options
Matthew Jordan [Tue, 24 Sep 2013 18:58:46 +0000 (18:58 +0000)] 
app_queue: Initialize array holding MixMonitor exec options

If the channel variable MONITOR_EXEC is set, app_queue will pass the specified
execution parameters to the MixMonitor application when a queue is recorded.
If that channel variable is not set, the buffer that holds the escaped value
was not being initialized to NULL, and so would be passed to the MixMonitor
application with garbage. Hilarity ensued as app_mixmonitor attempted to
execute gobeldy-gook.

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

11 years agoFix a performance problem CDRs
Matthew Jordan [Tue, 24 Sep 2013 17:57:09 +0000 (17:57 +0000)] 
Fix a performance problem CDRs

There is a large performance price currently in the CDR engine. We currently
perform two ao2_callback calls on a container that has an entry for every
channel in the system. This is done to create matching pairs between channels
in a bridge.

As such, the portion of the CDR logic that this patch deals with is how we
make pairings when a channel enters a mixing bridge. In general, when a
channel enters such a bridge, we need to do two things:
 (1) Figure out if anyone in the bridge can be this channel's Party B.
 (2) Make pairings with every other channel in the bridge that is not already
     our Party B.

This is a two step process. In the first step, we look through everyone in the
bridge and see if they can be our Party B (single_state_process_bridge_enter).
If they can - yay! We mark our CDR as having gotten a Party B. If not, we keep
searching. If we don't find one, we wait until someone joins who can be our
Party B.

Step 2 is where we changed the logic
(handle_bridge_pairings and bridge_candidate_process). Previously, we would
first find candidates - those channels in the bridge with us - from the
active_cdrs_by_channel container. Because a channel could be a candidate if it
was Party B to an item in the container, the code implemented multiple
ao2_container callbacks to get all the candidates. We also had to store them
in another container with some other meta information. This was rather complex
and costly, particularly if you have 300 Local channels (600 channels!) going
at once.

Luckily, none of it is needed: when a channel enters a bridge (which is when
we're figuring all this stuff out), the bridge snapshot tells us the unique
IDs of everyone already in the bridge. All we need to do is:
 For all channels in the bridge:
   If the channel is us or our Party B that we got in step 1, skip it
   Compare us and the candidate to figure out who is Party A (based on some
       specific rules)
   If we are Party A:
      Make a new CDR for us, append it to our chain, and set the candidate as
          Party B
   If they are Party A:
      If they don't have a Party B:
        Make a new CDR for them, append us to their chain, and us as Party B
      Otherwise:
        Copy us over as Party B on their existing CDR.

This patch does that.

Because we now use channel unique IDs to find the candidates during bridging,
active_cdrs_by_channel now looks up things using uniqueid instead of channel
name. This makes the more complex code simpler; it does, however, have the
drawback that dialplan applications and functions will be slightly slower as
they have to iterate through the container looking for the CDR by name.
That's a small price to pay however as the bridging code will be called a lot
more often.

This patch also does two other minor changes:
 (1) It reduces the container size of the channels in a bridge snapshot to 1.
     In order to be predictable for multi-party bridges, the order of the
     channels in the container must be stable; that is, it must always devolve
     to a linked list.
 (2) CDRs and the multi-party test was updated to show the relationship between
     two dialed channels. You still want to know if they talked - previously,
     dialed channels were always ignored, which is wrong when they have
     managed to get a Party B.

(closes issue ASTERISK-22488)
Reported by: Richard Mudgett

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

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

11 years agoFix crash in res_pjsip on load if error occurs, and prevent unloading of res_pjsip...
Joshua Colp [Mon, 23 Sep 2013 12:02:09 +0000 (12:02 +0000)] 
Fix crash in res_pjsip on load if error occurs, and prevent unloading of res_pjsip and res_pjsip_session.

During load time in res_pjsip if an error occurred the operation would attempt to rollback all
operations done during load. This is not permitted by PJSIP as it will assert if the operation has
not been done. This fix changes the code so it will only rollback what has been initialized already.

Further changes also prevent res_pjsip and res_pjsip_session from being unloaded. This is due to
limitations within PJSIP itself. The library environment can only be changed to a certain extent
and does not provide the ability, currently, to deinitialize certain required functionality.

(closes issue ASTERISK-22474)
Reported by: Corey Farrell

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

11 years agores_rtp_asterisk: Fix ref leaks in ast_rtcp_read().
Richard Mudgett [Sat, 21 Sep 2013 04:48:10 +0000 (04:48 +0000)] 
res_rtp_asterisk: Fix ref leaks in ast_rtcp_read().

Moved rtcp_report RAII_VAR declaration into the loop so it is unref'ed
after every loop.  Moved message_blob to loop and switched it to a regular
variable.  The regular variable was used since message_blob is used in a
very contained way.

(closes issue ASTERISK-22565)
Reported by: Corey Farrell
Patches:
      rtcp_report-leak.patch (license #5909) patch uploaded by Corey Farrell
Tested by: Corey Farrell

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

11 years agomedia_index: Fix process_description_file() memory leak of file_id_persist.
Richard Mudgett [Sat, 21 Sep 2013 01:46:16 +0000 (01:46 +0000)] 
media_index: Fix process_description_file() memory leak of file_id_persist.

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

11 years agofeatures_config: Fix config ref leak of parkinglots.
Richard Mudgett [Sat, 21 Sep 2013 00:55:54 +0000 (00:55 +0000)] 
features_config: Fix config ref leak of parkinglots.

This leak happend for just about every channel created.

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

11 years agoapp_queue: Fix json blob ref leak.
Richard Mudgett [Sat, 21 Sep 2013 00:22:30 +0000 (00:22 +0000)] 
app_queue: Fix json blob ref leak.

The json ref from queue_member_blob_create() was never released.

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

11 years agojson: Make it obvious that ast_json_unref() is NULL safe.
Richard Mudgett [Sat, 21 Sep 2013 00:16:18 +0000 (00:16 +0000)] 
json: Make it obvious that ast_json_unref() is NULL safe.

It looked like the safety check was done after the NULL pointer was used.

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

11 years agoEnsure global types in the config framework are initialized
Kinsey Moore [Fri, 20 Sep 2013 22:41:25 +0000 (22:41 +0000)] 
Ensure global types in the config framework are initialized

If a config object was allocated but one of its global objects was
never encountered, then the global object's defaults were never
applied. Ensure that global objects are initialized properly upon
allocation instead of on configuration.

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

Merged revisions 399564 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agooriginate/call forwarding: Fix a crash when forwarding a call from originate
Jonathan Rose [Fri, 20 Sep 2013 22:04:25 +0000 (22:04 +0000)] 
originate/call forwarding: Fix a crash when forwarding a call from originate

(closes issue ASTERISK-22487)
Reported by: David M. Lee
Review: https://reviewboard.asterisk.org/r/2868/

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

11 years agoAdd a missing session supplement unregistration in chan_pjsip for ACKs.
Joshua Colp [Fri, 20 Sep 2013 16:17:13 +0000 (16:17 +0000)] 
Add a missing session supplement unregistration in chan_pjsip for ACKs.

(closes issue ASTERISK-22453)
Reported by: Corey Farrell
Patches:
chan_pjsip_session_unregister_supplement.patch uploaded by Corey Farrell (license 5909)

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

11 years agoFix memory leak in logger.
Kevin Harwell [Fri, 20 Sep 2013 14:25:32 +0000 (14:25 +0000)] 
Fix memory leak in logger.

Fixed a memory leak discovered in the logger where a temporary string buffer
was not being freed.

(closes issue ASTERISK-22540)
Reported by: John Hardin
........

Merged revisions 399513 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agooptional_api: Make always use the standard malloc functions even with MALLOC_DEBUG.
Richard Mudgett [Thu, 19 Sep 2013 23:16:31 +0000 (23:16 +0000)] 
optional_api: Make always use the standard malloc functions even with MALLOC_DEBUG.

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

11 years agochan_sip: Make direct media reinvites for T38 put Asterisk in the media path
Jonathan Rose [Thu, 19 Sep 2013 16:53:03 +0000 (16:53 +0000)] 
chan_sip: Make direct media reinvites for T38 put Asterisk in the media path

Prior to this patch, Asterisk would incorrectly use the previous endpoint
addresses in SDP in spite of providing its own port. T38 is never meant to
be done through directmedia and Asterisk should always be in the media path
for these streams.

(closes issue ASTERISK-17273)
Reported by: Kevin Stewart

(closes issue ASTERISK-18706)
Reported by: Jeremy Kister

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

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

Merged revisions 399457 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoFix jitter buffer log file creation
Kinsey Moore [Wed, 18 Sep 2013 19:59:24 +0000 (19:59 +0000)] 
Fix jitter buffer log file creation

This adjusts '/'-to-'#' replacement to replace all instances of '/'
instead of just the first to ensure that the jitter buffer log file
gets the correct name as per Richard Kenner's suggestion.

(closes issue ASTERISK-21036)
Reported by: Richard Kenner
........

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

Merged revisions 399403 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoUpdate prep_tarball with new documentation files on the Asterisk wiki
Matthew Jordan [Wed, 18 Sep 2013 17:23:21 +0000 (17:23 +0000)] 
Update prep_tarball with new documentation files on the Asterisk wiki

This will now pull both a command reference for the version being prepared,
as well as an Admin Guide that applies to all versions of Asterisk.

(issue ASTERISK-22439)
Reported by: Olle Johansson
........

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

Merged revisions 399373 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoAdd a WARNING in bridge_softmix when a timing module isn't loaded
Matthew Jordan [Wed, 18 Sep 2013 17:20:46 +0000 (17:20 +0000)] 
Add a WARNING in bridge_softmix when a timing module isn't loaded

If bridge_softmix fails to be created because no timing source is present in
Asterisk, this will currently fail gracefully but with (most likely) a generic
error message by whatever module tried to create the softmix bridge. This
patch adds a more explicit warning so you can actually diagnose and fix the
problem.

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

Merged revisions 399353 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agores_pjsip_messaging: Register message technology as pjsip
Kevin Harwell [Wed, 18 Sep 2013 14:34:25 +0000 (14:34 +0000)] 
res_pjsip_messaging: Register message technology as pjsip

pjsip's message technology was being registered as 'sip', which was causing it
to not load due it conflicting with chan_sip's registered 'sip' technology for
messaging.  It now registers as 'pjsip'.  However, due to this change the "to"
field for outgoing pjsip messages need to be prefixed with 'pjsip:' instead of
'sip:'.  Incoming messages to res_pjsip_messaging will automatically have their
"to" fields altered in order to accommodate the change.  Outgoing messages also
handle changing it back to 'sip' before being sent so the pjsip library will
properly handle it.

(closes issue ASTERISK-22445)
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/2833/

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

11 years agoBlocked revisions 399305
Michael L. Young [Wed, 18 Sep 2013 01:40:16 +0000 (01:40 +0000)] 
Blocked revisions 399305

........
Fix Segfault When Syntax Of A Line Under [applicationmap] Is Invalid

When processing the lines under the [applicationmap] context in features.conf, a
segfault occurs from attempting to process a line with an invalid syntax
(basically missing most of the arguments).

Example:
[applicationmap]
automon=*6

* This patch moves the checking for empty arguments to before they are accessed.

* Also, checked the "todo" comment and removed it.  Some applications do not
  require arguments.

(closes issue ASTERISK-22416)
Reported by: CGI.NET
Tested by: CGI.NET
Patches:
    asterisk-22416-check-syntax-first_v2.diff by Michael L. Young (license 5026)

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

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

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

11 years agoFix Segfault In features-config.c When Application Has No Arguments
Michael L. Young [Wed, 18 Sep 2013 00:12:21 +0000 (00:12 +0000)] 
Fix Segfault In features-config.c When Application Has No Arguments

Some applications do not require arguments.  Therefore, when parsing application
maps in features.conf, it is possible that app_data will be set to NULL.

* This patch sets app_data to "" if it is NULL.

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

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

11 years agoChange the "external_media_address" PJSIP endpoint option to "media_address".
Mark Michelson [Tue, 17 Sep 2013 23:08:37 +0000 (23:08 +0000)] 
Change the "external_media_address" PJSIP endpoint option to "media_address".

The endpoint option does not apply to communication with external entities. Rather,
the option is applied to all communications with the endpoint. The external_media_address
transport configuration option may override the endpoint option if it turns out that
we are going to be communicating with an external entity.

Two things of note:
1) I have not updated the XML documentation. This is being taken care of by Rusty as part
of his work on issue ASTERISK-22405
2) This commit is likely to cause testsuite failures since there are tests that use the
external_media_address endpoint option, and they will need to be changed over. Well, I'm
planning to get that updated ASAP after this commit.

(closes issue ASTERISK-22528)
reported by Rusty Newton

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

11 years agoRemote console: more output discrepancies
Kevin Harwell [Tue, 17 Sep 2013 18:37:43 +0000 (18:37 +0000)] 
Remote console: more output discrepancies

The remote console continued to have issues with its output.  In this case CLI
command output would either not show up (if verbose level = 0) or would contain
verbose prefixes (if verbose level > 0) once log messages were sent to the
remote console.  The fix now now adds verbose prefix data to all new lines
contained in a verbose log string.

(closes issue ASTERISK-22450)
Reported by: David Brillert
(closes issue AST-1193)
Reported by: Guenther Kelleter
Review: https://reviewboard.asterisk.org/r/2825/
........

Merged revisions 399267 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoFix doxygen to use correct units of features.conf options.
Richard Mudgett [Tue, 17 Sep 2013 17:54:40 +0000 (17:54 +0000)] 
Fix doxygen to use correct units of features.conf options.

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

11 years agoFix other timeouts (atxferloopdelay and atxfernoanswertimeout) to use seconds instead...
Mark Michelson [Tue, 17 Sep 2013 17:09:00 +0000 (17:09 +0000)] 
Fix other timeouts (atxferloopdelay and atxfernoanswertimeout) to use seconds instead of milliseconds.

Thanks to Richard Mudgett for pointing this out.

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

11 years agoSwitch transferdigittimeout to be configured as seconds instead of milliseconds.
Mark Michelson [Tue, 17 Sep 2013 16:09:46 +0000 (16:09 +0000)] 
Switch transferdigittimeout to be configured as seconds instead of milliseconds.

This was an unintentional consequence of the update of features.conf to use the
config framework in Asterisk 12. Thanks to Marco Signorini on the Asterisk
developers list for pointing out the problem.

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

11 years agoConfbridge: empty conference not being torn down
Kevin Harwell [Tue, 17 Sep 2013 14:48:06 +0000 (14:48 +0000)] 
Confbridge: empty conference not being torn down

Confbridge would not properly tear down an empty conference bridge when all
users were kicked via end_marked=yes and at least one user was also set to
wait_marked.  This occurred because while end_marked users were being kicked
and at least one was also set to wait_marked then the leave wait_marked handler
would be called on that user, but there would be no waiting user (still
considered active).  The waiting users would decrement and now be negative.  The
conference would remain, but be put into an inactive state.  The solution was
to move from the active list to the wait list, those users with wait_marked set
right before kicking.  This allows both the active and wait users to decrement
correctly and the confbridge to tear down properly.

A crashed also occurred when trying to list the specific conference from the CLI.
This happened because the conference specified was invalid.  Since the
conference properly tears down now there is no way to reference it thus
alleviating the crash as well.

(closes issue ASTERISK-21859)
Reported by: Chris Gentle
Review: https://reviewboard.asterisk.org/r/2848/
........

Merged revisions 399222 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoFix module load errors for test_ari_model.so.
Richard Mudgett [Mon, 16 Sep 2013 18:34:55 +0000 (18:34 +0000)] 
Fix module load errors for test_ari_model.so.

You cannot use a function pointer variable with an external function from
another dynamically loaded module because data variables are always
resolved even with RTLD_LAZY.

* Added wrapper functions for ast_ari_validate_int() and
ast_ari_validate_string() to use instead for the function pointer
variable.

(closes issue ASTERISK-22457)
Reported by: David M. Lee

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

11 years agoapp_speech_utils: Fix unresolved symbol ast_speech_get_setting().
Richard Mudgett [Mon, 16 Sep 2013 17:53:47 +0000 (17:53 +0000)] 
app_speech_utils: Fix unresolved symbol ast_speech_get_setting().

Fixes regression introduced by -r374096.

* Made res_speech.export.in export ast_* symbols instead of specific
functions.

* Made app_speech_utils.c declare that it is dependent upon res_speech.

(issue ASTERISK-17136)
Reported by: Richard Kenner

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

11 years agochan_iax2: Fix saving the wrong expiry time in astdb.
Richard Mudgett [Mon, 16 Sep 2013 16:47:24 +0000 (16:47 +0000)] 
chan_iax2: Fix saving the wrong expiry time in astdb.

When a new IAX2 client registers, the astdb database is updated with the
value of minregexpire defined in iax.conf instead of using the expiry time
that is provided by the client.  The provided expiry time of the client is
updated after inserting the astdb entry.  As a consequence, restarting or
reloading asterisk creates clients whose registration may expire before
they reregister.  The clients are therefore unavailable after minregexpire
seconds until they reregister.

* Move updating of the expiry time to before inserting into the astdb.

(closes issue ASTERISK-22504)
Reported by: Stefan Wachtler
Patches:
      chan_iax2.c.patch (license #6533) patch uploaded by Stefan Wachtler
........

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

Merged revisions 399159 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoFilter internal channels out of bridge enter/leave message handling
Matthew Jordan [Mon, 16 Sep 2013 02:33:23 +0000 (02:33 +0000)] 
Filter internal channels out of bridge enter/leave message handling

Some channels exist merely as an implementation detail in Asterisk, such as
ConfBridge's announcer/recorder channels. These channels should never be
exposed to the outside world, or to interfaces that report on Asterisk. We
already filter out such channels in snapshot processing; however, we failed to
filter out bridge related messages that involved these channels.

This patch filters out bridge related messages that are for such channels. This
prevents a spurious WARNING message from being displayed when those channels
move in and out of bridges.

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

11 years agoRestore Dial, Queue, and FollowMe 'I' option support.
Richard Mudgett [Fri, 13 Sep 2013 22:05:07 +0000 (22:05 +0000)] 
Restore Dial, Queue, and FollowMe 'I' option support.

The Dial, Queue, and FollowMe applications need to inhibit the bridging
initial connected line exchange in order to support the 'I' option.

* Replaced the pass_reference flag on ast_bridge_join() with a flags
parameter to pass other flags defined by enum ast_bridge_join_flags.

* Replaced the independent flag on ast_bridge_impart() with a flags
parameter to pass other flags defined by enum ast_bridge_impart_flags.

* Since the Dial, Queue, and FollowMe applications are now the only
callers of ast_bridge_call() and ast_bridge_call_with_flags(), changed the
calling contract to require the initial COLP exchange to already have been
done by the caller.

* Made all callers of ast_bridge_impart() check the return value.  It is
important.  As a precaution, I also made the compiler complain now if it
is not checked.

* Did some cleanup in parking_tests.c as a result of checking the
ast_bridge_impart() return value.

An independent, but associated change is:
* Reduce stack usage in ast_indicate_data() and add a dropping redundant
connected line verbose message.

(closes issue ASTERISK-22072)
Reported by: Joshua Colp

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

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

11 years agoDon't write to /tmp/refs when REF_DEBUG is not defined.
David M. Lee [Fri, 13 Sep 2013 20:54:27 +0000 (20:54 +0000)] 
Don't write to /tmp/refs when REF_DEBUG is not defined.

If MALLOC_DEBUG is enabled, then the debug destructor for the container
is used, which would erroneously write to /tmp/refs. This patch only
uses the debug destructor if ref_debug is used.

(closes issue ASTERISK-22536)
........

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

Merged revisions 399099 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoCreate more accurate Contact headers for dialogs when we are the UAS.
Mark Michelson [Fri, 13 Sep 2013 14:49:51 +0000 (14:49 +0000)] 
Create more accurate Contact headers for dialogs when we are the UAS.

(closes issue AST-1207)
reported by John Bigelow

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

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

11 years agoBroke the build! Forgot para tags within my description.
Rusty Newton [Fri, 13 Sep 2013 14:25:55 +0000 (14:25 +0000)] 
Broke the build! Forgot para tags within my description.

https://bamboo.asterisk.org/bamboo/browse/AST-ATRUNKBUILD-304

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

11 years agoChange how realms are handled for outbound authentication.
Mark Michelson [Fri, 13 Sep 2013 14:24:15 +0000 (14:24 +0000)] 
Change how realms are handled for outbound authentication.

With this change, if no realm is specified in an outbound auth
section, then we will simply match the realm that was present
in the 401/407 challenge.

(closes issue ASTERISK-22471)
Reported by George Joseph
(closes issue ASTERISK-22386)
Reported by Rusty Newton

Patches:
outbound_auth_realm_v4.patch uploaded by George Joseph (License #6322)

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

11 years agores_pjsip: Forward PJSIP logging to Asterisk logging
David M. Lee [Fri, 13 Sep 2013 14:21:23 +0000 (14:21 +0000)] 
res_pjsip: Forward PJSIP logging to Asterisk logging

This patch uses PJSIP's pj_log_set_log_func() to forward PJSIP's log
messages to Asterisk's logger. This is done in a new module:
res_pjsip_log_forwarder.so.

This patch sets defaultenabled on the existing res_pjsip_logger.so to
no, since logging every SIP packet seems a bit odd to do by default, and
is (hopefully) less necessary with regular PJSIP logging.

It also removes res_rtp_asterisk's disabling of PJSIP logging.

(closes issue ASTERISK-22360)
Reported by: Joshua Colp
Review: https://reviewboard.asterisk.org/r/2830/

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

11 years agoARI: Fix WebSocket response when subprotocol isn't specified
David M. Lee [Fri, 13 Sep 2013 14:18:36 +0000 (14:18 +0000)] 
ARI: Fix WebSocket response when subprotocol isn't specified

When I moved the ARI WebSocket from /ws to /ari/events, I added code to
allow a WebSocket to connect without specifying the subprotocol if
there's only one subprotocol handler registered for the WebSocket.

Naively, I coded it to always respond with the subprotocol in use.
Unfortunately, according to RFC 6455, if the server's response includes
a subprotocol header field that "indicates the use of a subprotocol that
was not present in the client's handshake [...], the client MUST _Fail
the WebSocket Connection_.", emphasis theirs.

This patch correctly omits the Sec-WebSocket-Protocol if one is not
specified by the client.

(closes issue ASTERISK-22441)
Review: https://reviewboard.asterisk.org/r/2828/

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

11 years agoFix several crashes in MeetMeAdmin
Kinsey Moore [Fri, 13 Sep 2013 13:54:41 +0000 (13:54 +0000)] 
Fix several crashes in MeetMeAdmin

This change ensures that MeetMeAdmin commands requiring a user actually
get a user and fixes another issue where an extra dereference could
occur for a last-entered user being ejected if a user identifier was
also provided.

(closes issue ASTERISK-21907)
Reported by: Alex Epshteyn
Review: https://reviewboard.asterisk.org/r/2844/
........

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

Merged revisions 399034 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years ago'identify' configObject doesn't have a synopsis
Rusty Newton [Fri, 13 Sep 2013 13:27:23 +0000 (13:27 +0000)] 
'identify' configObject doesn't have a synopsis

Add a straightforward synopsis and description to the identify config object
in XML documentation.

(issue ASTERISK-22311)
(closes issue ASTERISK-22311)
Reported By: Rusty Newton

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

11 years agoCLI bridge: Fix "bridge destroy <id>" and "bridge kick <id> <chan>" tab completion.
Richard Mudgett [Thu, 12 Sep 2013 23:41:25 +0000 (23:41 +0000)] 
CLI bridge: Fix "bridge destroy <id>" and "bridge kick <id> <chan>" tab completion.

These two commands must deal with the live bridges container for tab
completion and not the stasis cache.

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

11 years agoastobj2: Register the bridges container for debug inspection.
Richard Mudgett [Thu, 12 Sep 2013 23:34:28 +0000 (23:34 +0000)] 
astobj2: Register the bridges container for debug inspection.

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

11 years agoDocumentation fix and improvements to XML configuration help res_pjsip_acl
Rusty Newton [Thu, 12 Sep 2013 23:21:35 +0000 (23:21 +0000)] 
Documentation fix and improvements to XML configuration help res_pjsip_acl

 *  One bug fix. Made the synopsis for "type" to accurate.
 *  changing the usage of "IP-domains" to "IP addresses"
 *  clarifying the usage for the options, by adding a relevant description for
    each
 *  modified other areas of the XML help for clarity, such as the module
    description and a few synopsis changes here and there. See the patch.

(issue ASTERISK-22458)
(closes issue ASTERISK-22458)
Reported By: Rusty Newton
Review: https://reviewboard.asterisk.org/r/2823/

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

11 years agochan_sip: Revert r398835 due to failing tests involving originate
Jonathan Rose [Thu, 12 Sep 2013 20:20:46 +0000 (20:20 +0000)] 
chan_sip: Revert r398835 due to failing tests involving originate

(issue ASTERISK-22424)
Reported by: Jonathan Rose
........

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

Merged revisions 398986 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agocore_local: Fix memory corruption race condition.
Richard Mudgett [Thu, 12 Sep 2013 16:38:07 +0000 (16:38 +0000)] 
core_local: Fix memory corruption race condition.

The masquerade super test is failing on v12 with high fence violations and
crashing.  The fence violations are showing that party id allocated memory
strings are somehow getting corrupted in the
bridge_reconfigured_connected_line_update() function.  The invalid string
values happen to be the freed memory fill pattern.

After much puzzling, I deduced that the
bridge_reconfigured_connected_line_update() is copying a string out of the
source channel's caller party id struct just as another thread is updating
it with a new value.  The copying thread is using the old string pointer
being freed by the updating thread.  A search of the code found the
unreal_colp_redirect_indicate() routine updating the caller party id's
without holding the channel lock.

A latent bug in v1.8 and v11 hatched in v12 because of the bridging and
connected line changes.  :)

(issue ASTERISK-22221)
Reported by: Matt Jordan

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

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

11 years agoFix symbol collision with pjsua.
David M. Lee [Thu, 12 Sep 2013 15:23:10 +0000 (15:23 +0000)] 
Fix symbol collision with pjsua.

We shouldn't be exporting any symbols that start with pjsip_.

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

11 years ago'queue add member' help text correction
Rusty Newton [Thu, 12 Sep 2013 00:04:08 +0000 (00:04 +0000)] 
'queue add member' help text correction

You are adding dial strings to the queue, not channels. An aribitrary string
could be used, but you are typically referencing a channel. Correcting the
command help text.

(issue ASTERISK-22263)
(closes issue ASTERISK-22263)
Reported By: Rusty Newton
........

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

Merged revisions 398885 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoDocumentation fix - waitfordialtone is not boolean, it's time in milliseconds
Rusty Newton [Wed, 11 Sep 2013 23:51:46 +0000 (23:51 +0000)] 
Documentation fix - waitfordialtone is not boolean, it's time in milliseconds

Changing text in chan_dahdi.conf sample to be accurate.

(issue ASTERISK-22308)
(closes issue ASTERISK-22308)
Reported By: Malcolm Davenport
........

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

Merged revisions 398881 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agochan_sip: Reject calls without prior SDP on 200 OK
Jonathan Rose [Wed, 11 Sep 2013 19:56:48 +0000 (19:56 +0000)] 
chan_sip: Reject calls without prior SDP on 200 OK

If we receive a 200 OK without SDP, we will now check to see if
the remote address has been established for that channel's RTP
session and if the to tag for that channel has changed from
the most recent to tag in a response less than 200.
If either a change has been made since the last to-tag was
received or the remote address is unset, then we will drop
the call.

(closes issue ASTERISK-22424)
Reported by: Jonathan Rose
Review: https://reviewboard.asterisk.org/r/2827/diff/#index_header
........

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

Merged revisions 398836 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoFix typo in confbridge.conf.sample
Russell Bryant [Wed, 11 Sep 2013 18:02:25 +0000 (18:02 +0000)] 
Fix typo in confbridge.conf.sample

The denoise filter requires func_speex, not codec_speex.  Fix this in the
description of the denoise=yes option in confbridge.conf.
........

Merged revisions 398820 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agopjsip: reinvite for connected line updates occurs when it should not
Kevin Harwell [Wed, 11 Sep 2013 14:14:03 +0000 (14:14 +0000)] 
pjsip: reinvite for connected line updates occurs when it should not

Connected line updates are now only sent out if an actual update needs to occur.
This happens under the following conditions:

1. The endpoint we are sending to is trusted.
2. Either a P-Asserted-Identity or Remote Party-ID header needs to be added/sent.
3. The connected id's number and name are valid.

Also added an SDP when an update is sent out.

(closes issue AST-1212)
Reported by: John Bigelow
Review: https://reviewboard.asterisk.org/r/2831/

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

11 years agoFix incorrect usages of ast_realloc().
Richard Mudgett [Tue, 10 Sep 2013 18:03:45 +0000 (18:03 +0000)] 
Fix incorrect usages of ast_realloc().

There are several locations in the code base where this is done:
buf = ast_realloc(buf, new_size);

This is going to leak the original buf contents if the realloc fails.

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

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

Merged revisions 398758 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoFixed utils directory breakage from r398748, this time with extra hate.
David M. Lee [Tue, 10 Sep 2013 17:49:30 +0000 (17:49 +0000)] 
Fixed utils directory breakage from r398748, this time with extra hate.
........

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

Merged revisions 398753 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoFixed utils directory breakage from r398648
David M. Lee [Tue, 10 Sep 2013 17:25:02 +0000 (17:25 +0000)] 
Fixed utils directory breakage from r398648
........

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

Merged revisions 398749 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoMALLOC_DEBUG: Change fence magic number to be completely different from the freed...
Richard Mudgett [Mon, 9 Sep 2013 23:23:02 +0000 (23:23 +0000)] 
MALLOC_DEBUG: Change fence magic number to be completely different from the freed magic number.

Race conditions between freeing a nul terminated string and
ast_strdup()'ing it are more likely to be detected if the fence and freed
magic numbers are completely different.
........

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

Merged revisions 398721 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoAdd extra debugging to res_pjsip_endpoint_identifier_ip
Mark Michelson [Mon, 9 Sep 2013 21:59:52 +0000 (21:59 +0000)] 
Add extra debugging to res_pjsip_endpoint_identifier_ip

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

11 years agoFix DEBUG_THREADS when lock is acquired in __constructor__
David M. Lee [Mon, 9 Sep 2013 20:12:46 +0000 (20:12 +0000)] 
Fix DEBUG_THREADS when lock is acquired in __constructor__

This patch fixes some long-standing bugs in debug threads that were
exacerbated with recent Optional API work in Asterisk 12.

With debug threads enabled, on some systems, there's a lock ordering
problem between our mutex and glibc's mutex protecting its module list
(Ubuntu Lucid, glibc 2.11.1 in this instance). In one thread, the module
list will be locked before acquiring our mutex. In another thread, our
mutex will be locked before locking the module list (which happens in
the depths of calling backtrace()).

This patch fixes this issue by moving backtrace() calls outside of
critical sections that have the mutex acquired. The bigger change was to
reentrancy tracking for ast_cond_{timed,}wait, which wrongly assumed
that waiting on the mutex was equivalent to a single unlock (it actually
suspends all recursive locks on the mutex).

(closes issue ASTERISK-22455)
Review: https://reviewboard.asterisk.org/r/2824/
........

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

Merged revisions 398649 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoAdded note about expected behavior of originate (the rest of the commit)
David M. Lee [Mon, 9 Sep 2013 19:02:27 +0000 (19:02 +0000)] 
Added note about expected behavior of originate (the rest of the commit)

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

11 years agoAdded note about expected behavior of originate
David M. Lee [Mon, 9 Sep 2013 19:01:54 +0000 (19:01 +0000)] 
Added note about expected behavior of originate

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

11 years agoUpdate CDR Unit tests to reflect container changes in r398579
Matthew Jordan [Sun, 8 Sep 2013 23:25:55 +0000 (23:25 +0000)] 
Update CDR Unit tests to reflect container changes in r398579

When a channel joins a multi-party bridge, the ordering of the CDRs that is
created is determined by the ordering of the channels who happen to be in that
bridge. When r398579 changed the number of buckets in the container to
something sensible, it changed the ordering that the CDRs was created in,
causing one of the multiparty tests to fail. This fixes the test with the
now expected ordering.

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

11 years agoPrevent XMPP timeout on blank responses
Kinsey Moore [Sat, 7 Sep 2013 01:02:04 +0000 (01:02 +0000)] 
Prevent XMPP timeout on blank responses

Sometimes the Google Voice servers have a bad habit of sending out 1
byte replies to the xmpp resource. When a blank 1 byte reply is
received from the socket the buffer attempts to wait (endlessly) for
the rest of the reply from google which effectively blocks the socket
and google voice calls will no longer come into the server.

This patch allows the xmpp module to correctly detect empty packets and
send out ping replies to google. It also sets a socket timeout on the
default socket which prevents the xmpp socket from closing and
preventing future google voice calls from coming into the server.

Furthermore instead of sending an empty reply back to google we send a
proper xmpp ping reply back. This also adds several more
socket messages.

(closes issue ASTERISK-22347)
Reported by: Andrew Nagy
Review: https://reviewboard.asterisk.org/r/2771
Patches:
    xmpp_fix_1.diff uploaded by Andrew Nagy (License #6524)
........

Merged revisions 398618 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoMultiple revisions 398558,398577
Kinsey Moore [Fri, 6 Sep 2013 21:17:24 +0000 (21:17 +0000)] 
Multiple revisions 398558,398577

........
  r398558 | kmoore | 2013-09-06 14:28:16 -0500 (Fri, 06 Sep 2013) | 17 lines

  Fix Jabber/XMPP distributed MWI

  The mailbox and context are swapped on the receiving end for all users
  of Jabber and XMPP distributed MWI in Asterisk 1.8 and all more recent
  versions. This swaps those values to be correct when publishing to the
  internal event system from Jabber/XMPP distributed MWI state.

  (closes issue ASTERISK-22435)
  Reported by: abelbeck
  Tested by: Michael Keuter
  Patches:
      asterisk-1.8-res_jabber-aji_handle_pubsub_event.patch uploaded by abelbeck
      asterisk-11-res_xmpp-xmpp_pubsub_handle_event.patch uploaded by abelbeck
  ........

  Merged revisions 398523 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
  r398577 | kmoore | 2013-09-06 16:00:56 -0500 (Fri, 06 Sep 2013) | 10 lines

  Commit the remainder of r398523

  This is a missing part of the commit in revision 398523 that corrects
  the name of a variable.

  (issue ASTERISK-22435)
  ........

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

Merged revisions 398558,398577 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agocdr: Change the number of container buckets to be similar to the channels container.
Richard Mudgett [Fri, 6 Sep 2013 21:16:51 +0000 (21:16 +0000)] 
cdr: Change the number of container buckets to be similar to the channels container.

* Fix the temporary cdr candidate containers to use a prime number of
buckets.

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

11 years agoUnblock r398558
Kinsey Moore [Fri, 6 Sep 2013 21:03:45 +0000 (21:03 +0000)] 
Unblock r398558

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

11 years agocore_local: Fix LocalOptimizationBegin AMI event missing Source channel snapshot.
Richard Mudgett [Fri, 6 Sep 2013 20:20:16 +0000 (20:20 +0000)] 
core_local: Fix LocalOptimizationBegin AMI event missing Source channel snapshot.

* Fix the LocalOptimizationBegin AMI event by eliminating an artificial
buffer size limitation that is too small anyway.

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

11 years agocdr: Fix some ref leaks.
Richard Mudgett [Fri, 6 Sep 2013 20:02:15 +0000 (20:02 +0000)] 
cdr: Fix some ref leaks.

* Added missing unregister of the cdr container in cdr_engine_shutdown().

* Fixed ref leak in off nominal path of cdr_object_alloc().

* Removed some unnecessary NULL checks in cdr_object_dtor().

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

11 years agoBlocked revisions 398558
Kinsey Moore [Fri, 6 Sep 2013 19:32:03 +0000 (19:32 +0000)] 
Blocked revisions 398558

........
Fix Jabber/XMPP distributed MWI

The mailbox and context are swapped on the receiving end for all users
of Jabber and XMPP distributed MWI in Asterisk 1.8 and all more recent
versions. This swaps those values to be correct when publishing to the
internal event system from Jabber/XMPP distributed MWI state.

(closes issue ASTERISK-22435)
Reported by: abelbeck
Tested by: Michael Keuter
Patches:
    asterisk-1.8-res_jabber-aji_handle_pubsub_event.patch uploaded by abelbeck
    asterisk-11-res_xmpp-xmpp_pubsub_handle_event.patch uploaded by abelbeck
........

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

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

11 years agoastobj2: Add warn unused attribute to some functions.
Richard Mudgett [Fri, 6 Sep 2013 19:20:06 +0000 (19:20 +0000)] 
astobj2: Add warn unused attribute to some functions.

* Fixed resulting warnings with improper use of ao2_global_obj_replace().

* Made a couple uses of ao2_global_obj_replace_unref(x, NULL) into the
equivalent and more appropriate ao2_global_obj_release() call.

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

11 years agoFix build warnings
Kinsey Moore [Fri, 6 Sep 2013 18:49:09 +0000 (18:49 +0000)] 
Fix build warnings

When AST_DEVMODE is not defined, ast_asserts are not compiled into the
binary. In some cases, this means variables are not referenced or are
set but unused which causes warnings to show up.

(closes issue ASTERISK-22446)
Reported by: Jason Parker (qwell)

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

11 years agoFix chan_h323 compilation
Kinsey Moore [Fri, 6 Sep 2013 15:59:38 +0000 (15:59 +0000)] 
Fix chan_h323 compilation

This fixes the things in chan_h323 that were missed or ignored in the
great channel opaquification and gets chan_h323 back into a compiling
state.

(closes issue ASTERISK-22365)
Reported by: Dmitry Melekhov
Patches:
    chan_h323.patch uploaded by Dmitry Melekhov
........

Merged revisions 398510 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoastobj2: Only define ao2_bt() once.
Richard Mudgett [Thu, 5 Sep 2013 21:46:46 +0000 (21:46 +0000)] 
astobj2: Only define ao2_bt() once.

* Make ao2_bt() not use single char variable names.

* Fix ao2_bt() formatting.

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

11 years agochan_iax2: Reduce indentation in __attempt_transmit().
Richard Mudgett [Thu, 5 Sep 2013 19:16:58 +0000 (19:16 +0000)] 
chan_iax2: Reduce indentation in __attempt_transmit().

* Reduce indentation in __attempt_transmit().

* Don't update the static last error time variable every time in
__schedule_action() and socket_read().
........

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

Merged revisions 398457 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agochan_iax2: Fix stray reference to worker thread idle_list.
Richard Mudgett [Thu, 5 Sep 2013 17:30:23 +0000 (17:30 +0000)] 
chan_iax2: Fix stray reference to worker thread idle_list.

* Fix stray reference to idle_list in cleanup_thread_list().  This may be
the reason for the note in iax2_process_thread() about threads not being
removed from the task lists.

* Move cleanup_thread_list(&idle_list) to after the other lists are
cleaned up.
........

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

Merged revisions 398417 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agochan_iax2: Fix bridgecallno deadlock avoidance.
Richard Mudgett [Thu, 5 Sep 2013 17:15:55 +0000 (17:15 +0000)] 
chan_iax2: Fix bridgecallno deadlock avoidance.

* Fix bridgecallno deadlock avoidance.  When doing deadlock avoidance, you
need to retest the status of values for each loop to see if you still need
the lock for bridgecallno.

* As a safety check, after acquiring the bridgecallno lock you should
check if iaxs[bridgecallno] is NULL just like the current callno checks.

* Move setting thread->iostate to IAX_IOSTATE_IDLE to after processing any
deferred frames to ensure that the iostate is IDLE when it is placed back
into the idle list.  defer_full_frame() tries to ensure
iax2_process_thread() wakes up to process the frame.
........

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

Merged revisions 398380 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoClarify server_uri and client_uri registration settings.
Mark Michelson [Thu, 5 Sep 2013 14:09:48 +0000 (14:09 +0000)] 
Clarify server_uri and client_uri registration settings.

Used some of Rusty's suggested language plus also included
more SIPesque descriptions of where the URIs are actually
used in an outgoing REGISTER.

(closes issue ASTERISK-22390)
reported by Rusty Newton

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

11 years agochan_iax2: Add missing control frame names to debug frame decode output.
Richard Mudgett [Wed, 4 Sep 2013 23:06:01 +0000 (23:06 +0000)] 
chan_iax2: Add missing control frame names to debug frame decode output.
........

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

Merged revisions 398302 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoGive more detail regarding failures to create request with auth credentials.
Mark Michelson [Wed, 4 Sep 2013 22:28:44 +0000 (22:28 +0000)] 
Give more detail regarding failures to create request with auth credentials.

(issue ASTERISK-22386)

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

11 years agounit tests: test_voicemail_api leaks stringfields from snapshots
Jonathan Rose [Wed, 4 Sep 2013 21:36:28 +0000 (21:36 +0000)] 
unit tests: test_voicemail_api leaks stringfields from snapshots

(closes issue ASTERISK-22414)
Reported by: Corey Farrell
Patches:
    test_voicemail_api-leaks-11.patch uploaded by coreyfarrell (license 5909)
........

Merged revisions 398285 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoapp_voicemail: Fix leaking config objects when msg_id doesn't match
Jonathan Rose [Wed, 4 Sep 2013 21:19:08 +0000 (21:19 +0000)] 
app_voicemail: Fix leaking config objects when msg_id doesn't match

(issues ASTERISK-22414)
Reported by: Corey Farrell
Patch:
    test_voicemail_api-leaks-11.patch uploaded by coreyfarrell (license 5909)
........

Merged revisions 398281 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agochan_misdn: Fix misdn debug output printed with arbitrary verbose levels.
Richard Mudgett [Wed, 4 Sep 2013 16:00:00 +0000 (16:00 +0000)] 
chan_misdn: Fix misdn debug output printed with arbitrary verbose levels.

Fix the misdn debug output to remote consoles.  chan_misdn uses
ast_console_puts() which doesn't know about verbose levels.  Better to use
ast_verbose() instead.  Without this patch the misdn debug messages are
appended to the verbose level which ever was set by the message sent to
the console before, i.e.  any undefined level.

(closes issue AST-1218)
Reported by: Guenther Kelleter
Patches:
      misdnlog.patch (license #6372) patch uploaded by Guenther Kelleter
........

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

Merged revisions 398236 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoDebug messages for pjsip outbound registration
Kevin Harwell [Wed, 4 Sep 2013 14:29:09 +0000 (14:29 +0000)] 
Debug messages for pjsip outbound registration

Added debug messages indicating that an outbound registration attempt was made
and it was successful in pjsip.

(closes issue ASTERISK-22388)
Reported by: Rusty Newton

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

11 years agoFix remote tcs sequence handling on empty tcs received
Alexandr Anikin [Tue, 3 Sep 2013 19:49:23 +0000 (19:49 +0000)] 
Fix remote tcs sequence handling on empty tcs received
........

Merged revisions 398214 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoPrevent a crash in res_pjsip_dtmf_info.c
Kinsey Moore [Tue, 3 Sep 2013 18:08:20 +0000 (18:08 +0000)] 
Prevent a crash in res_pjsip_dtmf_info.c

This change makes sure that a content type header exists before
checking the contents of the header against known SIP INFO DTMF content
types.

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

11 years agoFixed 'make clean' for wiki docs
David M. Lee [Tue, 3 Sep 2013 14:36:42 +0000 (14:36 +0000)] 
Fixed 'make clean' for wiki docs

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

11 years agoBe a little more verbose when loading cel_custom.conf.
Walter Doekes [Tue, 3 Sep 2013 14:27:26 +0000 (14:27 +0000)] 
Be a little more verbose when loading cel_custom.conf.

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

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

Merged revisions 398168 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoFix graceful shutdown crash.
David M. Lee [Fri, 30 Aug 2013 20:58:07 +0000 (20:58 +0000)] 
Fix graceful shutdown crash.

The cleanup code for optional_api needs to happen after all of the optional
API users and providers have unused/unprovided. Unfortunately, regsitering the
atexit() handler at the beginning of main() isn't soon enough, since module
destructors run after that.

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

11 years agoNew pjsip.conf.sample
Rusty Newton [Fri, 30 Aug 2013 20:34:08 +0000 (20:34 +0000)] 
New pjsip.conf.sample

(issue ASTERISK-22145)
(closes issue ASTERISK-22145)
Reported By: Matt Jordan
Review: https://reviewboard.asterisk.org/r/2811/

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

11 years agoAdd a reloadable option for sorcery type objects
Kevin Harwell [Fri, 30 Aug 2013 19:51:48 +0000 (19:51 +0000)] 
Add a reloadable option for sorcery type objects

Some configuration objects currently won't place nice if reloaded.
Specifically, in this case the pjsip transport objects.  Now when
registering an object in sorcery one may specify that the object is
allowed to be reloaded or not.  If the object is set to not reload
then upon reloading of the configuration the objects of that type
will not be reloaded.  The initially loaded objects of that type
however will remain.

While the transport objects will not longer be reloaded it is still
possible for a user to configure an endpoint to an invalid transport.
A couple of log messages were added to help diagnose this problem if
it occurs.

(closes issue ASTERISK-22382)
Reported by: Rusty Newton
(closes issue ASTERISK-22384)
Reported by: Rusty Newton
Review: https://reviewboard.asterisk.org/r/2807/

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

11 years agoFix various memory leaks
Kevin Harwell [Fri, 30 Aug 2013 19:20:47 +0000 (19:20 +0000)] 
Fix various memory leaks

main/config.c - cleanup cache fie includes
res/res_security_log.c - unregister logger level
channesl/chan_sip.c - cleanup io context and notify_types
main/translator.c - cleanup at shutdown
main/named_acl.c - cleanup cli commands
main/indications.c - ast_get_indication_tone() unref default_tone_zone if used

(closes issues ASTERISK-22378)
Reported by: Corey Farrell
Patches:
     config_shutdown.patch uploaded by coreyfarrell (license 5909)
     res_security_log.patch uploaded by coreyfarrell (license 5909)
     chan_sip-11.patch uploaded by coreyfarrell (license 5909)
     indications_refleak.patch uploaded by coreyfarrell (license 5909)
     named_acl-cli_unreg-trunk.patch uploaded by coreyfarrell (license 5909)
     translate_shutdown.patch uploaded by coreyfarrell (license 5909)

........

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

Merged revisions 398103 from http://svn.asterisk.org/svn/asterisk/branches/11

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

11 years agoUpdate UPGRADE.txt file for Asterisk 12
Matthew Jordan [Fri, 30 Aug 2013 18:35:21 +0000 (18:35 +0000)] 
Update UPGRADE.txt file for Asterisk 12

This simply pulls in the changes that were breaking from the CHANGES file
and updates a few other areas accordingly. It also removes the 10 => 11
notes, which are traditionally removed from each major version and stored
in the appropriate UPGRADE-X.txt file.

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

11 years agofeatures_config: Ignore parkinglots in features.conf instead of failing to load
Jonathan Rose [Fri, 30 Aug 2013 18:18:09 +0000 (18:18 +0000)] 
features_config: Ignore parkinglots in features.conf instead of failing to load

Parkinglots are defined in res_features.conf now, but this patch fixes
features_config so that features don't fail to load when parkinglots
are present in features.conf

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

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

11 years agoMemory leak fix
Kevin Harwell [Fri, 30 Aug 2013 17:57:16 +0000 (17:57 +0000)] 
Memory leak fix

ast_xmldoc_printable returns an allocated block that must be freed by the
caller.  Fixed manager.c and res_agi.c to stop leaking these results.

(closes issue ASTERISK-22395)
Reported by: Corey Farrell
Patches:
     manager-leaks-12.patch uploaded by coreyfarrell (license 5909)
     res_agi-xmldoc-leaks.patch uploaded by coreyfarrell (license 5909)
........

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

Merged revisions 398061 from http://svn.asterisk.org/svn/asterisk/branches/11

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