Matthew Jordan [Sat, 30 Mar 2013 05:06:54 +0000 (05:06 +0000)]
Convert TestEvent AMI events over to Stasis Core
This patch migrates the TestEvent AMI events to first be dispatched over the
Stasis-Core message bus. This helps to preserve the ordering of the events
with other events in the AMI system, such as the various channel related
events.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@384389
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jonathan Rose [Fri, 29 Mar 2013 16:37:23 +0000 (16:37 +0000)]
app_voicemail: Add blank argument to externnotify if no context argument
At least one call to run_externnotify provides a NULL context parameter and
because the snprintf statement doesn't account for a NULL context parameter,
it simply writes '(null)' to the arguments string instead. This patch makes
it write two quotes back to back for that argument instead in the event of
a NULL context.
(closes issue ASTERISK-18207)
Reported by: Barry L. Kline
Patches:
modified from patch-
20130306 uploaded by Karsten Wemheuer (License 5930)
........
Merged revisions 384325 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 384326 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@384327
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Thu, 28 Mar 2013 23:59:20 +0000 (23:59 +0000)]
Add uuid wrapper API call ast_uuid_generate_str().
* Updated test_uuid.c to test the new API call.
* Made system use the new API call to eliminate "10's of lines" where
used.
* Fixed untested ast_strdup() return in stasis_subscribe() by eliminating
the need for it. struct stasis_subscription now contains the uniqueid[]
string.
* Fixed some issues in exchangecal_write_event():
Create uid with enough space for a UUID string to avoid a realloc.
Fix off by one error if the calendar event provided a UUID string.
There is no need to check for NULL before calling ast_free().
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@384302
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Thu, 28 Mar 2013 15:45:18 +0000 (15:45 +0000)]
Break the world. Stasis message type accessors should now all be named correctly.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@384261
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Wed, 27 Mar 2013 22:42:06 +0000 (22:42 +0000)]
Convert MWI state message type to the new stasis naming convention
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@384219
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Wed, 27 Mar 2013 21:52:43 +0000 (21:52 +0000)]
Added a doxygen group for Stasis messages and topics
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@384201
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Wed, 27 Mar 2013 19:52:19 +0000 (19:52 +0000)]
Address uninitialized conditional that valgrind found
........
Merged revisions 384162 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 384163 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@384164
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Wed, 27 Mar 2013 18:52:16 +0000 (18:52 +0000)]
Fix a file descriptor leak in off nominal path
While looking at the security vulnerability in ASTERISK-20967, Walter noticed
a file descriptor leak and some other issues in off nominal code paths. This
patch corrects them.
Note that this patch is not related to the vulnerability in ASTERISK-20967,
but the patch was placed on that issue.
(closes issue ASTERISK-20967)
Reported by: wdoekes
patches:
issueA20967_file_leak_and_unused_wkspace.patch uploaded by wdoekes (License 5674)
........
Merged revisions 384118 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 384119 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@384120
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Wed, 27 Mar 2013 17:07:44 +0000 (17:07 +0000)]
Fix white noise on SRTP decryption
When res_rtp_asterisk.c was altered to avoid attempting to apply
unprotect algorithms to non-audio RTP packets, the test used was
incorrect. This caused the audio packets to not be decrypted and
resulted in loud white noise on the other endpoint (or both endpoints
depending on the call legs involved). The test now properly checks the
version field in the RTP header to ensure that RTP and RTCP are
decrypted while other types of packets are not.
(closes issue ASTERISK-21323)
Reported by: andrea
Tested by: Kinsey Moore, andrea, John Bigelow
Patches:
whitenoise_fix.diff uploaded by Kinsey Moore
........
Merged revisions 384048 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 384049 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@384050
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Wed, 27 Mar 2013 15:27:31 +0000 (15:27 +0000)]
AST-2013-003: Prevent username disclosure in SIP channel driver
When authenticating a SIP request with alwaysauthreject enabled, allowguest
disabled, and autocreatepeer disabled, Asterisk discloses whether a user
exists for INVITE, SUBSCRIBE, and REGISTER transactions in multiple ways. The
information is disclosed when:
* A "407 Proxy Authentication Required" response is sent instead of a
"401 Unauthorized" response
* The presence or absence of additional tags occurs at the end of "403
Forbidden" (such as "(Bad Auth)")
* A "401 Unauthorized" response is sent instead of "403 Forbidden" response
after a retransmission
* Retransmission are sent when a matching peer did not exist, but not when a
matching peer did exist.
This patch resolves these various vectors by ensuring that the responses sent
in all scenarios is the same, regardless of the presence of a matching peer.
This issue was reported by Walter Doekes, OSSO B.V. A substantial portion of
the testing and the solution to this problem was done by Walter as well - a
huge thanks to his tireless efforts in finding all the ways in which this
setting didn't work, providing automated tests, and working with Kinsey on
getting this fixed.
(closes issue ASTERISK-21013)
Reported by: wdoekes
Tested by: wdoekes, kmoore
patches:
AST-2013-003-1.8 uploaded by kmoore, wdoekes (License 6273, 5674)
AST-2013-003-10 uploaded by kmoore, wdoekes (License 6273, 5674)
AST-2013-003-11 uploaded by kmoore, wdoekes (License 6273, 5674)
........
Merged revisions 384003 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@384019
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Wed, 27 Mar 2013 14:39:11 +0000 (14:39 +0000)]
AST-2013-002: Prevent denial of service in HTTP server
AST-2012-014, fixed in January of this year, contained a fix for Asterisk's
HTTP server for a remotely-triggered crash. While the fix put in place fixed
the possibility for the crash to be triggered, a denial of service vector still
exists with that solution if an attacker sends one or more HTTP POST requests
with very large Content-Length values. This patch resolves this by capping
the Content-Length at 1024 bytes. Any attempt to send an HTTP POST with
Content-Length greater than this cap will not result in any memory allocation.
The POST will be responded to with an HTTP 413 "Request Entity Too Large"
response.
This issue was reported by Christoph Hebeisen of TELUS Security Labs
(closes issue ASTERISK-20967)
Reported by: Christoph Hebeisen
patches:
AST-2013-002-1.8.diff uploaded by mmichelson (License 5049)
AST-2013-002-10.diff uploaded by mmichelson (License 5049)
AST-2013-002-11.diff uploaded by mmichelson (License 5049)
........
Merged revisions 383978 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383980
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Wed, 27 Mar 2013 14:28:36 +0000 (14:28 +0000)]
AST-2013-001: Prevent buffer overflow through H.264 format negotiation
The format attribute resource for H.264 video performs an unsafe read against a
media attribute when parsing the SDP. The value passed in with the format
attribute is not checked for its length when parsed into a fixed length buffer.
This patch resolves the vulnerability by only reading as many characters from
the SDP value as will fit into the buffer.
(closes issue ASTERISK-20901)
Reported by: Ulf Harnhammar
patches:
h264_overflow_security_patch.diff uploaded by jrose (License 6182)
........
Merged revisions 383973 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383975
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Damien Wedhorn [Wed, 27 Mar 2013 07:24:37 +0000 (07:24 +0000)]
Fix skinny encall button to not blind xfer.
The softbutton endcall should not turn a transfer into a blind transfer but
hangup the exten being called and leave the original call on hold. This does
that.
(closes issue ASTERISK-21321)
Reported by: wedhorn
Tested by: snuffy, myself
Patches:
skinny-xferendcall01.diff uploaded by wedhorn (license 5019)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383948
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Joshua Colp [Tue, 26 Mar 2013 23:34:43 +0000 (23:34 +0000)]
Remove the noop handler from sorcery so it does not produce an empty value.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383925
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Tue, 26 Mar 2013 02:30:10 +0000 (02:30 +0000)]
Resolve deadlock between SIP registration and channel based functions
In r373424, several reentrancy problems in chan_sip were addressed. As a
result, the SIP channel driver is now properly locking the channel driver
private information in certain operations that it wasn't previously. This
exposed two latent problems either in register_verify or by functions called
by register_verify. This includes:
* Holding the private lock while calling sip_send_mwi_to_peer. This can create
a new sip_pvt via sip_alloc, which will obtain the channel container lock.
This is a locking inversion, as any channel related lock must be obtained
prior to obtaining the SIP channel technology private lock.
Note that this issue was already fixed in Asterisk 11.
* Holding the private lock while calling sip_poke_peer. In the same vein as
sip_send_mwi_to_peer, sip_poke_peer can create a new SIP private, causing
the same locking inversion.
Note that this locking inversion typically occured when CLI commands were run
while a SIP REGISTER request was being processed, as many CLI commands (such
as 'sip show channels', 'core show channels', etc.) have to obtain the channel
container lock.
(issue ASTERISK-21068)
Reported by: Nicolas Bouliane
(issue ASTERISK-20550)
Reported by: David Brillert
(issue ASTERISK-21314)
Reported by: Badalian Vyacheslav
(issue ASTERISK-21296)
Reported by: Gabriel Birke
........
Merged revisions 383863 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 383878 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383879
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Tue, 26 Mar 2013 01:58:45 +0000 (01:58 +0000)]
Resolve deadlock between pending CDR and batch CDR locks
r375757 attempted to resolve a race condition between multiple submissions of
CDRs while in batch mode from attempting to destroy the scheduled batch
submission by extending the batch CDR lock. Unfortunately, this causes a
deadlock between the pending CDR lock and the batch CDR lock. This patch
resolves the intent of r375757 by simply providing a new lock that protects
the scheduling of the batches. The original batch CDR lock is kept to protect
manipulation of the batch CDR settings, but has been placed such that it
is not held when the pending lock is held.
Thanks to Chase Venters for providing lock analysis on the issue.
(issue ASTERISK-21162)
Reported by: Chase Venters
........
Merged revisions 383839 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 383840 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383841
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Russell Bryant [Tue, 26 Mar 2013 01:46:39 +0000 (01:46 +0000)]
Suppress compiler warning.
This code caused a compiler warning when --enable-dev-mode was not used.
The warning was that this variable was set but not used. That was indeed
the case as the only place this is used is as an argument to SKINNY_DEBUG
which is compiled out when not in dev mode.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383838
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Russell Bryant [Tue, 26 Mar 2013 01:38:56 +0000 (01:38 +0000)]
Fix multi-station answer race condition.
When an SLA trunk is ringing (inbound call on the trunk) Asterisk will
make outbound calls to the stations that have that trunk. If more than
one station answers the call at the same time, all channels other than
the first one to answer are left in a bad state. The channel gets
leaked, is not connected to anything, and there's no way to get rid of
it.
We now properly clean up these losing channels by hanging up on them.
Since they lost the race, as we process their answer, there is no
ringing trunk for them to answer.
........
Merged revisions 383835 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 383836 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383837
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Mon, 25 Mar 2013 23:25:32 +0000 (23:25 +0000)]
Set the CALLERID(dnid-num-plan) for incoming ISDN calls.
The CALLEDTON channel variable is set for incoming ISDN calls to the lower
7 bits of the Q.931 type-of-number/numbering-plan octet. The
CALLERID(dnid-num-plan) should have the same value.
(closes issue ASTERISK-21248)
Reported by: rmudgett
........
Merged revisions 383796 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 383798 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383799
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Mon, 25 Mar 2013 20:15:09 +0000 (20:15 +0000)]
Fix typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383754
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Mon, 25 Mar 2013 20:07:00 +0000 (20:07 +0000)]
Fix missing ' ' around '='
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383753
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Mon, 25 Mar 2013 19:28:04 +0000 (19:28 +0000)]
install_prereq: removed some out-of-date comments
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383747
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Mon, 25 Mar 2013 17:12:03 +0000 (17:12 +0000)]
install_prereq: Adding jansson-devel to RH packages
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383728
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Mon, 25 Mar 2013 16:19:55 +0000 (16:19 +0000)]
Move NewCallerid, HangupRequest and SoftHangupRequest to Stasis
HangupRequest and SoftHangupRequest are now ast_channel_blob Stasis
messages, with the cause code as an optional field in the blob.
NewCallerid now simply watches for changes in the callerid information
in channel snapshots, and creates the AMI event appropriately.
Since the original NewCallerid event honored the channelvars setting
in manager.conf, the channel variables configured there had to become
a part of the channel snapshot. These are now a part of every snapshot
based event, making the configuration description "every time a
channel-oriented event is emitted" less of a lie.
There a a few other changes wrapped up in here as well.
* When ast_channel_topic() is given NULL for a channel, it returns
the ast_channel_topic_all() topic instead of NULL. This can clean
up a lot of NULL checking we're doing currently.
* The fields Cause and Cause-txt were removed from the base channel
information and put only on the Hangup events, since those fields
are meaningless outside of a Hangup event.
* Removed the pipe-delimiter processing of the channelvars field,
since that's been deprecated forever.
(closes issue ASTERISK-21096)
Review: https://reviewboard.asterisk.org/r/2405/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383726
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Sean Bright [Mon, 25 Mar 2013 12:38:15 +0000 (12:38 +0000)]
Properly delimit post data in res_config_curl.
........
Merged revisions 383667 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 383668 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383669
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Fri, 22 Mar 2013 20:51:33 +0000 (20:51 +0000)]
Fixed another issue from r383579.
Core modules don't honor <depend> flags in MODULEINFO, which broke jansson
if specified --with-jansson to configure.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383633
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Michael L. Young [Fri, 22 Mar 2013 20:43:24 +0000 (20:43 +0000)]
Fix StopMixMonitor Hanging Up When Unable To Stop MixMonitor On A Channel
A regression was accidentally introduced when allowing an optional ID to be used
when calling StopMixMonitor. When we are unable to stop MixMonitor on a
channel, -1 is being returned which triggers the hangup of the channel.
This patch restores the prior behavior by returning 0 whether we were successful
or not. It also allows the call from the manager to use the return code when
the action fails.
(closes issue ASTERISK-21294)
Reported by: daroz
Tested by: daroz
Patches:
asterisk-21294-stop_mixmonitor_hangingup.diff Michael L. Young (license 5026)
Review: https://reviewboard.asterisk.org/r/2404/
........
Merged revisions 383631 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383632
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Fri, 22 Mar 2013 19:26:37 +0000 (19:26 +0000)]
Corrected some module issues introduced by r383579.
When I moved res_json.c to json.c, I left the MODULE_INFO stuff in there,
which was interesting if you ran module show. I also forgot to call what
was in module_load() from asterisk main().
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383611
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Fri, 22 Mar 2013 14:06:46 +0000 (14:06 +0000)]
Move more channel events to Stasis; move res_json.c to main/json.c.
This patch started out simply as fixing the bouncing tests introduced
in r382685, but required some other changes to give it a decent
implementation.
To fix the bouncing tests, the UserEvent and Newexten AMI events
needed to be refactored to dispatch via Stasis. Dispatching directly
to AMI resulted in those events sometimes getting ahead of the
associated Newchannel events, which would understandably confuse anyone.
I found that instead of creating a zillion different message types and
structures associated with them, it would be preferable to define a
message type that has a channel snapshot and a blob of structured data
with a small bit of additional information. The JSON object model
provides a very nice way of representing structured data, so I went
with that.
* Move JSON support from res_json.c to main/json.c
* Made libjansson-dev a required dependency
* Added an ast_channel_blob message type, which has a channel
snapshot and JSON blob of data.
* Changed UserEvent and Newexten events so that they are dispatched
via ast_channel_blob messages on the channel's topic.
* Got rid of the ast_channel_varset message; used ast_channel_blob
instead.
* Extracted the manager functions converting Stasis channel events to
AMI events into manager_channel.c.
(issue ASTERISK-21096)
Review: https://reviewboard.asterisk.org/r/2381/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383579
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Damien Wedhorn [Fri, 22 Mar 2013 06:32:03 +0000 (06:32 +0000)]
Fix skinny voicemail indication issues.
Unsubscribe from MWI stasis event on channel reload.
(closes issue ASTERISK-21216)
Reported by: wedhorn
Tested by: snuffy, myself
Patches:
skinny-mwiind02.diff uploaded by snuffy (license 5024)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383560
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Thu, 21 Mar 2013 20:09:11 +0000 (20:09 +0000)]
Corrected doc error for Stasis. I guess the mutex isn't necessary.
Thanks, rmudgett!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383541
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Thu, 21 Mar 2013 17:41:52 +0000 (17:41 +0000)]
Fix astobj2 doxygen comment.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383519
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Walter Doekes [Wed, 20 Mar 2013 20:27:37 +0000 (20:27 +0000)]
Have func_curl log a warning when a curl request fails.
Review: https://reviewboard.asterisk.org/r/2403/
........
Merged revisions 383460 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 383461 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383462
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Walter Doekes [Wed, 20 Mar 2013 20:18:40 +0000 (20:18 +0000)]
Minor cleanup in func_curl near hashcompat code.
Review: https://reviewboard.asterisk.org/r/2402/
........
Merged revisions 383457 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383458
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Wed, 20 Mar 2013 16:01:30 +0000 (16:01 +0000)]
Resolve a race condition in Stasis
Because of the way that topics were handled when publishing, it was
possible to dispatch a message to a subscription after that
subscription had been unsubscribed such that the dispatched message
arrived at the callback after the callback had received its final
message. In callbacks that cleaned up user data, this would often cause
a segfault. This has been resolved by locking the topic during the
entirety of dispatch. To prevent long publishing and topic locking
times, forwarding subscriptions have been made to be standard
subscriptions instead of mailboxless subscriptions which were
dispatched at publishing time.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383422
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Joshua Colp [Wed, 20 Mar 2013 14:52:23 +0000 (14:52 +0000)]
Pass the sorcery instance to wizards for CUD operations as well as retrieve.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383405
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Tue, 19 Mar 2013 19:07:46 +0000 (19:07 +0000)]
Fix lock destruction/unlock inversion
When using scoped locks, the unref of an AO2 object should happen after
the unlock occurs which requires usage of scoped refs.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383377
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Tue, 19 Mar 2013 16:00:22 +0000 (16:00 +0000)]
Multiple revisions 383341-383342
........
r383341 | dlee | 2013-03-19 10:57:29 -0500 (Tue, 19 Mar 2013) | 5 lines
Removed codecs/g722/*.i on make clean
........
Merged revisions 383340 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
r383342 | dlee | 2013-03-19 10:58:33 -0500 (Tue, 19 Mar 2013) | 1 line
Remove codecs/speex/*.i on make clean
........
Merged revisions 383341-383342 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383343
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Sat, 16 Mar 2013 16:00:40 +0000 (16:00 +0000)]
Make sure things compile...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383287
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Sat, 16 Mar 2013 15:45:58 +0000 (15:45 +0000)]
Transition MWI to Stasis-core
Remove MWI's dependency on the event system by moving it to
Stasis-core. This also introduces forwarding topic pools in Stasis-core
which aggregate many dynamically allocated topics into a single primary
topic.
Review: https://reviewboard.asterisk.org/r/2368/
(closes issue ASTERISK-21097)
Patch-by: Kinsey Moore
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383284
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Joshua Colp [Sat, 16 Mar 2013 15:40:31 +0000 (15:40 +0000)]
Add support for using XMPP buddy state via device state.
This change allows you to use XMPP buddy state in places where device state
can be used be used, such as dialplan hints. If at least one resource is
available the buddy is considered available. Now your phone can reflect
their IM status too!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383283
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Joshua Colp [Sat, 16 Mar 2013 15:15:44 +0000 (15:15 +0000)]
Fix a bug where resources were not found due to hashing on the priority itself.
........
Merged revisions 383266 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383267
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Fri, 15 Mar 2013 17:35:16 +0000 (17:35 +0000)]
A simplistic router for stasis_message's.
Often times, when subscribing to a topic, one wants to handle
different message types differently. While one could cascade if/else
statements through the subscription handler, it is much cleaner to
specify a different callback for each message type. The
stasis_message_router is here to help!
A stasis_message_router is constructed for a particular stasis_topic,
which is subscribes to. Call stasis_message_router_unsubscribe() to
cancel that subscription.
Once constructed, routes can be added using
stasis_message_router_add() (or stasis_message_router_set_default()
for any messages not handled by other routes). There may be only one
route per stasis_message_type. The route's callback is invoked just as
if it were a callback for a subscription; but it only gets called for
messages of the specified type.
(issue ASTERISK-20887)
Review: https://reviewboard.asterisk.org/r/2390/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383242
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Fri, 15 Mar 2013 16:42:05 +0000 (16:42 +0000)]
Sample config file for stasis-core.
(issue ASTERISK-20887)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383225
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Fri, 15 Mar 2013 13:04:52 +0000 (13:04 +0000)]
Take advantage of the fact that stasis_unsubscribe now returns NULL
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383169
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Fri, 15 Mar 2013 12:58:23 +0000 (12:58 +0000)]
Make stasis unsubscription functions return NULL
Unsubscribing things in Asterisk seems to very commonly follow with
NULLing out the variable that was unsubscribed. This change makes that
a bit simpler.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383168
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Fri, 15 Mar 2013 12:53:03 +0000 (12:53 +0000)]
tcptls: Prevent unsupported options from being set
AMI, HTTP, and chan_sip all support TLS in some way, but none of them
support all the options that Asterisk's TLS core is capable of
interpreting. This prevents consumers of the TLS/SSL layer from setting
TLS/SSL options that they do not support.
This also gets tlsverifyclient closer to a working state by requesting
the client certificate when tlsverifyclient is set. Currently, there is
no consumer of main/tcptls.c in Asterisk that supports this feature and
so it can not be properly tested.
Review: https://reviewboard.asterisk.org/r/2370/
Reported-by: John Bigelow
Patch-by: Kinsey Moore
(closes issue AST-1093)
........
Merged revisions 383165 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 383166 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383167
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Fri, 15 Mar 2013 01:38:53 +0000 (01:38 +0000)]
When a session timer expires during a T.38 call, re-invite with correct SDP
When a session timer expires during a dialog that has re-negotiated to T.38
and Asterisk is the refresher, Asterisk will send a re-INVITE with an SDP
containing audio media only. This causes some hilarity with the poor fax
session under weigh.
This patch corrects that by sending T.38 parameters if we are in the middle of
a T.38 session.
(closes issue ASTERISK-21232)
Reported by: Nitesh Bansal
patches:
dont-send-audio-reinvite-for-sess-timer-in-t38-call.patch uploaded by nbansal (License 6418)
........
Merged revisions 383124 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 383125 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383126
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Fri, 15 Mar 2013 01:24:23 +0000 (01:24 +0000)]
Fix processing of call files when using KQueue on OS X
In certain situations, call files are not processed when using KQueue with
pbx_spool. Asterisk was sending an invalid timeout value when the spool
directory is empty, causing the call to kevent to error immediately. This
can create a tight loop, increasing the CPU load on the system.
(closes issue ASTERISK-21176)
Reported by: Carlton O'Riley
patches:
kqueue_osx.patch uploaded by coriley (License 6473)
........
Merged revisions 383120 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 383121 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383122
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jason Parker [Thu, 14 Mar 2013 16:57:36 +0000 (16:57 +0000)]
Fix whitespace in AST_EXT_LIB_CHECK macro.
........
Merged revisions 383061 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 383062 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383063
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Wed, 13 Mar 2013 14:39:54 +0000 (14:39 +0000)]
Always set the RTP instance data in the RTP engine
Not informing the RTP engine of the instance data creates shrapnel.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@383008
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Andrew Latham [Tue, 12 Mar 2013 22:43:15 +0000 (22:43 +0000)]
Update Doxygen
Push some cleanups upstream before testing another ticket.
(issue ASTERISK-20259)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382989
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Michael L. Young [Tue, 12 Mar 2013 21:19:39 +0000 (21:19 +0000)]
Fix Sorting Order For Parking Lots Stored In Static Realtime
When retrieving the parking lots from a MySQL database table, the current order
is "filename, cat_metric desc, var_metric asc, category". If there are multiple
parking lots with the same cat_metric but different categories, everything is
being sorted on cat_metric first resulting in errors when loading the parking
lots.
This patch fixes the problem by sorting on the category field first, then the
cat_metric field.
(closes issue ASTERISK-21035)
Reported by: Alex Epshteyn
Patches:
asterisk-21035-orderby.diff Michael L. Young (license 5026)
........
Merged revisions 382942 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 382943 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382954
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Michael L. Young [Tue, 12 Mar 2013 20:41:42 +0000 (20:41 +0000)]
Update Contributed Realtime Schema Files - IPv6 Addresses
This commit updates some fields in the contributed realtime schema files to
handle IPv6 addresses.
(closes issue ASTERISK-21173)
Reported by: Torrey Searle
Patches:
realtime_sql.patch Torrey Searle (license 5334)
asterisk-21173-update-ip-fields.diff Michael L. Young (license 5026)
........
Merged revisions 382939 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 382940 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382941
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Joshua Colp [Tue, 12 Mar 2013 20:07:10 +0000 (20:07 +0000)]
Fix a crash when res_xmpp is configured using a username without a domain.
(closes issue ASTERISK-21156)
Reported by: amsoft2001
........
Merged revisions 382923 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382924
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jason Parker [Tue, 12 Mar 2013 19:08:59 +0000 (19:08 +0000)]
Switch to using external pjproject libraries.
ICE/STUN/TURN support in res_rtp_asterisk is also now optional.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382900
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Tue, 12 Mar 2013 16:30:02 +0000 (16:30 +0000)]
Include the Username field in SIP Registry events when Status is registered
In ASTERISK-17888, the AMI Registry event during SIP registrations was supposed
to include the Username field. Somehow, one of the events was missed. This
patch corrects that - the Username field should be included in all AMI Registry
events involving SIP registrations.
(issue ASTERISK-17888)
(closes issue ASTERISK-21201)
Reported by: Dmitriy Serov
patches:
chan_sip.c.diff uploaded by Dmitriy Serov (license 6479)
........
Merged revisions 382847 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 382848 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382852
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Igor Goncharovskiy [Tue, 12 Mar 2013 08:55:14 +0000 (08:55 +0000)]
Fix core dump on CLI usage
Fix issue with 'unistim show info' CLI command when device connected not configured
........
Merged revisions 382827 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382828
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kevin Harwell [Mon, 11 Mar 2013 15:22:02 +0000 (15:22 +0000)]
Added an option to disallow music on hold
Added an option "discard_remote_hold_retrieval" (default "no") that if set does
not trigger the music on hold event. This essentially stops telling the peer
to start music on hold.
(issue ABE-2899)
Reported by: Denis Alberto Martinez
Review: https://reviewboard.asterisk.org/r/2336/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382787
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Sat, 9 Mar 2013 00:21:46 +0000 (00:21 +0000)]
confbridge: Rename items for clarity and consistency.
struct conference_bridge_user -> struct confbridge_user
struct conference_bridge -> struct confbridge_conference
struct conference_state -> struct confbridge_state
struct conference_bridge_user *conference_bridge_user -> struct confbridge_user *user
struct conference_bridge_user *cbu -> struct confbridge_user *user
struct conference_bridge *conference_bridge -> struct confbridge_conference *conference
The names are now generally shorter, consistently used, and don't conflict
with the struct names.
This patch handles the renaming part of the issue.
(issue ASTERISK-20776)
Reported by: rmudgett
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382764
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jonathan Rose [Fri, 8 Mar 2013 20:26:03 +0000 (20:26 +0000)]
chan_sip: Update the via header when relaying SMS MESSAGE
Prior to this change, certain conditions for sending the message would
result in an address of '(null)' being used in the via header of the
SIP message because a NULl value of pvt->ourip was used when initially
generating the via header. This is fixed by adding a call to build_via
when the address is set before sending the message.
(closes issue ASTERISK-21148)
Reported by: Zhi Cheng
Patches:
700-sip_msg_send_via_fix.patch uploaded by Zhi Cheng (license 6475)
........
Merged revisions 382739 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382746
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Fri, 8 Mar 2013 16:59:02 +0000 (16:59 +0000)]
Stasis documentation updates.
(issue ASTERISK-20887)
(issue ASTERISK-20959)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382724
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Fri, 8 Mar 2013 16:25:58 +0000 (16:25 +0000)]
Ensure dummy channels get a stasis topic.
Fixes test failure introduced in r382685.
(issue ASTERISK-20887)
(issue ASTERISK-20959)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382721
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Fri, 8 Mar 2013 16:00:14 +0000 (16:00 +0000)]
Add message dump capability to stasis cache layer
The cache dump mechanism allows the developer to retreive multiple
items of a given type (or of all types) from the cache residing in a
stasis caching topic in addition to the existing single-item cache
retreival mechanism. This also adds to the caching unit tests to
ensure that the new cache dump mechanism is functioning properly.
Review: https://reviewboard.asterisk.org/r/2367/
(issue ASTERISK-21097)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382705
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Fri, 8 Mar 2013 15:15:13 +0000 (15:15 +0000)]
This patch adds a new message bus API to Asterisk.
For the initial use of this bus, I took some work kmoore did creating
channel snapshots. So rather than create AMI events directly in the
channel code, this patch generates Stasis events, which manager.c uses
to then publish the AMI event.
This message bus provides a generic publish/subscribe mechanism within
Asterisk. This message bus is:
- Loosely coupled; new message types can be added in seperate modules.
- Easy to use; publishing and subscribing are straightforward
operations.
In addition to basic publish/subscribe, the patch also provides
mechanisms for message forwarding, and for message caching.
(issue ASTERISK-20887)
(closes issue ASTERISK-20959)
Review: https://reviewboard.asterisk.org/r/2339/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382685
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Fri, 8 Mar 2013 04:11:12 +0000 (04:11 +0000)]
Remove unused function
After r382670, get_ip_and_port_from_sdp was no longer used.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382671
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Fri, 8 Mar 2013 03:54:38 +0000 (03:54 +0000)]
Don't reset the RTP address on a glare re-INVITE
Originally, way back in r201583, we added the alternate RTP address so
that the RTP engine would expect to receive audio from a new source
when a glare re-INVITE occurred. In r382589, we remove the alternate
RTP source, as the 'secret' probation mode allows for switching to a new
RTP source when a previous source stops sending RTP. At the time, it
seemed appropriate to set the RTP source based on the information in the
glared re-INVITE.
Unfortunately, that doesn't work so well - in a glared re-INVITE that occurs
with no SDP - such as in a connected line update that glances - we'll set
the RTP source to an invalid address. In subsequent re-INVITE requests from
this Asterisk instance, we'll then send an invalid media address, which will
result in the remote side sending a 488. Whoops.
There isn't any need to reset the RTP source - if we're using strictrtp, we'll
simply synchronize to a new source when we stop getting packets from the old
one. If we aren't using strictrtp, then again there shouldn't be a problem.
Note that the Asterisk Test Suite's connectedline test caught this error.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382670
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
David M. Lee [Thu, 7 Mar 2013 21:55:28 +0000 (21:55 +0000)]
Changing log level of "Not changing threadpool size" from notice to debug.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382648
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jason Parker [Thu, 7 Mar 2013 21:14:18 +0000 (21:14 +0000)]
Load sorcery modules earlier, so they can actually be used.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382636
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Thu, 7 Mar 2013 19:14:46 +0000 (19:14 +0000)]
Let vm_mailbox_snapshot combine "Urgent" when no folder is specified
r381835 fixed a bug in vm_mailbox_snapshot where combining INBOX and Old forgot
that Urgent also "counts" as new messages. This fixed the problem when any of
the three folders was specified and the combine option was used.
It missed the case where the folder isn't specified and we build a snapshot of
all folders. This patch corrects that.
........
Merged revisions 382617 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382621
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Thu, 7 Mar 2013 16:48:19 +0000 (16:48 +0000)]
Fix a memory leak in xmldoc
Another instance of attribute retrieval not being freed properly.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382604
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Thu, 7 Mar 2013 16:21:52 +0000 (16:21 +0000)]
Resolve more memory leaks in xmldoc
Many places that allocated to pull out an attribute are now freed
properly.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382600
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Thu, 7 Mar 2013 15:48:06 +0000 (15:48 +0000)]
Add a 'secret' probation strictrtp mode to handle delayed changes in RTP source
Often, Asterisk may realize that a change in the source of an RTP stream is
about to occur and ask that the RTP engine reset it's lock on the current RTP
source. In certain scenarios, it may take awhile for the new remote system to
send RTP packets, while the old remote system may continue providing RTP during
that time period. This causes Asterisk to re-lock onto the old source, thereby
rejecting the new source when the old source stops sending RTP and the new
source begins.
This patch prevents that by having a constant secondary, 'secret' probation
mode enabled when an RTP source has been chosen. RTP packets from other sources
are always considered, but never chosen unless the current RTP source stops
sending RTP.
Review: https://reviewboard.asterisk.org/r/2364
(closes issue AST-1124)
Reported by: John Bigelow
Tested by: John Bigelow
(closes issue AST-1125)
Reported by: John Bigelow
Tested by: John Bigelow
........
Merged revisions 382573 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382589
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Thu, 7 Mar 2013 15:36:52 +0000 (15:36 +0000)]
Fix minor memory leak in xmldoc
Strings retrieved via ast_xml_get_text() must be freed with
ast_xml_free_text().
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382587
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Thu, 7 Mar 2013 15:09:01 +0000 (15:09 +0000)]
Ensure that logmsgs are freed properly
Messages sent while the logger thread is shutting down will now have
their associated callid freed properly.
........
Merged revisions 382574 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382575
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Thu, 7 Mar 2013 00:05:16 +0000 (00:05 +0000)]
Fix ref leak in threadpool.c
If ast_threadpool_set_size with a size equal to the current size, a
reference to a set_size_data structure would be leaked.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382555
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kinsey Moore [Wed, 6 Mar 2013 15:21:42 +0000 (15:21 +0000)]
Resolve a ref leak in threadpool.c
Ownership of the listener reference is not transferred because the
listener is reffed when placed into the taskprocessor. Ensure that the
listener is dereffed properly.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382489
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Tue, 5 Mar 2013 13:14:43 +0000 (13:14 +0000)]
Add RFC 3327 Path header support to chan_sip
This patch adds support for RFC 3327 "Path" headers. This can be enabled in
sip.conf using the 'supportpath' setting, either on a global basis or on a
peer basis. This setting enables Asterisk to route outgoing out-of-dialog
requests via a set of proxies by using a pre-loaded route-set defined by the
Path headers in the REGISTER request. This patch also adds Realtime support
for dynamically updating the Path information for a peer.
A huge thank-you to Klaus Darillion and Olle E Johansson for their efforts
in writing this patch.
Review: https://reviewboard.asterisk.org/r/2235/
Review: https://reviewboard.asterisk.org/r/991/
(closes issue ASTERISK-16884)
Reported by: klaus3000
Tested by: klaus3000, oej, mjordan
patches:
path-1.8.0-patch.txt uploaded by klaus3000 (License 5054)
oolong-path-support-trunk in team branch by oej (License 5267)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382440
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Igor Goncharovskiy [Tue, 5 Mar 2013 03:53:44 +0000 (03:53 +0000)]
Fix several unreleased mutex locks that cause problem with processing calls
Reported by: Daniel Bohling
Tested by: Daniel Bohling
(Closes issue ASTERISK-21119)
........
Merged revisions 382409 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 382410 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382411
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Mon, 4 Mar 2013 21:15:36 +0000 (21:15 +0000)]
Fixup some bridge and format capabilities comments and whitespace.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382392
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jason Parker [Mon, 4 Mar 2013 21:14:30 +0000 (21:14 +0000)]
Fix comparison of presence state in event subsystem.
Several new IEs were not given types (or names), causing the comparison
function to improperly succeed. This adds those.
(closes issue AST-1128)
........
Merged revisions 382390 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382391
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Kevin Harwell [Mon, 4 Mar 2013 20:18:36 +0000 (20:18 +0000)]
Confbridge CLI new record file name check.
This fix checks to make sure that if a confbridge record start command is issued
from the CLI it will always use the file name given on the CLI even if it
changes between start/stop records for a conference. Previously it had been
reusing the same file between start/stops even if a new filename was given.
(issue AST-1088)
Reported by: John Bigelow
........
Merged revisions 382385 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382386
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Joshua Colp [Fri, 1 Mar 2013 18:01:56 +0000 (18:01 +0000)]
Add support for registering a sorcery handler which supports multiple fields using a regex.
Review: https://reviewboard.asterisk.org/r/2332/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382340
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Michael L. Young [Fri, 1 Mar 2013 04:32:01 +0000 (04:32 +0000)]
Fix / Clean Up Some Items To Handle The New auto_* NAT Options
The original report had to do with a realtime peer behind NAT being pruned and
the peer's private address being used instead of its external address. Upon
debugging, it was discovered that this was being caused by the addition of
the auto_force_rport and auto_comedia settings.
This patch does the following:
* Adds a missing note to the CHANGES file indicating that the default global nat
setting is auto_force_rport
* Constify the 'req' parameter for check_via()
* Add calls to check_via() in a couple of places in order for the auto_*
settings to do their job in attempting to determine if NAT is involved
* Set the flags SIP_NAT_FORCE_RPORT and SIP_PAGE2_SYMMETRICRTP if the auto_*
settings are in use where it was needed
* Moves the copying of peer flags up in build_peer() to before they are used;
this fixes the realtime prune issue
* Update the contrib/realtime schemas to allow the nat column to handle the
different nat setting combinations we have
This patch received a review and "Ship It!" on the issue itself.
(closes issue ASTERISK-20904)
Reported by: JoshE
Tested by: JoshE, Michael L. Young
Patches:
asterisk-20904-nat-auto-and-rt-peersv2.diff Michael L. Young (license 5026)
........
Merged revisions 382322 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382323
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Joshua Colp [Thu, 28 Feb 2013 21:59:56 +0000 (21:59 +0000)]
While the ICE negotiation is occurring leave strictrtp in an open state, media can and will come from different places.
........
Merged revisions 382298 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382299
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Joshua Colp [Thu, 28 Feb 2013 21:37:57 +0000 (21:37 +0000)]
Fix a bug with ICE and strictrtp where media could get dropped.
If the end result of the ICE negotiation resulted in the path for media
changing it was possible for the strictrtp code to discard the RTP packets.
This change causes strictrtp to enter learning mode once again when the
ICE negotiation has completed successfully.
........
Merged revisions 382296 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382297
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Thu, 28 Feb 2013 21:31:14 +0000 (21:31 +0000)]
threadpool: Make ast_threadpool_push() return -1 if shutting_down
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382295
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Thu, 28 Feb 2013 21:29:57 +0000 (21:29 +0000)]
threadpool: Whitespace and comment corrections.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382294
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Jason Parker [Thu, 28 Feb 2013 21:21:50 +0000 (21:21 +0000)]
Don't undefine bzero()/bcopy().
This was causing build failures against external libraries that happened to use
them, unless silly hacks were added to the modules that used those headers.
Review: https://reviewboard.asterisk.org/r/2359/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382292
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Thu, 28 Feb 2013 17:17:35 +0000 (17:17 +0000)]
Prevent deadlock in chan_iax2 when attempting to set caller ID
A deadlock can occur in chan_iax2 when it attempts to set the caller ID, as it
already holds the iax2 private lock and improperly fails to obtain the channel
lock before calling ast_set_callerid. By not safely obtaining the channel lock,
a locking inversion can take place, causing a deadlock.
This patch solves this by calling the required deadlock avoidance functions
that obtain the channel lock before setting the caller ID.
Thanks to Pavel for fixing my syntax errors and testing this patch out.
(closes issue ASTERISK-21128)
Reported by: Pavel Troller
Tested by: Pavel Troller
patches:
ASTERISK-21128-1.8.diff uploaded by mjordan (license 6283)
ASTERISK-21128-modified-1.8.diff uploaded by Pavel Troller (license 6302)
........
Merged revisions 382233 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 382234 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382236
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Thu, 28 Feb 2013 16:56:20 +0000 (16:56 +0000)]
Let channels joining a MeetMe conference opt out of the denoiser
For some channel drivers, specifically those that have a varying rate in the
number of audio samples, the audio quality for a MeetMe conference can be
exceedingly poor. This is due to a unilateral application of the DENOISE
function in func_speex to channels joining the conference.
The denoiser function in the speex library is initialized with the number of
audio samples in each sample that will be provided to it. If the number of
audio samples changes, the denoiser has to be thrown away and re-initialized.
While this could be worked around by removing func_speex, that doesn't help
if you actually use the denoiser with other channels on the system.
This patches does the following:
* Checks for the presence of func_speex as opposed to codec_speex when
determining if the DENOISE function is present (which is where the function
is actually implemented)
* Adds an option to MeetMe 'n' that causes the denoiser to not be applied
to a channel when it joins. This keeps the current behavior the default, but
let's users disable the denoiser if it causes problems on their system.
Review: https://reviewboard.asterisk.org/r/2358
(closes issue AST-1062)
Reported by: Thomas Arimont
........
Merged revisions 382227 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 382230 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382232
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Wed, 27 Feb 2013 20:31:56 +0000 (20:31 +0000)]
More places to eliminate the cast to argv but were not giving warnings.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382204
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Richard Mudgett [Wed, 27 Feb 2013 20:21:40 +0000 (20:21 +0000)]
Fix compiler warning by eliminating the need for a cast.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382203
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Joshua Colp [Wed, 27 Feb 2013 16:19:51 +0000 (16:19 +0000)]
Relax dialog checking in get_sip_pvt_byid_locked so it works when the dialog is forked.
(closes issue ASTERISK-20638)
Reported by: eelcob
Patches:
pedantic-call-pickup-from-tag.patch uploaded by eelcob (license 6442)
........
Merged revisions 382171 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 382174 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382182
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Tzafrir Cohen [Tue, 26 Feb 2013 20:05:02 +0000 (20:05 +0000)]
Consider linux-gnuspe as linux-gnu
* The powerpcspe Linux port uses linux-gnuspe as the OS string.
* Our build system shouldn't really care for that, so just call it linux-gnu.
* Original report: Roland Stigge , http://bugs.debian.org/701505
Review: https://reviewboard.asterisk.org/r/2357/
........
Merged revisions 382110 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 382111 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382113
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Walter Doekes [Tue, 26 Feb 2013 19:36:30 +0000 (19:36 +0000)]
Correct RPID parsing for unquoted display-name.
Parsing Remote-Party-ID will now succeed if display-name is of the
*(token LWS) kind and not just the quoted-string kind.
Review: https://reviewboard.asterisk.org/r/2341/
........
Merged revisions 382107 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 382108 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382109
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Tzafrir Cohen [Tue, 26 Feb 2013 19:29:14 +0000 (19:29 +0000)]
Remove unneeded linux-gnueabi*
As of r380522 the configure scripts converts the value of linux-gnueabi*
of OSARCH to "linux-gnu". So no point in testing for those values.
........
Merged revisions 382087 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 382096 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382106
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Tue, 26 Feb 2013 15:52:02 +0000 (15:52 +0000)]
Clean up ConfBridge commands to account for wait_marked users
When ConfBridge was refactored to better handle the concept of marked,
wait_marked, and normal users co-existing in a conference (thereby implementing
a state machine for the conference), the wait_marked users were put into their
own list of conference participants, separate from the active users. This list
is used for wait_marked users when they are waiting in a conference but no
marked user has joined; normal users may have joined at this point however.
There are several AMI/CLI commands that affect conference users that were not
checking the wait_marked users list:
* CLI/AMI commands that mute/unmute a participant. In this case, wait_marked
users have to remain in their particular state and should not be affected -
however, the commands would return "Channel not found" as opposed to the
appropriate error condition.
* CLI/AMI commands that kick a participant. An admin should always be able to
kick a participant out of the conference.
This patch fixes both sets of commands, and cleans up the CLI commands slightly
by allowing them to complete a participant name (this was supposed to have been
added, but the function call was commented out and wasn't implemented).
Review: https://reviewboard.asterisk.org/r/2346/
(closes issue AST-1114)
Reported by: John Bigelow
Tested by: John Bigelow
........
Merged revisions 382068 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382070
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Tue, 26 Feb 2013 15:26:16 +0000 (15:26 +0000)]
Ensure that the default bridge/user profiles are always available
ConfBridge and Page require that there always be a default bridge and user
profile available. While properties of the default profiles can be overriden
in the configuration file, removing them can create situations where neither
application can function properly.
This patch ensures that if an administrator removes the profiles from the
confbridge.conf configuration file, the profiles are added upon load.
Documentation clarifying this has been added to the confbridge.conf.sample file.
Review: https://reviewboard.asterisk.org/r/2356/
(closes issue AST-1115)
Reported by: John Bigelow
Tested by: John Bigelow
........
Merged revisions 382066 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382067
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
Matthew Jordan [Mon, 25 Feb 2013 12:51:24 +0000 (12:51 +0000)]
Clean up use of va_end/va_args in res_config_mysql
There were several problems using variadic argument macros in res_config_mysql.
* Improper use of va_end. Multiple calls to va_end were possible resulting in
an unbalanced matching of va_start/va_end.
* Calls to va_arg after a possible encounter of a SENTINEL value.
This patch corrects those errors.
(closes issue ASTERISK-19451)
Reported by: wdoekes
patches:
ASTERISK-19451-1.8--2.diff uploaded by wdoekes (License 5674)
........
Merged revisions 382021 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 382022 from http://svn.asterisk.org/svn/asterisk/branches/11
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@382023
65c4cc65-6c06-0410-ace0-
fbb531ad65f3