]> git.ipfire.org Git - thirdparty/asterisk.git/log
thirdparty/asterisk.git
13 years agoFix a couple of documentation problems in app_queue.c
Mark Michelson [Fri, 10 Aug 2012 21:21:36 +0000 (21:21 +0000)] 
Fix a couple of documentation problems in app_queue.c

* The RemoveQueueMember app made mention of options that could
be passed in, but no options are supported. I have removed the
listing of options from the documentation.

* The RQMSTATUS variable did not list "NOTDYNAMIC" as a possible
value that could be set.

(closes issue AST-949)
reported by Steve Pitts

(closes issue AST-954)
reported by Steve Pitts

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

13 years agoremove ALREADYGONE flag on ooh323 call data by ooh323_indicate
Alexandr Anikin [Fri, 10 Aug 2012 16:40:48 +0000 (16:40 +0000)] 
remove ALREADYGONE flag on ooh323 call data by ooh323_indicate
(CONGESTION/BUSY) due to call hasn't gone there really.
This indication arrive from asterisk core not h.323 stack

(closes issue ASTERISK-19308)
Reported by: Dmitry Melekhov
Patches:
        ASTERISK-19308.patch

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

13 years agoSend re-register packets by GRQ (gatekeeper request) interval
Alexandr Anikin [Fri, 10 Aug 2012 15:10:20 +0000 (15:10 +0000)] 
Send re-register packets by GRQ (gatekeeper request) interval

(close issue ASTERISK-20094)

Patches:
   ASTERISK-20094-2.patch

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

13 years agoUse better libss7 detection test and move libpri compile test.
Richard Mudgett [Thu, 9 Aug 2012 18:58:44 +0000 (18:58 +0000)] 
Use better libss7 detection test and move libpri compile test.

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

13 years agoFix to resend GRQ/RRQ if RRJ (registration reject) is received
Alexandr Anikin [Thu, 9 Aug 2012 18:58:08 +0000 (18:58 +0000)] 
Fix to resend GRQ/RRQ if RRJ (registration reject) is received

(close issue ASTERISK-20094)

Patches:
   ASTERISK-20094.patch

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

13 years agochange opening h323 logfile with append mode instead of overwrite
Alexandr Anikin [Thu, 9 Aug 2012 18:02:01 +0000 (18:02 +0000)] 
change opening h323 logfile with append mode instead of overwrite

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

13 years agoCorrect documentation for the MeetMe x flag
Kinsey Moore [Thu, 9 Aug 2012 17:39:03 +0000 (17:39 +0000)] 
Correct documentation for the MeetMe x flag

The documentation for the x flag for MeetMe incorrectly described its
function as closing down the conference when the last marked user left.
It actually causes the users with that flag to leave the conference
when the last marked user exits. The functionality of this flag is not
changing.

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

13 years agoFix Not Unreferencing A Spied Channel
Michael L. Young [Wed, 8 Aug 2012 22:40:01 +0000 (22:40 +0000)] 
Fix Not Unreferencing A Spied Channel

When a channel hangs up while being spied upon and the option to exit the
ChanSpy application when the spied on channel hangs up is set,
ast_autochan_destroy is not being called and therefore a reference to the spied
upon channel is not removed.

The symptom being reported was that when using func_group in the dialplan and
calling "group show channels" at the cli, the spied upon channel was still
being shown while "core show channels" showed that the channel was not up.

This patch calls ast_autochan_destroy when a spied upon channel hangs up and
the option to exit the ChanSpy application is set, removing the reference to
the channel allowing the count for the group that the spied channel was part of
to be decremented.

(closes issue ASTERISK-17515)
Reported by: Arkadiusz Malka
Tested by: Alexandr Gordeev, Michael L. Young
Patches:
    asterisk-17515-destroy-autochan.diff
                                    uploaded by Michael L. Young (license 5026)

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

13 years agoDo not define a cause that doesn't actually exist
Kinsey Moore [Wed, 8 Aug 2012 20:28:40 +0000 (20:28 +0000)] 
Do not define a cause that doesn't actually exist

AST_CAUSE_NOTDEFINED is a placeholder for usage when there is no cause
information. As such, it should not be defined and translatable as a
cause.

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

13 years agoFix the analog dial *0 flash-hook of bridged peer feature.
Richard Mudgett [Wed, 8 Aug 2012 19:58:52 +0000 (19:58 +0000)] 
Fix the analog dial *0 flash-hook of bridged peer feature.

The flash-hook the bridged peer feature now correctly determines if the
bridged peer is another chan_dahdi channel, that it is an analog channel,
and that it has the correct signaling for an FXO port.  It now also
flash-hooks the correct channel.

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

13 years agoAdd missing AST_CAUSE_* -> text translations
Kinsey Moore [Tue, 7 Aug 2012 19:19:49 +0000 (19:19 +0000)] 
Add missing AST_CAUSE_* -> text translations

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

13 years agoImprove debug message for temporary outbound proxies.
Mark Michelson [Mon, 6 Aug 2012 15:00:08 +0000 (15:00 +0000)] 
Improve debug message for temporary outbound proxies.

Thanks to Paul Belanger for pointing this out.

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

13 years agoSeriously? Another compilation error fixed.
Mark Michelson [Fri, 3 Aug 2012 21:43:52 +0000 (21:43 +0000)] 
Seriously? Another compilation error fixed.

Somebody beat me.

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

13 years agoRemove unused variable.
Mark Michelson [Fri, 3 Aug 2012 21:39:35 +0000 (21:39 +0000)] 
Remove unused variable.

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

13 years agoFix error in the "IPorHost" section of a SIP dialstring.
Mark Michelson [Fri, 3 Aug 2012 21:35:00 +0000 (21:35 +0000)] 
Fix error in the "IPorHost" section of a SIP dialstring.

This is based on the review request posted by Walter Doekes
(referenced lower in the commit message)

The main fix here is to treat the IPorHost portion of the dial
string as a temporary outbound proxy. This ensures requests
get sent to the proper location.

Due to the age of the request, some parts were no longer relevant.
For instance, the request moved outbound proxy parsing code into
a single method. This is done in a previous commit, so it was not
necessary to do again.

Also, the review request fixed some errors with regards to request
routing for CANCEL and ACK requests. This has also been fixed in
more recent commits.

(closes issue ASTERISK-19677)
reported by Walter Doekes

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

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

13 years agoRevert alloca changes for utils
Kinsey Moore [Wed, 1 Aug 2012 02:25:09 +0000 (02:25 +0000)] 
Revert alloca changes for utils

