11 years agoRemove possible segfaults from res_odbc by adding locks around usage of odbc handle
Jonathan Rose [Mon, 27 Feb 2012 15:35:10 +0000 (15:35 +0000)]
Remove possible segfaults from res_odbc by adding locks around usage of odbc handle

(closes issue ASTERISK-19011)
Reported by: Walter Doekes
issueA19011_combine_read_and_write_locks_WORK_IN_PROGRESS.patch uploaded by Walter Doekes (license 5674)

Merged revisions 356917 from

Merged revisions 356961 from

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

11 years agoMake ast_netsock_set_qos() delegate to ast_set_qos().
Sean Bright [Mon, 27 Feb 2012 14:57:23 +0000 (14:57 +0000)]
Make ast_netsock_set_qos() delegate to ast_set_qos().

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

11 years agoCorrect typo in deprecation comment.
Sean Bright [Mon, 27 Feb 2012 14:15:24 +0000 (14:15 +0000)]
Correct typo in deprecation comment.

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

11 years agoPrefer ast_set_qos() over ast_netsock_set_qos()
Sean Bright [Mon, 27 Feb 2012 14:13:58 +0000 (14:13 +0000)]
Prefer ast_set_qos() over ast_netsock_set_qos()

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

11 years agoRemove trailing whitespace
Sean Bright [Mon, 27 Feb 2012 13:45:10 +0000 (13:45 +0000)]
Remove trailing whitespace

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

11 years agoAdd support change gatekeeper mode or ip per ooh323 reload command
Alexandr Anikin [Sun, 26 Feb 2012 18:25:23 +0000 (18:25 +0000)]
Add support change gatekeeper mode or ip per ooh323 reload command

