10 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 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

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.


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 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

Merged revisions 379020 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 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
  dtmf_on_hold.patch uploaded by Eelco Brolman (license #6442)

Merged revisions 378967 from

Merged revisions 378984 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 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
 * 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

Merged revisions 378933 from

Merged revisions 378934 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 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

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 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
 * 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.


(issue ASTERISK-20887)
(closes issue ASTERISK-20888)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 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

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoFix logger.c function definition.
Richard Mudgett [Wed, 9 Jan 2013 23:22:00 +0000 (23:22 +0000)]
Fix logger.c function definition.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoTrivial misc bridge code changes.
Richard Mudgett [Wed, 9 Jan 2013 22:56:08 +0000 (22:56 +0000)]
Trivial misc bridge code changes.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoTweaked __ast_test_suite_assert_notify() and __ast_test_suite_event_notify() to be...
Richard Mudgett [Wed, 9 Jan 2013 22:15:41 +0000 (22:15 +0000)]
Tweaked __ast_test_suite_assert_notify() and __ast_test_suite_event_notify() to be void functions.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years ago* Whitespace changes.
Richard Mudgett [Wed, 9 Jan 2013 21:14:39 +0000 (21:14 +0000)]
* Whitespace changes.

* Made ast_test_init() match its prototype.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years ago* Found some more places to use ast_channel_lock_both().
Richard Mudgett [Wed, 9 Jan 2013 20:56:23 +0000 (20:56 +0000)]
* Found some more places to use ast_channel_lock_both().

* Minor optimization in ast_rtp_instance_early_bridge().

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoFix end condition in ast_rtp_lookup_mime_multiple2.
David M. Lee [Wed, 9 Jan 2013 20:30:33 +0000 (20:30 +0000)]
Fix end condition in ast_rtp_lookup_mime_multiple2.

The erroneous end condition would never include the AST_RTP_CISCO_DTMF flag
in the debug output.

(closes issue ASTERISK-20772)
Reported by: Xavier Hienne

Merged revisions 378776 from

Merged revisions 378780 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoMove declaration of ast_regex_string_to_regex_pattern futher down strings.h.
David M. Lee [Wed, 9 Jan 2013 20:12:00 +0000 (20:12 +0000)]
Move declaration of ast_regex_string_to_regex_pattern futher down strings.h.

The prior location is before the declaration of struct ast_str, which causes
compiler warnings.

(closes issue ASTERISK-20852)
Reported by: Pavel Troller
strings.diff uploaded by Pavel Troller (license 6302)

Merged revisions 378747 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoReplace errant tabs with spaces in causes.h.
David M. Lee [Wed, 9 Jan 2013 19:38:53 +0000 (19:38 +0000)]
Replace errant tabs with spaces in causes.h.

(closes issue ASTERISK-20826)
Reported by: snuffy
notabs.dif uploaded by snuffy (license 5024)

Merged revisions 378733 from

Merged revisions 378734 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoapp_queue: Fix incorrect assertion.
Richard Mudgett [Wed, 9 Jan 2013 00:05:35 +0000 (00:05 +0000)]
app_queue: Fix incorrect assertion.

(issue ASTERISK-16115)

Merged revisions 378689 from

Merged revisions 378690 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoapp_queue: Fix multiple calls to a queue member that is in only one queue.
Richard Mudgett [Tue, 8 Jan 2013 23:44:26 +0000 (23:44 +0000)]
app_queue: Fix multiple calls to a queue member that is in only one queue.

When ringinuse=no queue members can receive more than one call if these
calls happen at nearly the same time.

* Fix so a queue member does not receive more than one call from a queue.

NOTE: This fix does not prevent multiple calls to a member if the member
is in more than one queue.

* Did some refactoring to eliminate some code redundancy.

(issue ASTERISK-16115)
Reported by: nik600
      jira_asterisk_16115_single_q_v1.8.patch (license #5621) patch uploaded by rmudgett

* Revert the -r341580 and -r341599 changes adding the queues.conf
check_state_unknown option as it was added in an attempt to fix this
problem.  The fix did not need to be optional.  The fix should not have
tried to explicitly set the device state.  Setting the device state by
something other than the device introduces a race condition.  I also could
not see how the change would be effective other than delaying the
app_queue code long enough for the device state to propagate to app_queue.

Merged revisions 378663 from

Merged revisions 378683 from

Merged revisions 378687 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoSkinny blob cleanup
Damien Wedhorn [Sun, 6 Jan 2013 21:37:59 +0000 (21:37 +0000)]
Skinny blob cleanup

Cleanup of red blobs in chan_skinny and possible other small formatting issues.


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoAdd group and namedgroup pickup to skinny
Damien Wedhorn [Sun, 6 Jan 2013 21:09:43 +0000 (21:09 +0000)]
Add group and namedgroup pickup to skinny

Above says it all. Code by snuff, cleaned up by me.


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoRewrite skinny dialing to remove threaded simpleswitch
Damien Wedhorn [Sun, 6 Jan 2013 20:45:12 +0000 (20:45 +0000)]
Rewrite skinny dialing to remove threaded simpleswitch

This rewrite changes skinny dialing from the threaded simpleswitch
to a scheduled timeout approach. There were some underlying issues
with the threaded simple switch with occasional corruption and
possible segfaults.


Merged revisions 378622 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agores_srtp: Prevent a crash from occurring due to srtp_create failures in srtp_create
Jonathan Rose [Fri, 4 Jan 2013 23:14:54 +0000 (23:14 +0000)]
res_srtp: Prevent a crash from occurring due to srtp_create failures in srtp_create

Under some circumstances, libsrtp's srtp_create function deallocates memory that
it wasn't initially responsible for allocating. Because we weren't initially
aware of this behavior, this memory was still used in spite of being unallocated
during the course of the srtp_unprotect function. A while back I made a patch
which would set this value to NULL, but that exposed a possible condition where
we would then try to check a member of the struct which would cause a segfault.
In order to address these problems, ast_srtp_unprotect will now set an error value
when it ends without a valid SRTP session which will result in the caller of
srtp_unprotect observing this error and hanging up the relevant channel instead of
trying to keep using the invalid session address.

(closes issue ASTERISK-20499)
Reported by: Tootai

Merged revisions 378591 from

Merged revisions 378592 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoFix pjproject compilation in certain circumstances
Kinsey Moore [Fri, 4 Jan 2013 22:19:16 +0000 (22:19 +0000)]
Fix pjproject compilation in certain circumstances

On a fresh checkout of Asterisk 11, running make before ./configure
could cause the pjproject subdirectory to get in an odd state that
would prevent compilation. This patch by Tilghman prevents that from

(closes issue ASTERISK-20681)
Reported by: Dinesh Ramjuttun
Tested by: danilo borges, Steve Lang
  20121208__ccar_solved.diff.txt uploaded by Tilghman Lesher (license 5003)

Merged revisions 378582 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoFix SIP Notify Messages To Have The Proper IP Address In The FROM Field
Michael L. Young [Fri, 4 Jan 2013 21:20:12 +0000 (21:20 +0000)]
Fix SIP Notify Messages To Have The Proper IP Address In The FROM Field

On a multihomed server when sending a NOTIFY message, we were not figuring out
which network should be used to contact the peer.

This patch fixes the problem by calling ast_sip_ouraddrfor() and then
build_via() so that our NOTIFY message contains the correct IP address.

Also, a debug message is being added to help follow the call-id changes that
occur.  This was helpful for confirming that the IP address was set properly
since the call-id contains the IP address.  It also will be helpful for
troubleshooting purposes when following a call in the debug logs.

(closes issue ASTERISK-20805)
Reported by: Bryan Hunt
Tested by: Bryan Hunt, Michael L. Young
    asterisk-20805-notify-ip-v2.diff uploaded by Michael L. Young (license 5026)


Merged revisions 378554 from

Merged revisions 378559 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoDon't pass STUN packets through the SRTP unprotect function.
Joshua Colp [Fri, 4 Jan 2013 21:18:07 +0000 (21:18 +0000)]
Don't pass STUN packets through the SRTP unprotect function.

(closes issue AST-1036)
Reported by: jbigelow

Merged revisions 378553 from

Merged revisions 378555 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoDoxygen Cleanups
Andrew Latham [Fri, 4 Jan 2013 16:44:33 +0000 (16:44 +0000)]
Doxygen Cleanups

Baseline clean up of formating to make room for extended documentation

(issue ASTERISK-20259)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoFix Queue Log Reporting Every Call COMPLETECALLER With "h" Extension Present
Michael L. Young [Thu, 3 Jan 2013 22:14:20 +0000 (22:14 +0000)]
Fix Queue Log Reporting Every Call COMPLETECALLER With "h" Extension Present

When the "h" extension is present within the context of the queue, all calls
are being reported COMPLETECALLER even when the agent is hanging up the call.

This patch checks to see if the agent hung-up or not instead of only relying on
checking if the queue (caller) channel hung-up or not.  It would appear that
having the h extension in the mix, the pbx goes to the h extension,
"hanging-up" the queue channel and triggering the reporting of COMPLETECALLER.

(closes issue ASTERISK-20743)
Reported by: call
Tested by: call, Michael L. Young
                                     uploaded by Michael L. Young (license 5026)


Merged revisions 378514 from

Merged revisions 378515 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agochan_agent: Fix wrapup time wait response.
Richard Mudgett [Thu, 3 Jan 2013 19:42:54 +0000 (19:42 +0000)]
chan_agent: Fix wrapup time wait response.

* Made agent_cont_sleep() and agent_ack_sleep() stop waiting if the wrapup
time expires.  agent_cont_sleep() had tried but returned the wrong value
to stop waiting.

* Made agent_ack_sleep() take a struct agent_pvt pointer instead of a void
pointer for better type safety.

Merged revisions 378486 from

Merged revisions 378487 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoAdd missing test event
Kinsey Moore [Thu, 3 Jan 2013 18:51:43 +0000 (18:51 +0000)]
Add missing test event

This test event was missing from channel.c causing the dial_LS_options
test to fail intermittently because of a race condition where most code
paths emitted the test event but this one did not. The dial_LS_options
test should stop bouncing now.

Merged revisions 378455 from

Merged revisions 378459 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agochan_agent: Misc code cleanup.
Richard Mudgett [Thu, 3 Jan 2013 18:47:29 +0000 (18:47 +0000)]
chan_agent: Misc code cleanup.

* Fix off-nominal path resource cleanup in agent_request().

* Create agent_pvt_destroy() to eliminate inlined versions in many places.

* Pull invariant code out of loop in add_agent().

* Remove redundant module user references in login_exec().

* Remove unused struct agent_pvt logincallerid[] member.

Merged revisions 378456 from

Merged revisions 378457 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agochan_agent: Fix agent_indicate() locking.
Richard Mudgett [Thu, 3 Jan 2013 17:48:14 +0000 (17:48 +0000)]
chan_agent: Fix agent_indicate() locking.

Avoid deadlock potential with local channels and simplify the locking.

Merged revisions 378427 from

Merged revisions 378428 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoAdd aliases to the Directory.
Tilghman Lesher [Thu, 3 Jan 2013 16:04:11 +0000 (16:04 +0000)]
Add aliases to the Directory.

This is an interesting feature that allows additional strings to be used to
search the Directory, primarily intended to be used with nicknames, but could
be used with affiliations and the like.  Because the name field is used in
more than one place (such as email notifications), it is important that these
additional strings not be placed in the name field, but be specified


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoPrevent exhaustion of system resources through exploitation of event cache
Joshua Colp [Thu, 3 Jan 2013 15:40:21 +0000 (15:40 +0000)]
Prevent exhaustion of system resources through exploitation of event cache

This patch changes res_xmpp to no longer cache events under certain circumstances.

(issue ASTERISK-20175)
Reported by: Russell Bryant, Leif Madsen, Joshua Colp
Tested by: kmoore

Merged revisions 378411 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoPrevent crashes in res_xmpp when receiving large messages
Matthew Jordan [Thu, 3 Jan 2013 15:37:31 +0000 (15:37 +0000)]
Prevent crashes in res_xmpp when receiving large messages

Similar to r378287, res_xmpp was marshaling data read from an external source
onto the stack. For a sufficiently large message, this could cause a stack
overflow. This patch modifies res_xmpp in a similar fashion to res_jabber by
removing the stack allocation, as it was unnecessary.

(issue ASTERISK-20658)
Reported by: wdoekes

Merged revisions 378409 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoClean up app_mysql's application entry points to properly parse arguments
Matthew Jordan [Wed, 2 Jan 2013 22:19:32 +0000 (22:19 +0000)]
Clean up app_mysql's application entry points to properly parse arguments

When parsing arguments, application entry points should not attempt to
directly modify the parameters to the function. This patch properly duplicates
the passed in parameters before attempting to parse them.

(issue ASTERISK-20658)
Reported by: wdoekes
  issueA20658_sanitize_app_mysql.patch uploaded by wdoekes (license 5674)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoPrevent crashes from occurring when reading from data sources with large values
Matthew Jordan [Wed, 2 Jan 2013 22:10:32 +0000 (22:10 +0000)]
Prevent crashes from occurring when reading from data sources with large values

When reading configuration data from an Asterisk .conf file or when pulling
data from an Asterisk RealTime backend, Asterisk was copying the data on the
stack for manipulation. Unfortunately, it is possible to read configuration
data or realtime data from some data source that provides a large blob of
characters. This could potentially cause a crash via a stack overflow.

This patch prevents large sets of data from being read from an ARA backend or
from an Asterisk conf file.

(issue ASTERISK-20658)
Reported by: wdoekes
Tested by: wdoekes, mmichelson
 * issueA20658_dont_process_overlong_config_lines.patch uploaded by wdoekes (license 5674)
 * issueA20658_func_realtime_limit.patch uploaded by wdoekes (license 5674)

Merged revisions 378375 from

Merged revisions 378376 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoFix AMI redirect action with two channels failing to redirect both channels.
Richard Mudgett [Wed, 2 Jan 2013 21:23:16 +0000 (21:23 +0000)]
Fix AMI redirect action with two channels failing to redirect both channels.

The AMI redirect action can fail to redirect two channels that are bridged
together.  There is a race between the AMI thread redirecting the two
channels and the bridge thread noticing that a channel is hungup from the

* Made the bridge wait for both channels to be redirected before exiting.

* Made the AMI redirect check that all required headers are present before
proceeding with the redirection.

* Made the AMI redirect require that any supplied ExtraChannel exist
before proceeding.  Previously the code fell back to a single channel
redirect operation.

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

(closes issue ASTERISK-19948)
Reported by: Brent Dalgleish
      jira_asterisk_19948_v11.patch (license #5621) patch uploaded by rmudgett
Tested by: rmudgett, Thomas Sevestre, Deepak Lohani, Kayode


Merged revisions 378356 from

Merged revisions 378358 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoPrevent exhaustion of system resources through exploitation of event cache
Matthew Jordan [Wed, 2 Jan 2013 18:11:59 +0000 (18:11 +0000)]
Prevent exhaustion of system resources through exploitation of event cache

Asterisk maintains an internal cache for devices in the event subsystem. The
device state cache holds the state of each device known to Asterisk, such that
consumers of device state information can query for the last known state for
a particular device, even if it is not part of an active call. The concept of
a device in Asterisk can include entities that do not have a physical
representation. One way that this occurred was when anonymous calls are allowed
in Asterisk. A device was automatically created and stored in the cache for
each anonymous call that occurred; this was possible in the SIP and IAX2
channel drivers and through channel drivers that utilized the
res_jabber/res_xmpp resource modules (Gtalk, Jingle, and Motif). These devices
are never removed from the system, allowing anonymous calls to potentially
exhaust a system's resources.

This patch changes the event cache subsystem and device state management to
no longer cache devices that are not associated with a physical entity.

(issue ASTERISK-20175)
Reported by: Russell Bryant, Leif Madsen, Joshua Colp
Tested by: kmoore
  event-cachability-3.diff uploaded by jcolp (license 5000)

Merged revisions 378303 from

Merged revisions 378320 from

Merged revisions 378321 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoResolve crashes due to large stack allocations when using TCP
Matthew Jordan [Wed, 2 Jan 2013 15:39:42 +0000 (15:39 +0000)]
Resolve crashes due to large stack allocations when using TCP

Asterisk had several places where messages received over various network
transports may be copied in a single stack allocation. In the case of TCP,
since multiple packets in a stream may be concatenated together, this can
lead to large allocations that overflow the stack.

This patch modifies those portions of Asterisk using TCP to either
favor heap allocations or use an upper bound to ensure that the stack will not
 * For SIP, the allocation now has an upper limit
 * For HTTP, the allocation is now a heap allocation instead of a stack
 * For XMPP (in res_jabber), the allocation has been eliminated since it was

Note that the HTTP portion of this issue was independently found by Brandon
Edwards of Exodus Intelligence.

(issue ASTERISK-20658)
Reported by: wdoekes, Brandon Edwards
Tested by: mmichelson, wdoekes
  ASTERISK-20658_res_jabber.c.patch uploaded by mmichelson (license 5049)
  issueA20658_http_postvars_use_malloc2.patch uploaded by wdoekes (license 5674)
  issueA20658_limit_sip_packet_size3.patch uploaded by wdoekes (license 5674)

Merged revisions 378269 from

Merged revisions 378286 from

Merged revisions 378287 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoAdd UUID packages now required to configure
Andrew Latham [Tue, 1 Jan 2013 19:02:52 +0000 (19:02 +0000)]
Add UUID packages now required to configure

In ASTERISK-20726 UUID was added to Asterisk.  This commit is to add the dependancies to the install script

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoRevert 378248. I changed the logic of this function unitentionally, pointed out...
Sean Bright [Tue, 1 Jan 2013 17:10:42 +0000 (17:10 +0000)]
Revert 378248.  I changed the logic of this function unitentionally, pointed out by file.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoBail out early when building an ast_trans_pvt and the translator doesn't supply a...
Sean Bright [Tue, 1 Jan 2013 17:03:59 +0000 (17:03 +0000)]
Bail out early when building an ast_trans_pvt and the translator doesn't supply a 'newpvt'

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoEnsure chan_sip rejects encrypted streams without crypto info
Kinsey Moore [Mon, 31 Dec 2012 14:46:06 +0000 (14:46 +0000)]
Ensure chan_sip rejects encrypted streams without crypto info

This ensures that Asterisk rejects encrypted media streams (RTP/SAVP
audio and video) that are missing cryptographic keys and ensures that
the incoming SDP is consistent with RFC4568 as far as having a crypto
attribute present for any SAVP streams.


Merged revisions 378217 from

Merged revisions 378218 from

Merged revisions 378219 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoGive the causes[] a struct name.
Richard Mudgett [Thu, 20 Dec 2012 21:51:03 +0000 (21:51 +0000)]
Give the causes[] a struct name.

Merged revisions 378164 from

Merged revisions 378165 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoAdd test events for time limit-related hangups
Kinsey Moore [Tue, 18 Dec 2012 17:48:36 +0000 (17:48 +0000)]
Add test events for time limit-related hangups

This patch adds hangup-related test events in order to support testing
of time-limited bridges. This aids in testing the S() and L() bridge

(issue SWP-4713)

Merged revisions 378119 from

Merged revisions 378120 from

Merged revisions 378121 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoFix potential double free when unloading a module.
Richard Mudgett [Mon, 17 Dec 2012 23:10:42 +0000 (23:10 +0000)]
Fix potential double free when unloading a module.

Merged revisions 378092 from

Merged revisions 378093 from

Merged revisions 378094 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoMake chan_local module references tied to local_pvt lifetime.
Richard Mudgett [Mon, 17 Dec 2012 23:02:54 +0000 (23:02 +0000)]
Make chan_local module references tied to local_pvt lifetime.

The chan_local module references were manually tied to the existence of
the ;1 and ;2 channel links.

* Made chan_local module references tied to the existence of the local_pvt
structure as well as automatically take care of the module references.

* Tweaked the wording of the local_fixup() failure warning message to make


Merged revisions 378088 from

Merged revisions 378089 from

Merged revisions 378090 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agochan_local: Parse dial string consistently.
Richard Mudgett [Mon, 17 Dec 2012 21:22:21 +0000 (21:22 +0000)]
chan_local: Parse dial string consistently.

* Fix local_alloc() unexpected limitation of exten and context length from
a combined length of 80 characters to a normal 80 characters each.

* Made local_alloc() and local_devicestate() parse the same way.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoMake symlink use a relative path.
Jason Parker [Mon, 17 Dec 2012 20:59:51 +0000 (20:59 +0000)]
Make symlink use a relative path.

This was causing issues when using DESTDIR, since the path to which the link
pointed is not likely to exist (and not useful to exist) on the target system.

(issue ASTNOW-284)

Merged revisions 378073 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agochan_local: Misc lock and ref tweaks.
Richard Mudgett [Mon, 17 Dec 2012 20:34:25 +0000 (20:34 +0000)]
chan_local: Misc lock and ref tweaks.

* awesome_locking() does not need to thrash the pvt lock as much.

* local_setoption() does not need to check for NULL pvt on cleanup since
it will never be NULL.

* Made ref the pvt before locking for consistency.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agochan_agent: Remove some duplicated code.
Richard Mudgett [Fri, 14 Dec 2012 22:45:03 +0000 (22:45 +0000)]
chan_agent: Remove some duplicated code.

No need to check for an agent twice.  Santa does that.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoFeatures: BRIDGE_FEATURES variable automixmonitor support and use proper party
Jonathan Rose [Fri, 14 Dec 2012 22:34:18 +0000 (22:34 +0000)]
Features: BRIDGE_FEATURES variable automixmonitor support and use proper party

BRIDGE_FEATURES did not previously support the automixmonitor feature. Now it
does. In addition, the BRIDGE_FEATURES variable would not apply features to
the proper party based on whether the feature option letter was in caps or
in lowercase (both ways would apply it to the caller). Now uppercase applies
to the caller while lowercase applies to the callee (like with the dial option)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoapp_queue: Revert bad ringinuse=no patch.
Richard Mudgett [Fri, 14 Dec 2012 21:35:44 +0000 (21:35 +0000)]
app_queue: Revert bad ringinuse=no patch.

With the option ringinuse=no set, the patch committed for ASTERISK-16115
causes non-SIP queue members to never be called because the device state
is checked after a channel is created to determine if the member is busy.
These queue members always get the "Member %s is busy, cannot dial"

Most channel drivers other than chan_sip use the default device state
handling.  The default device-state state is considered in use or unknown
if the channel exists or not respectively.

(closes issue ASTERISK-20801)
Reported by: rmudgett
      jira_asterisk_16115_revert_r370418_v1.8.patch (license #5621) patch uploaded by rmudgett

Merged revisions 378036 from

Merged revisions 378037 from

Merged revisions 378038 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoapp_queue: Make update_status() not return anything.
Richard Mudgett [Fri, 14 Dec 2012 20:22:36 +0000 (20:22 +0000)]
app_queue: Make update_status() not return anything.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoFix skinny to recognise vmexten in general section of conf
Damien Wedhorn [Fri, 14 Dec 2012 01:55:43 +0000 (01:55 +0000)]
Fix skinny to recognise vmexten in general section of conf

Fixup the vmexten so if globally set in general section will be honored by
chan_skinny. Also get rid of the 'global_' part of variable name to match

(closes issue ASTERISK-20790)
Reported by: snuffy
Tested by: snuffy, myself
    skinny-vm.diff uploaded by snuffy (license 5024)

Merged revisions 378010 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoAdd g722 codec support to skinny
Damien Wedhorn [Fri, 14 Dec 2012 01:02:15 +0000 (01:02 +0000)]
Add g722 codec support to skinny

(closes issue ASTERISK-20788)
Reported by: snuffy
Tested by: snuffy, myself
    skinny-g722.diff uploaded by snuffy (license 5024)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoconfbridge: Fix MOH on simultaneous user entry to a new conference.
Richard Mudgett [Thu, 13 Dec 2012 21:28:15 +0000 (21:28 +0000)]
confbridge: Fix MOH on simultaneous user entry to a new conference.

When two users entered a new conference simultaneously, one of the callers
hears MOH.  This happened if two unmarked users entered simultaneously and
also if a waitmarked and a marked user entered simultaneously.

* Created a confbridge internal MOH API to eliminate the inlined MOH
handling code.  Note that the conference mixing bridge needs to be locked
when actually starting/stopping MOH because there is a small window
between the conference join unsuspend MOH and actually joining the mixing

* Created the concept of suspended MOH so it can be interrupted while
conference join announcements to the user and DTMF features can operate.

* Suspend any MOH until the user is about to actually join the mixing
bridge of the conference.  This way any pre-join file playback does not
need to worry about MOH.

* Made post-join actions only play deferred entry announcement files.
Changing the user/conference state during that time is not protected or
controlled by the state machine.

(closes issue ASTERISK-20606)
Reported by: Eugenia Belova
Tested by: rmudgett


Merged revisions 377992 from

Merged revisions 377993 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoMinor fixes for chan_skinny
Damien Wedhorn [Thu, 13 Dec 2012 21:25:31 +0000 (21:25 +0000)]
Minor fixes for chan_skinny

Whitespace, change SUBSTATE_ONHOOK to correct SKINNY_ONHOOK and
correct len of 2 strcmp in skinny_setdebug(). (see opticron's review

Merged revisions 377991 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoMake generate_exchange_uuid() always return the passed ast_str pointer.
Sean Bright [Thu, 13 Dec 2012 21:20:32 +0000 (21:20 +0000)]
Make generate_exchange_uuid() always return the passed ast_str pointer.

I changed this code earlier to return NULL if it wasn't able to generate a UUID,
whereas the earlier code would always return the ast_str that was passed in.
Switch back to returning the ast_str, only set it to the empty string instead if
UUID generation fails.  We still do a validity check later which will catch this
and blow up if necessary.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoFixed svn merge property breakage from r377986
David M. Lee [Thu, 13 Dec 2012 21:15:44 +0000 (21:15 +0000)]
Fixed svn merge property breakage from r377986

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoFix skinny debug tab completion
Damien Wedhorn [Thu, 13 Dec 2012 18:28:41 +0000 (18:28 +0000)]
Fix skinny debug tab completion

Review the syntax of the 'skinny debug' command to show more than
just 'show' for options to 'skinny debug' command.

(closes issue ASTERISK-20789)
Reported by: snuffy
Tested by: snuffy, myself
    skinny-debug.diff uploaded by snuffy (license 5024)

Merged revisions 377985 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoBail configure if it can't find libuuid.
David M. Lee [Thu, 13 Dec 2012 16:43:40 +0000 (16:43 +0000)]
Bail configure if it can't find libuuid.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoRemove compile time check HAVE_DEV_URANDOM.
Russell Bryant [Thu, 13 Dec 2012 16:18:52 +0000 (16:18 +0000)]
Remove compile time check HAVE_DEV_URANDOM.

The code was doing a runtime check, anyway.  The compile time check isn't
always valid (cross-compiling, packages).


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoRe-add taskprocessor cleanup code that was removed by the UUID merge.
Mark Michelson [Thu, 13 Dec 2012 15:40:03 +0000 (15:40 +0000)]
Re-add taskprocessor cleanup code that was removed by the UUID merge.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoUse the UUID API to generate and validate UUIDs for res_calendar_exchange.
Sean Bright [Thu, 13 Dec 2012 15:37:55 +0000 (15:37 +0000)]
Use the UUID API to generate and validate UUIDs for res_calendar_exchange.

Currently the res_calendar_exchange module uses its own method of generating
UUIDs using ast_random().  Now that we have a UUID API we should use that

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoThe UUID commit removed changes made in res_clialiases.c
Mark Michelson [Thu, 13 Dec 2012 15:37:45 +0000 (15:37 +0000)]
The UUID commit removed changes made in res_clialiases.c

This puts back in the changes that are designed to work
around a memory leak fix in the CLI code.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoFixed to look for proper uuid.h file
David M. Lee [Thu, 13 Dec 2012 15:24:22 +0000 (15:24 +0000)]
Fixed to look for proper uuid.h file

Introduced in r377846, the configure script was looking for uuid.h instead
of uuid/uuid.h.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoThis change adds a SIP peer configuration feature to allow the peer's
Brent Eagles [Thu, 13 Dec 2012 15:22:27 +0000 (15:22 +0000)]
This change adds a SIP peer configuration feature to allow the peer's
configured codecs to take precedence on an outgoing call.

This change introduces a new peer configuration property named
'ignore_requested_pref' that causes the requested codec to be ignored when
determining the preferred codec for an outgoing call leg. The consequence is
that Asterisk's usual efforts to prefer avoiding transcoding can be overridden
on a peer-by-peer basis where appropriate.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoEnsure Min-SE is included in outbound INVITEs
Kinsey Moore [Thu, 13 Dec 2012 14:28:57 +0000 (14:28 +0000)]
Ensure Min-SE is included in outbound INVITEs

Asterisk now includes Min-SE in outbound INVITEs when the value is not
90 (the default) and session timers are not disabled. This has the
effect of Asterisk following RFC4028 more closely with regard to 422
responses and preventing situations in which Asterisk would be forced
to temporarily accept a call to tear it down based on a Session-Expires
below the locally configured Min-SE.

(issue SWP-5051)
Reported-by: Kinsey Moore
Patch-by: Kinsey Moore

Merged revisions 377946 from

Merged revisions 377947 from

Merged revisions 377948 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoIncremented EXTRA_SOUNDS_VERSION in sounds/Makefile to 1.4.12 for new Extra Sounds...
Rusty Newton [Wed, 12 Dec 2012 22:43:40 +0000 (22:43 +0000)]
Incremented EXTRA_SOUNDS_VERSION in sounds/Makefile to 1.4.12 for new Extra Sounds releases

See CHANGES-* files in English extra 1.4.12 tarballs for new sound prompts added.

(closes ASTERISK-20328)
Reported by: Matt Jordan
(closes AST-755)
Reported by: John Bigelow

Merged revisions 377922 from

Merged revisions 377923 from

Merged revisions 377924 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoConvert Dynamic Features Buffer To Use ast_str
Michael L. Young [Wed, 12 Dec 2012 04:43:18 +0000 (04:43 +0000)]
Convert Dynamic Features Buffer To Use ast_str

Currently, the buffer for the dynamic features list is set to a fixed size of
128.  If the list is bigger than that, it results in the dynamic feature(s) not
being recognized.

This patch changes the buffer from a fixed size to a dynamic one.

(closes issue ASTERISK-20680)
Reported by: Clod Patry
Tested by: Michael L. Young
                                     uploaded by Michael L. Young (license 5026)


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoFix a potential deadlock in chan_sip during transfers.
Mark Michelson [Wed, 12 Dec 2012 00:02:31 +0000 (00:02 +0000)]
Fix a potential deadlock in chan_sip during transfers.

The issue comes from the fact that transfers may perform
a redirecting update on a channel. The issue is that lock
inversion between the channel and its tech_pvt occurs since
the channel lock is released during the transfer process.

The fix is to move when the redirecting update occurs to a
place where neither the tech_pvt or the channel is locked so
that the two can be locked in the proper order.

(closes issue ASTERISK-20708)
reported by Mark Michelson
ASTERISK-20708-3.patch uploaded by Mark Michelson (License #5049)

Tested by:
Tim Ringenbach at Asteria Solutions Group

Merged revisions 377910 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoAdd test events necessary for bridging tests to be able to properly run.
Mark Michelson [Tue, 11 Dec 2012 22:42:11 +0000 (22:42 +0000)]
Add test events necessary for bridging tests to be able to properly run.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoCleanup CLI commands on exit for several files.
Richard Mudgett [Tue, 11 Dec 2012 22:03:23 +0000 (22:03 +0000)]
Cleanup CLI commands on exit for several files.

(issue ASTERISK-20649)
Reported by: Corey Farrell
      unregister-cli-multiple-all.patch (license #5909) patch uploaded by Corey Farrell

Merged revisions 377881 from

Merged revisions 377882 from

Merged revisions 377883 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoAnd remove svnmerge-integrated property.
Mark Michelson [Tue, 11 Dec 2012 21:53:06 +0000 (21:53 +0000)]
And remove svnmerge-integrated property.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoRemove automerge properties.
Mark Michelson [Tue, 11 Dec 2012 21:47:53 +0000 (21:47 +0000)]
Remove automerge properties.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoCleanup udptl on exit.
Richard Mudgett [Tue, 11 Dec 2012 21:22:45 +0000 (21:22 +0000)]
Cleanup udptl on exit.

* Cleanup CLI commands on exit.

(issue ASTERISK-20649)
Reported by: Corey Farrell
      udptl-shutdown-1_8-10.patch (license #5909) patch uploaded by Corey Farrell
      udptl-shutdown-11-trunk.patch (license #5909) patch uploaded by Corey Farrell

Merged revisions 377847 from

Merged revisions 377848 from

Merged revisions 377849 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoAdd UUID support to Asterisk.
Mark Michelson [Tue, 11 Dec 2012 21:04:45 +0000 (21:04 +0000)]
Add UUID support to Asterisk.

This provides a common API for dealing with unique identifiers.
The API provides methods to create, parse, copy, and stringify UUIDs.

An accompanying unit test is provided that tests all operations.

(closes issue ASTERISK-20726)
reported by Matt Jordan


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoFix crash that can occur if CLI registration fails for an aliased command.
Mark Michelson [Tue, 11 Dec 2012 20:53:34 +0000 (20:53 +0000)]
Fix crash that can occur if CLI registration fails for an aliased command.

A recent memory leak fix in main/cli.c causes an ast_cli_entry's command
field to be freed and NULLed if ast_cli_register() fails. res_clialiases
was ignoring the return value of ast_cli_register() and was then passing
the NULL command off to a a hash function. This resulted in a crash.

The fix is not to ignore the erroneous return value. If ast_cli_register()
fails, then we do not continue trying to process the current alias.

Merged revisions 377840 from

Merged revisions 377842 from

Merged revisions 377843 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoCleanup taskprocessor on exit.
Richard Mudgett [Tue, 11 Dec 2012 20:46:23 +0000 (20:46 +0000)]
Cleanup taskprocessor on exit.

* Cleanup CLI commands on exit.

(issue ASTERISK-20649)
Reported by: Corey Farrell
      taskprocessor-cleanup-1_8-11-trunk.patch (license #5909) patch uploaded by Corey Farrell
      taskprocessor-cleanup-10-only.patch (license #5909) patch uploaded by Corey Farrell

Merged revisions 377837 from

Merged revisions 377838 from

Merged revisions 377839 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoCleanup pbx on exit.
Richard Mudgett [Tue, 11 Dec 2012 20:05:32 +0000 (20:05 +0000)]
Cleanup pbx on exit.

* Cleanup CLI commands on exit.

* Unreference hints and statecbs containers on exit.

(issue ASTERISK-20649)
Reported by: Corey Farrell
      pbx-cleanup-1_8.patch (license #5909) patch uploaded by Corey Farrell
      pbx-cleanup-10.patch (license #5909) patch uploaded by Corey Farrell
      pbx-cleanup-11-trunk.patch (license #5909) patch uploaded by Corey Farrell

Merged revisions 377806 from

Merged revisions 377807 from

Merged revisions 377808 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoCleanup logger on exit.
Richard Mudgett [Tue, 11 Dec 2012 02:44:53 +0000 (02:44 +0000)]
Cleanup logger on exit.

* Cleanup CLI commands, destroy verbosers and logchannels lists on exit.

(issue ASTERISK-20649)
Reported by: Corey Farrell
      logger-cleanup-all.patch (license #5909) patch uploaded by Corey Farrell

Merged revisions 377771 from

Merged revisions 377772 from

Merged revisions 377773 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoCleanup indications on exit.
Richard Mudgett [Tue, 11 Dec 2012 02:13:37 +0000 (02:13 +0000)]
Cleanup indications on exit.

* Made ast_unregister_indication_country() unlink the found tone zone
before selecting a new default_tone_zone to make it impossible to select
the tone zone being unregistered again.

* Ringcadence is no longer parsed twice in store_config_tone_zone().

* Cleanup CLI commands and destroy default_tone_zone on exit.

(issue ASTERISK-20649)
Reported by: Corey Farrell
      indications-cleanup-all.patch (license #5909) patch uploaded by Corey Farrell

Merged revisions 377740 from

Merged revisions 377741 from

Merged revisions 377742 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoCleanup event on exit.
Richard Mudgett [Tue, 11 Dec 2012 01:04:50 +0000 (01:04 +0000)]
Cleanup event on exit.

* Cleanup CLI commands on exit.

(issue ASTERISK-20649)
Reported by: Corey Farrell
      event_shutdown-10-only.patch (license #5909) patch uploaded by Corey Farrell
      event_shutdown-1_8-11-trunk.patch (license #5909) patch uploaded by Corey Farrell

Merged revisions 377708 from

Merged revisions 377709 from

Merged revisions 377710 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoCleanup dnsmgr on exit.
Richard Mudgett [Tue, 11 Dec 2012 00:37:01 +0000 (00:37 +0000)]
Cleanup dnsmgr on exit.

* Cleanup dnsmgr thread and CLI commands on exit.

(issue ASTERISK-20649)
Reported by: Corey Farrell
      dnsmgr-cleanup-1_8.patch (license #5909) patch uploaded by Corey Farrell
      dnsmgr-cleanup-10-11-trunk.patch (license #5909) patch uploaded by Corey Farrell

Merged revisions 377704 from

Merged revisions 377705 from

Merged revisions 377706 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoEnsure ReceiveFax provides a CED tone via T.38
Kinsey Moore [Mon, 10 Dec 2012 16:56:37 +0000 (16:56 +0000)]
Ensure ReceiveFax provides a CED tone via T.38

When using res_fax_digium, the T.38 CED tone was not being provided
properly which would cause some incoming faxes to fail. This was not an
issue with res_fax_spandsp since it does not strictly honor the
send_ced flag and sends the CED tone whenever receiving a T.38 fax.

(closes issue FAX-343)
Reported-by: Benjamin Tietz
Patch-by: Kinsey Moore

Merged revisions 377655 from

Merged revisions 377656 from

Merged revisions 377657 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoHandle Session-Expires less than local Min-SE in 200 OK
Kinsey Moore [Mon, 10 Dec 2012 14:45:52 +0000 (14:45 +0000)]
Handle Session-Expires less than local Min-SE in 200 OK

Ensure that a call is immediately torn down if a Session-Expires value
received in a 200 OK is less than the local Min-SE. This also prevents
Asterisk from allowing calls with Session-Expires below the
RFC4028-mandated minimum (90s).

(closes issue ASTERISK-20653)
Patch-by: Kinsey Moore

Merged revisions 377623 from

Merged revisions 377624 from

Merged revisions 377625 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoAdd firmware information to CLI devices listing
Igor Goncharovskiy [Mon, 10 Dec 2012 07:03:48 +0000 (07:03 +0000)]
Add firmware information to CLI devices listing

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoFix codec mismatch
Igor Goncharovskiy [Mon, 10 Dec 2012 06:56:04 +0000 (06:56 +0000)]
Fix codec mismatch

Fix code to send in both rx and tx open stream messages correct codecs. Found that on phase 0/1 phones wrong codecs cause to no audio in some situations.

(issue ASTERISK-20183)

Merged revisions 377591 from

Merged revisions 377592 from

Merged revisions 377593 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoRemove trailing whitespaces in number from incoming redial list.
Igor Goncharovskiy [Mon, 10 Dec 2012 05:29:04 +0000 (05:29 +0000)]
Remove trailing whitespaces in number from incoming redial list.

Reported by: Igor Olhovskiy

Merged revisions 377577 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoImprove documentation by making all of the colors used readable,
Tilghman Lesher [Mon, 10 Dec 2012 01:41:50 +0000 (01:41 +0000)]
Improve documentation by making all of the colors used readable,
no matter what the background color is.

Dark blue on a black background is unreadable, as is yellow on a
light background.  This patch turns on the bright attribute for
colors when on a dark background and turns *off* the bright
attribute when the -W command line option is used (indicating a
_light_ background).  This ensures that text is readable in both

Patch by: tilghman

Merged revisions 377509 from

Merged revisions 377510 from

Merged revisions 377511 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoRemove some dead code and additionally handle a case that wasn't handled.
Tilghman Lesher [Mon, 10 Dec 2012 01:29:32 +0000 (01:29 +0000)]
Remove some dead code and additionally handle a case that wasn't handled.

Merged revisions 377487 from

Merged revisions 377504 from

Merged revisions 377505 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoAdd missing support for "who hung up" to chan_motif.
Joshua Colp [Sun, 9 Dec 2012 01:23:44 +0000 (01:23 +0000)]
Add missing support for "who hung up" to chan_motif.

(closes issue ASTERISK-20671)
Reported by: Matt Jordan

Merged revisions 377462 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoFix order of SIP allow/disallow in MySQL contrib script.
Richard Mudgett [Sat, 8 Dec 2012 00:30:40 +0000 (00:30 +0000)]
Fix order of SIP allow/disallow in MySQL contrib script.

Using the contrib sippeers.sql script to create the sippeers MySQL table
would result in being unable to place calls if you set the disallow value
to all.

(closes issue ASTERISK-20756)
Reported by: Andre Luis
      sippeers.patch patch uploaded by Andre Luis

Merged revisions 377431 from

Merged revisions 377432 from

Merged revisions 377433 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoMALLOC_DEBUG: Only wait if we want atexit allocation dumps.
Richard Mudgett [Fri, 7 Dec 2012 23:45:15 +0000 (23:45 +0000)]
MALLOC_DEBUG: Only wait if we want atexit allocation dumps.

Merged revisions 377398 from

Merged revisions 377399 from

Merged revisions 377401 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agocodec_dahdi: Fix output of "transcoder show" CLI command.
Kinsey Moore [Fri, 7 Dec 2012 22:08:48 +0000 (22:08 +0000)]
codec_dahdi: Fix output of "transcoder show" CLI command.

In r306010 "Asterisk media architecture conversion - no more format
bitfields", the logic for incrementing encoders and decoders when
opening transcoder channels was changed without making the corresponding
change when decrementing encoder / decoder channels.  The result being
that when a channel was destroyed, codec_dahdi couldn't properly tell if
it was an encoder or decoder, and the default case is to assume it was a

This could result in negative numbers for decoders in use like in:
  VOIP6*CLI> transcoder show
  2/-2 encoders/decoders of 92 channels are in use.

(closes issue ASTERISK-19921)
Patch-by: Shaun Ruffell

Merged revisions 377382 from

Merged revisions 377383 from

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3