9 years agovoicemail: Fixup some doxygen comments.
Richard Mudgett [Thu, 21 Nov 2013 19:09:45 +0000 (19:09 +0000)]
voicemail: Fixup some doxygen comments.

Merged revisions 402956 from

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

9 years agobucket: Fix scheme ref leak in __ast_bucket_scheme_register().
Richard Mudgett [Thu, 21 Nov 2013 18:11:04 +0000 (18:11 +0000)]
bucket: Fix scheme ref leak in __ast_bucket_scheme_register().

Merged revisions 402944 from

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

9 years agores_pjsip_sdp_rtp: Fix use of uninitialized value in PJSIP
Matthew Jordan [Thu, 21 Nov 2013 17:53:39 +0000 (17:53 +0000)]
res_pjsip_sdp_rtp: Fix use of uninitialized value in PJSIP

In PJMEDIA, pjmedia_sdp_rtpmap_to_attr will attempt to use the string
rtpmap.param regardless of its length value. Simply setting the length to 0
does not prevent the garbage on the stack in rtpmap.param.ptr from being
formatted in a sprintf call. This patch initializes the string to NULL so that
at the very least, something is provided to the function that is predictable.

Merged revisions 402941 from

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

9 years agores_pjsip_mwi: Fix memory leak of MWI subscriptions container
Matthew Jordan [Thu, 21 Nov 2013 17:53:22 +0000 (17:53 +0000)]
res_pjsip_mwi: Fix memory leak of MWI subscriptions container

This patch fixes a reference counting memory leak on the ao2_container
created as part of create_mwi_subscriptions. When we create the container
in this routine, the intent is to hand lifetime ownership over to the global
container unsolicited_mwi. When ao2_global_obj_replace_unref is called, the
reference count on mwi_subscriptions (the container) will be bumped by 1;
however, the function does not decrement the reference count on
mwi_subscriptions when this occurs. This will prevent the container from being
fully disposed of when Asterisk exits (or on any subsequent call to this
operation, such as during a reload).

Merged revisions 402940 from

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

9 years agostasis: Fixed scoping problem with bridge tracking.
David M. Lee [Thu, 21 Nov 2013 15:57:40 +0000 (15:57 +0000)]
stasis: Fixed scoping problem with bridge tracking.

Merged revisions 402817 from

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

9 years agoari: Add silence generator controls
David M. Lee [Thu, 21 Nov 2013 15:56:34 +0000 (15:56 +0000)]
ari: Add silence generator controls

This patch adds the ability to start a silence generator on a channel
via ARI. This generator will play silence on the channel (avoiding audio
timeouts on the peer) until it is stopped, or some other media operation
is started (like playing media, starting music on hold, etc.).

(closes issue ASTERISK-22514)

Merged revisions 402926 from

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

9 years agores_pjsip_caller_id: Don't overwrite user portion of the From header when fromuser...
Joshua Colp [Tue, 19 Nov 2013 23:17:57 +0000 (23:17 +0000)]
res_pjsip_caller_id: Don't overwrite user portion of the From header when fromuser is set.

The fromuser option is used to explicitly set the user within the From header. The
res_pjsip_caller_id module did not take this setting into account when determining
if the From header could be modified or not.

(closes issue ASTERISK-22866)
Reported by: Anthony Messina

Merged revisions 402891 from

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

9 years agores_pjsip: Add support for building against pjproject with SIP transaction group...
Joshua Colp [Sat, 16 Nov 2013 13:51:04 +0000 (13:51 +0000)]
res_pjsip: Add support for building against pjproject with SIP transaction group lock support.

SIP transaction group lock support has been backported into our pjproject. Since the code
now internally uses a group lock the code is now changed to unlock it if present. Note
that the act of finding the transaction is what actually returns it locked.

For further information about group locks check out the wiki page at:

(issue ASTERISK-22818)
Reported by: Matt Jordan

Merged revisions 402864 from

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

9 years agoConfbridge: Add option to review the recording similar to announce_join_leave
Jonathan Rose [Fri, 15 Nov 2013 22:38:52 +0000 (22:38 +0000)]
Confbridge: Add option to review the recording similar to announce_join_leave


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

9 years agoCEL: Fix crash when using CELGenUserEvent
Kinsey Moore [Fri, 15 Nov 2013 14:37:20 +0000 (14:37 +0000)]
CEL: Fix crash when using CELGenUserEvent

This fixes a crash when CELGenUserEvent is called from the dialplan
while CEL is disabled. Currently, CEL does not create its topics and
forwards if it is not enabled and external entities may depend on
these topics blindly since they should always be available. This patch
breaks up route creation and topic/forward creation such that the CEL
topics and forwards will always exist while the router and its
associated routes will be torn down and recreated as necessary.

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

Merged revisions 402838 from

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

9 years agoPickup: Pickup() and PickupChan() parameter parsing improvements.
Richard Mudgett [Thu, 14 Nov 2013 21:36:25 +0000 (21:36 +0000)]
Pickup: Pickup() and PickupChan() parameter parsing improvements.

* Made Pickup() and PickupChan() tollerate empty pickup values.  i.e., You
can now have Pickup(&&exten@context).

* Made PickupChan() use the standard option flag parsing code.

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

9 years agoPickup: Ensure using PICKUPMARK never considers the picking channel.
Richard Mudgett [Thu, 14 Nov 2013 20:53:52 +0000 (20:53 +0000)]
Pickup: Ensure using PICKUPMARK never considers the picking channel.

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

9 years agoSay: If SAY_DTMF_INTERRUPT is set to an ast_true value, jump on DTMF
Jonathan Rose [Thu, 14 Nov 2013 20:32:45 +0000 (20:32 +0000)]
Say: If SAY_DTMF_INTERRUPT is set to an ast_true value, jump on DTMF

Similar to how background works, if a say application is called with
this variable set to 'true', 'yes', 'on', etc. then using DTMF while
the say action is in progress will result in the channel jumping to
that extension in the dialplan.


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

9 years agores_ari_channels: Add the ability to stop locally generated ringing on a channel.
Joshua Colp [Wed, 13 Nov 2013 23:11:32 +0000 (23:11 +0000)]
res_ari_channels: Add the ability to stop locally generated ringing on a channel.

Using the 'ring' operation it is possible to start locally generated ringback if
the channel is answered. This change adds the ability to stop it by using DELETE.

Merged revisions 402804 from

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

9 years agoari endpoints: GET /ari/endpoints/{invalid-tech} should return a 404
Kevin Harwell [Tue, 12 Nov 2013 23:17:45 +0000 (23:17 +0000)]
ari endpoints: GET /ari/endpoints/{invalid-tech} should return a 404

Was returning a 404 on a valid technology with an empty list of endpoints.
Now checking against the channel tech to make sure the tech itself is valid
and not just an empty list of endpoints.

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

Merged revisions 402793 from

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

9 years agoari endpoints: GET /ari/endpoints/{invalid-tech} should return a 404
Kevin Harwell [Tue, 12 Nov 2013 22:17:28 +0000 (22:17 +0000)]
ari endpoints: GET /ari/endpoints/{invalid-tech} should return a 404

