asterisk/asterisk.git
5 years agoFix memory stomping bug in astman.
David M. Lee [Thu, 27 Feb 2014 16:26:18 +0000 (16:26 +0000)]
Fix memory stomping bug in astman.

This memset complained in dev mod on my Ubuntu box. The memset is both
unnecessary and dangerous. At this point, m hasn't been initialized
yet, so the memset will write off to whatever address happens to be
on the stack at the time.
........

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

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

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

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

5 years agores_fax: Comment out default settings from res_fax.conf.
Corey Farrell [Thu, 27 Feb 2014 16:08:03 +0000 (16:08 +0000)]
res_fax: Comment out default settings from res_fax.conf.

Comment out many settings in res_fax.conf.sample. The defaults are set in
res_fax.c, so setting the same value in sample config does nothing but make
the sample config more fragile.

(closes issue ASTERISK-23231)
Reported by: David Brillert
Review: https://reviewboard.asterisk.org/r/3261/
........

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

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

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

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

5 years agores_pjsip_sdp_rtp: Apply packetization rules on inbound SDP handling
Matthew Jordan [Thu, 27 Feb 2014 12:29:56 +0000 (12:29 +0000)]
res_pjsip_sdp_rtp: Apply packetization rules on inbound SDP handling

The setting 'use_ptime' is supposed to tell Asterisk to honour the ptime
attribute in an offer, preferring it to whatever packetization
preferences have been set internally. Currently, however, something
rather quirky will happen:

(1) The SDP answer will be constructed in create_outgoing_sdp_stream.
    This will use the preferences from the endpoint, such that the 200 OK
    response will add the packetization preferences from the endpoint, and
    not what was offered.
(2) When the 200 response is issued, apply_negotiated_sdp_stream is called.
    This will call apply_packetization, which will use the ptime attribute
    from the offer internally.

We end up telling the offerer to use the internal ptime attribute, but we end
up using the offered ptime attribute. Hilarity ensues.

This patch modifies the behaviour by calling apply_packetization from
negotiate_incoming_sdp_stream, which is called prior to
create_outgoing_sdp_stream. This causes the format preferences on the
session's media object to be set to the inbound ptime value (if 'use_ptime'
is enabled), such that the construction of the answer gets the right value
immediately.

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

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

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

5 years agotest_stasis.c: Misc cleanups.
Richard Mudgett [Wed, 26 Feb 2014 23:35:20 +0000 (23:35 +0000)]
test_stasis.c: Misc cleanups.

* Make the consumer ao2 object use the ao2 lock instead of a redundant
lock in the struct for ast_cond_wait().

* Fixed some curly brace placements.

* Fixed use of malloc(0).  malloc(0) has variant behavior.  It is up to
the implementation to determine if it returns NULL or a valid pointer that
can be later passed to free().
........

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

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

5 years agopjsip: avoid edge case potential crash in answer()
Scott Griepentrog [Wed, 26 Feb 2014 19:00:56 +0000 (19:00 +0000)]
pjsip: avoid edge case potential crash in answer()

When accidentally compiling against a wrong version of
pjsip headers with a different pjsip_inv_session size,
the invite_tsx structure could be null in the answer()
function.  This led to a crash because it attempted to
send the session response with an uninitialized packet
pointer.  This patch presets packet to null and adds a
diagnostic log message to explain why the call fails.

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

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

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

5 years agores_ari: Make some additional error responses consistent with the rest of the system.
Joshua Colp [Wed, 26 Feb 2014 17:04:38 +0000 (17:04 +0000)]
res_ari: Make some additional error responses consistent with the rest of the system.

This change makes some error cases use ast_ari_response_error to construct their
error responses instead of manually doing it. This ensures they are consistent
with the other error responses.

Based on the original patch as done by Paul Belanger on the associated review.

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

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

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

5 years agoPJSIP: Fix some bad spacing
Kinsey Moore [Wed, 26 Feb 2014 13:47:49 +0000 (13:47 +0000)]
PJSIP: Fix some bad spacing
........

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

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

5 years agoPJSIP: Prevent crash if channel has gone away
Kinsey Moore [Wed, 26 Feb 2014 13:45:12 +0000 (13:45 +0000)]
PJSIP: Prevent crash if channel has gone away

