]> git.ipfire.org Git - thirdparty/asterisk.git/log
thirdparty/asterisk.git
13 years agoAdd missing headers to AMI UnParkedCall event to uniquely identify the call.
Richard Mudgett [Mon, 6 Feb 2012 17:28:05 +0000 (17:28 +0000)] 
Add missing headers to AMI UnParkedCall event to uniquely identify the call.

The AMI UnParkedCall event was missing the Parkinglot and Uniqueid headers
that the AMI ParkedCall event contains.

(closes issue ASTERISK-19240)
Reported by: Michael Yara

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

13 years agoFixes deadlocks occuring in chan_agent due to r335976
Jonathan Rose [Fri, 3 Feb 2012 21:24:45 +0000 (21:24 +0000)] 
Fixes deadlocks occuring in chan_agent due to r335976

Bad locking order was added to chan_agent to prevent segfaults from having no locking
in a patch by irroot. This patch addresses the bad locking order by releasing locks before
getting the right locking order to stop deadlocks from occuring when doing multiple
interactions with agents.

(closes issue ASTERISK-19285)
Reported by: Alex Villacis Lasso
Review: https://reviewboard.asterisk.org/r/1708/

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

13 years agoEnsure entering T.38 passthrough does not cause an infinite loop
Kinsey Moore [Thu, 2 Feb 2012 22:26:50 +0000 (22:26 +0000)] 
Ensure entering T.38 passthrough does not cause an infinite loop

After R340970 Asterisk was still polling the RTCP file descriptor after RTCP is
shut down and removed. If the descriptor happened to have data ready when the
removal occured then Asterisk would go into an infinite loop trying to read
data that it can never actually access. This change disables the audio RTCP
file descriptor for the duration of the T.38 transaction.

(closes issue ASTERISK-18951)
Reported-by: Kristijan Vrban
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@353915 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoRestore the 'w' modifier support for ISDN spans. Dial(DAHDI/g0/1234w888)
Richard Mudgett [Thu, 2 Feb 2012 20:01:00 +0000 (20:01 +0000)] 
Restore the 'w' modifier support for ISDN spans.  Dial(DAHDI/g0/1234w888)

This feature also causes the sending complete ie to be sent for switch
types that do not automatically send the ie.  (EuroISDN/ETSI)

The main difference between dialing Dial(DAHDI/g0/1234w888) and
Dial(DAHDI/g0/1234,,D(888)) is the sending of the sending complete ie.

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

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

13 years agoBackports some documentation for func_curl from 10 to 1.8
Jonathan Rose [Thu, 2 Feb 2012 18:31:37 +0000 (18:31 +0000)] 
Backports some documentation for func_curl from 10 to 1.8

For some reason this function was completely undocumented in 1.8. I copied the
10 docs over to 1.8 and removed references to an enumerator that was added in
the Asterisk 10 version of func_curl.  That was the only change I noted.

(closes issue ASTERISK-19186)
Reported by: Olivier Krief

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

13 years agoFix TLS port binding behavior as well as reload behavior:
Mark Michelson [Thu, 2 Feb 2012 16:58:44 +0000 (16:58 +0000)] 
Fix TLS port binding behavior as well as reload behavior:

* Removes references to tlsbindport from http.conf.sample and manager.conf.sample
* Properly bind to port specified in tlsbindaddr, using the default port if specified.
* On a reload, properly close socket if the service has been disabled.

A note has been added to UPGRADE.txt to indicate how ports must be set for TLS.

(closes issue ASTERISK-16959)
reported by Olaf Holthausen

(closes issue ASTERISK-19201)
reported by Chris Mylonas

(closes issue ASTERISK-19204)
reported by Chris Mylonas

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

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

13 years agoFix sip show peers port output, align columns, and fix ami port output.
Jonathan Rose [Thu, 2 Feb 2012 16:57:36 +0000 (16:57 +0000)] 
Fix sip show peers port output, align columns, and fix ami port output.

A previous patch I committed from ASTERISK-16930 unexpectedly changed some output for
the AMI action "sippeers" which this patch changes back. Also, this aligns the output
for the cli command "sip show peers" and fixes another issue that patch introduced by
using ast_sockaddr_stringify calls multiple times without immediately using the pointer.
I also went ahead and did a little janitorial work to clean up whitespace in
_sip_show_peers.

(issue ASTERISK-16930)
(closes issue ASTERISK-19281)
Reported by: Patrick El Youssef
Patches:
ASTERISK-19281.diff uploaded by Walter Doekes (license 5674)

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

13 years agoUse ast_sockaddr_stringify_fmt wrappers for various functions in chan_sip
Jonathan Rose [Wed, 1 Feb 2012 21:05:26 +0000 (21:05 +0000)] 
Use ast_sockaddr_stringify_fmt wrappers for various functions in chan_sip

There are a number of cleaner looking wrappers for ast_sockaddr_stringify_fmt
available which are slightly more readable than using a direct call to
ast_sockaddr_stringify_fmt. This patch switches a number of those calls in
chan_sip to use those wrappers and is generally harmless.

(Closes issue ASTERISK-16930)
Reported by: Michael L. Young
Patches:
chan_sip-broken-registration-1.8.diff uploaded by Michael L. Young (license 5026)

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

