Skip to content
Snippets Groups Projects
  1. Oct 14, 2019
    • cmaj's avatar
      app_voicemail.c: Support multiple file formats for forwarded messages. · 2d67dbfe
      cmaj authored
      If you specify multiple formats in voicemail.conf, eg. "format = gsm|wav"
      and are using realtime ODBC backend, only the first format gets stored
      in the database. So when you forward a message later on, there is a bug
      generating the email, related to the stored format (GSM) being different
      than the desired email format (WAV) specified for the user. Sox can
      handle this, but Asterisk needs to tell sox exactly what to do.
      
      ASTERISK-22192
      
      Change-Id: I7321e7f7e7c58adbf41dd4fd7191c887b9b2eafd
      2d67dbfe
  2. Oct 08, 2019
  3. Sep 19, 2019
  4. Aug 15, 2019
  5. Aug 06, 2019
    • Sean Bright's avatar
      app_voicemail: Remove extra menuselect build options · 9d07d5a6
      Sean Bright authored
      You now select voicemail backends like normal dialplan applications, so
      there is no longer a need for their own menuselect category.
      
      Reported by snuff-work in #asterisk-dev
      
      Change-Id: Idfa4c9c8349726074318a9e6b68d24c374521005
      9d07d5a6
  6. Jul 09, 2019
    • Kevin Harwell's avatar
      app_voicemail: Remove dependency on the stasis cache · c93c5791
      Kevin Harwell authored
      app_voicemail utilized the stasis cache when polling mailboxes for MWI. This
      caused a memory leak (items were not being appropriately removed from the
      cache), and subsequent slowdown in system processing. This patch removes the
      stasis cache dependency, thus alleviating the memory leak. It does this by
      utilizing the new MWI API that better manages state lifetime.
      
      ASTERISK-28443
      ASTERISK-27121
      
      Change-Id: Ie89fedaca81ea1fd03d150d9d3a1ef3d53740e46
      c93c5791
  7. Apr 23, 2019
    • Kevin Harwell's avatar
      mwi core: Move core MWI functionality into its own files · ff0d0ac2
      Kevin Harwell authored
      There is enough MWI functionality to warrant it having its own 'c' and header
      files. This patch moves all current core MWI data structures, and functions
      into the following files:
      
      main/mwi.h
      main/mwi.c
      
      Note, code was simply moved, and not modified. However, this patch is also in
      preparation for core MWI changes, and additions to come.
      
      Change-Id: I9dde8bfae1e7ec254fa63166e090f77e4d3097e0
      ff0d0ac2
  8. Apr 13, 2019
    • Sean Bright's avatar
      app_voicemail: Don't split mailbox options on comma · d58d7d45
      Sean Bright authored
      Because the per-mailbox options are the last thing on a line, don't look
      for or stomp on any subsequent commas.
      
      ASTERISK-27935 #close
      Reported by: Sébastien Duthil
      
      Change-Id: I07b2eb4a33c303d0c7114d5b906f8c067c60a153
      d58d7d45
  9. Apr 12, 2019
    • Sean Bright's avatar
      app_voicemail: Cleanup stale lock files on module load · 63f86cac
      Sean Bright authored
      If Asterisk crashes while a VM directory is locked, lock files in the VM
      spool directory will not get properly cleaned up. We now clear them on
      module load.
      
      ASTERISK-20207 #close
      Reported by: Steven Wheeler
      
      Change-Id: If40ccd508e2f6e5ade94dde2f0bcef99056d0aaf
      63f86cac
  10. Mar 11, 2019
    • Joshua Colp's avatar
      stasis: Improve topic/subscription names and statistics. · 0231dd6a
      Joshua Colp authored
      Topic names now follow: <subsystem>:<functionality>[/<object>]
      
      This ensures that they are all unique, and also provides better
      insight in to what each topic is for.
      
      Subscriber ids now also use the main topic name they are
      subscribed to and an incrementing integer as their identifier to
      make it easier to understand what the subscription is primarily
      responsible for.
      
      Both the CLI commands for listing topic and subscription statistics
      now sort to make it a bit easier to see what is going on.
      
      Subscriptions will now show all topics that they are receiving messages
      from, not just the main topic they were subscribed to.
      
      ASTERISK-28335
      
      Change-Id: I484e971a38c3640f2bd156282e532eed84bf220d
      0231dd6a
  11. Feb 07, 2019
    • Joshua Colp's avatar
      res_odbc: Add basic query logging. · 54a912b2
      Joshua Colp authored
      When Asterisk is connected and used with a database the response
      time of the database can cause problems in Asterisk if it is long.
      Normally the only way to see this problem would be to retrieve a
      backtrace from Asterisk and examine where things are blocked, or
      examine the database to see if there is any indication of a
      problem.
      
      This change adds some basic query logging to make it easier to
      investigate such a problem. When logging is enabled res_odbc will
      now keep track of the number of queries executed, as well as the
      query that has taken the longest time to execute. There is also
      an option which will cause a WARNING message to be output if a
      query takes longer than a configurable amount of time to execute.
      
      This makes it easier and clearer for users that their database may
      be experiencing a problem that could impact Asterisk.
      
      ASTERISK-28277
      
      Change-Id: I173cf4928b10754478a6a8c27dfa96ede0f058a6
      54a912b2
  12. Jan 22, 2019
    • George Joseph's avatar
      app_voicemail: Add Mailbox Aliases · c6980e32
      George Joseph authored
      You can now define an "aliases" context in voicemail.conf
      whose entries point to actual mailboxes.  These can be used anywhere
      the mailbox is specified.
      
      Example:
      [general]
      aliasescontext = myaliases
      
      [default]
      1234 = yadayada
      
      [myaliases]
      4321@devices = 1234@default
      
      Now you can use 4321@devices to refer to the 1234@default mailbox.
      
      This can be useful to provide channel drivers with constant
      mailbox specifications such as <extension>@devices leaving
      app_voicemail to control exactly which mailbox the alias points to.
      Now, only voicemail has to be reloaded to make changes instead of
      individual channel drivers which are usually more expensive to
      reload.
      
      Change-Id: I395b9205c91523a334fe971be0d1de4522067b04
      c6980e32
  13. Jan 02, 2019
  14. Dec 18, 2018
    • George Joseph's avatar
      app_voicemail: Don't delete mailbox state unless mailbox is deleted · c23c8d92
      George Joseph authored
      The free_user function was automatically deleting the stasis mailbox
      state but this only makes sense when the mailbox is actually
      deleted, not just the structure freed.  This was causing issues
      where leave_voicemail would publish the mwi message to stasis and
      delete the state before the message could be processed by
      res_pjsip_mwi.
      
      * Removed the delete of state from free_user().
      
      * Created a new free_user_final() function that both frees the data
        structure and deletes the state.  This function is only called
        during module load/unload where it's appropriate to delete the
        state.
      
      ASTERISK-28215
      
      Change-Id: I305e8b3c930e9ac41d901e5dc8a58fd7904d98dd
      c23c8d92
  15. Nov 29, 2018
    • George Joseph's avatar
      Revert "app_voicemail: Remove need to subscribe to stasis" · 4f0bf027
      George Joseph authored
      This reverts commit 29115e23.
      
      That commit closed a long standing hole which allowed subscriptions
      to mailboxes that weren't configured in voicemail.conf.  This
      caused an issue with FreePBX which depdended on that behavior.
      The commit is being reverted until FreePBX can handle the new
      behavior.
      
      ASTERISK-28151
      Reported by: Ronald Raikes
      
      Change-Id: I57b7b85e75d7dd97c742b5c69d718a0f61260c15
      4f0bf027
  16. Nov 21, 2018
  17. Sep 24, 2018
    • George Joseph's avatar
      app_voicemail: Cleanup mailbox topic and cache · 06c0676d
      George Joseph authored
      app_voicemail wasn't properly cleaning up the stasis cache or the
      mwi topic pool when the module was unloaded or when a user was
      deleted as a result of a reload.  This resulted in leaks in both
      areas.
      
      * app_voicemail now calls ast_delete_mwi_state_full when it frees
        a user structure and ast_delete_mwi_state_full in turn now calls
        the new stasis_topic_pool_delete_topic function to clear the topic
        from the pool.
      
      Change-Id: Ide23144a4a810e7e0faad5a8e988d15947965df8
      06c0676d
  18. Sep 21, 2018
    • George Joseph's avatar
      app_voicemail: Fix stack overrun in append_mailbox · 22cf065e
      George Joseph authored
      The append_mailbox function wasn't calculating the correct length
      to pass to ast_alloca and it wasn't handling the case where context
      might be empty.
      
      Found by the Address Sanitizer.
      
      Change-Id: I7eb51c7bd18a7a8dbdba261462a95cc69e84f161
      22cf065e
  19. Sep 18, 2018
    • George Joseph's avatar
      app_voicemail: Remove need to subscribe to stasis · cdece3b6
      George Joseph authored
      app_voicemail was using the stasis cache to build and maintain a
      list of mailboxes that had subscribers.  It then used this list
      to determine if a mailbox should be polled for new messages if
      polling was enabled.  For this to work, stasis had to cache every
      subscription and unsubscription to the mailbox which caused a lot of
      overhead, both cpu and memory related.
      
      Since polling is only required when changes are being made to
      mailboxes outside of app_voicemail and since the number of mailboxes
      that don't have any subscribers is likely to be very low, all
      mailboxes are now polled instead of just the ones with subscribers.
      
      This paves the way for disabling the caching of stasis subscription
      change messages.
      
      Also fixed cleanup in some of the unit tests that not only left
      test users in the users list but also caused segfaults if the tests
      were run more than once.
      
      ASTERISK-27121
      
      Change-Id: I5cceb737246949f9782955c64425b8bd25a9e9ee
      cdece3b6
  20. May 17, 2018
  21. May 11, 2018
    • Corey Farrell's avatar
      Fix GCC 8 build issues. · b5914d90
      Corey Farrell authored
      This fixes build warnings found by GCC 8.  In some cases format
      truncation is intentional so the warning is just suppressed.
      
      ASTERISK-27824 #close
      
      Change-Id: I724f146cbddba8b86619d4c4a9931ee877995c84
      b5914d90
  22. Mar 17, 2018
    • Alexander Traud's avatar
      BuildSystem: Remove unused dependency on libltdl. · 10a97882
      Alexander Traud authored
      Asterisk does not need the development package of libltdl, because it does not
      use any symbol of -lltdl directly. Instead, it uses the runtime package via the
      shared library -lodbc. On the supported platforms, that shared library declares
      its dependency on -lltdl correctly, otherwise AST_EXT_LIB_CHECK would have
      failed.
      
      ASTERISK-27745
      
      Change-Id: Icd315809b8e7978203431f3afb66240dd3a040ba
      10a97882
  23. Mar 16, 2018
    • George Joseph's avatar
      app_voicemail: Fix json blob errors · 4d1e3fef
      George Joseph authored
      When app_voicemail calls ast_test_suite_notify with the results of
      a user keypress, it formats the keypress as '%c'.  If the user hung up
      or some other error occurrs, the result of the keypress is a non
      printable character.  This ultimately causes json_vpack_ex to think
      it's being passed a non utf-8 string and return an error.
      
      * Keypress results passed to ast_test_suite_notify are now checked with
        isprint() and a '?' is substituted if the check fails.
      
      Change-Id: I78ee188916bbac840f3d03f40201b692347ea865
      4d1e3fef
  24. Mar 07, 2018
  25. Jan 29, 2018
  26. Jan 15, 2018
    • Corey Farrell's avatar
      loader: Add dependency fields to module structures. · 9cfdb81e
      Corey Farrell authored
      * Declare 'requires' and 'enhances' text fields on module info structure.
      * Rename 'nonoptreq' to 'optional_modules'.
      * Update doxygen comments.
      
      Still need to investigate dependencies among modules I cannot compile.
      
      Change-Id: I3ad9547a0a6442409ff4e352a6d897bef2cc04bf
      9cfdb81e
  27. Dec 22, 2017
  28. Dec 21, 2017
  29. Dec 20, 2017
    • Corey Farrell's avatar
      Fix Common Typo's. · 1b80ffa4
      Corey Farrell authored
      Fix instances of:
      * Retreive
      * Recieve
      * other then
      * different then
      * Repeated words ("the the", "an an", "and and", etc).
      * othterwise, teh
      
      ASTERISK-24198 #close
      
      Change-Id: I3809a9c113b92fd9d0d9f9bac98e9c66dc8b2d31
      1b80ffa4
  30. Dec 19, 2017
    • Corey Farrell's avatar
      app_voicemail: Fix memory management issues. · dc04d1ec
      Corey Farrell authored
      * mwi_sub_event_cb: mwist leaked on separate_mailbox failure.
      * add_email_attachment: A reference to sox_gain_tmpdir was used
        after the storage was out of scope.
      
      Change-Id: I6282c542ff7b82fa091177a912d11234a8b00a30
      dc04d1ec
  31. Dec 13, 2017
    • pchero's avatar
      Add new AMI action for app_voicemail · daa3a300
      pchero authored
      Currently, to figure out specified voicemail's status, there's only one
      way to do it, which is use a VoicemailUserEntry AMI message.
      But it consumed it too much resource(it check everything).
      So, added new AMI action.
      
      ASTERISK-27470
      
      Change-Id: Ie4eba1424a142e5fbd1d9fb1821a3fc1a1e238b7
      daa3a300
  32. Dec 04, 2017
    • Sungtae Kim's avatar
      Add new object for VoicemailUserEntry · 0611fe58
      Sungtae Kim authored
      Currently, when the app_voicemail sending VoicemailUserEntry AMI event, there's
      no OldMessageCount info for default.
      To check the OldMessageCount info, it required IMAP_STORAGE define, but this is
      not correct.
      Added OldMessageCount item as a default.
      
      ASTERISK-27456
      
      Change-Id: I5c71521c2d1daf8b7b161e31c34d28cca6aea4c7
      0611fe58
  33. Oct 26, 2017
  34. Aug 25, 2017
    • Sean Bright's avatar
      voicemail: Fix various abuses of mkstemp · da13cdb9
      Sean Bright authored
      mkstemp() returns a unique filename, but appending an extension to that
      filename does not guarantee uniqueness. Instead, use mkdtemp() and we
      can put whatever extension we want on the files that we create inside
      the directory.
      
      In the case of app_minivm, we also now properly clean up any temporary
      files that we create.
      
      ASTERISK-20858 #close
      Reported by: Walter Doekes
      
      Change-Id: I30ad04f0e115f0b11693ff678ba5184d8b938e43
      da13cdb9
  35. Aug 24, 2017
  36. Aug 01, 2017
    • Corey Farrell's avatar
      Fix compiler warnings on Fedora 26 / GCC 7. · 58d03211
      Corey Farrell authored
      GCC 7 has added capability to produce warnings, this fixes most of those
      warnings.  The specific warnings are disabled in a few places:
      
      * app_voicemail.c: truncation of paths more than 4096 chars in many places.
      * chan_mgcp.c: callid truncated to 80 chars.
      * cdr.c: two userfields are combined to cdr copy, fix would break ABI.
      * tcptls.c: ignore use of deprecated method SSLv3_client_method().
      
      ASTERISK-27156 #close
      
      Change-Id: I65f280e7d3cfad279d16f41823a4d6fddcbc4c88
      58d03211
  37. Jul 21, 2017
    • Richard Mudgett's avatar
      app_voicemail.c: Allow mailbox entry on authentication retry prompt. · 92293075
      Richard Mudgett authored
      The following testsuite voicemail tests were failing to re-enter the
      mailbox after the first login attempt.
      
      tests/apps/voicemail/authenticate_invalid_mailbox
      tests/apps/voicemail/authenticate_invalid_password
      
      The tests were noting the start of the vm-incorrect-mailbox prompt and
      immediately sending the mailbox for the next login attempt.  Since the
      invalid message playback had to complete before the digits were
      recognized, the test passed for the wrong reason and added approximately
      20 seconds to the test times.
      
      * Allow the vm-incorrect-mailbox prompt to get interrupted by the mailbox
      digits like the initial vm-login prompt so the tests are able to enter the
      intended mailbox.
      
      Change-Id: I1dc53fe917bfe03a4587b2c4cd24c94696a69df8
      92293075
  38. Jul 05, 2017
    • Sean Bright's avatar
      core: Remove 'Data Retrieval API' · 325eeced
      Sean Bright authored
      This API was not actively maintained, was not added to new modules
      (such as res_pjsip), and there exist better alternatives to acquire the
      same information, such as the ARI.
      
      Change-Id: I4b2185a83aeb74798b4ad43ff8f89f971096aa83
      325eeced
Loading