It is currently possible for an ast_sip_session to exist without an
associated channel as is the case when a new invite is coming in or
just after a hangup is issued on a chan_pjsip channel. Part of the
attended transfer code assumed the channel would be non-NULL and used
it as such causing a crash. This bug was exposed thanks to the attended
transfer ARI test in the test suite.

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

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

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

5 years agoImplement functions handling keypress, display icons and text for i2004 KEM support.
Igor Goncharovskiy [Wed, 26 Feb 2014 08:57:14 +0000 (08:57 +0000)]
Implement functions handling keypress, display icons and text for i2004 KEM support.

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

5 years agores_pjsip_exten_state: Presence for digium phones
Kevin Harwell [Tue, 25 Feb 2014 17:51:51 +0000 (17:51 +0000)]
res_pjsip_exten_state: Presence for digium phones

Added presence support for digium phones.

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

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

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

5 years agores_pjsip_send_to_voicemail: transferring to voicemail for digium phones
Kevin Harwell [Tue, 25 Feb 2014 17:47:06 +0000 (17:47 +0000)]
res_pjsip_send_to_voicemail: transferring to voicemail for digium phones

Added the ability for transferring directly to voicemail on digium phones.
Added a new module that checks for the presence of a custom header and/or
diversion header within a sip REFER.  If either is found and they specify
a sending to voicemail action then variables are added to the channel
allowing the user access to them in the dialplan.  Dialplan can then be
written that branches based upon these values allowing, for instace, for
a single number to be used for dialing and/or accessing voicemail directly.

Also fixed a problem where the PJSIP_HEADER function was allowing non pjsip
channels through (checked to make sure it has the correct channel type before
proceeding).

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

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

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

5 years agoconfigs/voicemail.conf.sample - Make mailcmd sample text more explicit
Rusty Newton [Tue, 25 Feb 2014 17:44:53 +0000 (17:44 +0000)]
configs/voicemail.conf.sample - Make mailcmd sample text more explicit

Made the wording a bit more explicit. Didn't really change the meaning.
........

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

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

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

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

5 years agomain: Initialize dialplan providing core components prior to module pre-load
Matthew Jordan [Sat, 22 Feb 2014 23:31:10 +0000 (23:31 +0000)]
main: Initialize dialplan providing core components prior to module pre-load

It is possible to pre-load pbx_config. As a result, pbx_config - which will
load and parse the dialplan - will attempt to use various dialplan components,
such as device state providers and presence state providers, prior to them
being initialized by the core. This would lead to a crash, as the components
had not created their Stasis cache entries.

This patch moves a number of core component initializations before the module
pre-load. This guarantees that if someone does pre-load pbx_config - or other
pbx modules - that the Stasis caches for the various core components are
created.

(closes issue ASTERISK-23320)
Reported by: xrobau

(closes issue ASTERISK-23265)
Reported by: Andrew Nagy
Tested by: Andrew Nagy, Rusty Newton
........

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

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

5 years agoignore AST_CONTROL_PVT_CAUSE_CODE without any messages
Alexandr Anikin [Sat, 22 Feb 2014 18:01:20 +0000 (18:01 +0000)]
ignore AST_CONTROL_PVT_CAUSE_CODE without any messages

(closes issue ASTERISK-23336)
Reported by: Alexander Semych
........

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

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

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

5 years agoRemove extra defines of AST_PBX_MAX_STACK.
Corey Farrell [Sat, 22 Feb 2014 02:31:04 +0000 (02:31 +0000)]
Remove extra defines of AST_PBX_MAX_STACK.

* Ensure AST_PBX_MAX_STACK is only defined in extconf.h and pbx.h.
* Fix incorrect function parameters in utils/extconf.c.

(closes issue ASTERISK-23141)
Reported by: Maxim
Review: https://reviewboard.asterisk.org/r/3241/
........

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

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

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

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

5 years agortp_engine: Dynamic payload change in rtp mapping not supported
Kevin Harwell [Fri, 21 Feb 2014 18:37:24 +0000 (18:37 +0000)]
rtp_engine: Dynamic payload change in rtp mapping not supported

Asterisk didn't support the dynamic payload change in rtp mapping in the 200
OK response.