13 years agoResolve an overlap in the ast_audiohook_flags values.
Sean Bright [Wed, 1 Feb 2012 15:50:50 +0000 (15:50 +0000)] 
Resolve an overlap in the ast_audiohook_flags values.

AST_AUDIOHOOK_TRIGGER_WRITE and AST_AUDIOHOOK_WANTS_DTMF were overlapping which
may have caused unintended side effects.  This patch moves
AST_AUDIOHOOK_TRIGGER_WRITE, and updates AST_AUDIOHOOK_TRIGGER_MODE to reflect
the original intention.

This will affect existing modules that use these flags, so be sure to recompile
as necessary.

(closes issue ASTERISK-19246)
Reported by: feyfre

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

13 years agoAdded clarification for the VERBOSITY setting to etc_default_asterisk
Matthew Jordan [Wed, 1 Feb 2012 15:02:42 +0000 (15:02 +0000)] 
Added clarification for the VERBOSITY setting to etc_default_asterisk

Clarified that using the VERBOSITY setting in etc_default_asterisk is the
same as using the -v command line switch, which causes Asterisk to launch
in console mode.

(closes issue ASTERISK-17030)
Reported by: Jonas

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

13 years agoAllow res_calendar to be unloaded
Terry Wilson [Tue, 31 Jan 2012 23:41:39 +0000 (23:41 +0000)] 
Allow res_calendar to be unloaded

The calendaring tech modules depend on res_calendar and initially
res_calendar just bumped the use count so that it couldn't be unloaded.
res_calendar can potentially create many threads and I've seen issues
where the Asterisk shutdown has failed where it looked like these
threads could be the culprit.

This patch adds unload support for res_calendar. Unloading res_calendar
will also unload the dependant tech modules as well.

(closes issue ASTERISK-16744)
Review: https://reviewboard.asterisk.org/r/1657/

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

13 years agoFix memory leak in error paths for action_originate().
Richard Mudgett [Tue, 31 Jan 2012 16:51:06 +0000 (16:51 +0000)] 
Fix memory leak in error paths for action_originate().

* Fix memory leak of vars in error paths for action_originate().

* Moved struct fast_originate_helper tech and data members to stringfields.

* Simplified ActionID header handling for fast_originate().

* Added doxygen note to ast_request() and ast_call() and the associated
channel callbacks that the data/addr parameters should be treated as const
char *.

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

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

13 years agoRe-link peers by IP when dnsmgr changes the IP
Terry Wilson [Mon, 30 Jan 2012 23:17:16 +0000 (23:17 +0000)] 
Re-link peers by IP when dnsmgr changes the IP

Asterisk's dnsmgr currently takes a pointer to an ast_sockaddr and updates it
anytime an address resolves to something different. There are a couple of
issues with this. First, the ast_sockaddr is usually the address of an
ast_sockaddr inside a refcounted struct and we never bump the refcount of those
structs when using dnsmgr. This makes it possible that a refresh could happen
after the destructor for that object is called (despite ast_dnsmgr_release
being called in that destructor). Second, the module using dnsmgr cannot be
aware of an address changing without polling for it in the code. If an action
needs to be taken on address update (like re-linking a SIP peer in the
peers_by_ip table), then polling for this change negates many of the benefits
of having dnsmgr in the first place.

This patch adds a function to the dnsmgr API that calls an update callback
instead of blindly updating the address itself. It also moves calls to
ast_dnsmgr_release outside of the destructor functions and into cleanup
functions that are called when we no longer need the objects and increments the
refcount of the objects using dnsmgr since those objects are stored on the
ast_dnsmgr_entry struct. A helper function for returning the proper default SIP
port (non-tls vs tls) is also added and used.

This patch also incorporates changes from a patch posted by Timo Teräs to
ASTERISK-19106 for related dnsmgr issues.

(closes issue ASTERISK-19106)

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

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

13 years agoprevent debug messsges displaying -ve Cseq numbers. Missed in R353320
Alec L Davis [Mon, 30 Jan 2012 22:40:40 +0000 (22:40 +0000)] 
prevent debug messsges displaying -ve Cseq numbers. Missed in R353320

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

13 years agoRFC3261 Section 8.1.1.5. The sequence number value MUST be expressible as a 32-bit...
Alec L Davis [Mon, 30 Jan 2012 21:57:49 +0000 (21:57 +0000)] 
RFC3261 Section 8.1.1.5. The sequence number value MUST be expressible as a 32-bit unsigned integer

* fix: use %u instead of %d when dealing with CSeq numbers - to remove possibility of -ve numbers.

* fix: change all uses of seqno and friends (ocseq icseq) from 'int' or 'unsigned int' to uint32_t.

Summary of CSeq numbers.
An initial CSeq number must be less than 2^31
A CSeq number can increase in value up to 2^32-1
An incrementing CSeq number must not wrap around to 0.

Tested with Asterisk 1.8.8.2 with Grandstream phones.

alecdavis (license 585)
Tested by: alecdavis

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

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

13 years agoClarify log WARNING message when port-zero SDP 'm' lines received.
Kevin P. Fleming [Mon, 30 Jan 2012 12:42:16 +0000 (12:42 +0000)] 
Clarify log WARNING message when port-zero SDP 'm' lines received.

