Skip to content
Snippets Groups Projects
  1. Feb 27, 2023
    • Mike Bradeen's avatar
      app_senddtmf: Add option to answer target channel. · 98742388
      Mike Bradeen authored
      Adds a new option to SendDTMF() which will answer the specified
      channel if it is not already up. If no channel is specified, the
      current channel will be answered instead.
      
      ASTERISK-30422
      
      Change-Id: Iddcbd501fcdf9fef0f453b7a8115a90b11f1d085
      98742388
  2. Jan 31, 2023
    • Naveen Albert's avatar
      app_signal: Add signaling applications · 88b2c741
      Naveen Albert authored
      Adds the Signal and WaitForSignal
      applications, which can be used for inter-channel
      signaling in the dialplan.
      
      Signal supports sending a signal to other channels
      listening for a signal of the same name, with an
      optional data payload. The signal is received by
      all channels waiting for that named signal.
      
      ASTERISK-29810 #close
      
      Change-Id: Ic34439de3d60f8609357666a465c354d81f5fef3
      88b2c741
  3. Jan 30, 2023
    • Naveen Albert's avatar
      func_json: Enhance parsing capabilities of JSON_DECODE · 8a45cd7a
      Naveen Albert authored
      Adds support for arrays to JSON_DECODE by allowing the
      user to print out entire arrays or index a particular
      key or print the number of keys in a JSON array.
      
      Additionally, adds support for recursively iterating a
      JSON tree in a single function call, making it easier
      to parse JSON results with multiple levels. A maximum
      depth is imposed to prevent potentially blowing
      the stack.
      
      Also fixes a bug with the unit tests causing an empty
      string to be printed instead of the actual test result.
      
      ASTERISK-29913 #close
      
      Change-Id: I603940b216a3911b498fc6583b18934011ef5d5b
      8a45cd7a
  4. Jan 26, 2023
    • Naveen Albert's avatar
      res_pjsip_session: Add overlap_context option. · a1da8042
      Naveen Albert authored
      Adds the overlap_context option, which can be used
      to explicitly specify a context to use for overlap
      dialing extension matches, rather than forcibly
      using the context configured for the endpoint.
      
      ASTERISK-30262 #close
      
      Change-Id: Ibbcd4a8b11402428a187fb56b8d4e7408774a0db
      a1da8042
  5. Jan 13, 2023
    • Sean Bright's avatar
      app_playback.c: Fix PLAYBACKSTATUS regression. · ef16eaee
      Sean Bright authored
      In Asterisk 11, if a channel was redirected away during Playback(),
      the PLAYBACKSTATUS variable would be set to SUCCESS. In Asterisk 12
      (specifically commit 7d9871b3) that
      behavior was inadvertently changed and the same operation would result
      in the PLAYBACKSTATUS variable being set to FAILED. The Asterisk 11
      behavior has been restored.
      
      Partial fix for ASTERISK~25661.
      
      Change-Id: I53f54e56b59b61c99403a481b6cb8d88b5a559ff
      ef16eaee
  6. Jan 10, 2023
  7. Jan 09, 2023
    • George Joseph's avatar
      res_rtp_asterisk: Asterisk Media Experience Score (MES) · 4710f37e
      George Joseph authored
      -----------------
      
      This commit reinstates MES with some casting fixes to the
      functions in time.h that convert between doubles and timeval
      structures.  The casting issues were causing incorrect
      timestamps to be calculated which caused transcoding from/to
      G722 to produce bad or no audio.
      
      ASTERISK-30391
      
      -----------------
      
      This module has been updated to provide additional
      quality statistics in the form of an Asterisk
      Media Experience Score.  The score is avilable using
      the same mechanisms you'd use to retrieve jitter, loss,
      and rtt statistics.  For more information about the
      score and how to retrieve it, see
      https://wiki.asterisk.org/wiki/display/AST/Media+Experience+Score
      
      * Updated chan_pjsip to set quality channel variables when a
        call ends.
      * Updated channels/pjsip/dialplan_functions.c to add the ability
        to retrieve the MES along with the existing rtcp stats when
        using the CHANNEL dialplan function.
      * Added the ast_debug_rtp_is_allowed and ast_debug_rtcp_is_allowed
        checks for debugging purposes.
      * Added several function to time.h for manipulating time-in-samples
        and times represented as double seconds.
      * Updated rtp_engine.c to pass through the MES when stats are
        requested.  Also debug output that dumps the stats when an
        rtp instance is destroyed.
      * Updated res_rtp_asterisk.c to implement the calculation of the
        MES.  In the process, also had to update the calculation of
        jitter.  Many debugging statements were also changed to be
        more informative.
      * Added a unit test for internal testing.  The test should not be
        run during normal operation and is disabled by default.
      
      Change-Id: I4fce265965e68c3fdfeca55e614371ee69c65038
      4710f37e
    • George Joseph's avatar
      Revert "res_rtp_asterisk: Asterisk Media Experience Score (MES)" · 62ca063f
      George Joseph authored
      This reverts commit d454801c.
      
      Reason for revert: Issue when transcoding to/from g722
      
      Change-Id: I09f49e171b1661548657a9ba7a978c29d0b5be86
      62ca063f
  8. Jan 05, 2023
    • Naveen Albert's avatar
      app_broadcast: Add Broadcast application · e06fe8e3
      Naveen Albert authored
      Adds a new application, Broadcast, which can be used for
      one-to-many transmission and many-to-one reception of
      channel audio in Asterisk. This is similar to ChanSpy,
      except it is designed for multiple channel targets instead
      of a single one. This can make certain kinds of audio
      manipulation more efficient and streamlined. New kinds
      of audio injection impossible with ChanSpy are also made
      possible.
      
      ASTERISK-30180 #close
      
      Change-Id: I7ba72f765dbab9b58deeae028baca3f4f8377726
      e06fe8e3
  9. Jan 03, 2023
    • George Joseph's avatar
      res_rtp_asterisk: Asterisk Media Experience Score (MES) · d454801c
      George Joseph authored
      This module has been updated to provide additional
      quality statistics in the form of an Asterisk
      Media Experience Score.  The score is avilable using
      the same mechanisms you'd use to retrieve jitter, loss,
      and rtt statistics.  For more information about the
      score and how to retrieve it, see
      https://wiki.asterisk.org/wiki/display/AST/Media+Experience+Score
      
      * Updated chan_pjsip to set quality channel variables when a
        call ends.
      * Updated channels/pjsip/dialplan_functions.c to add the ability
        to retrieve the MES along with the existing rtcp stats when
        using the CHANNEL dialplan function.
      * Added the ast_debug_rtp_is_allowed and ast_debug_rtcp_is_allowed
        checks for debugging purposes.
      * Added several function to time.h for manipulating time-in-samples
        and times represented as double seconds.
      * Updated rtp_engine.c to pass through the MES when stats are
        requested.  Also debug output that dumps the stats when an
        rtp instance is destroyed.
      * Updated res_rtp_asterisk.c to implement the calculation of the
        MES.  In the process, also had to update the calculation of
        jitter.  Many debugging statements were also changed to be
        more informative.
      * Added a unit test for internal testing.  The test should not be
        run during normal operation and is disabled by default.
      
      ASTERISK-30280
      
      Change-Id: I458cb9a311e8e5dc1db769b8babbcf2e093f107a
      d454801c
  10. Dec 15, 2022
  11. Dec 09, 2022
    • Michael Kuron's avatar
      manager: AOC-S support for AOCMessage · 5c114dcb
      Michael Kuron authored
      ASTERISK-21502
      
      Change-Id: I051b778f8c862d3b4794d28f2f3d782316707b08
      5c114dcb
    • Michael Kuron's avatar
      res_pjsip_aoc: New module for sending advice-of-charge with chan_pjsip · fee9012f
      Michael Kuron authored
      
      chan_sip supported sending AOC-D and AOC-E information in SIP INFO
      messages in an "AOC" header in a format that was originally defined by
      Snom. In the meantime, ETSI TS 124 647 introduced an XML-based AOC
      format that is supported by devices from multiple vendors, including
      Snom phones with firmware >= 8.4.2 (released in 2010).
      
      This commit adds a new res_pjsip_aoc module that inserts AOC information
      into outgoing messages or sends SIP INFO messages as described below.
      It also fixes a small issue in res_pjsip_session which didn't always
      call session supplements on outgoing_response.
      
      * AOC-S in the 180/183/200 responses to an INVITE request
      * AOC-S in SIP INFO (if a 200 response has already been sent or if the
        INVITE was sent by Asterisk)
      * AOC-D in SIP INFO
      * AOC-D in the 200 response to a BYE request (if the client hangs up)
      * AOC-D in a BYE request (if Asterisk hangs up)
      * AOC-E in the 200 response to a BYE request (if the client hangs up)
      * AOC-E in a BYE request (if Asterisk hangs up)
      
      The specification defines one more, AOC-S in an INVITE request, which
      is not implemented here because it is not currently possible in
      Asterisk to have AOC data ready at this point in call setup. Once
      specifying AOC-S via the dialplan or passing it through from another
      SIP channel's INVITE is possible, that might be added.
      
      The SIP INFO requests are sent out immediately when the AOC indication
      is received. The others are inserted into an appropriate outgoing
      message whenever that is ready to be sent. In the latter case, the XML
      is stored in a channel variable at the time the AOC indication is
      received. Depending on where the AOC indications are coming from (e.g.
      PRI or AMI), it may not always be possible to guarantee that the AOC-E
      is available in time for the BYE.
      
      Successfully tested AOC-D and both variants of AOC-E with a Snom D735
      running firmware 10.1.127.10. It does not appear to properly support
      AOC-S however, so that could only be tested by inspecting SIP traces.
      
      ASTERISK-21502 #close
      Reported-by: default avatarMatt Jordan <mjordan@digium.com>
      
      Change-Id: Iebb7ad0d5f88526bc6629d3a1f9f11665434d333
      fee9012f
    • Naveen Albert's avatar
      app_voicemail: Fix missing email in msg_create_from_file. · b9c031c1
      Naveen Albert authored
      msg_create_from_file currently does not dispatch emails,
      which means that applications using this function, such
      as MixMonitor, will not trigger notifications to users
      (only AMI events are sent our currently). This is inconsistent
      with other ways users can receive voicemail.
      
      This is fixed by adding an option that attempts to send
      an email and falling back to just the notifications as
      done now if that fails. The existing behavior remains
      the default.
      
      ASTERISK-30283 #close
      
      Change-Id: I597cbb9cf971a18d8776172b26ab187dc096a5c7
      b9c031c1
    • Naveen Albert's avatar
      res_hep: Add support for named capture agents. · 531eacd6
      Naveen Albert authored
      Adds support for the capture agent name field
      of the Homer protocol to Asterisk by allowing
      users to specify a name that will be sent to
      the HEP server.
      
      ASTERISK-30322 #close
      
      Change-Id: I6136583017f9dd08daeb8be02f60fb8df4639a2b
      531eacd6
  12. Dec 08, 2022
    • Naveen Albert's avatar
      app_if: Adds conditional branch applications · b365ea86
      Naveen Albert authored
      Adds the If, ElseIf, Else, ExitIf, and EndIf
      applications for conditional execution
      of a block of dialplan, similar to the While,
      EndWhile, and ExitWhile applications. The
      appropriate branch is executed at most once
      if available and may be broken out of while
      inside.
      
      ASTERISK-29497
      
      Change-Id: I3aa3bd35a5add82465c6ee9bd86b64601f0e1f49
      b365ea86
    • Naveen Albert's avatar
      res_pjsip_header_funcs: Add custom parameter support. · 406143ae
      Naveen Albert authored
      Adds support for custom URI and header parameters
      in the From header in PJSIP. Parameters can be
      both set and read using this function.
      
      ASTERISK-30150 #close
      
      Change-Id: Ifb1bc3c512ad5f6faeaebd7817f004a2ecbd6428
      406143ae
    • Naveen Albert's avatar
      xmldoc: Allow XML docs to be reloaded. · 52c7d3ed
      Naveen Albert authored
      The XML docs are currently only loaded on
      startup with no way to update them during runtime.
      This makes it impossible to load modules that
      use ACO/Sorcery (which require documentation)
      if they are added to the source tree and built while
      Asterisk is running (e.g. external modules).
      
      This adds a CLI command to reload the XML docs
      during runtime so that documentation can be updated
      without a full restart of Asterisk.
      
      ASTERISK-30289 #close
      
      Change-Id: I4f265b0e5517e757c5453a0f241201a5788d3a07
      52c7d3ed
    • Naveen Albert's avatar
      app_mixmonitor: Add option to use real Caller ID for voicemail. · 691178c4
      Naveen Albert authored
      MixMonitor currently uses the Connected Line as the Caller ID
      for voicemails. This is due to the implementation being written
      this way for use with Digium phones. However, in general this
      is not correct for generic usage in the dialplan, and people
      may need the real Caller ID instead. This adds an option to do that.
      
      ASTERISK-30286 #close
      
      Change-Id: I3d0ce76dfe75e2a614e0f709ab27acbd2478267c
      691178c4
  13. Dec 03, 2022
  14. Nov 29, 2022
    • Naveen Albert's avatar
      pbx_builtins: Allow Answer to return immediately. · c7df5ee7
      Naveen Albert authored
      The Answer application currently waits for up to 500ms
      for media, even if users specify a different timeout.
      
      This adds an option to not wait for media on the channel
      by doing a raw answer instead. The default 500ms threshold
      is also documented.
      
      ASTERISK-30308 #close
      
      Change-Id: Id59cd340c44b8b8b2384c479e17e5123e917cba4
      c7df5ee7
    • Naveen Albert's avatar
      chan_dahdi: Allow FXO channels to start immediately. · 5ede4e21
      Naveen Albert authored
      Currently, chan_dahdi will wait for at least one
      ring before an incoming call can enter the dialplan.
      This is generally necessary in order to receive
      the Caller ID spill and/or distinctive ringing
      detection.
      
      However, if neither of these is required, then there
      is nothing gained by waiting for one ring and this
      unnecessarily delays call setup. Users can now
      use immediate=yes to make FXO channels (FXS signaled)
      begin processing dialplan as soon as Asterisk receives
      the call.
      
      ASTERISK-30305 #close
      
      Change-Id: I20818b370b2e4892c7f40c8a8753fa06a81750b5
      5ede4e21
  15. Nov 08, 2022
    • Naveen Albert's avatar
      app_mixmonitor: Add option to delete files on exit. · 6e59b01e
      Naveen Albert authored
      Adds an option that allows MixMonitor to delete
      its copy of any recording files before exiting.
      
      This can be handy in conjunction with options
      like m, which copy the file elsewhere, and the
      original files may no longer be needed.
      
      ASTERISK-30284 #close
      
      Change-Id: Ida093679c67e300efc154a97b6d8ec0f104e581e
      6e59b01e
  16. Oct 27, 2022
    • Henning Westerholt's avatar
      res_pjsip: return all codecs on a re-INVITE without SDP · 12445040
      Henning Westerholt authored
      Currently chan_pjsip on receiving a re-INVITE without SDP will only
      return the codecs that are previously negotiated and not offering
      all enabled codecs.
      
      This causes interoperability issues with different equipment (e.g.
      from Cisco) for some of our customers and probably also in other
      scenarios involving 3PCC infrastructure.
      
      According to RFC 3261, section 14.2 we SHOULD return all codecs
      on a re-INVITE without SDP
      
      The PR proposes a new parameter to configure this behaviour:
      all_codecs_on_empty_reinvite. It includes the code, documentation,
      alembic migrations, CHANGES file and example configuration additions.
      
      ASTERISK-30193 #close
      
      Change-Id: I69763708d5039d512f391e296ee8a4d43a1e2148
      12445040
    • Naveen Albert's avatar
      res_pjsip_notify: Add option support for AMI. · 40b52322
      Naveen Albert authored
      The PJSIP notify CLI commands allow for using
      "options" configured in pjsip_notify.conf.
      
      This allows these same options to be used in
      AMI actions as well.
      
      Additionally, as part of this improvement,
      some repetitive common code is refactored.
      
      ASTERISK-30263 #close
      
      Change-Id: Ie4496b322b63b61eaf9672183a959ab99a04b6b5
      40b52322
    • Naveen Albert's avatar
      res_pjsip_logger: Add method-based logging option. · c32b39d1
      Naveen Albert authored
      
      Expands the pjsip logger to support the ability to filter
      by SIP message method. This can make certain types of SIP debugging
      easier by only logging messages of particular method(s).
      
      ASTERISK-30146 #close
      
      Co-authored-by: default avatarSean Bright <sean@seanbright.com>
      Change-Id: I9c8cbb6fc8686ef21190eb42e08bc9a9b147707f
      c32b39d1
  17. Oct 10, 2022
    • Naveen Albert's avatar
      cdr: Allow bridging and dial state changes to be ignored. · b331caca
      Naveen Albert authored
      Allows bridging, parking, and dial messages to be globally
      ignored for all CDRs such that only a single CDR record
      is generated per channel.
      
      This is useful when CDRs should endure for the lifetime of
      an entire channel and bridging and dial updates in the
      dialplan should not result in multiple CDR records being
      created for the call. With the ignore bridging option,
      bridging changes have no impact on the channel's CDRs.
      With the ignore dial state option, multiple Dials and their
      outcomes have no impact on the channel's CDRs. The
      last disposition on the channel is preserved in the CDR,
      so the actual disposition of the call remains available.
      
      These two options can reduce the amount of "CDR hacks" that
      have hitherto been necessary to ensure that CDR was not
      "spoiled" by these messages if that was undesired, such as
      putting a dummy optimization-disabled local channel between
      the caller and the actual call and putting the CDR on the channel
      in the middle to ensure that CDR would persist for the entire
      call and properly record start, answer, and end times.
      Enabling these options is desirable when calls correspond
      to the entire lifetime of channels and the CDR should
      reflect that.
      
      Current default behavior remains unchanged.
      
      ASTERISK-30091 #close
      
      Change-Id: I393981af42732ec5ac3ff9266444abb453b7c832
      b331caca
    • Naveen Albert's avatar
      res_tonedetect: Add ringback support to TONE_DETECT. · e0e7f357
      Naveen Albert authored
      Adds support for detecting audible ringback tone
      to the TONE_DETECT function using the p option.
      
      ASTERISK-30254 #close
      
      Change-Id: Ie2329ff245248768367d26749c285fbe823f6414
      e0e7f357
  18. Sep 29, 2022
    • Maximilian Fridrich's avatar
      res_pjsip: Add mediasec capabilities. · 0d2e1401
      Maximilian Fridrich authored
      This patch adds support for mediasec SIP headers and SDP attributes.
      These are defined in RFC 3329, 3GPP TS 24.229 and
      draft-dawes-sipcore-mediasec-parameter. The new features are
      implemented so that a backbone for RFC 3329 is present to streamline
      future work on RFC 3329.
      
      With this patch, Asterisk can communicate with Deutsche Telekom trunks
      which require these fields.
      
      ASTERISK-30032
      
      Change-Id: Ia7f5b5ba42db18074fdd5428c4e1838728586be2
      0d2e1401
  19. Sep 28, 2022
  20. Sep 26, 2022
    • Naveen Albert's avatar
      features: Add no answer option to Bridge. · a5ec60e6
      Naveen Albert authored
      Adds the n "no answer" option to the Bridge application
      so that answer supervision can not automatically
      be provided when Bridge is executed.
      
      Additionally, a mechanism (dialplan variable)
      is added to prevent bridge targets (typically the
      target of a masquerade) from answering the channel
      when they enter the bridge.
      
      ASTERISK-30223 #close
      
      Change-Id: I76f73fcd8e403bcd18f2abb40c658f537ac1ba6d
      a5ec60e6
    • Naveen Albert's avatar
      app_bridgewait: Add option to not answer channel. · 1e29607b
      Naveen Albert authored
      Adds the n option to not answer the channel when calling
      BridgeWait, so the application can be used without
      forcing answer supervision.
      
      ASTERISK-30216 #close
      
      Change-Id: I6b85ef300b1f7b5170f8537e2b10889cc2e6605a
      1e29607b
    • Naveen Albert's avatar
      app_amd: Add option to play audio during AMD. · 8c791f9a
      Naveen Albert authored
      Adds an option that will play an audio file
      to the party while AMD is running on the
      channel, so the called party does not just
      hear silence.
      
      ASTERISK-30179 #close
      
      Change-Id: I4af306274552b61b3d9f0883c33f698abd4699b6
      8c791f9a
    • Naveen Albert's avatar
      func_export: Add EXPORT function · 1ed45183
      Naveen Albert authored
      Adds the EXPORT function, which allows write
      access to variables and functions on other
      channels.
      
      ASTERISK-29432 #close
      
      Change-Id: I7492645ae4307553d0f586d78e13a4f586231fdf
      1ed45183
  21. Sep 22, 2022
    • Maximilian Fridrich's avatar
      res_pjsip: Add 100rel option "peer_supported". · 5bbad0d2
      Maximilian Fridrich authored
      This patch adds a new option to the 100rel parameter for pjsip
      endpoints called "peer_supported". When an endpoint with this option
      receives an incoming request and the request indicated support for the
      100rel extension, then Asterisk will send 1xx responses reliably. If
      the request did not indicate 100rel support, Asterisk sends 1xx
      responses normally.
      
      ASTERISK-30158
      
      Change-Id: Id6d95ffa8f00dab118e0b386146e99f254f287ad
      5bbad0d2
    • Naveen Albert's avatar
      func_strings: Add trim functions. · ab1dbfef
      Naveen Albert authored
      Adds TRIM, LTRIM, and RTRIM, which can be used
      for trimming leading and trailing whitespace
      from strings.
      
      ASTERISK-30222 #close
      
      Change-Id: I50fb0c40726d044a7a41939fa9026f3da4872554
      ab1dbfef
  22. Sep 14, 2022
  23. Sep 13, 2022
  24. Sep 12, 2022
Loading