]> git.ipfire.org Git - thirdparty/asterisk.git/log
thirdparty/asterisk.git
10 years agoUpdate version number in features.conf.sample 29/2029/2
Daniel Journo [Sat, 16 Jan 2016 19:18:19 +0000 (19:18 +0000)] 
Update version number in features.conf.sample

Update the version number in the comments from Asterisk 12 to Asterisk 12+

Change-Id: Ie692ac8cda3c993c3bf10f27f51a1cca3317ec7b

10 years agoMerge "bridge_basic: don't play an attended transfer fail sound after target hangs...
Joshua Colp [Sat, 16 Jan 2016 14:29:51 +0000 (08:29 -0600)] 
Merge "bridge_basic: don't play an attended transfer fail sound after target hangs up" into 13

10 years agoMerge "bridge_basic: don't cache xferfailsound during an attended transfer" into 13
Joshua Colp [Sat, 16 Jan 2016 14:29:23 +0000 (08:29 -0600)] 
Merge "bridge_basic: don't cache xferfailsound during an attended transfer" into 13

10 years agoMerge "taskprocessor.c: Simplify ast_taskprocessor_get() return code." into 13
Joshua Colp [Sat, 16 Jan 2016 14:28:10 +0000 (08:28 -0600)] 
Merge "taskprocessor.c: Simplify ast_taskprocessor_get() return code." into 13

10 years agobridge_basic: don't cache xferfailsound during an attended transfer 14/2014/3
Kevin Harwell [Thu, 14 Jan 2016 20:42:57 +0000 (14:42 -0600)] 
bridge_basic: don't cache xferfailsound during an attended transfer

The xferfailsound was read from the channel at the beginning of the transfer,
and that value is "cached" for the duration of the transfer. Therefore, changing
the xferfailsound on the channel using the FEATURE() dialplan function does
nothing once the transfer is under way.

This makes it so the transfer code instead gets the xferfailsound configuration
options from the channel when it is actually going to be used.

This patch also fixes a potential memory leak of the props object as well as
making sure the condition variable gets initialized before being destroyed.

ASTERISK-25696 #close

Change-Id: Ic726b0f54ef588bd9c9c67f4b0e4d787934f85e4

10 years agotaskprocessor.c: Simplify ast_taskprocessor_get() return code. 24/2024/1
Richard Mudgett [Fri, 10 Jul 2015 15:37:35 +0000 (10:37 -0500)] 
taskprocessor.c: Simplify ast_taskprocessor_get() return code.

Change-Id: Id5bd18ef1f60ef8be453e677e98478298358a9d1

10 years agoastmm.c: Add more stats to CLI "memory show" commands. 19/2019/1
Richard Mudgett [Thu, 14 Jan 2016 00:20:57 +0000 (18:20 -0600)] 
astmm.c: Add more stats to CLI "memory show" commands.

* Add freed regions totals to allocations and summary.

* Add totals for all allocations and not just the selected allocations.

Change-Id: I61d5a5112617b0733097f2545a3006a344b4032a

10 years agobridge_basic: don't play an attended transfer fail sound after target hangs up 17/2017/1
Kevin Harwell [Thu, 14 Jan 2016 22:00:50 +0000 (16:00 -0600)] 
bridge_basic: don't play an attended transfer fail sound after target hangs up

If the attended transfer destination answers (picks call up or goes to
voicemail) and then hangs up on the transferer then transferer hears the
fail sound.

This patch makes it so the fail sound is not played when the transfer
destination/target hangs up after answering.

ASTERISK-25697 #close

Change-Id: I97f142fe4fc2805d1a24b7c16143069dc03d9ded

10 years agoMerge "pjsip: Add option global/regcontext" into 13
Joshua Colp [Thu, 14 Jan 2016 12:32:04 +0000 (06:32 -0600)] 
Merge "pjsip:  Add option global/regcontext" into 13

10 years agoMerge "app: Queue hangup if channel is hung up during sub or macro execution." into 13
Mark Michelson [Wed, 13 Jan 2016 21:10:42 +0000 (15:10 -0600)] 
Merge "app: Queue hangup if channel is hung up during sub or macro execution." into 13

10 years agoapp: Queue hangup if channel is hung up during sub or macro execution. 96/1996/3
Joshua Colp [Tue, 12 Jan 2016 17:14:29 +0000 (13:14 -0400)] 
app: Queue hangup if channel is hung up during sub or macro execution.

This issue was exposed when executing a connected line subroutine.
When connected or redirected subroutines or macros are executed it is
expected that the underlying applications and logic invoked are fast
and do not consume frames. In practice this constraint is not enforced
and if not adhered to will cause channels to continue when they shouldn't.
This is because each caller of the connected or redirected logic does not
check whether the channel has been hung up on return. As a result the
the hung up channel continues.

This change makes it so when the API to execute a subroutine or
macro is invoked the channel is checked to determine if it has hung up.
If it has then a hangup is queued again so the caller will see it
and stop.

ASTERISK-25690 #close

Change-Id: I1f9a8ceb1487df0389f0d346ce0f6dcbcaf476ea

10 years agoMerge "res_pjsip_log_forwarder.c: Add CLI "pjsip show buildopts"." into 13
Mark Michelson [Wed, 13 Jan 2016 15:48:54 +0000 (09:48 -0600)] 
Merge "res_pjsip_log_forwarder.c: Add CLI "pjsip show buildopts"." into 13

10 years agores_musiconhold: Prevent multiple simultaneous reloads. 01/2001/2
Sean Bright [Wed, 13 Jan 2016 13:20:24 +0000 (08:20 -0500)] 
res_musiconhold: Prevent multiple simultaneous reloads.

There are two ways in which the reload() function in res_musiconhold can be
called from the CLI:

  * module reload res_musiconhold.so
  * moh reload

In the former case, the module loader holds a lock that prevents multiple
concurrent calls, but in the latter there is no such protection.

This patch changes the 'moh reload' CLI command to invoke the module loader
directly, rather than call reload() explicitly.

ASTERISK-25687 #close

Change-Id: I408968b4c8932864411b7f9ad88cfdc7b9ba711c

10 years agores_pjsip_log_forwarder.c: Add CLI "pjsip show buildopts". 94/1994/4
Richard Mudgett [Tue, 12 Jan 2016 20:25:09 +0000 (14:25 -0600)] 
res_pjsip_log_forwarder.c: Add CLI "pjsip show buildopts".

PJPROJECT has a function available to dump the compile time
options used when building the library.

* Add CLI "pjsip show buildopts" command.

* Update contrib/scripts/autosupport to get pjproject information.

Change-Id: Id93a6a916d765b2a2e5a1aeb54caaf83206be748

