Skip to content
Snippets Groups Projects
  1. Sep 26, 2019
  2. Sep 25, 2019
    • Sean Bright's avatar
      res_musiconhold: Add new 'playlist' mode · 966488ab
      Sean Bright authored
      Allow the list of files to be played to be provided explicitly in the
      music class's configuration. The primary driver for this change is to
      allow URLs to be used for MoH.
      
      Change-Id: I9f43b80b43880980b18b2bee26ec09429d0b92fa
      966488ab
  3. Jun 28, 2019
    • Chris-Savinovich's avatar
      app_voicemail.c: Build all three variants for app_voicemail at the same time · 6b1f6ea2
      Chris-Savinovich authored
      Changes made to apps/Makefile to optionally build all three app_voicemail
      variations at the same time: 1) file (default), 2) odbc, and 3) imap.
      This functionality was requested by users. modules.conf.sample warns the
      user to make sure only one voicemail is loaded at a time.
      
      Change-Id: Iba3cd8ffb4b7e8b1c64a11dd383e1eafcd3ed0e7
      6b1f6ea2
  4. Jun 13, 2019
    • Joshua Colp's avatar
      res_rtp_asterisk: Add support for DTLS packet fragmentation. · a8e5cf55
      Joshua Colp authored
      This change adds support for larger TLS certificates by allowing
      OpenSSL to fragment the DTLS packets according to the configured
      MTU. By default this is set to 1200.
      
      This is accomplished by implementing our own BIO method that
      supports MTU querying. The configured MTU is returned to OpenSSL
      which fragments the packet accordingly. When a packet is to be
      sent it is done directly out the RTP instance.
      
      ASTERISK-28018
      
      Change-Id: If2d5032019a28ffd48f43e9e93ed71dbdbf39c06
      a8e5cf55
  5. Jun 05, 2019
  6. May 21, 2019
    • Matt Jordan's avatar
      res_prometheus: Add Asterisk channel metrics · 0760af71
      Matt Jordan authored
      This patch adds basic Asterisk channel statistics to the res_prometheus
      module. This includes:
      
      * asterisk_calls_sum: A running sum of the total number of
        processed calls
      
      * asterisk_calls_count: The current number of calls
      
      * asterisk_channels_count: The current number of channels
      
      * asterisk_channels_state: The state of any particular channel
      
      * asterisk_channels_duration_seconds: How long a channel has existed,
        in seconds
      
      In all cases, enough information is provided with each channel metric
      to determine a unique instance of Asterisk that provided the data, as
      well as the name, type, unique ID, and - if present - linked ID of each
      channel.
      
      ASTERISK-28403
      
      Change-Id: I0db306ec94205d4f58d1e7fbabfe04b185869f59
      0760af71
    • Matt Jordan's avatar
      Add core Prometheus support to Asterisk · c50f29df
      Matt Jordan authored
      Prometheus is the defacto monitoring tool for containerized applications.
      This patch adds native support to Asterisk for serving up Prometheus
      compatible metrics, such that a Prometheus server can scrape an Asterisk
      instance in the same fashion as it does other HTTP services.
      
      The core module in this patch provides an API that future work can build
      on top of. The API manages metrics in one of two ways:
      (1) Registered metrics. In this particular case, the API assumes that
          the metric (either allocated on the stack or on the heap) will have
          its value updated by the module registering it at will, and not
          just when Prometheus scrapes Asterisk. When a scrape does occur,
          the metrics are locked so that the current value can be retrieved.
      (2) Scrape callbacks. In this case, the API allows consumers to be
          called via a callback function when a Prometheus initiated scrape
          occurs. The consumers of the API are responsible for populating
          the response to Prometheus themselves, typically using stack
          allocated metrics that are then formatted properly into strings
          via this module's convenience functions.
      
      These two mechanisms balance the different ways in which information is
      generated within Asterisk: some information is generated in a fashion
      that makes it appropriate to update the relevant metrics immediately;
      some information is better to defer until a Prometheus server asks for
      it.
      
      Note that some care has been taken in how metrics are defined to
      minimize the impact on performance. Prometheus's metric definition
      and its support for nesting metrics based on labels - which are
      effectively key/value pairs - can make storage and managing of metrics
      somewhat tricky. While a naive approach, where we allow for any number
      of labels and perform a lot of heap allocations to manage the information,
      would absolutely have worked, this patch instead opts to try to place
      as much information in length limited arrays, stack allocations, and
      vectors to minimize the performance impacts of scrapes. The author of
      this patch has worked on enough systems that were driven to their knees
      by poor monitoring implementations to be a bit cautious.
      
      Additionally, this patch only adds support for gauges and counters.
      Additional work to add summaries, histograms, and other Prometheus
      metric types may add value in the future. This would be of particular
      interest if someone wanted to track SIP response types.
      
      Finally, this patch includes unit tests for the core APIs.
      
      ASTERISK-28403
      
      Change-Id: I891433a272c92fd11c705a2c36d65479a415ec42
      c50f29df
  7. May 17, 2019
    • George Joseph's avatar
      res_rtp_asterisk: Add ability to propose local address in ICE · be83591f
      George Joseph authored
      You can now add the "include_local_address" flag to an entry in
      rtp.conf "[ice_host_candidates]" to include both the advertized
      address and the local address in ICE negotiation:
      
      [ice_host_candidates]
      192.168.1.1 = 1.2.3.4,include_local_address
      
      This causes both 192.168.1.1 and 1.2.3.4 to be advertized.
      
      Change-Id: Ide492cd45ce84546175ca7d557de80d9770513db
      be83591f
  8. May 02, 2019
    • Joshua Colp's avatar
      app_confbridge: Add "all" variants of REMB behavior. · 80dba268
      Joshua Colp authored
      When producing a combined REMB value the normal behavior
      is to have a REMB value which is unique for each sender
      based on all of their receivers. This can result in one
      sender having low bitrate while all the rest are high.
      
      This change adds "all" variants which produces a bridge
      level REMB value instead. All REMB reports are combined
      together into a single REMB value that is the same for
      each sender.
      
      ASTERISK-28401
      
      Change-Id: I883e6cc26003b497c8180b346111c79a131ba88c
      80dba268
  9. Apr 29, 2019
    • Rodrigo Ramírez Norambuena's avatar
      app_queue: Set correct value by default for shared_lastcall · ed615afb
      Rodrigo Ramírez Norambuena authored
      There a long history here:
      
      In commit dd1e62c0 has introduce by default shared_lastcall = true by
      default but this now only happen is there not [general] directive in
      queues.conf
      
      After that, the commit 4b50e3f1 fix the
      sample file.
      
      We'll need to keep the same setting if there a general or not section in
      configuration file since the shared_lastcall is by a long time in
      sample files as default value to 'no'.
      
      Change-Id: Id44faec370136df8d57902b453ad4059ed21b94c
      ed615afb
  10. Apr 17, 2019
    • Dan Cropp's avatar
      res_pjsip: Added a norefersub configuration setting · cffa2a74
      Dan Cropp authored
      Added a new PJSIP global setting called norefersub.
      Default is true to keep support working as before.
      
      res_pjsip_refer:  Configures PJSIP norefersub capability accordingly.
      
      Checks the PJSIP global setting value.
      If it is true (default) it adds the norefersub capability to PJSIP.
      If it is false (disabled) it does not add the norefersub capability
      to PJSIP.
      
      This is useful for Cisco switches that do not follow RFC4488.
      
      ASTERISK-28375 #close
      Reported-by: Dan Cropp
      
      Change-Id: I0b1c28ebc905d881f4a16e752715487a688b30e9
      cffa2a74
  11. Mar 08, 2019
    • Torrey Searle's avatar
      chan_pjsip: add a flag to ignore 183 responses if no SDP present · 4661c085
      Torrey Searle authored
      chan_sip will always ignore 183 responses that do not contain SDP
      however, chan_pjsip will currently always translate it into a
      183 with SDP.  This new flag allows chan_pjsip to have the same
      behavior as chan_sip.
      
      ASTERISK-28322 #close
      
      Change-Id: If81cfaa17c11b6ac703e3d71696f259d86c6be4a
      4661c085
  12. Mar 07, 2019
  13. Mar 04, 2019
    • Joshua Colp's avatar
      basic-pbx: Update configuration to work with current modules. · 2980622d
      Joshua Colp authored
      The res_pjsip_websocket module requires the res_http_websocket
      module so ensure it is loaded. As well the res_pjsip_notify
      module needs the pjsip_notify.conf configuration file so
      ensure it is installed.
      
      ASTERISK-28272
      
      Change-Id: I261659b84e7a6ac4cb49990d9badb4b2ad01bacd
      2980622d
  14. Feb 20, 2019
    • George Joseph's avatar
      taskprocessor: Enable subsystems and overload by subsystem · c2adeb9d
      George Joseph authored
      To prevent one subsystem's taskprocessors from causing others
      to stall, new capabilities have been added to taskprocessors.
      
      * Any taskprocessor name that has a '/' will have the part
        before the '/' saved as its "subsystem".
        Examples:
        "sorcery/acl-0000006a" and "sorcery/aor-00000019"
        will be grouped to subsystem "sorcery".
        "pjsip/distributor-00000025" and "pjsip/distributor-00000026"
        will bn grouped to subsystem "pjsip".
        Taskprocessors with no '/' have an empty subsystem.
      
      * When a taskprocessor enters high-water alert status and it
        has a non-empty subsystem, the subsystem alert count will
        be incremented.
      
      * When a taskprocessor leaves high-water alert status and it
        has a non-empty subsystem, the subsystem alert count will be
        decremented.
      
      * A new api ast_taskprocessor_get_subsystem_alert() has been
        added that returns the number of taskprocessors in alert for
        the subsystem.
      
      * A new CLI command "core show taskprocessor alerted subsystems"
        has been added.
      
      * A new unit test was addded.
      
      REMINDER: The taskprocessor code itself doesn't take any action
      based on high-water alerts or overloading.  It's up to taskprocessor
      users to check and take action themselves.  Currently only the pjsip
      distributor does this.
      
      * A new pjsip/global option "taskprocessor_overload_trigger"
        has been added that allows the user to select the trigger
        mechanism the distributor uses to pause accepting new requests.
        "none": Don't pause on any overload condition.
        "global": Pause on ANY taskprocessor overload (the default and
        current behavior)
        "pjsip_only": Pause only on pjsip taskprocessor overloads.
      
      * The core pjsip pool was renamed from "SIP" to "pjsip" so it can
        be properly grouped into the "pjsip" subsystem.
      
      * stasis taskprocessor names were changed to "stasis" as the
        subsystem.
      
      * Sorcery core taskprocessor names were changed to "sorcery" to
        match the object taskprocessors.
      
      Change-Id: I8c19068bb2fc26610a9f0b8624bdf577a04fcd56
      c2adeb9d
  15. 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
  16. Jan 25, 2019
    • Kevin Harwell's avatar
      codecs.conf.sample: update codec opus docs · 0bcaadc0
      Kevin Harwell authored
      The option value "sdp" for some of the settings was removed a while back,
      however the sample conf was not updated.
      
      This patch removes any wording with regards to the old "sdp" option value,
      and adjusts the defaults to what they are now.
      
      ASTERISK-28263
      
      Change-Id: I41bfa44e9f69446bcc5c8fd92e3675c676fdc445
      0bcaadc0
  17. 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
  18. Jan 11, 2019
    • Alexei Gradinari's avatar
      res_pjsip: add option to enable ContactStatus event when contact is updated · f0546d1d
      Alexei Gradinari authored
      The commit I2f97ebfa79969a36a97bb7b9afd5b6268cf1a07d removed sending out
      the ContactStatus AMI event when a contact is updated.
      Thist change broke things which rely on old behavior.
      
      This patch adds a new PJSIP global configuration option
      'send_contact_status_on_update_registration' to be able to preserve old
      ContactStatus behavior.
      By default new behavior, i.e. the ContactStatus event will not be sent when a
      device refreshes its registration.
      
      Change-Id: I706adf7584e7077eb6bde6d9799ca408bc82ce46
      f0546d1d
  19. Dec 06, 2018
  20. 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
  21. Nov 26, 2018
    • Joshua Colp's avatar
      stasis: Segment channel snapshot to reduce creation cost. · 50ac85cb
      Joshua Colp authored
      When a channel snapshot was created it used to be done
      from scratch, copying all data (many strings). This incurs
      a cost when doing so.
      
      This change segments the channel snapshot into different
      components which can be reused if unchanged from the
      previous snapshot creation, reducing the cost. In normal
      cases this results in some pointers being copied with
      reference count being bumped, some integers being set,
      and a string or two copied. The other benefit is that it
      is now possible to determine if a channel snapshot update
      is redundant and thus stop it before a message is published
      to stasis.
      
      The specific segments in the channel snapshot were split up
      based on whether they are changed together, how often they
      are changed, and their general grouping. In practice only
      1 (or 0) of the segments actually get changed in normal
      operation.
      
      Invalidation is done by setting a flag on the channel when
      the segment source is changed, forcing creation of a new
      segment when the channel snapshot is created.
      
      ASTERISK-28119
      
      Change-Id: I5d7ef3df963a88ac47bc187d73c5225c315f8423
      50ac85cb
  22. Oct 30, 2018
    • Alexei Gradinari's avatar
      pjsip: new endpoint's options to control Connected Line updates · eee93598
      Alexei Gradinari authored
      This patch adds new options 'trust_connected_line' and 'send_connected_line'
      to the endpoint.
      
      The option 'trust_connected_line' is to control if connected line updates
      are accepted from this endpoint.
      
      The option 'send_connected_line' is to control if connected line updates
      can be sent to this endpoint.
      
      The default value is 'yes' for both options.
      
      Change-Id: I16af967815efd904597ec2f033337e4333d097cd
      eee93598
  23. Oct 25, 2018
    • Corey Farrell's avatar
      chan_sip deprecation. · 90a11c4a
      Corey Farrell authored
      This officially deprecates chan_sip in Asterisk 17+.  A warning is
      printed upon startup or module load to tell users that they should
      consider migrating.  chan_sip is still built by default but the default
      modules.conf skips loading it at startup.
      
      Very important to note we are not scheduling a time where chan_sip will
      be removed.  The goal of this change is to accurately inform end users
      of the current state of chan_sip and encourage movement to the fully
      supported chan_pjsip.
      
      Change-Id: Icebd8848f63feab94ef882d36b2e99d73155af93
      90a11c4a
  24. Oct 24, 2018
    • Richard Mudgett's avatar
      modules.conf.sample: Update preload usage documentation. · 96d5e444
      Richard Mudgett authored
      Change-Id: Id449d4435c38148b56ac4cfd61ae4d90ac66bb90
      96d5e444
    • Nick French's avatar
      res_pjsip: Implement additional SIP RFCs for Google Voice trunk compatability · 37b2e686
      Nick French authored
      This change implements a few different generic things which were brought
      on by Google Voice SIP.
      
      1.  The concept of flow transports have been introduced.  These are
      configurable transports in pjsip.conf which can be used to reference a
      flow of signaling to a target.  These have runtime configuration that can
      be changed by the signaling itself (such as Service-Routes and
      P-Preferred-Identity).  When used these guarantee an individual connection
      (in the case of TCP or TLS) even if multiple flow transports exist to the
      same target.
      
      2.  Service-Routes (RFC 3608) support has been added to the outbound
      registration module which when received will be stored on the flow
      transport and used for requests referencing it.
      
      3.  P-Associated-URI / P-Preferred-Identity (RFC 3325) support has been
      added to the outbound registration module.  If a P-Associated-URI header
      is received it will be used on requests as the P-Preferred-Identity.
      
      4.  Configurable outbound extension support has been added to the outbound
      registration module.  When set the extension will be placed in the
      Supported header.
      
      5.  Header parameters can now be configured on an outbound registration
      which will be placed in the Contact header.
      
      6.  Google specific OAuth / Bearer token authentication
      (draft-ietf-sipcore-sip-authn-02) has been added to the outbound
      registration module.
      
      All functionality changes are controlled by pjsip.conf configuration
      options and do not affect non-configured pjsip endpoints otherwise.
      
      ASTERISK-27971 #close
      
      Change-Id: Id214c2d1c550a41fcf564b7df8f3da7be565bd58
      37b2e686
  25. Oct 18, 2018
  26. Sep 26, 2018
    • Ben Ford's avatar
      res_rtp_asterisk.c: Add "seqno" strictrtp option · b11a6643
      Ben Ford authored
      When networks experience disruptions, there can be large gaps of time
      between receiving packets. When strictrtp is enabled, this created
      issues where a flood of packets could come in and be seen as an attack.
      Another option - seqno - has been added to the strictrtp option that
      ignores the time interval and goes strictly by sequence number for
      validity.
      
      Change-Id: I8a42b8d193673899c8fc22fe7f98ea87df89be71
      b11a6643
  27. 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
  28. Aug 22, 2018
    • Matthew Fredrickson's avatar
      sample_configs: noload res_hep.so by default · c8bacd45
      Matthew Fredrickson authored
      Change disables loading of res_hep.so in default installation.  Loading
      res_hep has a performance impact whether it's used or not.  This disables
      loading of it in sample config files.
      
      Change-Id: I5ec150cf941634fabc72973e5bf1a965cb0ef9d0
      c8bacd45
  29. Aug 17, 2018
  30. Aug 09, 2018
    • Corey Farrell's avatar
      Sample configs: Fix pjsip.conf syntax error. · 63ca367a
      Corey Farrell authored
      It is valid for a config file to be empty or contain only comments, but
      not valid for a config value to be set when no uncommented context
      exists.  This caused an error to be loged numerous times during start
      when loading the default pjsip.conf.
      
      Change-Id: Icf3b0d69b4ecb6e935eecd43c99ed8b32a5a1cf6
      63ca367a
  31. Jul 31, 2018
  32. Jul 19, 2018
  33. Jul 06, 2018
    • George Joseph's avatar
      res_pjsip: Add 'suppress_q850_reason_headers' option to endpoint · 8f42447c
      George Joseph authored
      A new option 'suppress_q850_reason_headers' has been added to the
      endpoint object. Some devices can't accept multiple Reason headers and
      get confused when both 'SIP' and 'Q.850' Reason headers are received.
      This option allows the 'Q.850' Reason header to be suppressed.
      The default value is 'no'.
      
      ASTERISK-27949
      Reported-by: Ross Beer
      
      Change-Id: I54cf37a827d77de2079256bb3de7e90fa5e1deb1
      8f42447c
  34. Jul 03, 2018
    • Joshua Colp's avatar
      pjsip: Clarify certificate configuration for Websocket. · de5144e7
      Joshua Colp authored
      The Websocket transport uses the built-in HTTP server. As a result
      the TLS configuration is done in http.conf and not in pjsip.conf.
      
      This change adds a warning if this is configured in pjsip.conf and
      also clarifies in the sample configuration file.
      
      Change-Id: I187d994d328c3ed274b6754fd4c2a4955bdc6dd9
      de5144e7
  35. Jun 26, 2018
    • George Joseph's avatar
      res_pjsip_session: Add ability to accept multiple sdp answers · 880fbff6
      George Joseph authored
      pjproject by default currently will follow media forked during an INVITE
      on outbound calls if the To tag is different on a subsequent response as
      that on an earlier response.  We handle this correctly.  There have
      been reported cases where the To tag is the same but we still need to
      follow the media.  The pjproject patch in this commit adds the
      capability to sip_inv and also adds the capability to control it at
      runtime.  The original "different tag" behavior was always controllable
      at runtime but we never did anything with it and left it to default to
      TRUE.
      
      So, along with the pjproject patch, this commit adds options to both the
      system and endpoint objects to control the two behaviors, and a small
      logic change to session_inv_on_media_update in res_pjsip_session to
      control the behavior at the endpoint level.
      
      The default behavior for "different tags" remains the same at TRUE and
      the default for "same tag" is FALSE.
      
      Change-Id: I64d071942b79adb2f0a4e13137389b19404fe3d6
      ASTERISK-27936
      Reported-by: Ross Beer
      880fbff6
  36. 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
  37. May 24, 2018
    • George Joseph's avatar
      ast_coredumper: Fix output directory and variable precedence · 2bf26ce5
      George Joseph authored
      The OUTPUTDIR variable in ast_debug_tools.conf.sample is now set
      to "/tmp" instead of "/some/directory".
      
      Variables set on the command line or that are already in the
      environment now take predecence over variables set in the config files.
      
      ASTERISK-27846
      Reported by: Ted G
      
      Change-Id: Ie8baec52d531886bf5849ec1d59bb59dc87ad387
      2bf26ce5
  38. May 03, 2018
    • Tzafrir Cohen's avatar
      chan_dahdi: Configurable dialed digit timeouts · 63015314
      Tzafrir Cohen authored
      Analog phones dial overlap dialing and it is chan_dahdi's job to read the
      numbers.  It has three timeout constants that this commit converts to
      channel-level configuration options:
      
      * firstdigit_timeout: Default time (ms) to detect first digit
      
      * interdigit_timeout: Default time (ms) to detect following digits
      
      * matchdigit_timeout: Default time (ms) to wait in case of ambiguous
      match.  This happens when the dialed digits match a number in the current
      context but are also the prefix of another number.
      
      Change-Id: Ib728fa900a4f6ae56d1ed810aba61b6593fb7213
      63015314
Loading