summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-01-21res_pjsip: Add CLI "pjsip dump endpt [details]"Richard Mudgett
Dump the res_pjsip endpt internals. In non-developer mode we will not document or make easily accessible the "details" option even though it is still available. The user has to know it exists to use it. Presumably they would also be aware of the potential crash warning below. Warning: PJPROJECT documents that the function used by this CLI command may cause a crash when asking for details because it tries to access all active memory pools. Change-Id: If2d98a3641c9873364d1daaad971376311aef3cb
2016-01-20Merge "taskprocessor.c: Increase CLI "core ping taskprocessor" timeout."Mark Michelson
2016-01-20Merge "taskprocessor.c: Fix some taskprocessor unrefs."Mark Michelson
2016-01-20Merge "res_pjproject: Add module providing pjproject logging and utils"Joshua Colp
2016-01-20res_pjproject: Add module providing pjproject logging and utilsGeorge Joseph
res_pjsip_log_forwarder has been renamed to res_pjproject and enhanced as follows: As a follow-on to the recent 'Add CLI "pjsip show buildopts"' patch, a new ast_pjproject_get_buildopt function has been added. It allows the caller to get the value of one of the buildopts. The initial use case is retrieving the runtime value of PJ_MAX_HOSTNAME to insure we don't send a hostname greater than pjproject can handle. Since it can differ between the version of pjproject that Asterisk was compiled against and the version of pjproject that Asterisk is running against, we can't use the PJ_MAX_HOSTNAME macro directly in Asterisk source code. Change-Id: Iab6e82fec3d7cf00c1cf6185c42be3e7569dee1e
2016-01-20Merge "funcs/func_cdr: Correctly report high precision values for duration ↵Joshua Colp
and billsec"
2016-01-20Merge "pjsip_loging_refactor: Rename res_pjsip_log_forwarder to res_pjproject"Joshua Colp
2016-01-20funcs/func_cdr: Correctly report high precision values for duration and billsecMatt Jordan
When CDRs were refactored, func_cdr's ability to report high precision values for duration and billsec (the 'f' option) was broken. This was due to func_cdr incorrectly interpreting the duration/billsec values provided by the CDR engine in milliseconds, as opposed to seconds. Since the CDR engine only provides duration and billsec in seconds, and does not expose either attribute with sufficient precision to merely pass back the underlying value, this patch fixes the bug by re-calculating duration and billsec with microsecond precision based on the start/answer/end times on the CDR. ASTERISK-25179 #close Change-Id: I8bc63822b496537a5bf80baf6102c06206bee841
2016-01-19test_threadpool: Wait for each task to complete and fix memory leak.Joshua Colp
This change makes the thread_timeout_thrash unit test wait for each task to complete. This fixes the problem where the test would prematurely end when all threads were gone and a new one had to be started to handle the last task. It also increases the thrasing as it is now more likely for each task to encounter the above scenario. This also fixes a memory leak where the data for each task was not being freed. ASTERISK-25611 #close Change-Id: I5017d621a4dc911f509074c16229b86bff2fb3c6
2016-01-19Merge "Refactor init_logger_chain locking."Mark Michelson
2016-01-19taskprocessor.c: Increase CLI "core ping taskprocessor" timeout.Richard Mudgett
Change-Id: I4892d6acbb580d6c207d006341eaf5e0f8f2a029
2016-01-19taskprocessor.c: Fix some taskprocessor unrefs.Richard Mudgett
You have to call ast_taskprocessor_unref() outside of the taskprocessor implementation code. Taskprocessor use since v12 has become more transient than just the singleton uses in earlier versions. Change-Id: If7675299924c0cc65f2a43a85254e6f06f2d61bb
2016-01-19Fix alembic branches on master.Richard Mudgett
Change-Id: I64ed21fec50eb833641ca49d92184f6aaabd86e8
2016-01-19Refactor init_logger_chain locking.Corey Farrell
This removes logchannels locking from init_logger_chain, puts the responsibility on the caller. Adds locking around the one call that was missing it. ASTERISK-24833 Change-Id: I6cc42117338bf9575650a67bcb78ab1a33d7bad8
2016-01-18Merge "Remove *.gcna / *.gcno files from added module sources."Joshua Colp
2016-01-18pjsip_loging_refactor: Rename res_pjsip_log_forwarder to res_pjprojectGeorge Joseph
Change-Id: I5387821f29e5caa0cba0b7d62b0fc0d341e7e20b
2016-01-18Merge "Update version number in features.conf.sample"Mark Michelson
2016-01-18Merge "pjsip/alembic: Fix qualify_timeout column definition"Joshua Colp
2016-01-17Merge "func_channel: Add help text for undocumented CHANNEL function arguments"Joshua Colp
2016-01-17Merge "main/config: Clean config maps on shutdown."Joshua Colp
2016-01-16Update version number in features.conf.sampleDaniel Journo
Update the version number in the comments from Asterisk 12 to Asterisk 12+ Change-Id: Ie692ac8cda3c993c3bf10f27f51a1cca3317ec7b
2016-01-16pjsip/alembic: Fix qualify_timeout column definitionDaniel Journo
Corrects the qualify_timeout column type from Integer to Decimal ASTERISK-25686 #close Reported-by: Marcelo Terres Change-Id: I757d0e3c011ee9be6cd5abd48bc92441a405d3c8
2016-01-16Merge "bridge_basic: don't play an attended transfer fail sound after target ↵Joshua Colp
hangs up"
2016-01-16Merge "bridge_basic: don't cache xferfailsound during an attended transfer"Joshua Colp
2016-01-16Merge "taskprocessor.c: Simplify ast_taskprocessor_get() return code."Joshua Colp
2016-01-15main/config: Clean config maps on shutdown.Corey Farrell
ASTERISK-25700 #close Change-Id: I096da84f9c62c6095f68bcf98eac4b7c7868e808
2016-01-15bridge_basic: don't cache xferfailsound during an attended transferKevin Harwell
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
2016-01-15taskprocessor.c: Simplify ast_taskprocessor_get() return code.Richard Mudgett
Change-Id: Id5bd18ef1f60ef8be453e677e98478298358a9d1
2016-01-14astmm.c: Add more stats to CLI "memory show" commands.Richard Mudgett
* Add freed regions totals to allocations and summary. * Add totals for all allocations and not just the selected allocations. Change-Id: I61d5a5112617b0733097f2545a3006a344b4032a
2016-01-14bridge_basic: don't play an attended transfer fail sound after target hangs upKevin Harwell
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
2016-01-14Remove *.gcna / *.gcno files from added module sources.Corey Farrell
Asterisk uses a Makefile macro to associate additional sources with a module. This macro is responsible for creating clean targets but previously left behind *.gcna and *.gcno files. ASTERISK-25683 #close Reported by yaron nahum Change-Id: Idc0823fe80a25c42cefae901fde875e9fc38d8ea
2016-01-14func_channel: Add help text for undocumented CHANNEL function argumentsRusty Newton
Adding help text documentation for: * hangupsource * appname * appdata * exten * context * channame * uniqueid * linkedid ASTERISK-24097 #close Reported by: Steven T. Wheeler Tested by: Rusty Newton Change-Id: Ib94b00568b0433987df87d5b67ea529b5905754d
2016-01-14Merge "pjsip: Add option global/regcontext"Joshua Colp
2016-01-13pjsip: Add option global/regcontextDaniel Journo
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
2016-01-13app: Queue hangup if channel is hung up during sub or macro execution.Joshua Colp
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
2016-01-13Merge "res_pjsip_log_forwarder.c: Add CLI "pjsip show buildopts"."Mark Michelson
2016-01-13res_musiconhold: Prevent multiple simultaneous reloads.Sean Bright
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
2016-01-12res_pjsip_log_forwarder.c: Add CLI "pjsip show buildopts".Richard Mudgett
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
2016-01-12Merge "pjsip_sdp_rtp: Add option endpoint/bind_rtp_to_media_address"Joshua Colp
2016-01-12Merge "res_pjsip: Create human friendly serializer names."Joshua Colp
2016-01-12Merge "res_sorcery_realtime: Remove leading ^ requirement."Joshua Colp
2016-01-12Merge topic 'update_taskprocessor_commands'Joshua Colp
* 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.
2016-01-12Merge "taskprocessor.c: Fix CLI "core show taskprocessors" output format."Joshua Colp
2016-01-12Merge topic 'update_taskprocessor_commands'Joshua Colp
* changes: taskprocessor.c: Fix CLI "core show taskprocessors" unref. taskprocessor.c: Add CLI "core ping taskprocessor" missing unlock.
2016-01-12Merge "ccss.c: Replace space in taskprocessor name."Joshua Colp
2016-01-12res_sorcery_realtime: Remove leading ^ requirement.Mark Michelson
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
2016-01-12Merge "app_queue: Add member flag "in_call" to prevent reading wrong ↵Joshua Colp
lastcall time"
2016-01-11pjsip_sdp_rtp: Add option endpoint/bind_rtp_to_media_addressGeorge Joseph
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
2016-01-11Merge "Revert "pjsip_location: Delete contact_status object when contact is ↵Mark Michelson
deleted""
2016-01-11Merge "pbx: Deadlock between contexts container and context_merge locks"Joshua Colp