Skip to content
Snippets Groups Projects
  1. Feb 04, 2021
  2. Jan 27, 2021
    • Dan Cropp's avatar
      chan_pjsip, app_transfer: Add TRANSFERSTATUSPROTOCOL variable · 55891227
      Dan Cropp authored
      When a Transfer/REFER is executed, TRANSFERSTATUSPROTOCOL variable is
      0 when no protocl specific error
      SIP example of failure, 3xx-6xx for the SIP error code received
      
      This allows applications to perform actions based on the failure
      reason.
      
      ASTERISK-29252 #close
      Reported-by: Dan Cropp
      
      Change-Id: Ia6a94784b4925628af122409cdd733c9f29abfc4
      55891227
  3. Jan 06, 2021
    • Kevin Harwell's avatar
      app_mixmonitor: cleanup datastore when monitor thread fails to launch · 3bcf4833
      Kevin Harwell authored
      launch_monitor_thread is responsible for creating and initializing
      the mixmonitor, and dependent data structures. There was one off
      nominal path after the datastore gets created that triggers when
      the channel being monitored is hung up prior to monitor starting
      itself.
      
      If this happened the monitor thread would not "launch", and the
      mixmonitor object and associated objects are freed, including the
      underlying datastore data object. However, the datastore itself was
      not removed from the channel, so when the channel eventually gets
      destroyed it tries to access the previously freed datastore data
      and crashes.
      
      This patch removes and frees datastore object itself from the channel
      before freeing the mixmonitor object thus ensuring the channel does
      not call it when destroyed.
      
      ASTERISK-28947 #close
      
      Change-Id: Id4f9e958956d62473ed5ff06c98ae3436e839ff8
      3bcf4833
    • Sean Bright's avatar
      app_voicemail: Prevent deadlocks when out of ODBC database connections · 44d68bd5
      Sean Bright authored
      ASTERISK-28992 #close
      
      Change-Id: Ia7d608924036139ee2520b840d077762d02668d0
      44d68bd5
  4. Dec 17, 2020
    • Sean Bright's avatar
      app_chanspy: Spyee information missing in ChanSpyStop AMI Event · 357510ce
      Sean Bright authored
      The documentation in the wiki says there should be spyee-channel
      information elements in the ChanSpyStop AMI event.
      
          https://wiki.asterisk.org/wiki/x/Xc5uAg
      
      However, this is not the case in Asterisk <= 16.10.0 Version. We're
      using these Spyee* arguments since Asterisk 11.x, so these arguments
      vanished in Asterisk 12 or higher.
      
      For maximum compatibility, we still send the ChanSpyStop event even if
      we are not able to find any 'Spyee' information.
      
      ASTERISK-28883 #close
      
      Change-Id: I81ce397a3fd614c094d043ffe5b1b1d76188835f
      357510ce
  5. Dec 01, 2020
  6. Nov 11, 2020
    • George Joseph's avatar
      app_queue: Fix deadlock between update and show queues · 73f458b1
      George Joseph authored
      Operations that update queues when shared_lastcall is set lock the
      queue in question, then have to lock the queues container to find the
      other queues with the same member. On the other hand, __queues_show
      (which is called by both the CLI and AMI) does the reverse. It locks
      the queues container, then iterates over the queues locking each in
      turn to display them.  This creates a deadlock.
      
      * Moved queue print logic from __queues_show to a separate function
        that can be called for a single queue.
      
      * Updated __queues_show so it doesn't need to lock or traverse
        the queues container to show a single queue.
      
      * Updated __queues_show to snap a copy of the queues container and iterate
        over that instead of locking the queues container and iterating over
        it while locked.  This prevents us from having to hold both the
        container lock and the queue locks at the same time.  This also
        allows us to sort the queue entries.
      
      ASTERISK-29155
      
      Change-Id: I78d4dc36728c2d7bc187b97d82673fc77f2bcf41
      73f458b1
  7. Nov 03, 2020
  8. Oct 02, 2020
  9. Sep 01, 2020
    • Kfir Itzhak's avatar
      app_queue: Fix leave-empty not recording a call as abandoned · c3a3ab86
      Kfir Itzhak authored
      This fixes a bug introduced mistakenly in ASTERISK-25665:
      If leave-empty is enabled, a call may sometimes be removed from
      a queue without recording it as abandoned.
      This causes Asterisk to not generate an abandon event for that
      call, and for the queue abandoned counter to be incorrect.
      
      ASTERISK-29043 #close
      
      Change-Id: I1a71b81df78adff59af587f1d8483cf57df430c7
      c3a3ab86
  10. Aug 25, 2020
    • Sean Bright's avatar
      app_voicemail: Process urgent messages with mailcmd · c925ed0e
      Sean Bright authored
      Rather than putting messages into INBOX and then moving them to Urgent
      later, put them directly in to the Urgent folder. This prevents
      mailcmd from being skipped.
      
      ASTERISK-27273 #close
      
      Change-Id: I49934e093290d308506ab8d45a40ef705c5ae4f5
      c925ed0e
    • Evandro César Arruda's avatar
      app_queue: Member lastpause time reseting · b2bd38a4
      Evandro César Arruda authored
      This fixes the reseting members lastpause problem when realtime members is being used,
      the function rt_handle_member_record was forcing the reset members lastpause because it
      does not exist in realtime
      
      ASTERISK-29034 #close
      
      Change-Id: Ic9107e4456732a1f78412a32adb2ef87f5da40b5
      b2bd38a4
  11. Aug 24, 2020
    • George Joseph's avatar
      scope_trace: Added debug messages and added additional macros · 64ca2d48
      George Joseph authored
      The SCOPE_ENTER and SCOPE_EXIT* macros now print debug messages
      at the same level as the scope level.  This allows the same
      messages to be printed to the debug log when AST_DEVMODE
      isn't enabled.
      
      Also added a few variants of the SCOPE_EXIT macros that will
      also call ast_log instead of ast_debug to make it easier to
      use scope tracing and still print error messages.
      
      Change-Id: I7fe55f7ec28069919a0fc0b11a82235ce904cc21
      64ca2d48
  12. Aug 18, 2020
    • George Joseph's avatar
      ACN: Changes specific to the core · 647c53c4
      George Joseph authored
      Allow passing a topology from the called channel back to the
      calling channel.
      
       * Added a new function ast_queue_answer() that accepts a stream
         topology and queues an ANSWER CONTROL frame with it as the
         data.  This allows the called channel to indicate its resolved
         topology.
      
       * Added a new virtual function to the channel tech structure
         answer_with_stream_topology() that allows the calling channel
         to receive the called channel's topology.  Added
         ast_raw_answer_with_stream_topology() that invokes that virtual
         function.
      
       * Modified app_dial.c and features.c to grab the topology from the
         ANSWER frame queued by the answering channel and send it to
         the calling channel with ast_raw_answer_with_stream_topology().
      
       * Modified frame.c to automatically cleanup the reference
         to the topology on ANSWER frames.
      
      Added a few debugging messages to stream.c.
      
      Change-Id: I0115d2ed68d6bae0f87e85abcf16c771bdaf992c
      647c53c4
  13. Jul 09, 2020
  14. Jul 08, 2020
    • George Joseph's avatar
      ACN: Add tracing to existing code · 9bd1d686
      George Joseph authored
      Prior to making any modifications to the pjsip infrastructure
      for ACN, I've added the tracing functions to the existing code.
      This should make the final commit easier to review, but we can also
      now run a "before and after" trace.
      
      No functional changes were made with this commit.
      
      Change-Id: Ia83a1a2687ccb96f2bc8a2a3928a5214c4be775c
      9bd1d686
  15. Jun 19, 2020
    • Joshua C. Colp's avatar
      app_stream_echo: Fix state of added streams. · 00a52b47
      Joshua C. Colp authored
      When stream support was added to Asterisk the stream state
      was used inconsistently, resulting in odd behavior. This
      was then standardized to be the state of a stream from the
      perspective of Asterisk.
      
      This change updates the StreamEcho dialplan application
      to use the correct state, send only, since we are only
      sending to the endpoint and not expecting them to send us
      multiple video streams.
      
      ASTERISK-28954
      
      Change-Id: I35bfd533ef1184ffe62586b22bbd253c82872a56
      00a52b47
  16. Jun 17, 2020
  17. Jun 16, 2020
    • Walter Doekes's avatar
      app_queue: Read latest wrapuptime instead of (possibly stale) copy · 0fb67383
      Walter Doekes authored
      Before this changeset, it was possible that a queue member (agent) was
      called even though they just got out of a call, and wrapuptime seconds
      hadn't passed yet.
      
      This could happen if a member ended a call _between_ a new call attempt
      and asterisk trying that particular member for a new call.
      
      In that case, Asterisk would check the hangup time of the
      call-before-the-last-call instead of the hangup time of the-last-call.
      
      ASTERISK-28952
      
      Change-Id: Ie0cab8f0e8d639c01cba633d4968ba19873d80b3
      0fb67383
  18. Jun 10, 2020
    • George Joseph's avatar
      app_confbridge: Plug ref leak of bridge channel with send_events · b9f42a71
      George Joseph authored
      When send_events is enabled for a user, we were leaking a reference
      to the bridge channel in confbridge_manager.c:send_message().  This
      also caused the bridge snapshot to not be destroyed.
      
      Change-Id: I87a7ae9175e3cd29f6d6a8750e0ec5427bd98e97
      b9f42a71
    • Kevin Harwell's avatar
      Compiler fixes for gcc 10 · 3d1bf3c5
      Kevin Harwell authored
      This patch fixes a few compile warnings/errors that now occur when using gcc
      10+.
      
      Also, the Makefile.rules check to turn off partial inlining in gcc versions
      greater or equal to 8.2.1 had a bug where it only it only checked against
      versions with at least 3 numbers (ex: 8.2.1 vs 10). This patch now ensures
      any version above the specified version is correctly compared.
      
      Change-Id: I54718496eb0c3ce5bd6d427cd279a29e8d2825f9
      3d1bf3c5
  19. May 11, 2020
    • traud's avatar
      app_osplookup: Avoid a format truncation. · 527e4f65
      traud authored
      Ensure that output buffers for the osp_convert_inout
      function have sufficient space for additional data
      such as brackets and ports.
      
      ASTERISK-28804
      
      Change-Id: Ie54c8241ff0cc653910539c2db00ff2a4869750b
      527e4f65
  20. May 06, 2020
  21. Apr 30, 2020
  22. Apr 24, 2020
    • Alexander Traud's avatar
      app_fax: SpanDSP headers do not use ast_malloc; ignore that. · 26b8c999
      Alexander Traud authored
      Since Asterisk 14, app_fax did not compile at all because Asterisk
      requires that not malloc but ast_malloc is used everywhere. However,
      the system headers of SpanDSP use malloc. Because we cannot (and do
      not need to) change system headers, let us ignore this.
      
      ASTERISK-28848
      
      Change-Id: I31f7a6b92a07032c5cef1c16b8901b107fe35546
      26b8c999
  23. Apr 20, 2020
    • Joshua C. Colp's avatar
      confbridge: Add support for disabling text messaging. · 6cfc6ff5
      Joshua C. Colp authored
      When in a conference bridge it may be necessary to have
      text messages disabled for specific participants or for
      all. This change adds a configuration option, "text_messaging",
      which can be used to enable or disable this on the
      user profile. By default existing behavior is preserved
      as it defaults to "yes".
      
      ASTERISK-28841
      
      Change-Id: I30b5d9ae6f4803881d1ed9300590d405e392bc13
      6cfc6ff5
    • Alexander Traud's avatar
      app_getcpeid: Add build-time dependency. · 5c2b8fde
      Alexander Traud authored
      ASTERISK-28838
      
      Change-Id: I68b78e7e4718be82507247433127ce3992a5ba96
      5c2b8fde
  24. Mar 25, 2020
  25. Mar 13, 2020
    • Joshua C. Colp's avatar
      audiohook: Don't allow audiohooks to attach to hung up channels. · 98d10d0a
      Joshua C. Colp authored
      Given a scenario where MixMonitor was initiated over AMI it
      was possible for the channel and MixMonitor thread to remain
      alive past hang up of the channel. This scenario required
      the AMI initiated MixMonitor to retrieve the channel, a
      hangup to occur on the channel in another thread, and then
      for MixMonitor to actually start. If this occurred the
      MixMonitor thread would remain alive indefinitely and
      the channel reference would remain.
      
      This change ensures that audiohooks are never able to
      be attached to channels that have been hung up. An
      additional fix has also been done in app_mixmonitor to
      properly release the channel reference if this occurs.
      
      ASTERISK-28780
      
      Change-Id: I8044c06daa06f0f16607788c596f55623be26f58
      98d10d0a
  26. Feb 25, 2020
  27. Feb 18, 2020
    • Sean Bright's avatar
      app_mixmonitor: Turn on synchronization by default · 8dcdce42
      Sean Bright authored
      The optional synchronization behavior created in
      64906c4c is now the default for
      MixMonitor.
      
      * Add a new flag 'n' that allows for this behavior to be turned off
      
      * Add a notice when the 'S' option is used indicating that it is no
        longer necessary
      
      Change-Id: I158987c475cda4e1ff1256dd0daccdd99df568b4
      8dcdce42
  28. Feb 17, 2020
    • Sean Bright's avatar
      app_mixmonitor: Set MIXMONITOR_FILENAME to correct value when wav49 is used · ddfb60ac
      Sean Bright authored
      When opening a file for writing, Asterisk silently converts filenames
      ending with 'wav49' to 'WAV.' We aren't taking that in to account when
      setting the MIXMONITOR_FILENAME variable in MixMonitor.
      
      * If the user wants to write to a wav49 file, make sure that it is
        reflected properly in MIXMONITOR_FILENAME.
      
      * Add a note to the documentation describing this behavior.
      
      * Add a note in main/file.c indicating that app_mixmonitor needs to be
        changed if the logic in build_filename was changed.
      
      ASTERISK-24798 #close
      Reported by: xrobau
      
      Change-Id: I384691ce624eb55c80a125b9ca206d2d691c574c
      ddfb60ac
  29. Jan 16, 2020
  30. Jan 15, 2020
  31. Jan 14, 2020
    • Sean Bright's avatar
      app_voicemail: Set globals to default values when voicemail.conf missing · 9be89d99
      Sean Bright authored
      If voicemail.conf exists but is empty, the config parsing process will
      default a number of global variables to non-zero values. On the other
      hand, if voicemail.conf is missing (arguably semantically equivalent
      to an empty file), this process is skipped and the globals are
      defaulted to 0.
      
      Set the globals to the same values they would be set to if a
      configuration were present. This allows voicemail configuration to be
      done completely by Realtime without the need to create an empty
      voicemail.conf file.
      
      ASTERISK-27622 #close
      Reported by: Jim Van Meggelen
      
      Change-Id: Id907d280f310f12e542ca527e6a025432b9fb409
      9be89d99
    • Seán C McCord's avatar
      feat: AudioSocket channel, application, and ARI support. · 163efbd7
      Seán C McCord authored
      This commit adds support for
      [AudioSocket](
      https://wiki.asterisk.org/wiki/display/AST/AudioSocket),
      a very simple bidirectional audio streaming protocol. There are both
      channel and application interfaces.
      
      A description of the protocol can be found on the above referenced
      GitHub page.  A short talk about the reasons and implementation can be
      found on [YouTube](https://www.youtube.com/watch?v=tjduXbZZEgI), from
      CommCon 2019.
      
      ARI support has also been added via the existing "externalMedia" ARI
      functionality. The UUID is specified using the arbitrary "data" field.
      
      ASTERISK-28484 #close
      
      Change-Id: Ie866e6c4fa13178ec76f2a6971ad3590a3a588b5
      163efbd7
  32. Jan 12, 2020
    • Sean Bright's avatar
      app_queue: Deprecate the QueueMemberPause.Reason field · 9522390a
      Sean Bright authored
      The QueueMemberPause AMI event includes two fields that return the
      reason a member was paused.
      
      * In release branches, deprecate Reason in favor of PausedReason.
      * In master, remove the Reason field entirely.
      
      ASTERISK-28349 #close
      Reported by: Niksa Baldun
      
      Change-Id: I01da58f2b0ab927baeee754870f62b51b7b3d296
      9522390a
  33. Jan 09, 2020
    • Corey Farrell's avatar
      app_record: Do not hang up if beep audio is missing · 2f8b20b9
      Corey Farrell authored
      Additionally alter the warning to mention that it was "beep" which could
      not be streamed to give admins a better clue about what the warning
      means.
      
      ASTERISK-28682
      
      Change-Id: If5aed21226a173117ed17589f44826dd1ba6576e
      2f8b20b9
Loading