asterisk/asterisk.git
5 years agochan_iax2: Add some more iaxs[] NULL checks to a routine already full of them.
Richard Mudgett [Fri, 7 Feb 2014 20:52:40 +0000 (20:52 +0000)]
chan_iax2: Add some more iaxs[] NULL checks to a routine already full of them.
........

Merged revisions 407764 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 407765 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 407766 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agosecurity_events: Fix assertion failure in dev-mode on optional IE parsing
Matthew Jordan [Fri, 7 Feb 2014 20:17:50 +0000 (20:17 +0000)]
security_events: Fix assertion failure in dev-mode on optional IE parsing

When formatting an optional IE, the value is, of course, optional. As such, it
is entirely appropriate for ast_json_object_get to return NULL. If that occurs,
we now simply skip the IE that was requested, as it was not provided by the
entity that raised the event.

Thanks to George Joseph (gtjoseph) for catching this and reporting it in
#asterisk-dev
........

Merged revisions 407750 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agotiming: Improve performance for most timing implementations.
Joshua Colp [Fri, 7 Feb 2014 20:01:45 +0000 (20:01 +0000)]
timing: Improve performance for most timing implementations.

This change allows timing implementation data to be stored directly
on the timer itself thus removing the requirement for many
implementations to do a container lookup for the same information.

This means that API calls into timing implementations can directly
access the information they need instead of having to find it.

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

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

5 years agofuncs/func_cdr: Handle empty time values when extracting parsed values
Matthew Jordan [Fri, 7 Feb 2014 19:40:23 +0000 (19:40 +0000)]
funcs/func_cdr: Handle empty time values when extracting parsed values

When extracting timestamps that are parsed, time stamp values that are not set
(time values of 0.000000) should not actually result in a parsed string. The
value should be skipped, and the result of the CDR function should be an
empty string.

Prior to this patch, the result was fed to the time formatting, which would
result in an output of a date/time in 1969.
........

Merged revisions 407747 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agochan_iax2: Block unnecessary control frames to/from the wire.
Richard Mudgett [Fri, 7 Feb 2014 18:29:49 +0000 (18:29 +0000)]
chan_iax2: Block unnecessary control frames to/from the wire.

Establishing an IAX2 call between Asterisk v1.4 and v1.8 (or later)
results in an unexpected call disconnect.  The problem happens because
newer values in the enum ast_control_frame_type are not consistent between
the branch versions of Asterisk.

For example:
1) v1.4 calls v1.8 (or later) using IAX2

2) v1.8 answers and sends a connected line update control frame.  (on v1.8
AST_CONTROL_CONNECTED_LINE = 22)

3) v1.4 receives the control frame as an end-of-q (on v1.4
AST_CONTROL_END_OF_Q = 22)

4) v1.4 disconnects the call once the receive queue becomes empty.

Several things are done by this patch to fix the problem and attempt to
prevent it from happening again in the future:

* Added a warning at the definition of enum ast_control_frame_type about
how to add new control frame values.

* Made block sending and receiving control frames that have no reason to
go over the wire.

* Extended the connectedline iax.conf parameter to also include the
redirecting information updates.

* Updated the connectedline iax.conf parameter documentation to include a
notice that the parameter must be "no" when the peer is an Asterisk v1.4
instance.

(closes issue AST-1302)

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

Merged revisions 407678 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 407727 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 407729 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agosecurity_events: Fix error caused by DTD validation error
Matthew Jordan [Fri, 7 Feb 2014 16:47:56 +0000 (16:47 +0000)]
security_events: Fix error caused by DTD validation error

The appdocsxml.dtd specifies that a "required" attribute in a parameter may
have a value of yes, no, true, or false. On some systems, specifying "False"
instead of "false" would cause a validation error. This patch fixes the casing
to explicitly match the DTD.
........

Merged revisions 407676 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoindications.conf: add stutter tone; end properly
Tzafrir Cohen [Fri, 7 Feb 2014 13:15:55 +0000 (13:15 +0000)]
indications.conf: add stutter tone; end properly

* If the "stutter" (voicemail indication) tone is indeed a stutter tone,
  and it ends with a constant tone, make sure that it is the dial tone.
  This was done for India (in), Mexico (mx) and the Philippines (ph).
* If no "stutter" tone exists for a country, provide one. This was done for
  Spain (es), Malaysia (my) and Venezuela (ve).

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

Merged revisions 407622 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 407623 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 407624 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agosecurity_events: Add AMI documentation; output optional fields
Matthew Jordan [Thu, 6 Feb 2014 21:24:32 +0000 (21:24 +0000)]
security_events: Add AMI documentation; output optional fields

This patch adds documentation for the Security Events that are emited over
AMI. It also notes these events in the UPGRADE/CHANGES file.
........

Merged revisions 407589 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoconfigs/pjsip.conf.sample: Configuration section naming in pjsip.conf.sample needs...
Rusty Newton [Thu, 6 Feb 2014 19:58:27 +0000 (19:58 +0000)]
configs/pjsip.conf.sample: Configuration section naming in pjsip.conf.sample needs a little clarification

There is a bit of nuance to how you name things in pjsip.conf. This is a documentation patch to at least clear it up a little for users.

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

Merged revisions 407587 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agopjsip realtime: already created enum failure for postgresql
Kevin Harwell [Thu, 6 Feb 2014 18:11:34 +0000 (18:11 +0000)]
pjsip realtime: already created enum failure for postgresql

If an enum had been previously created the alembic script would attempt to
re-create it and an error would be generated while running migrations for a
postgresql server.  The work around for this is to use the ENUM object type
for postgres as opposed to the generic enum type used by sqlalchemy. Using
this type in the script seems to work properly for both postgres and mysql.
........

Merged revisions 407572 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agores_pjsip: Updates and adds more PJSIP CLI commands.
Richard Mudgett [Thu, 6 Feb 2014 17:55:45 +0000 (17:55 +0000)]
res_pjsip: Updates and adds more PJSIP CLI commands.

* Adds identify, transport, and registration support to the PJSIP CLI.

* Creates three additional callbacks, one for an iterator, one for a
comparator, and one for a container.  This eliminates the link dependency
from higher level modules to lower level ones.

* Eliminates duplicate sorting in PJSIP CLI commands.

* Cleans up PJSIP CLI output formatting.

* Pushes CLI command registration down to the implementing source file.

* Adds several ast_sip_destroy_sorcery functions to complement existing
ast_sip_sorcery_initialize functions.  The destroy functions unregister
PJSIP CLI commands and PJSIP CLI formatters.

Reported by: George Joseph

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

Merged revisions 407568 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoformats/format_wav: enhancing log message "Not a wav file" to be clear on what is...
Rusty Newton [Wed, 5 Feb 2014 23:04:08 +0000 (23:04 +0000)]
formats/format_wav: enhancing log message "Not a wav file" to be clear on what is supported

Modifying the log message to be more specific as to what is supported. Specifically it seems format_wav supports only PCM encoded versions with a lower-case '.wav' extension.

(closes issues ASTERISK-22310)
Reported by: Jim Credland
Review: https://reviewboard.asterisk.org/r/3188/
........