10 years agoMerge "pjsip_sdp_rtp: Add option endpoint/bind_rtp_to_media_address" into 13
Joshua Colp [Wed, 13 Jan 2016 01:45:33 +0000 (19:45 -0600)] 
Merge "pjsip_sdp_rtp:  Add option endpoint/bind_rtp_to_media_address" into 13

10 years agoMerge "res_pjsip: Create human friendly serializer names." into 13
Joshua Colp [Tue, 12 Jan 2016 19:59:42 +0000 (13:59 -0600)] 
Merge "res_pjsip: Create human friendly serializer names." into 13

10 years agoMerge "res_sorcery_realtime: Remove leading ^ requirement." into 13
Joshua Colp [Tue, 12 Jan 2016 19:59:32 +0000 (13:59 -0600)] 
Merge "res_sorcery_realtime: Remove leading ^ requirement." into 13

10 years agoMerge topic 'update_taskprocessor_commands' into 13
Joshua Colp [Tue, 12 Jan 2016 19:25:39 +0000 (13:25 -0600)] 
Merge topic 'update_taskprocessor_commands' into 13

* changes:
  Sorcery: Create human friendly serializer names.
  Stasis: Create human friendly taskprocessor/serializer names.
  taskprocessor.c: New API for human friendly taskprocessor names.
  taskprocessor.c: Sort CLI "core show taskprocessors" output.

10 years agoMerge "taskprocessor.c: Fix CLI "core show taskprocessors" output format." into 13
Joshua Colp [Tue, 12 Jan 2016 19:18:51 +0000 (13:18 -0600)] 
Merge "taskprocessor.c: Fix CLI "core show taskprocessors" output format." into 13

10 years agoMerge topic 'update_taskprocessor_commands' into 13
Joshua Colp [Tue, 12 Jan 2016 19:18:28 +0000 (13:18 -0600)] 
Merge topic 'update_taskprocessor_commands' into 13

* changes:
  taskprocessor.c: Fix CLI "core show taskprocessors" unref.
  taskprocessor.c: Add CLI "core ping taskprocessor" missing unlock.

10 years agoMerge "ccss.c: Replace space in taskprocessor name." into 13
Joshua Colp [Tue, 12 Jan 2016 19:17:47 +0000 (13:17 -0600)] 
Merge "ccss.c: Replace space in taskprocessor name." into 13

10 years agores_sorcery_realtime: Remove leading ^ requirement. 91/1991/2
Mark Michelson [Tue, 12 Jan 2016 16:36:15 +0000 (10:36 -0600)] 
res_sorcery_realtime: Remove leading ^ requirement.

res_sorcery_realtime's search-by-regex callback performed a check to
ensure that the passed-in regex began with a caret (^). If it did not,
then no results would be returned.

This callback only started to become used when "like" support was added
to PJSIP CLI commands. The CLI command for listing objects would pass an
empty regex ("") to the sorcery backend if no "like" statement was
present. For most sorcery backends, this resulted in returning all
objects. However, for realtime, this resulted in returning no objects.

This commit seeks to fix the regression by removing the requirement from
res_sorcery_realtime for the passed-in-regex to begin with a caret.

ASTERISK-25689 #close
Reported by Marcelo Terres

Change-Id: I22b4dc5d7f3f11bb29ac2e42ef94682e9bab3b20

10 years agoMerge "app_queue: Add member flag "in_call" to prevent reading wrong lastcall time...
Joshua Colp [Tue, 12 Jan 2016 12:05:24 +0000 (06:05 -0600)] 
Merge "app_queue: Add member flag "in_call" to prevent reading wrong lastcall time" into 13

10 years agopjsip_sdp_rtp: Add option endpoint/bind_rtp_to_media_address 28/1928/5
George Joseph [Thu, 7 Jan 2016 17:57:01 +0000 (10:57 -0700)] 
pjsip_sdp_rtp:  Add option endpoint/bind_rtp_to_media_address

On a system with multiple ip addresses in the same subnet, if a
transport is bound to a specific ip address and endpoint/media_address
 is set, the SIP/SDP will have the correct address in all fields but
the rtp stream MAY still originate from one of the other ip addresses,
most probably the "primary" ip address.  This happens because
 res_pjsip_sdp_rtp/create_rtp always calls ast_instance_new with
the "all" ip address (0.0.0.0 or ::).

The new option causes res_pjsip_sdp_rtp/create_rtp to call
ast_rtp_instance_new with the endpoint's media_address (if specified)
instead of the "all" address.  This causes the packets to originate from
the specified address.

ASTERISK-25632
ASTERISK-25637
Reported-by: Olivier Krief
Reported-by: Dan Journo
Change-Id: I3dfaa079e54ba7fb7c4fd1f5f7bd9509bbf8bd88

10 years agoMerge "Revert "pjsip_location: Delete contact_status object when contact is deleted...
Mark Michelson [Mon, 11 Jan 2016 23:43:43 +0000 (17:43 -0600)] 
Merge "Revert "pjsip_location: Delete contact_status object when contact is deleted"" into 13

10 years agoMerge "pbx: Deadlock between contexts container and context_merge locks" into 13
Joshua Colp [Mon, 11 Jan 2016 23:37:12 +0000 (17:37 -0600)] 
Merge "pbx: Deadlock between contexts container and context_merge locks" into 13

10 years agoMerge "pbx_dundi: Run cleanup on failed load." into 13
Joshua Colp [Mon, 11 Jan 2016 22:54:49 +0000 (16:54 -0600)] 
Merge "pbx_dundi: Run cleanup on failed load." into 13

10 years agopjsip: Add option global/regcontext 84/1984/6
Daniel Journo [Sun, 10 Jan 2016 22:22:12 +0000 (22:22 +0000)] 
pjsip:  Add option global/regcontext

Added new global option (regcontext) to pjsip. When set, Asterisk will
dynamically create and destroy a NoOp priority 1 extension
for a given endpoint who registers or unregisters with us.

ASTERISK-25670 #close
Reported-by: Daniel Journo
Change-Id: Ib1530c5b45340625805c057f8ff1fb240a43ea62

10 years agoMerge "res_crypto: Perform cleanup at shutdown." into 13
Joshua Colp [Mon, 11 Jan 2016 22:35:14 +0000 (16:35 -0600)] 
Merge "res_crypto: Perform cleanup at shutdown." into 13

10 years agoMerge "res_calendar: Cleanup scheduler context at unload." into 13
Joshua Colp [Mon, 11 Jan 2016 20:35:40 +0000 (14:35 -0600)] 
Merge "res_calendar: Cleanup scheduler context at unload." into 13