Previously, if an m-line in an SDP offer or answer had a port number of zero,
that line was skipped, and resulted in an 'Unsupported SDP media type...'
warning message. This was misleading, as the media type was not unsupported,
but was ignored because the m-line indicated that the media stream had been
rejected (in an answer) or was not going to be used (in an offer).

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

13 years agoFind even more network interfaces.
Russell Bryant [Sun, 29 Jan 2012 02:42:59 +0000 (02:42 +0000)] 
Find even more network interfaces.

The previous change made the code look for emN and pciN in addition to what
it did originally, which was search for ethN.  However, it needed to be looking
for pciN#N, so that's what it does now.

This also moves the memset() to be before every ioctl().

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

13 years agoAdd 'L16-256' MIME subtype alias for slin16.
Kevin P. Fleming [Sat, 28 Jan 2012 14:49:48 +0000 (14:49 +0000)] 
Add 'L16-256' MIME subtype alias for slin16.

Asterisk has supported the 'L16' MIME subtype for 16kHz signed linear (PCM)
audio for quite some time, but some endpoints refer to it as 'L16-256'. This
commit adds this as an alias for the existing format.

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

13 years agoUpdate ast_set_default_eid() to find more network interfaces.
Russell Bryant [Sat, 28 Jan 2012 04:25:25 +0000 (04:25 +0000)] 
Update ast_set_default_eid() to find more network interfaces.

As of Fedora 15, ethN is not the name of ethernet interfaces.  The names
are emN or pciN.  Update some code that searched for interfaces named
ethN to look for the new names, as well.  For more information about why
this change was made, see this page:

    http://domsch.com/blog/?p=455

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

13 years agoMake failed PauseMonitor and UnpauseMonitor with no valid channel not close AMI session.
Jonathan Rose [Fri, 27 Jan 2012 19:12:34 +0000 (19:12 +0000)] 
Make failed PauseMonitor and UnpauseMonitor with no valid channel not close AMI session.

I also went ahead and took a little time to make sure that the manager value
AMI_SUCCESS was used instead of just return 0 being thrown around everywhere since that's
how we handle this stuff these days.

(closes issue ASTERISK-19249)
Reporter: Jamuel Starkey
Patches:
res_monitor.c-ASTERISK-19249.diff uploaded by Jamuel Starkey (license 5766)

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

13 years agoAudit of ao2_iterator_init() usage for v1.8.
Richard Mudgett [Fri, 27 Jan 2012 18:22:39 +0000 (18:22 +0000)] 
Audit of ao2_iterator_init() usage for v1.8.

Fixes numerous reference leaks and missing ao2_iterator_destroy() calls as
a result.

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

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

13 years agorfc4235 - Section 4.1: Versions MUST be representable using a non-negative 32 bit...
Alec L Davis [Fri, 27 Jan 2012 00:05:30 +0000 (00:05 +0000)] 
rfc4235 - Section 4.1: Versions MUST be representable using a non-negative 32 bit integer.

If a BLF subscription exists for long enough, using %d may print negative version numbers.
Unlikely, as 2^32 at 1 update per second is ~137 years, or half that before the versions number started going negative.

Tested with Asterisk 1.8.8.2 with Grandstream phones.

alecdavis (license 585)
Tested by: alecdavis

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

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

13 years agoFix outbound DTMF for inband mode (tell asterisk core to generate DTMF
Alexandr Anikin [Thu, 26 Jan 2012 20:14:50 +0000 (20:14 +0000)] 
Fix outbound DTMF for inband mode (tell asterisk core to generate DTMF
sounds).

(Closes issue ASTERISK-19233)
Reported by: Matt Behrens
Patches:
        chan_ooh323.c.patch uploaded by Matt Behrens (License #6346)

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

13 years agoCopy amaflags to sip_pvt from peer during create_addr_from_peer
Jonathan Rose [Thu, 26 Jan 2012 19:06:05 +0000 (19:06 +0000)] 
Copy amaflags to sip_pvt from peer during create_addr_from_peer

For whatever reason, we don't have a single function for copying data like this
from SIP peers to the SIP pvt. This patch adds the copying of amaflags to the
sip_pvt, but it would probably be worth discussing this function along with
the others that essentially just copy some amount of data from a peer to a
private.

(Closes issue ASTERISK-19029)
Reported by: Matt Lehner

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

13 years agoCleanup dialog-info+xml Notify dialog
Alec L Davis [Thu, 26 Jan 2012 06:27:07 +0000 (06:27 +0000)] 
Cleanup dialog-info+xml Notify dialog

Make similar to other Notify messages.

sample output:

<?xml version="1.0"?>
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="715" state="full" entity="sip:8523@192.168.x.xx">
<dialog id="8523">
<state>terminated</state>
</dialog>
</dialog-info>

Tested with Asterisk 1.8.8.2 with Grandstream phones.

alecdavis (license 585)
Tested by: alecdavis

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

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

13 years agoFix -Werror=unused-but-set-variable compiler error (gcc 4.6.2)
Paul Belanger [Wed, 25 Jan 2012 22:21:30 +0000 (22:21 +0000)] 
Fix -Werror=unused-but-set-variable compiler error (gcc 4.6.2)

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

13 years agoAvoid unnecessary rebuilds of main/test.c.
Kevin P. Fleming [Wed, 25 Jan 2012 21:16:54 +0000 (21:16 +0000)] 
Avoid unnecessary rebuilds of main/test.c.

main/test.c includes "asterisk/version.h", when it should include
"asterisk/ast_version.h" instead (and it should use the ast_get_version()
and ast_get_version_num() functions). This commit modifies it to extract
the Asterisk version information using the proper APIs, and as a result means
that main/test.c no longer needs to be rebuilt when a Subversion checkout
is updated or modified.

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

13 years agoRemove some extraneous debugging from registry memleak fix
Terry Wilson [Wed, 25 Jan 2012 17:28:29 +0000 (17:28 +0000)] 
Remove some extraneous debugging from registry memleak fix

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

13 years agoClean up some SIP registry-related memory leaks
Terry Wilson [Wed, 25 Jan 2012 16:46:56 +0000 (16:46 +0000)] 
Clean up some SIP registry-related memory leaks

1) Be sure and free at unload the epa_backend we allocate at startup
2) Do the same sip_registry cleanup at unload we do at reload

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

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

