asterisk/asterisk.git
7 years agoUnregister SIP provider API if module load is declined
Matthew Jordan [Wed, 30 Jan 2013 15:57:41 +0000 (15:57 +0000)]
Unregister SIP provider API if module load is declined

A user in #asterisk ran into a problem where a configuration error prevented
the chan_sip module from being loaded. Upon fixing their configuratione error,
they could no longer load the chan_sip module. This was because the
configuration checking happened after the SIP provider was registered with the
Asterisk core, and subsequent attempts to load the SIP module failed as the
provider was already registered.

Since we want to detect any failure in registering chan_sip as early as
possible (as that could be emblematic of a deeper mismatch between module
and Asterisk core), this patch does not change the registration location, but
does ensure that if a module load is declined, we unregister the module as
the SIP api provider.
........

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

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

7 years agoPerform case insensitive comparisons for T.38 attributes
Matthew Jordan [Wed, 30 Jan 2013 14:47:26 +0000 (14:47 +0000)]
Perform case insensitive comparisons for T.38 attributes

RFC5347 section 2.5.2 states the following:
...
The attribute "T38MaxBitRate" was once incorrectly registered with
IANA as "T38maxBitRate" (lower-case "m"). In accordance with T.38
examples and common implementation practice, the form "T38MaxBitRate"
SHOULD be generated by implementations conforming to this package.
In general, it is RECOMMENDED that implementations of this package
accept lowercase, uppercase, and mixed upper/lowercase encodings of
all the T.38 attributes.
...

Asterisk currently does not perform case insensitive matching on the T.38
attributes. This causes the T38MaxBitRate attribute to be negotiated at
2400 baud instead of 14400 (or whatever value you actually wanted).

This patch makes it so that when we compare T.38 attributes, we do so in a case
insensitive fashion.

Note that while the issue reporter did not directly write the patch, they
contributed to it (and would have provided one themselves if the license had
gone through a tad faster), and hence get attribution for it.

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

(closes issue ASTERISK-20897)
Reported by: Eric Hill
Tested by: Eric Hill
patches:
  -- uploaded by Eric Hill
........

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

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

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

7 years agoFix memory leak in res_calendar_icalendar
Matthew Jordan [Wed, 30 Jan 2013 14:19:29 +0000 (14:19 +0000)]
Fix memory leak in res_calendar_icalendar

The ICalendar module had a systemic memory leak on each fetch of data from
the ICalendar source. The previous fetched data was not being properly
disposed. This patch makes it so that before each fetch of data, we dispose
of the previously fetched data.

(closes issue ASTERISK-21012)
Reported by: Joel Vandal
Tested by: Joel Vandal
........

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

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

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

7 years agoMove the ancillary iax2 source files into a separate sub-directory.
Sean Bright [Tue, 29 Jan 2013 22:58:33 +0000 (22:58 +0000)]
Move the ancillary iax2 source files into a separate sub-directory.

This patch just moves the IAX2 source and header files into a separate iax2
sub-directory in the channels directory, similar to how the sip source files are
structured.

The only thing that was added was an #ifndef to protect provision.h from multiple
inclusion.

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

7 years agoFix an issue where building with DEBUG_FD_LEAKS enabled would not work due to sorcery...
Joshua Colp [Tue, 29 Jan 2013 20:19:28 +0000 (20:19 +0000)]
Fix an issue where building with DEBUG_FD_LEAKS enabled would not work due to sorcery using calls called "open" and "close".

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

7 years agochan_agent: Prevent multiple channels from logging in as the same agent.
Richard Mudgett [Tue, 29 Jan 2013 18:02:07 +0000 (18:02 +0000)]
chan_agent: Prevent multiple channels from logging in as the same agent.

Multiple channels logging in as the same agent can result in dead channels
waiting for a condition signal that will never come because another
channel thread stole it.  A symptom is chan_sip repeatedly generating
warning messages about rescheduling autodestruction of dialogs with an
agent channel owner.

* Made only login_exec() (the app AgentLogin) clear the agent_pvt->chan
pointer to prevent multiple channels from logging in as the same agent.
agent_read(), agent_call(), and agent_set_base_channel() no longer
disconnect the agent channel from the agent_pvt.  This also eliminates the
need to keep checking for agent_pvt->chan being NULL.

* Made agent_hangup() not wake up the AgentLogin agent thread until it is
done.

* Made agent_request() not able to get the agent until he has logged in
and any wrapup time has expired.

* Made agent_request() use ast_hangup() instead of agent_hangup() to
correctly dispose of a channel.

* Removed agent_set_base_channel().  Nobody calls it and it is a bad thing
in general.

* Made only agent_devicestate() determine the current device state of an
agent.  Note: Agent group device states have never been supported.

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

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

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

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

7 years agoCorrected crypto tag in SDP ANSWER for SRTP. (again)
David M. Lee [Tue, 29 Jan 2013 17:46:30 +0000 (17:46 +0000)]
Corrected crypto tag in SDP ANSWER for SRTP. (again)

The original fix (r380043) for getting Asterisk to respond with the correct
tag overlooked some corner cases, and the fact that the same code is in 1.8.

This patch moves the building of the crypto line out of
sdp_crypto_process(). Instead, it merely copies the accepted tag. The call to
sdp_crypto_offer() will build the crypto line in all cases now, using a tag of
"1" in the case of sending offers.

(closes issue ASTERISK-20849)
Reported by: José Luis Millán
Review: https://reviewboard.asterisk.org/r/2295/
........

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

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

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

7 years agocall_parking: Make sure fallbacks are used when lacking a flat channel exten
Jonathan Rose [Tue, 29 Jan 2013 17:06:17 +0000 (17:06 +0000)]
call_parking: Make sure fallbacks are used when lacking a flat channel exten

A regression was introduced which removed automatic fallback behavior from
the PBX. This behavior was used by call parking (or at least documented as
how the feature works) in order to select an extension when the flat channel
extension wasn't available from the comebackcontext. Parking now handles
the fallbacks internally in order to keep behavior matching with how it is
documented.

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

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

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

7 years agoEnsure that a declined media stream is terminated with a '\r\n'
Matthew Jordan [Tue, 29 Jan 2013 14:48:28 +0000 (14:48 +0000)]
Ensure that a declined media stream is terminated with a '\r\n'

In r369028, chan_sip's processing of media streams in an SDP was modified to
better handle multiple offered media streams. Part of that change modified
how streams were declined. Previously, declined media streams were not
handled in an RFC compliant manner; now, we set the port number to 0 in the
media stream definition and proceed on with the next media stream.

