Skip to content
Snippets Groups Projects
  1. Jul 17, 2014
  2. Jul 15, 2014
  3. Jul 04, 2014
    • Matthew Jordan's avatar
      Remove many deprecated modules · 97834718
      Matthew Jordan authored
      Billing records are fair,
      To get paid is quite bright,
      You should really use ODBC;
      Good-bye cdr_sqlite.
      
      Microsoft did once push H.323,
      Hell, we all remember NetMeeting.
      But try to compile chan_h323 now
      And you will take quite a beating.
      
      The XMPP and SIP war was fierce,
      And in the distant fray
      Was birthed res_jabber/chan_jingle;
      But neither to stay.
      
      For everyone did care and chase what Google professed.
      "Free Internet Calling" was what devotees cried,
      But Google did change the specs so often
      That the developers were happy the day chan_gtalk died.
      
      And then there was that odd application
      Dedicated to the Polish tongue.
      app_saycountpl was subsumed by Say;
      One could say its bell was rung.
      
      To read and parse a file from the dialplan
      You could (I guess) use an application.
      app_readfile did fill that purpose, but I think
      A function is perhaps better in its creation.
      
      Barging is rude, I'm not sure why we do it.
      Inwardly, the caller will probably sigh.
      But if you really must do it,
      Don't use app_dahdibarge, use ChanSpy.
      
      We all despise the sound of tinny robots
      It makes our queues so cold.
      To control such an abomination
      It's better to not use Wait/SetMusicOnHold.
      
      It's often nice to know properties of a channel
      It makes our calls right
      We have a nice function called CHANNEL
      And so SIPCHANINFO is sent off into the night.
      
      And now things get odd;
      Apparently one could delimit with a colon
      Properties from the SIPPEER function!
      Commas are in; all others are done.
      
      Finally, a word on pipes and commas.
      We're sorry. We can't say it enough.
      But those compatibility options in asterisk.conf;
      To maintain them forever was just too tough.
      
      This patch removes:
      
      * cdr_sqlite
      * chan_gtalk
      * chan_jingle
      * chan_h323
      * res_jabber
      * app_saycountpl
      * app_readfile
      * app_dahdibarge
      
      It removes the following applications/functions:
      
      * WaitMusicOnHold
      * SetMusicOnHold
      * SIPCHANINFO
      
      It removes the colon delimiter from the SIPPEER function.
      
      Finally, it also removes all compatibility options that were configurable from
      asterisk.conf, as these all applied to compatibility with Asterisk 1.4 systems.
      
      Review: https://reviewboard.asterisk.org/r/3698/
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@418019 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      97834718
  4. Jul 03, 2014
    • Richard Mudgett's avatar
      chan_dahdi: Add inband_on_setup_ack compatibility option. · 3bd495a6
      Richard Mudgett authored
      The new inband_on_setup_ack option causes Asterisk to assume inband audio
      may be present when a SETUP_ACKNOWLEDGE message is received.
      
      Q.931 Section 5.1.3 says that in scenarios with overlap dialing, when a
      dialtone is sent from the network side, progress indicator 8 "Inband info
      now available" MAY be sent to the CPE if no digits were received with the
      SETUP.  It is thus implied that the ie is mandatory if digits came with
      the SETUP and dialtone is needed.  This option should be enabled, when the
      network sends dialtone and you want to hear it, but the network doesn't
      send the progress indicator when needed.
      
      NOTE: For Q.SIG setups this option should be enabled when outgoing overlap
      dialing is also enabled because Q.SIG does not send the progress indicator
      with the SETUP ACK.
      
      The commit -r413714 (AST-1338) which causes this issue was dealing with a
      SIP-to-ISDN interoperability issue.
      
      This commit is a merge of the two patches indicated below.
      
      ASTERISK-23897 #close
      Reported by: Pavel Troller
      Patches:
            pri-4.diff (license #6302) patch uploaded by Pavel Troller
            jira_asterisk_23897_v11.patch (license #5621) patch uploaded by rmudgett
      
      Review: https://reviewboard.asterisk.org/r/3633/
      ........
      
      Merged revisions 417956 from http://svn.asterisk.org/svn/asterisk/branches/1.8
      ........
      
      Merged revisions 417957 from http://svn.asterisk.org/svn/asterisk/branches/11
      ........
      
      Merged revisions 417958 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@417976 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      3bd495a6
    • Richard Mudgett's avatar
      HTTP: Add persistent connection support. · dbec5e0d
      Richard Mudgett authored
      Persistent HTTP connection support is needed due to the increased usage of
      the Asterisk core HTTP transport and the frequency at which REST API calls
      are going to be issued.
      
      * Add http.conf session_keep_alive option to enable persistent
      connections.
      
      * Parse and discard optional chunked body extension information and
      trailing request headers.
      
      * Increased the maximum application/json and
      application/x-www-form-urlencoded body size allowed to 4k.  The previous
      1k was kind of small.
      
      * Removed a couple inlined versions of ast_http_manid_from_vars() by
      calling the function.  manager.c:generic_http_callback() and
      res_http_post.c:http_post_callback()
      
      * Add missing va_end() in ast_ari_response_error().
      
      * Eliminated unnecessary RAII_VAR() use in http.c:auth_create().
      
      ASTERISK-23552 #close
      Reported by: Scott Griepentrog
      
      Review: https://reviewboard.asterisk.org/r/3691/
      ........
      
      Merged revisions 417880 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@417901 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      dbec5e0d
  5. Jun 26, 2014
    • Matthew Jordan's avatar
      res_http_websocket: Close websocket correctly and use careful fwrite · 365ae752
      Matthew Jordan authored
      When a client takes a long time to process information received from Asterisk,
      a write operation using fwrite may fail to write all information. This causes
      the underlying file stream to be in an unknown state, such that the socket
      must be disconnected. Unfortunately, there are two problems with this in
      Asterisk's existing websocket code:
      1. Periodically, during the read loop, Asterisk must write to the connected
         websocket to respond to pings. As such, Asterisk maintains a reference to
         the session during the loop. When ast_http_websocket_write fails, it may
         cause the session to decrement its ref count, but this in and of itself
         does not break the read loop. The read loop's write, on the other hand,
         does not break the loop if it fails. This causes the socket to get in a
         'stuck' state, preventing the client from reconnecting to the server.
      2. More importantly, however, is that the fwrite in ast_http_websocket_write
         fails with a large volume of data when the client takes awhile to process
         the information. When it does fail, it fails writing only a portion of
         the bytes. With some debugging, it was shown that this was failing in a
         similar fashion to ASTERISK-12767. Switching this over to ast_careful_fwrite
         with a long enough timeout solved the problem.
      
      Note that this version of the patch, unlike r417310 in Asterisk 11, exposes
      configuration options beyond just chan_sip's sip.conf. Configuration options
      to configure the write timeout have also been added to pjsip.conf and ari.conf.
      
      #ASTERISK-23917 #close
      Reported by: Matt Jordan
      
      Review: https://reviewboard.asterisk.org/r/3624/
      ........
      
      Merged revisions 417310 from http://svn.asterisk.org/svn/asterisk/branches/11
      ........
      
      Merged revisions 417311 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@417317 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      365ae752
  6. Jun 16, 2014
    • Richard Mudgett's avatar
      chan_dahdi: Adds support for major update to libss7. · 0c896d8b
      Richard Mudgett authored
      * SS7 support now requires libss7 v2.0 or later.  The new libss7 is not
      backwards compatible.
      
      * Added SS7 support for connected line and redirecting.
      
      * Most SS7 CLI commands are reworked as well as new SS7 commands added.
      See online CLI help.
      
      * Added several SS7 config option parameters described in
      chan_dahdi.conf.sample.
      
      * ISUP timer support reworked and now requires explicit configuration.
      See ss7.timers.sample.
      
      Special thanks to Kaloyan Kovachev for his support and persistence in
      getting the original patch by adomjan updated and ready for release.
      
      SS7-27 #close
      Reported by: adomjan
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@416416 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      0c896d8b
  7. Jun 12, 2014
    • Richard Mudgett's avatar
      AST-2014-007: Fix DOS by consuming the number of allowed HTTP connections. · 4ca5745d
      Richard Mudgett authored
      Simply establishing a TCP connection and never sending anything to the
      configured HTTP port in http.conf will tie up a HTTP connection.  Since
      there is a maximum number of open HTTP sessions allowed at a time you can
      block legitimate connections.
      
      A similar problem exists if a HTTP request is started but never finished.
      
      * Added http.conf session_inactivity timer option to close HTTP
      connections that aren't doing anything.  Defaults to 30000 ms.
      
      * Removed the undocumented manager.conf block-sockets option.  It
      interferes with TCP/TLS inactivity timeouts.
      
      * AMI and SIP TLS connections now have better authentication timeout
      protection.  Though I didn't remove the bizzare TLS timeout polling code
      from chan_sip.
      
      * chan_sip can now handle SSL certificate renegotiations in the middle of
      a session.  It couldn't do that before because the socket was non-blocking
      and the SSL calls were not restarted as documented by the OpenSSL
      documentation.
      
      * Fixed an off nominal leak of the ssl struct in
      handle_tcptls_connection() if the FILE stream failed to open and the SSL
      certificate negotiations failed.
      
      The patch creates a custom FILE stream handler to give the created FILE
      streams inactivity timeout and timeout after a specific moment in time
      capability.  This approach eliminates the need for code using the FILE
      stream to be redesigned to deal with the timeouts.
      
      This patch indirectly fixes most of ASTERISK-18345 by fixing the usage of
      the SSL_read/SSL_write operations.
      
      ASTERISK-23673 #close
      Reported by: Richard Mudgett
      ........
      
      Merged revisions 415841 from http://svn.asterisk.org/svn/asterisk/branches/1.8
      ........
      
      Merged revisions 415854 from http://svn.asterisk.org/svn/asterisk/branches/11
      ........
      
      Merged revisions 415896 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@415907 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      4ca5745d
    • Jonathan Rose's avatar
      MixMontior: Add class authorization requirements to MixMonitor AMI commands · 70b976f0
      Jonathan Rose authored
      MixMonitor AMI commands StartMixMonitor and StopMixMonitor lacked class
      authorization. StopMixMonitor now requires that the manager user either have
      the call or system class authorization. StartMixMonitor is a slightly larger
      issue since it can execute shell commands if the right arguments are passed
      into it, and we consider this a permission escalation. A security release
      will be issued for problem this shortly.
      
      ASTERISK-23609 #close
      Reported by: Corey Farrell
      
      ........
      
      Merged revisions 415825 from http://svn.asterisk.org/svn/asterisk/branches/11
      ........
      
      Merged revisions 415832 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@415834 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      70b976f0
    • Walter Doekes's avatar
      safe_asterisk: Overwrite old safe_asterisk on make install. · 3b0ad74e
      Walter Doekes authored
      From now on, make install will overwrite safe_asterisk with the
      latest version. You need to move any local modifications to files
      inside /etc/asterisk/startup.d, if you have any.
      
      See also commits r394939 and r397938.
      
      ASTERISK-21965 #close
      Patches:
        safe_asterisk.patch uploaded by jkister (License 6232, modified by me)
      ........
      
      Merged revisions 415748 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@415749 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      3b0ad74e
  8. Jun 09, 2014
  9. May 22, 2014
  10. May 02, 2014
  11. Apr 28, 2014
    • Igor Goncharovskiy's avatar
      · d3433771
      Igor Goncharovskiy authored
      Introducing changes proposed to chan_unistim driver:
      1) Added the unistim.conf variable dtmf_duration which can select the DTMF playback duration from 0ms to 150ms (0 is off and is the new default)
      2) Enabled the transmission of month names, which are sent with the date and changed the dateformat variable to accept the values 0-3 as per the UNISTIM standard (2 & 3 match the previous 1 & 2 formats).
      3) Enabled the "Mute" packet so muting microphone works as expected and microphone muted for all calls while LED light on
      4) Changed Duree to Timer on i2004 display
      
      (closes issue ASTERISK-23592)
      
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@413048 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      d3433771
  12. Apr 11, 2014
  13. Apr 04, 2014
    • Richard Mudgett's avatar
      internal_timing: Remove the option and always make it enabled if a timing module is loaded. · 03beadb6
      Richard Mudgett authored
      The masquerade supertest frequently fails because either the local channel
      chain doesn't completely optimize out or the DTMF handshake doesn't
      completely get accross.  Local channel optimization requires frames
      flowing to trigger when optimization can happen.  When optimization
      happens the media frame that triggered the optimization is dropped.
      Sending DTMF requires frames to flow in the other direction for timing
      purposes while sending nothing.  If internal timing is not enabled when
      MOH is playing, Asterisk switches to received timing when an audio frame
      is received.  With optimization dropping media frames and MOH not sending
      frames unless it receives frames, occasionaly there are no more frames
      being passed and the test fails.
      
      * The asterisk command line -I option and the asterisk.conf
      internal_timing option are removed.  Asterisk now always uses internal
      timing when needed if any timing module is loaded.  The issue
      ASTERISK-14861 did this quite awhile ago in v1.4 but effectively is broken
      if other internal timing modules besides DAHDI are used.  The
      ast_read_generator_actions() now only does received timing if it has no
      choice for frame generators like MOH, silence, and playback streaming.
      
      * Cleaned up some code dealing with frame generators in
      ast_deactivate_generator(), generator_write_format_change(),
      ast_activate_generator(), and ast_channel_stop_silence_generator().
      
      * Removed ast_internal_timing_enabled(), AST_OPT_FLAG_INTERNAL_TIMING, and
      ast_opt_internal_timing.
      
      ASTERISK-22846 #close
      Reported by: Matt Jordan
      
      Review: https://reviewboard.asterisk.org/r/3414/
      ........
      
      Merged revisions 411715 from http://svn.asterisk.org/svn/asterisk/branches/1.8
      ........
      
      Merged revisions 411716 from http://svn.asterisk.org/svn/asterisk/branches/11
      ........
      
      Merged revisions 411717 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@411724 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      03beadb6
  14. Mar 28, 2014
  15. Mar 25, 2014
  16. Mar 06, 2014
  17. Feb 17, 2014
  18. Feb 10, 2014
  19. Feb 06, 2014
  20. Feb 05, 2014
  21. Jan 31, 2014
    • Matthew Jordan's avatar
      CDRs: fix a variety of dial status problems, h/hangup handler creating CDRs · 66c46fba
      Matthew Jordan authored
      This patch fixes a number of small-ish problems that were noticed when
      witnessing the records that the FreePBX dialplan produces:
      (1) Mid-call events (as well as privacy options) have the ability to change the
          overall state of the Dial operation after the called party answers. This
          means that publishing the DialEnd event when the called party is premature;
          we have to wait for the execution of these subroutines to complete before
          we can signal the overall status of the DialEnd. This patch moves that
          publication and adds handlers for the mid-call events.
      (2) The AST_FLAG_OUTGOING channel flag is cleared if an after bridge goto
          datastore is detected. This flag was preventing CDRs from being recorded
          for all outbound channels that had a 'continue' option enabled on them by
          the Dial application.
      (3) The CDR engine now locks the 'Dial' application as being the CDR
          application if it detects that the current CDR has entered that app. This
          is similar to the logic that is done for Parking. In general, if we entered
          into Dial, then we want that CDR to record the application as such - this
          prevents pre-dial handlers, mid-call handlers, and other shenaniganry
          from changing the application value.
      (4) The CDR engine now checks for the AST_SOFTHANGUP_HANGUP_EXEC in more places
          to determine if the channel is in hangup logic or dead. In either case, we
          don't want to record changes in the channel.
      (5) The default option for "endbeforehexten" has been changed to "yes". In
          general, you don't want to see CDRs in the 'h' exten or in hangup logic.
          Since the semantics of that option changed in 12, it made sense to update
          the default value as well.
      (6) Finally, because we now have the ability to synchronize on the messages
          published to the CDR topic, on shutdown the CDR engine will now synchronize
          to the messages currently in flight. This helps to ensure that all
          in-flight CDRs are written before shutting down.
      
      (closes issue ASTERISK-23164)
      Reported by: Matt Jordan
      
      Review: https://reviewboard.asterisk.org/r/3154
      ........
      
      Merged revisions 407084 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@407085 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      66c46fba
    • Kevin Harwell's avatar
      res_pjsip: Config option to enable PJSIP logger at load time. · 10e38fb1
      Kevin Harwell authored
      Added a "debug" configuration option for res_pjsip that when set to "yes"
      enables SIP messages to be logged.  It is specified under the "system" type.
      Also added an alembic script to add the option to realtime.
      
      (closes issue ASTERISK-23038)
      Reported by: Rusty Newton
      Review: https://reviewboard.asterisk.org/r/3148/
      ........
      
      Merged revisions 407036 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@407037 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      10e38fb1
    • Kevin Harwell's avatar
      alembic: script modifications due to errors · e29c5e0c
      Kevin Harwell authored
      A couple of the scripts had errors that would not allow a full migration to
      take place.  The extensions table needed to make its 'id' column a primary
      key in order to work with mysql.  The other script ...add_endpoints... was
      missing tables that it was trying to add columns to.
      
      Added the primary key on id for extensions and added the tables in for the
      missing pjsip configuration options.  While it is not ideal to modify already
      released scripts this was a case where it had to be done due to errors in
      the script and lacking a better alternative.
      
      Review: https://reviewboard.asterisk.org/r/3167/
      ........
      
      Merged revisions 407019 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@407029 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      e29c5e0c
  22. Jan 27, 2014
  23. Jan 14, 2014
    • Richard Mudgett's avatar
      verbosity: Fix performance of console verbose messages. · 828f339a
      Richard Mudgett authored
      The per console verbose level feature as previously implemented caused a
      large performance penalty.  The fix required some minor incompatibilities
      if the new rasterisk is used to connect to an earlier version.  If the new
      rasterisk connects to an older Asterisk version then the root console
      verbose level is always affected by the "core set verbose" command of the
      remote console even though it may appear to only affect the current
      console.  If an older version of rasterisk connects to the new version
      then the "core set verbose" command will have no effect.
      
      * Fixed the verbose performance by not generating a verbose message if
      nothing is going to use it and then filtered any generated verbose
      messages before actually sending them to the remote consoles.
      
      * Split the "core set debug" and "core set verbose" CLI commands to remove
      the per module verbose support that cannot work with the per console
      verbose level.
      
      * Added a silent option to the "core set verbose" command.
      
      * Fixed "core set debug off" tab completion.
      
      * Made "core show settings" list the current console verbosity in addition
      to the root console verbosity.
      
      * Changed the default verbose level of the 'verbose' setting in the
      logger.conf [logfiles] section.  The default is now to once again follow
      the current root console level.  As a result, using the AMI Command action
      with "core set verbose" could again set the root console verbose level and
      affect the verbose level logged.
      
      (closes issue AST-1252)
      Reported by: Guenther Kelleter
      
      Review: https://reviewboard.asterisk.org/r/3114/
      ........
      
      Merged revisions 405431 from http://svn.asterisk.org/svn/asterisk/branches/11
      ........
      
      Merged revisions 405432 from http://svn.asterisk.org/svn/asterisk/branches/12
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@405436 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      828f339a
  24. Aug 30, 2013
  25. Aug 02, 2013
  26. Aug 01, 2013
  27. Jul 15, 2013
    • Richard Mudgett's avatar
      Replace chan_agent with app_agent_pool. · d43b17a8
      Richard Mudgett authored
      The ill conceived chan_agent is no more.  It is now replaced by
      app_agent_pool.
      
      Agents login using the AgentLogin() application as before.  The
      AgentLogin() application no longer does any authentication.
      Authentication is now the responsibility of the dialplan.  (Besides, the
      authentication done by chan_agent did not match what the voice prompts
      asked for.)
      
      Sample extensions.conf
      [login]
      ; Sample agent 1001 login
      ; Set COLP for in between calls so the agent does not see the last caller COLP.
      exten => 1001,1,Set(CONNECTEDLINE(all)="Agent Waiting" <1001>)
      ; Give the agent DTMF transfer and disconnect features when connected to a caller.
      same => n,Set(CHANNEL(dtmf-features)=TX)
      same => n,AgentLogin(1001)
      same => n,NoOp(AGENT_STATUS is ${AGENT_STATUS})
      same => n,Hangup()
      
      [caller]
      ; Sample caller direct connect to agent 1001
      exten => 800,1,AgentRequest(1001)
      same => n,NoOp(AGENT_STATUS is ${AGENT_STATUS})
      same => n,Hangup()
      
      ; Sample caller going through a Queue to agent 1001
      exten => 900,1,Queue(agent_q)
      same => n,Hangup()
      
      Sample queues.conf
      [agent_q]
      member => Local/800@caller,,SuperAgent,Agent:1001
      
      Under the hood operation overview:
      1) Logged in agents wait for callers in an agents holding bridge.
      2) Caller requests an agent using AgentRequest()
      3) A basic bridge is created, the agent is notified, and caller joins the
         basic bridge to wait for the agent.
      4) The agent is either automatically connected to the caller or must ack
         the call to connect.
      5) The agent is moved from the agents holding bridge to the basic bridge.
      6) The agent and caller talk.
      7) The connection is ended by either party.
      8) The agent goes back to the agents holding bridge.
      
      To avoid some locking issues with the agent holding bridge, I needed to
      make some changes to the after bridge callback support.  The after bridge
      callback is now a list of requested callbacks with the last to be added
      the only active callback.  The after bridge callback for failed callbacks
      will always happen in the channel thread when the channel leaves the
      bridging system or is destroyed.
      
      (closes issue ASTERISK-21554)
      Reported by: Matt Jordan
      
      Review: https://reviewboard.asterisk.org/r/2657/
      
      
      git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@394417 65c4cc65-6c06-0410-ace0-fbb531ad65f3
      d43b17a8
  28. Jul 04, 2013
  29. Jul 03, 2013
Loading