10 years agoMerge "manager: Cleanup manager_channelvars during shutdown." into 13
Joshua Colp [Mon, 11 Jan 2016 20:35:20 +0000 (14:35 -0600)] 
Merge "manager: Cleanup manager_channelvars during shutdown." into 13

10 years agoMerge "devicestate: Cleanup engine thread during graceful shutdown." into 13
Joshua Colp [Mon, 11 Jan 2016 20:35:01 +0000 (14:35 -0600)] 
Merge "devicestate: Cleanup engine thread during graceful shutdown." into 13

10 years agopbx: Deadlock between contexts container and context_merge locks 61/1961/2
Kevin Harwell [Fri, 8 Jan 2016 21:22:05 +0000 (15:22 -0600)] 
pbx: Deadlock between contexts container and context_merge locks

Recent changes (ASTERISK-25394 commit 2bd27d12223fe33b58c453965ed5c6ed3af7c4f5)
introduced the possibility of a deadlock. Due to the mentioned modifications
ast_change_hints now needs to keep both merge/delete and state callbacks from
occurring while it executes. Unfortunately, sometimes ast_change_hints can be
called with the contexts container locked. When this happens it's possible for
another thread to grab the context_merge_lock before the thread calling into
ast_change_hints does and then try to obtain the contexts container lock. This
of course causes a deadlock between the two threads. The thread calling into
ast_change_hints waits for the other thread to release context_merge_lock and
the other thread is waiting on that one to release the contexts container lock.

Unfortunately, there is not a great way to fix this problem. When hints change,
the subsequent state callbacks cannot run at the same time as a merge/delete,
nor when the usual state callbacks do. This patch alleviates the problem by
having those particular callbacks (the ones run after a hint change) occur in a
serialized task. By moving the context_merge_lock to a task it can now safely be
attempted or held without a deadlock occurring.

ASTERISK-25640 #close
Reported by: Krzysztof Trempala

Change-Id: If2210ea241afd1585dc2594c16faff84579bf302

10 years agodevicestate: Cleanup engine thread during graceful shutdown. 86/1986/1
Corey Farrell [Sun, 10 Jan 2016 23:08:16 +0000 (18:08 -0500)] 
devicestate: Cleanup engine thread during graceful shutdown.

ASTERISK-25681 #close

Change-Id: I64337c70f0ebd8c77f70792042684607c950c8f1

10 years agomanager: Cleanup manager_channelvars during shutdown. 82/1982/1
Corey Farrell [Sun, 10 Jan 2016 19:51:00 +0000 (14:51 -0500)] 
manager: Cleanup manager_channelvars during shutdown.

ASTERISK-25680 #close

Change-Id: I3251d781cbc3f48a6a7e1b969ac4983f552b2446

10 years agores_calendar: Cleanup scheduler context at unload. 79/1979/1
Corey Farrell [Sun, 10 Jan 2016 19:27:57 +0000 (14:27 -0500)] 
res_calendar: Cleanup scheduler context at unload.

ASTERISK-25679 #close

Change-Id: I839159bf6882cccc1b23494c7aa2bc2a2624613f

10 years agores_rtp_asterisk: Revert DTLS negotiation changes. 75/1975/1
Joshua Colp [Fri, 8 Jan 2016 17:49:02 +0000 (13:49 -0400)] 
res_rtp_asterisk: Revert DTLS negotiation changes.

Due to locking issues within pjnath these changes are being
reverted until pjnath can be changed.

ASTERISK-25645

Revert "res_rtp_asterisk.c: Fix DTLS negotiation delays."

This reverts commit 24ae124e4f7310cfa64c187b944b2ffc060da28d.

Change-Id: I2986cfb2c43dc14455c1bcaf92c3804f9da49705

Revert "res_rtp_asterisk: Resolve further timing issues with DTLS negotiation"

This reverts commit 965a0eee46d24321f74c244e23c5a5f45e67e12b.

Change-Id: Ie68fafde27dad4b03cb7a1e27ce2a8502c3f7bbe

10 years agoRevert "pjsip_location: Delete contact_status object when contact is deleted" 73/1973/1
George Joseph [Sat, 9 Jan 2016 23:57:45 +0000 (16:57 -0700)] 
Revert "pjsip_location: Delete contact_status object when contact is deleted"

This reverts commit 0a9941de9d24093b5ff44096d1d7406f29d11e45.

Matt,

This patch causes another problem and should not have been needed.
Before this patch, persistent_endpoint_contact_deleted_observer WAS
deleting the contact_status when ast_sip_location_delete_contact was
called.  By deleting it yourself in ast_sip_location_delete_contact
it was gone before the observer could run and the observer therefore
was throwing an error and not sending stasis/AMI/statsd messages.

So, I don't think this was the cause of your original issue.  I also
had verified the contact AMI and statsd lifecycle and it was working.
I'll double check now though.

ASTERISK-25675
Reported-by: Daniel Journo
Change-Id: Ib586a6b7f90acb641b0c410f659743ab90e84f1a

10 years agopbx_dundi: Run cleanup on failed load. 71/1971/1
Corey Farrell [Sun, 10 Jan 2016 00:04:34 +0000 (19:04 -0500)] 
pbx_dundi: Run cleanup on failed load.

During failed startup of pbx_dundi no cleanup was performed.  Add a call
to unload_module before returning AST_MODULE_LOAD_DECLINE.

ASTERISK-25677 #close

Change-Id: I8ffa226fda4365ee7068ac1f464473f1a4ebbb29

10 years agores_crypto: Perform cleanup at shutdown. 68/1968/1
Corey Farrell [Sat, 9 Jan 2016 19:28:31 +0000 (14:28 -0500)] 
res_crypto: Perform cleanup at shutdown.

This change causes res_crypto to unregister CLI at shutdown while still
preventing the module from being unloaded.

ASTERISK-25673 #close

Change-Id: Ie5d57338dc2752abfc0dd05d0eec86413f2304fc

10 years agoMerge "include/asterisk/time.h: Renamed global declaration:tv" into 13
Joshua Colp [Sat, 9 Jan 2016 17:15:32 +0000 (11:15 -0600)] 
Merge "include/asterisk/time.h: Renamed global declaration:tv" into 13

10 years agores_pjsip: Create human friendly serializer names. 49/1949/2
Richard Mudgett [Thu, 7 Jan 2016 01:10:16 +0000 (19:10 -0600)] 
res_pjsip: Create human friendly serializer names.

PJSIP name formats:
pjsip/aor/<aor>-<seq> -- registrar thread pool serializer
pjsip/default-<seq> -- default thread pool serializer
pjsip/messaging -- messaging thread pool serializer
pjsip/outreg/<registration>-<seq> -- outbound registration thread pool
serializer
pjsip/pubsub/<endpoint>-<seq> -- pubsub thread pool serializer
pjsip/refer/<endpoint>-<seq> -- REFER thread pool serializer
pjsip/session/<endpoint>-<seq> -- session thread pool serializer
pjsip/websocket-<seq> -- websocket thread pool serializer