Unfortunately, the formatting of the declined media stream forgot to append a
'\r\n' to the end of the media stream. This is normally added to the accepted
media streams later on in the processing of the SDP. Since the declined media
stream uses a different buffer than the accepted media streams (and is a
malloc'd buffer as opposed to a struct ast_str), it's easier to just slap the
'\r\n' on the declined media stream buffer rather than attempt to append it
later on.

So, that's what we do. And now some devices (and probably some providers) will
be a bit happier (but probably not terribly happy, since we just rejected
something they offered).

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

(closes issue ASTERISK-20908)
Reported by: Dennis DeDonatis
Tested by: Dennis DeDonatis
........

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

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

7 years agoUpdate configure script to be compatible with ptlib 2.10.9
Matthew Jordan [Tue, 29 Jan 2013 02:12:04 +0000 (02:12 +0000)]
Update configure script to be compatible with ptlib 2.10.9

With ptlib 2.10.9, the configure script fails due to grep returning multiple
matches for the pattern it searches for. This patch updates the pattern
matching to return only the actual version for the symbol searched for,
PTLIB_VERSION.

(closes issue ASTERISK-20980)
Reported by: Stefan Reuter
patches:
  ASTERISK-20980-1.patch uploaded by Stefan Reuter (license 5339)
........

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

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

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

7 years agoCorrect the number of available call numbers in IAX2.
Sean Bright [Mon, 28 Jan 2013 21:09:52 +0000 (21:09 +0000)]
Correct the number of available call numbers in IAX2.

There is currently an edge case where call number 32768 might be allocated for
a call, even though the IAX2 protocol requires call numbers be only 15 bits.
This resulted in some unpredictable behavior when call number 32678 is chosen.

This patch was mostly written by Richard Mudgett via ReviewBoard.  I'm just
committing it.

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

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

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

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

7 years agoChange cleanup ordering in filestream destructor.
Russell Bryant [Mon, 28 Jan 2013 01:58:41 +0000 (01:58 +0000)]
Change cleanup ordering in filestream destructor.

This patch came about due to a problem observed where wav files had an
empty header.  The header is supposed to be updated in wav_close().  It
turns out that this was broken when the cache_record_files option from
asterisk.conf was enabled.  The cleanup code was moving the file to its
final destination *before* running the close() method of the file
destructor, so the header didn't get updated.

Another problem here is that the move was being done before actually
closing the FILE *.

Finally, the last bug fixed here is that I noticed that wav_close()
checks for stream->filename to be non-NULL.  In the previous cleanup
order, it's checking a pointer to freed memory.  This doesn't actually
cause anything to break, but it's treading on dangerous waters.  Now the
free() of stream->filename is happening after the format module's
close() method gets called, so it's safer.

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

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

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

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

7 years agoAdd queue_log_realtime_use_gmt option to logger.conf
Russell Bryant [Mon, 28 Jan 2013 01:50:54 +0000 (01:50 +0000)]
Add queue_log_realtime_use_gmt option to logger.conf

Add an option that lets you specify that the timestamps going into the realtime
queue log should be in GMT instead of local time.

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

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

7 years agoFix Some Configured Conference Bridge Sounds Not Being Set
Michael L. Young [Sun, 27 Jan 2013 20:33:38 +0000 (20:33 +0000)]
Fix Some Configured Conference Bridge Sounds Not Being Set

The "sound_only_one" sound was not being set even though it was configured.  In
looking into this, I found that the "join" and "leave" prompts were not being
set either.

(closes issue ASTERISK-20898)
Reported by: Stephan
Tested by: Stephan
Patches:
    asterisk-20898-custom-sounds-ignored.diff uploaded by
                                                 Michael L. Young (license 5026)

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

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

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

7 years agoAdd a unit test which confirms the apply handler callback is called when it should be.
Joshua Colp [Sun, 27 Jan 2013 18:40:15 +0000 (18:40 +0000)]
Add a unit test which confirms the apply handler callback is called when it should be.

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

7 years agoFix a bug where the apply function was not getting called.
Joshua Colp [Sun, 27 Jan 2013 17:13:22 +0000 (17:13 +0000)]
Fix a bug where the apply function was not getting called.

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

7 years agobridge_multiplexed: Rename variables so they are not the same as the struct name.
Richard Mudgett [Fri, 25 Jan 2013 23:23:26 +0000 (23:23 +0000)]
bridge_multiplexed: Rename variables so they are not the same as the struct name.

* Rename multiplexed_thread variables to muxed_thread.  It is shorter and
my editer tagging works much better.  Struct names and variable names have
different purposes and therefore should have different names.

* Renamed the multiplexed_threads container to muxed_threads for
consistency.

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

7 years agoMake sorcery modules global, since they are required by other modules that are global.
Jason Parker [Fri, 25 Jan 2013 20:46:09 +0000 (20:46 +0000)]
Make sorcery modules global, since they are required by other modules that are global.

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

7 years agoMisc bridge code improvements
Richard Mudgett [Fri, 25 Jan 2013 20:00:21 +0000 (20:00 +0000)]
Misc bridge code improvements

* Made multiplexed_bridge_destroy() check if anything to destroy and
cleared bridge_pvt pointer after destruction.

* Made multiplexed_add_or_remove() handling of the chans array simpler.

* Extracted bridge_channel_poke().

* Simplified bridge_array_remove() handling of the bridge->array[].  The
array does not have a NULL sentinel pointer.

* Made ast_bridge_new() not create a temporary bridge just to see if it
can be done.  Only need to check if there is an appropriate bridge tech
available.

* Made ast_bridge_new() clean up on allocation failures.

* Made destroy_bridge() free resources in the opposite order of creation.

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

7 years agoMore trivial bridge code cleanup.
Richard Mudgett [Fri, 25 Jan 2013 19:29:04 +0000 (19:29 +0000)]
More trivial bridge code cleanup.

* Breaking long lines
* Word wrapping comment blocks.
* Removing redundant initializers.
* Debug message wording.

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

7 years agoAdd a missing '\' to a log message.
Joshua Colp [Fri, 25 Jan 2013 14:23:46 +0000 (14:23 +0000)]
Add a missing '\' to a log message.

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

7 years agoMerge the sorcery data access layer API.
Joshua Colp [Fri, 25 Jan 2013 14:01:04 +0000 (14:01 +0000)]
Merge the sorcery data access layer API.

Sorcery is a unifying data access layer which provides a pluggable mechanism to allow
object creation, retrieval, updating, and deletion using different backends (or wizards).

This is a fancy way of saying "one interface to rule them all" where them is configuration,
realtime, and anything else that comes along.

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

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

7 years agoAdd force dial keys to skinny.
Damien Wedhorn [Fri, 25 Jan 2013 05:49:54 +0000 (05:49 +0000)]
Add force dial keys to skinny.

Adds a dial softkey when the device is in DAFD. The softkey is greyed (unusable)
until a possible dialplan match is entered. Code includes updating
transmit_selectsoftkeys to allow the use of a button mask. Also add option
to use # or * as a dial now button. Original patch by snuffy cleaned up by myself.

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

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

7 years agoCorrected crypto tag in SDP ANSWER for SRTP.
David M. Lee [Thu, 24 Jan 2013 16:40:42 +0000 (16:40 +0000)]
Corrected crypto tag in SDP ANSWER for SRTP.

When Asterisk responds with an SDP ANSWER for SRTP, it had the code to
correctly fill in the crypto data, which was overwritten by a call to
sdp_crypto_offer. Corrected the situation by changing sdp_crypto_offer
to not replacing crypto data if it already exists.

(closes issue ASTERISK-20849)
Reported by: José Luis Millán
Tested by: Iñaki Baz Castillo
Patches:
fix_sdp_crypto_tags.diff uploaded by Pedro Kiefer (license 6407)
........

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

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

7 years agoCorrect documentation for ConfbridgeList AMI action
Matthew Jordan [Thu, 24 Jan 2013 04:02:47 +0000 (04:02 +0000)]
Correct documentation for ConfbridgeList AMI action

The documentation for ConfbridgeList states that the Conference field is
optional. That's not really the case: if you fail to provide a Conference
number, the command will kick back an error.

(closes issue AST-1090)
Reported by: John Bigelow
........

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

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

7 years agoAdd support for DPMA to autosupport
Kinsey Moore [Wed, 23 Jan 2013 16:50:00 +0000 (16:50 +0000)]
Add support for DPMA to autosupport

This adds the ability to get the DPMA version, a listing of the local
firmware directory, and indexes of configured remote directories.

(closes issue AST-1070)
Reported By: Malcolm Davenport
Tested By: Kinsey Moore <kmoore@digium.com>

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

7 years agoAttempt to be more helpful when using a bad ao2 object pointer.
Richard Mudgett [Wed, 23 Jan 2013 00:30:00 +0000 (00:30 +0000)]
Attempt to be more helpful when using a bad ao2 object pointer.

Put the external obj pointer in the message instead of the internal version.
........

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

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

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

7 years agores_fax_spandsp: fix t38 transmission bug caused by not returning success
Jonathan Rose [Tue, 22 Jan 2013 22:19:02 +0000 (22:19 +0000)]
res_fax_spandsp: fix t38 transmission bug caused by not returning success

This patch fixes the problem, but the issue includes a test which is still
being considered for the automated test suite.

(issue ASTERISK-20919)
Reported by: NITESH BANSAL
Patches:
patch_ast_fax_spandsp.patch uploaded by NITESH BANSAL (license 6418)
........

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

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

7 years agoRemove a large block of commented out code from chan_iax2.
Sean Bright [Tue, 22 Jan 2013 20:58:08 +0000 (20:58 +0000)]
Remove a large block of commented out code from chan_iax2.

During the conversion to the newer CLI command structure the old definitions were
commented out.  I think it's safe to remove them completely now.

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

7 years agoapp_meetme: Use new prompts for administrator menu
Jonathan Rose [Tue, 22 Jan 2013 19:29:50 +0000 (19:29 +0000)]
app_meetme: Use new prompts for administrator menu

The old prompts for the administrator menu were inadequate. They didn't mention
that the menu had additional options through the 8 key and pressing the 8 key
wouldn't reveal what those options were. This patch fixes all of that while
also organizing code pertaining to each individual menu type which was
previously all stored in one gigantic function along with many of the basic
conference functions.

(closes issue AST-996)
Reported by: John Bigelow
Review: http://reviewboard.digium.internal/r/360/
........

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

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

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

7 years agoRemove stray property.
Richard Mudgett [Tue, 22 Jan 2013 16:48:36 +0000 (16:48 +0000)]
Remove stray property.

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

7 years agoAdd ControlPlayback manager action
Matthew Jordan [Tue, 22 Jan 2013 15:16:20 +0000 (15:16 +0000)]
Add ControlPlayback manager action

This patch adds the capability for asynchronous manipulation of audio being
played back to a channel though a new AMI action "ControlPlayback". The
ControlPlayback action supports a number of operations, the availability of
which depend on the application being used to send audio to the channel.
When the audio playback was initiated using the ControlPlayback application
or CONTROL STREAM FILE AGI command, the audio can be paused, stopped,
restarted, reversed, or skipped forward. When initiated by other mechanisms
(such as the Playback application), the audio can be stopped, reversed, or
skipped forward.

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

(closes issue ASTERISK-20882)
Reported by: mjordan

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

7 years agoFix station ringback; trunk hangup issues in SLA
Matthew Jordan [Tue, 22 Jan 2013 15:15:04 +0000 (15:15 +0000)]
Fix station ringback; trunk hangup issues in SLA

This patch fixes two bugs:
 * If an outbound call is made from a SLA phone using SLAStation, then there is
   no ringtone audible to the phone that originates the call. The indication of
   the ringing was not being passed to the SLA station; this patch fixes that
   by passing through the progress indications.
 * If an SLA station hangs up before the called party answers, then the channel
   to the called party continues to ring until a timeout occurs. If the called
   party manages to answer, Asterisk attempts to connect the called party to
   a non-existant MeetMe room. This patch corrects the behavior by abandoning
   the call attempt if it detects that the SLA station is no longer in use
   while attempting to call the called party.

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

(closes issue ASTERISK-20462)
Reported by: dkerr
patches:
  asterisk-11-bugid20440+20462.patch uploaded by dkerr (license 5558)
  asterisk-11-bugid20462.patch uploaded by dkerr (license 5558)

(closes issue ASTERISK-20440)
Reported by: dkerr
patches:
  asterisk-11-bugid20440.patch uploaded by dkerr (license 5558)
  asterisk-11-bugid20440+20462.patch uploaded by dkerr (license 5558)
........

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

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

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

7 years agoconfbridge: Minor fixes playing user counts to the conference.
Richard Mudgett [Tue, 22 Jan 2013 00:36:52 +0000 (00:36 +0000)]
confbridge: Minor fixes playing user counts to the conference.

* Generate a warning message if sound files do not exist when trying to
play the user count to the conference.  Use the new helper routine
sound_file_exists() for consistency.

* Put the new user into autoservice when playing user counts to the
conference.

* Check the return value of ast_bridge_impart().
........

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

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

7 years agoUpdate init.d scripts to handle stderr; readd splash screen for remote consoles
Matthew Jordan [Mon, 21 Jan 2013 20:41:12 +0000 (20:41 +0000)]
Update init.d scripts to handle stderr; readd splash screen for remote consoles

When r376428 was commited to re-order start up sequences to be more tolerant of
forking with thread primitives, a few items were changed that caused changes
in behavior on some distros. This includes:
 * Not displaying the splash screen on a remote console.
 * Displaying an error message on stderr when a remote console cannot connect
   to a running instance of Asterisk.

In the first case, the splash screen was re-added (thanks to Michael L. Young).
In the second case, the various init.d scripts were modified to pipe stderr
to /dev/null, as the error message is useful - if you execute a remote
console or a remote console command execution and it fail, it should tell
you. Note that the error message was always present, it just failed to be
printed prior to r376428.

Much thanks to the folks who quickly reported this problem, provided solutions,
and promptly tested the various init.d scripts on a variety of distros.

(closes issue ASTERISK-20945)
Reported by: Warren Selby
Tested by: Michael L. Young, Jamuel Starkey, kaldemar, Danny Nicholas, mjordan
patches:
  asterisk-20945-remote-intro-msg.diff uploaded by elguero (license 5026)
  ASTERISK-20945-1.8-mjordan.diff uploaded by mjordan (license 6283)
........

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

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

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

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

7 years agoBetter protect bridge_channel state from other threads.
Richard Mudgett [Mon, 21 Jan 2013 20:35:12 +0000 (20:35 +0000)]
Better protect bridge_channel state from other threads.

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

7 years agoExtract common bridging code into bridge_stop() and bridge_force_out_all().
Richard Mudgett [Mon, 21 Jan 2013 20:24:23 +0000 (20:24 +0000)]
Extract common bridging code into bridge_stop() and bridge_force_out_all().

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

7 years agoMade some bridging API calls void. Some bridging comments updated.
Richard Mudgett [Mon, 21 Jan 2013 20:15:57 +0000 (20:15 +0000)]
Made some bridging API calls void. Some bridging comments updated.

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

7 years agoPrevent segfault for interpolated iLBC frames
Kinsey Moore [Mon, 21 Jan 2013 18:47:47 +0000 (18:47 +0000)]
Prevent segfault for interpolated iLBC frames

When iLBC is being used with a jitter buffer and the jb has to
interpolate frames, it generates frames with a null pointer and a
non-zero datalen. This is now handled properly.

(closes issue ASTERISK-20914)
Reported By: John McEleney
Patches:
  ASTERISK-20914-1.8.diff uploaded by Matt Jordan (license 6283)
........

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

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

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

7 years agoTrivial bridge code cleanup.
Richard Mudgett [Mon, 21 Jan 2013 18:45:17 +0000 (18:45 +0000)]
Trivial bridge code cleanup.

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

7 years agoBridge API comment tweaks.
Richard Mudgett [Mon, 21 Jan 2013 17:55:48 +0000 (17:55 +0000)]
Bridge API comment tweaks.

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

7 years agoFix device call logging issues in skinny
Damien Wedhorn [Mon, 21 Jan 2013 07:26:04 +0000 (07:26 +0000)]
Fix device call logging issues in skinny

Skinny device call logging (ie missed, place and received calls) has issues
because the incorrect sequence of callstates is/can be sent to the device.
This patch removes some extra callstate updates driven by forces external
to skinny and ensures the needed intermediary callstate messages are sent.

(closes issue ASTERISK-20964)
Reported by: wedhorn
Tested by: snuffy, myself
Patches:
    ast11-skinny-calllog01.diff uploaded by wedhorn (license 5019)
........

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

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

7 years agoAdd LDAP libraries to install script
Andrew Latham [Mon, 21 Jan 2013 04:50:09 +0000 (04:50 +0000)]
Add LDAP libraries to install script

Add LDAP dev package to Debian/Ubuntu install list.  Existed in Redhat already.

(issue ASTERISK-20886)
........

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

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

7 years agoFix crash in app_minivm when mime encoding string
Matthew Jordan [Mon, 21 Jan 2013 04:17:28 +0000 (04:17 +0000)]
Fix crash in app_minivm when mime encoding string

An incorrect string initializations was left in ast_str_encode_mime from the
patch that converted string manipulations to use ast_str strings (r191140).
The string initialization causes a crash when ast_str_set is called on
the string later on in the function.

(closes issue ASTERISK-18697)
Reported by: Chris Boot
patches:
  minivm-null-pointer-dereference-fix.patch uploaded by bootc (license 6309)

(issue ASTERISK-20854)
Reported by: Chris Warr
Tested by: Chris Warr
........

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

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

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

7 years agoRe-add merge properties
Matthew Jordan [Mon, 21 Jan 2013 04:16:31 +0000 (04:16 +0000)]
Re-add merge properties

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

7 years agoFix issues with skinny sessions
Damien Wedhorn [Sun, 20 Jan 2013 03:06:28 +0000 (03:06 +0000)]
Fix issues with skinny sessions

Fixes a couple of issues with the way skinny handles sessions by ensuring
sessions aren't used after being freed. Some other minor changes.

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

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

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

7 years agoAdd builtin roundf() for systems lacking it.
Walter Doekes [Sat, 19 Jan 2013 20:54:07 +0000 (20:54 +0000)]
Add builtin roundf() for systems lacking it.

(closes issue ASTERISK-16854)
Review: https://reviewboard.asterisk.org/r/2276
Reported-by: Ovidiu Sas
........

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

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

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

7 years agoFix astcanary startup problem due to wrong pid value from before daemon call
Matthew Jordan [Sat, 19 Jan 2013 00:19:19 +0000 (00:19 +0000)]
Fix astcanary startup problem due to wrong pid value from before daemon call

When Asterisk forks itself into the background via a call to daemon, it must
re-set the pid value of the new process. Otherwise, astcanary gets the pid
value of the process before the fork, which prevents it from running. Asterisk
eventually starts lowering its priority, as it can no longer communicate
with the proverbial canary in the coal mine.

This patch ensures that the correct process identifier is used by astcanary.

Note that this is getting committed to 10 as a regression fix.

(closes issue ASTERISK-20947)
Reported by: Jakob Hirsch
Tested by: mjordan
patches:
  asterisk-10.12.0.astcanary_ppid.diff uploaded by Jakob Hirsch (license 6113)
........

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

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

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

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

7 years agoUp the minimum OS X version to 10.6.
David M. Lee [Fri, 18 Jan 2013 22:42:38 +0000 (22:42 +0000)]
Up the minimum OS X version to 10.6.

 * This allows us to remove some special-case build logic.
 * 10.5 is down to less that 8% of the OS X market share. 10.4 is down to
   under 2%.
 * Apple is no longer releasing security updates for 10.5 and earlier.

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

7 years agoFix regression in Confbridge user count
Kinsey Moore [Fri, 18 Jan 2013 21:52:18 +0000 (21:52 +0000)]
Fix regression in Confbridge user count

When the restructuring work got committed to Confbridge in r375470 to
fix many open issues, it caused a regression in the reported count of
users when conference information was requested via CLI or manager.
This corrects the user count and user information displayed when
listing conference information from the CLI and manager.

(closes issue ASTERISK-20938)
Reported By: Timo Teras
Patches:
  confbridge-list.patch uploaded by Timo Teras (license 5409)
........

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

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

7 years agoSpecify the -rpath linker flag when prefix != /usr.
David M. Lee [Fri, 18 Jan 2013 21:35:09 +0000 (21:35 +0000)]
Specify the -rpath linker flag when prefix != /usr.

This allows Asterisk to start without having to specify the
LD_LIBRARY_PATH. This can be disabled by passing --disable-rpath to
configure.

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

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

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

7 years agoapp_voicemail: Improve msg_id handling
Jonathan Rose [Fri, 18 Jan 2013 18:25:56 +0000 (18:25 +0000)]
app_voicemail: Improve msg_id handling

app_voicemail will no longer issue error messages when it retrieves an msg_id
with a NULL value from realtime and will instead simply populate the msg_id
field with a newly generated msg_id. In addition, this patch changes the way
msg_ids are generated to eliminate certain causes of duplicate IDs appearing
within a single system. In addition, when messages are copied, they will now
receive a new msg_id.

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

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

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

7 years agoAdd threadpool support to Asterisk.
Mark Michelson [Fri, 18 Jan 2013 15:42:10 +0000 (15:42 +0000)]
Add threadpool support to Asterisk.

This commit consists of two parts.

Part one changes the taskprocessor API to be less self-contained.
Instead, the taskprocessor is now more of a task queue that informs
a listener of changes to the queue. The listener then has the responsibility
of executing the tasks as it pleases. There is a default listener implementation
that functions the same way as "classic" taskprocessors, in that it creates
a single thread for tasks to execute in. Old users of taskprocessors have
not been altered and still function the same way.

Part two introduces the threadpool API. A threadpool is a special type of
taskprocessor listener that has multiple threads associated with it. The threadpool
also has an optional listener that can adjust the threadpool as conditions change.
In addition the threadpool has a set of options that can allow for the threadpool
to grow and shrink on its own as tasks are added and executed.

Both set of changes contain accompanying unit tests.

(closes issue ASTERISK-20691)
Reported By: Matt Jordan

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

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

7 years agoFix Record-Route parsing for large headers.
David M. Lee [Fri, 18 Jan 2013 05:31:23 +0000 (05:31 +0000)]
Fix Record-Route parsing for large headers.

Record-Route parsing copied the header into a char[256] array, which can
be a problem if the header is longer than that. This patch parses the
header in place, without the copy, avoiding the issue.

In addition to the original patch, I added a unit test for the new
get_in_brackets_const function.

(closes issue ASTERISK-20837)
Reported by: Corey Farrell
Patches:
chan_sip-build_route-optimized-rev1.patch uploaded by Corey Farrell (license 5909)
(with minor changes by dlee)
........

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

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

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

7 years agoAddress David's latest feedback on reviewboard:
Mark Michelson [Thu, 17 Jan 2013 16:04:10 +0000 (16:04 +0000)]
Address David's latest feedback on reviewboard:

* Add a max_size option for threadpools. Also added a test for this option.
* Fixed comments to be more accurate and have fewer typos.
* Updated copyright dates on new files.

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379375 65c4cc65-6c06-0410-ace0-fbb531ad65f3

7 years agoMerged revisions 379344 via svnmerge from
Automerge script [Thu, 17 Jan 2013 03:20:22 +0000 (03:20 +0000)]
Merged revisions 379344 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r379344 | mjordan | 2013-01-16 20:32:34 -0600 (Wed, 16 Jan 2013) | 23 lines

  Fix issue where chan_mobile fails to bind to first available port

  Per the bluez API, in order to bind to the first available port, the rc_channel
  field of the socket addressing structure used to bind the socket should be set
  to 0. Previously, Asterisk had set the rc_channel field set to 1, causing it
  to connect to whatever happens to be on port 1.

  We could probably not explicitly set rc_channel to 0 since we memset the struct
  earlier, but explicitly setting it will hopefully prevent someone from coming
  in and setting it to some explicit port in the future.

  (closes issue ASTERISK-16357)
  Reported by: challado
  Tested by: Alexander Heinz, Nikolay Ilduganov, benjamin, eliafino, David van Geyn
  patches:
    ASTERISK-16357.diff uploaded by Nikolay Ilduganov (license 6253)
  ........

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

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379353 65c4cc65-6c06-0410-ace0-fbb531ad65f3

7 years agoFix issue where chan_mobile fails to bind to first available port
Matthew Jordan [Thu, 17 Jan 2013 02:32:34 +0000 (02:32 +0000)]
Fix issue where chan_mobile fails to bind to first available port

Per the bluez API, in order to bind to the first available port, the rc_channel
field of the socket addressing structure used to bind the socket should be set
to 0. Previously, Asterisk had set the rc_channel field set to 1, causing it
to connect to whatever happens to be on port 1.

We could probably not explicitly set rc_channel to 0 since we memset the struct
earlier, but explicitly setting it will hopefully prevent someone from coming
in and setting it to some explicit port in the future.

(closes issue ASTERISK-16357)
Reported by: challado
Tested by: Alexander Heinz, Nikolay Ilduganov, benjamin, eliafino, David van Geyn
patches:
  ASTERISK-16357.diff uploaded by Nikolay Ilduganov (license 6253)
........

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

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

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

7 years agoMerged revisions 379312 via svnmerge from
Automerge script [Wed, 16 Jan 2013 23:20:22 +0000 (23:20 +0000)]
Merged revisions 379312 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r379312 | mmichelson | 2013-01-16 16:51:32 -0600 (Wed, 16 Jan 2013) | 11 lines

  Further fix misinformation in the description of manager MailboxStatus command.

  The description still claimed that it returned the number of messages rather than
  whether there were messages waiting.
  ........

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

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379321 65c4cc65-6c06-0410-ace0-fbb531ad65f3

7 years agoFurther fix misinformation in the description of manager MailboxStatus command.
Mark Michelson [Wed, 16 Jan 2013 22:51:32 +0000 (22:51 +0000)]
Further fix misinformation in the description of manager MailboxStatus command.

The description still claimed that it returned the number of messages rather than
whether there were messages waiting.
........

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

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

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

7 years agoMerged revisions 379278 via svnmerge from
Automerge script [Wed, 16 Jan 2013 21:20:23 +0000 (21:20 +0000)]
Merged revisions 379278 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r379278 | qwell | 2013-01-16 15:13:53 -0600 (Wed, 16 Jan 2013) | 11 lines

  Reduce number of packages install_prereq installs on Debian systems.

  'search' will look for any package containing the name provided, so we need to
  force a more exact search.
  ........

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

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379288 65c4cc65-6c06-0410-ace0-fbb531ad65f3

7 years agoReduce number of packages install_prereq installs on Debian systems.
Jason Parker [Wed, 16 Jan 2013 21:13:53 +0000 (21:13 +0000)]
Reduce number of packages install_prereq installs on Debian systems.

'search' will look for any package containing the name provided, so we need to
force a more exact search.
........

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

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

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

7 years agoMerged revisions 379229,379231,379233 via svnmerge from
Automerge script [Wed, 16 Jan 2013 18:20:38 +0000 (18:20 +0000)]
Merged revisions 379229,379231,379233 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r379229 | mjordan | 2013-01-16 11:46:15 -0600 (Wed, 16 Jan 2013) | 10 lines

  Let documentation reference links specify which module they're linking to

  Again, since res_jabber/res_xmpp have duplicate APIs, their documentation ref
  links have to specify which reference they're referring to. The various
  documentation parsers can interpret the module attribute however they want
  in order to construct the appropriate links.
  ........

  Merged revisions 379228 from http://svn.asterisk.org/svn/asterisk/branches/11
................
  r379231 | rmudgett | 2013-01-16 11:49:52 -0600 (Wed, 16 Jan 2013) | 10 lines

  chan_misdn: Fix compile error.

  (issue ASTERISK-15456)
  ........

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

  Merged revisions 379230 from http://svn.asterisk.org/svn/asterisk/branches/11
................
  r379233 | rmudgett | 2013-01-16 12:09:28 -0600 (Wed, 16 Jan 2013) | 8 lines

  Reduce call-id logging resource usage.

  Since there is no need for the call-id logging ao2 object to have a lock,
  don't create it with one.
  ........

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379243 65c4cc65-6c06-0410-ace0-fbb531ad65f3

7 years agoReduce call-id logging resource usage.
Richard Mudgett [Wed, 16 Jan 2013 18:09:28 +0000 (18:09 +0000)]
Reduce call-id logging resource usage.

Since there is no need for the call-id logging ao2 object to have a lock,
don't create it with one.
........

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

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

7 years agochan_misdn: Fix compile error.
Richard Mudgett [Wed, 16 Jan 2013 17:49:52 +0000 (17:49 +0000)]
chan_misdn: Fix compile error.

(issue ASTERISK-15456)
........

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

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

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

7 years agoLet documentation reference links specify which module they're linking to
Matthew Jordan [Wed, 16 Jan 2013 17:46:15 +0000 (17:46 +0000)]
Let documentation reference links specify which module they're linking to

Again, since res_jabber/res_xmpp have duplicate APIs, their documentation ref
links have to specify which reference they're referring to. The various
documentation parsers can interpret the module attribute however they want
in order to construct the appropriate links.
........

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

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

7 years agoMerged revisions 379211 via svnmerge from
Automerge script [Wed, 16 Jan 2013 16:20:52 +0000 (16:20 +0000)]
Merged revisions 379211 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r379211 | mjordan | 2013-01-16 09:33:05 -0600 (Wed, 16 Jan 2013) | 21 lines

  Multiple revisions 379209-379210

  ........
    r379209 | mjordan | 2013-01-16 09:27:44 -0600 (Wed, 16 Jan 2013) | 8 lines

    Add module tags to documentation for res_jabber/res_xmpp

    Since res_jabber/res_xmpp provide the same APIs (app/func/manager/etc.),
    the XML documentation for each needs to call out which module is providing
    the documentation. The module attribute has been added to the various XML
    fragments for this purpose.
  ........
    r379210 | mjordan | 2013-01-16 09:30:20 -0600 (Wed, 16 Jan 2013) | 4 lines

    Update the dtd to actually *support* the module attribute in all elements

    Mea culpa.
  ........

  Merged revisions 379209-379210 from http://svn.asterisk.org/svn/asterisk/branches/11
................

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379218 65c4cc65-6c06-0410-ace0-fbb531ad65f3

7 years agoMultiple revisions 379209-379210
Matthew Jordan [Wed, 16 Jan 2013 15:33:05 +0000 (15:33 +0000)]
Multiple revisions 379209-379210

........
  r379209 | mjordan | 2013-01-16 09:27:44 -0600 (Wed, 16 Jan 2013) | 8 lines

  Add module tags to documentation for res_jabber/res_xmpp

  Since res_jabber/res_xmpp provide the same APIs (app/func/manager/etc.),
  the XML documentation for each needs to call out which module is providing
  the documentation. The module attribute has been added to the various XML
  fragments for this purpose.
........
  r379210 | mjordan | 2013-01-16 09:30:20 -0600 (Wed, 16 Jan 2013) | 4 lines

  Update the dtd to actually *support* the module attribute in all elements

  Mea culpa.
........

Merged revisions 379209-379210 from http://svn.asterisk.org/svn/asterisk/branches/11

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

7 years agoMerged revisions 379180 via svnmerge from
Automerge script [Wed, 16 Jan 2013 04:20:29 +0000 (04:20 +0000)]
Merged revisions 379180 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r379180 | mjordan | 2013-01-15 22:14:38 -0600 (Tue, 15 Jan 2013) | 27 lines

  Fix parsing SMSSRC for SMS messages

  The parser for SMS messages would incorrectly parse out the from number.
  The parsing would incorrectly start scanning for the from number at the
  same index as the first double quote ("); this would inadvertently cause
  it to treat the first double quote as the terminating double quote for
  the from number as well.

  The SMSSRC should now populate correctly.

  (closes issue ASTERISK-16822)
  Reported by: menschentier
  Tested by: Jonas Falck
  patches:
   fixSMSSRC.patch uploaded by jonax (license 6320)

  (closes issue ASTERISK-19153)
  Reported by: Panos Gkikakis
  patches:
    sms-sender-fix.diff uploaded by roeften (license 5884)
  ........

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

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379189 65c4cc65-6c06-0410-ace0-fbb531ad65f3

7 years agoFix parsing SMSSRC for SMS messages
Matthew Jordan [Wed, 16 Jan 2013 04:14:38 +0000 (04:14 +0000)]
Fix parsing SMSSRC for SMS messages

The parser for SMS messages would incorrectly parse out the from number.
The parsing would incorrectly start scanning for the from number at the
same index as the first double quote ("); this would inadvertently cause
it to treat the first double quote as the terminating double quote for
the from number as well.

The SMSSRC should now populate correctly.

(closes issue ASTERISK-16822)
Reported by: menschentier
Tested by: Jonas Falck
patches:
 fixSMSSRC.patch uploaded by jonax (license 6320)

(closes issue ASTERISK-19153)
Reported by: Panos Gkikakis
patches:
  sms-sender-fix.diff uploaded by roeften (license 5884)
........

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

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

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

7 years agoMerged revisions 379144,379147 via svnmerge from
Automerge script [Wed, 16 Jan 2013 00:20:45 +0000 (00:20 +0000)]
Merged revisions 379144,379147 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r379144 | mjordan | 2013-01-15 17:54:34 -0600 (Tue, 15 Jan 2013) | 17 lines

  Add busy detection to chan_mobile

  From the patch author:

  "First this patch adds general support for busy detection. It also adds support
   for the ECAM command at Sony Ericsson phones and also signals busy when only
   early media was received but the call got not answered."

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

  (closes issue ASTERISK-14527)
  Reported by: Artem Makhutov
  Tested by: Artem Makhutov
  patches:
    busy-full5.patch uploaded by artem (license 5757)
................
  r379147 | mjordan | 2013-01-15 18:16:22 -0600 (Tue, 15 Jan 2013) | 25 lines

  Set the INVALID_EXTEN channel variable when chan_misdn forces the 'i' extension

  The chan_misdn channel driver will send a channel with an invalid destination
  to the 'i' extension itself if said extension can be reached. It forgot,
  however, to set the INVALID_EXTEN channel variable when it bounces the channel
  to this extension. Dialplan writers everywhere moaned at yet another
  inconsistency.

  This is yet another example of why duplicating logic in multiple places results
  in bugs that stick around in Jira for just under three years.

  Yes: ASTERISK-15456 was created on January 18th, 2010. Patch committed on
  January 15th, 2013. Ouch.

  (closes issue ASTERISK-15456)
  Reported by: Thomas Omerzu
  patches:
    chan_misdn_invalid.patch2 uploaded by Thomas Omerzu (license 5927)
  ........

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

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379156 65c4cc65-6c06-0410-ace0-fbb531ad65f3

7 years agoSet the INVALID_EXTEN channel variable when chan_misdn forces the 'i' extension
Matthew Jordan [Wed, 16 Jan 2013 00:16:22 +0000 (00:16 +0000)]
Set the INVALID_EXTEN channel variable when chan_misdn forces the 'i' extension

The chan_misdn channel driver will send a channel with an invalid destination
to the 'i' extension itself if said extension can be reached. It forgot,
however, to set the INVALID_EXTEN channel variable when it bounces the channel
to this extension. Dialplan writers everywhere moaned at yet another
inconsistency.

This is yet another example of why duplicating logic in multiple places results
in bugs that stick around in Jira for just under three years.

Yes: ASTERISK-15456 was created on January 18th, 2010. Patch committed on
January 15th, 2013. Ouch.

(closes issue ASTERISK-15456)
Reported by: Thomas Omerzu
patches:
  chan_misdn_invalid.patch2 uploaded by Thomas Omerzu (license 5927)
........

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

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

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

7 years agoAdd busy detection to chan_mobile
Matthew Jordan [Tue, 15 Jan 2013 23:54:34 +0000 (23:54 +0000)]
Add busy detection to chan_mobile

From the patch author:

"First this patch adds general support for busy detection. It also adds support
 for the ECAM command at Sony Ericsson phones and also signals busy when only
 early media was received but the call got not answered."

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

(closes issue ASTERISK-14527)
Reported by: Artem Makhutov
Tested by: Artem Makhutov
patches:
  busy-full5.patch uploaded by artem (license 5757)

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

7 years agoMerged revisions 379128 via svnmerge from
Automerge script [Tue, 15 Jan 2013 23:20:18 +0000 (23:20 +0000)]
Merged revisions 379128 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

........
  r379128 | rmudgett | 2013-01-15 16:23:49 -0600 (Tue, 15 Jan 2013) | 1 line

  Fix ast_bridge_features_register() not registering builtin features. I broke. Ooops.
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379138 65c4cc65-6c06-0410-ace0-fbb531ad65f3

7 years agoFix ast_bridge_features_register() not registering builtin features. I broke. Ooops.
Richard Mudgett [Tue, 15 Jan 2013 22:23:49 +0000 (22:23 +0000)]
Fix ast_bridge_features_register() not registering builtin features. I broke. Ooops.

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

7 years agoAdd doxygen to accessors and increase refcount of taskprocessor before returning.
Mark Michelson [Tue, 15 Jan 2013 21:15:04 +0000 (21:15 +0000)]
Add doxygen to accessors and increase refcount of taskprocessor before returning.

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379127 65c4cc65-6c06-0410-ace0-fbb531ad65f3

7 years agoMake the threadpool listener opaque.
Mark Michelson [Tue, 15 Jan 2013 21:09:55 +0000 (21:09 +0000)]
Make the threadpool listener opaque.

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379126 65c4cc65-6c06-0410-ace0-fbb531ad65f3

7 years agoMake ast_taskprocessor_listener opaque.
Mark Michelson [Tue, 15 Jan 2013 20:48:45 +0000 (20:48 +0000)]
Make ast_taskprocessor_listener opaque.

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379125 65c4cc65-6c06-0410-ace0-fbb531ad65f3

7 years agoAddress further review feedback from David Lee.
Mark Michelson [Tue, 15 Jan 2013 20:15:00 +0000 (20:15 +0000)]
Address further review feedback from David Lee.

* Clarify some documentation
* Change copyright date of taskprocessor files
* Address potential issue of creating taskprocessor with listener if
  taskprocessor with that name exists already

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379124 65c4cc65-6c06-0410-ace0-fbb531ad65f3

7 years agoMake the initial size of the threadpool part of the options passed in.
Mark Michelson [Tue, 15 Jan 2013 19:44:25 +0000 (19:44 +0000)]
Make the initial size of the threadpool part of the options passed in.

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379123 65c4cc65-6c06-0410-ace0-fbb531ad65f3

7 years agoRemove threadpool listener alloc and destroy callbacks.
Mark Michelson [Tue, 15 Jan 2013 19:36:33 +0000 (19:36 +0000)]
Remove threadpool listener alloc and destroy callbacks.

This replaces the destroy callback with a shutdown callback
instead.

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379122 65c4cc65-6c06-0410-ace0-fbb531ad65f3

7 years agoRemove alloc and destroy callbacks from the taskprocessor.
Mark Michelson [Tue, 15 Jan 2013 18:40:36 +0000 (18:40 +0000)]
Remove alloc and destroy callbacks from the taskprocessor.

Now user data is allocated by the creator of the taskprocessor
listener and that user data is passed into ast_taskprocessor_listener_alloc().
Similarly, freeing of the user data is left up to the user himself. He can
free the data when the taskprocessor shuts down, or he can choose to hold
onto it if it makes sense to do so.

This, unsurprisingly, makes threadpool allocation a LOT cleaner now.

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379120 65c4cc65-6c06-0410-ace0-fbb531ad65f3

7 years agoMerged revisions 379070 via svnmerge from
Automerge script [Mon, 14 Jan 2013 22:19:58 +0000 (22:19 +0000)]
Merged revisions 379070 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

........
  r379070 | dlee | 2013-01-14 15:47:31 -0600 (Mon, 14 Jan 2013) | 1 line

  Fixed doc comment for ast_test_validate
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379081 65c4cc65-6c06-0410-ace0-fbb531ad65f3

7 years agoFixed doc comment for ast_test_validate
David M. Lee [Mon, 14 Jan 2013 21:47:31 +0000 (21:47 +0000)]
Fixed doc comment for ast_test_validate

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

7 years agoMerged revisions 379021,379023 via svnmerge from
Automerge script [Mon, 14 Jan 2013 16:20:46 +0000 (16:20 +0000)]
Merged revisions 379021,379023 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r379021 | dlee | 2013-01-14 09:29:22 -0600 (Mon, 14 Jan 2013) | 15 lines

  Fix XML encoding of 'identity display' in NOTIFY messages, continued.

  When r378933 was merged into 1.8, it should have also escaped
  remote_display, since it will have the same XML encoding problem when
  the caller/callee roles are reversed.

  (closes issue ABE-2902)
  Reported by: Guenther Kelleter
  ........

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

  Merged revisions 379020 from http://svn.asterisk.org/svn/asterisk/branches/11
................
  r379023 | dlee | 2013-01-14 09:58:01 -0600 (Mon, 14 Jan 2013) | 20 lines

  Masquerades are an insane implementation detail within Asterisk. It generates
  a number of useless and confusing events, and manipulates channels in a way
  that semantically doesn't make sense. I've given a fairly thorough review of
  masquerade code and its usage on the wiki at
  https://wiki.asterisk.org/wiki/x/IwBRAQ.

  While ultimately it makes the most sense to abandon masquerades altogether,
  it will take some time to completely irradicate. Even then, there may always
  be code that's not worth rewriting to get rid of the masquerade.

  This patch does two things to make masquerades slightly less insane:
   * When swapping the names of the original and clone channel, only emit a
     single rename event of original -> original<ZOMBIE>. The original code
     issued three rename events to accomplish the same end.
   * In addition to swapping the names of the channels, also swap their
     uniqueid's. This allows the 'Uniqueid' field to be used as a stable
     identifier for a channel from and external interface, such as AMI.

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@379032 65c4cc65-6c06-0410-ace0-fbb531ad65f3

7 years agoGently reduce masquerade insanity
David M. Lee [Mon, 14 Jan 2013 15:58:01 +0000 (15:58 +0000)]
Gently reduce masquerade insanity

Masquerades are an insane implementation detail within Asterisk. It generates
a number of useless and confusing events, and manipulates channels in a way
that semantically doesn't make sense. I've given a fairly thorough review of
masquerade code and its usage on the wiki at
https://wiki.asterisk.org/wiki/x/IwBRAQ.

While ultimately it makes the most sense to abandon masquerades altogether,
it will take some time to completely irradicate. Even then, there may always
be code that's not worth rewriting to get rid of the masquerade.

This patch does two things to make masquerades slightly less insane:
 * When swapping the names of the original and clone channel, only emit a
   single rename event of original -> original<ZOMBIE>. The original code
   issued three rename events to accomplish the same end.
 * In addition to swapping the names of the channels, also swap their
   uniqueid's. This allows the 'Uniqueid' field to be used as a stable
   identifier for a channel from and external interface, such as AMI.

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

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

7 years agoFix XML encoding of 'identity display' in NOTIFY messages, continued.
David M. Lee [Mon, 14 Jan 2013 15:29:22 +0000 (15:29 +0000)]
Fix XML encoding of 'identity display' in NOTIFY messages, continued.

When r378933 was merged into 1.8, it should have also escaped
remote_display, since it will have the same XML encoding problem when
the caller/callee roles are reversed.

(closes issue ABE-2902)
Reported by: Guenther Kelleter
........

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

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

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

7 years agoMerged revisions 378985 via svnmerge from
Automerge script [Sun, 13 Jan 2013 22:20:48 +0000 (22:20 +0000)]
Merged revisions 378985 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r378985 | mjordan | 2013-01-13 16:07:00 -0600 (Sun, 13 Jan 2013) | 20 lines

  Reset RTP timestamp; sequence number on SSRC change

  In r370252 for ASTERISK-18404, Asterisk's handling of RTP was modified to
  better account for out of order RTP packets. This was accomplished by using the
  RTP timestamp and sequence number to check for out of order packets. However,
  when a SSRC change occurs, the timestamp and sequence number will no longer
  have any relation to the previously received packets. The variables tracking
  the timestamp and sequence number therefore have to be reset.

  (closes issue ASTERISK-20906)
  Reported by: Eelco Brolman
  patches:
    dtmf_on_hold.patch uploaded by Eelco Brolman (license #6442)
  ........

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

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378993 65c4cc65-6c06-0410-ace0-fbb531ad65f3

7 years agoReset RTP timestamp; sequence number on SSRC change
Matthew Jordan [Sun, 13 Jan 2013 22:07:00 +0000 (22:07 +0000)]
Reset RTP timestamp; sequence number on SSRC change

In r370252 for ASTERISK-18404, Asterisk's handling of RTP was modified to
better account for out of order RTP packets. This was accomplished by using the
RTP timestamp and sequence number to check for out of order packets. However,
when a SSRC change occurs, the timestamp and sequence number will no longer
have any relation to the previously received packets. The variables tracking
the timestamp and sequence number therefore have to be reset.

(closes issue ASTERISK-20906)
Reported by: Eelco Brolman
patches:
  dtmf_on_hold.patch uploaded by Eelco Brolman (license #6442)
........

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

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

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

7 years agoMerged revisions 378935 via svnmerge from
Automerge script [Sat, 12 Jan 2013 07:21:01 +0000 (07:21 +0000)]
Merged revisions 378935 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r378935 | dlee | 2013-01-12 00:43:37 -0600 (Sat, 12 Jan 2013) | 41 lines

  Fix XML encoding of 'identity display' in NOTIFY messages.

  XML encoding in chan_sip is accomplished by naively building the XML
  directly from strings. While this usually works, it fails to take into
  account escaping the reserved characters in XML.

  This patch adds an 'ast_xml_escape' function, which works similarly to
  'ast_uri_encode'. This is used to properly escape the local_display
  attribute in XML formatted NOTIFY messages.

  Several things to note:
   * The Right Thing(TM) to do would probably be to replace the
     ast_build_string stuff with building an ast_xml_doc. That's a much
     bigger change, and out of scope for the original ticket, so I
     refrained myself.
   * It is with great sadness that I wrote my own ast_xml_escape
     function. There's one in libxml2, but it's knee-deep in
     libxml2-ness, and not easily used to one-off escape a
     string.
   * I only escaped the string we know is causing problems
     (local_display). At least some of the other strings are
     URI-encoded, which should be XML safe. Rather than figuring out
     what's safe and escaping what's not, it would be much cleaner to
     simply build an ast_xml_doc for the messages and let the XML
     library do the XML escaping. Like I said, that's out of scope.

  (closes issue ABE-2902)
  Reported by: Guenther Kelleter
  Tested by: Guenther Kelleter
  Review: http://reviewboard.digium.internal/r/365/

  ........

  Merged revision 378919 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
  ........

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

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378946 65c4cc65-6c06-0410-ace0-fbb531ad65f3

7 years agoFix XML encoding of 'identity display' in NOTIFY messages.
David M. Lee [Sat, 12 Jan 2013 06:43:37 +0000 (06:43 +0000)]
Fix XML encoding of 'identity display' in NOTIFY messages.

XML encoding in chan_sip is accomplished by naively building the XML
directly from strings. While this usually works, it fails to take into
account escaping the reserved characters in XML.

This patch adds an 'ast_xml_escape' function, which works similarly to
'ast_uri_encode'. This is used to properly escape the local_display
attribute in XML formatted NOTIFY messages.

Several things to note:
 * The Right Thing(TM) to do would probably be to replace the
   ast_build_string stuff with building an ast_xml_doc. That's a much
   bigger change, and out of scope for the original ticket, so I
   refrained myself.
 * It is with great sadness that I wrote my own ast_xml_escape
   function. There's one in libxml2, but it's knee-deep in
   libxml2-ness, and not easily used to one-off escape a
   string.
 * I only escaped the string we know is causing problems
   (local_display). At least some of the other strings are
   URI-encoded, which should be XML safe. Rather than figuring out
   what's safe and escaping what's not, it would be much cleaner to
   simply build an ast_xml_doc for the messages and let the XML
   library do the XML escaping. Like I said, that's out of scope.

(closes issue ABE-2902)
Reported by: Guenther Kelleter
Tested by: Guenther Kelleter
Review: http://reviewboard.digium.internal/r/365/

........

Merged revision 378919 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
........

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

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

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

7 years agoMerged revisions 378915,378918 via svnmerge from
Automerge script [Fri, 11 Jan 2013 23:20:57 +0000 (23:20 +0000)]
Merged revisions 378915,378918 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

................
  r378915 | dlee | 2013-01-11 16:31:42 -0600 (Fri, 11 Jan 2013) | 21 lines

  Add JSON API for Asterisk.

  This provides a JSON API by pulling in and wrapping the Jansson JSON
  library[1]. The Asterisk API basically mirrors the Jansson
  functionality, with a few minor tweaks.

   * Some names have been asteriskified to protect the innocent.
   * Jansson provides both reference-stealing and reference-borrowing
     versions of several API's. The Asterisk API is exclusively
     reference-stealing for operations that put elements into arrays and
     objects.
   * No support for doubles, since we usually don't need that.
   * Coming along for the ride is the ast_test_validate macro, which made
     the unit tests much easier to write.

   [1]: http://www.digip.org/jansson/

  (issue ASTERISK-20887)
  (closes issue ASTERISK-20888)
  Review: https://reviewboard.asterisk.org/r/2264/
................
  r378918 | file | 2013-01-11 17:05:38 -0600 (Fri, 11 Jan 2013) | 11 lines

  Retain XMPP filters across reconnections so external modules continue to function as expected.

  Previously if an XMPP client reconnected any filters added by an external module were lost.
  This issue exhibited itself with chan_motif not receiving and reacting to Jingle signaling.

  (closes issue ASTERISK-20916)
  Reported by: kuj
  ........

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378927 65c4cc65-6c06-0410-ace0-fbb531ad65f3

7 years agoRetain XMPP filters across reconnections so external modules continue to function...
Joshua Colp [Fri, 11 Jan 2013 23:05:38 +0000 (23:05 +0000)]
Retain XMPP filters across reconnections so external modules continue to function as expected.

Previously if an XMPP client reconnected any filters added by an external module were lost.
This issue exhibited itself with chan_motif not receiving and reacting to Jingle signaling.

(closes issue ASTERISK-20916)
Reported by: kuj
........

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

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

7 years agoAdd JSON API for Asterisk.
David M. Lee [Fri, 11 Jan 2013 22:31:42 +0000 (22:31 +0000)]
Add JSON API for Asterisk.

This provides a JSON API by pulling in and wrapping the Jansson JSON
library[1]. The Asterisk API basically mirrors the Jansson
functionality, with a few minor tweaks.

 * Some names have been asteriskified to protect the innocent.
 * Jansson provides both reference-stealing and reference-borrowing
   versions of several API's. The Asterisk API is exclusively
   reference-stealing for operations that put elements into arrays and
   objects.
 * No support for doubles, since we usually don't need that.
 * Coming along for the ride is the ast_test_validate macro, which made
   the unit tests much easier to write.

 [1]: http://www.digip.org/jansson/

(issue ASTERISK-20887)
(closes issue ASTERISK-20888)
Review: https://reviewboard.asterisk.org/r/2264/

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

7 years agoMerged revisions 378889 via svnmerge from
Automerge script [Thu, 10 Jan 2013 03:20:47 +0000 (03:20 +0000)]
Merged revisions 378889 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

........
  r378889 | rmudgett | 2013-01-09 20:40:50 -0600 (Wed, 09 Jan 2013) | 8 lines

  * Simplify native bridge code in ast_channel_bridge().

  * Fix an unbalanced manager_bridge_event(unlink) call if
  AST_SOFTHANGUP_UNBRIDGE is set in ast_channel_bridge().

  * Make ast_channel_bridge() use common cleanup code when leaving the
  bridge.
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378898 65c4cc65-6c06-0410-ace0-fbb531ad65f3

7 years ago* Simplify native bridge code in ast_channel_bridge().
Richard Mudgett [Thu, 10 Jan 2013 02:40:50 +0000 (02:40 +0000)]
* Simplify native bridge code in ast_channel_bridge().

* Fix an unbalanced manager_bridge_event(unlink) call if
AST_SOFTHANGUP_UNBRIDGE is set in ast_channel_bridge().

* Make ast_channel_bridge() use common cleanup code when leaving the
bridge.

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

7 years agoMerged revisions 378874 via svnmerge from
Automerge script [Thu, 10 Jan 2013 02:20:50 +0000 (02:20 +0000)]
Merged revisions 378874 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

........
  r378874 | rmudgett | 2013-01-09 19:43:27 -0600 (Wed, 09 Jan 2013) | 4 lines

  * Removed some noop code and restructured an else-if ladder in ast_generic_bridge().

  * Trivial changes in ast_channel_bridge().
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378883 65c4cc65-6c06-0410-ace0-fbb531ad65f3

7 years ago* Removed some noop code and restructured an else-if ladder in ast_generic_bridge().
Richard Mudgett [Thu, 10 Jan 2013 01:43:27 +0000 (01:43 +0000)]
* Removed some noop code and restructured an else-if ladder in ast_generic_bridge().

* Trivial changes in ast_channel_bridge().

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

7 years agoMerged revisions 378854,378858-378859 via svnmerge from
Automerge script [Thu, 10 Jan 2013 00:20:46 +0000 (00:20 +0000)]
Merged revisions 378854,378858-378859 via svnmerge from
file:///srv/subversion/repos/asterisk/trunk

........
  r378854 | rmudgett | 2013-01-09 17:22:00 -0600 (Wed, 09 Jan 2013) | 1 line

  Fix logger.c function definition.
........
  r378858 | rmudgett | 2013-01-09 17:23:41 -0600 (Wed, 09 Jan 2013) | 6 lines

  Trivial misc bridge code changes.

  * softmix_bridge_thread() was redundantly initializing an 8K buffer.

  * Promoted a debug message to a warning in multiplexed_add_or_remove().
........
  r378859 | rmudgett | 2013-01-09 17:51:45 -0600 (Wed, 09 Jan 2013) | 6 lines

  * Simple optimization of bridge_playfile().

  * Squeezed some redundancy out of update_bridge_vars().

  * Wrapped long line in __ast_change_name_nolink().
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/team/mmichelson/threadpool@378868 65c4cc65-6c06-0410-ace0-fbb531ad65f3

7 years ago* Simple optimization of bridge_playfile().
Richard Mudgett [Wed, 9 Jan 2013 23:51:45 +0000 (23:51 +0000)]
* Simple optimization of bridge_playfile().

* Squeezed some redundancy out of update_bridge_vars().

* Wrapped long line in __ast_change_name_nolink().

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

7 years agoTrivial misc bridge code changes.
Richard Mudgett [Wed, 9 Jan 2013 23:23:41 +0000 (23:23 +0000)]
Trivial misc bridge code changes.

* softmix_bridge_thread() was redundantly initializing an 8K buffer.

* Promoted a debug message to a warning in multiplexed_add_or_remove().

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