13 years agoRedocuments sip types peer, user, friend in sip.conf.sample
Jonathan Rose [Wed, 25 Jan 2012 16:39:15 +0000 (16:39 +0000)] 
Redocuments sip types peer, user, friend in sip.conf.sample

There was faulty information in the sample config describing user as a synonym for friend
so it has been changed to better elaborate on the differences between the three entity
types.

(closes issue ASTERISK-15537)
Reported by: yarique

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

13 years agoDon't do a DNS lookup on an outbound REGISTER host if there is an outbound proxy...
Mark Michelson [Tue, 24 Jan 2012 22:17:46 +0000 (22:17 +0000)] 
Don't do a DNS lookup on an outbound REGISTER host if there is an outbound proxy configured.

(closes issue ASTERISK-16550)
reported by: Olle Johansson

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

13 years agoSet core sounds version to 1.4.22.
Jonathan Rose [Tue, 24 Jan 2012 20:33:02 +0000 (20:33 +0000)] 
Set core sounds version to 1.4.22.

Now that we have the right license for the Russian 1.4.22 sounds as well as the sounds
for the Australian English 1.4.22 sounds, we can finally set the sounds to use 1.4.22!

(closes issue ASTERISK-18978)
Reported by: Cameron Twomey
Patches:
confbridge.tar.001 uploaded by Cameron Twomey
    confbridge.tar.002 uploaded by Cameron Twomey

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

13 years agoFix locking issues with channel datastores in func_odbc.c.
Richard Mudgett [Tue, 24 Jan 2012 16:59:59 +0000 (16:59 +0000)] 
Fix locking issues with channel datastores in func_odbc.c.

* Fixed a potential memory leak when an existing datastore is manually
destroyed by inline code instead of calling ast_datastore_free().

(closes issue ASTERISK-17948)
Reported by: Archie Cobbs

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

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

13 years agoMove RTP timeout check to before bridged channel check so it is actually executed.
Joshua Colp [Tue, 24 Jan 2012 16:30:36 +0000 (16:30 +0000)] 
Move RTP timeout check to before bridged channel check so it is actually executed.

(issue ASTERISK-19179)
Reported by: TSAREGORODTSEV Yury

(closes issue ASTERISK-14534)
Reported by: kriborgen
Patches:
chan_sip.patch uploaded by kriborgen (license 6138)

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

13 years agoFix grammar of comment.
Mark Michelson [Mon, 23 Jan 2012 20:30:21 +0000 (20:30 +0000)] 
Fix grammar of comment.

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

13 years agoFix blind transfers from failing if an 'h' extension is present.
Mark Michelson [Mon, 23 Jan 2012 20:06:25 +0000 (20:06 +0000)] 
Fix blind transfers from failing if an 'h' extension is present.

This prevents the 'h' extension from being run on the transferee
channel when it is transferred via a native transfer mechanism such
as SIP REFER.

(closes ASTERISK-19173)
Reported by: Ross Beer
Tested by: Kristjan Vrban
Patches:
ASTERISK-19173 by Mark Michelson (license 5049)

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

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

13 years agoCorrectly apply FAXOPT settings (V17, V27, V29) before starting spandsp layer
Matthew Jordan [Mon, 23 Jan 2012 19:12:14 +0000 (19:12 +0000)] 
Correctly apply FAXOPT settings (V17, V27, V29) before starting spandsp layer

While the FAXOPT function could be used to set the modem capabilities, the
input to that function was not being applied correctly to the spandsp layer.
This patch applies the current model capabilities before starting the spandsp
layer.

(closes issue: ASTERISK-16409)
Reported by: Kristijan Vrban
Tested by: Matt Jordan, Matthew Nicholson
Patches:
  spandsp-modems-1.8.diff uploaded by mnicholson (license 5081)
  spandsp-modems-10.diff uploaded by mnicholson (license 5081)

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

13 years agoFix sip_cfg.notifycid to be set with the defined enum values.
Richard Mudgett [Mon, 23 Jan 2012 17:33:34 +0000 (17:33 +0000)] 
Fix sip_cfg.notifycid to be set with the defined enum values.

