]> git.ipfire.org Git - thirdparty/asterisk.git/log
thirdparty/asterisk.git
13 years agoFix documentation of 's' option.
Jason Parker [Thu, 17 Nov 2011 17:04:05 +0000 (17:04 +0000)] 
Fix documentation of 's' option.

The menu key is #, not *.

Reported by p3nguin on #asterisk.

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

13 years agoGuarantee messages go into the right folders with multiple recipients
Jonathan Rose [Wed, 16 Nov 2011 14:42:18 +0000 (14:42 +0000)] 
Guarantee messages go into the right folders with multiple recipients

Before, using the U flag in Voicemail with multiple recipients would put urgent messages
in the INBOX folder for all users past the first thanks to a bug with the message
copying function. This would also cause messages to fail to be sent if the INBOX
directory hadn't been created for that mailbox yet.

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

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

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

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

13 years agoMake FastAGI HANGUP show up in AGI debug output.
Richard Mudgett [Tue, 15 Nov 2011 20:09:02 +0000 (20:09 +0000)] 
Make FastAGI HANGUP show up in AGI debug output.

* Change from using send() to ast_agi_send() so the HANGUP shows up in the
AGI debug output.

(closes issue ASTERISK-18723)
Reported by: James Van Vleet
Patches:
      jira_asterisk_18723_v1.8.patch (license #5621) patch uploaded by rmudgett

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

13 years agoFix typo in sig_pri using wrong structure name.
Richard Mudgett [Tue, 15 Nov 2011 18:15:23 +0000 (18:15 +0000)] 
Fix typo in sig_pri using wrong structure name.

It is fortunate that the typo does not alter generated code since the
e->restart.channel and e->ring.channel members are in the same position.

(closes issue ASTERISK-18868)
Reported by: zvision
Patches:
      sig_pri.c.diff (License #5755) patch uploaded by zvision

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

13 years agoMake queue log indicate if ADDMEMBER is paused for AMI and realtime.
Richard Mudgett [Mon, 14 Nov 2011 22:19:18 +0000 (22:19 +0000)] 
Make queue log indicate if ADDMEMBER is paused for AMI and realtime.

* Add parameter to queue log ADDMEMBER to indicate if the member is
paused.

(closes issue ASTERISK-18645)
Reported by: garlew
Patches:
      paused.diff (License #5337) patch uploaded by garlew
Tested by: rmudgett, garlew

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

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

13 years agoRestore SIP DTMF overlap dialing method.
Richard Mudgett [Mon, 14 Nov 2011 21:43:39 +0000 (21:43 +0000)] 
Restore SIP DTMF overlap dialing method.

The recent fix for ASTERISK-17288 to get RFC3578 SIP overlap support
working correctly removed a long standing ability to do overlap dialing
using DTMF in the early media phase of a call.

See ASTERISK-18702 it has a very good description of the issue.

I started with Pavel Troller's chan_sip.diff patch on issue
ASTERISK-18702.

* Added 'dtmf' enum value to sip.conf allowoverlap config option.  The new
option value causes the Incomplte application to not send anything with
chan_sip so the caller can supply more digits via DTMF.

* Renames SIP_GET_DEST_PICKUP_EXTEN_FOUND to SIP_GET_DEST_EXTEN_MATCHMORE
since that is what it really means.

* Fixed get_destination() inconsistency with the pickup extension
matching.

* Fixed initialization of PAGE3 of global_flags in reload_config().

(closes issue ASTERISK-18702)
Reported by: Pavel Troller

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

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

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

13 years agoFix Progress spelling error in main/pbx.c.
Richard Mudgett [Mon, 14 Nov 2011 20:45:49 +0000 (20:45 +0000)] 
Fix Progress spelling error in main/pbx.c.

(closes issue ASTERISK-18857)
Reported by: David M
Patches:
      mainpbx-trivial.patch (License #6326) patch uploaded by David M

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

13 years agoDon't read past end of input when calling write()
Terry Wilson [Mon, 14 Nov 2011 19:05:09 +0000 (19:05 +0000)] 
Don't read past end of input when calling write()

int blah = 1;
...
write(chan->alertpipe[1], &blah, new_frames * sizeof(blah)) !=
(new_frames * sizeof(blah)))

is only valid when new_frames == 1. Otherwise we start reading into adjacent
variables declared on the stack. The read end discards what is read, so the
values don't matter but it's not a good idea to read past where we want even
though new_frames is almost always 1 and should never be large. This patch is
basically taken out of kpfleming's eventfd branch, as he mentioned that he
remembered fixing it there when I talked to him about this issue.

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

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

13 years agoUpdate reqresp_parser parse_uri doxygen comments.
Walter Doekes [Mon, 14 Nov 2011 19:00:28 +0000 (19:00 +0000)] 
Update reqresp_parser parse_uri doxygen comments.

The issue mentioned in the bug report had been fixed recently by
twilson. The reporter included this documentation fix.

(closes issue ASTERISK-18572)
Reported by: Richard Miller
Patch by: Richard Miller (modified)

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

13 years agoEnsure that a null vmexten does not cause a segfault
Kinsey Moore [Mon, 14 Nov 2011 15:08:12 +0000 (15:08 +0000)] 
Ensure that a null vmexten does not cause a segfault

When sip_send_mwi_to_peer was modified recently to avoid deadlocks, vmexten
was not expected to be null.  This change handles that situation to avoid
a segfault.

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

13 years agoMoves voicemail setup password entry to the end of the setup process.
Jonathan Rose [Mon, 14 Nov 2011 15:00:05 +0000 (15:00 +0000)] 
Moves voicemail setup password entry to the end of the setup process.

This change was made because forcegreeting and forcename settings in voicemail could be
circumvented by hanging up after entering a password, because the only way voicemail
currently observes whether a mailbox is new or not is by checking to see if the password
is the same as the mailbox number or not.

(closes issue ASTERISK-18282)
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/1581/

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

13 years agomISDN Round Robin break when no channel is available
Gregory Nietsky [Sat, 12 Nov 2011 16:05:45 +0000 (16:05 +0000)] 
mISDN Round Robin break when no channel is available

Prevent channels been parsed repetitively.

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

13 years agoDon't forget to rescan MOH files for cached realtime classes
Terry Wilson [Sat, 12 Nov 2011 00:24:43 +0000 (00:24 +0000)] 
Don't forget to rescan MOH files for cached realtime classes

Realtime MOH class caching was implemented because without it, you would build
a completely new MOH class and would start the music over at the beginning each
time hold was pressed in a conversation. Unfortunately, this broke re-scanning
for file changes for realtime MOH classes. This patch corrects that issue.

(closes issue ASTERISK-18039)
Review: https://reviewboard.asterisk.org/r/1579/

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

13 years agoUse __alignof__ instead of sizeof for stringfield length storage.
Walter Doekes [Fri, 11 Nov 2011 21:54:47 +0000 (21:54 +0000)] 
Use __alignof__ instead of sizeof for stringfield length storage.

Kevin P Fleming suggested that r343157 should use __alignof__ instead
of sizeof. For most systems this won't be an issue, but better fix it
now while it's still fresh.

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

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

13 years agoRemove unneeded if(params) checks in reqresp_parser.
Walter Doekes [Fri, 11 Nov 2011 21:33:13 +0000 (21:33 +0000)] 
Remove unneeded if(params) checks in reqresp_parser.

Nick Lewis added them in https://reviewboard.asterisk.org/r/549/diff/1-2/
for no apparent reason. There is no way that params could become NULL in
that piece of code, so I removed these excess checks again.

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

13 years agoFix bad quoting of multiline mxml opaque_data that caused invalid xml.
Walter Doekes [Fri, 11 Nov 2011 21:21:58 +0000 (21:21 +0000)] 
Fix bad quoting of multiline mxml opaque_data that caused invalid xml.

The opaque_data was added and enclosed in single quotes, assuming it
would be only a single line. The rest of the lines were appended after
the closing quote.

(closes issue ASTERISK-18852)
Reported by: peep_ on IRC

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

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

13 years agoVideo format was treated as audio when removed from the file playback scheduler
Matthew Jordan [Fri, 11 Nov 2011 20:42:56 +0000 (20:42 +0000)] 
Video format was treated as audio when removed from the file playback scheduler

This patch fixes the format type check in ast_closestream and
filestream_destructor.  Previously a comparison operator was used, but since
audio formats are no longer contiguous (and AST_FORMAT_AUDIO_MASK includes
formats that have a value greater than the video formats), a bitwise AND
operation is used instead.  Duplicated code was also moved to filestream_close.

(closes issue ASTERISK-18682)
Reported by: Aldo Bedrij
Tested by: Matt Jordan

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

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

13 years agoFix regression introduced by SDP fixups
Kinsey Moore [Fri, 11 Nov 2011 20:10:58 +0000 (20:10 +0000)] 
Fix regression introduced by SDP fixups

If capability is adjusted when switching to UDPTL during fax transmission, fax
teardown fails.  Make sure capability is only touched if RTP is active.  This
regression was introduced in R344385.

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

13 years agoCheck sip.conf maxforwards parameter for range 1 <= x <= 255.
Richard Mudgett [Fri, 11 Nov 2011 18:35:09 +0000 (18:35 +0000)] 
Check sip.conf maxforwards parameter for range 1 <= x <= 255.

JIRA AST-710

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

13 years agoMake CLI "core show channel" not hold the channel lock during console output.
Richard Mudgett [Fri, 11 Nov 2011 17:56:51 +0000 (17:56 +0000)] 
Make CLI "core show channel" not hold the channel lock during console output.

Holding the channel lock while the CLI "core show channel" command is
executing can slow down the system.  It could block the system if the
console output is halted or paused.

* Made capture the CLI "core show channel" output into a buffer to be
output after the channel is unlocked.

* Removed use of C++ keyword as a variable name.  out renamed to obuf.

* Checked allocation of obuf for failure so will not crash.

(closes issue ASTERISK-18571)
Reported by: Pavel Troller
Tested by: rmudgett

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

13 years agoFix a segmentation fault when using an extension with CID matching and no CID.
Jonathan Rose [Fri, 11 Nov 2011 15:21:50 +0000 (15:21 +0000)] 
Fix a segmentation fault when using an extension with CID matching and no CID.

Attempting to call an extension which used Caller ID matching with a channel that
has an empty caller id string would result in a segmentation fault.

(closes issue ASTERISK-18392
Reported By: Ales Zelenik

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

13 years agoFix potential deadlock calling ast_call() with channel locks held.
Richard Mudgett [Thu, 10 Nov 2011 22:59:22 +0000 (22:59 +0000)] 
Fix potential deadlock calling ast_call() with channel locks held.

Fixed app_queue.c:ring_entry() calling ast_call() with the channel locks
held.  Chan_local attempts to do deadlock avoidance in its ast_call()
callback and could deadlock if a channel lock is already held.

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

13 years agoMake AMI event AgentCalled get CallerID/ConnectedLine info from the incoming channel.
Richard Mudgett [Thu, 10 Nov 2011 22:34:11 +0000 (22:34 +0000)] 
Make AMI event AgentCalled get CallerID/ConnectedLine info from the incoming channel.

It was strange that the AgentCalled AMI event would get most of its
information from the incoming channel but then get the CallerID
information from the outgoing channel.  Before connected line support was
added, this information was always the same at this point.

(closes issue ASTERISK-18152)
Reported by: Thomas Farnham
Tested by: rmudgett

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

13 years agoFix another incorrect case with meetme's PIN logic and add documentation
Kinsey Moore [Thu, 10 Nov 2011 21:14:11 +0000 (21:14 +0000)] 
Fix another incorrect case with meetme's PIN logic and add documentation

This fixes an issue where a user of a dynamic conference was asked for a PIN
twice.  This also adds documentation to assist in future modifications to the
piece of code responsible for PIN checking.

(closes issue AST-670)

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

13 years agoFix several bugs with SDP parsing and well-formedness of responses
Kinsey Moore [Thu, 10 Nov 2011 18:12:43 +0000 (18:12 +0000)] 
Fix several bugs with SDP parsing and well-formedness of responses

Fix bug ASTERISK-16558 which dealt with the order of responses to incoming
streams defined by SDP.

Fix unreported bug where offering multiple same-type streams would cause
Asterisk to reply with an incorrect SDP response missing one or more streams
without a proper declination.

Fix bugs related to a single non-audio stream being offered with responses
requesting codecs that were not offered in the initial invite along with an
additional audio stream that was not in the initial invite.

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

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

13 years agoonly attempt to do stun handling on ipv4 or ipv4 mapped to ipv6 addresses
Matthew Nicholson [Thu, 10 Nov 2011 16:18:04 +0000 (16:18 +0000)] 
only attempt to do stun handling on ipv4 or ipv4 mapped to ipv6 addresses

Patch by: jkonieczny (modified)
ASTERISK-18490

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

13 years agoFix deadlock during dialplan reload.
Richard Mudgett [Wed, 9 Nov 2011 20:37:53 +0000 (20:37 +0000)] 
Fix deadlock during dialplan reload.

Another deadlock between the conlock/hints and channels/channel locking
orders.

* Don't hold the channel and private lock in sip_new() when calling
ast_exists_extension().

(closes issue ASTERISK-18740)
Reported by: Byron Clark
Patches:
      sip_exists_exten_dlock_3.diff (license #5041) patch uploaded by Gregory Hinton Nietsky
      ASTERISK-18740.patch (license #6157) patch uploaded by Byron Clark
Tested by: Byron Clark

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

13 years agoDon't treat a host:port string as a domain
Terry Wilson [Wed, 9 Nov 2011 19:57:04 +0000 (19:57 +0000)] 
Don't treat a host:port string as a domain

The domain matching code prior to 1.8 used to manually remove the port
from the host:port string when determining if an incoming request
matched the list of domains. When switching to the new parsing
functions, the documentation implied that the "domain" was being
returned by these functions, when instead it was returning the
"hostport" as defined by RFC 3261. This led to confusion and resulted
in 1.8+ rejecting an incoming request from x.x.x.x:xxxxx when
domain=x.x.x.x was set in sip.conf.

This patch renames the "domain" variables in the parsing functions to
"hostport" to more accurately describe what it is that they are
returning and also properly truncates the resulting hostport strings
when dealing with domain matching.

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

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

13 years ago(closes issue ASTERISK-18748)
Alexandr Anikin [Wed, 9 Nov 2011 18:42:17 +0000 (18:42 +0000)] 
(closes issue ASTERISK-18748)
Reported by: Fabrizio Lazzaretti
Patches:
      ASTERISK-18748-5.patch (License #5415) patch uploaded by may213
Tested by: Fabrizio Lazzaretti

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

13 years agoAdd a unit test for ast_sockaddr_split_hostport
Terry Wilson [Wed, 9 Nov 2011 18:38:17 +0000 (18:38 +0000)] 
Add a unit test for ast_sockaddr_split_hostport

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

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

13 years agoFix pin parameter behavior regression in MeetMe
Kinsey Moore [Wed, 9 Nov 2011 17:13:53 +0000 (17:13 +0000)] 
Fix pin parameter behavior regression in MeetMe

The last time this code was touched (by me), a subtlety was missed based on the
difference between needing to check a pin's validity and the need to prompt
for a pin.

(closes issue ASTERISK-18488)

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

13 years agodon't call ltohl() twice on the same value
Matthew Nicholson [Wed, 9 Nov 2011 15:25:33 +0000 (15:25 +0000)] 
don't call ltohl() twice on the same value

ASTERISK-18739
Patch by: pawel (modified)

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

13 years agoFix crash when dialplan remove include is called with too few arguments.
Walter Doekes [Tue, 8 Nov 2011 19:25:05 +0000 (19:25 +0000)] 
Fix crash when dialplan remove include is called with too few arguments.

"dialplan remove include x from y" crashed when the amount of arguments
was less than 6.

(closes issue ASTERISK-18762)
Reported by: Andrey Solovyev
Tested by: Andrey Solovyev

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

13 years agoFixed reference to incorrect variable if unknown host configured crash.
Richard Mudgett [Tue, 8 Nov 2011 17:58:21 +0000 (17:58 +0000)] 
Fixed reference to incorrect variable if unknown host configured crash.

* Fixed a LOG_ERROR message referencing the config variable list v that
had previously been processed and became NULL.

* Added error return value set that was missing in an ast_append_ha()
error return path.

(closes issue ASTERISK-18743)
Reported by: Michele
Patches:
      issueA18743-fix_dynamic_exclude_static_bad_host_log.patch (license #5674) patch uploaded by Walter Doekes
Tested by: Michele

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

13 years agoFix boo-boo in prep_tarball script.
Leif Madsen [Tue, 8 Nov 2011 13:26:03 +0000 (13:26 +0000)] 
Fix boo-boo in prep_tarball script.

A hardcoded a branch number was in the prep_tarball which could not work. Changed
it to the  variable.

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

13 years agorespect case changes in peer names on sip reload
Matthew Nicholson [Mon, 7 Nov 2011 21:40:51 +0000 (21:40 +0000)] 
respect case changes in peer names on sip reload

ASTERISK-18669

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

13 years agoFix __sip_subscribe_mwi_do() incorectly changing dialogs hash key callid.
Richard Mudgett [Mon, 7 Nov 2011 21:13:21 +0000 (21:13 +0000)] 
Fix __sip_subscribe_mwi_do() incorectly changing dialogs hash key callid.

Changing an object value used as a container key requires removing the
object from the container and reinserting it.

* Created change_callid_pvt() to call instead of build_callid_pvt().  The
change_callid_pvt() will correctly change the dialog callid so the ao2
conainter can explicitly unlink it.

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

13 years agoPrevent BLF subscriptions from causing deadlocks
Kinsey Moore [Mon, 7 Nov 2011 20:27:38 +0000 (20:27 +0000)] 
Prevent BLF subscriptions from causing deadlocks

Fix a locking inversion in sip_send_mwi_to_peer that was causing deadlocks.
This function now requires that both the peer and associated pvt be unlocked
before it is called for cases where peer and peer->mwipvt form a circular
reference.

(closes issue ASTERISK-18663)
Review: https://reviewboard.asterisk.org/r/1563/

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

13 years agoFix deadlock if peer is destroyed while sending MWI notice.
Richard Mudgett [Mon, 7 Nov 2011 19:36:56 +0000 (19:36 +0000)] 
Fix deadlock if peer is destroyed while sending MWI notice.

A dialog cannot be destroyed by the ao2_callback dialog_needdestroy
because of a deadlock between the dialogs container lock and the RWLOCK of
the events subscription list.

* Create dialogs_to_destroy container to hold dialogs that will be
destroyed.

* Ensure that the event subscription callback will never happen with an
invalid peer pointer by making the event callback removal the first thing
in the peer destructor callback.

(closes issue ASTERISK-18747)
Reported by: Gregory Hinton Nietsky

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

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

13 years agoFix sqlite config driver segfault and broken queries
Walter Doekes [Thu, 3 Nov 2011 20:26:19 +0000 (20:26 +0000)] 
Fix sqlite config driver segfault and broken queries

The sqlite realtime handler assumed you had a static config configured
as well. The realtime multientry handler assumed that you weren't using
dynamic realtime.

(closes issue ASTERISK-18354)
(closes issue ASTERISK-18355)

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

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

13 years agoRemove invalid flag given to iterator in func_dialgroup.c
Richard Mudgett [Thu, 3 Nov 2011 19:56:37 +0000 (19:56 +0000)] 
Remove invalid flag given to iterator in func_dialgroup.c

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

13 years agoFinal fix memleaks in GkClient codes, same for Timer codes.
Alexandr Anikin [Thu, 3 Nov 2011 16:15:58 +0000 (16:15 +0000)] 
Final fix memleaks in GkClient codes, same for Timer codes.
(these memleaks stop development of gk codes, now i can continue)
Fix printHandler 'Unbalanced Structure' issues with locking printHandler
data for single thread.

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

13 years agoMake room for the fax detect flags
Terry Wilson [Thu, 3 Nov 2011 15:33:37 +0000 (15:33 +0000)] 
Make room for the fax detect flags

The original REGISTERTRYING flag, in addition to being impossible to
check, also encroached on the space for the flag above it. This
patch moves the flags that were below REGISTERTRYING back to where
they were as though we had just removed the REGISTERTRYING option.

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

13 years agoRemove registertrying option in chan_sip
Terry Wilson [Wed, 2 Nov 2011 22:59:36 +0000 (22:59 +0000)] 
Remove registertrying option in chan_sip

This option is not only useless, but has been broken since inception since
the flag was never copied from the peer where it is set to the pvt where
it was checked. RFC 3261 specificially states that you should not send a
provisional response to a non-INVITE request, and if we did fix the code
so that it worked, it would cause the same kind of user enumeration
vulnerability that we've discussed with the nat= setting. This patch
removes registertrying option and any code that would have sent a 100
response to a register.

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

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

13 years agoFix improper warning introduced by r342927 and more tweaks
Walter Doekes [Wed, 2 Nov 2011 22:21:40 +0000 (22:21 +0000)] 
Fix improper warning introduced by r342927 and more tweaks

Changeset r342927 introduced a warning which was only supposed to be
emitted when a found realtime peer had an empty (or no) name. It turned
out that there were some inconsistencies left. Now found peers with an
empty name are explicitly ignored like before r342927 but better.

Reviewed by: Stefan Schmidts, Terry Wilson

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

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

13 years agoEnsure that string field lengths are properly aligned
Walter Doekes [Wed, 2 Nov 2011 21:32:46 +0000 (21:32 +0000)] 
Ensure that string field lengths are properly aligned

Integers should always be aligned. For some platforms (ARM, SPARC) this
is more important than for others. This changeset ensures that the
string field string lengths are aligned on *all* platforms, not just on
the SPARC for which there was a workaround. It also fixes that the
length integer can be resized to 32 bits without problems if needed.

(closes issue ASTERISK-17310)
Reported by: radael, S Adrian
Reviewed by: Tzafrir Cohen, Terry Wilson
Tested by: S Adrian

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

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

13 years agoAdd note about how Authenticate() application with option 'd' works.
Leif Madsen [Wed, 2 Nov 2011 19:32:39 +0000 (19:32 +0000)] 
Add note about how Authenticate() application with option 'd' works.

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

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

13 years agoUpdate documentation for leastrecent strategy.
Leif Madsen [Wed, 2 Nov 2011 18:09:23 +0000 (18:09 +0000)] 
Update documentation for leastrecent strategy.

In queues.conf.sample the leastrecent strategy was incorrectly described. Now updated
to reflect how the strategy actually checks peers.

(closes issue ASTERISK-17854)
Reported by: Sebastian Denz
Patches:
     queues.conf-doc_issue.patch (License #6139)

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

13 years agoModify comments in MeetMe application documentation about DAHDI.
Kevin P. Fleming [Wed, 2 Nov 2011 13:44:17 +0000 (13:44 +0000)] 
Modify comments in MeetMe application documentation about DAHDI.

The MeetMe application documentation has some comments about usage of DAHDI,
and they were a bit outdated relative to modern DAHDI releases. This patch
changes the comment to just tell the user that a functional DAHDI timing
source is required, and no longer mention 'dahdi_dummy', since that module
does not exist in current DAHDI releases.

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

13 years agoSeveral fixes to the chan_sip dynamic realtime peer/user lookup
Walter Doekes [Tue, 1 Nov 2011 20:53:37 +0000 (20:53 +0000)] 
Several fixes to the chan_sip dynamic realtime peer/user lookup

There were several problems with the dynamic realtime peer/user lookup
code. The lookup logic had become rather hard to read due to lots of
incremental changes to the realtime_peer function. And, during the
addition of the sipregs functionality, several possibilities for memory
leaks had been introduced. The insecure=port matching has always been
broken for anyone using the sipregs family. And, related, the broken
implementation forced those using sipregs to *still* have an ipaddr
column on their sippeers table.

Thanks Terry Wilson for comprehensive testing and finding and fixing
unexpected behaviour from the multientry realtime call which caused
the realtime_peer to have a completely unused code path.

This changeset fixes the leaks, the lookup inconsistenties and that
you won't need an ipaddr column on your sippeers table anymore (when
you're using sipregs). Beware that when you're using sipregs, peers
with insecure=port will now start matching!

(closes issue ASTERISK-17792)
(closes issue ASTERISK-18356)
Reported by: marcelloceschia, Walter Doekes
Reviewed by: Terry Wilson

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

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

13 years agoCleanup references to sipusers and sipfriends dynamic realtime families
Walter Doekes [Tue, 1 Nov 2011 19:37:47 +0000 (19:37 +0000)] 
Cleanup references to sipusers and sipfriends dynamic realtime families

Somewhere between 1.4 and 1.8 the sipusers family has become completely
unused. Before that, the sipfriends family had been obsoleted in favor
of separate sipusers and sippeers families. Apparently, they have been
merged back again into a single family which is now called "sippeers".

Reviewed by: irroot, oej, pabelanger

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

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

13 years agoFixed invalid memory access when adding extension to pattern match tree
Matthew Jordan [Mon, 31 Oct 2011 15:58:06 +0000 (15:58 +0000)] 
Fixed invalid memory access when adding extension to pattern match tree

When an extension is removed from a context, its entry in the pattern match
tree is not deleted.  Instead, the extension is marked as deleted.  When an
extension is removed and re-added, if that extension is also a prefix of
another extension, several log messages would report an error and did not
check whether or not the extension was deleted before accessing the memory.
Additionally, if the extension was already in the tree but previously
deleted, and the pattern was at the end of a match, the findonly flag was
not honored and the extension would be erroneously undeleted.

Additionaly, it was discovered that an IAX2 peer could be unregistered
via the CLI, while at the same time it could be scheduled for unregistration
by Asterisk.  The unregistration method now checks to see if the peer
was already unregistered before continuing with an unregistration.

(closes issue ASTERISK-18135)
Reported by: Jaco Kroon, Henry Fernandes, Kristijan Vrban
Tested by: Matt Jordan

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

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

13 years agoFix AST_LIST_INSERT_BEFORE_CURRENT() updating the wrong variable.
Richard Mudgett [Sat, 29 Oct 2011 04:19:42 +0000 (04:19 +0000)] 
Fix AST_LIST_INSERT_BEFORE_CURRENT() updating the wrong variable.

AST_LIST_INSERT_BEFORE_CURRENT() could not be used twice in an iteration
or before AST_LIST_REMOVE_CURRENT() without corrupting the list.
AST_LIST_INSERT_BEFORE_CURRENT() could also corrupt the list if
AST_LIST_INSERT_BEFORE_CURRENT() or AST_LIST_REMOVE_CURRENT() is used on
the next iteration.

* Fixed cut and paste error using the wrong variable in
AST_LIST_INSERT_BEFORE_CURRENT().

* Added linked list unit tests for AST_LIST_INSERT_BEFORE_CURRENT(),
AST_LIST_APPEND_LIST(), and AST_LIST_INSERT_LIST_AFTER().

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

13 years agoFix sequence number overflow over 16 bits causing codec change in RTP packets.
Jonathan Rose [Thu, 27 Oct 2011 19:34:29 +0000 (19:34 +0000)] 
Fix sequence number overflow over 16 bits causing codec change in RTP packets.

Sequence number was handled as an unsigned integer (usually 32 bits I think, more
depending on the architecture) and was put into the rtp packet which is basically
just a bunch of bits using an or operation. Sequence number only has 16 bits
allocated to it in an RTP packet anyway, so it would add to the next field which
just happened to be the codec. This makes sure the sequence number is set to be
a 16 bit integer regardless of architecture (hopefully) and also makes it so the
incrementing of the sequence number does bitwise or at the peak of a 16 bit number
so that the value will be set back to 0 when going beyond 65535 anyway.

(closes issue ASTERISK-18291)
Reported by: Will Schick
Review: https://reviewboard.asterisk.org/r/1542/

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

13 years agoCleanup reference leaks in res_jabber
Jonathan Rose [Thu, 27 Oct 2011 13:58:21 +0000 (13:58 +0000)] 
Cleanup reference leaks in res_jabber

res_jabber.c had a number of places where astobjs would be referenced and have their
reference counts bumped without having a dereference made before the object lost scope.
This patch adds a number of ASTOBJ_UNREFs to resolve that.

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

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

13 years agoCheck fopen return value for ao2 reference debug output.
Richard Mudgett [Tue, 25 Oct 2011 22:04:59 +0000 (22:04 +0000)] 
Check fopen return value for ao2 reference debug output.

Reported by: wdoekes
Patched by: wdoekes

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

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

13 years agoChange D-channel warning to be less confusing on non-NFAS setups.
Richard Mudgett [Tue, 25 Oct 2011 21:45:54 +0000 (21:45 +0000)] 
Change D-channel warning to be less confusing on non-NFAS setups.

The "No D-channels available!  Using Primary channel as D-channel anyway!"
WARNING message has been confusing on non-NFAS setups.  The message refers
to things that are NFAS specific.

* Changed the warning to several different warnings to be more accurate
for the situation and less confusing as a result:
"No D-channels up!  Switching selected D-channel from X to Y.",
"No D-channels up!", and
"D-channel is down!".

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

13 years agoUse int for storing ao2_container_count instad of size_t
Terry Wilson [Tue, 25 Oct 2011 21:08:23 +0000 (21:08 +0000)] 
Use int for storing ao2_container_count instad of size_t

AST-676

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

13 years agoSimplify queue membercount code
Terry Wilson [Tue, 25 Oct 2011 20:02:55 +0000 (20:02 +0000)] 
Simplify queue membercount code

Despite an ominous sounding comment stating that membercount was for "logged
in" members only and thus we couldn't use ao2_container_count(), I could not
find a single place in the code where that seemed to be accurate. The only time
we decremented membercount was when we were marking something dead or actually
removing it. The only places we incremented it were either after ao2_link(), or
trying to correct for having set it to 0 during a reload. In every case where
we were correcting the value, it seemed that we were trying to make the count
actually match what ao2_container_count() would return. The only place I could
find where we made a determination about something being "logged in" or not, we
didn't trust the membercount, but instead looked at devicestate, paused, etc.

This patch removes membercount, replaces its use with ao2_container_count, and
manually adds the results of ao2_container_count to a "membercount" field for
ast_data queue query results. This patch also would fix AST-676, but as it is
slightly riskier than the previously committed fix, the two commits have been
made separately.

Reivew: https://reviewboard.asterisk.org/r/1541/

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

13 years agoProperly update membercount for reloaded members
Terry Wilson [Tue, 25 Oct 2011 19:52:16 +0000 (19:52 +0000)] 
Properly update membercount for reloaded members

Since q->membercount is set to 0 before reloading, it is important
to increment it again for reloaded members as well as added.

(closes issue AST-676)

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

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

13 years agoFix compilation on Snow Leopard/FreeBSD for pbx_spool.c
Kinsey Moore [Tue, 25 Oct 2011 19:08:04 +0000 (19:08 +0000)] 
Fix compilation on Snow Leopard/FreeBSD for pbx_spool.c

One of the changes in the recent spool handling of hardlinks patch was just
outside a HAVE_INOTIFY block and caused compilation to fail in some build
environments.  This has been corrected.

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

13 years agoFix spool handling to allow call files to be hardlinked into place
Kinsey Moore [Tue, 25 Oct 2011 16:06:57 +0000 (16:06 +0000)] 
Fix spool handling to allow call files to be hardlinked into place

This fixes the inotify code to handle call files being hardlinked into the
spool directory.

The smsq utility does this, instead of rename(), to ensure that it cannot
accidentally overwrite an existing spool file. A rename() might do that, but
link() will definitely not.

The inotify code had broken this, because it would wait for an IN_CLOSE_WRITE
event on the file... which was never forthcoming, since it was never opened.
Now we look for IN_OPEN events following the IN_CREATE event, and only wait
for an IN_CLOSE_WRITE if the file was actually opened.

Patch-by: dwmw2
(closes issue ASTERISK-18331)
Review: https://reviewboard.asterisk.org/r/1391/

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

13 years agoReturn NULL when no results returned for realtime_multientry
Terry Wilson [Tue, 25 Oct 2011 01:23:29 +0000 (01:23 +0000)] 
Return NULL when no results returned for realtime_multientry

It was not documented what the return value should be when no entries
were returned with the multientry realtime callback. This change forces
consistent behavior even if the backends return an empty ast_config.

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

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

13 years agoOutbound SIP OPTIONS messages will now include fromuser of related peer.
Jonathan Rose [Mon, 24 Oct 2011 19:49:51 +0000 (19:49 +0000)] 
Outbound SIP OPTIONS messages will now include fromuser of related peer.

This behavior matches up more closely with the way invite/register/etc are handled.
This patch also modifies some adjacent code for code style compliance.  Pretty minor.

(closes issue ASTERISK-17616)
Reported by: Jeremy Kister
Patches:
     chan_sip.c-options-fromuser-fix-v1.patch uploaded by Jeremy Kister (license #6232)

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

13 years agoRevert Janitor patch 341906 For now
Gregory Nietsky [Sun, 23 Oct 2011 11:36:01 +0000 (11:36 +0000)] 
Revert Janitor patch 341906 For now

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

13 years agoWhitespace Fixups / Add Braces
Gregory Nietsky [Sun, 23 Oct 2011 11:09:42 +0000 (11:09 +0000)] 
Whitespace Fixups / Add Braces

This janitorial patch is related to work on RB1538

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

13 years agoonly process args that exist
Matthew Nicholson [Fri, 21 Oct 2011 16:41:59 +0000 (16:41 +0000)] 
only process args that exist

ASTERISK-18395

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

13 years agodon't limit the length of app and function arguments
Matthew Nicholson [Fri, 21 Oct 2011 16:18:51 +0000 (16:18 +0000)] 
don't limit the length of app and function arguments

ASTERISK-18395

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

13 years agoFix AGI exec Park to honor the Park application parameters.
Richard Mudgett [Thu, 20 Oct 2011 21:54:11 +0000 (21:54 +0000)] 
Fix AGI exec Park to honor the Park application parameters.

The fix for ASTERISK-12715 and ASTERISK-12685 added a check for the Park
application because the channel needed to be masqueraded to prevent a
crash.  Since the Park application now always masquerades the channel into
the parking lot, the special check is no longer needed.  The fix also
resulted in AGI exec Park attempting to double park the call and not honor
the Park application parameters.

* Removed no longer necessary call to ast_masq_park_call() by AGI exec for
the Park application.  (Reverts -r146923)

* Fix Park application to only return 0 or -1.  The AGI exec Park was
causing broken pipe error messages because the Park application returned 1
on successful park.

(closes issue ASTERISK-18737)

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

13 years agoFixed typo from previous commit
Paul Belanger [Thu, 20 Oct 2011 21:26:41 +0000 (21:26 +0000)] 
Fixed typo from previous commit

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

13 years agoUpdated documentation for the optional CID parameter with CALLERID
Paul Belanger [Thu, 20 Oct 2011 20:46:58 +0000 (20:46 +0000)] 
Updated documentation for the optional CID parameter with CALLERID

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

13 years agoClean up ast_check_digits
Terry Wilson [Thu, 20 Oct 2011 15:11:44 +0000 (15:11 +0000)] 
Clean up ast_check_digits

The code was originally copied from the is_int() function in the AEL
code. wdoekes pointed out that the function should take a const char*
and that their was an unneeded variable. This is now fixed.

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

13 years agoOutgoing calls with Google Voice
Paul Belanger [Wed, 19 Oct 2011 18:59:39 +0000 (18:59 +0000)] 
Outgoing calls with Google Voice

Google has recently make some changes (again) to their protocol.  Rather then
patching asterisk to flip between the two different methods, we now allow both.

Lets hope this keeps Google Voice happy for a while.

(closes issue ASTERISK-18714)
Reported by: Iordan Iordanov
Patches:
    chan_gtalk.patch uploaded by Iordan Iordanov (licenses 6311)

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

13 years agoDon't use is_int() since it doesn't link well on all platforms
Terry Wilson [Wed, 19 Oct 2011 07:38:52 +0000 (07:38 +0000)] 
Don't use is_int() since it doesn't link well on all platforms

Just create an normal API function in strings.h that does the same thing
just to be safe.

ASTERISK-17146

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

13 years agoDon't sent in-dialog requests like UPDATE when Asterisk has not yet received a Contac...
Stefan Schmidt [Wed, 19 Oct 2011 07:15:51 +0000 (07:15 +0000)] 
Don't sent in-dialog requests like UPDATE when Asterisk has not yet received a Contact URI from a UAS

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

13 years agoDon't resolve numeric hosts or contact unresolved hosts
Terry Wilson [Tue, 18 Oct 2011 23:37:57 +0000 (23:37 +0000)] 
Don't resolve numeric hosts or contact unresolved hosts

If a SIP dial string contains a numeric hostname that is not a peer name,
don't try to resolve it as it is unlikely that someone really means
Dial(SIP/0.0.4.26) when Dial(SIP/1050) is called. Also, make sure that
create_addr returns -1 if an address isn't resolved so that we don't
attempt to send SIP requests to an address that doesn't resolve.

(closes issue ASTERISK-17146, ASTERISK-17716)

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

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

13 years agofix issue on channel numbering (calls could have same channel number
Alexandr Anikin [Tue, 18 Oct 2011 23:20:53 +0000 (23:20 +0000)] 
fix issue on channel numbering (calls could have same channel number
on heavy loaded system)

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

13 years agoMore parking issues.
Richard Mudgett [Tue, 18 Oct 2011 21:03:04 +0000 (21:03 +0000)] 
More parking issues.

* Fix potential deadlocks in SIP and IAX blind transfer to parking.

* Fix SIP, IAX, DAHDI analog, and MGCP channel drivers to respect the
parkext_exclusive option with transfers (Park(,,,,,exclusive_lot)
parameter).  Created ast_park_call_exten() and ast_masq_park_call_exten()
to maintian API compatibility.

* Made masq_park_call() handle a failed ast_channel_masquerade() setup.

* Reduced excessive struct parkeduser.peername[] size.

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

13 years agoInitialize variables before calling parse_uri
Terry Wilson [Mon, 17 Oct 2011 17:35:23 +0000 (17:35 +0000)] 
Initialize variables before calling parse_uri

If parse_uri was called with an empty URI, some pointers would be
modified and an invalid read could result. This patch avoids calling
parse_uri with an empty contact uri when parsing REGISTER requests.

AST-2011-012

(closes issue ASTERISK-18668)

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

13 years agoFix previous commit
Paul Belanger [Mon, 17 Oct 2011 16:23:33 +0000 (16:23 +0000)] 
Fix previous commit

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

13 years agoVoicemail compiler flags are 'core' support
Paul Belanger [Mon, 17 Oct 2011 16:22:19 +0000 (16:22 +0000)] 
Voicemail compiler flags are 'core' support

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

13 years agoDon't try to remove peers without IPs from peers_by_ip
Terry Wilson [Mon, 17 Oct 2011 15:35:05 +0000 (15:35 +0000)] 
Don't try to remove peers without IPs from peers_by_ip

(closes issue ASTERISK-18696)

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

13 years agoRemove an unused include of md5.h
Tzafrir Cohen [Mon, 17 Oct 2011 15:08:21 +0000 (15:08 +0000)] 
Remove an unused include of md5.h

Unused include of asterisk/md5.h in pbx_realtime.c . A commit needed to
test the commit message.

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

13 years agoChange the internal name of the menuselect options that are used to control
Kevin P. Fleming [Fri, 14 Oct 2011 21:36:06 +0000 (21:36 +0000)] 
Change the internal name of the menuselect options that are used to control
whether modules are embedded or not; using just the bare category name led to
accidentally enabling these options when users used the wrong "--enable"
operation on the menuselect command line.

Now the internal option names are prefixed with "EMBED_", so they won't be
the same as the name of the category containing the modules they control
the embedding of.

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

13 years agoQuiet RTCP Receiver Reports during fax transmission
Kinsey Moore [Fri, 14 Oct 2011 20:49:39 +0000 (20:49 +0000)] 
Quiet RTCP Receiver Reports during fax transmission

RTCP is now disabled for "inactive" RTP audio streams during SIP T.38 sessions.
The ability to disable RTCP streams in res_rtp_asterisk was missing, so this
code was added to support the bug fix.

(closes issue ASTERISK-18400)

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

13 years agoAvoid unnecessary WARNING message
Terry Wilson [Fri, 14 Oct 2011 16:33:28 +0000 (16:33 +0000)] 
Avoid unnecessary WARNING message

Add AST_CONTROL_UPDATE_RTP_PEER frame to be ignored here to avoid
displaying a WARNING message.

(closes issue ASTERISK-18610)
 Patch by: Kristijan_Vrban

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

13 years agoFixes some support level info so that it can be read by menuselect.
Jonathan Rose [Fri, 14 Oct 2011 15:58:44 +0000 (15:58 +0000)] 
Fixes some support level info so that it can be read by menuselect.

(issue ASTERISK-18268)
Review: https://reviewboard.asterisk.org/r/1525/

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

13 years agoFix DTMF blind transfer continuing to execute dialplan after transfer.
Richard Mudgett [Thu, 13 Oct 2011 22:48:58 +0000 (22:48 +0000)] 
Fix DTMF blind transfer continuing to execute dialplan after transfer.

Party A calls Party B.
Party A DTMF blind transfers Party B to Party C.
Party A channel continues to execute dialplan.

* Fixed the return value of builtin_blindtransfer() to return the correct
value after a transfer so the dialplan will not keep executing.

* Removed unnecessary connected line update that did not really do
anything.

* Made access to GOTO_ON_BLINDXFR thread safe in check_goto_on_transfer().

* Fixed leak of xferchan for failure cases in check_goto_on_transfer().

* Updated debug messages in builtin_blindtransfer() and
check_goto_on_transfer().

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

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

13 years agostoring the route-set also on a 181 response not only on 180,182 or 183.
Stefan Schmidt [Thu, 13 Oct 2011 06:58:00 +0000 (06:58 +0000)] 
storing the route-set also on a 181 response not only on 180,182 or 183.

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

13 years agoInitialize ast_sockaddr before calling ast_sockaddr_resolve
Terry Wilson [Thu, 13 Oct 2011 06:52:12 +0000 (06:52 +0000)] 
Initialize ast_sockaddr before calling ast_sockaddr_resolve

Avoid possible jump based on unitialized value

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

13 years agoDon't skip the query field on a realtime multi query
Terry Wilson [Thu, 13 Oct 2011 00:05:17 +0000 (00:05 +0000)] 
Don't skip the query field on a realtime multi query

There is no documented reason to not add the query field to the varlist
returned by a realtime multi query, despite the config category being
set to its value. Of course, there is no documentation that the category
should be set to the value either. There is lots of no documentation
when it comes to realtime. But, other engines do not skip this field so
I am forcing this backend to follow the convention, because not doing so
is very silly.

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

13 years agoStore route-set from provisional SIP responses so early-dialog requests can be routed...
Stefan Schmidt [Wed, 12 Oct 2011 20:30:37 +0000 (20:30 +0000)] 
Store route-set from provisional SIP responses so early-dialog requests can be routed properly

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

13 years agoUpdate SIP realtime fullcontact regardless of caching
Terry Wilson [Wed, 12 Oct 2011 20:19:36 +0000 (20:19 +0000)] 
Update SIP realtime fullcontact regardless of caching

We should update the fullcontact field in the realtime table whether or
not rtcachefriends is set. There is no reason to treat a non-cached
realtime entity differently than a cached in this regard.

(closes issue ASTERISK-18446)
 Reported by: wdoekes

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

13 years agoInitialize the PRI channel alarms properly on startup.
Richard Mudgett [Wed, 12 Oct 2011 20:07:33 +0000 (20:07 +0000)] 
Initialize the PRI channel alarms properly on startup.

The PRI channel alarms were initialized with an inverted sense.

(closes issue ASTERISK-18710)
Reported by: Tzafrir Cohen

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

13 years agoUpdate MeetMe p and X option documentation when interacting with the s option.
Richard Mudgett [Wed, 12 Oct 2011 17:49:19 +0000 (17:49 +0000)] 
Update MeetMe p and X option documentation when interacting with the s option.

ASTERISK-12175 changed the p and X options to not interfere with the s
option when they are used together.  It makes more sense for the s option
to have priority for the DTMF '*' key since it cannot change its
activation code.  Otherwise, you could not use option s with the p or X
options.

JIRA AST-671

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

13 years agoFix verbose messages when IPv6 logic was added
Paul Belanger [Wed, 12 Oct 2011 16:27:23 +0000 (16:27 +0000)] 
Fix verbose messages when IPv6 logic was added

(closes issue ASTERISK-18612)
Reported by: Tim Osman

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

13 years agoAdd protection for SS7 channel allocation and better glare handling.
Richard Mudgett [Tue, 11 Oct 2011 21:03:15 +0000 (21:03 +0000)] 
Add protection for SS7 channel allocation and better glare handling.

* Added a CLI "ss7 show channels" command that might prove useful for
future debugging.

* Made the incoming SS7 channel event check and gripe message uniform.

* Made sure that the DNID string for an incoming call is always
initialized.

(issue ASTERISK-17966)
Reported by: Kenneth Van Velthoven
Patches:
      jira_asterisk_17966_v1.8_glare.patch (license #5621) patch uploaded by rmudgett

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

13 years agoFix some potential deadlocks pointed out by helgrind.
Richard Mudgett [Tue, 11 Oct 2011 19:16:47 +0000 (19:16 +0000)] 
Fix some potential deadlocks pointed out by helgrind.

* Fixed deadlock potential calling dialog_unlink_all() in
__sip_autodestruct().  Found by helgrind.

* Fixed deadlock potential in handle_request_invite() after calling
sip_new().  Found by helgrind.

* The sip_new() function now returns with the created channel already
locked.

* Removed the dead code that starts a PBX in in sip_new().  No sip_new()
callers caused that code to be executed and it was a bad thing to do
anyway.

* Removed unused parameters and return value from dialog_unlink_all().

* Made dialog_unlink_all() and __sip_autodestruct() safely obtain the
owner and private channel locks without a deadlock avoidance loop.

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

13 years agoConvert registered AMI actions to ao2 objects.
Richard Mudgett [Tue, 11 Oct 2011 18:23:14 +0000 (18:23 +0000)] 
Convert registered AMI actions to ao2 objects.

* Fixed race between calling an AMI action callback and unregistering that
action.  Refixes ASTERISK-13784 broken by ASTERISK-17785 change.

* Fixed potential memory leak if an AMI action failed to get registered
because is already was registered.  Part of the ao2 conversion.

* Fixed AMI ListCommands action not walking the actions list with a lock
held.

* Fix usage of ast_strdupa() and alloca() in loops.  Excess stack usage.

* Fix AMI Originate action Variable header requiring a space after the
header colon.  Reported by Yaroslav Panych on the asterisk-dev list.

* Increased the number of listed variables allowed per AMI Originate
action Variable header to 64.

* Fixed AMI GetConfigJSON action output format.

* Fixed usage of res contents outside of scope in append_channel_vars().

* Fixed inconsistency of config file channelvars option.  The values no
longer accumulate with every channelvars option in the config file.  Only
the last value is kept to be consistent with the CLI "manager show
settings" command.

(closes issue ASTERISK-18479)
Reported by: Jaco Kroon

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

13 years agoUpdate SHA1 code to RFC 6234
Tzafrir Cohen [Tue, 11 Oct 2011 00:43:14 +0000 (00:43 +0000)] 
Update SHA1 code to RFC 6234

RFC 6234 is an update to RFC 3174 from which the code was originally taken.
It has a slightly better code, and a better phrased license (simple 3-clause
BSD).

* main/sha1.c is sha1.c from RFC 6234 with formatting changes only.
* include/asterisk/sha1.h merges sha.h and sha-private.h from RFC 6234.
* Removed unused include of asterisk/sha1.h from main/channels.c

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

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