Skip to content
Snippets Groups Projects
  1. Feb 27, 2023
    • Mike Bradeen's avatar
      app_read: Add an option to return terminator on empty digits. · 5c11d7ad
      Mike Bradeen authored
      Adds 'e' option to allow Read() to return the terminator as the
      dialed digits in the case where only the terminator is entered.
      
      ie; if "#" is entered, return "#" if the 'e' option is set and ""
      if it is not.
      
      ASTERISK-30411
      
      Change-Id: I49f3221824330a193a20c660f99da0f1fc2cbbc5
      5c11d7ad
    • Mike Bradeen's avatar
      app_directory: Add a 'skip call' option. · 2308afed
      Mike Bradeen authored
      Adds 's' option to skip calling the extension and instead set the
      extension as DIRECTORY_EXTEN channel variable.
      
      ASTERISK-30405
      
      Change-Id: Ib9d9db1ba5b7524594c640461b4aa8f752db8299
      2308afed
    • 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. Feb 20, 2023
  3. Feb 13, 2023
    • Sean Bright's avatar
      app_queue: Reset all queue defaults before reload. · aef0c0ce
      Sean Bright authored
      Several queue fields were not being set to their default value during
      a reload.
      
      Additionally added some sample configuration options that were missing
      from queues.conf.sample.
      
      Change-Id: I3a88c7877af91752b1b46a0c087384f7eb9c47e4
      aef0c0ce
  4. Jan 31, 2023
    • Sean Bright's avatar
      doxygen: Fix doxygen errors. · 96d9ad51
      Sean Bright authored
      Change-Id: Ic50e95b4fc10f74ab15416d908e8a87ee8ec2f85
      96d9ad51
    • 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
  5. Jan 30, 2023
    • Mike Bradeen's avatar
      app_directory: add ability to specify configuration file · 70856e86
      Mike Bradeen authored
      Adds option to app_directory to specify a filename from which to
      read configuration instead of voicemail.conf ie;
      
      same => n,Directory(,,c(directory.conf))
      
      This configuration should contain a list of extensions using the
      voicemail.conf format, ie;
      
      2020=2020,Dog Dog,,,,attach=no|saycid=no|envelope=no|delete=no
      
      ASTERISK-30404
      
      Change-Id: Id58ccb1344ad1e563fa10db12f172fbd104a9d13
      70856e86
  6. 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
  7. 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
  8. Dec 20, 2022
    • Naveen Albert's avatar
      app_voicemail_odbc: Fix string overflow warning. · 20d4775d
      Naveen Albert authored
      Fixes a negative offset warning by initializing
      the buffer to empty.
      
      Additionally, although it doesn't currently complain
      about it, the size of a buffer is increased to
      accomodate the maximum size contents it could have.
      
      ASTERISK-30240 #close
      
      Change-Id: I8eecedf14d3f2a75864797f802277cac89a32877
      20d4775d
    • Naveen Albert's avatar
      app_sendtext: Remove references to removed applications. · 36bea9ad
      Naveen Albert authored
      Removes see-also references to applications that don't
      exist anymore (removed in Asterisk 19),
      so these dead links don't show up on the wiki.
      
      ASTERISK-30347 #close
      
      Change-Id: I9539bc30f57cd65aa4e2d5ce8185eafa09567909
      36bea9ad
  9. Dec 13, 2022
  10. Dec 09, 2022
    • 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
  11. 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
      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
  12. Nov 28, 2022
    • Naveen Albert's avatar
      sla: Prevent deadlock and crash due to autoservicing. · 2efa290d
      Naveen Albert authored
      SLAStation currently autoservices the station channel before
      creating a thread to actually dial the trunk. This leads
      to duplicate servicing of the channel which causes assertions,
      deadlocks, crashes, and moreover not the correct behavior.
      
      Removing the autoservice prevents the crash, but if the station
      hangs up before the trunk answers, the call hangs since the hangup
      was never serviced on the channel.
      
      This is fixed by not autoservicing the channel, but instead
      servicing it in the thread dialing the trunk, since it is doing
      so synchronously to begin with. Instead of sleeping for 100ms
      in a loop, we simply use the channel for timing, and abort
      if it disappears.
      
      The same issue also occurs with SLATrunk when a call is answered,
      because ast_answer invokes ast_waitfor_nandfds. Thus, we use
      ast_raw_answer instead which does not cause any conflict and allows
      the call to be answered normally without thread blocking issues.
      
      ASTERISK-29998 #close
      
      Change-Id: Icc237d50354b5910000d2305901e86d2c87bb9d8
      2efa290d
  13. 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
  14. Nov 02, 2022
    • Naveen Albert's avatar
      app_stack: Print proper exit location for PBXless channels. · dfe2f386
      Naveen Albert authored
      When gosub is executed on channels without a PBX, the context,
      extension, and priority are initialized to the channel driver's
      default location for that endpoint. As a result, the last Return
      will restore this location and the Gosub logs will print out bogus
      information about our exit point.
      
      To fix this, on channels that don't have a PBX, the execution
      location is left intact on the last return if there are no
      further stack frames left. This allows the correct location
      to be printed out to the user, rather than the bogus default
      context.
      
      ASTERISK-30076 #close
      
      Change-Id: I1d42a99c9aa9e3708d32718863175158a894e414
      dfe2f386
  15. Sep 26, 2022
    • 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
  16. Sep 11, 2022
    • Naveen Albert's avatar
      app_confbridge: Add end_marked_any option. · 205c7c8d
      Naveen Albert authored
      Adds the end_marked_any option, which can be used
      to kick a user from a conference if any marked user
      leaves.
      
      ASTERISK-30211 #close
      
      Change-Id: I9e8da7ccb892e522546c0f2b5476d172e022c2f5
      205c7c8d
  17. Aug 17, 2022
    • Naveen Albert's avatar
      general: Very minor coding guideline fixes. · e2e049e4
      Naveen Albert authored
      Fixes a few coding guideline violations:
      * Use of C99 comments
      * Opening brace on same line as function prototype
      
      ASTERISK-30163 #close
      
      Change-Id: I07771c4c89facd41ce8d323859f022ddbddf6ca7
      e2e049e4
  18. Aug 08, 2022
    • Naveen Albert's avatar
      app_confbridge: Fix memory leak on updated menu options. · dc7ec11c
      Naveen Albert authored
      If the CONFBRIDGE function is used to dynamically set
      menu options, a memory leak occurs when a menu option
      that has been set is overridden, since the menu entry
      is not destroyed before being freed. This ensures that
      it is.
      
      Additionally, logic that duplicates the destroy function
      is removed in lieu of the destroy function itself.
      
      ASTERISK-28422 #close
      
      Change-Id: I71cfb5c24e636984d41086d1333a416dc12ff995
      dc7ec11c
  19. Aug 01, 2022
    • Naveen Albert's avatar
      general: Improve logging levels of some log messages. · c6544865
      Naveen Albert authored
      Adjusts some logging levels to be more or less important,
      that is more prominent when actual problems occur and less
      prominent for less noteworthy things.
      
      ASTERISK-30153 #close
      
      Change-Id: Ifc8f7df427aa018627db462125ae744986d3261b
      c6544865
    • Naveen Albert's avatar
      general: Remove obsolete SVN references. · 165368bf
      Naveen Albert authored
      There are a handful of files in the tree that
      reference an SVN link for the coding guidelines.
      
      This removes these because the links are dead
      and the vast majority of source files do not
      contain these links, so this is more consistent.
      
      app_skel still maintains an (up to date) link
      to the coding guidelines.
      
      ASTERISK-30159 #close
      
      Change-Id: I35bbb20f66982e98099cff3029ede20091ffdac7
      165368bf
    • Naveen Albert's avatar
      app_confbridge: Add missing AMI documentation. · 2d8f2696
      Naveen Albert authored
      Documents the ConfbridgeListRooms AMI response,
      which is currently not documented.
      
      ASTERISK-30020 #close
      
      Change-Id: Id6fff7a936244bae7b52686301eb740c1169cdea
      2d8f2696
    • Naveen Albert's avatar
      app_meetme: Add missing AMI documentation. · 4af88150
      Naveen Albert authored
      The MeetmeList and MeetmeListRooms AMI
      responses are currently completely undocumented.
      This adds documentation for these responses.
      
      ASTERISK-30018 #close
      
      Change-Id: Id93135b7edf01de6f8fba266e2122989dc8996b8
      4af88150
  20. Jul 13, 2022
    • Naveen Albert's avatar
      app_confbridge: Always set minimum video update interval. · 2843e567
      Naveen Albert authored
      Currently, if multiple video-enabled ConfBridges are
      conferenced together, we immediately get into a scenario
      where an infinite sequence of video updates fills up
      the taskprocessor queue and causes memory consumption
      to climb unabated until Asterisk is killed. This is due
      to the core bridging mechanism that provides video updates
      (softmix_bridge_write_control in bridge_softmix.c)
      continously updating all the channels in the bridge with
      video updates.
      
      The logic to do so in the core is that the video updates
      should be provided if the video_update_discard property
      for the bridge is 0, or if enough time has elapsed since
      the last video update. Thus, we already have a safeguard
      built in to ensure the scenario described above does not
      happen. Currently, however, this safeguard is not being
      adequately ensured.
      
      In app_confbridge, the video_update_discard property
      defaults to 2000, which is a healthy value that should
      completely prevent this issue. However, this value is
      only set onto the bridge in the SFU video mode. This
      leaves video modes such as follow_talker completely
      vulnerable, since video_update_discard will actually
      be 0, since the default or set value was never applied.
      As a result, the core bridging mechanism will always
      try to provide video updates regardless of when the last
      one was sent.
      
      To prevent this issue from happening, we now always
      set the video_update_discard property on the bridge
      with the value from the bridge profile. The app_confbridge
      defaults will thus ensure that infinite video updates
      no longer happen in any video mode.
      
      ASTERISK-29907 #close
      
      Change-Id: I4accb2536ac62797950468e9930f12ef7dd486b2
      2843e567
  21. Jul 12, 2022
  22. Jul 01, 2022
    • Naveen Albert's avatar
      app_dial: Fix dial status regression. · 626fefdf
      Naveen Albert authored
      ASTERISK_28638 caused a regression by incorrectly aborting
      early and overwriting the status on certain calls.
      This was exhibited by certain technologies such as DAHDI,
      where DAHDI returns NULL for the request if a line is busy.
      This caused the BUSY condition to be incorrectly treated
      as CHANUNAVAIL because the DIALSTATUS was getting incorrectly
      overwritten and call handling was aborted early.
      
      This is fixed by instead checking if any valid peers have been
      specified, as opposed to checking the list size of successful
      requests. This is because the latter could be empty but this
      does not indicate any kind of problem. This restores the
      previous working behavior.
      
      ASTERISK-29989 #close
      
      Change-Id: I4d4b209b967816b1bc791534593ababa2b99bb88
      626fefdf
    • Naveen Albert's avatar
      app_dial: Propagate outbound hook flashes. · ae8a36a7
      Naveen Albert authored
      The Dial application currently stops hook flashes
      dead in their tracks from propagating through on
      outbound calls. This fixes that so they can go
      down the wire.
      
      ASTERISK-30115 #close
      
      Change-Id: Id4e78b29a049f35c5b1e7520eaa10d0eb5b7f97c
      ae8a36a7
  23. Jun 30, 2022
    • Naveen Albert's avatar
      pbx: Add helper function to execute applications. · 4a11ae7e
      Naveen Albert authored
      Finding an application and executing it if found is
      a common task throughout Asterisk. This adds a helper
      function around pbx_exec to do this, to eliminate
      redundant code and make it easier for modules to
      substitute variables and execute applications by name.
      
      ASTERISK-30061 #close
      
      Change-Id: Ifee4d2825df7545fb515d763d393065675140c84
      4a11ae7e
  24. Jun 15, 2022
    • Naveen Albert's avatar
      app_voicemail: Add option to prevent message deletion. · cc8e098e
      Naveen Albert authored
      Adds an option to VoiceMailMain that prevents the user
      from deleting messages during that application invocation.
      This can be useful for public or shared mailboxes, where
      some users should be able to listen to messages but not
      delete them.
      
      ASTERISK-30063 #close
      
      Change-Id: Icdfb8423ae8d1fce65a056b603eb84a672e80a26
      cc8e098e
  25. Jun 09, 2022
    • Naveen Albert's avatar
      xmldocs: Improve examples. · 51d262af
      Naveen Albert authored
      Use example tags instead of regular para tags
      where possible.
      
      ASTERISK-30090
      
      Change-Id: Iada8bbfda08f30b118cedf2d040bbb21e4966ec5
      51d262af
  26. May 13, 2022
    • Naveen Albert's avatar
      app_confbridge: Add function to retrieve channels. · 432a1d2d
      Naveen Albert authored
      Adds the CONFBRIDGE_CHANNELS function which can be used
      to retrieve a comma-separated list of channels, filtered
      by a particular type of participant category. This output
      can then be used with functions like UNSHIFT, SHIFT, POP,
      etc.
      
      ASTERISK-30036 #close
      
      Change-Id: I1950aff932437476dc1abab6f47fb4ac90520b83
      432a1d2d
  27. May 09, 2022
    • George Joseph's avatar
      GCC12: Fixes for 16+ · 4aa54168
      George Joseph authored
      Most issues were in stringfields and had to do with comparing
      a pointer to an constant/interned string with NULL.  Since the
      string was a constant, a pointer to it could never be NULL so
      the comparison was always "true".  gcc now complains about that.
      
      There were also a few issues where determining if there was
      enough space for a memcpy or s(n)printf which were fixed
      by defining some of the involved variables as "volatile".
      
      There were also a few other miscellaneous fixes.
      
      ASTERISK-30044
      
      Change-Id: Ia081ca1bcfb329df6487c4660aaf1944309eb570
      4aa54168
  28. May 02, 2022
    • Naveen Albert's avatar
      chan_dahdi: Document dial resource options. · 892c0656
      Naveen Albert authored
      Documents the Dial syntax for DAHDI, namely the channel group,
      distinctive ring, answer confirmation, and digital call options
      that are specified in the resource itself.
      
      ASTERISK-24827 #close
      
      Change-Id: Ib95e78497fb00dc5cbfde1c93a69f034bfd08c30
      892c0656
    • Michael Cargile's avatar
      apps/confbridge: Added hear_own_join_sound option to control who hears sound_join · a2679b0e
      Michael Cargile authored
      Added the hear_own_join_sound option to the confbridge user profile to
      control who hears the sound_join audio file. When set to 'yes' the user
      entering the conference and the participants already in the conference
      will hear the sound_join audio file. When set to 'no' the user entering
      the conference will not hear the sound_join audio file, but the
      participants already in the conference will hear the sound_join audio
      file.
      
      ASTERISK-29931
      Added by Michael Cargile
      
      Change-Id: I856bd66dc0dfa057323860a6418c1371d249abd2
      a2679b0e
  29. Apr 27, 2022
    • Naveen Albert's avatar
      app_meetme: Don't erroneously set global variables. · b90650d8
      Naveen Albert authored
      The admin_exec function in app_meetme is used by the SLA
      applications for internal bridging. However, in these cases,
      chan is NULL. Currently, this function will set some status
      variables that are intended for a channel, but since channel
      is NULL, this is erroneously creating meaningless global
      variables, which shouldn't be happening. This sets these
      variables only if chan is not NULL.
      
      ASTERISK-30002 #close
      
      Change-Id: I817df6c26f5bda131678e56791b0b61ba64fc6f7
      b90650d8
Loading