These changes were a tad overzealous in the utils directory.
Unfortunately, these don't compile with a "make".

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

13 years agoSchedule pokes of registered SIP peers within a given timespan after SIP reload
Matthew Jordan [Tue, 31 Jul 2012 20:54:34 +0000 (20:54 +0000)] 
Schedule pokes of registered SIP peers within a given timespan after SIP reload

With a large number of SIP peers registered, performing a SIP reload causes a
flood of SIP OPTIONS request packets.  These are immediately sent out, and, as
responses come back, can cause peers to be flagged as 'lagged' due to handling
of the many response messages.

This fix prevents this "packet storm" and schedules the pokes for a random
time.  That time varies between 1 ms and the peer's qualify time, or, if
the qualify time is unknown, the global qualifyfreq setting.

The committed patch has some very small modifications to the patch schmidts
wrote for the review.

(closes issue ASTERISK-19154)
Reported by: Nicolo Mazzon
patches:
  issue19154.patch license #6034 uploaded by schmidts

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

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

13 years agoClean up and ensure proper usage of alloca()
Kinsey Moore [Tue, 31 Jul 2012 19:31:42 +0000 (19:31 +0000)] 
Clean up and ensure proper usage of alloca()

This replaces all calls to alloca() with ast_alloca() which calls gcc's
__builtin_alloca() to avoid BSD semantics and removes all NULL checks
on memory allocated via ast_alloca() and ast_strdupa().

(closes issue ASTERISK-20125)
Review: https://reviewboard.asterisk.org/r/2032/
Patch-by: Walter Doekes (wdoekes)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@370642 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoHelp mitigate potential reinvite glare scenarios.
Mark Michelson [Tue, 31 Jul 2012 15:26:47 +0000 (15:26 +0000)] 
Help mitigate potential reinvite glare scenarios.

When Asterisk servers are set up back-to-back, and
direct media is to be used betweeen endpoints, it is
fairly common for the two Asterisk servers to send
direct media reinvites to each other simultaneously.
This results in 491s and ACKs being exchanged between
the servers. While the media eventually gets set up
properly, the problem is that there can be a noticeable
delay for the streams to stabilize.

This patch adds a new directmedia option called "outgoing".
With this set, an immediate direct media reinvite will only
be sent if the call direction is outgoing. For incoming
dialogs, an immediate direct media reinvite will not be sent,
but further "reactionary" direct media reinvites may be sent.

For those who are having some deja vu, that's because this
patch was originally committed to trunk since there is a
new configuration option added. After seeing a bug report
about audio being slow to set up on SIP calls, it became
apparent that this patch would be the best solution for
resolving the issue. The patch is unintrusive and will
have no effect unless the option is explicitly enabled.

(closes issue AST-896)
reported by Thomas Arimont

(closes issue ASTERISK-19857)
reported by Matt Jordan

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

13 years agoRelease B channel allocation on error path in chan_misdn.
Richard Mudgett [Mon, 30 Jul 2012 16:47:19 +0000 (16:47 +0000)] 
Release B channel allocation on error path in chan_misdn.

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

13 years agores_agi: Add message indicating need for \n character in verbose message
Jonathan Rose [Wed, 25 Jul 2012 21:00:00 +0000 (21:00 +0000)] 
res_agi: Add message indicating need for \n character in verbose message

The while loop responsible for reading AGI messages from a fastAGI service
can end up looping indefinitely when an AGI script fails to indicate the end
of a message with a \n character. This patch adds an indication that we are
expecting a \n character to end the message to make it more clear to users
that this is necessary if they are receiving this warning over and over.

(issue ASTERISK-20061)
Reported by: Eike Kuiper

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

13 years agoRewrite a comment that didn't adequately explain the code it was documenting.
Kevin P. Fleming [Tue, 24 Jul 2012 16:53:39 +0000 (16:53 +0000)] 
Rewrite a comment that didn't adequately explain the code it was documenting.

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

13 years agochan_oss: fix "sample rate" error message
Tzafrir Cohen [Tue, 24 Jul 2012 16:49:30 +0000 (16:49 +0000)] 
chan_oss: fix "sample rate" error message

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

13 years agoImprove documentation for the SHELL() dialplan function.
Kevin P. Fleming [Mon, 23 Jul 2012 21:09:26 +0000 (21:09 +0000)] 
Improve documentation for the SHELL() dialplan function.

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

13 years agoFree any datastores attached to dummy channels.
Kevin P. Fleming [Mon, 23 Jul 2012 14:41:03 +0000 (14:41 +0000)] 
Free any datastores attached to dummy channels.

Revision 370205 added the use of a datastore attached to a dummy channel to
resolve a memory leak, but ast_dummy_channel_destructor() in this branch did
not free datastores, resulting in a continued (but slightly smaller) memory
leak. This patch backports the change to free said datastores from the Asterisk
trunk.

(related to issue AST-916)

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

13 years agoFix compiler warnings.
Richard Mudgett [Thu, 19 Jul 2012 22:07:46 +0000 (22:07 +0000)] 
Fix compiler warnings.

gcc (GCC) 4.2.4 has problems casting away constness.

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

13 years agoFix compilation error when MALLOC_DEBUG is enabled
Matthew Jordan [Thu, 19 Jul 2012 22:00:14 +0000 (22:00 +0000)] 
Fix compilation error when MALLOC_DEBUG is enabled

To fix a memory leak in CEL, a channel datastore was introduced whose
destruction function pointer was pointed to the ast_free macro.  Without
MALLOC_DEBUG enabled this compiles as fine, as ast_free is defined as free.
With MALLOC_DEBUG enabled, however, ast_free takes on a definition from a
different place then utils.h, and became undefined.  This patch resolves this
by using a reference to ast_free_ptr.  When MALLOC_DEBUG is enabled, this
calls ast_free; when MALLOC_DEBUG is not enabled, this is defined to be
ast_free, which is defined to be free.

(issue AST-916)
Reported by: Thomas Arimont

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

13 years agoHandle extremely out of order RFC 2833 DTMF
Matthew Jordan [Thu, 19 Jul 2012 20:15:04 +0000 (20:15 +0000)] 
Handle extremely out of order RFC 2833 DTMF

The current implementation of RFC 2833 DTMF handling in res_rtp_asterisk will,
if a packet arrives out of order, drop the packet.  This is to prevent
duplicate ton generation in the Asterisk core.  Since the RTP layer does not
buffer data itself, this is the only option the RTP layer currently has for
handling packets that arrive out of order.