Implementation listing endpoints by technology returned an empty array if no
matching endpoints were found.  Fixed so a "404 Not Found" will be returned

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

Merged revisions 402787 from

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

9 years agoSwitch to a scoped lock to avoid missing unlocks in failure returns.
Mark Michelson [Tue, 12 Nov 2013 19:38:03 +0000 (19:38 +0000)]
Switch to a scoped lock to avoid missing unlocks in failure returns.

Merged revisions 402769 from

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

9 years agoMove a NULL check to a place that makes more sense.
Mark Michelson [Tue, 12 Nov 2013 19:08:14 +0000 (19:08 +0000)]
Move a NULL check to a place that makes more sense.

Two variables were being checked for NULLity immediately
after being declared NULL. I moved the NULL check until
after the variables are allocated.

This allows for the "channelvars" option in manager.conf
to work as intended again.

Merged revisions 402767 from

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

9 years agopjsip_messaging, pjsip_header_funcs: Crashes due to NULL pointer dereferences
Kevin Harwell [Tue, 12 Nov 2013 16:49:17 +0000 (16:49 +0000)]
pjsip_messaging, pjsip_header_funcs: Crashes due to NULL pointer dereferences

Both res_pjsip_messaging and res_pjsip_header_funcs were causing asterisk to
crash because they were trying to dereference a NULL pointer.

In the case of res_pjsip_messaging it was attempting to "print" a contact
header that did not exist.  In fact contact headers should not be part of
a SIP MESSAGE, so the offending code was simply removed.

In the case of res_pjsip_header_funcs a null private channel tech was being
passed to the function and then later dereferenced.  Added null checks (and
error logging) to the read/write function handlers to guard against crashing.

(closes issue ASTERISK-22821)
Reported by: Anthony Messina

Merged revisions 402757 from

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

9 years agoCELGenUserEvent: Fix error message from ast_json_pack
Kinsey Moore [Tue, 12 Nov 2013 16:34:31 +0000 (16:34 +0000)]
CELGenUserEvent: Fix error message from ast_json_pack

This prevents NULL from being passed into an ast_json_pack call when no
extra information is passed to the application which prevents an error
message about NULL arguments from being generated.

Merged revisions 402755 from

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

9 years agoFixed a typ.
David M. Lee [Tue, 12 Nov 2013 15:27:00 +0000 (15:27 +0000)]
Fixed a typ.

Merged revisions 402738 from

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

9 years agochan_dahdi: Fix crash during caller ID read
Kinsey Moore [Tue, 12 Nov 2013 15:03:18 +0000 (15:03 +0000)]
chan_dahdi: Fix crash during caller ID read

Asterisk will sometimes core dump during caller id read on analog
channels due to a negative return value from the read() in
my_get_callerid that slips through as a negative length argument to
callerid_feed() if the errno returned by DAHDI is ELAST. This change
ensures that the negative return is treated properly even when it is

(closes issue ASTERISK-22746)
Reported by: Michael Walton
    chan_dahdi_cid_crash_fix.r401410.patch uploaded by Michael Walton (License 6502)

Merged revisions 402708 from

Merged revisions 402709 from

Merged revisions 402710 from

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

9 years agoConfbridge: add test events for dynamic menus test
Jonathan Rose [Mon, 11 Nov 2013 20:28:38 +0000 (20:28 +0000)]
Confbridge: add test events for dynamic menus test

Adds a couple of test events for conference menu actions so that it's
easy to discern when those menu actions have been triggered.

(issue ASTERISK-22760)
Reported by: Matt Jordan

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

9 years agoGet rid of some inaccurate comments.
Mark Michelson [Mon, 11 Nov 2013 19:31:40 +0000 (19:31 +0000)]
Get rid of some inaccurate comments.

I'm doing some unrelated work in app_confbridge and finding
these "invalid pin" comments to be annoying. Get out!

Merged revisions 402686 from

Merged revisions 402687 from

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

9 years agoapp_queue: Honor penalty limits of 0
Kinsey Moore [Mon, 11 Nov 2013 15:37:03 +0000 (15:37 +0000)]
app_queue: Honor penalty limits of 0

In the current app_queue code from 1.8 up to trunk the upper and lower
penalties can be set to 0 but the value is interpreted to be disabled
instead of actually setting limits. This is especially evident if min
and max limits are set to 0 and members with penalties of 0 and 1 are
in the queue since the member with penalty 1 will still receive calls.
This patch adjusts the special disabled value to be INT_MAX instead of

(closes issue ASTERISK-20862)
Reported by: Schmooze Com

Merged revisions 402645 from

Merged revisions 402646 from

Merged revisions 402647 from

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

9 years agochan_sip: keep same local (from) tag for outgoing register requests
Scott Griepentrog [Fri, 8 Nov 2013 23:07:50 +0000 (23:07 +0000)]
chan_sip: keep same local (from) tag for outgoing register requests

For outbound register requests the tag on the From line was
updated every 20 seconds prior to a successful registration
and also once for each registration renewal.  That behavior
can possibly cause the registration to be denied because of
the different tag, and is not aligned with the intention of
RFC 3261 "... request constitutes a new transaction
and SHOULD have the same value of the Call-ID, To, and From
of the previous request...".  This updates chan_sip to have
a field to keep the local tag in the registration structure
and use that tag for registration requests where the callid
is also unchanged.

(closes issue ASTERISK-12117)
Reported by: Pawel Pierscionek

Merged revisions 402604 from

Merged revisions 402605 from

Merged revisions 402606 from

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

9 years agores_stasis.c: Fix locking issues with the app_bridge_moh container.
Richard Mudgett [Fri, 8 Nov 2013 20:37:08 +0000 (20:37 +0000)]
res_stasis.c: Fix locking issues with the app_bridge_moh container.

* Fix unlinking from the app_bridges_moh container in remove_bridge_moh()
without a lock under normal circumstances.

* Made check ast_bridge_set_after_callback() return value in
bridge_moh_create() to handle failure.

* Fixed SCOPED_AO2LOCK() locking over too much scope in
stasis_app_bridge_moh_channel() and stasis_app_bridge_moh_stop().

* Fixed unusual usage of ao2_unlink_flag() in control_unlink().

* Fixed orphaned bridge from off nominal path in

* Fixed strange construct in stasis_app_unsubscribe().  From a bad merge?

* Made load_module() cleanup on failure.


Merged revisions 402593 from

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

9 years agosecurity_events: Push out security events over AMI events
Jonathan Rose [Fri, 8 Nov 2013 19:33:48 +0000 (19:33 +0000)]
security_events: Push out security events over AMI events

Security Events will now be written to any listener of the new 'security' class


Merged revisions 402584 from

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

9 years agoClarify an ambiguous error message.
Mark Michelson [Fri, 8 Nov 2013 19:22:53 +0000 (19:22 +0000)]
Clarify an ambiguous error message.

Merged revisions 402582 from

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

9 years agores_pjsip: Print a helpful error message if sorcery registration fails
David M. Lee [Fri, 8 Nov 2013 18:53:14 +0000 (18:53 +0000)]
res_pjsip: Print a helpful error message if sorcery registration fails