Merged revisions 407511 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 407512 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 407513 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoCHANGES: Improved description of Name/Creator changes to bridge ARI, adds AMI
Jonathan Rose [Wed, 5 Feb 2014 20:56:51 +0000 (20:56 +0000)]
CHANGES: Improved description of Name/Creator changes to bridge ARI, adds AMI

The changes log was written with language that was a little too internal
Asterisk specific, so it's been changed to be more in the frame of reference
of an ARI user. Also, previously the AMI event changes were omitted from the
change log as well as the ability to include a bridge name in the ARI post
bridges command.
........

Merged revisions 407461 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoLogger: Fix handling of absolute paths
Kinsey Moore [Wed, 5 Feb 2014 20:43:50 +0000 (20:43 +0000)]
Logger: Fix handling of absolute paths

This fixes path handling for log files so that an extra / is not
appended to the file path when the path is absolute (begins with /).
This would previously result in different but functionally equivalent
paths in the output of 'logger show channels'.
........

Merged revisions 407455 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 407456 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 407458 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agores_pjsip: When no global type the debug option defaults to "yes"
Kevin Harwell [Wed, 5 Feb 2014 19:42:51 +0000 (19:42 +0000)]
res_pjsip: When no global type the debug option defaults to "yes"

If the global section was not specified in pjsip.conf then the configuration
object does not exist in sorcery so when retrieving "debug" option it would
return NULL.  Then the NULL result was passed to ast_false utils function
which would return false because it wasn't set to some representation of
false, thus enabling sip debug logging.  Made it so if the global config object
does not exist then it will return a default of "no" for sip debugging.

(issue ASTERISK-23038)
Reported by: Rusty Newton
........

Merged revisions 407442 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoCHANGES: Update changes log to include r403414 entry
Jonathan Rose [Wed, 5 Feb 2014 17:42:26 +0000 (17:42 +0000)]
CHANGES: Update changes log to include r403414 entry

Adds note of additional 0 for operator option on app_record

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

5 years agoCHANGES: Update changes log to include new bridge fields added in r404042
Jonathan Rose [Wed, 5 Feb 2014 17:21:39 +0000 (17:21 +0000)]
CHANGES: Update changes log to include new bridge fields added in r404042
........

Merged revisions 407419 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoARI/AMI: Update versions; update UPGRADE/CHANGES notes for 12.1.0 changes
Matthew Jordan [Wed, 5 Feb 2014 15:29:12 +0000 (15:29 +0000)]
ARI/AMI: Update versions; update UPGRADE/CHANGES notes for 12.1.0 changes

Due to backwards compatible changes made to AMI/ARI, the version needs to
be bumped to 1.1.0/2.1.0, respectively.
........

Merged revisions 407402 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agodevicestate: Make ast_devstate_changed_literal() return value and doxygen consistent.
Richard Mudgett [Tue, 4 Feb 2014 20:15:22 +0000 (20:15 +0000)]
devicestate: Make ast_devstate_changed_literal() return value and doxygen consistent.

Nothing actually cares about the value anyway.

(closes issue ASTERISK-23178)
Reported by: Jonathan Rose
........

Merged revisions 407337 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 407338 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 407339 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agores_pjsip: Fix assertion for pjsip.conf authorization list options.
Richard Mudgett [Tue, 4 Feb 2014 18:55:32 +0000 (18:55 +0000)]
res_pjsip: Fix assertion for pjsip.conf authorization list options.

(closes issue ASTERISK-23168)
Reported by: George Joseph

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

Merged revisions 407324 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agotcptls.c: Made TLS handle a certificate chain file.
Richard Mudgett [Tue, 4 Feb 2014 18:16:09 +0000 (18:16 +0000)]
tcptls.c: Made TLS handle a certificate chain file.

Thanks to Guillaume Martres for doing the necessary research to validate
the change.

