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

11 years agoAdded clarification for the VERBOSITY setting to etc_default_asterisk
Matthew Jordan [Wed, 1 Feb 2012 15:07:24 +0000 (15:07 +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

Merged revisions 353550 from

Merged revisions 353551 from

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

11 years agoAllow res_calendar to be unloaded
Terry Wilson [Wed, 1 Feb 2012 00:08:27 +0000 (00:08 +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)

Merged revisions 353502 from

Merged revisions 353503 from

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

11 years agoFix memory leak in error paths for action_originate().
Richard Mudgett [Tue, 31 Jan 2012 17:26:09 +0000 (17:26 +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 *.


Merged revisions 353454 from

Merged revisions 353463 from

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

11 years agoRe-link peers by IP when dnsmgr changes the IP
Terry Wilson [Mon, 30 Jan 2012 23:58:51 +0000 (23:58 +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)


Merged revisions 353371 from

Merged revisions 353397 from

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

11 years agoMerged revisions 353369 via svnmerge from
Alec L Davis [Mon, 30 Jan 2012 22:44:50 +0000 (22:44 +0000)]
Merged revisions 353369 via svnmerge from

  r353369 | alecdavis | 2012-01-31 11:42:28 +1300 (Tue, 31 Jan 2012) | 9 lines

  Merged revisions 353368 via svnmerge from

    r353368 | alecdavis | 2012-01-31 11:40:40 +1300 (Tue, 31 Jan 2012) | 2 lines

    prevent debug messsges displaying -ve Cseq numbers. Missed in R353320

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

11 years agoMerged revisions 353321 via svnmerge from
Alec L Davis [Mon, 30 Jan 2012 22:28:37 +0000 (22:28 +0000)]
Merged revisions 353321 via svnmerge from

  r353321 | alecdavis | 2012-01-31 11:16:22 +1300 (Tue, 31 Jan 2012) | 25 lines

  Merged revisions 353320 via svnmerge from

    r353320 | alecdavis | 2012-01-31 10:57:49 +1300 (Tue, 31 Jan 2012) | 18 lines

    RFC3261 Section 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 with Grandstream phones.

    alecdavis (license 585)
    Tested by: alecdavis


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

11 years agoCorrect serious flaw in the top-level Makefile.
Kevin P. Fleming [Mon, 30 Jan 2012 21:34:52 +0000 (21:34 +0000)]
Correct serious flaw in the top-level Makefile.

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

11 years agoAddress OpenSSL initialization issues when using third-party libraries.
Kevin P. Fleming [Mon, 30 Jan 2012 21:21:16 +0000 (21:21 +0000)]
Address OpenSSL initialization issues when using third-party libraries.

When Asterisk is used with various third-party libraries (CURL, PostgresSQL,
many others) that have the ability themselves to use OpenSSL, it is possible
for conflicts to arise in how the OpenSSL libraries are initialized and
shutdown. This patch addresses these conflicts by 'wrapping' the important
functions from the OpenSSL libraries in a new shared library that is part
of Asterisk itself, and is loaded in such a way as to ensure that *all*
calls to these functions will be dispatched through the Asterisk wrapper
functions, not the native functions.

This new library is optional, but enabled by default. See the CHANGES file
for documentation on how to disable it.

Along the way, this patch also makes a few other minor changes:

* Changes MODULES_DIR to ASTMODDIR throughout the build system, in order to
  more closely match what is used during run-time configuration.

* Corrects some errors in the configure script where AC_CHECK_TOOLS was used
  instead of AC_PATH_PROG.

* Adds a new variable for linker flags in the build system (DYLINK), used for
  producing true shared libraries (as opposed to the dynamically loadable
  modules that the build system produces for 'regular' Asterisk modules).

* Moves the Makefile bits that handle installation and uninstallation of the
  main Asterisk binary into main/Makefile from the top-level Makefile.

* Moves a couple of useful preprocessor macros from optional_api.h to


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

11 years agoClarify log WARNING message when port-zero SDP 'm' lines received.
Kevin P. Fleming [Mon, 30 Jan 2012 12:50:40 +0000 (12:50 +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).

Merged revisions 353260 from

Merged revisions 353261 from

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

11 years agoAllow softkey reject while device onhook.
Damien Wedhorn [Sun, 29 Jan 2012 22:33:08 +0000 (22:33 +0000)]
Allow softkey reject while device onhook.

Fixes up softkey endcall. Previous code was a copy of onhook, now
allows for endcall softkey to be used while device is still onhook.

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

11 years agoFind even more network interfaces.
Russell Bryant [Sun, 29 Jan 2012 02:45:28 +0000 (02:45 +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().

Merged revisions 353175 from

Merged revisions 353176 from

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

11 years agoAdd 'L16-256' MIME subtype alias for slin16.
Kevin P. Fleming [Sat, 28 Jan 2012 14:52:05 +0000 (14:52 +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.

Merged revisions 353126 from

Merged revisions 353127 from

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

11 years agoUpdate ast_set_default_eid() to find more network interfaces.
Russell Bryant [Sat, 28 Jan 2012 04:31:07 +0000 (04:31 +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:

Merged revisions 353077 from

Merged revisions 353078 from

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

11 years agoAudit of ao2_iterator_init() usage for v10. Missed one.
Richard Mudgett [Fri, 27 Jan 2012 21:38:54 +0000 (21:38 +0000)]
Audit of ao2_iterator_init() usage for v10.  Missed one.

Merged revisions 353039 from

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

11 years agoAudit of ao2_iterator_init() usage for v10.
Richard Mudgett [Fri, 27 Jan 2012 19:33:49 +0000 (19:33 +0000)]
Audit of ao2_iterator_init() usage for v10.

Fix double format_cap iterator cleanup.

Merged revisions 352992 from

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

11 years agoMake failed PauseMonitor and UnpauseMonitor with no valid channel not close AMI session.
Jonathan Rose [Fri, 27 Jan 2012 19:26:53 +0000 (19:26 +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
res_monitor.c-ASTERISK-19249.diff uploaded by Jamuel Starkey (license 5766)

Merged revisions 352959 from

Merged revisions 352965 from

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

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

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


Merged revisions 352955 from

Merged revisions 352956 from

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

11 years agoAdd aresult variable for CALENDAR_WRITE
Terry Wilson [Fri, 27 Jan 2012 15:57:40 +0000 (15:57 +0000)]
Add aresult variable for CALENDAR_WRITE

This patch adds a CALENDAR_SUCCESS=1/0 variable that is set to show whether or
not CALENDAR_WRITE has passed. This patch also adds some debugging for caldav
PUT responses and no longer treats responses with no body as an error (as a PUT
gets a 201 Created with no body).

(closes issue ASTERISK-16903)
Reported by: Clod Patry
Tested by: Terry Wilson
   calendarstatus.diff uploaded by Clod Patry (License #5138), slightly modified by Terry Wilson

- This line, and those below, will be ignored--

M    res/res_calendar.c
M    res/res_calendar_exchange.c
M    res/res_calendar_caldav.c

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

11 years agoMerged revisions 352863 via svnmerge from
Alec L Davis [Fri, 27 Jan 2012 00:11:41 +0000 (00:11 +0000)]
Merged revisions 352863 via svnmerge from

  r352863 | alecdavis | 2012-01-27 13:08:03 +1300 (Fri, 27 Jan 2012) | 19 lines

  Merged revisions 352862 via svnmerge from

    r352862 | alecdavis | 2012-01-27 13:05:30 +1300 (Fri, 27 Jan 2012) | 12 lines

    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 with Grandstream phones.

    alecdavis (license 585)
    Tested by: alecdavis


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

11 years agoFix outbound DTMF for inband mode (tell asterisk core to generate DTMF
Alexandr Anikin [Thu, 26 Jan 2012 20:44:37 +0000 (20:44 +0000)]
Fix outbound DTMF for inband mode (tell asterisk core to generate DTMF

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

Merged revisions 352807 from

Merged revisions 352817 from

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

11 years agoCopy amaflags to sip_pvt from peer during create_addr_from_peer
Jonathan Rose [Thu, 26 Jan 2012 19:09:02 +0000 (19:09 +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

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

Merged revisions 352755 from

Merged revisions 352756 from

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

11 years agoMerged revisions 352705 via svnmerge from
Alec L Davis [Thu, 26 Jan 2012 06:36:23 +0000 (06:36 +0000)]
Merged revisions 352705 via svnmerge from

  r352705 | alecdavis | 2012-01-26 19:33:11 +1300 (Thu, 26 Jan 2012) | 27 lines

  Merged revisions 352704 via svnmerge from

    r352704 | alecdavis | 2012-01-26 19:27:07 +1300 (Thu, 26 Jan 2012) | 20 lines

    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">

    Tested with Asterisk with Grandstream phones.

    alecdavis (license 585)
    Tested by: alecdavis


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

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

Merged revisions 352643 from

Merged revisions 352651 from

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

11 years agoRemove "asterisk/version.h" in favor of "asterisk/ast_version.h".
Kevin P. Fleming [Wed, 25 Jan 2012 21:31:28 +0000 (21:31 +0000)]
Remove "asterisk/version.h" in favor of "asterisk/ast_version.h".

A long time ago, in a land far far away, we added "asterisk/ast_version.h",
which provides the ast_get_version() and ast_get_version_num() functions. These
were added so that modules that needed the version information for the Asterisk
instance they were loaded in could actually get it (as opposed the version that
they were compiled against). We changed everything in the tree to use the
new mechanism (although later main/test.c was added using the old method).
However, the old mechanism was never removed, and as a result, new code is
still trying to use it.

This commit removes asterisk/version.h and replaces it with a header that
will generate a compile-time error if you try to use it (the error message
tells you which header you should use instead). It also removes the Makefile
and build_tools bits that generated the file, and it updates main/test.c to
use the 'proper' method of getting the Asterisk version information.

This is an API change and thus is being committed for trunk only, but it's
a fairly minor one and definitely improves the situation for out-of-tree

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

11 years agoBlocked revisions 352616
Kevin P. Fleming [Wed, 25 Jan 2012 21:22:25 +0000 (21:22 +0000)]
Blocked revisions 352616

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.

Merged revisions 352612 from

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

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

Merged revisions 352551 from

Merged revisions 352556 from

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

11 years agoFixes for sending SIP MESSAGE outside of calls.
Richard Mudgett [Wed, 25 Jan 2012 17:23:25 +0000 (17:23 +0000)]
Fixes for sending SIP MESSAGE outside of calls.

* Fix authenticate MESSAGE losing custom headers added by the MESSAGE_DATA
function in the authorization attempt.

* Pass up better From header contents for SIP to use.  Now is in the
"display-name" <URI> format expected by MessageSend.  (Note that this is a
behavior change that could concievably affect some people.)

* Block user from adding standard headers that are added automatically.
(To, From,...)

* Allow the user to override the Content-Type header contents sent by

* Decrement Max-Forwards header if the user transferred it from an
incoming message.

* Expand SIP short header names so the dialplan and other code only has to
deal with the full names.

* Documents what SIP expects in the MessageSend(from) parameter.

(closes issue ASTERISK-18992)
Reported by: Yuri

(closes issue ASTERISK-18917)
Reported by: Shaun Clark


Merged revisions 352520 from

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

11 years agoClean up some SIP registry-related memory leaks
Terry Wilson [Wed, 25 Jan 2012 17:02:29 +0000 (17:02 +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


Merged revisions 352514 from

Merged revisions 352515 from

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

11 years agoEliminate unnecessary rebuilds of main/format*.c.
Kevin P. Fleming [Wed, 25 Jan 2012 16:54:54 +0000 (16:54 +0000)]
Eliminate unnecessary rebuilds of main/format*.c.

These files have no need to include "asterisk/version.h", and doing so forces
them to be rebuilt each time a Subversion checkout moves between 'modified'
and 'unmodified' states.

Merged revisions 352516 from

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

11 years agoRedocuments sip types peer, user, friend in sip.conf.sample
Jonathan Rose [Wed, 25 Jan 2012 16:42:55 +0000 (16:42 +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

(closes issue ASTERISK-15537)
Reported by: yarique

Merged revisions 352511 from

Merged revisions 352512 from

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

11 years agoFix channel opaquification of stringfields for chan_vpb
Terry Wilson [Wed, 25 Jan 2012 01:21:23 +0000 (01:21 +0000)]
Fix channel opaquification of stringfields for chan_vpb

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

11 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:28:08 +0000 (22:28 +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

Merged revisions 352424 from

Merged revisions 352430 from

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

11 years agoSet core sounds version to 1.4.22.
Jonathan Rose [Tue, 24 Jan 2012 20:37:09 +0000 (20:37 +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
confbridge.tar.001 uploaded by Cameron Twomey
    confbridge.tar.002 uploaded by Cameron Twomey

Merged revisions 352367 from

Merged revisions 352373 from

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

11 years agoOpaquify channel stringfields
Terry Wilson [Tue, 24 Jan 2012 20:12:09 +0000 (20:12 +0000)]
Opaquify channel stringfields

Continue channel opaque-ification by wrapping all of the stringfields.
Eventually, we will restrict what can actually set these variables, but
the purpose for now is to hide the implementation and keep people from
adding code that directly accesses the channel structure. Semantic
changes will follow afterward.


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

11 years agoFix locking issues with channel datastores in func_odbc.c.
Richard Mudgett [Tue, 24 Jan 2012 17:04:20 +0000 (17:04 +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


Merged revisions 352291 from

Merged revisions 352292 from

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

11 years agoBlocked revisions 352288
Joshua Colp [Tue, 24 Jan 2012 16:32:18 +0000 (16:32 +0000)]
Blocked revisions 352288

Blocked revisions 352287

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
chan_sip.patch uploaded by kriborgen (license 6138)

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

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

Merged revisions 352230 from

Merged revisions 352231 from

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

11 years agoFix blind transfers from failing if an 'h' extension is present.
Mark Michelson [Mon, 23 Jan 2012 20:29:48 +0000 (20:29 +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

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


Merged revisions 352199 from

Merged revisions 352228 from

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

11 years agoCorrectly apply FAXOPT settings (V17, V27, V29) before starting spandsp layer
Matthew Jordan [Mon, 23 Jan 2012 19:22:11 +0000 (19:22 +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

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

Merged revisions 352144 from

Merged revisions 352149 from

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

11 years agoAdd an announcement option to music-on-hold - plays sound when put on hold/between...
Jonathan Rose [Mon, 23 Jan 2012 18:34:47 +0000 (18:34 +0000)]
Add an announcement option to music-on-hold - plays sound when put on hold/between songs

This is a feature patch which allows an 'announcement' option to be specified in
musiconhold.conf which should be set to the name of a sound. If a valid sound is
specified for this option, then it will be played on that music on hold class whenever
a channel bound to that class is put on hold as well as when Asterisk is able to detect
that a song has ended before starting the next song (excludes external players).

(closes ASTERISK-18977)
Reported by: Timo Teräs
asterisk-moh-announcement.diff uploaded by Timo Teräs (license 5409)

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

11 years agoAdds the ability to stop specific mixmonitors by using unique IDs set at monitor...
Jonathan Rose [Mon, 23 Jan 2012 18:16:20 +0000 (18:16 +0000)]
Adds the ability to stop specific mixmonitors by using unique IDs set at monitor launch.

MixMonitor receives a new option i(channel_variable) which stores the unique id at said
variable. StopMixMonitor now accepts ID as an optional argument, which if included will
make StopMixMonitor specifically target the mixmonitor on that particular channel. CLI
commands and AMI actions have been ammended to work with the IDs as well. In addition,
monitors across a channel can now be listed be listed via CLI command "mixmonitor list
<channel>" which will display all of the mixmonitors active on that channel along with
the files they each have open. Created by Sergio González Martín.

(closes issue ASTERISK-19096)
Reported by: Sergio González Martín

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