Scenario:
Asterisk sends the INVITE proposing alaw and telephone-event, it proposes
rtpmap:101 for telephone-event.  Peer responds with 2xx, it answers with
alaw and telephone-event also, but it proposes a different rtpmap number
(rtpmap:103) for telephone-event.

Expected Behaviour:
Asterisk should honour the rtpmapping in the response and send DTMF packets
using 103 as payload type for DTMF.

Actual Behaviour: Asterisk sends DTMF packets using payload type 101.

With this patch asterisk now supports changes that can occur in the rtp mapping
in the response.

(closes issue ASTERISK-23279)
Reported by: NITESH BANSAL
Review: https://reviewboard.asterisk.org/r/3225/
Patches:
     dynamic_payload_change.patch uploaded by nbansal (license 6418)
........

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

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

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

5 years agomanager: Fix AMI Status action of a single channel.
Richard Mudgett [Fri, 21 Feb 2014 18:19:31 +0000 (18:19 +0000)]
manager: Fix AMI Status action of a single channel.

Fixed use of uninitialized ao2 container iterator in an off-nominal
condition.  Either a memory allocation error or the requested channel is
an internal channel not exposed to the outside.
........

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

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

5 years agojson: Fix off-nominal json ref counting issues.
Richard Mudgett [Fri, 21 Feb 2014 18:04:54 +0000 (18:04 +0000)]
json: Fix off-nominal json ref counting issues.

* Fixed off-nominal json ref counting issue with using the following API
calls: ast_json_object_set() and ast_json_array_append().

* Fixed off-nominal error reporting in ast_ari_endpoints_list().

* Fixed some miscellaneous off-nominal json ref counting issues in
report_receive_fax_status() and dial_to_json().
........

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

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

5 years agojson: Fix json API wrapper code for json library versions earlier than 2.3.0.
Richard Mudgett [Fri, 21 Feb 2014 17:47:58 +0000 (17:47 +0000)]
json: Fix json API wrapper code for json library versions earlier than 2.3.0.

* Fixed json ref counting issue with json API wrapper code for
ast_json_object_update_existing() and ast_json_object_update_missing()
when the json library is earlier than version 2.3.0.
........

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

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

5 years agochan_sip: prevent add_route from adding empty header.
Corey Farrell [Fri, 21 Feb 2014 16:49:03 +0000 (16:49 +0000)]
chan_sip: prevent add_route from adding empty header.

Fix regression caused by ASTERISK-22582.  Empty Route
headers were added when the route had a single strict
hop.

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

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

5 years agortp_engine: Output mixup in ${CHANNEL(rtpqos,audio,all)}
Kevin Harwell [Fri, 21 Feb 2014 16:27:55 +0000 (16:27 +0000)]
rtp_engine: Output mixup in ${CHANNEL(rtpqos,audio,all)}

Fixed the output of CHANNEL(rtpqos,audio,all) to use txjitter instead
of rxjitter.

(closes issue ASTERISK-23261)
Reported by: rsw686
Patches:
     rtpqos.patch uploaded by rsw686 (license 5887)
........

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

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

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

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

5 years agochannel.c: MOH is not working for transferee after attended transfer
Kevin Harwell [Fri, 21 Feb 2014 15:46:20 +0000 (15:46 +0000)]
channel.c: MOH is not working for transferee after attended transfer

Updated the code to check to see if MOH is playing on the transferor and if
so then start it on the channel that replaces it during a masquerade.

Example scenario of the problem:
Alice calls Bob and then Bob begins the attended transfer process into a queue.
Upon going on hold Alice hears music and so does Bob once he is in the queue.
Bob then transfers Alice into the queue and then music for Alice stops even
though she should be hearing it since has now replaced Bob in the queue.

The problem that was occurring is that once the channel was masqueraded the app
(queues, confbridge, etc...) had no way of knowing that the channel had just
been swapped out thus it did not start music for the present channel.

Credit to Olle Johansson for pointing me in the right direction on this issue.

(closes issue ASTERISK-19499)
Reported by: Timo Teräs
Review: https://reviewboard.asterisk.org/r/3226/
........

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

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

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

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

5 years agoFix type of roundTripDelay variables
Alexandr Anikin [Fri, 21 Feb 2014 10:45:05 +0000 (10:45 +0000)]
Fix type of roundTripDelay variables
........

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

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

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

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

