Skip to content
Snippets Groups Projects
  1. Jan 16, 2020
  2. Jan 14, 2020
  3. Jan 13, 2020
    • Sean Bright's avatar
      func_curl: Add 'followlocation' option to CURLOPT() · 0c2bf166
      Sean Bright authored
      We allow for 'maxredirs' to be set, but this value is ignored when
      followlocation is not enabled which, by default, it is not.
      
      ASTERISK-17491 #close
      Reported by: candrews
      
      Change-Id: I96a4ab0142f2fb7d2e96ff976f6cf7b2982c761a
      0c2bf166
  4. 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
  5. Jan 08, 2020
    • Sean Bright's avatar
      res_pjsip_endpoint_identifier_ip.c: Add port matching support · 312abaa1
      Sean Bright authored
      Adds source port matching support when IP matching is used:
      
        [example]
        type = identify
        match = 1.2.3.4:5060/32, 1.2.3.4:6000/32, asterisk.org:4444
      
      If the IP matches but the source port does not, we reject and search for
      alternatives. SRV lookups are still performed if enabled (srv_lookups = yes),
      unless the configured FQDN includes a port number in which case just a host
      lookup is performed.
      
      ASTERISK-28639 #close
      Reported by: Mitch Claborn
      
      Change-Id: I256d5bd5d478b95f526e2f80ace31b690eebba92
      312abaa1
  6. Jan 07, 2020
    • Richard Mudgett's avatar
      app_chanisavail.c: Simplify dialplan using ChanIsAvail. · fe3cce81
      Richard Mudgett authored
      Dialplan has to be careful about passing an empty device list or empty
      positions in the list.  As a result, dialplan has to check for these
      conditions before using ChanIsAvail.  Simplify dialplan by making
      ChanIsAvail handle these conditions gracefully.
      
      * Made tolerate empty positions in the device list.
      
      * Simplified the code and eliminated some unnecessary indention.
      
      ASTERISK-28638
      
      Change-Id: I9e4b67e2cbf26b2417c2d03485b8568e898931d3
      fe3cce81
  7. Jan 06, 2020
    • Richard Mudgett's avatar
      app_bridgeaddchan.c: Make BridgeAdd be more like Bridge · 19069f7d
      Richard Mudgett authored
      * Made BridgeAdd not hangup the call if there is a problem.
      * Reduced message level from warning to verbose for normal exception
      cases.
      * Added a loop safety check to BridgeAdd.
      * Made BridgeAdd set BRIDGERESULT with the status when dialplan is
      resumed.
      
      Change-Id: I374d39b8a3edcc794eeb5c6b9f31a01424cdc426
      19069f7d
    • Richard Mudgett's avatar
      app_dial.c: Simplify dialplan using Dial. · abcb4ab3
      Richard Mudgett authored
      Dialplan has to be careful about passing an empty destination list or
      empty positions in the list.  As a result, dialplan has to check for
      these conditions before using Dial.  Simplify dialplan by making Dial
      handle these conditions gracefully.
      
      * Made tolerate empty positions in the dialed device list.
      
      * Reduced some message log levels from notice to verbose.
      
      ASTERISK-28638
      
      Change-Id: I6edc731aff451f8bdfaee5498078dd18c3a11ab9
      abcb4ab3
    • Richard Mudgett's avatar
      app_page.c: Simplify dialplan using Page. · d86a6ac5
      Richard Mudgett authored
      Dialplan has to be careful about passing an empty destination list or
      empty positions in the list.  As a result, dialplan has to check for
      these conditions before using Page.  Simplify dialplan by making Page
      handle these conditions gracefully.
      
      * Made tolerate empty positions in the paged device list.
      
      * Reduced some warnings associated with the 's' option to verbose
      messages.  The warning level for those messages really serves no purpose
      as that is why the 's' option exists.
      
      ASTERISK-28638
      
      Change-Id: I95b64a6d6800cd1a25279c88889314ae60fc21e3
      d86a6ac5
  8. Jan 02, 2020
    • Jean Aunis's avatar
      ARI: Ability to inhibit COLP frames when adding channels to a bridge · 034ac357
      Jean Aunis authored
      This patch adds a new flag "inhibitConnectedLineUpdates" to the 'addChannel'
      operation in the Bridges REST API. When set, this flag avoids generating COLP
      frames when the specified channels enter the bridge.
      
      ASTERISK-28629
      
      Change-Id: Ib995d4f0c6106279aa448b34b042b68f0f2ca5dc
      034ac357
  9. Dec 16, 2019
    • Joshua C. Colp's avatar
      confbridge: Add support for specifying maximum sample rate. · 89b7144f
      Joshua C. Colp authored
      ConfBridge has the ability to move between different sample
      rates for mixing the conference bridge. Up until now there has
      only been the ability to set the conference bridge to mix at
      a specific sample rate, or to let it move between sample rates
      as necessary. This change adds the ability to configure a
      conference bridge with a maximum sample rate so it can move
      between sample rates but only up to the configured maximum.
      
      ASTERISK-28658
      
      Change-Id: Idff80896ccfb8a58a816e4ce9ac4ebde785963ee
      89b7144f
  10. Dec 13, 2019
    • Kevin Harwell's avatar
      res_fax: wrap v21 detected Asterisk initiated negotiation with config option · b6f56073
      Kevin Harwell authored
      A previous patch:
      
      Gerrit Change-Id: I73bb24799bfe1a48adae9c034a2edbae54cc2a39
      
      made it so a T.38 Gateway tries to negotiate with both sides by sending T.38
      negotiation request to both endpoints supported T.38 versus the previous
      behavior of forwarding negotiation to the "other" channel once a preamble
      was detected.
      
      This had the unfortunate side effect of breaking some setups. Specifically
      ones that set the max datagram option on an endpoint configuration (configured
      max datagram was not propagated since Asterisk now initiates negotiations).
      
      This patch adds a configuration option, "negotiate_both", that when enabled
      makes it so Asterisk initiates the negotiation requests to both endpoints vs.
      the previous behavior of waiting, and forwarding the request.
      
      The default is disabled keeping with the old behavior.
      
      ASTERISK-28660
      
      Change-Id: I5deb875f3485e20bc75119ec743090655d864a1a
      b6f56073
  11. Dec 11, 2019
    • Pascal Cadotte Michaud's avatar
      PJSIP_CONTACT: add missing argument documentation · bf4dd3d8
      Pascal Cadotte Michaud authored
      add missing argument "rtt" and "status" to the documentation
      
      The change to the dtd file allow an enumlist to contain one or many
      configOptionToEnum or enum.
      
      This is different from the previous patch I submitted when you could have a
      configOptionToEnum or (a configOptionToEnum followed by one or manu enums) or
      (one or many enums)
      
      ASTERISK-28626
      
      Change-Id: Ia71743ee7ec813f40297b0ddefeee7909db63b6d
      Unverified
      bf4dd3d8
    • Joshua Colp's avatar
      Revert "PJSIP_CONTACT: add missing argument documentation" · d0b198b3
      Joshua Colp authored
      This reverts commit 7e3015d7.
      
      Reason for revert: Regression in XML validation.
      
      validity error : Content model of enumlist is not determinist:
      (configOptionToEnum | (configOptionToEnum , enum+) | enum+)
      
      As we are preparing to do releases and this is not critical
      I am reverting this for now until resolved.
      
      Change-Id: I30c2295f9d7f0a0475674ee77071a7ebabf5b83f
      d0b198b3
  12. Nov 21, 2019
    • George Joseph's avatar
      manager.c: Prevent the Originate action from running the Originate app · 7e3a6e15
      George Joseph authored
      If an AMI user without the "system" authorization calls the
      Originate AMI command with the Originate application,
      the second Originate could run the "System" command.
      
      Action: Originate
      Channel: Local/1111
      Application: Originate
      Data: Local/2222,app,System,touch /tmp/owned
      
      If the "system" authorization isn't set, we now block the
      Originate app as well as the System, Exec, etc. apps.
      
      ASTERISK-28580
      Reported by: Eliel Sardañons
      
      Change-Id: Ic4c9dedc34c426f03c8c14fce334a71386d8a5fa
      7e3a6e15
    • Pascal Cadotte Michaud's avatar
      PJSIP_CONTACT: add missing argument documentation · 7e3015d7
      Pascal Cadotte Michaud authored
      add missing argument "rtt" and "status" to the documentation
      
      ASTERISK-28626
      Change-Id: I8419e4c8203e411b87d93dc395acdbcf7526dedf
      Unverified
      7e3015d7
  13. Nov 15, 2019
    • Martin Tomec's avatar
      func_curl.c: Support custom http headers · d257a089
      Martin Tomec authored
      When user wants to send json data, the default Content-Type header
      is incorect (application/x-www-form-urlencoded). This patch allows
      to set any custom headers so the Content-Type header can be
      overriden. User can set multiple headers by multiple calls of
      curlopt(). This approach is not consistent with other parameters,
      but is more readable in dialplan than one call with multiple
      headers.
      
      ASTERISK-28613
      
      Change-Id: I4dd68c3f4e25362ef941d73a3861f58348dcfbf9
      d257a089
  14. Oct 08, 2019
  15. Oct 01, 2019
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. Jul 29, 2019
  24. 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
  25. 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
  26. 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
  27. 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
  28. 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
  29. 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
  30. Jun 05, 2019
  31. May 24, 2019
  32. May 23, 2019
  33. 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
  34. 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
Loading