For the most part, this doesn't matter.  For a particular digit, so long as a
BEGIN packet arrives before the first END packet, the digit will be produced.
If subsequent BEGIN packets arrive interleaved with the ENDs, they will be
dropped; likewise, if the BEGIN or END packets themselves are out of order,
those packets are dropped but sufficient information is conveyed to the
Asterisk core to produce the appropriate digit.

For certain sequences of DTMF packets - most notably when, for a particular
digit, an END packet arrives before any BEGIN packet for that digit - this
is a real problem.  When an END arrives before any BEGINs, the END packet is
dropped - but at the same time, it causes subsequent BEGIN packets for that
digit to be ignored.  When the next in order END packet arrives, it too is
dropped - Asterisk believes that there was no initial BEGIN.

The solution this patch provides is to trust the END packet to convey the
information needed for the Asterisk core to produce the DTMF digit.  If we
receive an END packet, and it:
  * Has a timestamp greater then the last timestamp received from an END
    packet
  * Does not have the same sequence number as the last received sequence
    number (and is thus not an END packet retransmission)
Then we send the END frame up to the Asterisk core.  It contains enough
DTMF information for Asterisk to produce the digit.

On the other hand, if we receive a BEGIN or continuation packet that occurs
with a timestamp equal to or less then the last END timestamp, then we've
received something out of order - but we already have received enough
information to produce the digit.  These packets are dropped.

Much thanks goes to Olle Johansson (oej) for providing the idea for this
solution.

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

(closes issue ASTERISK-18404)
Reported by: Stephane Chazelas
Tested by: Matt Jordan

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

13 years agoResolve severe memory leak in CEL logging modules.
Kevin P. Fleming [Wed, 18 Jul 2012 19:12:03 +0000 (19:12 +0000)] 
Resolve severe memory leak in CEL logging modules.

A customer reported a significant memory leak using Asterisk 1.8. They
have tracked it down to ast_cel_fabricate_channel_from_event() in
main/cel.c, which is called by both in-tree CEL logging modules
(cel_custom.c and cel_sqlite3_custom.c) for each and every CEL event
that they log.

The cause was an incorrect assumption about how data attached to an
ast_channel would be handled when the channel is destroyed; the data
is now stored in a datastore attached to the channel, which is
destroyed along with the channel at the proper time.

(closes issue AST-916)
Reported by: Thomas Arimont
Review: https://reviewboard.asterisk.org/r/2053/

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

13 years agoEnsure that all ast_datastore_info structures are 'const'.
Kevin P. Fleming [Wed, 18 Jul 2012 17:10:36 +0000 (17:10 +0000)] 
Ensure that all ast_datastore_info structures are 'const'.

While addressing a bug, I came across a instance of 'struct ast_datastore_info'
that was not declared 'const'. Since the API already expects them to be
'const', this patch changes the declarations of all existing instances
that were not already declared that way.

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

13 years agoCode cleanup and bugfix in chan_sip outboundproxy parsing.
Walter Doekes [Mon, 16 Jul 2012 19:50:00 +0000 (19:50 +0000)] 
Code cleanup and bugfix in chan_sip outboundproxy parsing.

The bug was clearing the global outboundproxy when a peer-specific
outboundproxy was bad. The cleanup reduces duplicate code.

Review: https://reviewboard.asterisk.org/r/2034/
Reviewed by: Mark Michelson

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

13 years agoAdd comments about the BUILD_NATIVE change
Kinsey Moore [Mon, 16 Jul 2012 13:44:38 +0000 (13:44 +0000)] 
Add comments about the BUILD_NATIVE change

This is a significant change and mention of it should have gone into
UPGRADE.txt and CHANGES.

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

13 years agoAdd missing ast_hangup() calls on some analog exception paths.
Richard Mudgett [Thu, 12 Jul 2012 20:15:42 +0000 (20:15 +0000)] 
Add missing ast_hangup() calls on some analog exception paths.

Make starting analog_ss_thread() or __analog_ss_thread() failure paths
hangup the channel.

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

13 years agoInclude Expires header for SIP PUBLISH requests
Kinsey Moore [Thu, 12 Jul 2012 20:05:01 +0000 (20:05 +0000)] 
Include Expires header for SIP PUBLISH requests

RFC3903 requres SIP PUBLISH requests to have Expires headers, so add
them.

Review: https://reviewboard.asterisk.org/r/2003/
Patch-by: gareth
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@370014 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoPrevent double uri_escaping in chan_sip when pedantic is enabled
Kinsey Moore [Thu, 12 Jul 2012 18:54:29 +0000 (18:54 +0000)] 
Prevent double uri_escaping in chan_sip when pedantic is enabled

If pedantic mode is enabled, outbound invites will have double-escaped
contacts.  This avoids setting an already-escaped string into a field
where it is expected to be unescaped.

(closes issue ASTERISK-20023)
Reported by: Walter Doekes

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

13 years agoCorrect Documentation For DEC Function
Michael L. Young [Thu, 12 Jul 2012 14:23:50 +0000 (14:23 +0000)] 
Correct Documentation For DEC Function

The documentation for DEC in func_math.c was incorrect.  Looks like a copy and
paste error.

(Closes issue ASTERISK-20095)
Reported by: Billy Chia
Tested by: Michael L. Young
Patches:
    func_math.patch uploaded by Billy Chia (license 6381)

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

13 years agoAllow the REALTIME() function to report errors back to the caller.
Tilghman Lesher [Wed, 11 Jul 2012 17:08:59 +0000 (17:08 +0000)] 
Allow the REALTIME() function to report errors back to the caller.

Also, do more error checking on the arguments specified to the REALTIME()
function and clarify the documentation.  While I was editing the file, a
few coding guidelines fixups, as well.

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

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

13 years agoImprove Goto and GotoIf related documentation
Kinsey Moore [Tue, 10 Jul 2012 13:33:53 +0000 (13:33 +0000)] 
Improve Goto and GotoIf related documentation

Correct documentation on labeliftrue and labeliffalse parameters of
GotoIf() and update several other locations that use the same syntax.

(closes issue ASTERISK-20007)
Patch-by: Leif Madsen
Reported-by: WIMPy
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@369869 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoAdd Digium phones context to sip_notify sample config.
Jason Parker [Mon, 9 Jul 2012 17:05:47 +0000 (17:05 +0000)] 
Add Digium phones context to sip_notify sample config.

This makes it so that they can be reconfigured remotely.

