]> git.ipfire.org Git - thirdparty/asterisk.git/log
thirdparty/asterisk.git
13 years agoRemove possible segfaults from res_odbc by adding locks around usage of odbc handle
Jonathan Rose [Mon, 27 Feb 2012 15:14:45 +0000 (15:14 +0000)] 
Remove possible segfaults from res_odbc by adding locks around usage of odbc handle

(closes issue ASTERISK-19011)
Reported by: Walter Doekes
Patches:
issueA19011_combine_read_and_write_locks_WORK_IN_PROGRESS.patch uploaded by Walter Doekes (license 5674)
review: https://reviewboard.asterisk.org/r/1719/
review: https://reviewboard.asterisk.org/r/1622/

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

13 years agoFix crash in app_voicemail during close_mailbox
Matthew Jordan [Sat, 25 Feb 2012 17:21:29 +0000 (17:21 +0000)] 
Fix crash in app_voicemail during close_mailbox

In r354890, a memory leak in app_voicemail was fixed by properly disposing of
the allocated heard/deleted pointers.  However, there are situations,
particularly when no messages are found in a folder, where these pointers are
not allocated and not NULL.  In that case, an invalid free would be attempted,
which could crash app_voicemail.  As there are a number of code paths where
this could occur, this patch uses the number of messages detected in the folder
before it attempts to free the pointers.  This resolves the crash detected in
the Asterisk Test Suite's check_voicemail_nominal test.

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

13 years agoFix worker thread resource leak in SIP TCP/TLS.
Richard Mudgett [Fri, 24 Feb 2012 18:23:28 +0000 (18:23 +0000)] 
Fix worker thread resource leak in SIP TCP/TLS.

The SIP TCP/TLS worker threads were created joinable but noone could join
them if they died on their own.

* Fix the SIP TCP/TLS worker threads to not be created joinable.

* _sip_tcp_helper_thread() only needs one parameter since the pvt
parameter is only passed in as NULL and never used.

(closes issue ASTERISK-19203)
Reported by: Steve Davies

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

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

13 years agoRemove srtp_shutdown from res_srtp
Matthew Jordan [Fri, 24 Feb 2012 17:41:18 +0000 (17:41 +0000)] 
Remove srtp_shutdown from res_srtp

The patch for ASTERISK-19253 included properly shutting down the libsrtp
library in the case of module unload.  Unfortunately, not all distributions
have the srtp_shutdown call.  As such, this patch removes calling
srtp_shutdown.

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

13 years agoAllow SRTP policies to be reloaded
Matthew Jordan [Fri, 24 Feb 2012 15:07:09 +0000 (15:07 +0000)] 
Allow SRTP policies to be reloaded

Currently, when using res_srtp, once the SRTP policy has been added to the
current session the policy is locked into place.  Any attempt to replace an
existing policy, which would be needed if the remote endpoint negotiated a new
cryptographic key, is instead rejected in res_srtp.  This happens in particular
in transfer scenarios, where the endpoint that Asterisk is communicating with
changes but uses the same RTP session.

This patch modifies res_srtp to allow remote and local policies to be reloaded
in the underlying SRTP library.  From the perspective of users of the SRTP API,
the only change is that the adding of remote and local policies are now added
in a single method call, whereas they previously were added separately.  This
was changed to account for the differences in handling remote and local
policies in libsrtp.

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

(closes issue ASTERISK-19253)
Reported by: Thomas Arimont
Tested by: Thomas Arimont
Patches:
  srtp_renew_keys_2012_02_22.diff uploaded by Matt Jordan (license 6283)
  (with some small modifications for this check-in)

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

13 years agoFix blind transfer parking issues if the dialed extension is not recognized as a...
Richard Mudgett [Thu, 23 Feb 2012 19:49:03 +0000 (19:49 +0000)] 
Fix blind transfer parking issues if the dialed extension is not recognized as a parking extension.

Custom parking extensions may not be coded such that the first and only
extension priority is the Park application.  These custom parking
extensions will not be recognized as parking extensions.  When a call is
blind transferred to an extension that is not recognized as a parking
extension, the normal blind transfer code causes the transferred channel
to start executing dialplan.  Calls that get parked in this manner do not
know the original channel name that parked the call so the original parker
could never be called back if the parked call is not retrieved before the
timeout time.  The parking space is also announced to the call being
parked as a side effect of not knowing the original parking channel.

