Skip to content
Snippets Groups Projects
  1. Dec 03, 2015
  2. Dec 01, 2015
    • Jonathan Rose's avatar
      Unset BRIDGEPEER when leaving a bridge · b5281b74
      Jonathan Rose authored
      Currently if a channel is transferred out of a bridge, the BRIDGEPEER
      variable (also BRIDGEPVTCALLID) remain set even once the channel is
      out of the bridge. This patch removes these variables when leaving
      the bridge.
      
      ASTERISK-25600 #close
      Reported by: Mark Michelson
      
      Change-Id: I753ead2fffbfc65427ed4e9244c7066610e546da
      b5281b74
    • Richard Mudgett's avatar
      Audit improper usage of scheduler exposed by 5c713fdf. (v13 additions) · 145d10a5
      Richard Mudgett authored
      chan_sip.c:
      * Initialize mwi subscription scheduler ids earlier because of ASTOBJ to
      ao2 conversion.
      
      * Initialize register scheduler ids earlier because of ASTOBJ to ao2
      conversion.
      
      chan_skinny.c:
      * Fix more scheduler usage for the valid 0 id value.
      
      ASTERISK-25476
      
      Change-Id: If9f0e5d99638b2f9d102d1ebc9c5a14b2d706e95
      145d10a5
    • Richard Mudgett's avatar
      Audit improper usage of scheduler exposed by 5c713fdf. · fa207290
      Richard Mudgett authored
      channels/chan_iax2.c:
      * Initialize struct chan_iax2_pvt scheduler ids earlier because of
      iax2_destroy_helper().
      
      channels/chan_sip.c:
      channels/sip/config_parser.c:
      * Fix initialization of scheduler id struct members.  Some off nominal
      paths had 0 as a scheduler id to be destroyed when it was never started.
      
      chan_skinny.c:
      * Fix some scheduler id comparisons that excluded the valid 0 id.
      
      channel.c:
      * Fix channel initialization of the video stream scheduler id.
      
      pbx_dundi.c:
      * Fix channel initialization of the packet retransmission scheduler id.
      
      ASTERISK-25476
      
      Change-Id: I07a3449f728f671d326a22fcbd071f150ba2e8c8
      fa207290
  3. Nov 30, 2015
    • George Joseph's avatar
      dns: Change lookup failures from LOG_ERROR to debug 1. · e5723d27
      George Joseph authored
      dns.c and dns_system_resolver.c were spitting out errors for lookup
      failures for things like not finding a SRV record even though
      there was an A record.  Those have been changed to debug messages.
      Logging not finding ANY record is left to the higher level caller.
      
      Also, dns_system_resolver was using Windows line endings so I
      converted them to Unix style.  The actual log changes are on lines
      156 and 159.
      
      Change-Id: I65be16ea15304b96f9dcb4d289dbd3e2286fc094
      e5723d27
  4. Nov 27, 2015
  5. Nov 26, 2015
  6. Nov 25, 2015
    • Kevin Harwell's avatar
      fastagi: record file closed after sending result · 9014f1f4
      Kevin Harwell authored
      The fastagi record-file testsuite test sometimes fails reporting an empty
      recorded file. This was happening because Asterisk was sending the agi result
      notification prior to actually closing the file and the data, being buffered,
      had not been written to the file yet when the test attempts to check the file
      size.
      
      This patch makes it so the record file stream is closed prior to sending the
      agi result notification.
      
      ASTERISK-25593 #close
      
      Change-Id: I6b2b3be3ae37f7c7b18e672c419a89b3b8513cde
      9014f1f4
    • Walter Doekes's avatar
      main: Slight refactor of main. Improve color situation. · 03759c55
      Walter Doekes authored
      Several issues are addressed here:
      - main() is large, and half of it is only used if we're not rasterisk;
        fixed by spliting up the daemon part into a separate function.
      - Call ast_term_init from rasterisk as well.
      - Remove duplicate code reading/writing asterisk history file.
      - Attempt to tackle background color issues and color changes that
        occur. Tested by starting asterisk -c until the colors stopped
        changing at odd locations.
      - Remove unused term_prep() and term_prompt() functions.
      
      ASTERISK-25585 #close
      
      Change-Id: Ib641a0964c59ef9fe6f59efa8ccb481a9580c52f
      03759c55
    • Matt Jordan's avatar
      Merge "Fixed some typos" · e4ba6469
      Matt Jordan authored
      e4ba6469
  7. Nov 24, 2015
  8. Nov 23, 2015
    • Richard Mudgett's avatar
      res_sorcery_realtime.c: Fix crash from NULL sorcery object type. · 9ca652f1
      Richard Mudgett authored
      If the sorcery object type is not found a NULL is returned.
      Unfortunately, sorcery_realtime_filter_objectset() will crash after
      complaining about not finding the object type and saying to expect errors.
      
      * Use ao2_cleanup() instead of ao2_ref() to prevent the crash.
      
      ASTERISK-25165
      Reported by Corey Farrell
      
      Change-Id: Ic3b64453ea3058cb68d5c26d97d4fe7b8eea2e97
      9ca652f1
    • Matt Jordan's avatar
    • Matt Jordan's avatar
    • 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
    • Matt Jordan's avatar
      res_statsd: Add functions that support variable arguments · 97d7b344
      Matt Jordan authored
      Often, the metric names of statistics we are generating for StatsD have some
      dynamic component to them. This can be the name of a particular resource, or
      some internal status label in Asterisk. With the current set of functions,
      callers of the statsd API must first build the metric name themselves, then
      pass this to the API functions. This results in a large amount of boilerplate
      code and usage of either fixed length static buffers or dynamic memory
      allocation, neither of which is desireable.
      
      This patch adds two new functions to the StatsD API that support a printf
      style format specifier for constructing the metric name. A dynamic string,
      allocated in threadstorage, is used to build the metric name. This eases
      the burden on users of the StatsD API.
      
      Change-Id: If533c72d1afa26d807508ea48b4d8c7b32f414ea
      97d7b344
    • Matt Jordan's avatar
      chan_pjsip: Handle T.38 faxes with direct media bridges · 726ee873
      Matt Jordan authored
      When a channel is in a direct media bridge, a re-INVITE may arrive that forces
      Asterisk to re-negotiate the media to a T.38 fax. When this occurs, the bridge
      must change its technology to a simple bridge, and re-INVITE the media back
      to Asterisk.
      
      Generally, this logic mostly already exists in Asterisk. However, prior to this
      patch, there were a few bugs:
      (1) The T.38 framehook currently prevents a channel capable of T.38 faxes from
          ever entering into a direct media bridge. This applies even when the only
          media being passed over the channel is audio. This patch fixes this bug
          by having the framehook specify that it defers caring about any frame type.
          This allows the channels to enter into a direct media bridge, which will
          be broken when a re-INVITE is received.
      (2) When a re-INVITE is received, nothing instructed the bridging layer to
          re-inspect the allowed bridging technology. This now occurs when either
          a re-INVITE is received from a peer, or when a response is received from
          the far end (that is, when the T.38 state changes to either
          T38_PEER_REINVITE or T38_LOCAL_REINVITE).
      (3) chan_pjsip needs to do a small amount of work to prevent a direct media
          bridge from being chosen when a T.38 session is in progress. When a T.38
          session supplement has a t38 datastore - which is added when we detect
          we should start thinking about T.38 on a channel - we now refuse a native
          RTP bridge.
      (4) When a BYE request is received, we don't terminate the T.38 session. If
          the other side of a T.38 fax survives the hangup (due to the 'g' flag
          in Dial, for example), we don't currently re-INVITE the media on the
          other channel back to audio. This patch now has res_pjsip_t38 intercept
          BYE requests and inform the far side that the T.38 session is terminated.
          This naturally causes the correct re-INVITEs to be sent.
      
      ASTERISK-25582
      
      Change-Id: Iabd6aa578e633d16e6b9f342091264e4324a79eb
      726ee873
  9. Nov 21, 2015
  10. Nov 20, 2015
  11. Nov 19, 2015
    • Joshua Colp's avatar
      b52b4940
    • Matt Jordan's avatar
      res/res_pjsip_outbound_registration: Apply configuration on object type load · 1bca90fc
      Matt Jordan authored
      When Asterisk is configured to use a dynamic sorcery backend (such as
      res_sorcery_astdb) with 'registration' objects, it will fail to create the
      internal state objects associated with the registration objects on module
      load. This is due to nothing actually querying for the specific objects
      and calling their sorcery apply handler during module load.
      
      This patch fixes that by calling get_registrations in the sorcery observer's
      object_type_loaded handler. Doing this causes the sorcery backends to be
      asked for the current state of all registration objects, which causes the
      apply handler to be called and the internal run-time state to be created.
      
      ASTERISK-25575 #close
      
      Change-Id: Ie9306e797098c6d4da7bcf4a5434a15891508b23
      1bca90fc
    • Alexander Traud's avatar
      translate: Provide translation modules the result of SDP negotiation. · 8ccb1d2b
      Alexander Traud authored
      Previously, a trancoding module did not have access to the joint but cached
      format. Therefore, the module did not have access to the attributes negotiated
      via SDP (line fmtp). Now, a translation module receives the joint format.
      
      ASTERISK-25545 #close
      
      Change-Id: Id6878a989b50573298dab115d3371ea369e1a718
      8ccb1d2b
    • Alexander Traud's avatar
      res_format_attr_h264: Do not reset string buffer. · 92ea46ba
      Alexander Traud authored
      When no parameter is present, Asterisk does not generate the line fmtp, as
      expected. However, because a buffer was reset, even rtpmap and fmtp of previous
      media codecs got removed. Now, Asterisk does not reset other codecs in case of
      no parameter for H.264.
      
      ASTERISK-25573 #close
      
      Change-Id: I93811331f4a28c45418a9e14ee46c0debd47a286
      92ea46ba
    • Matt Jordan's avatar
  12. 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
    • tcambron's avatar
      StatsD: Add sample rate compatibility · 05addf3d
      tcambron authored
      Implemented support for the StatsD sample rate parameter,
      which is a parameter for determining when to send computed
      statistics to a client.
      
      Valid sample rate values are:
      Less than or equal to 0.0 will never be sent.
      Between 0.0 and 1.0 will randomly be sent.
      Greater than or equal to 1.0 will always be sent.
      
      ASTERISK-25419
      Reported By: Ashley Sanders
      
      Change-Id: I11d315d0a5034fffeae1178e650aa8264485ed52
      05addf3d
    • Richard Mudgett's avatar
      res_pjsip_outbound_registration.c: Be tolerant of short registration timeouts. · 3dbaf696
      Richard Mudgett authored
      Change-Id: Ie16f5053ebde0dc6507845393709b4d6a3ea526d
      3dbaf696
Loading