The invalid value used when notifycid was enabled was benign.  As far as
the code was concerned -1 and 1 are equivalent.

(closes issue ASTERISK-19232)
Reported by: Eike Kuiper

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

13 years agoFix ast_app_dtget() time unit inconsistency.
Richard Mudgett [Sat, 21 Jan 2012 00:20:07 +0000 (00:20 +0000)] 
Fix ast_app_dtget() time unit inconsistency.

Note: Noone calls ast_app_dtget() with the timeout parameter of zero so
the bad code normally will never get executed.

* Fix unnecessary floating point division in func_timeout.c
timeout_write() when all other values are integers.

(closes issue ASTERISK-16817)
Reported by: Dmitry Andrianov

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

13 years agoRemove XXX comment that is not necessary.
Mark Michelson [Sat, 21 Jan 2012 00:08:06 +0000 (00:08 +0000)] 
Remove XXX comment that is not necessary.

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

13 years agoFix RTP reference leak.
Mark Michelson [Sat, 21 Jan 2012 00:04:13 +0000 (00:04 +0000)] 
Fix RTP reference leak.

If a blind transfer were initiated using a REFER without a prior
reINVITE to place the call on hold, AND if Asterisk were sending
RTCP reports, then there was a reference for the RTP instance
of the transferer.

This fixes the issue by merging two similar but slightly conflicting
sections of code into a single area. It also adds a stop_media_flows()
call in the case that the transferer's UA never sends a BYE to us
like it is supposed to.

(issue ASTERISK-19192)

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

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

13 years agoMore corrections for the ilbc code
Kinsey Moore [Fri, 20 Jan 2012 19:34:20 +0000 (19:34 +0000)] 
More corrections for the ilbc code

These changes are in a file that is not compiled by default, and so were
missed on earlier checks.

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

13 years agoAllow ilbc code to build under dev mode
Kinsey Moore [Fri, 20 Jan 2012 19:19:11 +0000 (19:19 +0000)] 
Allow ilbc code to build under dev mode

GCC 4.6.3 found some set/unused variables in the ILBC code.

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

13 years agoAccidentally left off a semicolon only in 1.8 somehow for previous patch.
Jonathan Rose [Fri, 20 Jan 2012 16:01:32 +0000 (16:01 +0000)] 
Accidentally left off a semicolon only in 1.8 somehow for previous patch.

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

13 years agoRemove unused variable 'tmp' from helpfun in ilbc codec
Matthew Jordan [Fri, 20 Jan 2012 15:48:48 +0000 (15:48 +0000)] 
Remove unused variable 'tmp' from helpfun in ilbc codec

gcc version 4.6.2 caught an unused variable in the ilbc codec
library.  This would prevent compilation with --enable-dev-mode;
variable removed.

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

13 years agoAdds setting of mwi_from field to check_auth_result check_peer_ok
Jonathan Rose [Fri, 20 Jan 2012 15:42:28 +0000 (15:42 +0000)] 
Adds setting of mwi_from field to check_auth_result check_peer_ok

(closes ASTERISK-19057)
Reported By: Yuri
Patches: 348360chan_sip.diff uploaded by Yuri (license 5242)

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

13 years agoenable doxygen build for files in the channels/sip folder like reqresp_parser.c
Stefan Schmidt [Fri, 20 Jan 2012 12:59:11 +0000 (12:59 +0000)] 
enable doxygen build for files in the channels/sip folder like reqresp_parser.c

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

13 years agoMisc minor fixes in reqresp_parser.c and chan_sip.c.
Richard Mudgett [Thu, 19 Jan 2012 23:17:31 +0000 (23:17 +0000)] 
Misc minor fixes in reqresp_parser.c and chan_sip.c.

* Fix corner cases in get_calleridname() parsing and ensure that the
output buffer is nul terminated.

* Make get_calleridname() truncate the name it parses if the given buffer
is too small rather than abandoning the parse and not returning anything
for the name.  Adjusted get_calleridname_test() unit test to handle the
truncation change.

* Fix get_in_brackets_test() unit test to check the results of
get_in_brackets() correctly.

* Fix parse_name_andor_addr() to not return the address of a local buffer.
This function is currently not used.

* Fix potential NULL pointer dereference in sip_sendtext().

* No need to memset(calleridname) in check_user_full() or tmp_name in
get_name_and_number() because get_calleridname() ensures that it is nul
terminated.

* Reply with an accurate response if get_msg_text() fails in
receive_message().  This is academic in v1.8 because get_msg_text() can
never fail.

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

13 years agoCorrect output of RTCP jitter statistics in SR and RR reports
Kinsey Moore [Thu, 19 Jan 2012 22:36:02 +0000 (22:36 +0000)] 
Correct output of RTCP jitter statistics in SR and RR reports

Change the RTCP RR and SR generation code to convert Asterisk's internal jitter
statistics to be represented in RTP timestamp units based on the rate of the
codec in use instead of in seconds.

(closes issue ASTERISK-14530)

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

13 years agoEliminates doubling the :port part of SIP Notify Message-Account headers.
Jonathan Rose [Thu, 19 Jan 2012 21:46:31 +0000 (21:46 +0000)] 
Eliminates doubling the :port part of SIP Notify Message-Account headers.