(closes issue ASTERISK-17727)
Reported by: LN
Patches:
      use_certificate_chain.patch (license #5864) patch uploaded by st
      documente_certificate_chain.patch (license #6576) patch uploaded by Guillaume Martres
........

Merged revisions 407272 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 407273 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 407274 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agofuncs/func_cdr: Fix non-epoch timestamps broken by improper char array deref
Matthew Jordan [Tue, 4 Feb 2014 16:55:39 +0000 (16:55 +0000)]
funcs/func_cdr: Fix non-epoch timestamps broken by improper char array deref

Thanks to snuffy for pointing this issue out and fixing it.

(closes issue ASTERISK-23250)
Reported by: snuffy
patches:
  func_cdr-fix.diff uploaded by snuffy (License 5024)
........

Merged revisions 407259 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agores_clialiases: Fix crash when reloading and re-aliasing an alias that is in use.
Joshua Colp [Tue, 4 Feb 2014 02:22:28 +0000 (02:22 +0000)]
res_clialiases: Fix crash when reloading and re-aliasing an alias that is in use.

The code assumed that unregistering the alias would always succeed while in
practice this is not actually true. A common case is the "reload" command itself.
If the cli_aliases.conf configuration file was changed and reload executed the
command would fail to unregister and ultimately point to freed memory.

The reload process now checks whether unregistering succeeded or not and if not
the old CLI alias is retained.

(closes issue ASTERISK-19773)
Reported by: Joel Vandal

(closes issue ASTERISK-22757)
Reported by: Gareth Blades
........

Merged revisions 407205 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 407210 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 407213 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoSkinny - Fix deadlock when pickup of no call.
Damien Wedhorn [Tue, 4 Feb 2014 02:07:18 +0000 (02:07 +0000)]
Skinny - Fix deadlock when pickup of no call.

Locking issues in skinny when picking up a call that doesn't exist. Cleaned
up sub locking by fully removing and using the chan lock instead. Also
changed ast_call_pickup to check whether chan was masq'd.

(closes issue ASTERISK-23249)
Reported by: wedhorn
Tested by: snuffy, myself
Patches:
    skinny-locking01.diff uploaded by wedhorn (license 5019)
........

Merged revisions 407197 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agocdrs: Check for applications to lock onto during dial begin handling
Matthew Jordan [Mon, 3 Feb 2014 01:31:53 +0000 (01:31 +0000)]
cdrs: Check for applications to lock onto during dial begin handling

This patch brings CDR processing further in line with r407085. During some dial
operations, the application would not be locked to the Dial application and
would instead continue to show the previously known application. In particular,
this would occur when a Parked call would time out. This was due to a previous
snapshot already locking the application to Park - processing this in a Dial
Begin allows the Dial application to reassert its rightful place.

(CDRs. Ugh.)

But hooray for the Parked Call tests for catching this in the Asterisk Test
Suite.
........

Merged revisions 407166 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agores_stasis: Enable transfers and provide events when they occur.
Joshua Colp [Sat, 1 Feb 2014 16:26:57 +0000 (16:26 +0000)]
res_stasis: Enable transfers and provide events when they occur.

This change enables transfers within ARI created bridges and adds events
for when they occur. Unlike other events these will be received if *any*
subscribed object is involved in the transfer.

(closes issue ASTERISK-22984)
Reported by: David M. Lee

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

Merged revisions 407153 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoapp_stack: protect against missing parameters to STACK_PEEK and LOCAL_PEEK
Corey Farrell [Sat, 1 Feb 2014 00:25:54 +0000 (00:25 +0000)]
app_stack: protect against missing parameters to STACK_PEEK and LOCAL_PEEK

STACK_PEEK requires 2 parameters and LOCAL_PEEK requires 1 parameter.  This
protects against situations where those parameters are blank or missing by
logging an error and returning.

(closes issue ASTERISK-23220)
Reported by: James Sharp
........

Merged revisions 407100 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 407103 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 407104 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoCDRs: fix a variety of dial status problems, h/hangup handler creating CDRs
Matthew Jordan [Fri, 31 Jan 2014 23:40:51 +0000 (23:40 +0000)]
CDRs: fix a variety of dial status problems, h/hangup handler creating CDRs

This patch fixes a number of small-ish problems that were noticed when
witnessing the records that the FreePBX dialplan produces:
(1) Mid-call events (as well as privacy options) have the ability to change the
    overall state of the Dial operation after the called party answers. This
    means that publishing the DialEnd event when the called party is premature;
    we have to wait for the execution of these subroutines to complete before
    we can signal the overall status of the DialEnd. This patch moves that
    publication and adds handlers for the mid-call events.
(2) The AST_FLAG_OUTGOING channel flag is cleared if an after bridge goto
    datastore is detected. This flag was preventing CDRs from being recorded
    for all outbound channels that had a 'continue' option enabled on them by
    the Dial application.
(3) The CDR engine now locks the 'Dial' application as being the CDR
    application if it detects that the current CDR has entered that app. This
    is similar to the logic that is done for Parking. In general, if we entered
    into Dial, then we want that CDR to record the application as such - this
    prevents pre-dial handlers, mid-call handlers, and other shenaniganry
    from changing the application value.
(4) The CDR engine now checks for the AST_SOFTHANGUP_HANGUP_EXEC in more places
    to determine if the channel is in hangup logic or dead. In either case, we
    don't want to record changes in the channel.
(5) The default option for "endbeforehexten" has been changed to "yes". In
    general, you don't want to see CDRs in the 'h' exten or in hangup logic.
    Since the semantics of that option changed in 12, it made sense to update
    the default value as well.
(6) Finally, because we now have the ability to synchronize on the messages
    published to the CDR topic, on shutdown the CDR engine will now synchronize
    to the messages currently in flight. This helps to ensure that all
    in-flight CDRs are written before shutting down.

(closes issue ASTERISK-23164)
Reported by: Matt Jordan

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

Merged revisions 407084 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoapp_dial: Allow macro/gosub pre-bridge execution to occur on priorities
Matthew Jordan [Fri, 31 Jan 2014 23:34:47 +0000 (23:34 +0000)]
app_dial: Allow macro/gosub pre-bridge execution to occur on priorities

The parsing for the destination of the macro/gosub uses the '^' character to
separate out context, extension, and priority. However, the logic for the
macro/gosub execution was written such that it would only do the actual
macro/gosub jump if a '^' character existed. This doesn't apply when the
macro/gosub jump occurs in a priority/priority label. This patch changes
the logic so that the parsing still occurs, but the jump will occur even
for priorities/priority labels.

(issue ASTERISK-23164)

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

Merged revisions 407041 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 407074 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 407082 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agores_pjsip: Config option to enable PJSIP logger at load time.
Kevin Harwell [Fri, 31 Jan 2014 23:15:47 +0000 (23:15 +0000)]
res_pjsip: Config option to enable PJSIP logger at load time.

Added a "debug" configuration option for res_pjsip that when set to "yes"
enables SIP messages to be logged.  It is specified under the "system" type.
Also added an alembic script to add the option to realtime.

(closes issue ASTERISK-23038)
Reported by: Rusty Newton
Review: https://reviewboard.asterisk.org/r/3148/
........

Merged revisions 407036 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agores_pjsip_exten_state: Exporting global symbols caused load order issues
Kevin Harwell [Fri, 31 Jan 2014 23:13:39 +0000 (23:13 +0000)]
res_pjsip_exten_state: Exporting global symbols caused load order issues

Removed the exportation of global symbols from the module as it is no longer
needed and it could potentially cause load problems as on some systems it
would try to load before res_pjsip_pubsub
........

Merged revisions 407034 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoChanSpy: Add ability to specify channel uniqueids as well as channel names.
Richard Mudgett [Fri, 31 Jan 2014 23:04:25 +0000 (23:04 +0000)]
ChanSpy: Add ability to specify channel uniqueids as well as channel names.

* Made ChanSpy accept a channel uniqueid or a fully specified channel name
as the chanprefix parameter if the 'u' option is specified.

(closes issue AFS-42)

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

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

5 years agoAdd file that apparently got missed in the merge.
Mark Michelson [Fri, 31 Jan 2014 22:39:12 +0000 (22:39 +0000)]
Add file that apparently got missed in the merge.
........

Merged revisions 407031 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoDecouple subscription handling from NOTIFY/PUBLISH body generation.
Mark Michelson [Fri, 31 Jan 2014 22:27:07 +0000 (22:27 +0000)]
Decouple subscription handling from NOTIFY/PUBLISH body generation.

When the PJSIP pubsub framework was created, subscription handlers were required
to state what event they handled along with what body types they knew how to
generate. While this serves well when implementing a base RFC, it has problems
when trying to extend the body to support non-standard or proprietary body
elements. The code also was NOTIFY-specific, meaning that when the time comes
that we start writing code to send out PUBLISH requests with MWI or presence
bodies, we would likely find ourselves duplicating code that had previously been
written.

This changeset introduces the concept of body generators and body supplements. A
body generator is responsible for allocating a native structure for a given body
type, providing the primary body content, converting the native structure to a
string, and deallocating resources. A body supplement takes the primary body
content (the native structure, not a string) generated by the body generator and
adds nonstandard elements to the body. With these elements living in their own
module, it becomes easy to extend our support for body types and to re-use
resources when sending a PUBLISH request.

Body generators and body supplements register themselves with the pubsub core,
similar to how subscription and publish handlers had done. Now, subscription
handlers do not need to know what type of body content they generate, but they
still need to inform the pubsub core about what the default body type for a
given event package is. The pubsub core keeps track of what body generators and
body supplements have been registered. When a SUBSCRIBE arrives, the pubsub core
will check that there is a subscription handler for the event in the SUBSCRIBE,
then it will check that there is a body generator that can provide the content
specified in the Accept header(s).

Because of the nature of body generators and supplements, it means
res_pjsip_exten_state and res_pjsip_mwi have been completely gutted. They no
longer worry about body types, instead calling
ast_sip_pubsub_generate_body_content() when they need to generate a NOTIFY body.

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

Merged revisions 407016 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoalembic: script modifications due to errors
Kevin Harwell [Fri, 31 Jan 2014 22:23:42 +0000 (22:23 +0000)]
alembic: script modifications due to errors

A couple of the scripts had errors that would not allow a full migration to
take place.  The extensions table needed to make its 'id' column a primary
key in order to work with mysql.  The other script ...add_endpoints... was
missing tables that it was trying to add columns to.

Added the primary key on id for extensions and added the tables in for the
missing pjsip configuration options.  While it is not ideal to modify already
released scripts this was a case where it had to be done due to errors in
the script and lacking a better alternative.

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

Merged revisions 407019 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agores_pjsip_mwi: Subscribe fails when missing aor name
Kevin Harwell [Fri, 31 Jan 2014 22:08:46 +0000 (22:08 +0000)]
res_pjsip_mwi: Subscribe fails when missing aor name

When subscribing to MWI (res_pjsip_mwi) and the sip uri did not contain a name
(ex: sip:<ip address>) then the subscription would fail since it would be unable
to locate an associated aor.  This patch makes it so that when a subscribe comes
with no aor name then it will subscribe to all aors on the located endpoint.

(closes issue ASTERISK-23072)
Reported by: Bob M
Review: https://reviewboard.asterisk.org/r/3164/
........

Merged revisions 407014 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoPJSIP: Fix address for ACK in NAT situations
Kinsey Moore [Fri, 31 Jan 2014 15:08:49 +0000 (15:08 +0000)]
PJSIP: Fix address for ACK in NAT situations

In NAT scenarios where a call is placed to a Grandstream phone,
res_pjsip will sometimes send the ACK to a 200 OK to the private
address of the device behind the NAT instead of the address of the NAT
device. This corrects that behavior by rewriting the address in the
Contact header in the incoming 200 OK and the dialog's target address
if necessary (since it has already been rewritten to the incorrect
private address).

(closes issue ASTERISK-23106)
Review: https://reviewboard.asterisk.org/r/3168/
Reported by: Matt Jordan
........

Merged revisions 407000 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoSkinny: fix up possible double unlock of chan.
Damien Wedhorn [Fri, 31 Jan 2014 05:31:45 +0000 (05:31 +0000)]
Skinny: fix up possible double unlock of chan.

Return before chan is possibly unlocked a second time when hanging up
a channel in SUBSTATE_OFFHOOK.
........

Merged revisions 406987 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agores_rtp_asterisk & udptl: fix port selection to work with SELinux restrictions
Corey Farrell [Thu, 30 Jan 2014 20:36:21 +0000 (20:36 +0000)]
res_rtp_asterisk & udptl: fix port selection to work with SELinux restrictions

ast_bind to a port reserved for another program by SELinux causes
errno == EACCES.  This caused random failures when binding rtp or
udptl sockets.  Treat EACCES as a non-fatal error, try next port.

(closes issue ASTERISK-23134)
Reported by: Corey Farrell
........

Merged revisions 406933 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 406934 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 406935 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoMake a NOTICE about an invalid channel name more useful.
Sean Bright [Thu, 30 Jan 2014 17:35:49 +0000 (17:35 +0000)]
Make a NOTICE about an invalid channel name more useful.
........

Merged revisions 406918 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 406919 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoqueues.conf.sample Fix documented default for persistentmembers
Russell Bryant [Wed, 29 Jan 2014 00:44:59 +0000 (00:44 +0000)]
queues.conf.sample Fix documented default for persistentmembers

Closes issue ASTERISK-22662
........

Merged revisions 406860 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 406861 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 406862 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agores_pjsip_pubsub: potential crash on timeout
Kevin Harwell [Tue, 28 Jan 2014 23:40:28 +0000 (23:40 +0000)]
res_pjsip_pubsub: potential crash on timeout

What seems to be happening is if a subscription has been terminated and the
subscription timeout/expires is less than the time it takes for all pending
transactions (currently on the subscription) to end then the subscription
timer will not have been canceled yet and sub will be null.  Since the
subscription has already been canceled nothing needs to be done so a null
check in the asterisk code is sufficient in working around this problem.

(closes issue ASTERISK-23129)
Reported by: Dan Jenkins
........

Merged revisions 406847 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agocdr_radius, cel_radius: build agains libfreeradius-client
Kevin Harwell [Tue, 28 Jan 2014 23:23:15 +0000 (23:23 +0000)]
cdr_radius, cel_radius: build agains libfreeradius-client

Asterisk's RADIUS module currently build against libradiusclient-ng, but this
project has been superseeded by libfreeradius-client. The API is 99% compatible
except that the header name has changed, the library name has changed, and
the configuration file location has changed.

(closes issue ASTERISK-22980)
Reported by: Jeremy LainĂ©
Patches:
     freeradius-client.patch uploaded by sharky (license 6561)
........

Merged revisions 406801 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 406802 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 406803 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agores_pjsip,compat: INFINITY and NAN undefined
Kevin Harwell [Tue, 28 Jan 2014 20:47:15 +0000 (20:47 +0000)]
res_pjsip,compat: INFINITY and NAN undefined

On some systems the values for INFINITY and NAN are not defined thus causing
a build error on those systems.  Added definitions for those if they had
not previously been defined.

(closes issue ASTERISK-23056)
Reported by: capouch
Patches:
     inf-nan-patch.txt uploaded by capouch (license 6564)
........

Merged revisions 406788 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoARI: Make double subscribe respond with success
Kinsey Moore [Tue, 28 Jan 2014 19:19:08 +0000 (19:19 +0000)]
ARI: Make double subscribe respond with success

Currently, attempting to subscribe an application to a device state
that it has already subscribed to will generate a 500 error response.
This will now be treated as a subscription refresh even though ARI
subscriptions don't currently support lifetimes and will respond with
the normal response for a successful subscription (200 OK).

(closes issue ASTERISK-23143)
Reported by: Matt Jordan
........

Merged revisions 406775 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agortp_engine: improved handling of get_rtp_info failure
Scott Griepentrog [Tue, 28 Jan 2014 16:43:25 +0000 (16:43 +0000)]
rtp_engine: improved handling of get_rtp_info failure

In ast_rtp_instance_make_compatible(), after a failure of
channel tech call get_rtp_info() to return peer_instance,
the null pointer would be passed to ao2_ref, producing an
error that looked like a refernce counting problem but is
not.  This patch corrects that and adds helpful LOG_ERROR
messages to indicate which failure path occurred.

(issue AST-1276)
Review: https://reviewboard.asterisk.org/r/3156/
........

Merged revisions 406721 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 406722 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 406723 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agotest_cdr.c, test_cel.c: Correctly destroy created bridges.
Richard Mudgett [Tue, 28 Jan 2014 00:20:46 +0000 (00:20 +0000)]
test_cdr.c, test_cel.c: Correctly destroy created bridges.

* Fixed the test_cel_attended_transfer_bridges_link unit test to also
account for the local channel link being destroyed now that the bridges
are actually destroyed.

* Made CDR unit test use its own version of do_sleep() from the CEL unit
tests.
........

Merged revisions 406707 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agomanager: ExtensionStatus event status human readable
Kevin Harwell [Mon, 27 Jan 2014 22:54:22 +0000 (22:54 +0000)]
manager: ExtensionStatus event status human readable

Added a note in the changes file about the new 'StatusText' field that was
added to the 'ExtensionStatus' event.

(issue ASTERISK-23154)
Reported by: Jonathan Rose

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

5 years agomanager: ExtensionStatus event status human readable
Kevin Harwell [Mon, 27 Jan 2014 21:09:33 +0000 (21:09 +0000)]
manager: ExtensionStatus event status human readable

When an 'ExtensionStatus' event was raised it included the status as a
numerical value, but did not include a text description of the status.
Added a 'StatusText' field to the event which is a string representation
of the extension status.  Also added this to the 'Extension State' command
response.

(closes issue ASTERISK-23154)
Reported by: Jonathan Rose

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

5 years agoAllow nested #includes in extconfig.conf
Russell Bryant [Mon, 27 Jan 2014 20:38:03 +0000 (20:38 +0000)]
Allow nested #includes in extconfig.conf

extconfig.conf was hard-coded to not allow nested includes for some reason.
The code has been this way since a patch was merged for ASTERISK-3333 (revision
4889), which was a significant update to this code ("Merge config updates").

I can't figure out any good reason why this should be limited.  This patch just
removes the limit and uses the default nesting depth limit.

Closes issue ASTERISK-17837

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

Merged revisions 406643 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 406644 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 406645 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agomanager: The eventfilter= option now takes an extended regex.
Walter Doekes [Mon, 27 Jan 2014 08:17:22 +0000 (08:17 +0000)]
manager: The eventfilter= option now takes an extended regex.

In pre-trunk versions (...12) it accepts a basic regex, which is
confusing because all other regexes in asterisk are of the
extended kind.

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

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

5 years agoProtect ast_filestream object when on a channel
Russell Bryant [Mon, 27 Jan 2014 01:25:23 +0000 (01:25 +0000)]
Protect ast_filestream object when on a channel

The ast_filestream object gets tacked on to a channel via
chan->timingdata.  It's a reference counted object, but the reference
count isn't used when putting it on a channel.  It's theoretically
possible for another thread to interfere with the channel while it's
unlocked and cause the filestream to get destroyed.

Use the astobj2 reference count to make sure that as long as this code
path is holding on the ast_filestream and passing it into the file.c
playback code, that it knows it's valid.

Bug reported by Leif Madsen.

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

Merged revisions 406566 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 406567 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 406574 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agotcptls.c: Add missing cleanup on off nominal path.
Richard Mudgett [Sun, 26 Jan 2014 23:04:46 +0000 (23:04 +0000)]
tcptls.c: Add missing cleanup on off nominal path.
........

Merged revisions 406514 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 406515 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 406516 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agolive_ast: run wrapped programs with exec
Tzafrir Cohen [Sun, 26 Jan 2014 14:19:14 +0000 (14:19 +0000)]
live_ast: run wrapped programs with exec

live_ast can be used as a wrapper script to run asterisk, gdb or
valgrind. In those cases it runs them and returns the result. It is more
useful to use 'exec' to avoid having another odd process in the chain.

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

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

5 years agores_pjsip_session: Be less strict with core requested outgoing capabilities.
Joshua Colp [Sun, 26 Jan 2014 02:11:04 +0000 (02:11 +0000)]
res_pjsip_session: Be less strict with core requested outgoing capabilities.

The core may (depending on circumstances) request a single codec on outgoing
calls. Many channel drivers ignore or treat this as a suggestion while still
including configured codecs. The res_pjsip_session logic treated this as
an explicit request, leaving out other configured codecs.

This change makes res_pjsip_session behave like other channel driver and simply
adds the requested codec to the list.

(closes issue ASTERISK-23082)
Reported by: xrobau

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

Merged revisions 406489 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoCEL: Protect data structures during reload and shutdown.
Richard Mudgett [Fri, 24 Jan 2014 23:33:26 +0000 (23:33 +0000)]
CEL: Protect data structures during reload and shutdown.

The CEL data structures need to be protected during a configuration reload
and shutdown.  Asterisk crashed during a shutdown because CEL events were
still in flight and the CEL data structures were already destroyed.

* Protected the cel_backends, cel_dialstatus_store, and cel_linkedids ao2
containers with a global ao2 object wrapper.

* Added NULL checks before use of the cel_backends, cel_dialstatus_store,
and cel_linkedids ao2 containers in case the CEL module is already
shutdown.

* Fixed overloading of the cel_linkedids held objects reference count.
During shutdown any held objects would be leaked.

* Fixed memory leak of cel_linkedids held objects if the LINKEDID_END is
not being tracked.  The objects in the cel_linkedids container were not
removed if the LINKEDID_END event is not used.

* Added access protection to the cel_backends container during the CLI
"cel show status" command.

* Made cel_backends, cel_dialstatus_store, and cel_linkedids use the
standard ao2 callback templates for the hash and cmp functions.

* Eliminated unnecessary uses of RAII_VAR().

* Made ast_cel_engine_init() cleanup alocated resources on failure.

(closes issue AST-1253)
Reported by: Guenther Kelleter

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

Merged revisions 406417 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 406418 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 406465 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoThread Debugging: Add LWP to core show locks output
Jonathan Rose [Fri, 24 Jan 2014 22:34:23 +0000 (22:34 +0000)]
Thread Debugging: Add LWP to core show locks output

This patch adds the LWP to core show locks output if it is available.

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

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

5 years agomanager: Register atexit shutdown routine only once.
Richard Mudgett [Fri, 24 Jan 2014 22:18:52 +0000 (22:18 +0000)]
manager: Register atexit shutdown routine only once.

* Made register atexit shutdown routine only once in __init_manager().

* Fixed some initial load failure conditions in __init_manager().

* Made reset options to defaults on reload when the reload will actually
happen.

* Removed unnecessary container traversals of the white/black filters
during manager_free_user().

* ast_free() does not need a NULL check before calling.
........

Merged revisions 406359 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 406400 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 406401 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agores_config_pgsql: Fix a memory leak and use RAII_VAR for cleanup when practical
Jonathan Rose [Fri, 24 Jan 2014 21:46:54 +0000 (21:46 +0000)]
res_config_pgsql: Fix a memory leak and use RAII_VAR for cleanup when practical

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

Merged revisions 406360 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 406361 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 406389 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agomanager: Protect data structures during shutdown.
Richard Mudgett [Fri, 24 Jan 2014 18:13:31 +0000 (18:13 +0000)]
manager: Protect data structures during shutdown.

Occasionally, the manager module would get an "INTERNAL_OBJ: bad magic
number" error on a "core restart gracefully" command if an AMI connection
is established.

* Added ao2_global_obj protection to the sessions global container.

* Fixed the order of unreferencing a session object in session_destroy().

* Removed unnecessary container traversals of the white/black filters
during session_destructor().

(closes issue AST-1242)
Reported by: Guenther Kelleter

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

Merged revisions 406341 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 406342 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoToday is not my day for writing code that compiles.
Mark Michelson [Thu, 23 Jan 2014 23:43:28 +0000 (23:43 +0000)]
Today is not my day for writing code that compiles.
........

Merged revisions 406327 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agores_config_mysql: Fix Setting The Column Name Incorrectly
Michael L. Young [Thu, 23 Jan 2014 22:56:54 +0000 (22:56 +0000)]
res_config_mysql: Fix Setting The Column Name Incorrectly

When support for a realtime sorcery module was added in revision 386731, the
wrong property was accidentally used for setting the column name to be updated
in the database table.  This patch fixes the typo.

(closes issue ASTERISK-23177)
Reported by: Denis
Tested by: Denis
Patches:
    asterisk-23177-use-field-name.diff by Michael L. Young (license 5026)
........

Merged revisions 406311 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoMultiple revisions 406294-406295
Mark Michelson [Thu, 23 Jan 2014 21:18:36 +0000 (21:18 +0000)]
Multiple revisions 406294-406295

........
  r406294 | mmichelson | 2014-01-23 15:00:24 -0600 (Thu, 23 Jan 2014) | 11 lines

  Fix presence body errors found during testing:

  * PIDF bodies were reporting an "open" state in many cases where
    it should have been reporting "closed"
  * XPIDF bodies had XML nodes placed incorrectly within the hierarchy.
  * SIP URIs in XPIDF bodies did not go through XML sanitization
  * XML sanitization had some errors:
      * Right angle bracket was being replaced with "&rt;" instead of "&gt;"
   * Double quote, apostrophe, and ampersand were not being escaped.
........
  r406295 | mmichelson | 2014-01-23 15:09:35 -0600 (Thu, 23 Jan 2014) | 11 lines

  Fix presence body errors found during testing:

  * PIDF bodies were reporting an "open" state in many cases where
    it should have been reporting "closed"
  * XPIDF bodies had XML nodes placed incorrectly within the hierarchy.
  * SIP URIs in XPIDF bodies did not go through XML sanitization
  * XML sanitization had some errors:
      * Right angle bracket was being replaced with "&rt;" instead of "&gt;"
   * Double quote, apostrophe, and ampersand were not being escaped.
........

Merged revisions 406294-406295 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agopbx.c: Pre-initialize timezone to avoid crash on destroy
Scott Griepentrog [Wed, 22 Jan 2014 22:24:39 +0000 (22:24 +0000)]
pbx.c: Pre-initialize timezone to avoid crash on destroy

In ast_build_timing, initialize the timezone value to NULL
in order to avoid deferencing an uninitialized value later
when calling ast_destroy_timing.  The timezone value could
be uninitialized if ast_build_timing were to fail due to a
zero length time string.

(closes issue ASTERISK-22861)
Reported by: Sebastian Murray-Roberts
Review: https://reviewboard.asterisk.org/r/3134/
Patches:
     ast_build_timing-initialize-timezone.patch uploaded by coreyfarrell (license 5909)
........

Merged revisions 406241 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 406245 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 406264 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoConfBridge: Fix channel parameter documentation
Kinsey Moore [Wed, 22 Jan 2014 19:36:23 +0000 (19:36 +0000)]
ConfBridge: Fix channel parameter documentation

Confbridge AMI and CLI commands for mute, unmute, and setting the
single video source can accept channel prefixes in lieu of a full
channel name, but documentation states only that it is required and is
a channel name. This corrects the documentation.

(closes issue PQ-1397)
Reported by: Steve Pitts
........

Merged revisions 406217 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 406223 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agochan_sip: Decline image streams on unsupported transports
Kinsey Moore [Wed, 22 Jan 2014 18:34:13 +0000 (18:34 +0000)]
chan_sip: Decline image streams on unsupported transports

This change allows chan_sip to decline individual image streams over
unsupported transports in the SDP of the 200 response. Previously,
an image stream offer with RTP/AVP as the transport would cause
chan_sip to respond with a 488.

(closes issue ASTERISK-22988)
Reported by: adomjan
Original patch by: adomjan
........

Merged revisions 406170 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 406171 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 406172 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agores_stasis_playback: Correct error argument order
Kinsey Moore [Wed, 22 Jan 2014 14:01:07 +0000 (14:01 +0000)]
res_stasis_playback: Correct error argument order

Several of the playback error messages for invalid media input in
res_stasis_playback.c had the media name and channel name reversed.
They now correctly identify the channel name and media name.

Reported by: skrusty
........

Merged revisions 406152 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agores_pjsip: Documentation improvement for Endpoint and AOR mailbox options.
Rusty Newton [Tue, 21 Jan 2014 21:48:15 +0000 (21:48 +0000)]
res_pjsip: Documentation improvement for Endpoint and AOR mailbox options.

Making the help text for both more explicit regarding the format of mailbox identifiers. i.e. clarifying the format for app_voicemail mailboxes vs mailboxes from external MWI sources through modules such as res_external_mwi.
........

Merged revisions 406133 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agomanager: Clarify eventfilter documentation. Textual changes only.
Walter Doekes [Tue, 21 Jan 2014 21:08:00 +0000 (21:08 +0000)]
manager: Clarify eventfilter documentation. Textual changes only.

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

Merged revisions 406079 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 406080 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 406081 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agochan_mgcp: Enforce locking for oseq
Kinsey Moore [Tue, 21 Jan 2014 20:28:57 +0000 (20:28 +0000)]
chan_mgcp: Enforce locking for oseq

This restricts direct usage of global oseq so that all accesses are
locked and threads are not racing to get oseq values that they did not
claim.

This also fixes a build error in res_pktccops under dev mode.

(closes issue ASTERISK-23100)
Reported by: adomjan
Patch by: adomjan
........

Merged revisions 406037 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 406038 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 406049 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoPJSIP: Handle headers in a list appropriately
Kinsey Moore [Tue, 21 Jan 2014 17:15:34 +0000 (17:15 +0000)]
PJSIP: Handle headers in a list appropriately

The PJSIP header parsing function (pjsip_parse_hdr) can generate more
than one header instance from a single header field. These header
instances exist as a list attached to the returned header and must be
handled appropriately when they are added to a message or else only the
first header instance will be used. This changes the linked list
functions used in outbound proxy code to merge the lists properly.
........

Merged revisions 406020 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoARI: Support channel variables in originate
Kinsey Moore [Tue, 21 Jan 2014 14:27:21 +0000 (14:27 +0000)]
ARI: Support channel variables in originate

This adds back in support for specifying channel variables during an
originate without compromising the ability to specify query parameters
in the JSON body. This was accomplished by generating the body-parsing
code in a separate function instead of being integrated with the URI
query parameter parsing code such that it could be called by paths with
body parameters. This is transparent to the user of the API and
prevents manual duplication of code or data structures.

(closes issue ASTERISK-23051)
Review: https://reviewboard.asterisk.org/r/3122/
Reported by: Matt Jordan
........

Merged revisions 406003 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoSkinny: fix up handling of fragmented packets.
Damien Wedhorn [Mon, 20 Jan 2014 23:25:38 +0000 (23:25 +0000)]
Skinny: fix up handling of fragmented packets.

Bad offset in reading second or more fragment of skinny packets. Fixed
to offset by char (single byte) rather than size of req.
........

Merged revisions 405982 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agochan_dahdi/PRI: Suppress CONNECTED_LINE updates when nothing in the udpate is valid.
Richard Mudgett [Mon, 20 Jan 2014 22:23:00 +0000 (22:23 +0000)]
chan_dahdi/PRI: Suppress CONNECTED_LINE updates when nothing in the udpate is valid.

* Also simplified some subddress handling code.

(closes issue ASTERISK-23008)
Reported by: Michael Cargile
........

Merged revisions 405926 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 405927 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 405928 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoSkinny: fix up session logging.
Damien Wedhorn [Mon, 20 Jan 2014 21:56:14 +0000 (21:56 +0000)]
Skinny: fix up session logging.

Logging from the skinny session loop was providing some incorrect reasons
for exiting the loop. Cleaned up messages and handling so correct reason
displayed.
........

Merged revisions 405924 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agochan_pjsip: Provide a means for tracking device state when holding/unholding
Jonathan Rose [Mon, 20 Jan 2014 18:18:25 +0000 (18:18 +0000)]
chan_pjsip: Provide a means for tracking device state when holding/unholding

Previously PJSIP did not track hold/unhold and it would always simply be
'inuse'. This patch fixes that.

review: https://reviewboard.asterisk.org/r/3129/
........

Merged revisions 405908 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoSkinny: fix reversed device reset from CLI.
Damien Wedhorn [Sun, 19 Jan 2014 00:01:31 +0000 (00:01 +0000)]
Skinny: fix reversed device reset from CLI.

Existing code would do a full device restart when "skinny reset device"
was entered at the CLI and do a reset when "skinny reset device restart"
entered.
........

Merged revisions 405893 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoMake sure the maxptime attribute is added to the correct offers.
Sean Bright [Fri, 17 Jan 2014 22:09:09 +0000 (22:09 +0000)]
Make sure the maxptime attribute is added to the correct offers.
........

Merged revisions 405877 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agopjsip: fix support for allow=all
Scott Griepentrog [Fri, 17 Jan 2014 21:33:26 +0000 (21:33 +0000)]
pjsip: fix support for allow=all

This change adds improvements to support for allow=all in
pjsip.conf so that it functions as intended.  Previously,
the allow/disallow socery configuration would set & clear
codecs from the media.codecs and media.prefs list, but if
all was specified the prefs list was not updated.  Then a
call would fail when create_outgoing_sdp_stream() created
an SDP with no audio codecs.

A new function ast_codec_pref_append_all() is provided to
add all codecs to the prefs list - only those not already
on the list.  This enables the configuration to specify a
codec preference, but still add all codecs, and even then
remove some codecs, as shown in this example:

allow = ulaw, alaw, all, !g729, !g723

Also, the display order of allow in cli output is updated
to match the configuration by using prefs instead of caps
when generating a human readable string.

Finally, a change to create_outgoing_sdp_stream() skips a
codec when it does not have a payload code instead of the
call failing.

(closes issue ASTERISK-23018)
Reported by: xrobau
Review: https://reviewboard.asterisk.org/r/3131/
........

Merged revisions 405875 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agohttp: supported chunked Transfer-Encoding
Scott Griepentrog [Fri, 17 Jan 2014 20:51:19 +0000 (20:51 +0000)]
http: supported chunked Transfer-Encoding

This change implements support for HTTP Transfer-Encoding
chunked in both JSON and Form (post vars) body content. A
new function ast_http_get_contents() handles both regular
and chunked mode body, returning after the entire body is
received.

(closes issue ASTERISK-23068)
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/3125/
........

Merged revisions 405861 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoFixing some XML syntax issues with my previous commit at r405777 for ASTERISK-23071
Rusty Newton [Fri, 17 Jan 2014 18:55:22 +0000 (18:55 +0000)]
Fixing some XML syntax issues with my previous commit at r405777 for ASTERISK-23071
........

Merged revisions 405843 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoDocumentation: doc fixes across various parts of the code for ASTERISK issues 23061...
Rusty Newton [Fri, 17 Jan 2014 17:16:14 +0000 (17:16 +0000)]
Documentation: doc fixes across various parts of the code for ASTERISK issues 23061,23028,23046,23027

Fixes typos of "transfered" instead of "transferred" in various code. Fixes incorrect gosub param help text for app_queue.
Fixes Asterisk man pages containing unquoted minus signs. Adds note about the "textsupport" option in sip.conf.sample.

(issue ASTERISK-23061)
(issue ASTERISK-23028)
(issue ASTERISK-23046)
(issue ASTERISK-23027)
(closes issue ASTERISK-23061)
(closes issue ASTERISK-23028)
(closes issue ASTERISK-23046)
(closes issue ASTERISK-23027)
Reported by: Eugene, Jeremy Laine, Denis Pantsyrev
Patches:
 transferred.patch uploaded by Jeremy Laine (license 6561)
 hyphen.patch uploaded by Jeremy Laine (license 6561)
 sip.conf.sample.patch uploaded by Eugene (license 6360)
........

Merged revisions 405791 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 405792 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 405829 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agores_pjsip: enhance documentation for mailboxes options, for both endpoints and aors
Rusty Newton [Fri, 17 Jan 2014 15:14:03 +0000 (15:14 +0000)]
res_pjsip: enhance documentation for mailboxes options, for both endpoints and aors

Made documentation more explicit as to the use of the both options.

(issue ASTERISK-23071)
(closes issue ASTERISK-23071)
Reported by: Matt Jordan
........

Merged revisions 405777 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoEnable wide band audio in musiconhold streams.
Walter Doekes [Fri, 17 Jan 2014 14:17:04 +0000 (14:17 +0000)]
Enable wide band audio in musiconhold streams.

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

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

5 years agores_pjsip: AOR option qualify_frequency not respected on startup
Kevin Harwell [Thu, 16 Jan 2014 20:06:59 +0000 (20:06 +0000)]
res_pjsip: AOR option qualify_frequency not respected on startup

If an endpoint had previously dynamically registered a contact and the contact
information was successfully stored in astdb then upon restart the qualify
notifications would not be sent out if the qualify_frequency was set.  This was
due to the fact that only permanent contacts were being checked and scheduled
for qualifies on startup.  Modified the code to check and schedule all
registered contacts at startup.

(closes issue ASTERISK-23062)
Reported by: Rusty Newton
Review: https://reviewboard.asterisk.org/r/3124/
........

Merged revisions 405748 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agomanager: Originate doesn't abort on failed format_cap allocation
Kevin Harwell [Thu, 16 Jan 2014 19:54:04 +0000 (19:54 +0000)]
manager: Originate doesn't abort on failed format_cap allocation

action_originate responds to the remote system with an error when cap==NULL,
but doesn't return (abort the originate).  Patched to return.

(closes issue ASTERISK-23034)
Reported by: Corey Farrell
Patches:
     ASTERISK-23034.patch uploaded by coreyfarrell (license 5909)
........

Merged revisions 405745 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 405746 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoPJSIP: Fix outbound OPTIONS support
Kinsey Moore [Thu, 16 Jan 2014 19:33:28 +0000 (19:33 +0000)]
PJSIP: Fix outbound OPTIONS support

When path support was added and contacts were made available during
request creation and transmission, the code path used by outbound
qualify support was not modified correctly and was causing request
creation to fail. This ensures that outbound request creation with only
a contact and no dialog, endpoint, or uri can succeed which restores
qualify support.

Reported by: gtjoseph
Reported by: kharwell
........

Merged revisions 405743 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agores_fax: check_modem_rate() returned incorrect rate for V.27
Kevin Harwell [Thu, 16 Jan 2014 19:13:05 +0000 (19:13 +0000)]
res_fax: check_modem_rate() returned incorrect rate for V.27

According to the new standard for V.27 and V.32 they are able to transmit
at a bit rate of 4,800 or 9,600.  The check_mode_rate function needed to be
updated to reflect this.  Also, because of this change the default 'minrate'
value was updated to be 4800.

(closes issue ASTERISK-22790)
Reported by: Paolo Compagnini
Patches:
     res_fax.txt uploaded by looserouting (license 6548)
........

Merged revisions 405656 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 405693 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 405694 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agochan_pjsip: initial device state on endpoints is INVALID
Kevin Harwell [Thu, 16 Jan 2014 16:46:00 +0000 (16:46 +0000)]
chan_pjsip: initial device state on endpoints is INVALID

When endpoints get loaded their device state gets set to 'INVALID' because the
channel driver has not been loaded yet.  Fixed by updating the device state for
every endpoint upon load of the channel driver.

(closes issue ASTERISK-23065)
Reported by: Rusty Newton
Review: https://reviewboard.asterisk.org/r/3123/
........

Merged revisions 405643 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoMake 12 - 12.1 CHANGES log the same as in 12
Jonathan Rose [Wed, 15 Jan 2014 16:51:08 +0000 (16:51 +0000)]
Make 12 - 12.1 CHANGES log the same as in 12

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

5 years agoBlocked revisions 405587
Jonathan Rose [Wed, 15 Jan 2014 16:49:17 +0000 (16:49 +0000)]
Blocked revisions 405587

........
Remove subversion conflict tag accidentally left in CHANGES

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

5 years agoInclude CHANGES info for r405553
Jonathan Rose [Wed, 15 Jan 2014 16:48:02 +0000 (16:48 +0000)]
Include CHANGES info for r405553
........

Merged revisions 405585 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agocel_manager: Don't crash if configuration file is invalid.
Joshua Colp [Wed, 15 Jan 2014 16:36:47 +0000 (16:36 +0000)]
cel_manager: Don't crash if configuration file is invalid.

The cel_manager module did not properly handle the case where the
configuration file was invalid. The module will now output a warning
message and disable itself if this occurs.

Reported by: Bryan Walters
........

Merged revisions 405581 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 405582 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 405583 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoPJSIP: Add Path header support
Kinsey Moore [Wed, 15 Jan 2014 13:16:10 +0000 (13:16 +0000)]
PJSIP: Add Path header support

This adds Path support to chan_pjsip in res_pjsip_path.c with minimal
additions in res_pjsip_registrar.c to store the path and additions in
res_pjsip_outbound_registration.c to enable advertisement of path
support to registrars and intervening proxies.

Path information is stored on contacts and is enabled via Address of
Record (AoRs) and Registration configuration sections.

While adding path support, it became necessary to be able to add SIP
supplements that handled messages outside of sessions, so a framework
for handling these types of hooks was added in parallel to the
already-existing session supplements and several senders of
out-of-dialog requests were refactored as a result.

(closes issue ASTERISK-21084)
Review: https://reviewboard.asterisk.org/r/3050/
........

Merged revisions 405565 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoARI: Add mailboxes resource for controlling and polling external MWI
Jonathan Rose [Tue, 14 Jan 2014 23:44:57 +0000 (23:44 +0000)]
ARI: Add mailboxes resource for controlling and polling external MWI

Adds the following AMI commands:
PUT mailboxes/mailboxName
    modifies mailbox state and implicitly creates new mailboxes
GET mailboxes/mailboxName
    retrieves a JSON representation of a single mailbox if it exists
GET mailboxes
    retrieves a JSON array of all mailboxes
DELETE mailbox/mailboxName
    deletes a mailbox
Note that res_mwi_external must be loaded for these functions to
actually do anything.

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

Merged revisions 405553 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agostring container: Remove unnecessary RAII_VAR usage and string object lock.
Richard Mudgett [Tue, 14 Jan 2014 21:46:50 +0000 (21:46 +0000)]
string container: Remove unnecessary RAII_VAR usage and string object lock.
........

Merged revisions 405541 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agochan_sip: fix Local From tag on outbound register regression
Scott Griepentrog [Tue, 14 Jan 2014 18:15:13 +0000 (18:15 +0000)]
chan_sip: fix Local From tag on outbound register regression

In ASTERISK-12117, an improvement to insure consistant local from tags
on outbound registrations resulted in an undesirable behavior - caused
by leftover unexpired sip_pvt dialogs (with the previous cseq number),
resulting in many uncessary REGISTER requests.  Instead of significant
rework of transmit_register(), this change deletes the dialogs after a
200 OK response indiciating a successful registration, keeping the old
dialogs from interfering with normal operation.

(closes issue ASTERISK-22946)
Reported by: Stephan Eisvogel
Review: https://reviewboard.asterisk.org/r/3109/
........

Merged revisions 405433 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 405434 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 405435 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoverbosity: Fix performance of console verbose messages.
Richard Mudgett [Tue, 14 Jan 2014 18:14:02 +0000 (18:14 +0000)]
verbosity: Fix performance of console verbose messages.

The per console verbose level feature as previously implemented caused a
large performance penalty.  The fix required some minor incompatibilities
if the new rasterisk is used to connect to an earlier version.  If the new
rasterisk connects to an older Asterisk version then the root console
verbose level is always affected by the "core set verbose" command of the
remote console even though it may appear to only affect the current
console.  If an older version of rasterisk connects to the new version
then the "core set verbose" command will have no effect.

* Fixed the verbose performance by not generating a verbose message if
nothing is going to use it and then filtered any generated verbose
messages before actually sending them to the remote consoles.

* Split the "core set debug" and "core set verbose" CLI commands to remove
the per module verbose support that cannot work with the per console
verbose level.

* Added a silent option to the "core set verbose" command.

* Fixed "core set debug off" tab completion.

* Made "core show settings" list the current console verbosity in addition
to the root console verbosity.

* Changed the default verbose level of the 'verbose' setting in the
logger.conf [logfiles] section.  The default is now to once again follow
the current root console level.  As a result, using the AMI Command action
with "core set verbose" could again set the root console verbose level and
affect the verbose level logged.

(closes issue AST-1252)
Reported by: Guenther Kelleter

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

Merged revisions 405431 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 405432 from http://svn.asterisk.org/svn/asterisk/branches/12

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

5 years agoFix erroneous behavior when sending auth rejection to artificial endpoint.
Mark Michelson [Tue, 14 Jan 2014 16:43:33 +0000 (16:43 +0000)]
Fix erroneous behavior when sending auth rejection to artificial endpoint.

We were not including an authentication challenge when sending a 401 response
to unmatched endpoints. This was due to the conversion to use a vector for
authentication section names on an endpoint. The vector for artificial endpoints
was empty, resulting in the challenge being sent back containing no challenges.

This is worked around by placing a bogus value in the artificial endpoint's auth
vector. This value is never looked up by anything, since they instead will directly
call ast_sip_get_artificial_auth().

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

5 years agoSkinny: do not add call to missed calls list if answered elsewhere.
Damien Wedhorn [Tue, 14 Jan 2014 03:27:47 +0000 (03:27 +0000)]
Skinny: do not add call to missed calls list if answered elsewhere.

Patch updates skinny devices with a SKINNY_CONNECTED callstate if an
inbound ringing or callwaiting call is answered elsewhere.
........

Merged revisions 405367 from http://svn.asterisk.org/svn/asterisk/branches/12

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