(issue ASTERISK-19298)
Reported by: Dmitry Melekhov
        change_gk_on_reload-1.patch (License #5415)

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

11 years agoFix crash in app_voicemail during close_mailbox
Matthew Jordan [Sat, 25 Feb 2012 17:22:55 +0000 (17:22 +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.

Merged revisions 356797 from

Merged revisions 356798 from

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

11 years agoastobj2.h comment tweaks.
Richard Mudgett [Fri, 24 Feb 2012 23:40:23 +0000 (23:40 +0000)]
astobj2.h comment tweaks.

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

11 years agoastobj2.h documentation updates.
Richard Mudgett [Fri, 24 Feb 2012 20:47:12 +0000 (20:47 +0000)]
astobj2.h documentation updates.

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

11 years agoFix worker thread resource leak in SIP TCP/TLS.
Richard Mudgett [Fri, 24 Feb 2012 18:33:04 +0000 (18:33 +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


Merged revisions 356677 from

Merged revisions 356690 from

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

11 years agoRemove srtp_shutdown from res_srtp
Matthew Jordan [Fri, 24 Feb 2012 17:43:26 +0000 (17:43 +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

Merged revisions 356650 from

Merged revisions 356651 from

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

11 years agoAllow SRTP policies to be reloaded
Matthew Jordan [Fri, 24 Feb 2012 15:10:35 +0000 (15:10 +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.


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

Merged revisions 356604 from

Merged revisions 356605 from

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

11 years agoOpaquification for ast_format structs in struct ast_channel
Terry Wilson [Fri, 24 Feb 2012 00:32:20 +0000 (00:32 +0000)]
Opaquification for ast_format structs in struct ast_channel


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

11 years agoFix blind transfer parking issues if the dialed extension is not recognized as a...
Richard Mudgett [Thu, 23 Feb 2012 20:14:54 +0000 (20:14 +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



Merged revisions 356521 from

Merged revisions 356522 from

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

11 years agoFix ACK routing for non-2xx responses.
Mark Michelson [Thu, 23 Feb 2012 15:49:13 +0000 (15:49 +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
    ASTERISK-19389v2.patch uploaded by Mark Michelson (license #5049)
(with some slight modifications prior to commit)

Merged revisions 356475 from

Merged revisions 356476 from

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

11 years agoBlocked revisions 356431
Paul Belanger [Thu, 23 Feb 2012 04:02:30 +0000 (04:02 +0000)]
Blocked revisions 356431

Fix -Werror=unused-but-set-variable compiler error (gcc 4.6.2)

Merged revisions 356430 from

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

11 years agoMultiple revisions 356290,356335,356337
Paul Belanger [Thu, 23 Feb 2012 03:27:01 +0000 (03:27 +0000)]
Multiple revisions 356290,356335,356337

  r356290 | pabelanger | 2012-02-22 15:20:29 -0500 (Wed, 22 Feb 2012) | 4 lines

  Fix -Werror=unused-but-set-variable compiler error (gcc 4.6.2)

  r356335 | pabelanger | 2012-02-22 16:29:25 -0500 (Wed, 22 Feb 2012) | 2 lines

  Add back strsep() function for previous commit
  r356337 | pabelanger | 2012-02-22 16:36:37 -0500 (Wed, 22 Feb 2012) | 2 lines

  Missed one strsep() function

Merged revisions 356290,356335,356337 from

Merged revisions 356428 from

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

11 years agoFix some tests that didn't get opaquification changes
Terry Wilson [Thu, 23 Feb 2012 01:53:17 +0000 (01:53 +0000)]
Fix some tests that didn't get opaquification changes


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

11 years agoRevert some apparently accidental spacing changes.
Richard Mudgett [Thu, 23 Feb 2012 00:56:31 +0000 (00:56 +0000)]
Revert some apparently accidental spacing changes.

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

11 years agoTrack module use count for res_calendar
Terry Wilson [Wed, 22 Feb 2012 21:22:43 +0000 (21:22 +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", but it is still possible to unload
them all via "module unload -h".


Merged revisions 356291 from

Merged revisions 356297 from

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

11 years agoCorrect some set-but-unused variable warnings in the mISDN library.
Kevin P. Fleming [Wed, 22 Feb 2012 21:10:05 +0000 (21:10 +0000)]
Correct some set-but-unused variable warnings in the mISDN library.

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

11 years agoFix chan_misdn after the lastest opaquification changes
Terry Wilson [Wed, 22 Feb 2012 17:34:33 +0000 (17:34 +0000)]
Fix chan_misdn after the lastest opaquification changes

It now compiles, but there are some unrelated warnings for set but
unused variables.

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

11 years agoMerged revisions 356215 via svnmerge from
Matthew Jordan [Wed, 22 Feb 2012 14:54:42 +0000 (14:54 +0000)]
Merged revisions 356215 via svnmerge from

  r356215 | mjordan | 2012-02-22 08:53:53 -0600 (Wed, 22 Feb 2012) | 32 lines

  Merged revisions 356214 via svnmerge from

    r356214 | mjordan | 2012-02-22 08:50:20 -0600 (Wed, 22 Feb 2012) | 27 lines

    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.


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

11 years agoRename ast_channel_emulate_dtmf_digit* funcs
Terry Wilson [Wed, 22 Feb 2012 00:35:54 +0000 (00:35 +0000)]
Rename ast_channel_emulate_dtmf_digit* funcs

The accessors names for the "emulate_dtmf_digit" field on the ast_channel
are misleading. Change them to ast_channel_dtmf_digit_to_emulate*.

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

11 years agoFix some opaquification-related compiler warnings
Terry Wilson [Tue, 21 Feb 2012 20:17:52 +0000 (20:17 +0000)]
Fix some opaquification-related compiler warnings

(closes issue ASTERISK-19419)
PseudoReview - seanbright on IRC

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

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

Merged revisions 356107 from

Merged revisions 356108 from

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

11 years agoAdd missing newline to ccss state change notification
Kinsey Moore [Tue, 21 Feb 2012 04:31:19 +0000 (04:31 +0000)]
Add missing newline to ccss state change notification

Move along, nothing to see here...

Merged revisions 356074 from

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

11 years agoast_channel opaquification of pointers and integral types
Terry Wilson [Mon, 20 Feb 2012 23:43:27 +0000 (23:43 +0000)]
ast_channel opaquification of pointers and integral types


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

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

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

Merged revisions 355997 from

Merged revisions 355998 from

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

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

Merged revisions 355952 from

Merged revisions 355953 from

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

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

Merged revisions 355949 from

Merged revisions 355950 from

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

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

Merged revisions 355904 from

Merged revisions 355905 from

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

11 years agoSet the length of the ast_sockaddr, so that we can set it's port later.
Sean Bright [Sun, 19 Feb 2012 17:51:12 +0000 (17:51 +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.

Merged revisions 355901 from

Merged revisions 355902 from

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

11 years agopush 'outgoing' flag from sig_XXX up to chan_dahdi
Alec L Davis [Sat, 18 Feb 2012 08:02:08 +0000 (08:02 +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


Merged revisions 355850 from

Merged revisions 355851 from

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

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

Merged revisions 355793 from

Merged revisions 355794 from

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

11 years agoNon-verbose output should always go to the remote console, regardless of the previous...
Tilghman Lesher [Fri, 17 Feb 2012 19:56:58 +0000 (19:56 +0000)]
Non-verbose output should always go to the remote console, regardless of the previous level.

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

11 years agoPass the correct value to ast_timer_set_rate() for IAX2 trunking.
Sean Bright [Fri, 17 Feb 2012 19:35:11 +0000 (19:35 +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.

Merged revisions 355746 from

Merged revisions 355747 from

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

11 years agoFix regressions with regards to route-set creation on early dialogs.
Mark Michelson [Fri, 17 Feb 2012 19:22:22 +0000 (19:22 +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
   ASTERISK-19358.patch uploaded by Mark Michelson (license 5049)
   ASTERISK-19358.patch uploaded by Stefan Schmidt (license 6034)


Merged revisions 355732 from

Merged revisions 355733 from

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

11 years agoFix channel opaquification for app_rpt
Paul Belanger [Thu, 16 Feb 2012 22:00:31 +0000 (22:00 +0000)]
Fix channel opaquification for app_rpt

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

11 years agoRevert a change to audio_audiohook_write_list that had no affect.
Sean Bright [Thu, 16 Feb 2012 20:03:40 +0000 (20:03 +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.

Merged revisions 355622 from

Merged revisions 355623 from

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

11 years agoFix compile problem when old version of libvorbisfile v1.1.2 is used.
Richard Mudgett [Thu, 16 Feb 2012 19:51:15 +0000 (19:51 +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

* 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

Merged revisions 355608 from

Merged revisions 355620 from

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

11 years agoFix AMI Monitor action without File header converting channel name into filename.
Richard Mudgett [Thu, 16 Feb 2012 18:39:46 +0000 (18:39 +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.

Merged revisions 355574 from

Merged revisions 355575 from

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

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

Merged revisions 355529 from

Merged revisions 355530 from

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

11 years agoRemove IAX_OLD_FIND from chan_iax2.
Sean Bright [Wed, 15 Feb 2012 18:41:22 +0000 (18:41 +0000)]
Remove IAX_OLD_FIND from chan_iax2.

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

11 years agoUse TRUNK_CALL_START as originally intended.
Sean Bright [Wed, 15 Feb 2012 17:26:30 +0000 (17:26 +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.

Merged revisions 355448 from

Merged revisions 355449 from

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

11 years agoRe-commit the verbose branch.
Tilghman Lesher [Tue, 14 Feb 2012 20:27:16 +0000 (20:27 +0000)]
Re-commit the verbose branch.

This change permits each verbose destination (consoles, logger) to have its
own concept of what the verbosity level is.  The big feature here is that
the logger will now be able to capture a particular verbosity level without
condemning each console to need to suffer that level of verbosity.
Additionally, a stray 'core set verbose' will no longer change what will go
to the log.


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

11 years agoFix voicemail problems when using ogg/vorbis.
Richard Mudgett [Tue, 14 Feb 2012 19:29:24 +0000 (19:29 +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
      ogg_vorbis_use_libvorbisfile.patch (license #6108) patch uploaded by sque

Merged revisions 355365 from

Merged revisions 355375 from

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

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

(closes issue ASTERISK-19356)
Reported by: Alex Villacis Lasso
      asterisk- (license #5617) patch uploaded by Alex Villacis Lasso


Merged revisions 355319 from

Merged revisions 355320 from

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

11 years agoProperly invert the return of a strncmp call.
Mark Michelson [Tue, 14 Feb 2012 16:28:01 +0000 (16:28 +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

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

Merged revisions 355268 from

Merged revisions 355271 from

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

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

Merged revisions 355228 from

Merged revisions 355229 from

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

11 years agoClear the high order bit from the destination call number before sending.
Sean Bright [Tue, 14 Feb 2012 13:35:02 +0000 (13:35 +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.

Merged revisions 355182 from

Merged revisions 355183 from

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

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

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

Merged revisions 355136 from

Merged revisions 355137 from

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

11 years agores_agi: Add AGIEXITONHANGUP variable.
Russell Bryant [Tue, 14 Feb 2012 00:43:50 +0000 (00:43 +0000)]
res_agi: Add AGIEXITONHANGUP variable.

This patch adds a variable AGIEXITONHANGUP for res_agi.  If this variable is
set to "yes" on a channel, AGI() will exit immediately once a channel hangup
has been detected.  This was the behavior of AGI() in Asterisk 1.4 and earlier
and is still desired by some people.


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

11 years agoFix occasional incorrectly delayed call-file execution.
Richard Mudgett [Mon, 13 Feb 2012 22:04:46 +0000 (22:04 +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


Merged revisions 355056 from

Merged revisions 355057 from

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

11 years agoFix compile error from most recent ast_channel opaquification installment.
Richard Mudgett [Mon, 13 Feb 2012 21:36:26 +0000 (21:36 +0000)]
Fix compile error from most recent ast_channel opaquification installment.

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

11 years agoOnly allow one 'dialplan reload' to execute at a time as otherwise they would share...
Joshua Colp [Mon, 13 Feb 2012 19:56:02 +0000 (19:56 +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)

Merged revisions 355009 from

Merged revisions 355010 from

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

11 years agoOpaquify char * and char[] in ast_channel
Terry Wilson [Mon, 13 Feb 2012 17:27:06 +0000 (17:27 +0000)]
Opaquify char * and char[] in ast_channel


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

11 years agoFix reconnecting to pgsql database after connection loss.
Richard Mudgett [Mon, 13 Feb 2012 17:25:41 +0000 (17:25 +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


Merged revisions 354953 from

Merged revisions 354959 from

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

11 years agoDon't try to play sound files that do not exist.
Joshua Colp [Mon, 13 Feb 2012 16:42:42 +0000 (16:42 +0000)]
Don't try to play sound files that do not exist.

(closes issue ASTERISK-19188)
Reported by: slesru

Merged revisions 354938 from

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

11 years agoFix a voicemail memory leak with heard/deleted messages.
Jason Parker [Fri, 10 Feb 2012 22:44:12 +0000 (22:44 +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.

Merged revisions 354889 from

Merged revisions 354890 from

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

11 years agoFix AMI Redirect ExtraChannel not redirecting to the same exten and context.
Richard Mudgett [Fri, 10 Feb 2012 18:08:19 +0000 (18:08 +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
      0018325.patch (license #6116) patch uploaded by Nuno Borges (modified)

Merged revisions 354835 from

Merged revisions 354836 from

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

11 years agoFix IMAP app_voicemail compilation issue introduced in r354429
Matthew Jordan [Fri, 10 Feb 2012 14:51:27 +0000 (14:51 +0000)]
Fix IMAP app_voicemail compilation issue introduced in r354429

This simply fixes the compilation issue introduced in r354429 by
re-adding the 'quote' variable.

(closes issue ASTERISK-19337)
Reported by: John Taylor

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

11 years agoNote that CDRs are immutable once a bridge is torn down
Terry Wilson [Thu, 9 Feb 2012 22:06:41 +0000 (22:06 +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)

Merged revisions 354749 from

Merged revisions 354750 from

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

11 years agoFix parsing of SIP headers where compact and non-compact headers are mixed
Kinsey Moore [Thu, 9 Feb 2012 20:52:13 +0000 (20:52 +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)

Merged revisions 354702 from

Merged revisions 354703 from

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

11 years agoMake the config parser remove escaping backslashes
Kinsey Moore [Thu, 9 Feb 2012 19:54:37 +0000 (19:54 +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)

Merged revisions 354655 from

Merged revisions 354656 from

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

11 years agoAdd auto_force_rport and auto_comedia NAT options
Terry Wilson [Thu, 9 Feb 2012 18:14:39 +0000 (18:14 +0000)]
Add auto_force_rport and auto_comedia NAT options

This patch adds the auto_force_rport and auto_comedia NAT options. It
also converts the nat= setting to a list of comma-separated combinable
options: no, force_rport, comedia, auto_force_rport, and auto_comedia.
nat=yes remains as an undocumented option equal to
"force_rport,comedia". The first instance of 'yes' or 'no' in the list
stops parsing and overrides any previously set options. If an auto_*
option is specified with its non-auto_ counterpart, the auto setting
takes precedence.

This patch builds upon the patch posted to ASTERISK-17860 by JIRA user

(closes issue ASTERISK-17860)

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

11 years agoAdding reload support to
Mark Michelson [Thu, 9 Feb 2012 17:17:55 +0000 (17:17 +0000)]
Adding reload support to

(closes issue ASTERISK-16712)
reported by Frank DiGennaro


Merged revisions 354545 from

Merged revisions 354546 from

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

11 years agoClean-up of minor formatting issues in r354542/3/4
Matthew Jordan [Thu, 9 Feb 2012 17:09:10 +0000 (17:09 +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.


Merged revisions 354547 from

Merged revisions 354548 from

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

11 years agoFix SIP INFO DTMF handling for non-numeric codes
Matthew Jordan [Thu, 9 Feb 2012 16:37:01 +0000 (16:37 +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.


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

Merged revisions 354542 from

Merged revisions 354543 from

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

11 years agoFix some compile problems from the 'cppcheck' patch.
Richard Mudgett [Thu, 9 Feb 2012 03:09:39 +0000 (03:09 +0000)]
Fix some compile problems from the 'cppcheck' patch.

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

11 years agoFix crash in ParkAndAnnounce.
Richard Mudgett [Thu, 9 Feb 2012 02:55:59 +0000 (02:55 +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

Merged revisions 354495 from

Merged revisions 354496 from

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

11 years agoRemove some unnecessary locking from ast_hangup().
Russell Bryant [Thu, 9 Feb 2012 02:28:18 +0000 (02:28 +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.


Merged revisions 354492 from

Merged revisions 354493 from

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

11 years agoRevision 354046 added res_corosync as a replacement for res_ais, but didn't
Kevin P. Fleming [Wed, 8 Feb 2012 21:29:04 +0000 (21:29 +0000)]
Revision 354046 added res_corosync as a replacement for res_ais, but didn't
actually remove res_ais. This commit removes it.

In addition, the 'install_prereq' script has been updated to no longer install
AIS dependency packages, and instead install Corosync packages instead.

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

11 years agoAdd callbackextension matching & realtime callbackextensions
Terry Wilson [Wed, 8 Feb 2012 21:28:55 +0000 (21:28 +0000)]
Add callbackextension matching & realtime callbackextensions

This patch is based on the one by David Vossel, developer extrodinaire, at If multiple peers are defined with the
same host/port, but differing callbackextensions, it chooses the peer with the
matching callbackextension. Since callbackextension creates an outbound
registration with the callbackextension as the Contact address, matching an
incoming request by that (in addition to the host/port) makes a lot of sense.

This patch also adds support for callbackextension to realtime by querying all
peers with callbackextensions on reload and adding registrations for them.

(closes issue ASTERISK-13456)

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

11 years agoRestore some variables removed by the 'cppcheck' patch that were actually needed.
Kevin P. Fleming [Wed, 8 Feb 2012 21:25:57 +0000 (21:25 +0000)]
Restore some variables removed by the 'cppcheck' patch that were actually needed.

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

11 years agoAvoid cppcheck warnings; removing unused vars and a bit of cleanup.
Walter Doekes [Wed, 8 Feb 2012 20:49:48 +0000 (20:49 +0000)]
Avoid cppcheck warnings; removing unused vars and a bit of cleanup.

Patch by: Clod Patry

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

11 years agoAdd CHANGES documentation for the "pri set debug" bitmask change
Kinsey Moore [Wed, 8 Feb 2012 15:28:48 +0000 (15:28 +0000)]
Add CHANGES documentation for the "pri set debug" bitmask change

(related to ASTERISK-17159)

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

11 years agoFix multiple SIP realtime issues
Terry Wilson [Tue, 7 Feb 2012 21:33:42 +0000 (21:33 +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

(closes issue ASTERISK-19172)

Merged revisions 354348 from

Merged revisions 354349 from

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

11 years agoContinuation of last patch - since LIVE_AST_LD_PATH_EXTRA will now never
Sean Bright [Tue, 7 Feb 2012 18:07:16 +0000 (18:07 +0000)]
Continuation of last patch - since LIVE_AST_LD_PATH_EXTRA will now never
be empty, don't check for it, instead of check if LD_LIBRARY_PATH is
already set and if so, append LIVE_AST_LD_PATH_EXTRA properly.

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

11 years agoInclude live/usr/lib in the shared library search path to that we pick up
Sean Bright [Tue, 7 Feb 2012 17:59:20 +0000 (17:59 +0000)]
Include live/usr/lib in the shared library search path to that we pick up at run time when using live_ast.

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

11 years agoWhitespace only (remove trailing spaces)
Sean Bright [Tue, 7 Feb 2012 17:57:52 +0000 (17:57 +0000)]
Whitespace only (remove trailing spaces)

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

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

Prior to this patch, attempts to reload 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

Merged revisions 354263 from

Merged revisions 354270 from

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

11 years agoImproved documentation of CLI "dialplan add extension" command.
Richard Mudgett [Mon, 6 Feb 2012 23:15:33 +0000 (23:15 +0000)]
Improved documentation of CLI "dialplan add extension" command.

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

* 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()

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

Merged revisions 354216 from

Merged revisions 354217 from

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

11 years agoRestore alternate SIG_PRI_DEBUG_DEFAULT meaning.
Richard Mudgett [Mon, 6 Feb 2012 20:56:23 +0000 (20:56 +0000)]
Restore alternate SIG_PRI_DEBUG_DEFAULT meaning.

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

11 years agoAllow more control over the output of pri debug
Kinsey Moore [Mon, 6 Feb 2012 20:18:16 +0000 (20:18 +0000)]
Allow more control over the output of pri debug

This changes the debuglevel of 'pri set debug' to a bit mask allowing the user
to independently select bits of output:
1 libpri internals including state machine
2 Decoded Q.931 messages
4 Decoded Q.921 headers
8 raw hex dump of the full frames

Additionally, this ensures that the meaning of "on" does not change and
intrudces intense and hex to simplify usage.

(closes issue ASTERISK-17159)
Original-patch-by: wimpy

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

11 years agoAdd missing headers to AMI UnParkedCall event to uniquely identify the call.
Richard Mudgett [Mon, 6 Feb 2012 17:33:41 +0000 (17:33 +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

Merged revisions 354116 from

Merged revisions 354119 from

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

11 years agoMake the 'c' option to MeetMe work even if the 'q' option is used.
Joshua Colp [Mon, 6 Feb 2012 16:38:23 +0000 (16:38 +0000)]
Make the 'c' option to MeetMe work even if the 'q' option is used.

(closes issue ASTERISK-17053)
Reported by: justdave

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

11 years agoReplace res_ais with a new module, res_corosync.
Russell Bryant [Sun, 5 Feb 2012 10:58:37 +0000 (10:58 +0000)]
Replace res_ais with a new module, res_corosync.

This patch removes res_ais and introduces a new module, res_corosync.
The OpenAIS project is deprecated and is now just a wrapper around
Corosync.  This module provides the same functionality using the same
core infrastructure, but without the use of the deprecated components.

Technically res_ais could have been used with an AIS implementation other
than OpenAIS, but that is the only one I know of that was ever used.


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

11 years agoFixes deadlocks occuring in chan_agent due to r335976
Jonathan Rose [Fri, 3 Feb 2012 21:33:23 +0000 (21:33 +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

Merged revisions 353999 from

Merged revisions 354000 from

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

11 years agoSupport schema selection in cdr_adaptive_odbc
Kinsey Moore [Fri, 3 Feb 2012 16:50:49 +0000 (16:50 +0000)]
Support schema selection in cdr_adaptive_odbc

Asterisk now supports using ODBC with databases where a single schema must be
selected.  Previously, INSERTs would fail because they did not take into
account extra fields cause by having multiple schemas.  This also corrects
some SQL resource leaks.

(closes issue ASTERISK-17106)
Patch-by: Alexander Frolkin
Patch-by: Tilgnman Lesher

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

11 years agoFixes a segfault occuring when performing attended transfer with FAXOPT(gateway)=yes
Jonathan Rose [Fri, 3 Feb 2012 16:23:21 +0000 (16:23 +0000)]
Fixes a segfault occuring when performing attended transfer with FAXOPT(gateway)=yes

(closes issue ASTERISK-19184)
Reported by: Alexandr

Merged revisions 353962 from

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

11 years agoEnsure entering T.38 passthrough does not cause an infinite loop
Kinsey Moore [Thu, 2 Feb 2012 22:28:36 +0000 (22:28 +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

Merged revisions 353915 from

Merged revisions 353916 from

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

11 years agoRestore the 'w' modifier support for ISDN spans. Dial(DAHDI/g0/1234w888)
Richard Mudgett [Thu, 2 Feb 2012 20:18:11 +0000 (20:18 +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

Merged revisions 353867 from

Merged revisions 353868 from

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

11 years agoFix TLS port binding behavior as well as reload behavior:
Mark Michelson [Thu, 2 Feb 2012 18:55:05 +0000 (18:55 +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


Merged revisions 353770 from

Merged revisions 353820 from

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

11 years agoFix sip show peers port output, align columns, and fix ami port output.
Jonathan Rose [Thu, 2 Feb 2012 17:07:35 +0000 (17:07 +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

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

Merged revisions 353769 from

Merged revisions 353771 from

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

11 years agoUse ast_sockaddr_stringify_fmt wrappers for various functions in chan_sip
Jonathan Rose [Wed, 1 Feb 2012 21:18:03 +0000 (21:18 +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
chan_sip-broken-registration-1.8.diff uploaded by Michael L. Young (license 5026)

Merged revisions 353720 from

Merged revisions 353721 from

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

11 years agoConstify some more channel driver technology callback parameters.
Richard Mudgett [Wed, 1 Feb 2012 19:53:38 +0000 (19:53 +0000)]
Constify some more channel driver technology callback parameters.


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

11 years agoRemove inconsistency in CEL eventtype for user defined events.
Richard Mudgett [Wed, 1 Feb 2012 17:42:15 +0000 (17:42 +0000)]
Remove inconsistency in CEL eventtype for user defined events.

The CEL eventtype field for ODBC and PGSQL backends should be USER_DEFINED
instead of the user defined event name supplied by the CELGenUserEvent
application.  If the field is output as a number, the user defined name
does not have a value and is always output as 21 for USER_DEFINED and the
userdeftype field would be required to supply the user defined name.

The following CEL backends (cel_odbc, cel_pgsql, cel_custom, cel_manager,
and cel_sqlite3_custom) can be independently configured to remove this

* Allows cel_manager, cel_custom, and cel_sqlite3_custom to behave the
same way.

(closes issue ASTERISK-17189)
Reported by: Bryant Zimmerman


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

11 years agoFix ExtenSpy and simplify the channel search functions.
Richard Mudgett [Wed, 1 Feb 2012 17:21:40 +0000 (17:21 +0000)]
Fix ExtenSpy and simplify the channel search functions.

When ast_channel name was opaquified, the channel search functions did not
get converted correctly.  As a result ExtenSpy which uses a channel
iterator search by exten@context could never find anything.

* Updated the doxygen documentation for the search functions in channel.h.


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

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

may have caused unintended side effects.  This patch moves
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

Merged revisions 353598 from

Merged revisions 353599 from

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