Skip to content
Snippets Groups Projects
  1. May 31, 2016
    • Mark Michelson's avatar
      Expand the scope of Dial Events · 205a31f8
      Mark Michelson authored
      Dial events up to this point have come in two flavors
      * A Dial event with no status to indicate that dialing has begun
      * A Dial event with a status to indicate that dialing has ended
      
      With this change, Dial events have been expanded to also give
      intermediate events, such as "RINGING", "PROCEEDING", and "PROGRESS".
      This is especially useful for ARI dialing, as it gives the application
      writer the opportunity to place a channel into an early bridge when
      early media is detected.
      
      AMI handles these in-progress dial events by sending a new event called
      "DialState" that simply indicates that dial state has changed but has
      not ended. ARI never distinguished between DialBegin and DialEnd, so no
      change was made to the event itself.
      
      Another change here relates to dial forwards. A forward-related event
      was previously only sent when a channel was successfully able to forward
      a call to a new channel. With this set of changes, if forwarding is
      blocked, we send a Dial event with a forwarding destination but no
      forwarding channel, since we were prevented from creating one. This is
      again useful for ARI since application writers can now handle call
      forward attempts from within their own application.
      
      ASTERISK-25925 #close
      Reported by Mark Michelson
      
      Change-Id: I42cbec7730d84640a434d143a0d172a740995543
      205a31f8
  2. May 27, 2016
    • Mark Michelson's avatar
      ARI: Re-implement the ARI dial command, allowing for early bridging. · 88d99791
      Mark Michelson authored
      ARI dial had been implemented using the Dial API. This made great sense
      when dialing was 100% separate from bridging. However, if a channel were
      to be added to a bridge during the dial attempt, there would be a
      conflict between the dialing thread and the bridging thread. Each would
      be attempting to read frames from the dialed channel and act on them.
      
      The initial attempt to make the two play nice was to have the Dial API
      suspend the channel in the bridge and stay in charge of the channel
      until the dial was complete. The problem with this was that it was
      riddled with potential race conditions. It also was not well-suited for
      the case where the channel changed which bridge it was in during the
      dial.
      
      This new approach removes the use of the Dial API altogether. Instead,
      the channel we are dialing is placed into an invisible ARI dialing
      bridge. The bridge channel thread handles incoming frames from the
      channel. If the channel is added to a real bridge, it is departed from
      the invisible bridge and then added to the real bridge. Similarly, if
      the channel is removed from the real bridge, it is automatically added
      back to the invisible bridge if the dial attempt is still active.
      
      This approach keeps the threading simple by always having the channel
      being handled by bridge channel threads.
      
      ASTERISK-25925
      
      Change-Id: I7750359ddf45fcd45eaec749c5b3822de4a8ddbb
      88d99791
  3. May 23, 2016
    • Mark Michelson's avatar
      Bridging: introduce "invisible" bridges. · f6c33771
      Mark Michelson authored
      Invisible bridges function the same as normal bridges, but they have the
      following restrictions:
      
      * They never show up in CLI, AMI, or ARI queries.
      * They do not have Stasis messages published about them.
      
      Invisible bridges' main use is for when use of the bridging system is
      desired, but the bridge should not be known to users of the Asterisk
      system.
      
      ASTERISK-25925
      
      Change-Id: I804a209d3181d7c54e3d61a60eb462e7ce0e3670
      f6c33771
  4. May 09, 2016
  5. May 06, 2016
  6. May 05, 2016
  7. May 04, 2016
  8. May 03, 2016
    • Jean Aunis's avatar
      app_chanspy: fix audiohook options in non read-only mode · 0c9faaee
      Jean Aunis authored
      When option 'o' was not set, ChanSpy created its audiohook with the flag
      AST_AUDIOHOOK_MUTE_WRITE, which caused ChanSpy to listen audio from one
      direction only.
      
      ASTERISK-25866 #close
      
      Change-Id: I5c745855eea29a3fbc4e4aed0b0c0f53580535e0
      0c9faaee
    • Alexei Gradinari's avatar
      res_pjsip/AMI: add contact.updated event · a4cfcda0
      Alexei Gradinari authored
      With the old SIP module AMI sends PeerStatus event on every
      successfully REGISTER requests, ie, on start registration,
      update registration and stop registration.
      
      With PJSIP AMI sends ContactStatus only when status is changed.
      Regarding registration:
      on start registration - Created
      on stop registration - Removed
      but on update registration nothing
      
      This patch added contact.updated event.
      
      ASTERISK-25904
      
      Change-Id: I8fad8aae9305481469c38d2146e1ba3a56d3108f
      a4cfcda0
    • zuul's avatar
      Merge "pjsip: Added "reg_server" to contacts." · c339d4c6
      zuul authored
      c339d4c6
    • Joshua Colp's avatar
    • George Joseph's avatar
      pjproject_bundled: Various fixes discovered during testing of OSes · e61716b7
      George Joseph authored
      For all OSes:
      * Disabled third-party codecs in pjproject and added
        '--disable-speex-codec --disable-speex-aec --disable-gsm-codec' to the
        configure options since we don't use the pjsip codec capability.
      
      FreeBSD:
      * Added FreeBSD support to install_prereq.
      * Changed pjproject/configure.m4 to use $GNU_MAKE instead of hardcoding "make".
      * Added __progname and environ to asterisk.exports.in.
      * Reverted the use of ldconfig to create shared library symlinks to ln.
      * Only enable epoll in pjproject if `uname -s` is Linux.
      * Added a patch to pjproject to take the name of the 'make' command from
        an environment variable if supplied.  This is needed for the python bindings.
        (merged by Teluu into pjproject trunk 5/3/2016)
      FreeBSD support isn't complete.  Still some general issues regarding
      make/gmake having nothing to do with pjproject.  With some handholding it DOES
      build successfully.
      
      CentOS:
      Added 'patch' and 'bzip2' to install_prereq PACKAGES_RH.
      CentOS 6/7 32/64 build and run the pjsip testsuite successfully.
      
      Ubuntu:
      No changes required.
      Ubuntu 15/16 32/64 build and run the pjsip testsuite successfully.
      
      Debian:
      No changes required.
      Debian 6/7/8 32/64 build and run the pjsip testsuite successfully.
      
      There will utimately be a follow-up patch to create an install_prereq for
      the testsuite as I've discovered a few missing requirements.
      
      ASTERISK-25968 #close
      
      Change-Id: I5756a07facfc63798115a5e73a8709382fe9259c
      e61716b7
    • zuul's avatar
      9c4c4a7d
    • Andrew Nagy's avatar
      app_voicemail: always copy dynamic struct to avoid race condition · 080c6216
      Andrew Nagy authored
      Voicemail email addresses can be corrupt or voicemail
      emails can end up being sent to the wrong email address if asterisk is
      reading voicemail.conf during a reload and processing an email at the
      same time. This patch always copies the struct that would otherwise only
      be copied once.
      
      ASTERISK-24463 #close
      Reported by: John Campbell
      Tested by: Etienne Lessard
      Tested by: Andrew Nagy
      Change-Id: I3a0643813116da84e2617291903d0d489b7425fb
      080c6216
  9. May 02, 2016
    • Alexei Gradinari's avatar
      pjsip: Added "reg_server" to contacts. · 2b1edee7
      Alexei Gradinari authored
      If the Asterisk system name is set in asterisk.conf, it will be stored
      into the "reg_server" field in the ps_contacts table to facilitate
      multi-server setups.
      
      ASTERISK-25931
      
      Change-Id: Ia8f6bd2267809c78753b52bcf21835b9b59f4cb8
      2b1edee7
  10. May 01, 2016
  11. Apr 29, 2016
  12. Apr 28, 2016
Loading