This patch prevents the domain string from getting mangled during the initreqprep
step by moving the initialization to before its immediate use.  It also documents
this pitfall for the ast_sockaddr_stringify functions.

(issue ASTERISK-19057)
Reported by: Yuri
Review: https://reviewboard.asterisk.org/r/1678/

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

13 years agoPrevent crash when an SDP offer is received with an encrypted video stream when suppo...
Joshua Colp [Thu, 19 Jan 2012 21:11:12 +0000 (21:11 +0000)] 
Prevent crash when an SDP offer is received with an encrypted video stream when support for video is disabled and res_srtp is loaded.

(closes issue ASTERISK-19202)
Reported by: Catalin Sanda

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

13 years agoInclude iLBC source code for distribution with Asterisk
Matthew Jordan [Wed, 18 Jan 2012 20:54:37 +0000 (20:54 +0000)] 
Include iLBC source code for distribution with Asterisk

This patch includes the iLBC source code for distribution with Asterisk.
Clarification regarding the iLBC source code was provided by Google, and
the appropriate licenses have been included in the codecs/ilbc folder.

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

(closes issue: ASTERISK-18943)
Reporter: Leif Madsen
Tested by: Matt Jordan

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

13 years agoThe get_pai function in chan_sip.c didn't recognized a proper callerid name and
Stefan Schmidt [Wed, 18 Jan 2012 14:57:30 +0000 (14:57 +0000)] 
The get_pai function in chan_sip.c didn't recognized a proper callerid name and
 number from a P-Asserted-Identity cause the header parsing logic was wrong.
Changing the parsing functions to the sip header parsing APIs in
reqresp_parser.h solves this problem.

Review: https://reviewboard.asterisk.org/r/1673
Reviewed by: wdoekes2 and Mark Michelson

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

13 years agoEliminate odd initialization of probation variable.
Mark Michelson [Tue, 17 Jan 2012 17:22:07 +0000 (17:22 +0000)] 
Eliminate odd initialization of probation variable.

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

13 years agoAdds pjmedia probation concepts to res_rtp_asterisk's learning mode.
Jonathan Rose [Tue, 17 Jan 2012 16:55:41 +0000 (16:55 +0000)] 
Adds pjmedia probation concepts to res_rtp_asterisk's learning mode.

In order to better handle RTP sources with strictrtp enabled (which is now default in 10)
using the learning mode to figure out new sources when they change is handled by checking
for a number of consecutive (by sequence number) packets received to an rtp struct
based on a new configurable value called 'probation'. Also, during learning mode instead
of liberally accepting all packets received, we now reject packets until a clear source
has been determined.

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

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

13 years agoUse built-in parsing functions for Contact and Record-Route headers.
Mark Michelson [Tue, 17 Jan 2012 16:41:23 +0000 (16:41 +0000)] 
Use built-in parsing functions for Contact and Record-Route headers.

If a Contact or a Record-Route header had a quoted string with an
item in angle brackets, then we would mis-parse it. For instance,
"Bob <1234>" <1234@example.org>
would be misparsed as having the URI "1234"
The fix for this is to use parsing functions from reqresp_parser.h
since they are heavily tested and are awesome.

(issue ASTERISK-18990)

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

13 years agoFix udptl issue with initial INVITE introduced by r351027
Matthew Jordan [Tue, 17 Jan 2012 16:06:42 +0000 (16:06 +0000)] 
Fix udptl issue with initial INVITE introduced by r351027

When an inital INVITE occurs that contains image media, a channel
is not yet associated with the SIP dialog.  The file descriptor
associated with the udptl session needs to be set in
initialize_udptl or in sip_new to account for this scenario.

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

13 years agoAdd some missing locking in chan_sip.
Russell Bryant [Tue, 17 Jan 2012 01:37:03 +0000 (01:37 +0000)] 
Add some missing locking in chan_sip.

This patch adds some missing locking to the function
send_provisional_keepalive_full().  This function is called from the scheduler,
which is processed in the SIP monitor thread.  The associated channel (or pbx)
thread will also be using the same sip_pvt and ast_channel so locking must be
used.  The sip_pvt_lock_full() function is used to ensure proper locking order
in a safe manner.

In passing, document a suspected reference counting error in this function.
The "fix" is left commented out because when the "fix" is present, crashes
occur.  My theory is that fixing it is exposing a reference counting error
elsewhere, but I don't know where.  (Or my analysis of this being a problem
could have been completely wrong in the first place).  Leave the comment in
the code for so that someone may investigate it again in the future.

Also add a bit of doxygen to transmit_provisional_response().

(closes issue ASTERISK-18979)

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

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

13 years agoEnsure ACK retransmit & hangup on non-200 response to INVITE
Terry Wilson [Mon, 16 Jan 2012 21:12:53 +0000 (21:12 +0000)] 
Ensure ACK retransmit & hangup on non-200 response to INVITE

When handling a non-2xx final response on an INVITE transaction, we have to
keep the transaction around after we send an ACK in case we receive a
retransmission of the response so we can re-transmit the ACK, but also tear
down the ast_channel as soon as we transmit the ACK. Before this patch, we
could fail at both of these things. Calling sip_alreadygone/needdestroy
prevented us from keeping the transaction up and retransmitting the ACK, and
queueing CONGESTION was not sufficient to cause the channel to be torn down
when originating calls via the CLI, for example.