* Fix handling of BLINDTRANSFER channel variable for call parking.

* Fixed SIP blind transfer using the wrong dialplan context variable to
check for the parking extension.

(closes issue ASTERISK-19322)
Reported by: aragon
Tested by: rmudgett, jparker

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

JIRA AST-766

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

13 years agoFix ACK routing for non-2xx responses.
Mark Michelson [Thu, 23 Feb 2012 15:37:59 +0000 (15:37 +0000)] 
Fix ACK routing for non-2xx responses.

When we send an ACK for a 2xx response to an INVITE, we are supposed
to use the learned route set. However, when we receive a non-2xx final
response to an INVITE, we are supposed to send the ACK to the same place
we initially sent the INVITE.

We had been doing this up until the changes went in that would build a route
set from provisional responses. That introduced a regression where we would
use the learned route set under all circumstances.

With this change, we now will set the destination of our ACK based on the
invitestate. If it is INV_COMPLETED then that means that we have received
a non-2xx final response (INV_TERMINATED indicates a 2xx response was received).
If it is INV_CANCELLED, then that means the call is being canceled, which
means that we should be ACKing a 487 response.

The other change introduced here is setting the invitestate to INV_CONFIRMED
when we send an ACK *after* the reqprep instead of before. This way, we can
tell in reqprep more easily what the invitestate is prior to sending the ACK.