(closes issue ASTERISK-19910)

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

13 years agochan_sip: Fix small behavioral change accidentally introduced in r369750
Jonathan Rose [Mon, 9 Jul 2012 14:38:18 +0000 (14:38 +0000)] 
chan_sip: Fix small behavioral change accidentally introduced in r369750

When removing the warning for AST_CONTROL_FLASH from sip_indicate, I also
inadvertently changed the return value, which would likely make the indication
not be sent in audio. This fixes that while still removing the warning message.

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

13 years agochan_sip: Add case for FLASH control frames so that we don't display a warning.
Jonathan Rose [Fri, 6 Jul 2012 20:54:04 +0000 (20:54 +0000)] 
chan_sip: Add case for FLASH control frames so that we don't display a warning.

chan_sip channels can receive flash control frames when connected to analog
phones and possibly for other reasons. There really isn't a reason to warn when
these frames are received, we can safely ignore them.

Patches:
    dahdi_sip_flash.diff uploaded by Jonathan Rose (license 6182)

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

13 years agoRemove a superfluous and dangerous freeing of an SSL_CTX.
Mark Michelson [Fri, 6 Jul 2012 18:40:06 +0000 (18:40 +0000)] 
Remove a superfluous and dangerous freeing of an SSL_CTX.

The problem here is that multiple server sessions share
a SSL_CTX. When one session ended, the SSL_CTX would be
freed and set NULL, leaving the other sessions unable to
function.

The code being removed is superfluous because the SSL_CTX
structures for servers will be properly freed when ast_ssl_teardown
is called.