5 years agoapp_chanspy: Documentation Update To Clarify "x" Option
Michael L. Young [Fri, 21 Feb 2014 00:50:02 +0000 (00:50 +0000)]
app_chanspy: Documentation Update To Clarify "x" Option

When using the "x" option (specify a DTMF digit to exit the application), it is
not obvious in the documentation that this only works when spying on a channel.
If a channel being used to spy on other channels is waiting to connect to a
channel or is no longer attached to a channel, the DTMF is ignored.

As noted on the issue tracker, since there are workarounds available and this is
a rarely used option we are opting for a documentation change here.

(closes issue ASTERISK-22661)
Reported by: Chris Hillman
Patches:
    asterisk-22661-doc-clarify-chan_spy.diff
                                     uploaded by Michael L. Young (license 5026)

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

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

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

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

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

5 years agopjsip_cli: Add pjsip commands 'show registrations' and 'show contacts'.
George Joseph [Thu, 20 Feb 2014 21:12:02 +0000 (21:12 +0000)]
pjsip_cli: Add pjsip commands 'show registrations' and 'show contacts'.

Added 'show registrations' and 'show contacts' to pjsip cli to make things
a little more consistent.  The output is exactly the same as the list command.

Just needed to add entries to their respective ast_cli_entry structures.

(closes issue ASTERISK-23275)
Review: http://reviewboard.asterisk.org/r/3210/
........

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

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

5 years agopjsip_cli: Fix memory leak in ast_sip_cli_print_sorcery_objectset.
George Joseph [Thu, 20 Feb 2014 21:04:28 +0000 (21:04 +0000)]
pjsip_cli: Fix memory leak in ast_sip_cli_print_sorcery_objectset.

Fixed memory leaks in ast_sip_cli_print_sorcery_objectset and
ast_variable_list_sort.

(closes issue ASTERISK-23266)
Review: http://reviewboard.asterisk.org/r/3200/
........

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

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

5 years agosorcery: Create sorcery instance registry.
George Joseph [Thu, 20 Feb 2014 20:45:30 +0000 (20:45 +0000)]
sorcery: Create sorcery instance registry.

In order to retrieve an arbitrary sorcery instance from a dialplan function
(or any place else) there needs to be a registry of sorcery instances.

ast_sorcery_init now creates a hashtab as a registry.

ast_sorcery_open now checks the hashtab for an existing sorcery instance
matching the caller's module name.  If it finds one, it bumps the
refcount and returns it.  If not, it creates a new sorcery instance,
adds it to the hashtab, then returns it.

ast_sorcery_retrieve_by_module_name is a new function that does a hashtab
lookup by module name.  It can be called by the future dialplan function.

res_pjsip/config_system needed a small change to share the main res_pjsip
sorcery instance.

tests/test_sorcery was updated to include a test for the registry.

(closes issue ASTERISK-22537)
Review: http://reviewboard.asterisk.org/r/3184/
........

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

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

5 years agores_pjsip: Update documentation for 'use_avpf' option
Matthew Jordan [Thu, 20 Feb 2014 19:02:43 +0000 (19:02 +0000)]
res_pjsip: Update documentation for 'use_avpf' option

When 'use_avpf' is set to True, inbound offers must use the AVPF/SAVPF RTP
profile. However, when 'use_avpf' is set to False, Asterisk will accept
both AVP/SAVP or AVPF/SAVPF RTP profiles in inbound offers. The documentation
previously implied that Asterisk would reject AVPF/SAVPF if 'use_avpf' was
set to False and a UA offered said profile in an INVITE request.
........

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

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

5 years agoapps/app_queue - Fix incorrect Macro parameter documentation
Rusty Newton [Thu, 20 Feb 2014 02:44:26 +0000 (02:44 +0000)]
apps/app_queue - Fix incorrect Macro parameter documentation

Macro is executed on the called channel, not the calling channel.

(closes issue ASTERISK-23069)
Reported By: Bryan Anderson
........

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

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

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

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

5 years agoconfig: Add file size and nanosecond resolution fields to the cached modified config...
Richard Mudgett [Wed, 19 Feb 2014 19:09:07 +0000 (19:09 +0000)]
config: Add file size and nanosecond resolution fields to the cached modified config file information.

