summaryrefslogtreecommitdiff
path: root/apps
AgeCommit message (Collapse)Author
2016-04-18app_queue: Frequent segfaults in function can_ring_entry()ibercom
ASTERISK-25888 #close Change-Id: I007a2f2dd99823e04fb5be3ff01f02b0a2956117
2016-04-15Merge "app_voicemail/IMAP: function 'save_to_folder' creates wrong folder"Joshua Colp
2016-04-12app_voicemail: Fix test_voicemail_notify_endl test.Joshua Colp
The test_voicemail_notify_endl test checks the end-of-line characters of an email message to confirm that they are consistent. The test wrongfully assumed that reading from the email message into a buffer will always result in more than 1 character being read. This is incorrect. If only 1 character was read the test would go outside of the buffer and access other memory causing a crash. The test now checks to ensure that 2 or more characters are read in ensuring the test stays within the buffer. ASTERISK-25874 #close Change-Id: Ic2c89cea6e90f2c0bc2d8138306ebbffd4f8b710
2016-04-11app_voicemail/IMAP: function 'save_to_folder' creates wrong folderAlexei Gradinari
If try to move message to Cust1 (number 5) the function 'save_to_folder' tries to create Greeting folder instead of Cust1. This patch fixed it by setting GREETINGS_FOLDER = -1 ASTERISK-24927 #close Change-Id: I03d1a761894bcc2d130ec9b003bbcddc28e25c51
2016-04-11Merge "app_voicemail/IMAP: IMAP access FATAL error: Out of memory"zuul
2016-04-08app_voicemail/IMAP: IMAP access FATAL error: Out of memoryAlexei Gradinari
Sometimes uw-imap function 'mail_fetchbody' returns huge len which then pass to uw-imap function 'rfc822_base64'. uw-imap tries to allocate huge memory and abort() on fail. This patch check the len. If the len more than max size (128 Mbytes) log error. This patch also set variables len, newlen to avoid uninizialezed len. This patch also check pointer returned by rfc822_base64. ASTERISK-25899 #close Change-Id: I4a0e7d655f11abef6a5224e2169df6d5c1f1caca
2016-04-07pbx.h: Make ast_state_cb_type take more const.Richard Mudgett
This eliminates some casts that I made a note saying v10 and above would no longer need them. Better late than never :) Change-Id: I346cdb3032b6478ceb40eb6fe732978b54035572
2016-03-29app_echo: forward and generate VIDUPDATE framesJacek Konieczny
When using app_echo via WebRTC with VP8 video the video would appear only after a few minutes, because there would be nothing to request a full reference frame. This fixes the problem in both ways: - echos any VIDUPDATE frames received on the channel - sends one such frame when first video frame is to be forwarded This makes the echo work with Firefox and Chrome WebRTC implementation. ASTERISK-25867 #close Change-Id: I73bda87bf7532ee8bfb28d917045a21034908c1e
2016-03-24config: fix flags in uint option handlerGianluca Merlo
The configuration unsigned integer option handler sets flags for the parser as if the option should be a signed integer (PARSE_INT32), leading to errors on "out of range" values. Fix flags (PARSE_UINT32). A fix to res_pjsip is also present which stops invalid flags from being passed when registering sorcery object fields for qualify status. ASTERISK-25612 #close Change-Id: I96b539336275e0e72a8e8033487d2c3344debd3e
2016-03-16app_stasis: Don't hang up if app is not registeredAndrew Nagy
This prevents pbx_core from hanging up the channel if the app isn't registered. ASTERISK-25846 #close Change-Id: I63216a61f30706d5362bc0906b50b6f0544aebce
2016-03-11app_chanspy: Fix occasional deadlock with ChanSpy and Local channels.Walter Doekes
Channel masquerading had a conflict with autochannel locking. When locking autochannel->channel, the channel is fetched from the autochannel and then locked. During the fetch, the autochannel -- which has no locks itself -- can be modified by someone who owns the channel lock. That means that the value of autochan->channel cannot be trusted until you hold the lock. In practice, this caused problems with Local channels getting masqueraded away while the ChanSpy attempted to get info from that channel. The old channel which was about to get removed got locked, but the new (replaced) channel got unlocked (no-op). Because the replaced channel was now locked (and would never get unlocked), it couldn't get removed from the channel list in a timely manner, and would now cause deadlocks when iterating over the channel list. This change checks the autochannel after locking the channel for changes to the autochannel. If the channel had been changed, the lock is reobtained on the new channel. In theory it seems possible that after this fix, the lock attempt on the old (wrong) channel can be on an already destroyed lock, maybe causing a crash. But that hasn't been observed in the wild and is harder induce than the current deadlock. Thanks go to Filip Frank for suggesting a fix similar to this and especially to IRC user hexanol for pointing out why this deadlock was possible and testing this fix. And to Richard for catching my rookie while loop mistake ;) ASTERISK-25321 #close Change-Id: I293ae0014e531cd0e675c3f02d1d118a98683def
2016-02-17app_queue: fix Calculate talktime when is first call answeredRodrigo Ramírez Norambuena
Fix calculate of average time for talktime is wrong when is completed the first call beacuse the time for talked would be that call. ASTERISK-25800 #close Change-Id: I94f79028935913cd9174b090b52bb300b91b9492
2016-02-05app_confbridge: Only use b_profile options from the conference.Richard Mudgett
A user cannot set new bridge options after the conference is created by the first user. Attempting to do so is documented as undefined behavior. This patch ensures that the bridge profile options used are from the conference and not what a subsequent user may have tried to set. Change-Id: I1b6383eba654679e5739d5a8de98199cf074a266
2016-02-05Merge "app_confbridge.c: Replace inlined code with existing function."Joshua Colp
2016-02-05Merge topic 'ASTERISK-20987'Joshua Colp
* changes: app_confbridge: Add ability to get the muted conference state. app_confbridge.c: Update CONFBRIDGE and CONFBRIDGE_INFO documentation. app_confbridge: Make non-admin users join a muted conference muted.
2016-01-27app_confbridge.c: Replace inlined code with existing function.Richard Mudgett
Change-Id: Ida5594e9f8d7c1fc18eeb733a11f8fb96326da51
2016-01-27app_confbridge: Add ability to get the muted conference state.Richard Mudgett
* Added CONFBRIDGE_INFO(muted,) for querying the muted conference state. * Added Muted header to AMI ConfbridgeListRooms action response list events to indicate the muted conference state. * Added Muted column to CLI "confbridge list" output to indicate the muted conference state and made the locked column a yes/no value instead of a locked/unlocked value. ASTERISK-20987 Reported by: hristo Change-Id: I4076bd8ea1c23a3afd4f5833e9291b49a0c448b1
2016-01-27app_confbridge.c: Update CONFBRIDGE and CONFBRIDGE_INFO documentation.Richard Mudgett
Change-Id: Ic1f9e22ba1f2ff3b3f5cb017c5ddcd9bd48eccc7
2016-01-27app_confbridge: Make non-admin users join a muted conference muted.Richard Mudgett
ASTERISK-20987 #close Reported by: hristo Change-Id: Ic61a2b524ab3a4cfadf227fc6b3506527bc03f38
2016-01-25app_queue: Add Lastpause field of queue memberRodrigo Ramírez Norambuena
Add time when started a the last pause for a queue member for QueueMemberStatus ami event. Also show accumulate time in seconds when started a pause for a queue member to CLI command 'queue show'. ASTERISK-16394 #close Change-Id: I4b12aa3b2efa8d02939db3e13712510b4879865c
2016-02-03Merge "app_queue: fix some tab format"Joshua Colp
2016-02-03Merge "app_queue: Fix preserved reason of pause when Asterisk is restared"Joshua Colp
2016-02-03Merge "app_queue.c: remove include for core_unreal.h not used in code."Joshua Colp
2016-02-01build_system: Fix some warnings highlighted by clangGeorge Joseph
Fix some warnings found with clang. Change-Id: I5195b6189b148c2ee3ed4a19d015a6d4ef3e77bd
2016-01-23app_queue: fix some tab formatRodrigo Ramírez Norambuena
Change-Id: I2734392b131f1fb0949515d538f83f30fbc15d8c
2016-01-22app_queue.c: remove include for core_unreal.h not used in code.Rodrigo Ramírez Norambuena
Change-Id: Idc2ae8a6bd869a66544916906744a5678622262d
2016-01-19app_queue: Fix preserved reason of pause when Asterisk is restaredRodrigo Ramírez Norambuena
When the Asterisk is restared is not preseved reason paused of members. This patch fixed this cases, retain data on astdb and set when Asterisk is started. ASTERISK-25732 #close Report by: Rodrigo Ramírez Norambuena Change-Id: Id3fb744c579e006d27cda4a02334ac0e4bed9eb5
2016-01-05app_queue: Add member flag "in_call" to prevent reading wrong lastcall timeMartin Tomec
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
2016-01-05Merge "voicemail: Move app_voicemail / res_mwi_external conflict to runtime"Joshua Colp
2016-01-04voicemail: Move app_voicemail / res_mwi_external conflict to runtimeGeorge Joseph
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
2016-01-04app_dial: Immediately exit dial if the caller is already hung up.Richard Mudgett
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
2015-12-21app_amd: Correct maximum_number_of_words functionality & documentationDade Brandon
- The maximum_number_of_words was previously documented as being the number of words that when exceeded, would result in the AMD application returning that the audio represents a machine. This was inconsistent with its actual functionality - it was a number of words that when REACHED, would result in determination as a machine. This update corrects the functionality to match the previously documented functionality. This is a backwards incompatible change in configuration file, and has been added to UPGRADE.txt as a result. The sample configuration file and application defaults have been updated so that the default value is now 2, which reflects the same default functionality as previous versions. - 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
2015-12-14app_queue: update RT members when the 1st call joins a queue with no agentsCarlos Oliva
If a call enters on a queue and the members on that queue are updated in realtime (ex: using mysql inserting a new agent) the queue members are never refreshed and the call will stay in the queue until other event occurs. This happens only if this is the first call of the queue and there is no agents servicing. This patch prevent this issue, ensuring realtime members are updated if there is one call in the queue and no available agents ASTERISK-25442 #close Change-Id: If1e036d013a5c1d8b0bf60d71d48fe98694a8682
2015-12-09app_meetme: Set default value for audio_buffers.Corey Farrell
The default value was never set for audio_buffers, causing bad audio quality. This ensures the default is always set. ASTERISK-25569 #close Change-Id: I2d2ee3e644120b0f9f6ea6ab9286d7d590942a44
2015-11-28app_queue: Show reason of pause on CLIRodrigo Ramírez Norambuena
Add value of pause reason when is paused on CLI command "queue show" ASTERISK-25581 #close Report by: Rodrigo Ramírez Norambuena Change-Id: I887028a40cd97b350da9a3bb2719616b7fec9864
2015-11-19Merge "StatsD: Add sample rate compatibility"Joshua Colp
2015-11-18Merge "app_bridgeaddchan: ability to barge into existing call"Matt Jordan
2015-11-19app_bridgeaddchan: ability to barge into existing callAlec Davis
To be able to barge into a call by dialling a prefix+extension that maps to the extensions device. Senario is that DECT headset users may be away from their desks and need to transfer the call, the goal is that from any phone they dial a prefix then their extension and are added to the bridge that they are in, from there they can drop the headset call, as it's also on the handset, and transfer the caller. The dialplan would look like, where prefix=73, extension = 8512; exten => _738512,1,BridgeAdd(SIP/cisco0001) ASTERISK-25551 #close Reported By: Alec Davis Change-Id: I8eb5096a02168dcc8d7aeea416ef36ba4ed10540
2015-11-18StatsD: Add sample rate compatibilitytcambron
Implemented support for the StatsD sample rate parameter, which is a parameter for determining when to send computed statistics to a client. Valid sample rate values are: Less than or equal to 0.0 will never be sent. Between 0.0 and 1.0 will randomly be sent. Greater than or equal to 1.0 will always be sent. ASTERISK-25419 Reported By: Ashley Sanders Change-Id: I11d315d0a5034fffeae1178e650aa8264485ed52
2015-11-18app_queue: (try_calling): mutex 'qe->chan' freed more times than we've locked!Alec Davis
commit aae45acbd (Mark Michelson 2015-04-15 10:38:02 -0500 6525) refer ASTERISK-24958 above commit removed ast_channel_lock(qe->chan); but failed to remove corresponding ast_channel_unlock(qe->chan); ASTERISK-25561 #close Reported Alec Davis Change-Id: Ie05f4e2d08912606178bf1fded57cc022c7a2e1a
2015-11-16Confbridge: Add a user timeout optionMark Michelson
This option adds the ability to specify a timeout, in seconds, for a participant in a ConfBridge. When the user's timeout has been reached, the user is ejected from the conference with the CONFBRIDGE_RESULT channel variable set to "TIMEOUT". The rationale for this change is that there have been times where we have seen channels get "stuck" in ConfBridge because a network issue results in a SIP BYE not being received by Asterisk. While these channels can be hung up manually via CLI/AMI/ARI, adding some sort of automatic cleanup of the channels is a nice feature to have. ASTERISK-25549 #close Reported by Mark Michelson Change-Id: I2996b6c5e16a3dda27595f8352abad0bda9c2d98
2015-11-10Merge "ast_format_cap_get_names: To display all formats, the buffer was ↵Joshua Colp
increased."
2015-11-09ast_format_cap_get_names: To display all formats, the buffer was increased.Alexander Traud
ASTERISK-25533 #close Change-Id: Ie1a9d1a6511b3f1a56b93d04475fbf8a4e40010a
2015-11-06docs: Fix a few typo's in app docs (more then, resourse).Walter Doekes
Change-Id: Iba57efadf6c0b822e762c7a001bc89611d98afd7
2015-11-02Merge "StatsD: Send stuff to the StatsD server and test"Joshua Colp
2015-11-02StatsD: Send stuff to the StatsD server and testtcambron
Added code to allow the StatsD dialplan application to send data to the server specified in statsd.conf. ASTERISK-25419 Change-Id: I400db2f37c6ddf61515ff5a019646e36dcd0f922
2015-11-02Merge "app_queue: Added reason pause of member"Matt Jordan
2015-10-28StatsD: Add user input validation to the applicationtcambron
Added code to accept user input and validate it before allowing it to be sent to the StatsD server. ASTERISK-25419 Reported By: Ashley Sanders Change-Id: I55c7ce44326a68ad6c5c1514b9575ac50f25bbc3
2015-10-19app_queue: Added reason pause of memberRodrigo Ramírez Norambuena
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
2015-10-13Merge "StatsD: Write skeleton Asterisk application"Matt Jordan