Merged revisions 402570 from

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

9 years agoChanges from make ari-stubs after r402560
David M. Lee [Fri, 8 Nov 2013 18:52:19 +0000 (18:52 +0000)]
Changes from make ari-stubs after r402560

Merged revisions 402561 from

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

9 years agoARI playback: Rename ARI Playback to Playbacks
Kevin Harwell [Fri, 8 Nov 2013 17:59:16 +0000 (17:59 +0000)]
ARI playback: Rename ARI Playback to Playbacks

Before playback was the only non plural resource.  It has been renamed to
playbacks for consistency.

(closes issue ASTERISK-22737)
Reported by: Paul Belanger

Merged revisions 402560 from

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

9 years agoari: Add application/x-www-form-urlencoded parameter support
David M. Lee [Fri, 8 Nov 2013 17:29:53 +0000 (17:29 +0000)]
ari: Add application/x-www-form-urlencoded parameter support

ARI POST calls only accept parameters via the URL's query string.
While this works, it's atypical for HTTP API's in general, and
specifically frowned upon with RESTful API's.

This patch adds parsing for application/x-www-form-urlencoded request
bodies if they are sent in with the request. Any variables parsed this
way are prepended to the variable list supplied by the query string.

(closes issue ASTERISK-22743)

Merged revisions 402555 from

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

9 years agoapp_dahdiras: Use waitpid instead of wait4.
Kevin Harwell [Fri, 8 Nov 2013 14:58:13 +0000 (14:58 +0000)]
app_dahdiras: Use waitpid instead of wait4.

Several places in the code were using wait4 while other places were using
waitpid.  This change makes all places use waitpid in order to make things
more consistent and since the 'rusage' object passed in/out of wait4 was
never used.

(closes issue ASTERISK-22557)
Reported by: YvesGael
     asterisk-11.5.1-wait4.patch uploaded by hurdman (license 6537)

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

9 years agoPJSIP: Improve error handling in digest authenticator
Jonathan Rose [Thu, 7 Nov 2013 23:42:31 +0000 (23:42 +0000)]
PJSIP: Improve error handling in digest authenticator

Previously, regardless of whether failure to authenticate was due to
lacking any authentication or actually failing authentication, the
Digest Authenticator would simply return that a challenge was still
needed. It will continue to do that when no authentication information
is in the received SIP digest, but when authentication information
is present and does not pass authentication, that will be treated as
an authentication error. This is to ensure that PJSIP will issue
security events indicated failed auths.

Merged revisions 402537 from

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

9 years agoari: User better nicknames for ARI operations
David M. Lee [Thu, 7 Nov 2013 21:10:31 +0000 (21:10 +0000)]
ari: User better nicknames for ARI operations

While working on building client libraries from the Swagger API, I
noticed a problem with the nicknames.


Etc. We put the object name in the nickname (since we were generating C
code), but it makes OO generators redundant.

This patch makes the nicknames more OO friendly. This resulted in a lot
of name changing within the res_ari_*.so modules, but not much else.

There were a couple of other fixed I made in the process.

 * When reversible operations (POST /hold, POST /unhold) were made more
   RESTful (POST /hold, DELETE /unhold), the path for the second operation
   was left in the API declaration. This worked, but really the two
   operations should have been on the same API.
 * The POST /unmute operation had still not been REST-ified.


Merged revisions 402528 from

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

9 years agoapp_queue: crash if first agent is "busy"
Kevin Harwell [Wed, 6 Nov 2013 21:58:17 +0000 (21:58 +0000)]
app_queue: crash if first agent is "busy"

If the first agent/member (via CLI "queue show") in a queue is "busy" (dnd,
circuit busy, etc...) and no agents answered then app_queue would crash.
This occurred because while the calling of agent(s) remained valid the channel
on "busy" agent would be set to NULL and then later dereferenced upon a second
"rna" function call.  The original intention of the code is to have only valid
"call attempt" objects (channels != NULL) checked while attempting to call
agent(s).  It does this by building a "call_next" list of valid "call attempt"
objects.  In the case of the "busy" agent subsequent builds of the valid "call
attempt" list would sometimes include (the case mentioned above) an invalid
"call attempt" object.

The fix was to make sure the "call attempt" list was appropriately built on
every iteration.  A NULL sanity check was also added at the original offending
spot of the crash just in case another one slipped by somehow.

(closes issue ASTERISK-22644)
Reported by: Marco Signorini

Merged revisions 402517 from

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

9 years agochan_sip: Use AST_AF* defined constant when calling ast_get_ip
Matthew Jordan [Tue, 5 Nov 2013 21:17:30 +0000 (21:17 +0000)]
chan_sip: Use AST_AF* defined constant when calling ast_get_ip

While the structure passed to ast_get_ip should be set memset to 0, thus
initializing the ss_family member to 0, explicitly setting it to AST_AF_UNSPEC
is more portable.

Merged revisions 402507 from

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

9 years agochan_iax2: Fix incorrect usage of ast_get_ip involving uninitialized struct
Matthew Jordan [Tue, 5 Nov 2013 21:14:42 +0000 (21:14 +0000)]
chan_iax2: Fix incorrect usage of ast_get_ip involving uninitialized struct

This started off as a fix for the failing IAX2 acl_call test in the Asterisk
Test Suite. When inspecting why that test was failing, it became clear that all
attempts to bind to any local loopback address was failing:

[Nov  2 15:56:28] VERBOSE[15787] chan_iax2.c:   == Binding IAX2 to address
[Nov  2 15:56:28] DEBUG[15787] netsock2.c: Splitting '' into...
[Nov  2 15:56:28] DEBUG[15787] netsock2.c: '' and port ''.
[Nov  2 15:56:28] ERROR[15787] netsock2.c: getaddrinfo("", "(null)",
                               ...): ai_family not supported
[Nov  2 15:56:28] WARNING[15787] acl.c: Unable to lookup ''

While there's conceivably other ways for getaddrino to return EAI_FAMILY, the
most common way is if AF_INET, AF_INET6, or AF_UNSPEC is not provided as the
desired family. The culprit was the call to ast_get_ip, defined in acl.h. This
function uses the family from the passed in addr object (which it will also
populate when it returns!) when it eventually calls getaddrinfo.

This patch fixes the use of ast_get_ip that were not specifying the family in
chan_iax2. This prevents uninitialized use of the structure, so that the
addresses resolve correctly.


Merged revisions 402505 from

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

9 years agonetsock2: Define AST_AF_* enum constants to their AF_* equivalents
Matthew Jordan [Tue, 5 Nov 2013 21:06:25 +0000 (21:06 +0000)]
netsock2: Define AST_AF_* enum constants to their AF_* equivalents

This patch explicitly defines AST_AF_* enum constants to their sys/socket.h
defined equivalents. It is certainly unclear why these constants actually have
to exist, given that netsock2.h includes sys/socket.h; however, since the code
base is already liberally sprinkled with the usage of AST_AF_* (as well as with
direct calls to AF_*), this will at least keep the semantics consistent between
their usage across systems.

Merged revisions 402503 from

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