Change-Id: Iff9df8da3ddae1132cb2ef65f64df0c465c5e084

10 years agoSorcery: Create human friendly serializer names. 48/1948/2
Richard Mudgett [Thu, 7 Jan 2016 01:09:43 +0000 (19:09 -0600)] 
Sorcery: Create human friendly serializer names.

Sorcery name formats:
sorcery/<type>-<seq> -- Sorcery thread pool serializer

Change-Id: Idc2e5d3dbab15c825b97c38c028319a0d2315c47

10 years agoStasis: Create human friendly taskprocessor/serializer names. 47/1947/2
Richard Mudgett [Thu, 7 Jan 2016 01:09:59 +0000 (19:09 -0600)] 
Stasis: Create human friendly taskprocessor/serializer names.

Stasis name formats:
subm:<topic>-<seq> -- Stasis subscription mailbox task processor
subp:<topic>-<seq> -- Stasis subscription thread pool serializer

Change-Id: Id19234b306e3594530bb040bc95d977f18ac7bfd

10 years agotaskprocessor.c: New API for human friendly taskprocessor names. 46/1946/2
Richard Mudgett [Thu, 7 Jan 2016 22:15:35 +0000 (16:15 -0600)] 
taskprocessor.c: New API for human friendly taskprocessor names.

* Add new API call to get a sequence number for use in human friendly
taskprocessor names.

* Add new API call to create a taskprocessor name in a given buffer and
append a sequence number.

Change-Id: Iac458f05b45232315ed64aa31b1df05b875537a9

10 years agotaskprocessor.c: Fix CLI "core show taskprocessors" output format. 44/1944/2
Richard Mudgett [Wed, 6 Jan 2016 23:19:19 +0000 (17:19 -0600)] 
taskprocessor.c: Fix CLI "core show taskprocessors" output format.

Update the CLI "core show taskprocessors" output format to not be
distorted because UUID names are longer than previously used taskprocessor
names.

Change-Id: I1a5c82ce3e8f765a0627796aba87f8f7be077601

10 years agotaskprocessor.c: Fix CLI "core show taskprocessors" unref. 43/1943/2
Richard Mudgett [Fri, 8 Jan 2016 03:07:49 +0000 (21:07 -0600)] 
taskprocessor.c: Fix CLI "core show taskprocessors" unref.

Change-Id: I1d9f4e532caa6dfabe034745dd16d06134efdce5

10 years agotaskprocessor.c: Sort CLI "core show taskprocessors" output. 45/1945/2
Richard Mudgett [Fri, 8 Jan 2016 02:44:18 +0000 (20:44 -0600)] 
taskprocessor.c: Sort CLI "core show taskprocessors" output.

Change-Id: I71e7bf57c7b908c8b8c71f1816348ed7c5a5d51e

10 years agoccss.c: Replace space in taskprocessor name. 41/1941/2
Richard Mudgett [Thu, 7 Jan 2016 01:00:27 +0000 (19:00 -0600)] 
ccss.c: Replace space in taskprocessor name.

The CLI "core ping taskprocessor" command does not work very
well with taskprocessor names that have spaces in them.  You
have to put quotes around the name so using tab completion
becomes awkward.

Change-Id: I29e806dd0a8a0256f4e2e0a7ab88c9e19ab0eda0

10 years agotaskprocessor.c: Add CLI "core ping taskprocessor" missing unlock. 42/1942/2
Richard Mudgett [Tue, 5 Jan 2016 22:54:06 +0000 (16:54 -0600)] 
taskprocessor.c: Add CLI "core ping taskprocessor" missing unlock.

Change-Id: I78247e0faf978bf850b5ba4e9f4933ab3c59d17b

10 years agomain: Use ast_strdup instead of strdup 37/1937/1
Diederik de Groot [Thu, 7 Jan 2016 09:33:02 +0000 (10:33 +0100)] 
main: Use ast_strdup instead of strdup

Fix compile error in main/utils.c because strdup was used in dummy_start

Change-Id: Id61a6cf4f3cbf235450441e10e7da101a6335793

10 years agoinclude/asterisk/time.h: Renamed global declaration:tv 36/1936/1
Diederik de Groot [Thu, 7 Jan 2016 09:21:03 +0000 (10:21 +0100)] 
include/asterisk/time.h: Renamed global declaration:tv

Renamed global declaration:tv to dummy_tv_var_for_types,
which would oltherwise cause 'shadow' warnings when 'tv'
was declared as a local variable elsewhere.

Added comment to note that dummy_tv_var_for_types is never
really exported and only used as a place holder.

ASTERISK-25627 #close

Change-Id: I9a6e17995006584f3627efe8988e3f8aa0f5dc28

10 years agoMerge "PJSIP: Prevent deadlock due to dialog/transaction lock inversion." into 13
Joshua Colp [Thu, 7 Jan 2016 22:57:07 +0000 (16:57 -0600)] 
Merge "PJSIP: Prevent deadlock due to dialog/transaction lock inversion." into 13

10 years agoPJSIP: Prevent deadlock due to dialog/transaction lock inversion. 30/1930/3
Mark Michelson [Thu, 7 Jan 2016 21:37:36 +0000 (15:37 -0600)] 
PJSIP: Prevent deadlock due to dialog/transaction lock inversion.

A deadlock was observed where the monitor thread was stuck, therefore
resulting in no incoming SIP traffic being processed.

The problem occurred when two 200 OK responses arrived in response to a
terminating NOTIFY request sent from Asterisk. The first 200 OK was
dispatched to a threadpool worker, who locked the corresponding
transaction. The second 200 OK arrived, resulting in the monitor thread
locking the dialog. At this point, the two threads are at odds, because
the monitor thread attempts to lock the transaction, and the threadpool
thread loops attempting to try to lock the dialog.

In this case, the fix is to not have the monitor thread attempt to hold
both the dialog and transaction locks at the same time. Instead, we
release the dialog lock before attempting to lock the transaction.

There have also been some debug messages added to the process in an
attempt to make it more clear what is going on in the process.

ASTERISK-25668 #close
Reported by Mark Michelson

Change-Id: I4db0705f1403737b4360e33a8e6276805d086d4a

10 years agoast_format_cap_append_by_type: Resolve codec reference leak. 26/1926/4
Corey Farrell [Thu, 7 Jan 2016 15:39:19 +0000 (10:39 -0500)] 
ast_format_cap_append_by_type: Resolve codec reference leak.