(closes issue ASTERISK-19389)
reported by Karsten Wemheuer
patches:
    ASTERISK-19389v2.patch uploaded by Mark Michelson (license #5049)
(with some slight modifications prior to commit)

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

13 years agoFix -Werror=unused-but-set-variable compiler error (gcc 4.6.2)
Paul Belanger [Thu, 23 Feb 2012 03:36:46 +0000 (03:36 +0000)] 
Fix -Werror=unused-but-set-variable compiler error (gcc 4.6.2)

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

13 years agoMissed one strsep() function
Paul Belanger [Wed, 22 Feb 2012 21:36:37 +0000 (21:36 +0000)] 
Missed one strsep() function

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

13 years agoAdd back strsep() function for previous commit
Paul Belanger [Wed, 22 Feb 2012 21:29:25 +0000 (21:29 +0000)] 
Add back strsep() function for previous commit

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

13 years agoTrack module use count for res_calendar
Terry Wilson [Wed, 22 Feb 2012 21:08:50 +0000 (21:08 +0000)] 
Track module use count for res_calendar

If the res_calendar module was followed immediately by one of the
calendar tech modules and "core stop gracefully" was run, Asterisk
would crash.

This patch adds use count tracking for res_calendar so that it is
unloaded after the tech modules when shutting down gracefully. It
is now not possible to unload all the of the calendar modules via
"module unload res_calednar.so", but it is still possible to unload
them all via "module unload -h res_calendar.so".

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

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

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

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

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

13 years agoFix potential buffer overrun and memory leak when executing "sip show peers"
Matthew Jordan [Wed, 22 Feb 2012 14:50:20 +0000 (14:50 +0000)] 
Fix potential buffer overrun and memory leak when executing "sip show peers"

The "sip show peers" command uses a fix sized array to sort the current peers
in the peers ao2_container.  The size of the array is based on the current
number of peers in the container.  However, once the size of the array is
determined, the number of peers in the container can change, as the peers
container is not locked.  This could cause a buffer overrun when populating
the array, if peers were added to the container after the array was created.
Additionally, a memory leak of the allocated array would occur if a user
caused the _show_peers method to return CLI_SHOWUSAGE.

We now create a snapshot of the current peers using an ao2_callback with the
OBJ_MULTIPLE flag.  This size of the array is set to the number of peers
that the iterator will iterate over; hence, if peers are added or removed
from the peers container it will not affect the execution of the "sip show
peers" command.

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

(closes issue ASTERISK-19231)
(closes issue ASTERISK-19361)
Reported by: Thomas Arimont, Jamuel Starkey
Tested by: Thomas Arimont, Jamuel Starkey
Patches: sip_show_peers_2012_02_16.diff uploaded by mjordan (license 6283)

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

13 years agoMake 'iax2 show callnumber usage' output make sense when an IP is passed in.
Sean Bright [Tue, 21 Feb 2012 11:16:23 +0000 (11:16 +0000)] 
Make 'iax2 show callnumber usage' output make sense when an IP is passed in.

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

13 years agoRemove spurious warning when 'qualifyfreqnotok' is set successfully.
Sean Bright [Mon, 20 Feb 2012 18:38:28 +0000 (18:38 +0000)] 
Remove spurious warning when 'qualifyfreqnotok' is set successfully.

(closes issue ASTERISK-17176)
Reported by: John Covert
Tested by: Sean Bright
Patches:
   chan_iax2.c.qualifyfreqnotok.patch uploaded by John Covert (license 5512)

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

13 years agoThis was a LOG_NOTICE, so roll it back.
Sean Bright [Mon, 20 Feb 2012 14:40:10 +0000 (14:40 +0000)] 
This was a LOG_NOTICE, so roll it back.

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

13 years agoChange some debug messages from LOG_DEBUG to ast_debug.
Sean Bright [Mon, 20 Feb 2012 14:30:38 +0000 (14:30 +0000)] 
Change some debug messages from LOG_DEBUG to ast_debug.

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

13 years agoAdd some boilerplate documentation for IAXVAR and IAXPEER.
Sean Bright [Sun, 19 Feb 2012 18:04:52 +0000 (18:04 +0000)] 
Add some boilerplate documentation for IAXVAR and IAXPEER.

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

13 years agoSet the length of the ast_sockaddr, so that we can set it's port later.
Sean Bright [Sun, 19 Feb 2012 17:49:45 +0000 (17:49 +0000)] 
Set the length of the ast_sockaddr, so that we can set it's port later.

Without this, the call to ast_sockaddr_set_port a few lines later is a noop.

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

13 years agopush 'outgoing' flag from sig_XXX up to chan_dahdi
Alec L Davis [Sat, 18 Feb 2012 07:55:11 +0000 (07:55 +0000)] 
push 'outgoing' flag from sig_XXX up to chan_dahdi

'p->outgoing' in chan_dahdi and sig_analog wern't kept in sync, particulary FXS ast_hangup didn't clear the 'outgoing' flag.
sig_pri and sig_ss7 were keeping 'outgoing' flag insync.

Now provides a callback for all the low level sig_XXX modules.

(issue ASTERISK-19316)

alecdavis (license 585)
Reported by: Jeremy Pepper
Tested by: alecdavis

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

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

13 years agoFix -Werror=unused-but-set-variable compiler error (gcc 4.6.2)
Paul Belanger [Sat, 18 Feb 2012 03:59:26 +0000 (03:59 +0000)] 
Fix -Werror=unused-but-set-variable compiler error (gcc 4.6.2)

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

13 years agoDon't allow trunkfreq to be greater than 1000ms.
Sean Bright [Fri, 17 Feb 2012 22:01:49 +0000 (22:01 +0000)] 
Don't allow trunkfreq to be greater than 1000ms.

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

13 years agoPass the correct value to ast_timer_set_rate() for IAX2 trunking.
Sean Bright [Fri, 17 Feb 2012 19:32:52 +0000 (19:32 +0000)] 
Pass the correct value to ast_timer_set_rate() for IAX2 trunking.

IAX2 uses the trunkfreq variable to determine how often to send trunk packets, but
this value is in milliseconds while ast_timer_set_rate() expects the rate argument
to be ticks per second.  So we divide 1000 by trunkfreq and pass that in instead.

With a default of 20ms, this change makes IAX2 send trunk packets every 20ms
instead of every 50ms.

Tracked down by myself and Bob Wienholt.

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

13 years agoFix regressions with regards to route-set creation on early dialogs.
Mark Michelson [Fri, 17 Feb 2012 18:57:28 +0000 (18:57 +0000)] 
Fix regressions with regards to route-set creation on early dialogs.

This fixes two main issues:

1. Asterisk would send a CANCEL to the route created by the provisional response
   instead of using the same destination it did in the initial INVITE.
2. If a new route set arrives in a 200 OK than was in the 1XX response (perfectly
   possible if our outbound INVITE gets forked), then the route set in the 200 OK
   needs to overwrite the route set in the 1XX response.

(closes issue ASTERISK-19358)
Reported by: Karsten Wemheuer
Tested by: Karsten Wemheuer
patches:
   ASTERISK-19358.patch uploaded by Mark Michelson (license 5049)
   ASTERISK-19358.patch uploaded by Stefan Schmidt (license 6034)

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

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

13 years agoRevert change to translate.c as it has caused an infinite loop to occur in circumstances.
Mark Michelson [Fri, 17 Feb 2012 16:04:24 +0000 (16:04 +0000)] 
Revert change to translate.c as it has caused an infinite loop to occur in circumstances.

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

13 years agoRevert 355700 and 355701
Paul Belanger [Fri, 17 Feb 2012 00:25:13 +0000 (00:25 +0000)] 
Revert 355700 and 355701

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

13 years agoMissed a variable
Paul Belanger [Thu, 16 Feb 2012 23:54:54 +0000 (23:54 +0000)] 
Missed a variable

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

13 years agoFix -Werror=unused-but-set-variable compiler error (gcc 4.6.2)
Paul Belanger [Thu, 16 Feb 2012 23:53:08 +0000 (23:53 +0000)] 
Fix -Werror=unused-but-set-variable compiler error (gcc 4.6.2)

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

13 years agoRevert a change to audio_audiohook_write_list that had no affect.
Sean Bright [Thu, 16 Feb 2012 20:01:15 +0000 (20:01 +0000)] 
Revert a change to audio_audiohook_write_list that had no affect.

When I made this change initially, I was under the false impression that the
audiohooks structure remained on the channel after all of the hooks had been
detached.  This is not the case, ast ast_read takes care of removing the
audiohooks structure if the lists are empty.

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

13 years agoFix compile problem when old version of libvorbisfile v1.1.2 is used.
Richard Mudgett [Thu, 16 Feb 2012 19:26:16 +0000 (19:26 +0000)] 
Fix compile problem when old version of libvorbisfile v1.1.2 is used.

The principle difference between libvorbisfile v1.1.2 and newer (at least
v1.2.0) is the addition of the predefined callbacks OV_CALLBACKS_xxx in
vorbis/vorbisfile.h used for ov_open_callbacks().

* Updated the configure script to detect if libvorbisfile.h declares
OV_CALLBACKS_NOCLOSE.

* Copied the declaration of OV_CALLBACKS_NOCLOSE from v1.2.0 to allow
v1.1.2 to compile.

(closes issue ASTERISK-19370)
Reported by: Jonn Taylor

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

13 years agoFix AMI Monitor action without File header converting channel name into filename.
Richard Mudgett [Thu, 16 Feb 2012 18:26:37 +0000 (18:26 +0000)] 
Fix AMI Monitor action without File header converting channel name into filename.

* Fix potential Solaris crash if Monitor application has a urlbase and no
fname_base option.

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

13 years agoWhen IAX2 debugging is enabled, make sure to log 'apathetic' messages too.
Sean Bright [Wed, 15 Feb 2012 19:26:38 +0000 (19:26 +0000)] 
When IAX2 debugging is enabled, make sure to log 'apathetic' messages too.

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

13 years agoOnly use maxtrunkcall and maxnontrunkcall in chan_iax2 if IAX_OLD_FIND is specified.
Sean Bright [Wed, 15 Feb 2012 18:19:46 +0000 (18:19 +0000)] 
Only use maxtrunkcall and maxnontrunkcall in chan_iax2 if IAX_OLD_FIND is specified.

These variables are only accessed from the IAX_OLD_FIND path, so there is no reason
to keep them updated otherwise.

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

13 years agoUse TRUNK_CALL_START as originally intended.
Sean Bright [Wed, 15 Feb 2012 17:24:22 +0000 (17:24 +0000)] 
Use TRUNK_CALL_START as originally intended.

Back in r646, TRUNK_CALL_START was added and defined as 0x4000.  That same value
was also hard-coded in one part of the IAX2 code instead of using the #define.

TRUNK_CALL_START has changed over the years (for dealing with LOW_MEMORY), but
the hard-coded usage was never updated to match.  This patch fixes that.

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

13 years agoFix voicemail problems when using ogg/vorbis.
Richard Mudgett [Tue, 14 Feb 2012 19:10:35 +0000 (19:10 +0000)] 
Fix voicemail problems when using ogg/vorbis.

Ogg/vorbis was fairly useless as a voicemail file format because it did
not implement the seek and tell format callbacks among other problems.

Since we were already using the libvorbis and libvorbisenc libraries we
can use libvorbisfile as it is also part of the vorbis library package.

* Made use the libvorbisfile to handle the ogg/vorbis file stream.  The
format_ogg_vorbis.c is now mostly a wrapper around libvorbisfile.

(closes issue ASTERISK-16926)
Reported by: sque
Patches:
      ogg_vorbis_use_libvorbisfile.patch (license #6108) patch uploaded by sque

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

13 years agoFix lock typo that should be unlock in cel_sqlite_custom reload.
Richard Mudgett [Tue, 14 Feb 2012 18:12:16 +0000 (18:12 +0000)] 
Fix lock typo that should be unlock in cel_sqlite_custom reload.

(closes issue ASTERISK-19356)
Reported by: Alex Villacis Lasso
Patches:
      asterisk-1.8.9.2-cel_sqlite3_custom-fix-reload-locking-typo.patch (license #5617) patch uploaded by Alex Villacis Lasso

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

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

13 years agoProperly invert the return of a strncmp call.
Mark Michelson [Tue, 14 Feb 2012 16:26:49 +0000 (16:26 +0000)] 
Properly invert the return of a strncmp call.

This was causing identification that should have been
made private to be public.

(closes issue AST-814)
reported by Patrick Anderson

Patches:
chan_sip.c.diff uploaded by Patrick Anderson (license 5430)

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

13 years agoDon't enable sqlite3 CDRs by default in sample configs.
Jason Parker [Tue, 14 Feb 2012 15:50:40 +0000 (15:50 +0000)] 
Don't enable sqlite3 CDRs by default in sample configs.

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

13 years agoClear the high order bit from the destination call number before sending.
Sean Bright [Tue, 14 Feb 2012 13:33:09 +0000 (13:33 +0000)] 
Clear the high order bit from the destination call number before sending.

send_apathetic_reply takes the incoming frame's source call number as the
destination call number for the outgoing frame.  If the incoming frame was a
full frame, then the high order bit of the source call number is set and will be
interpreted as a retransmit when sent back out as the destination call number.

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

13 years agocall manager_event only if there is not null channel structure
Alexandr Anikin [Tue, 14 Feb 2012 09:41:38 +0000 (09:41 +0000)] 
call manager_event only if there is not null channel structure

(Closes issue ASTERISK-19298)
Reported by: robinfood
Patches:
        issue19298.patch uploaded by may213 (License #5415)

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

13 years agoFix occasional incorrectly delayed call-file execution.
Richard Mudgett [Mon, 13 Feb 2012 22:02:10 +0000 (22:02 +0000)] 
Fix occasional incorrectly delayed call-file execution.

Since the dir timestamp is available at one second resolution, we cannot
know if it was updated within the same second after we scanned it.
Therefore, we will force another scan if the dir was just modified.

* Changed to force another scan if the directory was just modified.

(closes issue ASTERISK-19081)
Reported by: Knut Bakke

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

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

13 years agoOnly allow one 'dialplan reload' to execute at a time as otherwise they would share...
Joshua Colp [Mon, 13 Feb 2012 19:49:19 +0000 (19:49 +0000)] 
Only allow one 'dialplan reload' to execute at a time as otherwise they would share the same common local context list.

(closes issue AST-758)

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

13 years agoFix reconnecting to pgsql database after connection loss.
Richard Mudgett [Mon, 13 Feb 2012 17:22:17 +0000 (17:22 +0000)] 
Fix reconnecting to pgsql database after connection loss.

There can only be one database connection in res_config_pgsql just like
res_config_sqlite.  If the connection is lost, the connection may not get
reestablished to the same database if the res_pgsql.conf and
extconfig.conf files are inconsistent.

* Made only use the configured database from res_pgsql.conf.

* Fixed potential buffer overwrite of last[] in config_pgsql().

(closes issue ASTERISK-16982)
Reported by: german aracil boned

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

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

13 years agoFix a voicemail memory leak with heard/deleted messages.
Jason Parker [Fri, 10 Feb 2012 21:45:22 +0000 (21:45 +0000)] 
Fix a voicemail memory leak with heard/deleted messages.

open_mailbox() was changed quite a long time ago to allocate this memory.
close_mailbox() should have been changed to be responsible for freeing it.

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

13 years agoFix AMI Redirect ExtraChannel not redirecting to the same exten and context.
Richard Mudgett [Fri, 10 Feb 2012 18:03:30 +0000 (18:03 +0000)] 
Fix AMI Redirect ExtraChannel not redirecting to the same exten and context.

The astman_get_header() never returns NULL so the check by the code for
NULL would never fail.

(closes issue ASTERISK-16974)
Reported by: Nuno Borges
Patches:
      0018325.patch (license #6116) patch uploaded by Nuno Borges (modified)

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

13 years agoNote that CDRs are immutable once a bridge is torn down
Terry Wilson [Thu, 9 Feb 2012 22:01:35 +0000 (22:01 +0000)] 
Note that CDRs are immutable once a bridge is torn down

CDRs cannot be modified after a bridge is torn down, (e.g. after
Dial() returns) even though the CDR() function may be called. Since
modifying the CDR code to change this behavior could very easily
break all kinds of things, this patch just documents this limitation.

(closes issues ASTERISK-16923)
Review: https://reviewboard.asterisk.org/r/1720/

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

13 years agoFix parsing of SIP headers where compact and non-compact headers are mixed
Kinsey Moore [Thu, 9 Feb 2012 20:49:59 +0000 (20:49 +0000)] 
Fix parsing of SIP headers where compact and non-compact headers are mixed

Change parsing of SIP headers so that compactness of the header no longer
influences which header will be chosen.  Previously, a non-compact header
would be chosen instead of a preceeding compact-form header.

(closes issue ASTERISK-17192)
Review: https://reviewboard.asterisk.org/r/1728/

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

13 years agoMake the config parser remove escaping backslashes
Kinsey Moore [Thu, 9 Feb 2012 19:52:25 +0000 (19:52 +0000)] 
Make the config parser remove escaping backslashes

The config parser in Asterisk does not currently remove a backslash that is
used to escape a semicolon which would otherwise be interpreted as the start
of a comment.

The change here causes that backslash to be removed, but does not create a
real escape system in the config parser.  The biggest complication with a real
escape system would be breaking existing configs everywhere (parsing \\ as \
and breaking on escaped non-semicolon characters) even though it would be the
"right" way to do things.

(closes issue ASTERISK-17121)
Review: https://reviewboard.asterisk.org/r/1724/

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

13 years agoRemove outdated comment.
Mark Michelson [Thu, 9 Feb 2012 18:58:40 +0000 (18:58 +0000)] 
Remove outdated comment.

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

13 years agoFix translation path choices.
Mark Michelson [Thu, 9 Feb 2012 17:32:47 +0000 (17:32 +0000)] 
Fix translation path choices.

This change makes it so computational cost is not taken into account
when deciding if a multistep path is better than a single-step path. This
means that the only time a multistep path will be chosen is if no single-step
path exists. This ensures a better quality translation even if it turns out
to be slightly slower.

(closes issue ASTERISK-16821)
reported by Andrew Lindh

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

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

13 years agoClean-up of minor formatting issues in r354542/3/4
Matthew Jordan [Thu, 9 Feb 2012 17:07:35 +0000 (17:07 +0000)] 
Clean-up of minor formatting issues in r354542/3/4

rmudgett pointed out some formatting issues in the check-in for
ASTERISK-19290.  This cleans those up.

Review: https://reviewboards.asterisk.org/r/1722/

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

13 years agoAdding reload support to res_fax.so
Mark Michelson [Thu, 9 Feb 2012 16:56:34 +0000 (16:56 +0000)] 
Adding reload support to res_fax.so

(closes issue ASTERISK-16712)
reported by Frank DiGennaro

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

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

13 years agoFix SIP INFO DTMF handling for non-numeric codes
Matthew Jordan [Thu, 9 Feb 2012 16:30:56 +0000 (16:30 +0000)] 
Fix SIP INFO DTMF handling for non-numeric codes

In ASTERISK-18924, SIP INFO DTMF handlingw as changed to account for both
lowercase alphatbetic DTMF events, as well as uppercase alphabetic DTMF
events.  When this occurred, the comparison of the character buffer containing
the event code was changed such that the buffer was first compared again '0'
and '9' to determine if it was numeric.  Unfortunately, since the first
character in the buffer will typically be '1' in the case of non-numeric
event codes (10-16), this caused those codes to be converted to a DTMF event
of '1'.  This patch fixes that, and cleans up handling of both
application/dtmf-relay and application/dtmf content types.

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

(closes issue ASTERISK-19290)
Reported by: Ira Emus
Tested by: mjordan

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

13 years agoFix crash in ParkAndAnnounce.
Richard Mudgett [Thu, 9 Feb 2012 02:52:20 +0000 (02:52 +0000)] 
Fix crash in ParkAndAnnounce.

Well, thats embarrasing.  I forgot to initialize the caller_id storage.

(closes issue ASTERISK-19311)
Reported by: tootai
Tested by: rmudgett

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

13 years agoRemove some unnecessary locking from ast_hangup().
Russell Bryant [Thu, 9 Feb 2012 02:23:53 +0000 (02:23 +0000)] 
Remove some unnecessary locking from ast_hangup().

This patch removes some unnecessary locking of the channels container in
ast_hangup().  The reason this came up is that this lock can very quickly block
the entire system.  If any of the channel cleanup code decides to block, it
causes a problem for the whole system.  For example, when audiohooks get
destroyed, if that blocks for a while waiting on the mixmonitor thread to exit
because it's busy blocking on some I/O, it causes a problem for many other
threads in the meantime.

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

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

13 years agoFix multiple SIP realtime issues
Terry Wilson [Tue, 7 Feb 2012 20:53:02 +0000 (20:53 +0000)] 
Fix multiple SIP realtime issues

1. Set lastms to 0 when clearing instead of ""
2. Don't set ipaddr or port to the string "(null)" when they are empty
3. Add missing required fields, set default for lastms to 0, and modify
   the length of the ipaddr field to 45 in the Postgresql realtime.sql
   file.

(closes issue ASTERISK-19172)
Review: https://reviewboard.asterisk.org/r/1703/

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

13 years agoFix column duplication bug in module reload for cdr_pgsql.
Jonathan Rose [Tue, 7 Feb 2012 15:04:38 +0000 (15:04 +0000)] 
Fix column duplication bug in module reload for cdr_pgsql.

Prior to this patch, attempts to reload cdr_pgsql.so would cause the column list to keep
its current data and then add a second copy during the reload. This would cause attempts
to log the CDR to the database to fail. This patch also cleans up some unnecessary null
checks for ast_free and deals with a few potential locking problems.

(closes issue ASTERISK-19216)
Reported by: Jacek Konieczny
Review: https://reviewboard.asterisk.org/r/1711/

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

13 years agoImproved documentation of CLI "dialplan add extension" command.
Richard Mudgett [Mon, 6 Feb 2012 22:58:34 +0000 (22:58 +0000)] 
Improved documentation of CLI "dialplan add extension" command.

* Documented dialplan add extension <exten>,<priority>,<app(<app-data>)>
format.

* Allow acceptance of command without the app-data value.  There are many
applications that do no need any parameters so it is silly to require that
field for all commands.

* Fixed a couple ast_malloc/ast_free mismatches with ast_add_extension2()
calls.

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

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

13 years agoAdd missing headers to AMI UnParkedCall event to uniquely identify the call.
Richard Mudgett [Mon, 6 Feb 2012 17:28:05 +0000 (17:28 +0000)] 
Add missing headers to AMI UnParkedCall event to uniquely identify the call.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(closes issue ASTERISK-16959)
reported by Olaf Holthausen

(closes issue ASTERISK-19201)
reported by Chris Mylonas

(closes issue ASTERISK-19204)
reported by Chris Mylonas

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

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

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

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

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

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

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

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

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

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

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

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

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

(closes issue ASTERISK-19246)
Reported by: feyfre

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

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

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

(closes issue ASTERISK-17030)
Reported by: Jonas

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

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

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

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

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

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

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

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

* Moved struct fast_originate_helper tech and data members to stringfields.

* Simplified ActionID header handling for fast_originate().

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

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

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

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

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

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

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

(closes issue ASTERISK-19106)

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

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

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

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

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

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

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

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

Tested with Asterisk 1.8.8.2 with Grandstream phones.

alecdavis (license 585)
Tested by: alecdavis

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Tested with Asterisk 1.8.8.2 with Grandstream phones.

alecdavis (license 585)
Tested by: alecdavis

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

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

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

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

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

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

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

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

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

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

Make similar to other Notify messages.

sample output:

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

Tested with Asterisk 1.8.8.2 with Grandstream phones.

alecdavis (license 585)
Tested by: alecdavis

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(closes issue ASTERISK-15537)
Reported by: yarique

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(issue ASTERISK-19179)
Reported by: TSAREGORODTSEV Yury

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(issue ASTERISK-19192)

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

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

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

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

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