9 years agostasis_channels: Don't give preference to ANI info in channel snapshots
Matthew Jordan [Tue, 5 Nov 2013 20:59:39 +0000 (20:59 +0000)]
stasis_channels: Don't give preference to ANI info in channel snapshots

When publishing channel snapshots, we currently compute the caller ID name and
number by giving preference first to ani.{name|number}, then to
id.{name|number}. However, when a channel driver (such as chan_sip) updates the
caller ID, it typically only updates the caller ID stored in id.{name|number}.
This means that we are currently giving preference to stale information.

When looking at the rest of the code base, the only other place where we appear
to use this same logic is in app_amd. Everywhere else, we treat the party
information in ani as being separate to the party information in id.

This patch publishes only the caller ID name and number in the snapshot field
for caller_name and caller_num. Note that the information in ANI is still
available in caller_ani.


Merged revisions 402501 from

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

9 years agochan_sip: notify dialog info ignores presentation indicator in callerid
Kevin Harwell [Mon, 4 Nov 2013 21:02:18 +0000 (21:02 +0000)]
chan_sip: notify dialog info ignores presentation indicator in callerid

The presentation indicator in a callerid (e.g. set by dialplan function
Set(CALLERID(name-pres)= ...)) is not checked when SIP Dialog Info Notifies
are generated during extension monitoring.  Added a check to make sure the
name and/or number presentations on the callee (remote identity) are set to
allow.  If they are restricted then "anonymous" is used instead.

(closes issue AST-1175)
Reported by: Thomas Arimont

Merged revisions 402450 from

Merged revisions 402452 from

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

9 years agovector: Uppercase API to follow C convention.
Richard Mudgett [Sat, 2 Nov 2013 04:30:49 +0000 (04:30 +0000)]
vector: Uppercase API to follow C convention.

C does not support templates like C++.

Merged revisions 402438 from

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

9 years agovector: Update API to be more flexible.
Richard Mudgett [Sat, 2 Nov 2013 04:12:36 +0000 (04:12 +0000)]
vector: Update API to be more flexible.

Made the vector macro API be more like linked lists.
1) Added a name parameter to ast_vector() to name the vector struct.
2) Made the API take a pointer to the vector struct instead of the struct
3) Added an element cleanup macro/function parameter when removing an
element from the vector for ast_vector_remove_cmp_unordered() and
4) Added ast_vector_get_addr() in case the vector element is not a simple

* Converted an inline vector usage in stasis_message_router to use the
vector API.  It needed the API improvements so it could be converted.

* Fixed topic reference leak in router_dtor() when the
stasis_message_router is destroyed.

* Fixed deadlock potential in stasis_forward_all() and
stasis_forward_cancel().  Locking two topics at the same time requires
deadlock avoidance.

* Made internal_stasis_subscribe() tolerant of a NULL topic.

* Made stasis_message_router_add(),
stasis_message_router_add_cache_update(), stasis_message_router_remove(),
and stasis_message_router_remove_cache_update() tolerant of a NULL

* Promoted a LOG_DEBUG message to LOG_ERROR as intended in


Merged revisions 402429 from

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

9 years agoconfbridge: Separate user muting from system muting overrides.
Richard Mudgett [Sat, 2 Nov 2013 03:24:47 +0000 (03:24 +0000)]
confbridge: Separate user muting from system muting overrides.

The system overrides the user muting requests when MOH is playing or a
waitmarked user is waiting for a marked user to join.  System muting
overrides interfere with what the user may wish the muting to be when the
system override ends.

* User muting requests are now independent of the system muting overrides.
The effective muting is now the logical or of the user request and system

* Added a Muted flag to the CLI "confbridge list <conference>" command.

* Added a Muted header to the AMI ConfbridgeList action ConfbridgeList

(closes issue AST-1102)
Reported by: John Bigelow


Merged revisions 402425 from

Merged revisions 402427 from

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

9 years agoconfig: Allow ConfBridge DTMF menus to have '#' as the first digit.
Richard Mudgett [Sat, 2 Nov 2013 01:15:11 +0000 (01:15 +0000)]
config: Allow ConfBridge DTMF menus to have '#' as the first digit.

ConfBridge allows custom DTMF menus to be created in the confbridge.conf
file by assigning a DTMF key sequence to a sequence of actions as follows:

DTMF-sequence = action,action...

Unfortunately, the normal config file processing code interprets an
initial '#' character as starting a directive such as #include.

* Add the ability to escape the first non-blank character in a config line
so the '#' character can be used without triggering the directive
processing code.