(closes issue ASTERISK-20074)
Reported by Trevor Helmsley
Patches:
ASTERISK-20074.diff uploaded by Mark Michelson (license #5049)
Testers:
Trevor Helmsley

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

13 years agoFix bridging thread leak.
Mark Michelson [Fri, 6 Jul 2012 15:20:11 +0000 (15:20 +0000)] 
Fix bridging thread leak.

The bridge thread was exiting but was never being
reaped using pthread_join(). This has been fixed now
by calling pthread_join() in ast_bridge_destroy().

(closes issue ASTERISK-19834)
Reported by Marcus Hunger

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

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

13 years agoAST-2012-011: Resolve heap corruption issue with voicemail
Kinsey Moore [Thu, 5 Jul 2012 19:01:52 +0000 (19:01 +0000)] 
AST-2012-011: Resolve heap corruption issue with voicemail

The heard and deleted arrays in the voicemail state structure were not
handled properly following the memory leak fix in r354890 and a fix for
an invalid free in r356797.  This could result in accessing and writing
into freed memory.  The allocation for these arrays has been reworked
to avoid the possibility of invalid frees, access of freed memory, and
crashes that were occurring as a result of this.

Locking around accesses and modifications of the voicemail state
structure members dh_arraysize, heard, and deleted has been added to
prevent simultaneous modification and access when IMAP storage is in
use.  If IMAP storage is not in use, this locking is not compiled in.

Review: https://reviewboard.asterisk.org/r/1994/
(closes issue ASTERISK-19923)
Reported by: Dan Delaney
Tested by: Dan Delaney, Julian Yap
Patches:
  vm_alloc_fix.diff uploaded by kmoore (license 6273)

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

13 years agoDo not send a BYE when a provisional response arrives during a re-INVITE
Matthew Jordan [Thu, 5 Jul 2012 17:01:52 +0000 (17:01 +0000)] 
Do not send a BYE when a provisional response arrives during a re-INVITE

Commits r369557 and r369579 were done to improve handling of re-INVITEs
when the UA that was supposed to receive the re-INVITE fails to respond.
A limitation of those patches occurred when a UA sent a provisional
response to the re-INVITE.  This triggered a sending of a BYE in
check_pending.  This patch tweaks the handling of the re-INVITE such that
a BYE is not sent in response to those messages.

(issue ASTERISK-19992)
Reported by: Steve Davies
Tested by: Steve Davies
patches:
  (reinvite_tweak.diff license #5012 by Steve Davies)

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

13 years agoMore improvements to re-INVITEs timing out after a provisional response
Terry Wilson [Tue, 3 Jul 2012 16:58:16 +0000 (16:58 +0000)] 
More improvements to re-INVITEs timing out after a provisional response

There is no need to call check_pendings() on a final response to an INVITE
when destroying the scheduler entry as it will be done later during normal
processing.

(issue ASTERISK-19992)

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

13 years agoBetter handle re-INVITEs with provisional but no final repsonses
Terry Wilson [Tue, 3 Jul 2012 14:27:02 +0000 (14:27 +0000)] 
Better handle re-INVITEs with provisional but no final repsonses

A previous attempt at fixing this issue had negative side effects related
to attended transfers which this patch should resolve. Many thanks to
Steve Davies for all of the good suggestions and testing.

(closes issue ASTERISK-19992)
Reported by: Steve Davies
Tested by: Steve Davies, Terry Wilson
Review: https://reviewboard.asterisk.org/r/2009/

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

13 years agoWith some configurations a transport is not actually specified so assume UDP in these...
Joshua Colp [Fri, 29 Jun 2012 16:52:56 +0000 (16:52 +0000)] 
With some configurations a transport is not actually specified so assume UDP in these cases.

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

13 years agoMake the address family filter specific to the transport.
Joshua Colp [Fri, 29 Jun 2012 15:28:58 +0000 (15:28 +0000)] 
Make the address family filter specific to the transport.

(closes issue ASTERISK-16618)
Reported by: Leif Madsen

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

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

13 years agoAST-2012-010: Clean up after a reinvite that never gets a final response
Terry Wilson [Wed, 27 Jun 2012 20:58:51 +0000 (20:58 +0000)] 
AST-2012-010: Clean up after a reinvite that never gets a final response

The basic problem is that if a re-INVITE is sent by Asterisk and it receives a
provisional response, but no final response, then the dialog is never torn
down. In addition to leaking memory, this also leaks file descriptors and will
eventually lead to Asterisk no longer being able to process calls.

This patch just keeps track of whether there is an outstanding re-INVITE, and if
there is goes ahead and cleans up everything as though there was no outstanding
reinvite.

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

(closes issue ASTERISK-19992)
Reported by: Steve Davies
Tested by: Steve Davies, Terry Wilson

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

13 years agoFix crash in unloading of res_adsi module
Matthew Jordan [Tue, 26 Jun 2012 13:21:13 +0000 (13:21 +0000)] 
Fix crash in unloading of res_adsi module

When res_adsi is unloaded, it removes the ADSI functions that it previously installed
by passing a NULL adsi_funcs pointer to ast_adsi_install_funcs.  This function was not
checking whether or not the adsi_funcs pointer passed in was NULL before dereferencing
it to check whether or not the version of the functions matches what the core was
expecting it.

This patch makes it so that the version is only checked if a potentially valid adsi_funcs
pointer was passed in.  Passing in NULL removes the installed functions, bypassing the
version check.

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

13 years agoTweak CDR change in r369351
Matthew Jordan [Mon, 25 Jun 2012 19:24:55 +0000 (19:24 +0000)] 
Tweak CDR change in r369351

As Tilghman pointed out on review 1996, the check to see if a CDR end time has
been set is sufficient to know whether or not the duration value can be used.
The check-in done for r369351 forgot to include this change.

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

13 years agoRe-fix how local tag is generated when sending a 481 to an INVITE.
Mark Michelson [Mon, 25 Jun 2012 19:13:31 +0000 (19:13 +0000)] 
Re-fix how local tag is generated when sending a 481 to an INVITE.

Match our local tag to whatever to-tag was sent in the initial INVITE.
Because the size of the to-tag may not fit in the buffer in the sip_pvt,
it has been changed to a string field.

(closes issue ASTERISK-19892)
reported by Walter Doekes

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

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

13 years agoFix incorrect duration reporting in CDRs created in batch mode
Matthew Jordan [Mon, 25 Jun 2012 19:12:35 +0000 (19:12 +0000)] 
Fix incorrect duration reporting in CDRs created in batch mode

Certain places in core/cdr.c would, if the duration value were 0, calculate the
duration as being the delta between the current time and the time at which the
CDR record was started.  While this does not typically cause a problem in
non-batch mode, this can cause an issue in batch mode where CDR records are
gathered and written long after those calls have ended. In particular, this
affects calls that were never answered, as those are expected to have a duration
of 0.  Often, this would result in CDR logs with a significant number of calls
with lengthy durations, but dispositions of "BUSY".

Note that this does not affect cdr_csv, as that backend does not use
ast_cdr_getvar and instead directly reports the duration value.  The affected
core backends include cdr_apative_odbc and cdr_custom; other extended or
deprecated CDR backends may potentially still directly manipulate the duration
values.

(issue ASTERISK-19860)
Reported by: Thomas Arimont

(issue AST-883)
Reported by: Thomas Arimont
Tested by: Matt Jordan

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

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

13 years agoFix Bridge application occasionally returning to the wrong location.
Richard Mudgett [Mon, 25 Jun 2012 15:57:28 +0000 (15:57 +0000)] 
Fix Bridge application occasionally returning to the wrong location.

* Fix do_bridge_masquerade() getting the resume location from the zombie
channel.  The code must not touch a clone channel after it has masqueraded
it.  The clone channel has become a zombie and is starting to hangup.

(closes issue ASTERISK-19985)
Reported by: jamicque
Patches:
      jira_asterisk_19985_v1.8.patch (license #5621) patch uploaded by rmudgett
Tested by: jamicque

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

13 years agoForgot to svn add this file in my last commit.
Mark Michelson [Mon, 25 Jun 2012 15:50:17 +0000 (15:50 +0000)] 
Forgot to svn add this file in my last commit.

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

13 years agoEliminate embedding of res_adsi.so module.
Mark Michelson [Mon, 25 Jun 2012 15:35:43 +0000 (15:35 +0000)] 
Eliminate embedding of res_adsi.so module.

The way this is done is to stop using the optional API.
Instead, res_adsi.so, when loaded fills in a table of
function pointers.

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

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

13 years agoBe more consistent with the return code for requests received from invalid domain.
Mark Michelson [Mon, 25 Jun 2012 14:18:09 +0000 (14:18 +0000)] 
Be more consistent with the return code for requests received from invalid domain.

When Asterisk receives an INVITE from an external domain when allowexternaldomains=no
send a 403 instead of a 404. This is consistent with Asterisk's behavior when receiving
a REGISTER in this situation.

(Closes issue ASTERISK-19601)
Reported by Matthew Jordan
Patches:
ASTERISK-19601-no401.patch uploaded by Mark Michelson (License #5049)

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

13 years agoFix Bridge application and AMI Bridge action error handling.
Richard Mudgett [Sat, 23 Jun 2012 00:04:31 +0000 (00:04 +0000)] 
Fix Bridge application and AMI Bridge action error handling.

* Fix AMI Bridge action disconnecting the AMI link on error.

* Fix AMI Bridge action and Bridge application not checking if their
masquerades were successful.

* Fix Bridge application running the h-exten when it should not.

* Made do_bridge_masquerade() return if the masquerade was successful so
the Bridge application and AMI Bridge action could deal with it correctly.

* Made bridge_call_thread_launch() hangup the passed in channels if the
bridge_call_thread fails to start.  Those channels would have been
orphaned.

* Made builtin_atxfer() check the success of the transfer masquerade
setup.

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

13 years agoExplicitly check caller hangup in app Queue rather than a polluted res2 value.
Richard Mudgett [Fri, 22 Jun 2012 22:07:35 +0000 (22:07 +0000)] 
Explicitly check caller hangup in app Queue rather than a polluted res2 value.

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

13 years agoCheck if PBX was started and fix F and F(x) action logic in Dial application.
Richard Mudgett [Fri, 22 Jun 2012 21:35:16 +0000 (21:35 +0000)] 
Check if PBX was started and fix F and F(x) action logic in Dial application.

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

13 years agoCheck if PBX was started for generic CCSS recall.
Richard Mudgett [Fri, 22 Jun 2012 21:03:17 +0000 (21:03 +0000)] 
Check if PBX was started for generic CCSS recall.

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

13 years agoChange incorrect chan_sip zombie hangup debug message. They are all zombies now.
Richard Mudgett [Fri, 22 Jun 2012 20:47:12 +0000 (20:47 +0000)] 
Change incorrect chan_sip zombie hangup debug message.  They are all zombies now.

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

13 years agoDon't crash on a guest directmedia call
Terry Wilson [Fri, 22 Jun 2012 19:28:04 +0000 (19:28 +0000)] 
Don't crash on a guest directmedia call

A sip_pvt may not have relatedpeer set if a call doesn't match up
with a peer. If there is no relatedpeer, there is no direct media
ACL to apply, so just return that it is allowed.

(closes issue ASTERISK-20040)
Reported by: Terry Wilson

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

13 years agoDon't parse media stream state for SIP video streams
Kinsey Moore [Fri, 22 Jun 2012 17:14:10 +0000 (17:14 +0000)] 
Don't parse media stream state for SIP video streams

The sendonly/recvonly/sendrecv/inactive media stream attributes were
parsed for video, but nothing was ever done with them.  With this code
removed, an UNSUPPORTED message is produced when these attributes are
used in conjunction with a video stream which is the better behavior
since they were never really supported in the first place.

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

13 years agofix locking issue on empty callList
Alexandr Anikin [Wed, 20 Jun 2012 17:33:12 +0000 (17:33 +0000)] 
fix locking issue on empty callList
(issue ASTERISK-19298)
Reported by:
        Dmitry Melekhov
Patches:
        ASTERISK-18322-2.patch

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

13 years agofix compile error (1.8 don't have ast_channel_name macro)
Alexandr Anikin [Wed, 20 Jun 2012 09:15:22 +0000 (09:15 +0000)] 
fix compile error (1.8 don't have ast_channel_name macro)

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

13 years agoFix NULL pointer segfault in ast_sockaddr_parse()
Michael L. Young [Wed, 20 Jun 2012 02:03:22 +0000 (02:03 +0000)] 
Fix NULL pointer segfault in ast_sockaddr_parse()

While working with ast_parse_arg() to perform a validity check, a segfault
occurred.  The segfault occurred due to passing a NULL pointer to
ast_sockaddr_parse() from ast_parse_arg().  According to the documentation in
config.h, "result pointer to the result.  NULL is valid here, and can be used to
perform only the validity checks."

This patch fixes the segfault by checking for a NULL pointer.  This patch also
adds documentation to netsock2.h about why it is necessary to check for a NULL
pointer.

(Closes issue ASTERISK-20006)
Reported by: Michael L. Young
Tested by: Michael L. Young
Patches:
asterisk-20006-netsock-null-ptr.diff uploaded by Michael L. Young (license 5026)

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

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

13 years agocheck rtptimeouts in ooh323 channels as per config file
Alexandr Anikin [Tue, 19 Jun 2012 23:28:09 +0000 (23:28 +0000)] 
check rtptimeouts in ooh323 channels as per config file
(rtp voice, video, udptl except rtcp)

(closes issue ASTERISK-19179)
Reported by: TSAREGORODTSEV Yury
Patches:
        19179-ooh323-2.patch

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

13 years agoFix request routing issue when outboundproxy is used.
Mark Michelson [Tue, 19 Jun 2012 15:30:58 +0000 (15:30 +0000)] 
Fix request routing issue when outboundproxy is used.

Asterisk was incorrectly setting the destination of CANCELs
and ACKs for error responses to the URI of the initial INVITE.
This resulted in further requests, such as INVITEs with authentication
credentials, to be routed incorrectly. Instead, when these CANCEL
or ACKs are to be sent, we should simply keep the destination the
same as what it previously was. There is no need to alter it any.

(closes issue ASTERISK-20008)
Reported by Marcus Hunger
Patches:
ASTERISK-20008.patch uploaded by Mark Michelson (license #5049)

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

13 years agoFix monitoring calls put in a parking lot.
Richard Mudgett [Mon, 18 Jun 2012 18:07:35 +0000 (18:07 +0000)] 
Fix monitoring calls put in a parking lot.

* Fix a regression that was introduced by -r366167 which effectively
disabled monitoring parked calls.

(closes issue ASTERISK-20012)
Reported by: sdolloff
Tested by: rmudgett

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

13 years agoAdd a script to enable finding source files without support-levels defined.
Kevin P. Fleming [Fri, 15 Jun 2012 15:57:14 +0000 (15:57 +0000)] 
Add a script to enable finding source files without support-levels defined.

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

13 years agoAdd support-level indications to many more source files.
Kevin P. Fleming [Fri, 15 Jun 2012 15:56:08 +0000 (15:56 +0000)] 
Add support-level indications to many more source files.

Since we now have tools that scan through the source tree looking for files
with specific support levels, we need to ensure that every file that is
a component of a 'core' or 'extended' module (or the main Asterisk binary)
is explicitly marked with its support level. This patch adds support-level
indications to many more source files in tree, but avoids adding them to
third-party libraries that are included in the tree and to source files
that don't end up involved in Asterisk itself.

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

13 years agoRevert Makefile change to remove embedding res_adsi.so
Mark Michelson [Thu, 14 Jun 2012 15:23:10 +0000 (15:23 +0000)] 
Revert Makefile change to remove embedding res_adsi.so

The change has resulted in a linking error for certain versions
of GCC. This is much worse than the original issue, so for now,
temporarily revert the change. A more thorough change will be
sought out.

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

13 years agoFix a deadlock that occurs when func_volume is used on a local channel.
Mark Michelson [Wed, 13 Jun 2012 20:59:01 +0000 (20:59 +0000)] 
Fix a deadlock that occurs when func_volume is used on a local channel.

This was discovered by trying to perform a call forward to an extension
that makes use of func_volume. When the local channel is optimized away,
the datastore on the local;2 channel would have its audiohook destroyed
rather than detaching the audiohook from the channel and then destroying
it.

With this patch, func_volume's datastore destructor takes the proper
route of detaching the audiohook and then destroying it.

(closes issue ASTERISK-19611)
reported by Volker Sauer
Patches:
ASTERISK-19611.patch uploaded by Mark Michelson (license #5049)

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

13 years agoMark res_smdi/res_adsi as 'core' supported modules
Matthew Jordan [Wed, 13 Jun 2012 20:26:07 +0000 (20:26 +0000)] 
Mark res_smdi/res_adsi as 'core' supported modules

Recently, various issues surrounding weak symbols have caused problems with
modules that rely on that feature to be enabled in menuselect.  This includes
app_voicemail and chan_dahdi, as they both rely upon res_smdi and res_adsi,
which, in certain circumstances, may not be enabled by default in menuselect.

Because res_smdi/res_adsi are dependencies for chan_dahdi/app_voicemail, this
patch marks both as 'core' supported modules.  This will allow both
app_voicemail and chan_dahdi to be enabled as well, regardless of whether or
not that system supports weak symbols.

(issue AST-900)
Reported by: Thomas Arimont

(issue AST-885)
Reported by: Denis Alberto Martinez

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

13 years agoRemove forced linking of res_adsi.o
Mark Michelson [Wed, 13 Jun 2012 19:00:21 +0000 (19:00 +0000)] 
Remove forced linking of res_adsi.o

In GCC 4.5+ the result is that Asterisk has a phantom
module loaded at startup, claiming to be res_adsi.

(closes issue ASTERISK-19920)
reported by Leif Madsen

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

13 years agoDo not install empty directories; add ASTLIBDIR
Matthew Jordan [Wed, 13 Jun 2012 14:27:57 +0000 (14:27 +0000)] 
Do not install empty directories; add ASTLIBDIR

r368830 modified the installation script to only create a directory if that
directory does not exist.  If some directory variable was empty, it would attempt
to create the empty location.  It also failed to create the ASTLIBDIR directory.
This patch fixes it such that the correct directories are made and only created if
a value specifying them actually exists.

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

13 years agoDo not perform install on existing directories
Matthew Jordan [Tue, 12 Jun 2012 18:23:01 +0000 (18:23 +0000)] 
Do not perform install on existing directories

If a directory already exists, performing a 'make install' will remove the
permissions associated with the current directory and replace them with the
permissions of the user executing the install.

This patch changes this behavior to only perform an install on the directory
if the directory does not exist.  Thus, if a user later changes the permissions
on that directory, those permissions will be preserved in subsequent installs.

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

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

(closes issue ASTERISK-19492)
Reported by: Karl Fife
Tested by: Paul Belanger, Tilghman Lesher
patches:
  ASTERISK-19492 by pabelanger
  (uploaded by mjordan)

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

13 years agoSet the Caller ID "tag" on peers even if remote party information is present.
Mark Michelson [Tue, 12 Jun 2012 15:36:34 +0000 (15:36 +0000)] 
Set the Caller ID "tag" on peers even if remote party information is present.

On incoming calls, we were setting the cid_tag on the dialog only if there was
no remote party information (Remote-Party-ID or P-Asserted-Identity) present.
The Caller ID tag is an invented parameter, though, and should be set no matter
the circumstance.

(closes issue ASTERISK-19859)
Reported by Thomas Arimont
(closes issue AST-884)
Reported by Trey Blancher

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

13 years agoFix deadlock potential with ast_set_hangupsource() calls.
Richard Mudgett [Mon, 11 Jun 2012 17:03:02 +0000 (17:03 +0000)] 
Fix deadlock potential with ast_set_hangupsource() calls.

Calling ast_set_hangupsource() with the channel lock held can result in a
deadlock because the function also locks the bridged channel.

(issue ASTERISK-19537)

(closes issue ASTERISK-19801)
Reported by: Alec Davis

(closes issue AST-891)
Reported by: Guenther Kelleter
Tested by: Guenther Kelleter

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

13 years agoFix coverity UNUSED_VALUE findings in core support level files
Kinsey Moore [Mon, 11 Jun 2012 15:13:22 +0000 (15:13 +0000)] 
Fix coverity UNUSED_VALUE findings in core support level files

Most of these were just saving returned values without using them and
in some cases the variable being saved to could be removed as well.

(issue ASTERISK-19672)

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

13 years agoFix compilation in dev-mode
Kinsey Moore [Mon, 11 Jun 2012 14:10:13 +0000 (14:10 +0000)] 
Fix compilation in dev-mode

Backport a compilation fix in md5.c from trunk that only showed up in
dev-mode under certain compiler versions.

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

13 years agoFix POTS flash hook to orignate a second call deadlock.
Richard Mudgett [Wed, 6 Jun 2012 21:27:33 +0000 (21:27 +0000)] 
Fix POTS flash hook to orignate a second call deadlock.

A deadlock can occur when a POTS phone tries to flash hook to originate a
second call for 3-way or transfer.  If another process is scanning the
channels container when the POTS line flash hooks then a deadlock will
occur.

* Release the channel and private locks when creating a new channel as a
result of a flash hook.

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

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

13 years agoFix a specific scenario where ACKs are not matched.
Mark Michelson [Wed, 6 Jun 2012 19:13:45 +0000 (19:13 +0000)] 
Fix a specific scenario where ACKs are not matched.

If a dialog-starting INVITE contains a to-tag, then Asterisk
will respond with a 481. In this case, the resulting incoming
ACK would not be matched, so Asterisk would continue retransmitting
the 481 until the transaction times out.

There were two issues. Asterisk, upon creating a sip_pvt would generate
a local tag. However, when the time came to transmit the 481, since there
was a to-tag in the INVITE, Asterisk would place this original to-tag
in the 481 response. When the ACK came in, Asterisk would attempt to
match the to-tag in the ACK to the generated local tag. Unfortunately,
Asterisk never actually transmitted a response with the generated local
tag, so the to-tag in the ACK would not match.

The other problem was that when the 481 was sent, nothing was set
on the sip_pvt to indicate what CSeq is expected in the ACK.

To fix the first problem, we zero out the to-tag seen in the incoming
INVITE. This way, Asterisk, when time to send a response, will send
its generated local tag instead.

To fix the second problem, we set the sip_pvt's pendinginvite to the
CSeq of the INVITE when we send a 481.

(closes issue ASTERISK-19892)
Reported by Mark Michelson

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

13 years agoAdd feature modifier to versions produced from branches
Matthew Jordan [Wed, 6 Jun 2012 17:20:07 +0000 (17:20 +0000)] 
Add feature modifier to versions produced from branches

Certain branches, such as Certified Asterisk, may have a modifier added to
them that specifies the features available in that branch.  For branches, this
modifier is expected to be reflected in the location of the branch in
subversion. For example, a subversion of URL of /certified/branches/1.8.11
would have a feature modifier of 'certified'.  This is slightly different then
how features are determined for tags, where the feature is part of the actual
tag name, e.g., "10.5.0-digiumphones".

In keeping with the nomenclature used for tags, the feature specifier for
branches is translated and placed after the revision numbers.  For the example
given previously, this would result in a branch version of
"Asterisk SVN-branch-1.8.11-cert-rXXXXXX".

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

13 years agoEnsure overlapping hold flags do not conflict
Kinsey Moore [Wed, 6 Jun 2012 16:07:02 +0000 (16:07 +0000)] 
Ensure overlapping hold flags do not conflict

When changing between different modes of hold, the flags were not being
cleared out properly causing a failure to change hold states.

(closes issue ASTERISK-19919)
Patch-by: Morten Tryfoss
Reported-by: Morten Tryfoss
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@368586 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoFix parked call performing a DTMF blind transfer after being retrieved.
Richard Mudgett [Wed, 6 Jun 2012 01:08:29 +0000 (01:08 +0000)] 
Fix parked call performing a DTMF blind transfer after being retrieved.

When a parked call was retrieved from the parking lot, it could not do a
blind transfer because it caused the involved calls to be hung up
unconditionally.

* Made the ParkedCall application return the ast_bridge_call() return
value.

(closes issue ABE-2862)
Reported by: Vlad Povorozniuc

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

13 years agoResolve some build warnings
Kinsey Moore [Tue, 5 Jun 2012 15:26:05 +0000 (15:26 +0000)] 
Resolve some build warnings

My newly upgraded compiler caught these usages of uninitialized values.
They weren't actually used.

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

13 years agoEnsure that pages and emails are sent using RFC822-compliant date format
Kinsey Moore [Tue, 5 Jun 2012 15:15:57 +0000 (15:15 +0000)] 
Ensure that pages and emails are sent using RFC822-compliant date format

When localization was added to app_voicemail, these headers were altered
when they should have remained in en_US format for RFC compliance. This
reverts the changes to those two lines.

(closes issue ASTERISK-19876)

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

13 years agoRelay proper SIP responses on calling side.
Mark Michelson [Mon, 4 Jun 2012 21:56:05 +0000 (21:56 +0000)] 
Relay proper SIP responses on calling side.

Revision 351130 broke corect HANGUPCAUSE setting
for the 404 case in chan_sip. Other cases were also
potentially broken. This patch fixes the relaying
of causes to be what they used to be.

(closes issue ASTERISK-19914)
Reported by Pavel Troller
Tested by Walter Doekes (via a reviewboard test to be committed later)
Patches:
chan_sip.diff uploaded by Pavel Troller (license #6302)

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

13 years agoDocument BLINDTRANSFER behavior change.
Richard Mudgett [Mon, 4 Jun 2012 21:10:29 +0000 (21:10 +0000)] 
Document BLINDTRANSFER behavior change.

(issue ASTERISK-19322)

(closes issue ASTERISK-19875)
Reported by: call

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

13 years agoFix potential deadlock between masquerade and chan_local.
Richard Mudgett [Mon, 4 Jun 2012 18:41:18 +0000 (18:41 +0000)] 
Fix potential deadlock between masquerade and chan_local.

* Restructure ast_do_masquerade() to not hold channel locks while it calls
ast_indicate().

* Simplify many calls to ast_do_masquerade() since it will never return a
failure now.  If it does fail internally because a channel driver callback
operation failed, the only thing ast_do_masquerade() can do is generate a
warning message about strange things may happen and press on.

* Fixed the call to ast_bridged_channel() in ast_do_masquerade().  This
change fixes half of the deadlock reported in ASTERISK-19801 between
masquerades and chan_iax.

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

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

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

13 years agoFix deadlock when Gosub used with alternate dialplan switches.
Richard Mudgett [Fri, 1 Jun 2012 23:21:00 +0000 (23:21 +0000)] 
Fix deadlock when Gosub used with alternate dialplan switches.

Attempting to remove a channel from autoservice with the channel lock held
will result in deadlock.

* Restructured gosub_exec() to not call ast_parseable_goto() and
ast_exists_extension() with the channel lock held.

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

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

13 years agoImprove SDP parsing warning messages
Kevin P. Fleming [Fri, 1 Jun 2012 18:18:25 +0000 (18:18 +0000)] 
Improve SDP parsing warning messages

* 'Unsupported media type' is only reported when that is in fact the case,
   not when a supported media type is included in an 'm' line that has an
   invalid format.

* All warning messages related to parsing 'm' lines now include the 'm' line contents.

* (minor bugfix) newline added to port-number-zero warning messages.

* Warning messages improved to use RFC-specified terminology for various items.

* Warnings for offers that include more than one port for a single media type now
  include the media type.

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

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

13 years agoAdd documentation to function CHANNEL for options echocan_mode and buffers
Michael L. Young [Fri, 1 Jun 2012 03:25:52 +0000 (03:25 +0000)] 
Add documentation to function CHANNEL for options echocan_mode and buffers

The ability to set "echocan_mode" and "buffers" through the dialplan was added
to chan_dahdi some time ago.  This patch adds some documentation to
func_channel.

(Closes issue ASTERISK-19911)
Reported by: Dale Noll
Tested by: Michael L. Young
Patches:
  asterisk-19911-branch18.diff uploaded by Michael L. Young (license 5026)

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

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

13 years agoCoverity Report: Fix issues for error type REVERSE_INULL (core modules)
Richard Mudgett [Thu, 31 May 2012 18:00:59 +0000 (18:00 +0000)] 
Coverity Report: Fix issues for error type REVERSE_INULL (core modules)

* Fixes findings: 0-2,5,7-15,24-26,28-31

(issue ASTERISK-19648)
Reported by: Matt Jordan

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

13 years agoUse the DEADLOCK_AVOIDANCE() macro instead.
Richard Mudgett [Wed, 30 May 2012 18:05:48 +0000 (18:05 +0000)] 
Use the DEADLOCK_AVOIDANCE() macro instead.

(issue ASTERISK-19854)

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

13 years agoFix deadlock when executing CLI "pri show channels" and "ss7 show channels" commands.
Richard Mudgett [Wed, 30 May 2012 17:21:43 +0000 (17:21 +0000)] 
Fix deadlock when executing CLI "pri show channels" and  "ss7 show channels" commands.

* Fix sig_pri_lock_owner() to avoid deadlock properly.

* Code pri_grab() better.

* Fix sig_ss7_lock_owner() to avoid deadlock properly.

* Code ss7_grab() better.

(closes issue ASTERISK-19854)
Reported by: Jaxon
Patches:
      jira_asterisk_19854_v1.8.6.patch (license #5621) patch uploaded by rmudgett (Modified to do the same thing to sig_ss7)
Tested by: Jaxon

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

13 years agoCoverity Report: Fix issues for error type REVERSE_INULL (deprecated modules)
Richard Mudgett [Tue, 29 May 2012 22:25:21 +0000 (22:25 +0000)] 
Coverity Report: Fix issues for error type REVERSE_INULL (deprecated modules)

* Fix only issue pointed out by deprecated_REVERSE_INULL.txt for
app_meetme.c in find_user().

* Change use of %i to %d in sscanf() in find_user().  The use of %i gives
unexpected parsing because it can accept hex, octal, and decimal integer
formats.

* Changed other uses of %i in app_meetme() to use %d for consistency.

(issue ASTERISK-19648)
Reported by: Matt Jordan

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