This patch queues a hangup with CONGESTION instead of just queueing CONGESTION
for these responses and removes the sip_alreadygone and sip_needdestroy calls
from handle_response_invite on non-2xx responses. It relies on the hangup
calling sip_scheddestroy.

For more information, see section 17.1.1.1 of RFC 3261.

(closes issue ASTERISK-17717)
Review: https://reviewboard.asterisk.org/r/1672/

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

13 years agoDon't prematurely stop SIP session timer
Terry Wilson [Mon, 16 Jan 2012 20:06:45 +0000 (20:06 +0000)] 
Don't prematurely stop SIP session timer

When Asterisk is the UAS (incoming call, endpoint is re-inviting) the SIP session timer expires after half the time the sip endpoint indicates in the Session-expires header in proc_session_timer(). The session timer was being stopped totally and being handled as an error case instead of running again until the second expiry. This patch treats the half-time expiry as a non-error case and continues the timer until the true expiry.

(closes issue ASTERISK-18996)
Reported by: Thomas Arimont
Tested by: Thomas Arimont
Patches: session_timer_fix.diff by Terry Wilson (License #5357)
  based on session_timer.patch by Thomas Arimont (License #5525)

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

13 years agoCreate and initialize udptl only when dialog negotiates for image media
Matthew Jordan [Mon, 16 Jan 2012 19:09:45 +0000 (19:09 +0000)] 
Create and initialize udptl only when dialog negotiates for image media

Prior to this patch, the udptl struct was allocated and initialized when a
dialog was associated with a peer that supported T.38, when a new SIP
channel was allocated, or what an INVITE request was received.  This resulted
in any dialog associated with a peer that supported T.38 having udptl support
assigned to it, including the UDP ports needed for communication.  This
occurred even in non-INVITE dialogs that would never send image media.

This patch creates and initializes the udptl structure only when the SDP
for a dialog specifies that image media is supported, or when Asterisk
indicates through the appropriate control frame that a dialog is to support
T.38.

(closes issue ASTERISK-16698)
Reported by: under
Tested by: Stefan Schmidt
Patches: udptl_20120113.diff uploaded by mjordan (License #6283)

(closes issue ASTERISK-16794)
Reported by: Elazar Broad
Tested by: Stefan Schmidt

review: https://reviewboard.asterisk.org/r/1668/

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

13 years agoAdd missing code to set direct RTP setup information during dialing.
Joshua Colp [Mon, 16 Jan 2012 17:04:44 +0000 (17:04 +0000)] 
Add missing code to set direct RTP setup information during dialing.

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

13 years agoAllow only one thread at a time to do asterisk cleanup/shutdown.
Walter Doekes [Sun, 15 Jan 2012 20:07:13 +0000 (20:07 +0000)] 
Allow only one thread at a time to do asterisk cleanup/shutdown.

Add locking around the really-really-quit part of the core stop/restart
part. Previously more than one thread could be called to do cleanup,
causing atexit handlers to be run multiple times, in turn causing
segfaults.

(issue ASTERISK-18883)
Reviewed by: Terry Wilson
Review: https://reviewboard.asterisk.org/r/1662/
Review: https://reviewboard.asterisk.org/r/1658/

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

13 years agoFix -Werror=unused-but-set-variable compile error in utils/extconf.c.
Walter Doekes [Sun, 15 Jan 2012 19:47:07 +0000 (19:47 +0000)] 
Fix -Werror=unused-but-set-variable compile error in utils/extconf.c.

Note that I'm not confirming legitimacy of having that file in tree at
all. Is anyone using aelparse/conf2ael?

(issue ASTERISK-15350)

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

13 years agoEnsure that all AC_LANG_PROGRAM calls in the configure script are properly quoted.
Kevin P. Fleming [Sat, 14 Jan 2012 16:40:17 +0000 (16:40 +0000)] 
Ensure that all AC_LANG_PROGRAM calls in the configure script are properly quoted.

Recent versions of autoconf (2.68 on my system) won't properly process the configure
script unless every call to AC_LANG_PROGRAM is m4-quoted. Many calls in the script
were, but many were not. This patch corrects the unquoted calls.

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

13 years agoCorrect some 'set-but-not-used' variable warnings.
Kevin P. Fleming [Sat, 14 Jan 2012 15:23:32 +0000 (15:23 +0000)] 
Correct some 'set-but-not-used' variable warnings.

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

13 years agoEnsure that two prerequisites are properly installed on Debian-style distributions.
Kevin P. Fleming [Sat, 14 Jan 2012 15:22:33 +0000 (15:22 +0000)] 
Ensure that two prerequisites are properly installed on Debian-style distributions.

* Don't specify a specific version of libgmime; newer versions are available
  now and acceptable.

* Install libsrtp so that res_srtp can be built.

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

13 years agoRun bootstrap.sh for the for the ASTERISK-18929 fix
Kinsey Moore [Fri, 13 Jan 2012 22:05:07 +0000 (22:05 +0000)] 
Run bootstrap.sh for the for the ASTERISK-18929 fix

configure and autoconfig.h.in were not regenerated when the fix was committed.

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

13 years agoCorrect eventtype names in cel_odbc and cel_pgsql sample files
Richard Mudgett [Fri, 13 Jan 2012 21:51:03 +0000 (21:51 +0000)] 
Correct eventtype names in cel_odbc and cel_pgsql sample files

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

13 years agoMake sure asterisk builds on OpenBSD
Kinsey Moore [Fri, 13 Jan 2012 21:40:32 +0000 (21:40 +0000)] 
Make sure asterisk builds on OpenBSD

OpenBSD defines SO_PEERCRED, but it returns a 'struct sockpeercred', not
'struct ucred', which causes compilation of main/asterisk.c to fail in
read_credentials().  This allows configure to check for sockpeercred and
asterisk to deal with it properly.

(closes issue ASTERISK-18929)
Reported-by: Barry Miller
Patch-by: Barry Miller
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@350730 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoSet port to a default sane value if a bogus one is provided when parsing hostnames.
Mark Michelson [Fri, 13 Jan 2012 20:29:03 +0000 (20:29 +0000)] 
Set port to a default sane value if a bogus one is provided when parsing hostnames.

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

13 years agoUse compatible names for event extra data for various CEL backends.
Richard Mudgett [Fri, 13 Jan 2012 17:23:57 +0000 (17:23 +0000)] 
Use compatible names for event extra data for various CEL backends.

* Change eventextra to extra in cel_psql.c and cel_odbc.c.

* Change EventExtra to Extra in cel_manager.c.

(issue ASTERISK-17190)

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

13 years agoAdd missing CEL logging fields to various CEL backends.
Richard Mudgett [Fri, 13 Jan 2012 17:12:51 +0000 (17:12 +0000)] 
Add missing CEL logging fields to various CEL backends.

* Add missing eventextra to cel_psql.c and cel_odbc.c.

* Add missing PeerAccount and EventExtra to cel_manager.c.

* Add missing userdeftype support for cel_custom.conf.sample and
cel_sqlite3_custom.conf.sample.

(closes issue ASTERISK-17190)
Reported by: Bryant Zimmerman

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

13 years agoRealtime queues failed to load queue information without queue member table
Matthew Jordan [Fri, 13 Jan 2012 16:57:33 +0000 (16:57 +0000)] 
Realtime queues failed to load queue information without queue member table

Previously, realtime queues could be loaded without defining the queue member
table.  This allowed for queue members to be dynamic, while the realtime
queue definitions could exist in some backing storage.  Revision 342223 broke
this when it changed the return value for realtime_multientry to return NULL
when no results are returned.  Previously, an empty ast_config object was
expected.

(closes issue ASTERISK-19170)
Reported by: Rene Mendoza
Tested by: Rene Mendoza
Patches:
  rt_queue_member_patch.diff uploaded by Matt Jordan (license 6283)

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

13 years agoAdds peer to CEL report on CEL_BRIDGE_START and CEL_BRIDGE_END
Jonathan Rose [Thu, 12 Jan 2012 15:57:44 +0000 (15:57 +0000)] 
Adds peer to CEL report on CEL_BRIDGE_START and CEL_BRIDGE_END

(closes issue ASTERISK-17940)
Reporter: Nic Colledge
Patches:
features_18.patch uploaded by Nic Colledge (license 6245)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(closes issue ASTERISK-17825)
Reported by: wangjin

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

13 years agolive_ast: valgrind: run asterisk under valgrind
Richard Mudgett [Mon, 9 Jan 2012 18:54:56 +0000 (18:54 +0000)] 
live_ast: valgrind: run asterisk under valgrind

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

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

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

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

13 years agoUpdate contrib script live_ast to invoke Asterisk with valgrind and suppression file.
Richard Mudgett [Mon, 9 Jan 2012 18:40:33 +0000 (18:40 +0000)] 
Update contrib script live_ast to invoke Asterisk with valgrind and suppression file.

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

(issue ASTERISK-17339)
Reported by: Tzafrir Cohen
Patches:
      valgrind_compare (license #5035) script uploaded by Tzafrir Cohen
      live_ast_valgrind.diff (license #5035) patch uploaded by Tzafrir Cohen
      live_ast_valgrind_v2.diff (license #5185) patch uploaded by Paul Belanger

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

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

The Asterisk -x command line parameter is documented inconsistently.

* Made the -x documentation and behavior consistent.

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

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

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

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

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

(closes issue AST-744)

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

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

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

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

(closes issue ASTERISK-16538)

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

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

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

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

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

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

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

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

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

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

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

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

(closes issue ASTERISK-18994)
Patch-by: Timo Teras
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@349731 65c4cc65-6c06-0410-ace0-fbb531ad65f3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(closes issue ASTERISK-17958)
Reported-by: johnc
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@349529 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoUpdate autosupport script and man page
Kinsey Moore [Wed, 4 Jan 2012 20:00:33 +0000 (20:00 +0000)] 
Update autosupport script and man page

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

13 years agoIn ChanSpy, don't create audiohooks that will never be used.
Sean Bright [Fri, 23 Dec 2011 17:25:01 +0000 (17:25 +0000)] 
In ChanSpy, don't create audiohooks that will never be used.

When ChanSpy is initialized it creates and attaches 3 audiohooks:

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

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

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

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

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

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

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

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