This resolves a reference leak caused by ASTERISK-25535.  The pointer
returned by ast_format_get_codec is saved so it can be released.

ASTERISK-25664 #close

Change-Id: If9941b1bf4320b2c59056546d6bce9422726d1ec

10 years agoMerge "cel/cel_radius: Fix wrong pointer." into 13
Joshua Colp [Wed, 6 Jan 2016 18:02:44 +0000 (12:02 -0600)] 
Merge "cel/cel_radius: Fix wrong pointer." into 13

10 years agoMerge topic 'pbx-split' into 13
Joshua Colp [Wed, 6 Jan 2016 12:13:14 +0000 (06:13 -0600)] 
Merge topic 'pbx-split' into 13

* changes:
  main/pbx: Move hangup handler routines to pbx_hangup_handler.c.
  main/pbx: Move dialplan application management routines to pbx_app.c.
  main/pbx: Move switch routines to pbx_switch.c.

10 years agoMerge "main/pbx: Move timing routines to pbx_timing.c." into 13
Joshua Colp [Wed, 6 Jan 2016 12:09:34 +0000 (06:09 -0600)] 
Merge "main/pbx: Move timing routines to pbx_timing.c." into 13

10 years agocel/cel_radius: Fix wrong pointer. 21/1921/1
Aaron An [Mon, 4 Jan 2016 10:26:55 +0000 (18:26 +0800)] 
cel/cel_radius: Fix wrong pointer.

The macro ADD_VENDOR_CODE defined in the cel_radius.c should use the parameter
y not the address of y.

I capture the radius UDP packet via tcpdump, and the AV pairs are not correct,
then i review the source code and compare it with cdr/cdr_radius.c. Fix it and
 it works.

ASTERISK-25647 #close
Reported by: Aaron An
Tested by: Aaron An

Change-Id: I72889bccd8fde120d47aa659edc0e7e6d4d019f0

10 years agoasterisk.h: Add ASTERISK_REGISTER_FILE macro 18/1918/4
George Joseph [Tue, 5 Jan 2016 20:52:16 +0000 (13:52 -0700)] 
asterisk.h: Add ASTERISK_REGISTER_FILE macro

The 11/13 branches and master use 2 different file version macros. 11/13
uses ASTERISK_FILE_VERSION but master uses ASTERISK_REGISTER_FILE. This
means a new file added to 11/13 can't just be cherry-picked to master
because the macro has to be changed.

To make cherry-picking possible, ASTERISK_REGISTER_FILE was added
to asterisk.h as a simple alias for ASTERISK_FILE_VERSION(__FILE__, NULL)
The "$Revision$" tag doesn't do anything since Asterisk moved to git so
just passing NULL as the verison works fine.  asterisk.h was also
annotated to deprecate ASTERISK_FILE_VERSION and suggest using
ASTERISK_REGISTER_FILE for all new files.

Finally, 2 recent file additions, pbx_builtins.c and pbx_functions.c,
were modified to use the new macro to make sure it actually worked.
'core show file version' showed the correct output.

Change-Id: I5867ed898818d26ee49bb6e5c7d4c1a45d4789a5

10 years agoMerge "main/pbx: Move variable routines to pbx_variables.c." into 13
Matt Jordan [Tue, 5 Jan 2016 19:38:39 +0000 (13:38 -0600)] 
Merge "main/pbx: Move variable routines to pbx_variables.c." into 13

10 years agostasis_cache_pattern: Backport to 13 17/1917/2
George Joseph [Tue, 5 Jan 2016 17:06:32 +0000 (10:06 -0700)] 
stasis_cache_pattern:  Backport to 13

Somehow stasis_cache_pattern got out of sync between 13 and master
and it was causing duplicate channel message issues in 13 when
related to a specific endpoint. I.E. from statsd,
'endpoints.PJSIP.1174.channels 0|g' was being emitted twice.

Backporting stasis_cache_pattern from master to 13 solved
the issue and running the unit and testsuite tests confirmed
that no new ones were created.

ASTERISK-25317 #close

Change-Id: Ia8707462f62d15eed14541c37f332a7bbbceb548

10 years agomain/pbx: Move hangup handler routines to pbx_hangup_handler.c. 16/1916/1
Corey Farrell [Tue, 5 Jan 2016 02:23:01 +0000 (21:23 -0500)] 
main/pbx: Move hangup handler routines to pbx_hangup_handler.c.

This is the sixth patch in a series meant to reduce the bulk of pbx.c.
This moves hangup handler management functions to their own source.

Change-Id: Ib25a75aa57fc7d5c4294479e5cc46775912fb104

10 years agomain/pbx: Move dialplan application management routines to pbx_app.c. 15/1915/1
Corey Farrell [Tue, 5 Jan 2016 01:46:25 +0000 (20:46 -0500)] 
main/pbx: Move dialplan application management routines to pbx_app.c.

This is the sixth patch in a series meant to reduce the bulk of pbx.c.
This moves dialplan application management functions to their own source.

Change-Id: I444c10fb90a3cdf9f3047605d6a8aad49c22c44c

10 years agomain/pbx: Move switch routines to pbx_switch.c. 14/1914/1
Corey Farrell [Tue, 5 Jan 2016 00:20:35 +0000 (19:20 -0500)] 
main/pbx: Move switch routines to pbx_switch.c.

This is the fifth patch in a series meant to reduce the bulk of pbx.c.
This moves ast_switch functions to their own source.

Change-Id: Ic2592a18a5c4d8a3c2dcf9786c9a6f650a8c628e

10 years agomain/pbx: Move timing routines to pbx_timing.c. 13/1913/1
Corey Farrell [Tue, 5 Jan 2016 00:00:23 +0000 (19:00 -0500)] 
main/pbx: Move timing routines to pbx_timing.c.

This is the fourth patch in a series meant to reduce the bulk of pbx.c.
This moves pbx timing functions to their own source.

Change-Id: I05c45186cb11edfc901e95f6be4e6a8abf129cd6

10 years agoapp_queue: Add member flag "in_call" to prevent reading wrong lastcall time 80/1880/4
Martin Tomec [Tue, 29 Dec 2015 10:31:19 +0000 (11:31 +0100)] 
app_queue: Add member flag "in_call" to prevent reading wrong lastcall time

Member lastcall time is updated later than member status. There was chance to
check wrapuptime for available member with wrong (old) lastcall time.
New boolean flag "in_call" is set to true right before connecting call, and
reset to false after update of lastcall time. Members with "in_call" set to true
are treat as unavailable.

ASTERISK-19820 #close

Change-Id: I1923230cf9859ee51563a8ed420a0628b4d2e500

