Skip to content
Snippets Groups Projects
  1. Jan 06, 2014
  2. Jan 03, 2014
  3. Dec 19, 2013
    • Richard Mudgett's avatar
      Voicemail: Remove mailbox identifier format (box@context) assumptions in the system. · e4803bbd
      Richard Mudgett authored
      This change is in preparation for external MWI support.
      
      Removed code from the system for normal mailbox handling that appends
      @default to the mailbox identifier if it does not have a context.  The
      only exception is the legacy hasvoicemail users.conf option.  The legacy
      option will only work for app_voicemail mailboxes.  The system cannot make
      any assumptions about the format of the mailbox identifer used by
      app_voicemail.
      
      chan_sip and chan_dahdi/sig_pri had the most changes because they both
      tried to interpret the mailbox identifier.  chan_sip just stored and
      compared the two components.  chan_dahdi actually used the box
      information.
      
      The ISDN MWI support configuration options had to be reworked because
      chan_dahdi was parsing the box@context format to get the box number.  As a
      result the mwi_vm_boxes chan_dahdi.conf option was added and is documented
      in the chan_dahdi.conf.sample file.
      
      Review: https://reviewboard.asterisk.org/r/3072/
      ........
      
      Merged revisions 404348 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@404350 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      e4803bbd
    • Matthew Jordan's avatar
      app_cdr,app_forkcdr,func_cdr: Synchronize with engine when manipulating state · 7e9febbf
      Matthew Jordan authored
      When doing the rework of the CDR engine that pushed all of the logic into cdr.c
      and made it respond to changes in channel state over Stasis, we knew that
      accessing the CDR engine from the dialplan would be "slightly"
      non-deterministic. Dialplan threads would be accessing CDRs while Stasis
      threads would be updating the state of said CDRs - whereas in the past,
      everything happened on the dialplan threads. Tests have shown that "slightly"
      is in reality "very".
      
      This patch synchronizes things by making the dialplan applications/functions
      that manipulate CDRs do so over Stasis. ForkCDR, NoCDR, ResetCDR, CDR, and
      CDR_PROP now all use Stasis to send their requests over to the CDR engine,
      and synchronize on the channel Stasis topic via a subscription so that they
      return their values/control to the dialplan at the appropriate time.
      
      While going through this, the following changes were also made:
       * DISA, which can reset the CDR when a user successfully authenticates, now
         just uses the ResetCDR app to do this. This prevents having to duplicate
         the same Stasis synchronization logic in that application.
       * Answer no longer disables CDRs. It actually didn't work anyway - calling
         DISABLE on the channel's CDR doesn't stop the CDR from getting the Answer
         time - it just kills all CDRs on that channel, which isn't what the caller
         would intend.
      
      (closes issue ASTERISK-22884)
      (closes issue ASTERISK-22886)
      
      Review: https://reviewboard.asterisk.org/r/3057/
      ........
      
      Merged revisions 404294 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@404295 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      7e9febbf
  4. Dec 18, 2013
  5. Dec 17, 2013
  6. Dec 16, 2013
  7. Dec 14, 2013
  8. Dec 11, 2013
  9. Dec 09, 2013
  10. Dec 05, 2013
  11. Dec 03, 2013
  12. Nov 23, 2013
  13. Nov 22, 2013
  14. Nov 21, 2013
  15. Nov 15, 2013
  16. Nov 14, 2013
  17. Nov 12, 2013
  18. Nov 11, 2013
  19. Nov 08, 2013
    • Kevin Harwell's avatar
      app_dahdiras: Use waitpid instead of wait4. · 2564ed26
      Kevin Harwell authored
      Several places in the code were using wait4 while other places were using
      waitpid.  This change makes all places use waitpid in order to make things
      more consistent and since the 'rusage' object passed in/out of wait4 was
      never used.
      
      (closes issue ASTERISK-22557)
      Reported by: YvesGael
      Patches:
           asterisk-11.5.1-wait4.patch uploaded by hurdman (license 6537)
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@402546 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      2564ed26
  20. Nov 06, 2013
    • Kevin Harwell's avatar
      app_queue: crash if first agent is "busy" · cdfbc02d
      Kevin Harwell authored
      If the first agent/member (via CLI "queue show") in a queue is "busy" (dnd,
      circuit busy, etc...) and no agents answered then app_queue would crash.
      This occurred because while the calling of agent(s) remained valid the channel
      on "busy" agent would be set to NULL and then later dereferenced upon a second
      "rna" function call.  The original intention of the code is to have only valid
      "call attempt" objects (channels != NULL) checked while attempting to call
      agent(s).  It does this by building a "call_next" list of valid "call attempt"
      objects.  In the case of the "busy" agent subsequent builds of the valid "call
      attempt" list would sometimes include (the case mentioned above) an invalid
      "call attempt" object.
      
      The fix was to make sure the "call attempt" list was appropriately built on
      every iteration.  A NULL sanity check was also added at the original offending
      spot of the crash just in case another one slipped by somehow.
      
      (closes issue ASTERISK-22644)
      Reported by: Marco Signorini
      Review: https://reviewboard.asterisk.org/r/2983/
      ........
      
      Merged revisions 402517 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@402518 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      cdfbc02d
  21. Nov 02, 2013
  22. Nov 01, 2013
  23. Oct 24, 2013
  24. Oct 22, 2013
  25. Oct 18, 2013
    • Richard Mudgett's avatar
      Add channel lock protection around translation path setup. · 057d105c
      Richard Mudgett authored
      Most callers of ast_channel_make_compatible() happen before the channels
      enter a two party bridge.  With the new bridging framework, two party
      bridging technologies may also call ast_channel_make_compatible() when
      there is more than one thread involved with the two channels.
      
      * Added channel lock protection in set_format() and
      ast_channel_make_compatible_helper() when dealing with the channel's
      native formats while setting up a translation path.
      
      * Fixed best_src_fmt and best_dst_fmt usage consistency in
      ast_channel_make_compatible_helper().  The call to
      ast_translator_best_choice() got them backwards.
      
      * Updated some callers of ast_channel_make_compatible() and the function
      documentation.  There is actually a difference between the two channels
      passed in.
      
      * Fixed the deadlock potential in res_fax.c dealing with
      ast_channel_make_compatible().  The deadlock potential was already there
      anyway because res_fax called ast_channel_make_compatible() with chan
      locked.
      
      (closes issue ASTERISK-22542)
      Reported by: Matt Jordan
      
      Review: https://reviewboard.asterisk.org/r/2915/
      ........
      
      Merged revisions 401239 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@401240 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      057d105c
  26. Oct 16, 2013
  27. Oct 08, 2013
Loading