(closes issue AFS-2)
(closes issue ASTERISK-22478)
Reported by: Nicolas Tanski
      jira_asterisk_22478_v11.patch (license #5621) patch uploaded by rmudgett (modified)


Merged revisions 402407 from

Merged revisions 402416 from

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

9 years agovoicemail: Simplify callback pointer declarations and add doxygen.
Richard Mudgett [Fri, 1 Nov 2013 23:20:54 +0000 (23:20 +0000)]
voicemail: Simplify callback pointer declarations and add doxygen.

* Typedefed and added doxegen for the voicemail callback functions.

* Simplified the prototypes for ast_install_vm_functions() and
ast_install_vm_test_functions() to use the new function typedefs.

* Simplified the voicemail callback function pointer variable declarations
to use the new function typedefs.

Merged revisions 402398 from

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

9 years agoapp_confbridge: Make the CONFBRIDGE function be able to create dynamic menus
Jonathan Rose [Fri, 1 Nov 2013 22:48:14 +0000 (22:48 +0000)]
app_confbridge: Make the CONFBRIDGE function be able to create dynamic menus

Also adds the ability to clear all profile items and makes behavior more
consistent with documentation as when choosing whether to use CONFBRIDGE
datastore profiles or the application arguments to the confbridge application.

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

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

9 years agoManager: Add equivalent AMI actions for the bridge CLI commands.
Scott Griepentrog [Fri, 1 Nov 2013 21:51:20 +0000 (21:51 +0000)]
Manager: Add equivalent AMI actions for the bridge CLI commands.

Adds the following AMI events, closely following their CLI counterparts:


BridgeDestroy kicks an entire bridge, where BridgeKick kicks just one
channel off the bridge. When kicking a channel, specifying the bridge
also (optional) insures it is not removed from the wrong bridge.  The
BridgeTechnology events allow viewing and changing suspension status,
which affects only subsequent not active bridging.

(closes ASTERISK-22356)
Reported by: Richard Mudgett

Merged revisions 402387 from

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

9 years agoari wiki docs: add notes about allowMultiple parameters.
David M. Lee [Fri, 1 Nov 2013 16:31:57 +0000 (16:31 +0000)]
ari wiki docs: add notes about allowMultiple parameters.

This patch adds a note to any parameter that has 'allowMultiple' set in
the Swagger documentation.

(closes issue ASTERISK-22704)

Merged revisions 402367 from

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

9 years agores_ari_channels: Add ring operation, dtmf operation, hangup reasons, and tweak early...
Joshua Colp [Fri, 1 Nov 2013 14:38:21 +0000 (14:38 +0000)]
res_ari_channels: Add ring operation, dtmf operation, hangup reasons, and tweak early media.

The ring operation sends ringing to the specified channel it is invoked on.
The dtmf operation can be used to send DTMF digits to the specified channel
of a specific length with a wait time in between. Finally hangup reasons
allow you to specify why a channel is being hung up (busy, congestion).

Early media behavior has also been tweaked slightly. When playing media to a channel
it will no longer automatically answer. If it has not been answered a progress indication
is sent instead.

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


Merged revisions 402358 from

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

9 years agochan_sip: Fix RTCP port for SRFLX ICE candidates
Kinsey Moore [Fri, 1 Nov 2013 12:40:40 +0000 (12:40 +0000)]
chan_sip: Fix RTCP port for SRFLX ICE candidates

This corrects one-way audio between Asterisk and Chrome/jssip as a
result of Asterisk inserting the incorrect RTCP port into RTCP SRFLX
ICE candidates. This also exposes an ICE component enumeration to
extract further details from candidates.

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

Merged revisions 402345 from

Merged revisions 402348 from

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

9 years agores_ari_channels: Fix a deadlock when originating multiple channels close to eachother.
Joshua Colp [Fri, 1 Nov 2013 12:33:09 +0000 (12:33 +0000)]
res_ari_channels: Fix a deadlock when originating multiple channels close to eachother.

If a Stasis application is specified an implicit subscription is done on the originated
channel. This was previously done with the channel lock held which is dangerous as the
underlying code locks the container and iterates items. This change releases the lock
on the originated channel before subscribing occurs.

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


Merged revisions 402346 from

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

9 years agores_stasis: Ensure the channel is always departed from the bridge when it leaves.
Joshua Colp [Fri, 1 Nov 2013 12:13:09 +0000 (12:13 +0000)]
res_stasis: Ensure the channel is always departed from the bridge when it leaves.

This change adds a command to the command queue to explicitly depart the channel
from the bridge when it is told it has left. If the channel has already been departed
or has entered a different bridge this command will become a no-op.

(closes issue ASTERISK-22703)
Reported by: John Bigelow

(closes issue ASTERISK-22634)
Reported by: Kevin Harwell


Merged revisions 402336 from

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

9 years agoUpdate the conversion script from sip.conf to pjsip.conf
Mark Michelson [Thu, 31 Oct 2013 22:09:47 +0000 (22:09 +0000)]
Update the conversion script from sip.conf to pjsip.conf

(closes issue ASTERISK-22374)
Reported by Matt Jordan


Merged revisions 402327 from

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

9 years agocore/loader: Don't call dlclose in a while loop
Matthew Jordan [Thu, 31 Oct 2013 16:06:14 +0000 (16:06 +0000)]
core/loader: Don't call dlclose in a while loop

For awhile now, we've noticed continuous integration builds hanging on CentOS 6
64-bit build agents. After resolving a number of problems with symbols, strange
locks, and other shenanigans, the problem has persisted. In all cases, gdb
shows the Asterisk process stuck in loader.c on one of the infinite while loops
that calls dlclose repeatedly until success.

The documentation of dlclose states that it returns 0 on success; any other
value on error. It does not state that repeatedly calling it will eventually
clear those errors. Most likely, the repeated calls to dlclose was to force a
close by exhausting the references on the library; however, that will never
succeed if:
(a) There is some fundamental error at work in the loaded library that
    precludes unloading it
(b) Some other loaded module is referencing a symbol in the currently loaded

This results in Asterisk sitting forever.

Since we have matching pairs of dlopen/dlclose, this patch opts to only call
dlclose once, and log out as an ERROR if dlclose fails to return success. If
nothing else, this might help to determine why on the CentOS 6 64-bit build agent
things are not closing successfully.


Merged revisions 402287 from

Merged revisions 402288 from

Merged revisions 402289 from

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

9 years agomedix_index: Display errors when library calls fail
Matthew Jordan [Thu, 31 Oct 2013 15:52:32 +0000 (15:52 +0000)]
medix_index: Display errors when library calls fail

Based on feedback from ipengineer in #asterisk, when the media indexer
cannot access a sound file on the system (or otherwise fails) Asterisk
displays a "Cannot frob file" error but fails to tell you why. This is
especially problematic as the media_indexer failing will rpevent Asterisk
from starting, as it is in the core.

We now display the errno error messages so folks can figure out what they've
done wrong.

Merged revisions 402285 from

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

9 years agostasis: add functions embarrassingly missing from r400522
David M. Lee [Thu, 31 Oct 2013 14:45:03 +0000 (14:45 +0000)]
stasis: add functions embarrassingly missing from r400522

I neglected to implement two of the endpoint subscription functions when
I did the work. Normally, you'll only hit that when you unsubscribe from
a specific endpoint.

Merged revisions 402276 from

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

9 years agopjsip_messaging: Added debug for in dialog messaging
Kevin Harwell [Wed, 30 Oct 2013 17:54:26 +0000 (17:54 +0000)]
pjsip_messaging: Added debug for in dialog messaging

(issue ASTERISK-22777)
Reported by: Matt Jordan

Merged revisions 402265 from

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

9 years agoUpdates for 1.4.25 core sounds and 1.4.14 extra sounds, plus new en_GB language set
Rusty Newton [Tue, 29 Oct 2013 23:43:58 +0000 (23:43 +0000)]
Updates for 1.4.25 core sounds and 1.4.14 extra sounds, plus new en_GB language set

The new sound packages relate to issues: ASTERISK-22544, ASTERISK-22411, ASTERISK-21413, ASTERISK-20782
Modified sounds/Makefile for the new sound versions and to account for the new en_GB language set.

(issue ASTERISK-22659)
(closes issue ASTERISK-22659)
(closes issue ASTERISK-22411)
(closes issue ASTERISK-22544)

Merged revisions 402224 from

Merged revisions 402225 from

Merged revisions 402226 from

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

9 years agoRemove some spammy debug messages; improve clarity of others
Matthew Jordan [Tue, 29 Oct 2013 12:57:35 +0000 (12:57 +0000)]
Remove some spammy debug messages; improve clarity of others

Debug messages aren't free. Even when the debug level is sufficiently low such
that the messages are never evaluated, there is a cost to having to parse
Asterisk logs that contain debug messages that (a) fail to convey sufficient
information or (b) occur so frequently as to be next to meaningless. Based on
having to stare at lots of DEBUG messages, this patch makes the following

* channel.c: When copying variables from a parent channel to a child channel,
  specify the channels involved. Do not log anything for a variable that is not
  inherited; the fact that it doesn't have an _ or __ already signifies that it
  won't be inherited.
* pbx.c: Specify what function evaluation has occurred that created the result.
* translate.c: Bump up the translator path messages to 10. I've never once had
  to use these debug messages, and for each format that is registered (on
  startup) and unregistered (on shutdown) the entire f^2 matrix is logged out.
  For short tests in the Asterisk Test Suite, this should make finding the
  actual test much easier.
* xmldoc.c: The debug message that 'blah' is not found in the tree is expected.
  Often, description elements - which are not required - are not provided.
  This debug message adds no additional value, as it is not indicative of an
  error or helpful in debugging which element did not contain a 'blah' element
  as a child. If an element is supposed to contain a child element, then that
  XML tree should have failed validation in the first place.


Merged revisions 402150 from

Merged revisions 402151 from

Merged revisions 402154 from

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

9 years agoARI: Remove channels/{channelId}/dial
Kinsey Moore [Tue, 29 Oct 2013 12:51:57 +0000 (12:51 +0000)]
ARI: Remove channels/{channelId}/dial

This removes the /ari/channels/{channelId}/dial URI since it is
redundant, overly complex, is likely to become more externally complex
over time, and is too high-level compared with other ARI operations.
See the following for further information:

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

Merged revisions 402152 from

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

9 years agobridge_native_rtp: Ensure bridge is torn down
Kinsey Moore [Tue, 29 Oct 2013 12:30:21 +0000 (12:30 +0000)]
bridge_native_rtp: Ensure bridge is torn down

When a bridge transitions away from one tech to another, the tech going
away is provided a dummy bridge with no channels in it to tear down.
Currently this means that the teardown code exits prematurely and does
not tear anything down. This change tears down RTP bridging for the
channel provided in the leave bridge tech callback.

This also reverts the majority of r400403 since it is now redundant.

(closes issue ASTERISK-22628)
(closes issue ASTERISK-22676)
Reported by: John Bigelow
Reported by: Kevin Harwell
Tested by: John Bigelow
    native_rtp_fix.diff uploaded by Kinsey Moore (License 6273)

Merged revisions 402148 from

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

9 years agores_ari_playback: Add missing 404 error response for GET and DELETE.
Joshua Colp [Tue, 29 Oct 2013 11:15:59 +0000 (11:15 +0000)]
res_ari_playback: Add missing 404 error response for GET and DELETE.

(closes issue ASTERISK-22722)
Reported by: Richard Mudgett

Merged revisions 402139 from

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

9 years agoIgnore full docs
David M. Lee [Mon, 28 Oct 2013 22:10:16 +0000 (22:10 +0000)]
Ignore full docs

Merged revisions 402127 from

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

9 years agoPut back several merge revisions that were lost in r402054
David M. Lee [Mon, 28 Oct 2013 22:09:49 +0000 (22:09 +0000)]
Put back several merge revisions that were lost in r402054

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

9 years agoPut back several merge revisions that were lost in r401962
David M. Lee [Mon, 28 Oct 2013 22:05:37 +0000 (22:05 +0000)]
Put back several merge revisions that were lost in r401962

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

9 years agoFix UPGRADE.txt Due To Merging From Branch 11
Michael L. Young [Mon, 28 Oct 2013 15:08:00 +0000 (15:08 +0000)]
Fix UPGRADE.txt Due To Merging From Branch 11

When merging in the patch for ASTERISK-22728, the UPGRADE.txt file was changed
incorrectly.  That change should have gone into ASTERISK-11.txt.

This commit is to fix that.

Also, another comment in the UPGRADE-11.txt was missing and this commit adds
that as well.

Merged revisions 402115 from

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

9 years agochan_sip: Clarify 'Forcerport' Setting Displayed When Running "sip show peers"
Michael L. Young [Mon, 28 Oct 2013 14:59:16 +0000 (14:59 +0000)]
chan_sip: Clarify 'Forcerport' Setting Displayed When Running "sip show peers"

While looking at ASTERISK-22236, Walter Doekes pointed out that when running
"sip show peers", the setting being displayed can be confusing.  The display of
"N" used to mean NAT (i.e. yes).  The NAT setting has gone through many
different changes resulting in the display of different characters to try and
convey what the current setting is for 'Forcerport' (A for Auto and Forcerport
is currently on, a for Auto but Forcerport is off, Y for yes, and N for no).
During the initial code review to try and clarify these settings (especially
since "N" no longer meant what it used to mean in prior versions of Asterisk),
Mark Michelson suggested using the full space available to display the settings
which helped to make the settings very clear.  That was a great suggestion.

Therefore, this patch does the following:

* The column for 'Forcerport' now will show: Auto (Yes), Auto (No), Yes, or No.

* A column for the 'Comedia' setting has been added.  It too will display the
  setting in a non-cryptic way: Auto (Yes), Auto (No), Yes, or No.

* UPGRADE.txt has been updated to document this change.

(closes issue ASTERISK-22728)
Reported by: Walter Doekes
Tested by: Michael L. Young
                                     uploaded by Michael L. Young (license 5026)


Merged revisions 402111 from

Merged revisions 402112 from

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

9 years agoFilter out internal channels from dial message handling
Matthew Jordan [Sun, 27 Oct 2013 23:22:51 +0000 (23:22 +0000)]
Filter out internal channels from dial message handling

Surrogate channels would pop up from time to time in dial message handling.
This would cause a WARNING message to appear, indicating that the Surrogate
channel had no CDR. This patch filters out those channels that have the
internal implementation flag set, such that the WARNING message isn't

Merged revisions 402090 from

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

9 years agoPrevent CDR backends from unregistering while billing data is in flight
Matthew Jordan [Sun, 27 Oct 2013 20:04:17 +0000 (20:04 +0000)]
Prevent CDR backends from unregistering while billing data is in flight

This patch makes it so that CDR backends cannot be unregistered while active
CDR records exist. This helps to prevent billing data from being lost during
restarts and shutdowns.


Merged revisions 402081 from

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

9 years agoUpdate Alembic database scripts for external scripting and PostgreSQL, Oracle
Matthew Jordan [Sun, 27 Oct 2013 02:39:34 +0000 (02:39 +0000)]
Update Alembic database scripts for external scripting and PostgreSQL, Oracle

This patch does the following:
1) The env scripts have been updated to be tolerant of a NULL configuration
   file. This occurs when configuration is provided by an external script,
   such that the actual config.ini file is not used.