10 years agoapp_queue: Added reason pause of member 48/1448/4
Rodrigo Ramírez Norambuena [Mon, 28 Dec 2015 23:23:28 +0000 (20:23 -0300)] 
app_queue: Added reason pause of member

In app_queue added value Paused Reason on QueueMemberStatus when a member
on queue is paused and the reason was set.

ASTERISK-25480 #close
Reporte by: Rodrigo Ramírez Norambuena

Change-Id: Ia5db503482f50764c15e2020196c785f59d4a68e

10 years agoMerge "voicemail: Move app_voicemail / res_mwi_external conflict to runtime" into 13
Joshua Colp [Tue, 5 Jan 2016 11:56:04 +0000 (05:56 -0600)] 
Merge "voicemail: Move app_voicemail / res_mwi_external conflict to runtime" into 13

10 years agovoicemail: Move app_voicemail / res_mwi_external conflict to runtime 84/1884/6
George Joseph [Wed, 30 Dec 2015 16:49:03 +0000 (09:49 -0700)] 
voicemail: Move app_voicemail / res_mwi_external conflict to runtime

The menuselect conflict between app_voicemail and res_mwi_external
makes it hard to package 1 version of Asterisk.  There no actual
build dependencies between the 2 so moving this check to runtime
seems like a better solution.

The ast_vm_register and ast_vm_greeter_register functions in app.c
were modified to return AST_MODULE_LOAD_DECLINE instead of -1 if there
is already a voicemail module registered. The modules' load_module
functions were then modified to return DECLINE instead of -1 to the
loader.  Since -1 is interpreted by the loader as AST_MODULE_LOAD_FAILURE,
the modules were incorrectly causing Asterisk to stop so this needed
to be cleaned up anyway.

Now you can build both and use modules.conf to decide which voicemail
implementation to load.

The default menuselect options still build app_voicemail and not
res_mwi_external but if both ARE built, res_mwi_external will load
first and become the voicemail provider unless modules.conf rules
prevent it.  This is noted in CHANGES.

Change-Id: I7d98d4e8a3b87b8df9e51c2608f0da6ddfb89247

10 years agomain/pbx: Move variable routines to pbx_variables.c. 06/1906/1
Corey Farrell [Mon, 4 Jan 2016 22:22:59 +0000 (17:22 -0500)] 
main/pbx: Move variable routines to pbx_variables.c.

This is the third patch in a series meant to reduce the bulk of pbx.c.
This moves channel and global variable routines to their own source.

Change-Id: Ibe8fb4647db11598591d443a99e3f99200a56bc6

10 years agoapp_dial: Immediately exit dial if the caller is already hung up. 03/1903/1
Richard Mudgett [Fri, 4 Dec 2015 23:22:29 +0000 (17:22 -0600)] 
app_dial: Immediately exit dial if the caller is already hung up.

If a caller hangs up before dial is executed within an AGI then the AGI
has likely eaten all queued frames before executing the dial in DeadAGI
mode.  With the caller hung up and no pending frames from the caller's
read queue, dial would not know that the call has hung up until a called
channel answers.  It is rather annoying to whoever just answered the
non-existent call.

Dial should not continue execution in DeadAGI mode, hangup handlers, or
the h exten.

* Added a check early in dial to abort dialing if the caller has hungup.

ASTERISK-25307 #close
Reported by: David Cunningham

Change-Id: Icd1bc0764726ef8c809f76743ca008d0f102f418

10 years agoMerge "main/cdr: Allow setting properties on a finalized CDR if it is the last one...
Matt Jordan [Mon, 4 Jan 2016 15:02:40 +0000 (09:02 -0600)] 
Merge "main/cdr: Allow setting properties on a finalized CDR if it is the last one" into 13

10 years agoMerge "main/cdr: Set the end time on a CDR if endbeforehexten is Yes" into 13
Matt Jordan [Mon, 4 Jan 2016 15:02:36 +0000 (09:02 -0600)] 
Merge "main/cdr: Set the end time on a CDR if endbeforehexten is Yes" into 13

10 years agomain/cdr: Allow setting properties on a finalized CDR if it is the last one 98/1898/1
Matt Jordan [Sat, 2 Jan 2016 16:26:04 +0000 (10:26 -0600)] 
main/cdr: Allow setting properties on a finalized CDR if it is the last one

Prior to this patch, we explicitly disallowed setting any properties on a
finalized CDR. This seemed like a good idea at the time; in practice, it was
more restrictive.

There are weird and strange scenarios where setting a property on a finalized
CDR is definitely wrong. For example, we may Fork a CDR, finalizing the
previous one, then change a property. In said case, the old CDR is supposed
to now be 'immutable' (so to speak), and should not be updated. From the
perspective of the code, a forked CDR that is finalized is just finalized.
Hence why we decided these should not be updated.

In practice, it is much more common to want to set a property on a CDR in
the h extension or in a hangup handler. Disallowing a common scenario to make
an esoteric behaviour work isn't good. This patch fixes this by allowing
callers to set a property IF we are the last CDR in the chain. This preserves
the finalized CDR if it was forked, while allowing the more common case to
function.

ASTERISK-25458 #close

Change-Id: Icf3553c607b9f561152a41e6d8381d594ccdf4b9

10 years agomain/cdr: Set the end time on a CDR if endbeforehexten is Yes 97/1897/1
Matt Jordan [Sat, 2 Jan 2016 16:23:39 +0000 (10:23 -0600)] 
main/cdr: Set the end time on a CDR if endbeforehexten is Yes

Prior to this patch, the CDR engine attempted to set the end time on a CDR
that was executing hangup logic and with endbeforehexten set to Yes by
calling a function that inspects the properties on the Party A snapshot to
determine if we are ready to set the end time. That always failed. This is
because a Party A snapshot is not updated for CDRs that are executing hangup
logic with endbeforehexten=Yes.

Instead of calling a function that looks at the Party A snapshot, we just
simply set the end time on the CDR. This is safe to call multiple times, and is
safe to call at this point as we know that (a) we are executing hangup logic,
and (b) we are supposed to set the end time at this point.

ASTERISK-25458

Change-Id: I0c27b493861f9c13c43addbbb21257f79047a3b3

10 years agomain/pbx: Move custom function routines to pbx_functions.c. 96/1896/1
Corey Farrell [Thu, 31 Dec 2015 02:51:47 +0000 (21:51 -0500)] 
main/pbx: Move custom function routines to pbx_functions.c.

This is the second patch in a series meant to reduce the bulk of pbx.c.
This moves custom function management routines to their own source.

Change-Id: I34a6190282f781cdbbd3ce9d3adeac3c3805e177

