Skip to content
Snippets Groups Projects
  1. Jul 18, 2018
  2. Jul 13, 2018
    • George Joseph's avatar
      app_confbridge: Use the SDP 'label' attribute to correlate users · 34f3fe95
      George Joseph authored
      Previously, the msid "label" attribute was used to correlate
      participant info but because streams could be reused, the msid
      wasn't being updated correctly when someone left the bridge and
      another joined.
      
      Now, instead of looking for the msid attribute on a channel's streams,
      app_confbridge sets an "SDP:LABEL" attribute on the stream which
      res_pjsip_sdp_rtp looks for.  If it finds it, it adds a "label"
      attribute to the current sdp.
      
      Change-Id: I6cbaa87fb59a2e0688d956e72d2d09e4ac20d5a5
      34f3fe95
  3. Jun 29, 2018
    • Robert Mordec's avatar
      app_confbridge: Bridge and announcers not removed if conference ends quickly · 9d3f3a4b
      Robert Mordec authored
      If a conference is ended very quickly after it was created (i.e., the
      first user immediately hangs up) then the conference bridge and announcer
      channels are not removed.
      
      When a conference is created, the push_announcer() function is added to
      the playback queue task processor and the conference object reference is
      bumped.  If a conference is ended while the push_announcer() function is
      still going then the ao2_cleanup(conference) at the end of
      push_announcer() will call the destructor function -
      destroy_conference_bridge().
      
      The destroy_conference_bridge() function will then add the
      hangup_playback() task to the playback queue and will wait for it to end.
      Since it is already a current task of the playback queue it will wait
      forever.
      
      This patch makes the conference thread call push_announcer() directly.
      This way the conference object reference bump is not needed.  Since the
      playback queue task processor is only used by the conference thread
      itself, there is no danger of trying to play announcements before the
      announcer is pushed to the bridge.
      
      ASTERISK-27870 #close
      
      Change-Id: I947a50fb121422d90fd1816d643a54d75185a477
      9d3f3a4b
  4. Jun 26, 2018
    • George Joseph's avatar
      app_confbridge: Move participant info code to confbridge_manager. · 5f12e2bd
      George Joseph authored
      With the participant info code in app_confbridge, we were still
      in the process of adding the channel to the bridge when trying to send
      an in-dialog MESSAGE.  This caused 2 threads to grab the channel
      blocking flag at the same time.  To mitigate this, the participant
      info code was moved to confbridge_manager so it runs after all
      channel/bridge actions have finished.
      
      Change-Id: I228806ac153074f45e0b35d5236166e92e132abd
      5f12e2bd
  5. Jun 21, 2018
    • Kristian F. Høgh's avatar
      app_queue: Add option for predial handlers on caller and callee channels · 184b375b
      Kristian F. Høgh authored
      Add predial handler support to app_queue.  app_dial (ASTERISK_19548) and
      app_originate (ASTERISK_26587) have the ability to execute predial
      handlers on caller and callee channels.  This patch adds predial handlers
      to app_queue and uses the same options as Dial and Originate (b and B).
      The caller routine gets executed when the caller first enters the queue.
      The callee routine gets executed for each queue member when they are about
      to be called.
      
      ASTERISK-27912
      
      Change-Id: I5acf5c32587ee008658d12e8a8049eb8fa4d0f24
      184b375b
  6. Jun 19, 2018
  7. Jun 15, 2018
    • Sam Wierema's avatar
      app_mp3: remove 10 seconds of silence after mp3 playback · 4c7ab734
      Sam Wierema authored
      This patch changes the way asterisk polls output from mpg123, instead
      of waiting for 10 seconds(when playing an http url) it now uses a
      timeout of one second and iterates 10 times using this same timeout.
      
      The main difference is that for every timeout asterisk receives it now
      checks if mpg123 is still running before poll again.
      
      ASTERISK-27752
      
      Change-Id: Ib7df8462e3e380cb328011890ad9270d9e9b4620
      4c7ab734
  8. Jun 13, 2018
    • George Joseph's avatar
      app_confbridge: Enable sending events to participants · e7a7506f
      George Joseph authored
      ConfBridge can now send events to participants via in-dialog MESSAGEs.
      All current Confbridge events are supported, such as ConfbridgeJoin,
      ConfbridgeLeave, etc.  In addition to those events, a new event
      ConfbridgeWelcome has been added that will send a list of all
      current participants to a new participant.
      
      For all but the ConfbridgeWelcome event, the JSON message contains
      information about the bridge, such as its id and name, and information
      about the channel that triggered the event such as channel name,
      callerid info, mute status, and the MSID labels for their audio and
      video tracks. You can use the labels to correlate callerid and mute
      status to specific video elements in a webrtc client.
      
      To control this behavior, the following options have been added to
      confbridge.conf:
      
      bridge_profile/enable_events:  This must be enabled on any bridge where
      events are desired.
      
      user_profile/send_events:  This must be set for a user profile to send
      events.  Different user profiles connected to the same bridge can have
      different settings.  This allows admins to get events but not normal
      users for instance.
      
      user_profile/echo_events:  In some cases, you might not want the user
      triggering the event to get the event sent back to them.  To prevent it,
      set this to false.
      
      A change was also made to res_pjsip_sdp_rtp to save the generated msid
      to the stream so it can be re-used.  This allows participant A's video
      stream to appear as the same label to all other participants.
      
      Change-Id: I26420aa9f101f0b2387dc9e2fd10733197f1318e
      e7a7506f
  9. Jun 04, 2018
    • George Joseph's avatar
      app_sendtext: Allow content types other than text/plain · 437ab418
      George Joseph authored
      There was no real reason to limit the conteny type to text/plain other
      than that's what it was limited to before.  Now any text/* content
      type will be allowed for channel drivers that don't support enhanced
      messaging and any type will be allowed for channel drivers that do
      support enhanced messaging.
      
      Change-Id: I94a90cfee98b4bc8e22aa5c0b6afb7b862f979d9
      437ab418
  10. Jun 01, 2018
    • William McCall's avatar
      app_confbridge: Add talking indicator for ConfBridgeList AMI response · a7f41212
      William McCall authored
      When an AMI client connects, it cannot determine if a user was talking
      prior to a transition in the user speaking state (which would generate
      a ConfbridgeTalking event). This patch causes app_confbridge to track the
      talking state and make this state available via ConfBridgeList.
      
      ASTERISK-27877 #close
      
      Change-Id: I19b5284f34966c3fda94f5b99a7e40e6b89767c6
      a7f41212
  11. May 29, 2018
    • Richard Mudgett's avatar
      app_meetme: Fix manager event documentation for several events. · 6bbede84
      Richard Mudgett authored
      The MeetmeJoin, MeetmeLeave, MeetmeEnd, MeetmeMute, MeetmeTalking, and
      MeetmeTalkRequest AMI events were documented with sending out a Usernum
      header when the User header was actually output.
      
      * Change the online documentation to match reality.
      
      ASTERISK-27873
      ASTERISK-25261
      
      Change-Id: I437bc70618d07c183c9624b7069c2fcae7f17a39
      6bbede84
  12. May 22, 2018
  13. May 17, 2018
  14. 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
  15. May 07, 2018
    • Corey Farrell's avatar
      app_macro: Prevent infinite loop in find_matching_priority. · d855658f
      Corey Farrell authored
      Use AST_PBX_MAX_STACK to escape if we recurse 128 times.  This will
      prevent crash if dialplan contains an include loop.  Log an error when
      this occurs, at most one message per call to Macro() so we avoid logger
      spam.
      
      ASTERISK-26570 #close
      
      Change-Id: I6c71b76998c31434391b150de055ae9a531e31da
      d855658f
  16. Apr 18, 2018
  17. Apr 17, 2018
    • Joshua Colp's avatar
      bridge_softmix / app_confbridge: Add support for REMB combining. · 8de3fa2b
      Joshua Colp authored
      This change adds the ability for multiple REMB reports in
      bridge_softmix to be combined according to a configured
      behavior into a single report. This single report is sent
      back to the sender of video, which adjusts the encoding bitrate
      to be at or below the bitrate of the report. The available
      behaviors are: lowest, highest, and average. Lowest uses the
      lowest received bitrate. Highest uses the highest received
      bitrate. Average goes through the received bitrates adding
      them to the previous average and creates a new average.
      
      Other behaviors can be added in the future and the existing
      average one may be adjusted, but this provides the foundation
      to do so.
      
      Support for configuring which behavior to use has been
      added to app_confbridge.
      
      ASTERISK-27804
      
      Change-Id: I9eafe4e7c1f72d67074a8d6acb26bfcf19322b66
      8de3fa2b
    • George Joseph's avatar
      app_sendtext: Enhance SendText to support Enhanced Messaging · 8135558b
      George Joseph authored
      SendText now accepts new channel variables that can be used
      to override the To and From display names and set the Content-Type
      of a message.  Since you can now set Content-Type, other text/*
      content types are now valid.
      
      Change-Id: I648b4574478119f95de09d9f08e9595831b02830
      8135558b
  18. Apr 04, 2018
  19. Apr 03, 2018
    • Joshua Colp's avatar
      app_confbridge / bridge_softmix: Add ability to configure REMB interval. · 0f6431e8
      Joshua Colp authored
      This change adds a configuration option to app_confbridge which can be
      used to set the interval at which we will send a combined REMB (remote
      estimated maximum bitrate) frame to sources of video. The bridging API
      has also been extended slightly to allow setting this so bridge_softmix
      can use it.
      
      ASTERISK-27786
      
      Change-Id: I0e49eae60f369c86434414f3cb8278709c793c82
      0f6431e8
  20. Mar 22, 2018
  21. 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
  22. Mar 16, 2018
    • Florian Floimair's avatar
      app_dial: Enable early-media video · ecc846b2
      Florian Floimair authored
      Certain applications (e.g. door-phone) require that also video is transmitted
      before a call is accepted.
      
      Change-Id: I9842e1dc2f6e1c2c49dc33fe615255007d2f821e
      ecc846b2
    • 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
  23. Mar 14, 2018
    • Corey Farrell's avatar
      loader: Convert reload_classes to built-in modules. · 572a508e
      Corey Farrell authored
      * acl (named_acl.c)
      * cdr
      * cel
      * ccss
      * dnsmgr
      * dsp
      * enum
      * extconfig (config.c)
      * features
      * http
      * indications
      * logger
      * manager
      * plc
      * sounds
      * udptl
      
      These modules are now loaded at appropriate time by the module loader.
      Unlike loadable modules these use AST_MODULE_LOAD_FAILURE on error so
      the module loader will abort startup on failure of these modules.
      
      Some of these modules are still initialized or shutdown from outside the
      module loader.  logger.c is initialized very early and shutdown very
      late, manager.c is initialized by the module loader but is shutdown by
      the Asterisk core (too much uses it without holding references).
      
      Change-Id: I371a9a45064f20026c492623ea8062d02a1ab97f
      572a508e
  24. Mar 08, 2018
    • Richard Mudgett's avatar
      Complete deprecating legacy modules. · e6738b79
      Richard Mudgett authored
      The menuselect comment was updated to deprecate these modules but the
      AST_MODULE_INFO block at the end of file was missed.
      
      ASTERISK-27671
      
      Change-Id: I63070b5c4d4f08af010c6034acd4793c1bcef839
      e6738b79
  25. Mar 07, 2018
  26. Feb 25, 2018
    • Michael Cargile's avatar
      apps/app_amd.c: Fixed total time and silence calculations · 7b012360
      Michael Cargile authored
      Between Asterisk 11 and Asterisk 13 there was a significant increase
      in the number of AST_FRAME_NULL frames being processed by app_amd.c's
      main loop. Each AST_FRAME_NULL frame was being counted as 100ms
      towards the total time and silence. This may have been accurate
      when app_amd.c was orginally added, but it is not in Asterisk 13.
      As such the total analysis time and silence calculations were way
      off effectively breaking app_amd.c
      
      * Additional debug messages were added
      * AST_FRAME_NULL are now ignored
      
      ASTERISK-27610
      
      Change-Id: I18aca01af98f87c1e168e6ae0d85c136d1df5ea9
      7b012360
  27. Feb 13, 2018
    • Corey Farrell's avatar
      Deprecate legacy modules. · 9f74afbd
      Corey Farrell authored
      * app_fax (replaced by res_fax).
      * res_config_sqlite (replaced by res_config_sqlite3).
      * res_monitor (replaced by app_mixmonitor).
      
      This is related to ASTERISK~23657 but does not resolve that ticket.
      Resolving that ticket would require complete removal of res_monitor.
      
      ASTERISK-27671 #close
      
      Change-Id: I16a3edd61fc1abd4a7b2e9357693ed663f62dd49
      9f74afbd
  28. Feb 05, 2018
  29. Jan 31, 2018
  30. Jan 29, 2018
  31. Jan 24, 2018
    • Corey Farrell's avatar
      Remove redundant module checks and references. · 527cf5a5
      Corey Farrell authored
      This removes references that are no longer needed due to automatic
      references created by module dependencies.
      
      In addition this removes most calls to ast_module_check as they were
      checking modules which are listed as dependencies.
      
      Change-Id: I332a6e8383d4c72c8e89d988a184ab8320c4872e
      527cf5a5
  32. Jan 22, 2018
    • Corey Farrell's avatar
      Add missing OPTIONAL_API and ARI dependences. · 679fa5fb
      Corey Farrell authored
      I've audited all modules that include any header which includes
      asterisk/optional_api.h.  All modules which use OPTIONAL_API now declare
      those dependencies in AST_MODULE_INFO using requires or optional_modules
      as appropriate.
      
      In addition ARI dependency declarations have been reworked.  Instead of
      declaring additional required modules in res/ari/resource_*.c we now add
      them to an optional array "requiresModules" in api-docs for each module.
      This allows the AST_MODULE_INFO dependencies to include those missing
      modules.
      
      Change-Id: Ia0c70571f5566784f63605e78e1ceccb4f79c606
      679fa5fb
  33. Jan 17, 2018
  34. 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
Loading