Skip to content
Snippets Groups Projects
  1. Oct 08, 2019
  2. Oct 01, 2019
  3. Sep 25, 2019
    • Ben Ford's avatar
      taskprocessor.c: Added "like" support to 'core show taskprocessors' · 4c3655ec
      Ben Ford authored
      Added "like" support for 'core show taskprocessors'. Now you
      can specify a specific set of taskprocessors (or just one) by
      adding the keyword "like" to the above command, followed by
      your search criteria.
      
      Change-Id: I021e740201e9ba487204b5451e46feb0e3222464
      4c3655ec
    • 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
  4. Sep 24, 2019
    • Ben Ford's avatar
      taskprocessor.c: Add CLI commands to reset taskprocessor stats. · 4de1e6d0
      Ben Ford authored
      Added two new CLI commands to reset stats for taskprocessors. You can
      reset stats for a single, specific taskprocessor ('core reset
      taskprocessor <taskprocessor>'), or you can reset all taskprocessors
      ('core reset taskprocessors'). These commands will reset the counter for
      the number of tasks processed as well as the max queue size.
      
      Change-Id: Iaf17fc4ae29396ab0c6ac92408fc7bdc2f12362d
      4de1e6d0
  5. Sep 18, 2019
    • Joshua Colp's avatar
      func_jitterbuffer: Add audio/video sync support. · 7298a785
      Joshua Colp authored
      This change adds support to the JITTERBUFFER dialplan function
      for audio and video synchronization. When enabled the RTCP SR
      report is used to produce an NTP timestamp for both the audio and
      video streams. Using this information the video frames are queued
      until their NTP timestamp is equal to or behind the NTP timestamp
      of the audio. The audio jitterbuffer acts as the leader deciding
      when to shrink/grow the jitterbuffer when adaptive is in use. For
      both adaptive and fixed the video buffer follows the size of the
      audio jitterbuffer.
      
      ASTERISK-28533
      
      Change-Id: I3fd75160426465e6d46bb2e198c07b9d314a4492
      7298a785
  6. Sep 17, 2019
    • Florian Floimair's avatar
      core: Add H.265/HEVC passthrough support · c1898320
      Florian Floimair authored
      This change adds H.265/HEVC as a known codec and creates a cached
      "h265" media format for use.
      
      Note that RFC 7798 section 7.2 also describes additional SDP
      parameters. Handling of these is not yet supported.
      
      ASTERISK-28512
      
      Change-Id: I26d262cc4110b4f7e99348a3ddc53bad0d2cd1f2
      c1898320
  7. Sep 10, 2019
    • sungtae kim's avatar
      res_musiconhold: Added unregister realtime moh class · cf364cd0
      sungtae kim authored
      This fix allows a realtime moh class to be unregistered from the command
      line. This is useful when the contents of a directory referenced by a
      realtime moh class have changed.
      The realtime moh class is then reloaded on the next request and uses the
      new directory contents.
      
      ASTERISK-17808
      
      Change-Id: Ibc4c6834592257c4bb90601ee299682d15befbce
      cf364cd0
    • George Joseph's avatar
      ARI: External Media · 2ae1a22e
      George Joseph authored
      The Channel resource has a new sub-resource "externalMedia".
      This allows an application to create a channel for the sole purpose
      of exchanging media with an external server.  Once created, this
      channel could be placed into a bridge with existing channels to
      allow the external server to inject audio into the bridge or
      receive audio from the bridge.
      See https://wiki.asterisk.org/wiki/display/AST/External+Media+and+ARI
      for more information.
      
      Change-Id: I9618899198880b4c650354581b50c0401b58bc46
      2ae1a22e
  8. Aug 22, 2019
    • George Joseph's avatar
      chan_rtp: Accept hostname as well as ip address as destination · 19045db3
      George Joseph authored
      The UnicastRTP channel driver provided by chan_rtp now accepts
      "<hostname>:<port>" as an alternative to "<ip_address>:<port>"
      in the destination. The first AAAA (preferred) or A record resolved
      will be used as the destination. The lookup is synchronous so beware
      of possible dialplan delays if you specify a hostname.
      
      Change-Id: Ie6f95b983a8792bf0dacc64c7953a41032dba677
      19045db3
  9. Aug 20, 2019
    • Sean Bright's avatar
      audiohook.c: Substitute silence for unavailable audio frames · 64906c4c
      Sean Bright authored
      There are 4 scenarios to consider when capturing audio from a channel
      with an audiohook:
      
       1. There is no rx and no tx audio, so return nothing.
       2. There is rx but no tx audio, so return rx.
       3. There is tx but no rx audio, so return tx.
       4. There is rx and tx audio, so mix them and return.
      
      The file passed as the primary argument to MixMonitor will be written to
      in scenarios 2, 3, and 4. However, if you pass the r() and t() options
      to MixMonitor, a frame will only be written to the r() file if there was
      rx audio and a frame will only be written to the t() file if there was
      tx audio.
      
      If you subsequently take the r() and t() files and try to mix them, the
      sides of the conversation will 'drift' and be non-representative of the
      user experience.
      
      This patch adds a new 'S' option to MixMonitor that injects a frame of
      silence on either the r() side or the t() side of the channel so that
      when later mixed, there is no such drift.
      
      Change-Id: Ibf5ed73a811087727bd561a89a59f4447b4ee20e
      64906c4c
  10. Jul 29, 2019
  11. Jul 16, 2019
    • George Joseph's avatar
      Build: Separate header install/uninstall · c781806e
      George Joseph authored
      Asterisk headers are no longer installed and uninstalled
      automatically when performing a "make install" or a
      "make uninstall".  To install/uninstall the headers, use
      "make install-headers" and "make uninstall-headers".
      The headers also continue to be uninstalled when performing a
      "make uninstall-all".
      
      Also corrects an issue where /usr/include/asterisk.h was never
      being removed at all.
      
      Change-Id: Ia7399f3a0203a4825fc4a9f43b9034dae9a2b643
      c781806e
  12. 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
  13. Jun 25, 2019
    • Dan Cropp's avatar
      chan_pjsip: Transmit REFER waits for the REFER result setting TRANSFERSTATUS · e52fbae0
      Dan Cropp authored
      Previously, when a Transfer (REFER) was performed, chan_pjsip would set
      the TRANSFERSTATUS to SUCCESS when the REFER was queued up.  This did not
      reflect a successful/unsuccessful transfer the way chan_sip did.
      Added a callback module to process the refer subscription information.
      
      Now depends on res_pjsip_pubsub so call transfer progress can be monitored
      and reported
      
      ASTERISK-26968 #close
      Reported-by: Dan Cropp
      
      Change-Id: If6c27c757c66f71e8b75e3fe49da53ebe62395dc
      e52fbae0
  14. 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
  15. Jun 11, 2019
    • Alexei Gradinari's avatar
      app_attended_transfer: new application AttendedTransfer · 3eaeb3e6
      Alexei Gradinari authored
      AttendedTransfer queues up attended transfer to the given extension.
      
      This application can be useful with Custom Dynamic Features.
      For example to make attended transfer to a predefined number.
      
      features.conf
      ;;;
      [applicationmap]
      my_atxfer => *7,self,GoSub,"my_atxfer,s,1",default
      ;;;
      
      extensions.conf
      ;;;
      [globals]
      DYNAMIC_FEATURES=my_atxfer
      TRANSFER_CONTEXT=my_transfer
      
      [my_atxfer]
      exten => s,1,AttendedTransfer(1234567890)
         same => n,Return()
      
      [my_transfer]
      include => default
      ;;;
      
      This application also can be used to completly redefine Attended transfer
      feature using dialplan. For example:
      
      features.conf
      ;;;
      [featuremap]
      atxfer => *7
      
      [applicationmap]
      custom_atxfer => *2,self,GoSub,"custom_atxfer,s,1",default
      ;;;
      
      extensions.conf
      ;;;
      [globals]
      DYNAMIC_FEATURES=custom_atxfer
      TRANSFER_CONTEXT=my_transfer
      
      [custom_atxfer]
      exten => s,1,
         same => n,Playback(pbx-transfer)
         same => n,Read(dest,dial,10,i,3,3)
         same => n,AttendedTransfer(${dest})
         same => n,Return()
      
      [my_transfer]
      include => default
      ;;;
      
      Change-Id: Ie5cfa455d0813cffd5c85a6fb117f07d8f0b903b
      3eaeb3e6
  16. Jun 07, 2019
    • Alexei Gradinari's avatar
      app_blind_transfer: new application BlindTransfer · 745cbab5
      Alexei Gradinari authored
      BlindTransfer redirects all channels currently bridged to the
      caller channel to the specified destination.
      
      This application can be useful with Custom Dynamic Features.
      For example to make blind transfer to a predefined number.
      
      features.conf
      ;;;
      [applicationmap]
      my_blindxfer => *6,self,GoSub,"my_blindxfer,s,1",default
      ;;;
      
      extensions.conf
      ;;;
      [globals]
      DYNAMIC_FEATURES=my_blindxfer
      
      [my_blindxfer]
      exten => s,1,BlindTransfer(1234567890,default)
         same => n,Return()
      ;;;
      
      This application also can be used to completly redefine Blind transfer
      feature using dialplan. For example:
      
      features.conf
      ;;;
      [featuremap]
      blindxfer =>
      
      [applicationmap]
      custom_blindxfer => ##,self,GoSub,"custom_blindxfer,s,1",default
      ;;;
      
      extensions.conf
      ;;;
      [globals]
      DYNAMIC_FEATURES=custom_blindxfer
      
      [custom_blindxfer]
      exten => s,1,
         same => n,Playback(pbx-transfer)
         same => n,Read(dest,dial,10,i,3,3)
         same => n,BlindTransfer(${dest},default)
         same => n,Return()
      ;;;
      
      Change-Id: I9d55e7f69ccfd4472dec00d62771d6de8803215a
      745cbab5
  17. Jun 05, 2019
  18. May 24, 2019
  19. May 23, 2019
  20. 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
  21. 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
  22. Apr 24, 2019
    • Antoni Goldstein's avatar
      app_dial.c: RINGTIME, PROGRESSTIME and ms resolution dial timings · 8e21c25c
      Antoni Goldstein authored
      Added RINGTIME, RINGTIME_MS, PROGRESSTIME, PROGRESSTIME_MS variables filled
      at the earliest received PROGRESS or RINGING.
      Added millisecond versions of DIALEDTIME and ANSWEREDTIME.
      
      Added millisecond versions of ast_channel_get_up_time and
      ast_channel_get_duration in channel.c.
      
      ASTERISK-28363
      
      Change-Id: If95f1a7d8c4acbac740037de0c6e3109ff6620b1
      8e21c25c
  23. 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
  24. Apr 09, 2019
    • Ben Ford's avatar
      build: Revise CHANGES and UPGRADE.txt handling. · a4ab7f5f
      Ben Ford authored
      This changes the way that we handle adding changes to CHANGES and
      UPGRADE.txt. The reason for this is because whenever someone needed to
      make a change to one of these files and someone else had already done
      so, you would run into merge conflicts. With this new setup, there will
      never be merge conflicts since all changes will be documented in the
      doc/<file>-staging directory. The release script is now responsible for
      merging all of these changes into the appropriate files.
      
      There is a special format that these files have to follow in order to be
      parsed. The files do not need to have a meaningful name, but it is
      strongly recommended. For example, if you made a change to pjsip, you
      may have something like this "res_pjsip_relative_title", where
      "relative_title" is something more descriptive than that. Inside each
      file, you will need a subject line for your change, followed by a
      description. There can be multiple subject lines. The file may look
      something like this:
      
         Subject: res_pjsip
         Subject: Core
      
         A description that explains the changes made and why. The release
         script will handle the bulleting and section separators!
      
         You can still separate with new lines within your
         description.
      
      The headers ("Subject" and "Master-Only") are case sensative, but the
      value for "Master-Only" ("true" or "True") is not.
      
      For more information, check out the wiki page:
      https://wiki.asterisk.org/wiki/display/AST/CHANGES+and+UPGRADE.txt
      
      ASTERISK-28111 #close
      
      Change-Id: I19cf4b569321c88155a65e9b0b80f6d58075dd47
      a4ab7f5f
  25. Mar 27, 2019
    • Ben Ford's avatar
      build: Add staging directories for future changes. · d5d8448c
      Ben Ford authored
      This is the first step in changing the release process so that changes
      made to the CHANGES and UPGRADE.txt files do not result in merge
      conflicts every time multiple people modify these files. The changes
      made will go in these new directories: doc/CHANGES-staging and
      doc/UPGRADE-staging. The README.md files explain how things will work,
      but here's a little overview. When you make a change that would go in
      either CHANGES or UPGRADE.txt, this should instead be documented in a
      new file in the doc/CHANGES-staging or doc/UPGRADE-staging directory,
      respectively. The format will look like this:
      
         Subject: res_pjsip
      
         A description that explains the changes made and why. The release
         script will handle the bulleting and section separators! The
         'Subject:' header is case-sensitive.
      
         You can still separate with new lines within your description.
      
         Subject: res_ari
         Master-Only: true
      
         You can have more than one subject, and they don't have to be the
         same! Also, the 'Master-Only' header should always be true and is
         also case-sensitive (but the value is not - you can have 'true' or
         'True'). This header will only ever be present in the master branch.
      
      For more information, check out the wiki page:
      https://wiki.asterisk.org/wiki/display/AST/CHANGES+and+UPGRADE.txt
      
      This is an initial change for ASTERISK_28111. Functionally, this will
      make no difference, but it will prep the directories for when the
      changes from CHANGES and UPGRADE.txt are extracted.
      
      Change-Id: I8d852f284f66ac456b26dcb899ee46babf7d15b6
      d5d8448c
  26. Apr 09, 2018
    • Corey Farrell's avatar
      Build System: Enable python3 compatibility. · 879e592b
      Corey Farrell authored
      * Consistently use spaces in rest-api-templates/asterisk_processor.py.
      * Exclude third-party from docs/full-en_US.xml.
      * Add docs/full-en_US.xml to .gitignore.
      * Use list() to convert python3 view.
      * Use python3 print function.
      * Replace cmp() with equivalent equation.
      * Replace reference to out of scope subtype variable with name
        parameter.
      * Use unescaping triple bracket notation in mustache templates where
        needed.  This causes behavior of Python2 to be maintained when using
        Python3.
      * Fix references to has_websocket / is_websocket in
        res_ari_resource.c.mustache.
      * Update calculation of has_websocket to use any().
      * Use unicode mode for writing output file in transform.py.
      * Replace 'from swagger_model import *' with explicit import of required
        symbols.
      
      I have not tested spandspflow2pcap.py or voicemailpwcheck.py, only the
      print syntax has been fixed.
      
      Change-Id: If5c5b556a2800d41a3e2cfef080ac2e151178c33
      879e592b
  27. Feb 20, 2018
  28. Feb 01, 2018
  29. Dec 22, 2017
  30. Dec 20, 2017
  31. Nov 18, 2017
  32. Nov 14, 2016
    • Matt Jordan's avatar
      res/ari/resource_bridges: Add the ability to manipulate the video source · a72ef381
      Matt Jordan authored
      In multi-party bridges, Asterisk currently supports two video modes:
       * Follow the talker, in which the speaker with the most energy is shown
         to all participants but the speaker, and the speaker sees the
         previous video source
       * Explicitly set video sources, in which all participants see a locked
         video source
      
      Prior to this patch, ARI had no ability to manipulate the video source.
      This isn't important for two-party bridges, in which Asterisk merely
      relays the video between the participants. However, in a multi-party
      bridge, it can be advantageous to allow an external application to
      manipulate the video source.
      
      This patch provides two new routes to accomplish this:
      (1) setVideoSource: POST /bridges/{bridgeId}/videoSource/{channelId}
          Sets a video source to an explicit channel
      (2) clearVideoSource: DELETE /bridges/{bridgeId}/videoSource
          Removes any explicit video source, and sets the video mode to talk
          detection
      
      ASTERISK-26595 #close
      
      Change-Id: I98e455d5bffc08ea5e8d6b84ccaf063c714e6621
      a72ef381
  33. Aug 16, 2016
    • Corey Farrell's avatar
      Refactor usage pattern of xmldoc info tag. · 824a4e84
      Corey Farrell authored
      This updates func_channel.c and main/message.c to use a generic xpointer
      include instead of including info from each channel driver.  Now the
      name attribute of info is CHANNEL or CHANNEL_EXAMPLES to be included in
      documentation for func_channel.  Setting the name attribute of info to
      MessageToInfo or MessageFromInfo causes it to be included in the
      MessageSend application and AMI action.
      
      Change-Id: I89fd8276a3250824241a618009714267d3a8d1ea
      824a4e84
  34. Aug 15, 2016
    • Matt Jordan's avatar
      func_channel: Reorganize documentation · ddab42e2
      Matt Jordan authored
      * Following the example of the PJSIP channel driver, the channel
        technology specific documentation has been moved to the respective
        channel drivers that provide that functionality. This has the benefit
        of locating the documentation of items with those modules that provide
        it.
      
      * Examples of using the CHANNEL function for both standard items as well
        as for PJSIP have been added.
      
      * The 'max_forwards' standard item has been documented.
      
      Change-Id: Ifaa79a232c8ac99cf8da6ef6cc7815d398b1b79b
      ddab42e2
  35. Mar 19, 2016
  36. Jun 26, 2015
  37. May 12, 2015
    • Corey Farrell's avatar
      Allow command-line options to override asterisk.conf. · 57386dcb
      Corey Farrell authored
      Previous versions of Asterisk processed command-line options before
      processing asterisk.conf.  This meant that if an option was set in
      asterisk.conf, it could not be overridden with the equivelent command
      line option.  This change causes Asterisk to process the command-line
      twice.  First it processes options that are needed to load asterisk.conf,
      then it processes the remaining options after the config is read.
      
      This changes the function of -X slightly.  Previously using -X without
      disabling execincludes in asterisk.conf caused #exec to be usable in any
      config.  Now -X only enables #exec for the load of asterisk.conf, if it
      is wanted in the rest of the system it must be enabled with execincludes
      in asterisk.conf.  Updated 'asterisk -h' and 'man asterisk' to reflect
      the limited function of -X.
      
      ASTERISK-25042 #close
      Reported by: Corey Farrell
      
      Change-Id: I1450d45c15b4467274b871914d893ed4f6564cd7
      57386dcb
  38. May 08, 2015
    • George Joseph's avatar
      doc: Make progdocs play nice with git · cf637f25
      George Joseph authored
      Moved contrib/asterisk-ng-doxygen to doc/asterisk-ng-doxygen.in
      
      Changed /Makefile to copy asterisk-ng-doxygen.in to
      asterisk-ng-doxygen then modify it with version instead of
      modifying asterisk-ng-doxygen directly.  Updated clean
      targets as well.
      
      Updated /.gitignore and doc/.gitignore.
      
      Change-Id: I38712d3e334fa4baec19d30d05de8c6f28137622
      cf637f25
Loading