10 years agoMerge "main/pbx: Move pbx_builtin dialplan applications to pbx_builtins.c" into 13
Matt Jordan [Fri, 1 Jan 2016 15:25:35 +0000 (09:25 -0600)] 
Merge "main/pbx: Move pbx_builtin dialplan applications to pbx_builtins.c" into 13

10 years agoMerge "res_pjsip_history: Add a module that provides PJSIP history for debugging...
Matt Jordan [Fri, 1 Jan 2016 04:42:20 +0000 (22:42 -0600)] 
Merge "res_pjsip_history: Add a module that provides PJSIP history for debugging" into 13

10 years agomain/pbx: Move pbx_builtin dialplan applications to pbx_builtins.c 78/1878/7
George Joseph [Tue, 29 Dec 2015 01:18:01 +0000 (18:18 -0700)] 
main/pbx: Move pbx_builtin dialplan applications to pbx_builtins.c

We joked about splitting pbx.c into multiple files but this first step was
fairly easy.  All of the pbx_builtin dialplan applications have been moved
into pbx_builtins.c and a new pbx_private.h file was added. load_pbx_builtins()
is called by asterisk.c just after load_pbx().

A few functions were renamed and are cross-exposed between the 2 source files.

Change-Id: I87066be3dbf7f5822942ac1449d98cc43fc7561a

10 years agoMerge "res_http_websocket.c: prevent avoidable disconnections caused by write errors...
Joshua Colp [Thu, 31 Dec 2015 00:43:41 +0000 (18:43 -0600)] 
Merge "res_http_websocket.c: prevent avoidable disconnections caused by write errors" into 13

10 years agoMerge "test_time: Provide a timeout when waiting." into 13
Joshua Colp [Mon, 28 Dec 2015 22:06:54 +0000 (16:06 -0600)] 
Merge "test_time: Provide a timeout when waiting." into 13

10 years agotests/test_stasis_endpoints: Remove expected duplicate events 62/1862/4
Matt Jordan [Fri, 25 Dec 2015 02:26:46 +0000 (20:26 -0600)] 
tests/test_stasis_endpoints: Remove expected duplicate events

The cache_clear test was written to expect duplicate Stasis messages
sent from the technology endpoint to the all caching topic. This patch
fixes the test to no longer expect these duplicate messages.

ASTERISK-25137

Change-Id: I58075d70d6cdf42e792e0fb63ba624720bfce981

10 years agotest_time: Provide a timeout when waiting. 76/1876/1
Joshua Colp [Mon, 28 Dec 2015 20:02:19 +0000 (16:02 -0400)] 
test_time: Provide a timeout when waiting.

The test_timezone_watch unit test is written to expect a
condition to be signaled when the inotify daemon thread runs.
There exists a small window where the test_timezone_watch
thread can signal the inotify daemon thread while it is not
reading on the underlying file descriptor. If this occurs
the test_timezone_watch thread will wait indefinitely for a
signal that will never arrive.

This change adds a timeout to the condition so it will return
regardless after a period of time.

Change-Id: Ifed981879df6de3d93acd3ee0a70f92546517390

10 years agoendpoint/stasis: Eliminate duplicate events on endpoint status change 70/570/11
George Joseph [Wed, 27 May 2015 18:22:39 +0000 (12:22 -0600)] 
endpoint/stasis: Eliminate duplicate events on endpoint status change

When an endpoint is created, its messages are forwarded to both the tech
endpoint topic and the all endpoints topic. This is done so that various
parties interested in endpoint messages can subscribe to just the tech
endpoint and receive all messages associated with that particular technology,
as opposed to subscribing to the all endpoints topic. Unfortunately, when the
tech endpoint is created, it also forwards all of its messages to the all
topic. This results in duplicate messages whenever an endpoint publishes its
messages.

This patch resolves the duplicate message issue by creating a new function
for Stasis caching topics, stasis_cp_sink_create. In most respects, this acts
as a normal caching topic, save that it no longer forwards messages it receives
to the all endpoints topic. This allows it to act as an aggregation "sink",
while preserving the necessary caching behaviour.

ASTERISK-25137 #close
Reported-by: Vitezslav Novy
ASTERISK-25116 #close
Reported-by: George Joseph <george.joseph@fairview5.com>
Tested-by: George Joseph <george.joseph@fairview5.com>
Change-Id: Ie47784adfb973ab0063e59fc18f390d7dd26d17b

10 years agores_http_websocket.c: prevent avoidable disconnections caused by write errors 66/1866/2
Dade Brandon [Fri, 25 Dec 2015 04:19:59 +0000 (20:19 -0800)] 
res_http_websocket.c: prevent avoidable disconnections caused by write errors

Updated ast_websocket_write to encode the entire frame in to one
write operation, to ensure that we don't end up with a situation
where the websocket header has been sent, while the body can not
be written.

Previous to August's patch in commit b9bd3c14, certain network
conditions could cause the header to be written, and then the
sub-sequent body to fail - which would cause the next successful
write to contain a new header, and a new body (resulting in
the peer receiving two headers - the second of which would be
read as part of the body for the first header).

This was patched to have both write operations individually fail
by closing the websocket.

In a case available to the submitter of this patch, the same
body which would consistently fail to write, would succeed
if written at the same time as the header.

This update merges the two operations in to one, adds debug messages
indicating the reason for a websocket connection being closed during
a write operation, and clarifies some variable names for code legibility.

Change-Id: I4db7a586af1c7a57184c31d3d55bf146f1a40598

10 years agoMerge "bridge_basic.c: Fix GOTO_ON_BLINDXFR" into 13
Matt Jordan [Mon, 28 Dec 2015 15:44:24 +0000 (09:44 -0600)] 
Merge "bridge_basic.c: Fix GOTO_ON_BLINDXFR" into 13

10 years agoMerge "chan_sip.c: fix websocket_write_timeout default value" into 13
Matt Jordan [Mon, 28 Dec 2015 15:44:10 +0000 (09:44 -0600)] 
Merge "chan_sip.c: fix websocket_write_timeout default value" into 13

10 years agoMerge "res/res_pjsip_location: Delete contact_status object when contact is deleted...
Joshua Colp [Mon, 28 Dec 2015 15:02:20 +0000 (09:02 -0600)] 
Merge "res/res_pjsip_location: Delete contact_status object when contact is deleted" into 13

10 years agoMerge "Remove res_jabber file that was left behind." into 13
Matt Jordan [Mon, 28 Dec 2015 14:27:37 +0000 (08:27 -0600)] 
Merge "Remove res_jabber file that was left behind." into 13

10 years agoRemove res_jabber file that was left behind. 71/1871/1
Corey Farrell [Mon, 28 Dec 2015 04:38:37 +0000 (23:38 -0500)] 
Remove res_jabber file that was left behind.

