Skip to content
Snippets Groups Projects
  1. Dec 06, 2015
    • Matt Jordan's avatar
      Revert "bridges/bridge_t38: Add a bridging module for managing T.38 state" · 75c800eb
      Matt Jordan authored
      This reverts commit f42d22d3.
      
      Unfortunately, using a bridge to manage T.38 state will cause severe deadlocks
      in core_unreal/chan_local. Local channels attempt to reach across both their
      peer and the peer's bridge to inspect T.38 state. Given the propensity of
      Local channel chains, managing the locking situation in such a scenario is
      practically infeasible.
      
      Change-Id: I932107387c13aad2c75a7a4c1e94197a9d6d8a51
      75c800eb
  2. Dec 04, 2015
    • Alexander Traud's avatar
      res_format_attr_vp8: In SDP, forward max-fr and max-fs for video-codec VP8. · 63c6d39a
      Alexander Traud authored
      ASTERISK-25584 #close
      
      Change-Id: Iae00071b4ff1ae76f24995aeac4d00284fd14f91
      63c6d39a
    • Matt Jordan's avatar
      bridges/bridge_t38: Add a bridging module for managing T.38 state · f42d22d3
      Matt Jordan authored
      When 4875e5ac was merged, it fixed several issues with a direct media bridge
      transitioning to handling a T.38 fax. However, it uncovered a race condition
      caused by the bridging core. When a channel involved in a T.38 fax leaves a
      bridge, the frame queued by the channel driver that should inform the far side
      that it is no longer in a T.38 fax may not make it across the bridge. The
      bridging framework is *extremely* aggressive in tearing down the bridge, and
      control frames that are currently in flight *may* get dropped.
      
      This patch adds a new module to the bridging framework, bridge_t38. This module
      maintains some notion of the T.38 state for the two channels in a bridge. When
      the bridge detects that it is being torn down or when one of the two channels
      leaves, it informs the respective channel(s) that they should stop faxing. This
      ensures that channels switch back to audio if they survive and are ejected out
      of a bridge while faxing.
      
      ASTERISK-25582
      
      Change-Id: If5b0bb478eb01c4607c9f4a7fc17c7957d260ea0
      f42d22d3
  3. Nov 27, 2015
  4. Nov 24, 2015
    • David M. Lee's avatar
      Fixed some typos · 91346b9f
      David M. Lee authored
      Fixes some minor typos in the CHANGES file, plus an embarrasing typo in
      the StatsD API.
      
      Change-Id: I9ca4858c64a4a07d2643b81baa64baebb27a4eb7
      91346b9f
    • Matt Jordan's avatar
      res/res_endpoint_stats: Add module to emit endpoint StatsD statistics · ee9c1147
      Matt Jordan authored
      This patch adds a module that emits StatsD statistics about Asterisk
      endpoints. This includes:
       * A GAUGE statistic for endpoint states, tracking how many endpoints are in
         a particular state.
       * A GAUGE statistic for each endpoint, counting the number of channels
         currently associated with an endpoint.
      
      ASTERISK-25572
      
      Change-Id: If7e1333c5aeda8d136850b30c2101c0ee1c97305
      ee9c1147
  5. Nov 23, 2015
    • Matt Jordan's avatar
      res_pjsip/pjsip_options: Add StatsD statistics for PJSIP contacts · 75d90a99
      Matt Jordan authored
      This patch adds the ability to send StatsD statistics related to the
      state of PJSIP contacts. This includes:
       * A GUAGE statistic measuring the count of contacts in a particular state.
         This measures how many contacts are reachable, unreachable, etc.
       * The RTT time for each contact, if those contacts are qualified. This
         provides StatsD engines useful time-based data about each contact.
      
      ASTERISK-25571
      
      Change-Id: Ib8378d73afedfc622be0643b87c542557e0b332c
      75d90a99
    • Matt Jordan's avatar
      res/res_pjsip_outbound_registration: Add registration statistics for StatsD · 482f2fc5
      Matt Jordan authored
      This patch adds outbound registration statistics for StatsD. This includes
      the following:
       * A GUAGE metric for the overall count of outbound registrations.
       * A GUAGE metric for each state an outbound registration can be in. As the
         outbound registrations change state, the overall count of how many
         outbound registrations are in the particular state is changed.
      
      These statistics are particularly useful for systems with a large number of
      SIP trunks, and where measuring the change in state of the trunks is useful
      for monitoring.
      
      ASTERISK-25571
      
      Change-Id: Iba6ff248f5d1c1e01acbb63e9f0da1901692eb37
      482f2fc5
  6. Nov 18, 2015
    • Alec Davis's avatar
      app_bridgeaddchan: ability to barge into existing call · 8c14b916
      Alec Davis authored
      To be able to barge into a call by dialling a prefix+extension that maps
      to the extensions device.
      
      Senario is that DECT headset users may be away from their desks and need
      to transfer the call, the goal is that from any phone they dial a prefix
      then their extension and are added to the bridge that they are in, from
      there they can drop the headset call, as it's also on the handset,
      and transfer the caller.
      
      The dialplan would look like, where prefix=73, extension = 8512;
      exten => _738512,1,BridgeAdd(SIP/cisco0001)
      
      ASTERISK-25551 #close
      Reported By: Alec Davis
      
      Change-Id: I8eb5096a02168dcc8d7aeea416ef36ba4ed10540
      8c14b916
  7. Nov 16, 2015
    • Mark Michelson's avatar
      Confbridge: Add a user timeout option · ed137321
      Mark Michelson authored
      This option adds the ability to specify a timeout, in seconds, for a
      participant in a ConfBridge. When the user's timeout has been reached,
      the user is ejected from the conference with the CONFBRIDGE_RESULT
      channel variable set to "TIMEOUT".
      
      The rationale for this change is that there have been times where we
      have seen channels get "stuck" in ConfBridge because a network issue
      results in a SIP BYE not being received by Asterisk. While these
      channels can be hung up manually via CLI/AMI/ARI, adding some sort of
      automatic cleanup of the channels is a nice feature to have.
      
      ASTERISK-25549 #close
      Reported by Mark Michelson
      
      Change-Id: I2996b6c5e16a3dda27595f8352abad0bda9c2d98
      ed137321
  8. Nov 06, 2015
    • Walter Doekes's avatar
      func_callerid: Document that CALLERID(pres) is available. · 7dd8f89a
      Walter Doekes authored
      CALLERPRES() says that it's deprecated in favor of CALLERID(num-pres)
      and CALLERID(name-pres).  But for channel driver that don't make a
      distinction between the two (e.g. SIP), it makes more sense to get/set
      both at once.  This change reveals the availability of CALLERID(pres),
      CONNECTEDLINE(pres), REDIRECTING(orig-pres), REDIRECTING(to-pres) and
      REDIRECTING(from-pres).
      
      ASTERISK-25373 #close
      
      Change-Id: I5614ae4ab7d3bbe9c791c1adf147e10de8698d7a
      7dd8f89a
  9. Nov 03, 2015
    • Corey Farrell's avatar
      chan_sip: Allow websockets to be disabled. · 40574a2e
      Corey Farrell authored
      This patch adds a new setting "websockets_enabled" to sip.conf.
      Setting this to false allows chan_sip to be used without causing
      conflicts with res_pjsip_transport_websocket.
      
      ASTERISK-24106 #close
      Reported by: Andrew Nagy
      
      Change-Id: I04fe8c4f2d57b2d7375e0e25826c91a72e93bea7
      40574a2e
  10. Oct 24, 2015
    • George Joseph's avatar
      res_pjsip: Add "like" processing to pjsip list and show commands · a8aee0bb
      George Joseph authored
      Add the ability to filter output from pjsip list and show commands
      using the "like" predicate like chan_sip.
      
      For endpoints, aors, auths, registrations, identifyies and transports,
      the modification was a simple change of an ast_sorcery_retrieve_by_fields
      call to ast_sorcery_retrieve_by_regex.  For channels and contacts a
      little more work had to be done because neither of those objects are
      true sorcery objects.  That was just removing the non-matching object
      from the final container.  Of course, a little extra plumbing in the
      common pjsip_cli code was needed to parse the "like" and pass the regex
      to the get_container callbacks.
      
      Some of the get_container code in res_pjsip_endpoint_identifier was also
      refactored for simplicity.
      
      ASTERISK-25477 #close
      Reported by: Bryant Zimmerman
      Tested by: George Joseph
      
      Change-Id: I646d9326b778aac26bb3e2bcd7fa1346d24434f1
      a8aee0bb
  11. Oct 23, 2015
    • Kevin Harwell's avatar
      res_pjsip_outbound_registration: registration stops due to fatal 4xx response · 691c0e0b
      Kevin Harwell authored
      During outbound registration it is possible to receive a fatal (any permanent/
      non-temporary 4xx, 5xx, 6xx) response from the registrar that is simply due
      to a problem with the registrar itself. Upon receiving the failure response
      Asterisk terminates outbound registration for the given endpoint.
      
      This patch adds an option, 'fatal_retry_interval', that when set continues
      outbound registration at the given interval up to 'max_retries' upon receiving
      a fatal response.
      
      ASTERISK-25485 #close
      
      Change-Id: Ibc2c7b47164ac89cc803433c0bbe7063bfa143a2
      691c0e0b
  12. Oct 21, 2015
    • Matt Jordan's avatar
      funcs/func_holdintercept: Actually add the HOLD_INTERCEPT function · 7be6194d
      Matt Jordan authored
      When ab803ec3 was committed, it accidentally forgot to actually *add* the
      HOLD_INTERCEPT function. This highlights two interesting points:
      * Gerrit forces you to put the patch as it is going to into the repo up for
        review, which Review Board did not. Yay Gerrit.
      * No one apparently bothered to use this feature, or else they don't know about
        it. I'm going to go with the latter explanation.
      
      ASTERISK-24922
      
      Change-Id: Ida38278f259dd07c334a36f9b7d5475b5db72396
      7be6194d
  13. Oct 19, 2015
    • Rodrigo Ramírez Norambuena's avatar
      app_queue: Added reason pause of member · 92fa8d1e
      Rodrigo Ramírez Norambuena authored
      In app_queue added value Paused Reason on QueueMemberStatus when a member
      on queue is paused and the reason was set.
      
      ASTERISK-25480 #close
      Reporte by: Rodrigo Ramírez Norambuena
      
      Change-Id: Ia5db503482f50764c15e2020196c785f59d4a68e
      92fa8d1e
  14. Sep 29, 2015
    • Matt Jordan's avatar
      main/logger: Add log formatters and JSON structured logs · 2d7a4a33
      Matt Jordan authored
      When Asterisk is part of a larger distributed system, log files are often
      gathered using tools (such as logstash) that prefer to consume information
      and have it rendered using other tools (such as Kibana) that prefer a
      structured format, e.g., JSON. This patch adds support for JSON formatted
      logs by adding support for an optional log format specifier in Asterisk's
      logging subsystem. By adding a format specifier of '[json]':
      
      full => [json]debug,verbose,notice,warning,error
      
      Log messages will be output to the 'full' channel in the following
      format:
      
      {
        "hostname": Hostname or name specified in asterisk.conf
        "timestamp": Date/Time
        "identifiers": {
          "lwp": Thread ID,
          "callid": Call Identifier
        }
        "logmsg": {
          "location": {
            "filename": Name of the file that generated the log statement
            "function": Function that generated the log statement
            "line": Line number that called the logging function
          }
          "level": Log level, e.g., DEBUG, VERBOSE, etc.
          "message": Actual text of the log message
        }
      }
      
      ASTERISK-25425 #close
      
      Change-Id: I8649bfedf3fb7bf3138008cc11565553209cc238
      2d7a4a33
  15. Sep 21, 2015
    • Matt Jordan's avatar
      ARI: Add events for Contact and Peer Status changes · 5206aa9d
      Matt Jordan authored
      This patch adds support for receiving events regarding Peer status changes
      and Contact status changes. This is particularly useful in scenarios where
      we are subscribed to all endpoints and channels, where we often want to know
      more about the state of channel technology specific items than a single
      endpoint's state.
      
      ASTERISK-24870
      
      Change-Id: I6137459cdc25ce27efc134ad58abf065653da4e9
      5206aa9d
  16. Sep 05, 2015
  17. Jul 31, 2015
    • Benjamin Ford's avatar
      ARI: Rotate log channels. · 1f02d20d
      Benjamin Ford authored
      An http request can be sent to rotate a specified log channel.
      If the channel does not exist, an error response will be
      returned.
      
      The command "curl -v -u user:pass -X PUT 'http://localhost:8088
      /ari/asterisk/logging/logChannelName/rotate'" can be run in the
      terminal to access this new functionality.
      
      * Added the ability to rotate log files through ARI
      
      ASTERISK-25252
      
      Change-Id: Iaefa21cbbc1b29effb33004ee3d89c977e76ab01
      1f02d20d
  18. Jul 24, 2015
    • Joshua Colp's avatar
      pjsip: Add rtp_timeout and rtp_timeout_hold endpoint options. · 309dd2a4
      Joshua Colp authored
      This change adds support for the 'rtp_timeout' and 'rtp_timeout_hold'
      endpoint options. These allow the channel to be hung up if RTP
      is not received from the remote endpoint for a specified number of
      seconds.
      
      ASTERISK-25259 #close
      
      Change-Id: I3f39daaa7da2596b5022737b77799d16204175b9
      309dd2a4
  19. Jul 20, 2015
    • Mark Michelson's avatar
      res_pjsip: Add rtp_keepalive endpoint option. · 2b42264e
      Mark Michelson authored
      This adds an "rtp_keepalive" option for PJSIP endpoints. Similar to the
      chan_sip option, this specifies an interval, in seconds, at which we
      will send RTP comfort noise frames. This can be useful for keeping RTP
      sessions alive as well as keeping NAT associations alive during lulls.
      
      ASTERISK-25242 #close
      Reported by Mark Michelson
      
      Change-Id: I3b9903d99e35fe5d0b53ecc46df82c750776bc8d
      2b42264e
  20. Jul 17, 2015
    • Matt Jordan's avatar
      ARI: Add support for push configuration of dynamic object · 254d07b1
      Matt Jordan authored
      This patch adds support for push configuration of dynamic, i.e.,
      sorcery, objects in Asterisk. It adds three new REST API calls to the
      'asterisk' resource:
       * GET /asterisk/{configClass}/{objectType}/{id}: retrieve the current
         object given its ID. This returns back a list of ConfigTuples, which
         define the fields and their present values that make up the object.
       * PUT /asterisk/{configClass}/{objectType}/{id}: create or update an
         object. A body may be passed with the request that contains fields to
         populate in the object. The same format as what is retrieved using
         the GET operation is used for the body, save that we specify that the
         list of fields to update are contained in the "fields" attribute.
       * DELETE /asterisk/{configClass}/{objectType}/{id}: remove a dynamic
         object from its backing storage.
      
      Note that the success/failure of these operations is somewhat
      configuration dependent, i.e., you must be using a sorcery wizard that
      supports the operation in question. If a sorcery wizard does not support
      the create or delete mechanisms, then the REST API call will fail with a
      403 forbidden.
      
      ASTERISK-25238 #close
      
      Change-Id: I28cd5c7bf6f67f8e9e437ff097f8fd171d30ff5c
      254d07b1
  21. Jul 14, 2015
  22. Jul 13, 2015
  23. Jul 10, 2015
  24. Jun 26, 2015
  25. Jun 15, 2015
    • Kevin Harwell's avatar
      res_pjsip: Add option to force G.726 to be treated as AAL2 packed. · 93ac45d3
      Kevin Harwell authored
      Some phones send g.726 audio packed for AAL2, which differs from what is
      recommended by RFC 3351. If Asterisk receives audio formatted as such when
      negotiating g.726 then it sounds a bit distorted. Added an option to
      res_pjsip_endpoint that allows g.726 negotiated audio to be treated as g.726
      AAL2 packed.
      
      ASTERISK-25158 #close
      Reported by: Steve Pitts
      
      Change-Id: Ie7e21f75493d7fe53e75e12c971e72f5afa33615
      93ac45d3
  26. May 26, 2015
  27. May 14, 2015
  28. May 12, 2015
    • Corey Farrell's avatar
      Allow command-line options to override asterisk.conf. · 57386dcb
      Corey Farrell authored
      Previous versions of Asterisk processed command-line options before
      processing asterisk.conf.  This meant that if an option was set in
      asterisk.conf, it could not be overridden with the equivelent command
      line option.  This change causes Asterisk to process the command-line
      twice.  First it processes options that are needed to load asterisk.conf,
      then it processes the remaining options after the config is read.
      
      This changes the function of -X slightly.  Previously using -X without
      disabling execincludes in asterisk.conf caused #exec to be usable in any
      config.  Now -X only enables #exec for the load of asterisk.conf, if it
      is wanted in the rest of the system it must be enabled with execincludes
      in asterisk.conf.  Updated 'asterisk -h' and 'man asterisk' to reflect
      the limited function of -X.
      
      ASTERISK-25042 #close
      Reported by: Corey Farrell
      
      Change-Id: I1450d45c15b4467274b871914d893ed4f6564cd7
      57386dcb
  29. May 05, 2015
    • Rodrigo Ramírez Norambuena's avatar
      cel_pgsql: Add support for setting schema · cb79b8ab
      Rodrigo Ramírez Norambuena authored
      Add feature to set optional schema parameter on configuration file via
      'schema' setting.
      
      Fix query to get columns from table while considering schema. If in
      the database there exists two tables with same name in distinct schemas
      it will return an error when inserting record.
      
      ASTERISK-24967 #close
      
      Change-Id: I691fd2cbc277fcba10e615f5884f8de5d8152f2c
      cb79b8ab
    • Rodrigo Ramírez Norambuena's avatar
      cdr_adaptive_odbc: Add ability to set character for quoted identifiers. · a24ce38e
      Rodrigo Ramírez Norambuena authored
      Added the ability to set the character to quote identifiers. This
      allows adding the character at the start and end of table and column
      names. This setting is configurable for cdr_adaptive_odbc via the
      quoted_identifiers in configuration file cdr_adaptive_odbc.conf.
      
      ASTERISK-25006
      
      Change-Id: I0b9a56b79ca13a727a803d88ed3b8643e37632b8
      a24ce38e
  30. May 03, 2015
  31. Apr 30, 2015
    • Richard Mudgett's avatar
      chan_dahdi: Add the chan_dahdi.conf force_restart_unavailable_chans option. · 03c51cf5
      Richard Mudgett authored
      Some telco switches occasionally ignore ISDN RESTART requests.  The fix
      for ASTERISK-19608 added an escape clause for B channels in the restarting
      state if the telco ignores a RESTART request.  If the telco fails to
      acknowledge the RESTART then Asterisk will assume the telco acknowledged
      the RESTART on the second call attempt requesting the B channel by the
      telco.  The escape clause is good for dealing with RESTART requests in
      general but it does cause the next call for the restarting B channel to be
      rejected if the telco insists the call must go on that B channel.
      
      chan_dahdi doesn't really need to issue a RESTART request in response to
      receiving a cause 44 (Requested channel not available) code.  Sending the
      RESTART in such a situation is not required (nor prohibited) by the
      standards.  I think chan_dahdi does this for historical reasons to deal
      with buggy peers to get channels unstuck in a similar fashion as the
      chan_dahdi.conf resetinterval option.
      
      * Add the chan_dahdi.conf force_restart_unavailable_chans compatability
      option that when disabled will prevent chan_dahdi from trying to RESTART
      the channel in response to a cause 44 code.
      
      ASTERISK-25034 #close
      Reported by: Richard Mudgett
      
      Change-Id: Ib8b17a438799920f4a2038826ff99a1884042f65
      03c51cf5
  32. Apr 28, 2015
  33. Apr 27, 2015
  34. Apr 21, 2015
Loading