Skip to content
Snippets Groups Projects
  1. Aug 25, 2016
    • chrisderock's avatar
      app_macro: Consider '~~s~~' as a macro start extension. · 93b7533d
      chrisderock authored
      As described in issue ASTERISK-26282 the AEL parser creates macros with
      extension '~~s~~'.  app_macro searches only for extension 's' so the
      created extension cannot be found.  with this patch app_macro searches for
      both extensions and performs the right extension.
      
      ASTERISK-26282 #close
      
      Change-Id: I939aa2a694148cc1054dd75ec0c47c47f47c90fb
      93b7533d
    • varnav's avatar
      chan_iax2: Set plaintext auth to deprecated as per ASTERISK-22820 · d2e03c25
      varnav authored
      Starting from draft 2 of RFC 5456 (October 23, 2006) plaintext auth
      is not supported in IAX2 protocol. Please refer to section 8.6.13 of
      RFC 5456.
      
      But plaintext auth is still supported by Asterisk implementation of IAX2.
      This support should be dropped.
      
      Patch, based on asterisk-dev discussion, adds deprecation warning on
      startup if 'auth' is set to 'plaintext', changes default values of
      'auth' from 'md5, plaintext' to 'md5'.
      
      Patch is safe in terms of backwards compatibility, will work even if
      remote peers have auth=plaintext and we have defaults.
      
      auth=plaintext setting will remain deprecated in Asterisk 14 and 15,
      and IAX2 plaintext support will be removed in Asterisk 16.
      
      ASTERISK-22820 #close
      
      Change-Id: I5d2f3830cb57645604818f87518916e8a5c317bf
      d2e03c25
  2. Aug 24, 2016
  3. Aug 23, 2016
    • Mark Michelson's avatar
      ConfBridge: Rework announcer channel methodology · ded22c71
      Mark Michelson authored
      NOTE: This patch was submitted earlier and reverted because of a failing
      test. The test has been patched so that it adjusts for the changes here,
      so this is being resubmitted for review.
      
      One feature that confbridge has is the ability to play sounds to all
      participants in the conference. Prior to this commit, the algorithm for
      this was as follows:
      
      * Grab the playback lock
      * Push the conference announcer channel into the bridge
      * Play back the sound
      * Pull the conference announcer channel from the bridge
      * Release the playback lock
      
      The issue here is that the act of adding the playback channel to the
      bridge and removing it for each announcement is expensive. Amongst the
      expenses:
      
      * The announcer channel is imparted into the bridge, meaning a new
        thread is spun up for each playback.
      * When the announcer is added or removed from the bridge, it results
        in the BRIDGEPEER channel variable being set on all channels in the
        bridge. This requires keeping the bridge locked and locking each
        individual channel in order to set it.
      * There's also just the general overhead of adding the channel and
        removing it from the bridge. The bridge potentially has to reconfigure
        every single time
      
      With this commit, the paradigm for playing back announcements has
      shifted.
      
      * The announcer channel is now added to the bridge when the conference
        is allocated, and it is hung up when the conference is destroyed.
      * A taskprocessor is used to queue playbacks onto the announcer channel.
        This keeps the behavior from before where playbacks do not overlap.
      * The announcer channel is no longer placed into the bridge as
        departable. Since we are not constantly removing the channel from
        the bridge, it is safe to add the channel using an independent thread
        and simply hang the channel up when it is time for the conference to
        be destroyed.
      
      The use of the taskprocessor for playbacks opens up the interesting
      possibility of having asynchronous announcements played. In this commit,
      however, the behavior is still exactly the same as it previously was.
      
      ASTERISK-26289
      Reported by Mark Michelson
      
      Change-Id: Ica9fa4907c2f3728cdd1cf0bc564ef4eb40754a0
      ded22c71
    • Joshua Colp's avatar
    • Joshua Colp's avatar
      Revert "ConfBridge: Rework announcer channel methodology" · 065d810d
      Joshua Colp authored
      This reverts commit 5aa87730.
      
      Change-Id: I9ab45776e54a54ecf1bac9ae62d976dec30ef491
      065d810d
    • zuul's avatar
      c9df806f
  4. Aug 22, 2016
  5. Aug 21, 2016
    • David M. Lee's avatar
      res_odbc_transaction: add dep on generic_odbc · eb0c9c47
      David M. Lee authored
      When res_odbc_transaction depended on res_odbc, it got the generic_odbc
      headers and libs implicitly. Now that it no longer depends on res_odbc,
      its dependency on generic_odbc must be explicit.
      
      Change-Id: I9db88f7af7388437f49903d3008ba8d4890d5911
      eb0c9c47
  6. Aug 20, 2016
    • Alexander Traud's avatar
      pjproject_bundled: Allow IPv4/IPv6 (Dual Stack) configurations. · 12752c64
      Alexander Traud authored
      PJProject supports a lot of platforms even Windows, some with different defaults
      when it comes to IPv6. In many Linux platforms like Ubuntu 16.04 LTS,
      "/proc/sys/net/ipv6/bindv6only" is set to 0 (false). Different than in Windows.
      
      Because of this, if configured with just an IPv6 address/transport, PJProject
      listens to both IPv4 and IPv6. However, this is not supported by the PJProject
      team. As consequence, you end-up with IPv4-mapped IPv6 addresses in SDP,
      incompatible with IPv4-only clients. Technically, you end-up with an IPv6-only
      server which accepts incoming connections on IPv4.
      
      If you try to configure two transports, one with IPv4 and one with IPv6 on the
      same interface, as expected by the PJProject team, the IPv4 transport is not
      able to bind because the IPv6 transport listens to both already.
      
      One solution would be to change "/proc/sys/net/ipv6/bindv6only" system-wide.
      Then, you are able to configure two transports, one for each IP version on the
      same interface. That way, you get a server which works with IPv4 clients and
      IPv6 clients at the same time over the same interface.
      
      Here, this change sets this parameter directly within PJProject to match the
      expectations of the PJProject team in any case. This allows IPv4/IPv6 Dual Stack
      servers out of the box like in chan_sip. This change was accepted by the
      PJProject team as <http://trac.pjsip.org/repos/changeset/5403> and is expected
      to arrive in the next version, PJProject 2.6.0. Until then, this change is
      incorporated in the bundled PJProject of Asterisk.
      
      ASTERISK-26309
      
      Change-Id: I3335d8718f79f4b2feae91b5b005a3ce684a63ae
      12752c64
  7. Aug 19, 2016
  8. Aug 18, 2016
Loading