Repeatedly modifying config files and reloading too fast sometimes fails
to reload the configuration because the cached modification timestamp has
one second resolution.

* Added file size and nanosecond resolution fields to the cached config
file modification timestamp information.  Now if the file size changes or
the file system supports nanosecond resolution the modified file has a
better chance of being detected for reload.

* Added a missing unlock in an off-nominal code path.

(closes issue AST-1303)

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

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

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

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

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

5 years agores_sorcery_astdb.c: Fix regex handling and keep simple prefix matching performance.
Richard Mudgett [Wed, 19 Feb 2014 18:29:12 +0000 (18:29 +0000)]
res_sorcery_astdb.c: Fix regex handling and keep simple prefix matching performance.

The sorcery astDB wizzard does not handle regex correctly if the pattern
begins with an anchor character.

This patch attempts to convert the anchored regex pattern to a prefix
pattern supported by astDB for performance reasons.  If it is not able to
convert the pattern it falls back to getting all astDB members of the
family and doing a normal regex pattern matching on the retrieved records.

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

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

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

5 years agoprocess receiveAndTransmit user input remote caps instead of receive only
Alexandr Anikin [Wed, 19 Feb 2014 12:04:32 +0000 (12:04 +0000)]
process receiveAndTransmit user input remote caps instead of receive only
send receiveAndTransmit user input our caps instead of receive only
........

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

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

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

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

5 years agoAllow different socket and signalling ip on h.323 connection if gk mode is active
Alexandr Anikin [Wed, 19 Feb 2014 10:41:01 +0000 (10:41 +0000)]
Allow different socket and signalling ip on h.323 connection if gk mode is active
Reported by: Gabriele Odone
Patches:
ASTERISK-22738-1.patch
Tested by: Gabriele Odone
(closes issue ASTERISK-22738)
........

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

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

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

5 years agoalembic: Add svn:ignore *.pyc to directories and svn:executable to *.py files.
Richard Mudgett [Tue, 18 Feb 2014 19:19:37 +0000 (19:19 +0000)]
alembic: Add svn:ignore *.pyc to directories and svn:executable to *.py files.
........

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

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

5 years agoStore SIP User-Agent information in contacts.
Mark Michelson [Mon, 17 Feb 2014 15:36:45 +0000 (15:36 +0000)]
Store SIP User-Agent information in contacts.

When an endpoint sends a REGISTER request to Asterisk, we now will
associate the User-Agent header with all contacts that were bound in
that REGISTER request.
........

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

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

5 years agopbx: Handle a completely empty dialplan during a context merge
Matthew Jordan [Sun, 16 Feb 2014 03:25:15 +0000 (03:25 +0000)]
pbx: Handle a completely empty dialplan during a context merge

It is highly unlikely, but - at least in Asterisk 12 - theoretically possible
to load Asterisk with no dialplan whatsoever. If that occurs, and some other
module (that is not a pbx module) attempts to merge its contexts into the
dialplan, the existing merge routine will crash. This is because it is not
insane, and rightly believes that you provided some sort of dialplan,
somewhere.

This patch will gracefully merge the contexts in such a case. Note that this
is highly unlikely to occur in 1.8/11, as features will most likely provide
some dialplan via parking. However, in Asterisk 12, parking is now provided
by res_parking, and hence may create its dialplan later.

(closes issue ASTERISK-23297)
Reported by: CJ Oster

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

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

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

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

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

5 years agobuildsystem: Unbreak the build (infloop) on Asterisk 11+
Matthew Jordan [Sun, 16 Feb 2014 03:06:11 +0000 (03:06 +0000)]
buildsystem: Unbreak the build (infloop) on Asterisk 11+

