10 years agoFix pin parameter behavior regression in MeetMe
Kinsey Moore [Wed, 9 Nov 2011 17:15:44 +0000 (17:15 +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)

Merged revisions 344102 from

Merged revisions 344103 from

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

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

Patch by: pawel (modified)

Merged revisions 344048 from

Merged revisions 344049 from

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

10 years agoResidual changes for Asterisk v10 branch from ASTERISK-18747.
Richard Mudgett [Tue, 8 Nov 2011 22:14:38 +0000 (22:14 +0000)]
Residual changes for Asterisk v10 branch from ASTERISK-18747.

Residual changes for Asterisk v10 branch from ASTERISK-18747 after commit and associated dialogs
callid hash key change fix.

* Make check_rtp_timeout() return CMP_MATCH if need to delete dialog from
dialogs_rtpcheck.  This is an optimization to avoid an unneeded
lock/unlock and object search when using ao2_unlink.

* Prevent crash in check_rtp_timeout() if dialog->rtp is NULL.


Merged revisions 344004 from

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

10 years agoFix crash when dialplan remove include is called with too few arguments.
Walter Doekes [Tue, 8 Nov 2011 19:29:25 +0000 (19:29 +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

Merged revisions 343936 from

Merged revisions 343944 from

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

10 years agoMerged revisions 343900 via svnmerge from
David Vossel [Tue, 8 Nov 2011 18:35:19 +0000 (18:35 +0000)]
Merged revisions 343900 via svnmerge from

  r343900 | dvossel | 2011-11-08 12:29:33 -0600 (Tue, 08 Nov 2011) | 11 lines

  Fixes regression caused by r343635

  There was a missing unlock for a function return that is only
  present in Asterisk 10 and Asterisk Trunk.

  (closes issue ASTERISK-18839)
  Reported by: Michael L. Young
      asterisk-18839-missing-lock-trunk-v2.diff (License #5026) patch uploaded by Michael L. Young

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

10 years agoFixed reference to incorrect variable if unknown host configured crash.
Richard Mudgett [Tue, 8 Nov 2011 18:02:51 +0000 (18:02 +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
      issueA18743-fix_dynamic_exclude_static_bad_host_log.patch (license #5674) patch uploaded by Walter Doekes
Tested by: Michele

Merged revisions 343851 from

Merged revisions 343852 from

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

10 years agoFix boo-boo in prep_tarball script.
Leif Madsen [Tue, 8 Nov 2011 13:23:27 +0000 (13:23 +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.

Merged revisions 343789 from

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

10 years agoMake "sip show settings" CLI command get RPID flags from the right global page
Kinsey Moore [Mon, 7 Nov 2011 22:37:51 +0000 (22:37 +0000)]
Make "sip show settings" CLI command get RPID flags from the right global page

The "Trust RPID" and "Send RPID" entries in the "sip show settings" CLI command
pulled the flags from the incorrect global flags page.  These are now read from
sip global flags page 0.

(closes issue AST-711)

Merged revisions 343743 from

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

10 years agoAllow built in variables to be used with dynamic weights.
Leif Madsen [Mon, 7 Nov 2011 21:58:14 +0000 (21:58 +0000)]
Allow built in variables to be used with dynamic weights.

You can now use the built in variables , , and
within a dynamic weight. For example, this could be useful when you want
to pass requested lookup number to the SHELL() function which could be
used to execute a script to dynamically set the weight of the result.

(Closes issue ASTERISK-13657)
Reported by: Joel Vandal
Tested by: Leif Madsen, Russell Bryant
     asterisk-1.6-dundi-varhead.patch uploaded by Joel Vandal (License #5374)

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

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


Merged revisions 343690 from

Merged revisions 343691 from

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

10 years agoFix __sip_subscribe_mwi_do() incorectly changing dialogs hash key callid.
Richard Mudgett [Mon, 7 Nov 2011 21:29:01 +0000 (21:29 +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.

Merged revisions 343637 from

Merged revisions 343677 from

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

10 years agoPrevent BLF subscriptions from causing deadlocks
Kinsey Moore [Mon, 7 Nov 2011 20:35:58 +0000 (20:35 +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

(closes issue ASTERISK-18663)

Merged revisions 343621 from

Merged revisions 343635 from

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

10 years agoCorrect the default udptl port range.
Walter Doekes [Mon, 7 Nov 2011 19:58:44 +0000 (19:58 +0000)]
Correct the default udptl port range.

The udptl port range was defined as 4000-4999 in the udptl.conf.sample,
as 4500-4599 if you didn't have a config and 4500-4999 if your config
was broken. Default is now 4000-4999.

(closes issue ASTERISK-16250)
Reviewed by: Tilghman Lesher


Merged revisions 343580 from

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

10 years agoFix deadlock if peer is destroyed while sending MWI notice.
Richard Mudgett [Mon, 7 Nov 2011 19:54:09 +0000 (19:54 +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

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

NOTE: This particular deadlock will not happen with Asterisk 10, but some
of the changes still apply.

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


Merged revisions 343577 from

Merged revisions 343578 from

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

10 years agolist all of the codecs associated with a particular format id for CLI command "core...
Matthew Nicholson [Mon, 7 Nov 2011 18:42:04 +0000 (18:42 +0000)]
list all of the codecs associated with a particular format id for CLI command "core show codec"


Merged revisions 343533 from

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

10 years agoFormatting and doxygen improvements
Olle Johansson [Sun, 6 Nov 2011 09:51:09 +0000 (09:51 +0000)]
Formatting and doxygen improvements

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

10 years agoFinal fix memleaks in GkClient codes, same for Timer codes.
Alexandr Anikin [Fri, 4 Nov 2011 19:50:10 +0000 (19:50 +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.

Merged revisions 343281 from

Merged revisions 343445 from

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

10 years agoFix sqlite config driver segfault and broken queries
Walter Doekes [Thu, 3 Nov 2011 20:37:50 +0000 (20:37 +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)


Merged revisions 343375 from

Merged revisions 343393 from

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

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

Merged revisions 343336 from

Merged revisions 343337 from

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

10 years agoMake room for the fax detect flags
Terry Wilson [Thu, 3 Nov 2011 15:40:49 +0000 (15:40 +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.

Merged revisions 343276 from

Merged revisions 343277 from

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

10 years agoRemove registertrying option in chan_sip
Terry Wilson [Wed, 2 Nov 2011 23:08:46 +0000 (23:08 +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.


Merged revisions 343220 from

Merged revisions 343221 from

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

10 years agoFix improper warning introduced by r342927 and more tweaks
Walter Doekes [Wed, 2 Nov 2011 22:46:27 +0000 (22:46 +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


Merged revisions 343181 from

Merged revisions 343192 from

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

10 years agoEnsure that string field lengths are properly aligned
Walter Doekes [Wed, 2 Nov 2011 22:02:07 +0000 (22:02 +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


Merged revisions 343157 from

Merged revisions 343158 from

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

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

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

Merged revisions 343102 from

Merged revisions 343103 from

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

10 years agoUpdate documentation for leastrecent strategy.
Leif Madsen [Wed, 2 Nov 2011 18:11:12 +0000 (18:11 +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
     queues.conf-doc_issue.patch (License #6139)

Merged revisions 343047 from

Merged revisions 343048 from

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

10 years agoModify comments in MeetMe application documentation about DAHDI.
Kevin P. Fleming [Wed, 2 Nov 2011 13:46:15 +0000 (13:46 +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.

Merged revisions 342990 from

Merged revisions 342991 from

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

10 years agoSeveral fixes to the chan_sip dynamic realtime peer/user lookup
Walter Doekes [Tue, 1 Nov 2011 21:02:56 +0000 (21:02 +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


Merged revisions 342927 from

Merged revisions 342929 from

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

10 years agoCleanup references to sipusers and sipfriends dynamic realtime families
Walter Doekes [Tue, 1 Nov 2011 19:53:26 +0000 (19:53 +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


Merged revisions 342869 from

Merged revisions 342870 from

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

10 years agoMisc format capability fixes.
Richard Mudgett [Mon, 31 Oct 2011 17:51:22 +0000 (17:51 +0000)]
Misc format capability fixes.

* Fixed typo in format_cap.c:joint_copy_helper() using the wrong variable.

* Fix potential race between checking if an interface exists and adding it
to the container in format.c:ast_format_attr_reg_interface().

* Fixed double rwlock destroy in format.c:ast_format_attr_init() error
exit path.

* Simplified format.c:find_interface() and format.c:has_interface().

Merged revisions 342824 from

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

10 years agoFixed invalid memory access when adding extension to pattern match tree
Matthew Jordan [Mon, 31 Oct 2011 16:10:32 +0000 (16:10 +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


Merged revisions 342769 from

Merged revisions 342770 from

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

10 years agoDon't crash on empty notify channel
Terry Wilson [Sun, 30 Oct 2011 02:31:02 +0000 (02:31 +0000)]
Don't crash on empty notify channel

Merged revisions 342715 from

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

10 years agoWhitespace and some better macro variable names.
Richard Mudgett [Sat, 29 Oct 2011 04:41:21 +0000 (04:41 +0000)]
Whitespace and some better macro variable names.

* Renamed AST_LIST_TRAVERSE_SAFE_BEGIN __new_prev to __list_current.

* Renamed AST_LIST_MOVE_CURRENT __list_cur to __extracted.

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

10 years agoFix AST_LIST_INSERT_BEFORE_CURRENT() updating the wrong variable.
Richard Mudgett [Sat, 29 Oct 2011 04:31:51 +0000 (04:31 +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
the next iteration.

* Fixed cut and paste error using the wrong variable in

* Added linked list unit tests for AST_LIST_INSERT_BEFORE_CURRENT(),

Merged revisions 342661 from

Merged revisions 342662 from

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

10 years agotweak the v21 detector to detect an additional pattern of hits and misses
Matthew Nicholson [Thu, 27 Oct 2011 20:11:11 +0000 (20:11 +0000)]
tweak the v21 detector to detect an additional pattern of hits and misses

Merged revisions 342605 from

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

10 years agoFix sequence number overflow over 16 bits causing codec change in RTP packets.
Jonathan Rose [Thu, 27 Oct 2011 19:48:23 +0000 (19:48 +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

Merged revisions 342602 from

Merged revisions 342603 from

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

10 years agoCleanup reference leaks in res_jabber
Jonathan Rose [Thu, 27 Oct 2011 14:24:01 +0000 (14:24 +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.


Merged revisions 342545 from

Merged revisions 342546 from

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

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

Reported by: wdoekes
Patched by: wdoekes


Merged revisions 342487 from

Merged revisions 342488 from

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

10 years agoChange D-channel warning to be less confusing on non-NFAS setups.
Richard Mudgett [Tue, 25 Oct 2011 21:54:31 +0000 (21:54 +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!".

Merged revisions 342484 from

Merged revisions 342485 from

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

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


Merged revisions 342435 from

Merged revisions 342436 from

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

10 years agoSimplify queue membercount code
Terry Wilson [Tue, 25 Oct 2011 20:07:59 +0000 (20:07 +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.


Merged revisions 342383 from

Merged revisions 342384 from

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

10 years agoProperly update membercount for reloaded members
Terry Wilson [Tue, 25 Oct 2011 19:54:17 +0000 (19:54 +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)


Merged revisions 342380 from

Merged revisions 342381 from

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

10 years agoFix compilation on Snow Leopard/FreeBSD for pbx_spool.c
Kinsey Moore [Tue, 25 Oct 2011 19:09:32 +0000 (19:09 +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.

Merged revisions 342328 from

Merged revisions 342329 from

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

10 years agoMerged revisions 342277 via svnmerge from
Kinsey Moore [Tue, 25 Oct 2011 16:08:52 +0000 (16:08 +0000)]
Merged revisions 342277 via svnmerge from

  r342277 | kmoore | 2011-10-25 11:08:04 -0500 (Tue, 25 Oct 2011) | 25 lines

  Merged revisions 342276 via svnmerge from

    r342276 | kmoore | 2011-10-25 11:06:57 -0500 (Tue, 25 Oct 2011) | 18 lines

    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)

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

10 years agoReturn NULL when no results returned for realtime_multientry
Terry Wilson [Tue, 25 Oct 2011 01:29:32 +0000 (01:29 +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.


Merged revisions 342223 from

Merged revisions 342224 from

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

10 years agoFix ao2obj.h comment typos and add missing link/unlink nolock debug defines.
Richard Mudgett [Mon, 24 Oct 2011 22:37:58 +0000 (22:37 +0000)]
Fix ao2obj.h comment typos and add missing link/unlink nolock debug defines.

Merged revisions 342183 from

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

10 years agoFixes a segfault caused by referencing null frames introduced in r338623
Jonathan Rose [Mon, 24 Oct 2011 22:09:11 +0000 (22:09 +0000)]
Fixes a segfault caused by referencing null frames introduced in r338623

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

10 years agoFix use of OBJ_KEY in Queue application.
Richard Mudgett [Mon, 24 Oct 2011 21:01:58 +0000 (21:01 +0000)]
Fix use of OBJ_KEY in Queue application.

To use the new OBJ_KEY flag, the container hash and compare callback
functions must be updated to support OBJ_KEY.  Otherwise, bad things

(issue ASTERISK-14769)

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

10 years agoOutbound SIP OPTIONS messages will now include fromuser of related peer.
Jonathan Rose [Mon, 24 Oct 2011 20:01:28 +0000 (20:01 +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
     chan_sip.c-options-fromuser-fix-v1.patch uploaded by Jeremy Kister (license #6232)

Merged revisions 342061 from

Merged revisions 342062 from

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

10 years agoqueues container needs locking when using the OBJ_NOLOCK flag
Gregory Nietsky [Mon, 24 Oct 2011 07:40:18 +0000 (07:40 +0000)]
queues container needs locking when using the OBJ_NOLOCK flag

Merged revisions 342017 from

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

10 years agoRemove some ref leaks and a return without unlock.
Gregory Nietsky [Sun, 23 Oct 2011 14:35:26 +0000 (14:35 +0000)]
Remove some ref leaks and a return without unlock.

There some resource leaks introduced in asterisk 10
make sure that locks are not held on return and we
release ref's held.

Merged revisions 341972 from

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

10 years agoWhitespace Fixups / Add Braces
Gregory Nietsky [Sun, 23 Oct 2011 11:37:50 +0000 (11:37 +0000)]
Whitespace Fixups / Add Braces

This janitorial patch is related to work on RB1538

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

10 years agoMerged revisions 341313 via svnmerge from
Alexandr Anikin [Sat, 22 Oct 2011 12:03:23 +0000 (12:03 +0000)]
Merged revisions 341313 via svnmerge from

  r341313 | may | 2011-10-19 03:33:49 +0400 (Wed, 19 Oct 2011) | 10 lines

  Merged revisions 341312 via svnmerge from

    r341312 | may | 2011-10-19 03:20:53 +0400 (Wed, 19 Oct 2011) | 3 lines

    fix issue on channel numbering (calls could have same channel number
    on heavy loaded system)

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

10 years agoonly process args that exist
Matthew Nicholson [Fri, 21 Oct 2011 16:42:56 +0000 (16:42 +0000)]
only process args that exist


Merged revisions 341809 from

Merged revisions 341810 from

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

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


Merged revisions 341806 from

Merged revisions 341807 from

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

10 years agoWhite space fixes in res_fax
Gregory Nietsky [Fri, 21 Oct 2011 09:16:12 +0000 (09:16 +0000)]
White space fixes in res_fax

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

10 years agoFix AGI exec Park to honor the Park application parameters.
Richard Mudgett [Thu, 20 Oct 2011 22:03:35 +0000 (22:03 +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)

Merged revisions 341717 from

Merged revisions 341718 from

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

10 years agoFixed typo from previous commit
Paul Belanger [Thu, 20 Oct 2011 21:28:31 +0000 (21:28 +0000)]
Fixed typo from previous commit

Merged revisions 341704 from

Merged revisions 341707 from

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

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

Merged revisions 341664 from

Merged revisions 341665 from

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

10 years agoMerged revisions 341599 via svnmerge from
Gregory Nietsky [Thu, 20 Oct 2011 18:27:29 +0000 (18:27 +0000)]
Merged revisions 341599 via svnmerge from

  r341599 | irroot | 2011-10-20 20:20:08 +0200 (Thu, 20 Oct 2011) | 8 lines

  add documentation for check_state_unknown in configs/queues.conf.sample

  app_queue allows calls to members in a "Unknown" state to be treated as available
  setting check_state_unknown = yes will cause app_queue to query the channel driver
  to better determine the state this only applies to queues with ringinuse or ignorebusy
  set appropriately.

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

10 years agoMerged revisions 341580 via svnmerge from
Gregory Nietsky [Thu, 20 Oct 2011 17:34:54 +0000 (17:34 +0000)]
Merged revisions 341580 via svnmerge from

  r341580 | irroot | 2011-10-20 19:13:23 +0200 (Thu, 20 Oct 2011) | 15 lines

  Add option to check state when state is unknown

  r341486 reverts r325483 this is a rework of the patch.
  optimize to minimize load.

  add option check_state_unknown to control whether a member with unknown
  device state is checked there is a small % chance that calls will be sent
  to the member when they on a call.

  app_queue will see a device with unknown state as available and does not
  try verify the state without this option enabled.


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

10 years agoClean up ast_check_digits
Terry Wilson [Thu, 20 Oct 2011 15:17:53 +0000 (15:17 +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.

Merged revisions 341529 from

Merged revisions 341530 from

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

10 years agoMerged revisions 341486 via svnmerge from
Matthew Nicholson [Wed, 19 Oct 2011 21:24:07 +0000 (21:24 +0000)]
Merged revisions 341486 via svnmerge from

  r341486 | mnicholson | 2011-10-19 16:23:17 -0500 (Wed, 19 Oct 2011) | 18 lines

  Fix a performance regression introduced in r325483.

  The regression was caused by a call to ast_parse_device_state() in app_queue's
  ring_entry() function. The ast_parse_device_state() function eventually calls
  ast_channel_get_full() with a channel name prefix which causes it to walk the
  channel list causing massive lock contention and slow downs.

  This patch fixes the regression by removing the call to
  ast_parase_device_state() which should be unnecessary. Queue member device
  state should be maintained by device state events. Some users have seen
  instances where busy agents were called when they shouldn't have, which is the
  reason the call to ast_parse_device_state() was added. That change appears to
  have resolved that issue but also causes this performance regression. There may
  still be issues with queue member status, and if so, alternative methods should
  be investigated to resolve them.


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

10 years agoOutgoing calls with Google Voice
Paul Belanger [Wed, 19 Oct 2011 19:02:09 +0000 (19:02 +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
    chan_gtalk.patch uploaded by Iordan Iordanov (licenses 6311)

Merged revisions 341435 from

Merged revisions 341436 from

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

10 years agoDon't use is_int() since it doesn't link well on all platforms
Terry Wilson [Wed, 19 Oct 2011 07:45:06 +0000 (07:45 +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.


Merged revisions 341379 from

Merged revisions 341380 from

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

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

Merged revisions 341366 from

Merged revisions 341377 from

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

10 years agoDon't resolve numeric hosts or contact unresolved hosts
Terry Wilson [Tue, 18 Oct 2011 23:45:35 +0000 (23:45 +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/ 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)


Merged revisions 341314 from

Merged revisions 341315 from

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

10 years agoMore parking issues.
Richard Mudgett [Tue, 18 Oct 2011 21:15:45 +0000 (21:15 +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.

Merged revisions 341254 from

Merged revisions 341255 from

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

10 years agoRemove an unused include of md5.h
Tzafrir Cohen [Mon, 17 Oct 2011 17:58:00 +0000 (17:58 +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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

10 years agoInitialize variables before calling parse_uri
Terry Wilson [Mon, 17 Oct 2011 17:38:53 +0000 (17:38 +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.


(closes issue ASTERISK-18668)

Merged revisions 341189 from

Merged revisions 341190 from

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

10 years agoSet 'core' support level for test_format_api.c
Paul Belanger [Mon, 17 Oct 2011 16:39:14 +0000 (16:39 +0000)]
Set 'core' support level for test_format_api.c

Merged revisions 341146 from

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

10 years agoMultiple revisions 341108,341112
Paul Belanger [Mon, 17 Oct 2011 16:27:42 +0000 (16:27 +0000)]
Multiple revisions 341108,341112

  r341108 | pabelanger | 2011-10-17 12:22:19 -0400 (Mon, 17 Oct 2011) | 2 lines

  Voicemail compiler flags are 'core' support
  r341112 | pabelanger | 2011-10-17 12:23:33 -0400 (Mon, 17 Oct 2011) | 2 lines

  Fix previous commit

Merged revisions 341108,341112 from

Merged revisions 341122 from

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

10 years agoAdd information about limitations of new codec support in channel drivers.
Jason Parker [Mon, 17 Oct 2011 16:18:48 +0000 (16:18 +0000)]
Add information about limitations of new codec support in channel drivers.

(issue ASTERISK-18680)

Merged revisions 341094 from

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

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

(closes issue ASTERISK-18696)

Merged revisions 341088 from

Merged revisions 341089 from

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

10 years agoChange the internal name of the menuselect options that are used to control
Kevin P. Fleming [Fri, 14 Oct 2011 21:37:51 +0000 (21:37 +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.

Merged revisions 341022 from

Merged revisions 341023 from

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

10 years agoFix simple switch to not progress a call when call already progressed.
Damien Wedhorn [Fri, 14 Oct 2011 21:15:33 +0000 (21:15 +0000)]
Fix simple switch to not progress a call when call already progressed.

If a simple switch was started on a device and then a specific call
made (such as redial or speed dial), on timeout of the simple switch
the call would be attempted again. This patch only allows the simple
switch to make a call if the substate is still in the collecting
digits mode.

Also added small debug message to dialAndAactivate sub.

Tested by snuff and myself.

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

10 years agoMerged revisions 340971 via svnmerge from
Kinsey Moore [Fri, 14 Oct 2011 20:51:19 +0000 (20:51 +0000)]
Merged revisions 340971 via svnmerge from

  r340971 | kmoore | 2011-10-14 15:50:37 -0500 (Fri, 14 Oct 2011) | 15 lines

  Merged revisions 340970 via svnmerge from

    r340970 | kmoore | 2011-10-14 15:49:39 -0500 (Fri, 14 Oct 2011) | 8 lines

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

10 years agoSome additional module documentation changes for 10 for the menuselect change.
Jonathan Rose [Fri, 14 Oct 2011 18:38:08 +0000 (18:38 +0000)]
Some additional module documentation changes for 10 for the menuselect change.

(issue ASTERISK-18268)

Merged revisions 340931 from

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

10 years agoAvoid unnecessary WARNING message
Terry Wilson [Fri, 14 Oct 2011 16:45:19 +0000 (16:45 +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

Merged revisions 340878 from

Merged revisions 340879 from

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

10 years agoFix DTMF blind transfer continuing to execute dialplan after transfer.
Richard Mudgett [Thu, 13 Oct 2011 23:08:48 +0000 (23:08 +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

* 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

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

Merged revisions 340809 from

Merged revisions 340810 from

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

10 years agoUpdate 10 merged property.
Richard Mudgett [Thu, 13 Oct 2011 23:06:24 +0000 (23:06 +0000)]
Update 10 merged property.

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

10 years agoRestore branch 10 merge properties.
Richard Mudgett [Thu, 13 Oct 2011 22:58:30 +0000 (22:58 +0000)]
Restore branch 10 merge properties.

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

10 years agoMerged revisions 339463 via svnmerge from
Gregory Nietsky [Thu, 13 Oct 2011 08:53:05 +0000 (08:53 +0000)]
Merged revisions 339463 via svnmerge from

  r339463 | irroot | 2011-10-05 08:28:46 +0200 (Wed, 05 Oct 2011) | 9 lines

  Only change the capabilities on the gateway when
  the session is been destroyed there is still
  a race condition that ends in a segfault.

  if the caps are changed the logic in res_fax_spandsp
  will run T30 code not gateway code to end the session.
  this has been experienced on a "slower" under spec system.

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

10 years agoMerged revisions 340718 via svnmerge from
Stefan Schmidt [Thu, 13 Oct 2011 07:05:43 +0000 (07:05 +0000)]
Merged revisions 340718 via svnmerge from

  r340718 | schmidts | 2011-10-13 06:59:50 +0000 (Thu, 13 Oct 2011) | 9 lines

  Merged revisions 340717 via svnmerge from

    r340717 | schmidts | 2011-10-13 06:58:00 +0000 (Thu, 13 Oct 2011) | 3 lines

    storing the route-set also on a 181 response not only on 180,182 or 183.

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

10 years agoInitialize ast_sockaddr before calling ast_sockaddr_resolve
Terry Wilson [Thu, 13 Oct 2011 07:02:11 +0000 (07:02 +0000)]
Initialize ast_sockaddr before calling ast_sockaddr_resolve

Avoid possible jump based on unitialized value

Merged revisions 340715 from

Merged revisions 340716 from

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

10 years agoDon't skip the query field on a realtime multi query
Terry Wilson [Thu, 13 Oct 2011 00:17:42 +0000 (00:17 +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.

Merged revisions 340662 from

Merged revisions 340663 from

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

10 years agoMerged revisions 340577 via svnmerge from
Stefan Schmidt [Wed, 12 Oct 2011 21:28:52 +0000 (21:28 +0000)]
Merged revisions 340577 via svnmerge from

  r340577 | schmidts | 2011-10-12 20:33:37 +0000 (Mit, 12 Okt 2011) | 9 lines

  Merged revisions 340576 via svnmerge from

    r340576 | schmidts | 2011-10-12 20:30:37 +0000 (Mit, 12 Okt 2011) | 3 lines

    Store route-set from provisional SIP responses so early-dialog requests can be routed properly

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

10 years agoMerged revisions 340578 via svnmerge from
Terry Wilson [Wed, 12 Oct 2011 21:02:24 +0000 (21:02 +0000)]
Merged revisions 340578 via svnmerge from

  r340578 | twilson | 2011-10-12 13:57:19 -0700 (Wed, 12 Oct 2011) | 16 lines

  Merged revisions 340534 via svnmerge from

    r340534 | twilson | 2011-10-12 13:19:36 -0700 (Wed, 12 Oct 2011) | 9 lines

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

10 years agoInitialize the PRI channel alarms properly on startup.
Richard Mudgett [Wed, 12 Oct 2011 20:09:49 +0000 (20:09 +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

Merged revisions 340522 from

Merged revisions 340523 from

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

10 years agoUpdate MeetMe p and X option documentation when interacting with the s option.
Richard Mudgett [Wed, 12 Oct 2011 17:52:55 +0000 (17:52 +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


Merged revisions 340470 from

Merged revisions 340471 from

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

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

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

Merged revisions 340418 from

Merged revisions 340419 from

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

10 years agoAdd protection for SS7 channel allocation and better glare handling.
Richard Mudgett [Tue, 11 Oct 2011 21:06:55 +0000 (21:06 +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

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

Merged revisions 340365 from

Merged revisions 340366 from

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

10 years agoFix some potential deadlocks pointed out by helgrind.
Richard Mudgett [Tue, 11 Oct 2011 19:28:23 +0000 (19:28 +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

* 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

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

Merged revisions 340284 from

Merged revisions 340310 from

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

10 years agoUpdate SHA1 code to RFC 6234
Tzafrir Cohen [Tue, 11 Oct 2011 19:06:29 +0000 (19:06 +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

* 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




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

10 years agoConvert registered AMI actions to ao2 objects.
Richard Mudgett [Tue, 11 Oct 2011 18:57:47 +0000 (18:57 +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

* 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

Merged revisions 340279 from

Merged revisions 340281 from

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

10 years agoReturn error when no rows are deleted for AMI DBDelTree
Terry Wilson [Mon, 10 Oct 2011 23:10:11 +0000 (23:10 +0000)]
Return error when no rows are deleted for AMI DBDelTree

(closes issue AST-654)

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

10 years agoMerged revisions 340222 via svnmerge from
Terry Wilson [Mon, 10 Oct 2011 22:58:10 +0000 (22:58 +0000)]
Merged revisions 340222 via svnmerge from

  r340222 | twilson | 2011-10-10 15:55:39 -0700 (Mon, 10 Oct 2011) | 8 lines

  On astdb conversion, also warn about permissions requirements

  The user running Asterisk must have permission to the directory
  the Asterisk database resides in since SQLite 3 needs to be able
  to create a journal file.

  (closes issue ASTERISK-18174)

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

10 years agoMerged revisions 340219-340220 via svnmerge from
Terry Wilson [Mon, 10 Oct 2011 22:54:03 +0000 (22:54 +0000)]
Merged revisions 340219-340220 via svnmerge from

  r340219 | twilson | 2011-10-10 15:38:06 -0700 (Mon, 10 Oct 2011) | 8 lines

  Add astdb conversion utility for Berkeley to SQLite 3

  If someone wants to backtrack from Asterisk 1.8 to 10 they can use the
  astdb2bdb utility to convert the database back to the Berkeley format
  that Asterisk 1.8 uses.

  r340220 | twilson | 2011-10-10 15:39:41 -0700 (Mon, 10 Oct 2011) | 2 lines

  Add a missing file for the astdb2bdb conversion utility

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

10 years agoMerged revisions 340165 via svnmerge from
Matthew Jordan [Mon, 10 Oct 2011 20:39:39 +0000 (20:39 +0000)]
Merged revisions 340165 via svnmerge from

  r340165 | mjordan | 2011-10-10 15:30:18 -0500 (Mon, 10 Oct 2011) | 20 lines

  Merged revisions 340164 via svnmerge from

    r340164 | mjordan | 2011-10-10 15:23:48 -0500 (Mon, 10 Oct 2011) | 13 lines

    Updated chan_sip to place calls on hold if SDP address in INVITE is ANY

    This patch fixes the case where an INVITE is received with c= or ::.
    In this case, the call should be placed on hold.  Previously, we checked for
    the address being null; this patch keeps that behavior but also checks for
    the ANY IP addresses.


    (closes issue ASTERISK-18086)
    Reported by: James Bottomley
    Tested by: Matt Jordan

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

10 years agoMerged revisions 340109 via svnmerge from
Matthew Nicholson [Mon, 10 Oct 2011 14:16:27 +0000 (14:16 +0000)]
Merged revisions 340109 via svnmerge from

  r340109 | mnicholson | 2011-10-10 09:15:41 -0500 (Mon, 10 Oct 2011) | 18 lines

  Merged revisions 340108 via svnmerge from

    r340108 | mnicholson | 2011-10-10 09:14:48 -0500 (Mon, 10 Oct 2011) | 11 lines

    Load the proper XML documentation when multiple modules document the same application.

    This patch adds an optional "module" attribute to the XML documentation spec
    that allows the documentation processor to match apps with identical names from
    different modules to their documentation. This patch also fixes a number of
    bugs with the documentation processor and should make it a little more
    efficient. Support for multiple languages has also been properly implemented.


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

10 years agoAdd skinny version 17 protocol support.
Damien Wedhorn [Mon, 10 Oct 2011 00:57:06 +0000 (00:57 +0000)]
Add skinny version 17 protocol support.

Added some data to skinny packet structures to make compatible
with v17. Added protocolversion to device, set on registration
based on the version provided by device.

v17 includes some increased ip space for ip6. This patch increases
ip space in the packets but still only uses ip4. Some packet
structures duplicated (ip4 and ip6 types). ip4 type used unless
version is greater or equal to 17.

Tested by snuff and myself on 7961 with recent 8.5 firmware. Also
tested compatible with old 7960 and older 30VIPs.

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