2) Enum types have all been given names. This is needed for PostgreSQL script
3) The identifier meetme_confno_starttime_endtime is greater than 30
   characters, and hence invalid for Oracle databases. This has been truncated
   down to meetme_confno_start_end.

Merged revisions 400383 from

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

9 years agochan_pjsip: Fix a crash when direct media is enabled and an ACK is received after...
Joshua Colp [Sat, 26 Oct 2013 12:56:08 +0000 (12:56 +0000)]
chan_pjsip: Fix a crash when direct media is enabled and an ACK is received after the channel is hung up.

(closes issue ASTERISK-22731)
Reported by: Kinsey Moore

Merged revisions 402064 from

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

9 years agores_stasis.c: Made use the ao2_container callback templates.
Richard Mudgett [Sat, 26 Oct 2013 00:36:31 +0000 (00:36 +0000)]
res_stasis.c: Made use the ao2_container callback templates.

* Made res_stasis.c use the OBJ_SEARCH_XXX defines.

Merged revisions 402055 from

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

9 years agortp_engine: fix rtp payloads copy and improve argument names
Scott Griepentrog [Sat, 26 Oct 2013 00:27:02 +0000 (00:27 +0000)]
rtp_engine: fix rtp payloads copy and improve argument names

In function ast_rtp_instance_early _bridge_make_compatible the
use of instance 0/1 as arguments doesn't clearly communicate a
direction that the copying of payloads from the source channel
to the destination channel will occur, making it more probable
to have the arguments to ast_rtp_codecs_payloads_copy() put in
the reverse order.  This patch renames the arguments with _dst
and _src suffixes and corrects the copy direction.