Apparently r408084 ( https://reviewboard.asterisk.org/r/3212/ ) broke the
build. This patch fixes it by ignoring the .lastclean dependencies if the
MENUSELECT_EMBED variable is not defined.

patches:
  tmp.diff uploaded by wdoekes (License 5674)

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

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

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

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

5 years agoARI: correct upper/lower case URI discrepancies
Scott Griepentrog [Fri, 14 Feb 2014 21:44:57 +0000 (21:44 +0000)]
ARI: correct upper/lower case URI discrepancies

URI's are supposed to be case sensitive and all
lower case.  In practice some portions of URI's
in ARI are case insensitive and others are not,
such as TECH, which in one instance would match
a lower case name and in another would not.  In
this patch, the ast_endpoint_lastest_snapshot()
function is modified to change the TECH portion
to full upper case before lookup. This resolves
the discrepancy noted by the reporter.  However
I chose to avoid forcing the /ari prefix of the
URI's to be lower case for now.  Except for the
two cases here, all URI's should be lower case,
unless they are part of a resource name or id.

Review: https://reviewboard.asterisk.org/r/3211/
Reported by: Zane Conkle
(closes issue ASTERISK-23125)
........

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

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

5 years agoformat.c: correct possible null pointer dereference
Scott Griepentrog [Fri, 14 Feb 2014 21:29:31 +0000 (21:29 +0000)]
format.c: correct possible null pointer dereference

In ast_format_sdp_parse and ast_format_sdp_generate
the check checks for a valid interface and function
were potentially confusing, and hid an error in the
test of the presence of the function that is called
later.  This patch clears up and corrects the test.

Review: https://reviewboard.asterisk.org/r/3208/
(closes issue ASTERISK-23098)
Reported by: marcelloceschia
Patches:
     main_format.patch uploaded by marcelloceschia (license 6036)
 ASTERISK-23098.patch uploaded by coreyfarrell (license 5909)
........

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

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

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

5 years agobuildsystem: Don't force main to depend on everything else.
Walter Doekes [Fri, 14 Feb 2014 13:31:48 +0000 (13:31 +0000)]
buildsystem: Don't force main to depend on everything else.

Directory 'main' only needs to depend on embedded modules. If no
module embedding is selected, the dependency is dropped.

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

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

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

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

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

5 years agochnan_sip: Set SIP_DEFER_BYE_ON_TRANSFER prior to calling bridge blind transfer
Matthew Jordan [Fri, 14 Feb 2014 12:41:13 +0000 (12:41 +0000)]
chnan_sip: Set SIP_DEFER_BYE_ON_TRANSFER prior to calling bridge blind transfer

This patch moves setting SIP_DEFER_BY_ON_TRANSFER prior to calling
ast_bridge_transfer_blind. This prevents a BYE from being sent prior to the
NOTIFY request that informs the transferor if the transfer succeeded or failed.

This patch also clears said flag from the off nominal NOTIFY paths in the
local_attended_transfer code, as once we've sent the NOTIFY request it is safe
to send by the BYE request.

This was caught by the blind-transfer-accountcode test in the Asterisk Test
Suite.

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

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

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

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

5 years agoinstall_subst: helper script for installing with path substitution
Tzafrir Cohen [Fri, 14 Feb 2014 08:52:07 +0000 (08:52 +0000)]
install_subst: helper script for installing with path substitution

A helper script to copy a source file substituting any
__ASTERISK_<foo>_DIR__ with the content of $AST<foo>DIR.

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

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

5 years agoRemove all PJSIP MWI-specific use from our MWI code.
Mark Michelson [Thu, 13 Feb 2014 18:52:08 +0000 (18:52 +0000)]
Remove all PJSIP MWI-specific use from our MWI code.

PJSIP has built-in MWI code that could be useful to some
degree, but our utilization of the API actually made our
code a bit more cluttered since we had to have special
cases peppered throughout.

With this change, we move to using the pjsip_evsub API
instead, which streamlines the code by removing special
cases.

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

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

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

5 years agoFix crash in AMI PJSIPShowEndpoint action.
Mark Michelson [Thu, 13 Feb 2014 15:57:21 +0000 (15:57 +0000)]
Fix crash in AMI PJSIPShowEndpoint action.

If an AOR has no permanent contacts, then the
permanent_contacts container is never allocated.
This makes the code safe in the face of NULLs.

I also changed the variable that counts contacts
from "num" to "total_contacts" since there are now
two variables that are indicate numbers of things.
........

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

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

5 years agoLogger: Add dynamic logger channels
Kinsey Moore [Thu, 13 Feb 2014 15:51:22 +0000 (15:51 +0000)]
Logger: Add dynamic logger channels

This adds the ability to dynamically add and remove logger channels
from Asterisk via the CLI.

(closes issue AST-1150)
Review: https://reviewboard.asterisk.org/r/3185/

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

5 years agorealtime: Fix ast_update2_realtime() on raspberry pi.
Walter Doekes [Wed, 12 Feb 2014 08:25:02 +0000 (08:25 +0000)]
realtime: Fix ast_update2_realtime() on raspberry pi.

The old code depended on undefined va_arg behaviour: calling a function
twice with the same va_list parameter and expecting it to continue where
it left off. The changed code behaves like the manpage says it should.

Also added a bunch of early returns to trap errors (e.g. OOM) instead of
crashing.

The problem was found by Julian Lyndon-Smith. The deviant behaviour on
the raspberry PI also uncovered another bug (fixed in r407875) in the
res_config_pgsql.so driver.

Reported by: jmls
Tested by: jmls
Review: https://reviewboard.asterisk.org/r/3201/
........

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

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

5 years agoscheduler: Remove hashtab usage.
Joshua Colp [Tue, 11 Feb 2014 20:17:42 +0000 (20:17 +0000)]
scheduler: Remove hashtab usage.

This is a first stab at tweaking the performance profile of the scheduler. Removing
the hashtab usage removes an extra memory allocation when scheduling something and
makes it so rescheduling does not incur any memory allocation at all.

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

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

5 years agoari/resource_channels: Add channel variables earlier in the creation process
Matthew Jordan [Tue, 11 Feb 2014 03:18:25 +0000 (03:18 +0000)]
ari/resource_channels: Add channel variables earlier in the creation process

This patch tweaks the behaviour of POST /channels with channel variables such
that the variables are passed into the pbx.c routines that perform the
origination. This allows the variables to be assigned to the newly created
channels immediately upon their construction, as opposed to be assigned after
the originate has completed.

The upshot of this is that the variables are available on the channels if
they execute in the dialplan, as opposed to only being available once the
channels are answered.

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

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

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

5 years agochan_sip: Isolate code that manages struct sip_route.
Corey Farrell [Mon, 10 Feb 2014 18:28:35 +0000 (18:28 +0000)]
chan_sip: Isolate code that manages struct sip_route.

* Move route code to sip/route.c + sip/include/route.h
* Rename functions to sip_route_*
* Replace ad-hoc list code with macro's from linkedlists.h
* Create sip_route_process_header() to processes Path and Record-Route headers
  (previously done with different code in build_route and build_path)
* Add use of const where possible
* Move struct uriparams, struct contact and contactliststruct from sip.h to
  reqresp_parser.h.  sip/route.c uses reqresp_parser.h but not sip.h, this was
  a problem.  These moved declares are not used outside of reqresp_parser.
* While modifying reqprep() the lack of {} caused me trouble.  I added them.
* Code outside route.c treats sip_route as an opaque structure, using macro's
  or procedures for all access.

(closes issue ASTERISK-22582)
Reported by: Corey Farrell
Review: https://reviewboard.asterisk.org/r/3173/

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

5 years agores_config_pgsql: Fix ast_update2_realtime calls.
Walter Doekes [Mon, 10 Feb 2014 16:49:40 +0000 (16:49 +0000)]
res_config_pgsql: Fix ast_update2_realtime calls.

Fix so multiple updates from a single call works (add missing ',').
Remove bogus ast_free's that weren't supposed to be there.
Moved a few spaces for readability.

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

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

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

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

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

5 years agoConfBridge: Correct prompt playback target
Kinsey Moore [Mon, 10 Feb 2014 16:01:37 +0000 (16:01 +0000)]
ConfBridge: Correct prompt playback target

Currently, when the first marked user enters the conference that
contains waitmarked users, a prompt is played indicating that the user
is being placed into the conference. Unfortunately, this prompt is
played to the marked user and not the waitmarked users which is not
very helpful.

This patch changes that behavior to play a prompt stating
"The conference will now begin" to the entire conference after adding
and unmuting the waitmarked users since the design of confbridge is not
conducive to playing a prompt to a subset of users in a conference in
an asynchronous manner.

(closes issue PQ-1396)
Review: https://reviewboard.asterisk.org/r/3155/
Reported by: Steve Pitts
........

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

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

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

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