Kinsey Moore [Thu, 10 Nov 2011 21:14:52 +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)
........
Merged revisions 344439 from http://svn.asterisk.org/svn/asterisk/branches/1.8
Kinsey Moore [Thu, 10 Nov 2011 18:14:20 +0000 (18:14 +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.
Terry Wilson [Wed, 9 Nov 2011 20:07:34 +0000 (20:07 +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.
Kinsey Moore [Wed, 9 Nov 2011 17:14:28 +0000 (17:14 +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 http://svn.asterisk.org/svn/asterisk/branches/1.8
Richard Mudgett [Tue, 8 Nov 2011 21:59:49 +0000 (21:59 +0000)]
Residual changes for Asterisk v10 branch from ASTERISK-18747.
Residual changes for Asterisk v10 branch from ASTERISK-18747 after
https://reviewboard.asterisk.org/r/1564/ 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.
David Vossel [Tue, 8 Nov 2011 18:29:33 +0000 (18:29 +0000)]
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
Patches:
asterisk-18839-missing-lock-trunk-v2.diff (License #5026) patch uploaded by Michael L. Young
Kinsey Moore [Mon, 7 Nov 2011 22:37:10 +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.
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 http://svn.asterisk.org/svn/asterisk/branches/1.8
Kinsey Moore [Mon, 7 Nov 2011 20:31:57 +0000 (20:31 +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.
Walter Doekes [Mon, 7 Nov 2011 19:55:54 +0000 (19:55 +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.
Richard Mudgett [Mon, 7 Nov 2011 19:51:42 +0000 (19:51 +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.
NOTE: This particular deadlock will not happen with Asterisk 10, but some
of the changes still apply.
Alexandr Anikin [Fri, 4 Nov 2011 15:11:52 +0000 (15:11 +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 http://svn.asterisk.org/svn/asterisk/branches/1.8
Walter Doekes [Thu, 3 Nov 2011 20:31:53 +0000 (20:31 +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.
Terry Wilson [Thu, 3 Nov 2011 15:39:25 +0000 (15:39 +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 http://svn.asterisk.org/svn/asterisk/branches/1.8
Terry Wilson [Wed, 2 Nov 2011 23:03:48 +0000 (23:03 +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.
Walter Doekes [Wed, 2 Nov 2011 22:24:23 +0000 (22:24 +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.
Walter Doekes [Wed, 2 Nov 2011 21:37:11 +0000 (21:37 +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
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 http://svn.asterisk.org/svn/asterisk/branches/1.8
Walter Doekes [Tue, 1 Nov 2011 20:58:18 +0000 (20:58 +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
Walter Doekes [Tue, 1 Nov 2011 19:48:26 +0000 (19:48 +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".
Matthew Jordan [Mon, 31 Oct 2011 16:04:35 +0000 (16:04 +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
Richard Mudgett [Sat, 29 Oct 2011 04:26:28 +0000 (04:26 +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().
........
Merged revisions 342661 from http://svn.asterisk.org/svn/asterisk/branches/1.8
Jonathan Rose [Thu, 27 Oct 2011 19:41:44 +0000 (19:41 +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/
........
Merged revisions 342602 from http://svn.asterisk.org/svn/asterisk/branches/1.8
Jonathan Rose [Thu, 27 Oct 2011 14:17:11 +0000 (14:17 +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.
Richard Mudgett [Tue, 25 Oct 2011 21:50:21 +0000 (21:50 +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 http://svn.asterisk.org/svn/asterisk/branches/1.8
Terry Wilson [Tue, 25 Oct 2011 20:04:15 +0000 (20:04 +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.
Kinsey Moore [Tue, 25 Oct 2011 19:08:45 +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.
........
Merged revisions 342328 from http://svn.asterisk.org/svn/asterisk/branches/1.8
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.
Terry Wilson [Tue, 25 Oct 2011 01:25:52 +0000 (01:25 +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.
Jonathan Rose [Mon, 24 Oct 2011 19:51:59 +0000 (19:51 +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)
........
Merged revisions 342061 from http://svn.asterisk.org/svn/asterisk/branches/1.8
Richard Mudgett [Thu, 20 Oct 2011 21:58:39 +0000 (21:58 +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 http://svn.asterisk.org/svn/asterisk/branches/1.8
Gregory Nietsky [Thu, 20 Oct 2011 18:20:08 +0000 (18:20 +0000)]
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.
Gregory Nietsky [Thu, 20 Oct 2011 17:13:23 +0000 (17:13 +0000)]
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.
Terry Wilson [Thu, 20 Oct 2011 15:14:08 +0000 (15:14 +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 http://svn.asterisk.org/svn/asterisk/branches/1.8
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.
Paul Belanger [Wed, 19 Oct 2011 19:01:21 +0000 (19:01 +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.
Terry Wilson [Tue, 18 Oct 2011 23:42:09 +0000 (23:42 +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.
Richard Mudgett [Tue, 18 Oct 2011 21:11:42 +0000 (21:11 +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.
Terry Wilson [Mon, 17 Oct 2011 17:36:45 +0000 (17:36 +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)
........
Merged revisions 341189 from http://svn.asterisk.org/svn/asterisk/branches/1.8
Kevin P. Fleming [Fri, 14 Oct 2011 21:36:55 +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.
........
Merged revisions 341022 from http://svn.asterisk.org/svn/asterisk/branches/1.8
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.
Gregory Nietsky [Thu, 13 Oct 2011 08:46:47 +0000 (08:46 +0000)]
Only send MWI Notify on register if the registration is successful.
lastmsgssent was removed from chan_sip and the old behavior of
sending a mwi notify on register [except when subscribemwi is set]
was restored but this must only happen when registration succeeds.
leaking information for unsuccessful registrations is not secure.
Terry Wilson [Thu, 13 Oct 2011 00:14:52 +0000 (00:14 +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 http://svn.asterisk.org/svn/asterisk/branches/1.8
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.
Richard Mudgett [Wed, 12 Oct 2011 17:51:16 +0000 (17:51 +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
........
Merged revisions 340470 from http://svn.asterisk.org/svn/asterisk/branches/1.8
Richard Mudgett [Tue, 11 Oct 2011 18:53:34 +0000 (18:53 +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.
Tzafrir Cohen [Tue, 11 Oct 2011 18:41:05 +0000 (18:41 +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
Terry Wilson [Mon, 10 Oct 2011 22:55:39 +0000 (22:55 +0000)]
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.
Terry Wilson [Mon, 10 Oct 2011 22:38:06 +0000 (22:38 +0000)]
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.
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=0.0.0.0 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.
Review: https://reviewboard.asterisk.org/r/1504/
(closes issue ASTERISK-18086)
Reported by: James Bottomley
Tested by: Matt Jordan
........