(closes issue ASTERISK-21464)
Reported by: Kevin Stewart

Merged revisions 402000 from
Test shows rtpmap:119 being copied per this change, but is not in sip invite

Merged revisions 402042 from

Merged revisions 402043 from

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

9 years agotaskprocessor: Made use pthread_equal() to compare thread ids.
Richard Mudgett [Fri, 25 Oct 2013 23:58:32 +0000 (23:58 +0000)]
taskprocessor: Made use pthread_equal() to compare thread ids.

* Removed another silly use of RAII_VAR().  RAII_VAR() and SCOPED_LOCK()
are not silver bullets that allow you to turn off your brain.

Merged revisions 402044 from

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

9 years agoYou'd think that new files would be free of whitespace issues. But you would be...
Richard Mudgett [Fri, 25 Oct 2013 22:03:04 +0000 (22:03 +0000)]
You'd think that new files would be free of whitespace issues.  But you would be wrong.

Merged revisions 402003 from

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

9 years agoARI: channel/bridge recording errors when invalid format specified
Jonathan Rose [Fri, 25 Oct 2013 22:01:43 +0000 (22:01 +0000)]
ARI: channel/bridge recording errors when invalid format specified

Asterisk will now issue 422 if recording is requested against channels
or bridges with an unknown format

(closes issue ASTERISK-22626)
Reported by: Joshua Colp

Merged revisions 402001 from

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

9 years agoARI recordings: Issue HTTP failures for recording requests with file conflicts
Jonathan Rose [Fri, 25 Oct 2013 21:28:32 +0000 (21:28 +0000)]
ARI recordings: Issue HTTP failures for recording requests with file conflicts

If a file already exists in the recordings directory with the same name as what
we would record, issue a 422 instead of relying on the internal failure and
issuing success.

(closes issue ASTERISK-22623)
Reported by: Joshua Colp

Merged revisions 401973 from

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

9 years agopbx.c: fix confused match caller id that deleted exten still in hash
Scott Griepentrog [Fri, 25 Oct 2013 20:51:13 +0000 (20:51 +0000)]
pbx.c: fix confused match caller id that deleted exten still in hash

This fixes a bug where a zero length callerid match adjacent to a no
match callerid extension entry would be deleted together, which then
resulted in hashtable references to free'd memory.  A third state of
the matchcid value has been added to indicate match to any extension
which allows enforcing comparison of matchcid on/off without errors.

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

Merged revisions 401959 from

Merged revisions 401960 from

Merged revisions 401961 from

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

9 years agoPJSIP: Add log messages when requests are received for non-existent endpoints
Jonathan Rose [Fri, 25 Oct 2013 17:41:38 +0000 (17:41 +0000)]
PJSIP: Add log messages when requests are received for non-existent endpoints

(closes issue ASTERISK-22552)
Reported by: Rusty Newton

Merged revisions 401938 from

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

9 years agoPut clicompat-r2.patch back in
Jonathan Rose [Fri, 25 Oct 2013 17:32:17 +0000 (17:32 +0000)]
Put clicompat-r2.patch back in

We've figured out how to resolve the problems this was causing in 12/trunk,
so this can go back in now.

(issue ASTERISK-22467)
Reported by: Corey Farrell
    clicompat-r2.patch uploaded by coreyfarrell (license 5909)

Merged revisions 401914 from

Merged revisions 401935 from

Merged revisions 401936 from

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

9 years agorevert clicompat-r2.patch from r401704
Jonathan Rose [Fri, 25 Oct 2013 16:59:33 +0000 (16:59 +0000)]
revert clicompat-r2.patch from r401704

Patch caused the following build errors against testsuite

(issue ASTERISK-22467)
Reported by: Corey Farrell

Merged revisions 401895 from

Merged revisions 401896 from

Merged revisions 401897 from

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

9 years agochan_sip: Allow a sip peer to accept both AVP and AVPF calls
Kevin Harwell [Fri, 25 Oct 2013 16:09:05 +0000 (16:09 +0000)]
chan_sip: Allow a sip peer to accept both AVP and AVPF calls

Adapts the behaviour of avpf to only impact the format of outgoing calls. For
inbound calls, both AVP and AVPF calls will be accepted regardless of the value
of avpf in the configuration.

(closes issue ASTERISK-22005)
Reported by: Torrey Searle
     optional_avpf_trunk.patch uploaded by tsearle (license 5334)

Merged revisions 401884 from

Merged revisions 401885 from

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

9 years agoBlocked revisions 401391
David M. Lee [Fri, 25 Oct 2013 13:50:57 +0000 (13:50 +0000)]
Blocked revisions 401391

Blocked revisions 401379

chan_dahdi: Fix unable to get index warning when transferring an analog call.

Transferring an analog call using flashhooks generated an unable to get
index WARNING message when the transfer is completed.

* Removed unnecessary analog subchannel shell games when transferring a
call using flashhooks.

Thanks to Tzafrir Cohen for mentioning this in a comment on issue

Merged revisions 401378 from

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

9 years agotest_json: Fix deprecation warnings
David M. Lee [Fri, 25 Oct 2013 13:49:20 +0000 (13:49 +0000)]
test_json: Fix deprecation warnings

After a series of upgrades over recent weeks, I've discovered that
test_json.c won't compile in dev mode any more for me.

One of gcc-4.8.2, OS X Mavericks or Xcode 5 has decided to deprecate
tempnam. Which, in general, is a good thing. But for test code that just
needs a temporary file, it's just annoying.

This patch replaces usage of tempname with mkstemp, avoiding the
deprecation warning. It also removes the temporary files when the test
is complete, which apparently we weren't doing before (oops).


Merged revisions 401872 from

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

9 years agoLogging: Logging types ignored after specifying a verbose level
Kevin Harwell [Thu, 24 Oct 2013 21:06:14 +0000 (21:06 +0000)]
Logging: Logging types ignored after specifying a verbose level

If one specified a verbose level within a logging facility in
logger.conf then any component after it was ignored.  Fixed so
all values are correctly read.

(closes issue ASTERISK-22456)
Reported by: Kevin Harwell

Merged revisions 401833 from

Merged revisions 401835 from

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

9 years agoThe Swagger 1.2 specification for type extension ended up being
David M. Lee [Thu, 24 Oct 2013 20:48:17 +0000 (20:48 +0000)]
The Swagger 1.2 specification for type extension ended up being
slightly different than my proposal. Instead of putting an 'extends'
field on the subtype, the base type has a 'subTypes' field, which is a
list of the subTypes. Given that its a messaging model and not an
object model, kinda makes sense.

This patch changes the events.json api-doc, and the python translators
to take the new format into account.

Other changes that are in Swagger 1.2 were not adopted, since the spec
is still in flux, and could change before it's finalized.

A summary of changes to the Swagger-1.2 spec can be found at

(closes issue ASTERISK-22440)

Merged revisions 401701 from

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