Change-Id: I9d88fac0394d5bbaff0900a2ee911c4e4478846b

10 years agores_pjsip_history: Add a module that provides PJSIP history for debugging 49/1849/6
Matt Jordan [Sun, 13 Dec 2015 19:09:42 +0000 (13:09 -0600)] 
res_pjsip_history: Add a module that provides PJSIP history for debugging

This patch adds a new module, res_pjsip_history, that provides a slightly
better way of debugging SIP message traffic on a busy Asterisk system. The
existing mechanisms all rely on passively dumping a SIP message to the CLI.
While this is perfectly fine for logging purposes and well controlled
environments, on many installations, the amount of SIP messages Asterisk
receives will quickly swamp the CLI. This makes it difficult to view/capture
those messages that you want to diagnose in real time.

This patch provides another way of handling this. When enabled, the module
will store SIP message traffic in memory. This traffic can then be queried
at leisure.

In order to make the querying useful, a CLI command has been implemented,
'pjsip show history', that supports a basic expression syntax similar to
SQL or other query languages. A small number of useful fields have been
added in this initial patch; additional fields can easily be added in
later improvements. Those fields are:
 - number: The entry index in the history
 - timestamp: The time the message was recieved
 - addr: The source/destination address of the message
 - sip.msg.request.method: The request method
 - sip.msg.call-id: The Call-ID header

Note - this is a resurrection of the module initially proposed on Review Board
here: https://reviewboard.asterisk.org/r/4053/

Change-Id: I39bd74ce998e99ad5ebc0aab3e84df3a150f8e36

10 years agochan_sip.c: fix websocket_write_timeout default value 69/1869/1
Dade Brandon [Fri, 25 Dec 2015 15:56:44 +0000 (07:56 -0800)] 
chan_sip.c: fix websocket_write_timeout default value

websocket_write_timeout was not being set to its default value
during sip config reload, which meant that prior to this commit,
1) the default value of 100 was not used, unless an invalid value
(or 1) was specified in sip.conf for websocket_write_timeout, and
2) if the websocket_write_timeout directive was removed from sip.conf
without a full restart of asterisk, then the previous value would
continue to be used indefinitely.

This essentially lead to a 0ms write timeout (the first write attempt
in ast_careful_fwrite must have succeeded) in websocket write requests
from chan_sip, unless websocket_write_timeout was explicitely set in sip.conf.

Changes to websocket_write_timeout still only apply to new websocket
sessions, after the sip reload -- timeouts on existing sessions are
not adjusted during sip reload.

Change-Id: Ibed3816ed29cc354af6564c5ab3e75eab72cb953

10 years agobridge_basic.c: Fix GOTO_ON_BLINDXFR 59/1859/1
Richard Mudgett [Wed, 23 Dec 2015 23:40:39 +0000 (17:40 -0600)] 
bridge_basic.c: Fix GOTO_ON_BLINDXFR

Use of GOTO_ON_BLINDXFR would not work at all.  The target location would
never be executed by the transferring channel.

* Made feature_blind_transfer() call ast_bridge_set_after_go_on() with
valid context, exten, and priority parameters from the transferring
channel.

* Renamed some feature_blind_transfer() local variables for clarity.

ASTERISK-25641 #close
Reported by Dmitry Melekhov

Change-Id: I19bead9ffdc4aee8d58c654ca05a198da1e4b7ac

10 years agores/res_pjsip_location: Delete contact_status object when contact is deleted 53/1853/1
Matt Jordan [Thu, 24 Dec 2015 18:19:51 +0000 (12:19 -0600)] 
res/res_pjsip_location: Delete contact_status object when contact is deleted

In 450579e908, a change was made that removed the deletion of the
'contact_status' object when a 'contact' object is deleted in sorcery.
This unfortunately means that the 'contact_status' object persists, even when
something has explicitly removed a contact. The result is that the state of
the contact will not be regenerated if that contact is re-created, and the
stale state will be reported/used for that contact. It also results in
no ContactStatusChanged events being generated for either ARI or AMI.

This patch restores the deletion logic that was removed. Doing so now
results in the expected events being generated again.

Change-Id: I28789a112e845072308b5b34522690e3faf58f07

10 years agores_rtp_asterisk: rtp->ice check not wrapped in HAVE_PJPROJECT ifdef 51/1851/2
Kevin Harwell [Thu, 24 Dec 2015 16:18:22 +0000 (10:18 -0600)] 
res_rtp_asterisk: rtp->ice check not wrapped in HAVE_PJPROJECT ifdef

Change-Id: I19b49112e1b630bd04e859f14ccf96f8ebd6b151

10 years agoMerge "app_amd: Correct documentation to reflect functionality" into 13
Matt Jordan [Wed, 23 Dec 2015 02:22:21 +0000 (20:22 -0600)] 
Merge "app_amd: Correct documentation to reflect functionality" into 13

10 years agoapp_amd: Correct documentation to reflect functionality 46/1846/2
Dade Brandon [Mon, 21 Dec 2015 03:33:02 +0000 (19:33 -0800)] 
app_amd: Correct documentation to reflect functionality

Update documentation to reflect that maximum_number_of_words
has functionality inconsistent with the variable name (and inconsistent
with prior documentation.)

Update documentation for silence_threshold, which previously implied
that it was measuring time, rather than noise averages in the sample.

Update the comments in amd.conf.sample.

ASTERISK-25639 #close
Change-Id: I4b1451e5dc9cb3cb06d59b6ab872f5275ba79093

10 years agores_rtp_asterisk: Resolve further timing issues with DTLS negotiation 39/1839/2
Dade Brandon [Fri, 18 Dec 2015 01:05:00 +0000 (17:05 -0800)] 
res_rtp_asterisk: Resolve further timing issues with DTLS negotiation

Resolves an edge case dtls negotiation delay for certain networks which
somehow manage to drop the rtcp side's packet when these are both sent
ast_rtp_remote_address_set, causing it to have to time-out and restart
the handshake.

Move dtls pending bio flush in to it's own function, and call it from
ast_rtp_on_ice_complete, when we're rtp->ice, rather than when
ast_rtp_remote_address_set.

Keep the existing flush from the recent change to res_rtp_remote_address_set
if ice is not being used.

ASTERISK-25614 #close
Reported-by: XenCALL
Tested by: XenCALL

Change-Id: Ie2caedbdee1783159f375589b6fd3845c8577ba5

10 years agoMerge "app_queue: update RT members when the 1st call joins a queue with no agents...
Matt Jordan [Sat, 19 Dec 2015 16:48:05 +0000 (10:48 -0600)] 
Merge "app_queue: update RT members when the 1st call joins a queue with no agents" into 13