9 years agoutils: Fix memory leaks and missed unregistration of CLI commands on shutdown
Jonathan Rose [Thu, 24 Oct 2013 20:34:53 +0000 (20:34 +0000)]
utils: Fix memory leaks and missed unregistration of CLI commands  on shutdown

Final set of patches in a series of memory leak/cleanup patches by Corey Farrell

(closes issue ASTERISK-22467)
Reported by: Corey Farrell
    main-utils-1.8.patch uploaded by coreyfarrell (license 5909)
    main-utils-11.patch uploaded by coreyfarrell (license 5909)
    main-utils-12up.patch uploaded by coreyfarrell (license 5909)

Merged revisions 401829 from

Merged revisions 401830 from

Merged revisions 401831 from

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

9 years agotest_linkedlists: Fix memory leak
Jonathan Rose [Thu, 24 Oct 2013 19:57:04 +0000 (19:57 +0000)]
test_linkedlists: Fix memory leak

(issue ASTERISK-22467)
Reported by: Corey Farrell
    test_linkedlists-1.8.patch uploaded by coreyfarrell (license 5909)
    test_linkedlists-11up.patch uploaded by coreyfarrell (license 5909)

Merged revisions 401790 from

Merged revisions 401791 from

Merged revisions 401792 from

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

9 years agojitterbuf: Fix memory leak on jitter buffer reset
Jonathan Rose [Thu, 24 Oct 2013 19:42:21 +0000 (19:42 +0000)]
jitterbuf: Fix memory leak on jitter buffer reset

(issue ASTERISK-22467)
Reported by: Corey Farrell

Merged revisions 401786 from

Merged revisions 401787 from

Merged revisions 401788 from

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

9 years agoastobj2: Unregister debug CLI commands at exit
Jonathan Rose [Thu, 24 Oct 2013 19:31:23 +0000 (19:31 +0000)]
astobj2: Unregister debug CLI commands at exit

(issue ASTERISK-22467)
Reported by: Corey Farrell
    astobj2-clean-debug-cli-1.8-11.patch uploaded by coreyfarrell (license 5909)
    astobj2-clean-debug-cli-12up.patch uploaded by coreyfarrell (license 5909)

Merged revisions 401781 from

Merged revisions 401783 from

Merged revisions 401784 from

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

9 years agoapp_voicemail: Memory Leaks against tests
Jonathan Rose [Thu, 24 Oct 2013 18:46:56 +0000 (18:46 +0000)]
app_voicemail: Memory Leaks against tests

(issue ASTERISK-22467)
Reported by: Corey Farrell
    app_voicemail-1.8.patch uploaded by coreyfarrell (license 5909)
    app_voicemail-11up.patch uploaded by coreyfarrell (license 5909)

Merged revisions 401743 from

Merged revisions 401744 from

Merged revisions 401745 from

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

9 years agomemory leaks: Memory leak cleanup patch by Corey Farrell (second set)
Jonathan Rose [Thu, 24 Oct 2013 17:00:27 +0000 (17:00 +0000)]
memory leaks: Memory leak cleanup patch by Corey Farrell (second set)

Also covers ast_app_parse_timelen-fail-zero-length.patch, but the patch was
replaced with one of my own.

(issue ASTERISK-22467)
Reported by: Corey Farrell
    chan_dahdi-cleanup_push.patch uploaded by coreyfarrell (license 5909)
    clicompat-r2.patch uploaded by coreyfarrell (license 5909)
    codecs-ilbc-doCPLC.patch uploaded by coreyfarrell (license 5909)
    data-cleanup-test-registration.patch uploaded by coreyfarrell (license 5909)
    main-asterisk-kill-listener.patch uploaded by coreyfarrell (license 5909)

Merged revisions 401704 from

Merged revisions 401705 from

Merged revisions 401706 from

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

9 years agomemory leaks: Memory leak cleanup patch by Corey Farrell (first set)
Jonathan Rose [Wed, 23 Oct 2013 20:10:30 +0000 (20:10 +0000)]
memory leaks: Memory leak cleanup patch by Corey Farrell (first set)

(issue ASTERSIK-22467)
Reported by: Corey Farrell
    chan_sip-parse_contact_header_test-free-contacts.patch uploaded by coreyfarrell (license 5909)
    cli-filename-completion-leak.patch uploaded by coreyfarrell (license 5909)
    func_math.patch uploaded by corefarrell (license 5909)
    main-test-cleanup.patch uploaded by coreyfarrell (license 5909)
    test_dlinklists.patch uploaded by coreyfarrell (license 5909)

Merged revisions 401660 from

Merged revisions 401661 from

Merged revisions 401662 from

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

9 years agores_rtp_asterisk: Address jittery DTMF events in RTP streams
Jonathan Rose [Wed, 23 Oct 2013 17:56:44 +0000 (17:56 +0000)]
res_rtp_asterisk: Address jittery DTMF events in RTP streams

(closes issue ASTERISK-21170)
Reported by: NITESH BANSAL
    dtmf-timestamp.patch uploaded by NITESH BANSAL (license 6418)

Merged revisions 401619 from

Merged revisions 401620 from

Merged revisions 401621 from

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

9 years agocdr_adaptive_odbc: Also apply a filter when the CDR value is empty.
Richard Mudgett [Wed, 23 Oct 2013 16:52:11 +0000 (16:52 +0000)]
cdr_adaptive_odbc: Also apply a filter when the CDR value is empty.

Extra CDR records are written if a filtered CDR value is empty because the
filter is not checked.

(closes issue ASTERISK-22272)
Reported by: Jordi Llull Chavarria

Merged revisions 401577 from

Merged revisions 401579 from

Merged revisions 401581 from

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

9 years agoAdd a test suite event to indicate when the atxfer 3-way feature is detected
John Bigelow [Wed, 23 Oct 2013 16:48:39 +0000 (16:48 +0000)]
Add a test suite event to indicate when the atxfer 3-way feature is detected

This adds a test suite event that indicates to tests when the attended transfer
three-way call feature is detected.


Merged revisions 401578 from

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

9 years agochan_mgcp: Properly handle malformed media lines
Kinsey Moore [Wed, 23 Oct 2013 15:23:58 +0000 (15:23 +0000)]
chan_mgcp: Properly handle malformed media lines

This corrects a situation in which a media line was not parsed properly
and resulted in a crash.

(closes issue ASTERISK-21190)
Reported by: adomjan
    chan_mgcp.c-sscnaf_fix uploaded by adomjan (License 5448)

Merged revisions 401537 from

Merged revisions 401538 from

Merged revisions 401539 from

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

9 years agochan_sip: Fix an issue where an incompatible audio format may be added to SDP.
Joshua Colp [Wed, 23 Oct 2013 11:16:44 +0000 (11:16 +0000)]
chan_sip: Fix an issue where an incompatible audio format may be added to SDP.

If preferred codecs included any non-audio format the code would
mistakenly add the audio format, even if it was not a joint capability
with the remote side.

(closes issue ASTERISK-21131)
Reported by: nbougues
patch_unsupported_codec_1.8.patch uploaded by nbougues (license 6470)

Merged revisions 401497 from

Merged revisions 401498 from

Merged revisions 401499 from

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