Skip to content
Snippets Groups Projects
  1. Dec 03, 2018
  2. Nov 30, 2018
  3. Nov 29, 2018
  4. Nov 26, 2018
    • George Joseph's avatar
      test_cel: Plug a few ref leaks · f4924d40
      George Joseph authored
      These are only a few of the leaks.  The large number of macros
      and return paths in this file would make a weeks worth of work
      to plug them all.
      
      Change-Id: Ie2369fa944023d44767871c5c30974cb077ffb56
      f4924d40
    • George Joseph's avatar
      bridges: Remove reliance on stasis caching · 3667c5e1
      George Joseph authored
      * The bridging core no longer uses the stasis cache for bridge
        snapshots.  The latest bridge snapshot is now stored on the
        ast_bridge structure itself.
      
      * The following APIs are no longer available since the stasis cache
        is no longer used:
          ast_bridge_topic_cached()
          ast_bridge_topic_all_cached()
      
      * A topic pool is now used for individual bridge topics.
      
      * The ast_bridge_cache() function was removed since there's no
        longer a separate container of snapshots.
      
      * A new function "ast_bridges()" was created to retrieve the
        container of all bridges.  Users formerly calling
        ast_bridge_cache() can use the new function to iterate over
        bridges and retrieve the latest snapshot directly from the
        bridge.
      
      * The ast_bridge_snapshot_get_latest() function was renamed to
        ast_bridge_get_snapshot_by_uniqueid().
      
      * A new function "ast_bridge_get_snapshot()" was created to retrieve
        the bridge snapshot directly from the bridge structure.
      
      * The ast_bridge_topic_all() function now returns a normal topic
        not a cached one so you can't use stasis cache functions on it
        either.
      
      * The ast_bridge_snapshot_type() stasis message now has the
        ast_bridge_snapshot_update structure as it's data.  It contains
        the last snapshot and the new one.
      
      * cdr, cel, manager and ari have been updated to use the new
        arrangement.
      
      Change-Id: I7049b80efa88676ce5c4666f818fa18ad1985369
      3667c5e1
    • Jenkins2's avatar
    • Joshua Colp's avatar
    • Joshua Colp's avatar
    • Joshua Colp's avatar
      stasis: Segment channel snapshot to reduce creation cost. · 50ac85cb
      Joshua Colp authored
      When a channel snapshot was created it used to be done
      from scratch, copying all data (many strings). This incurs
      a cost when doing so.
      
      This change segments the channel snapshot into different
      components which can be reused if unchanged from the
      previous snapshot creation, reducing the cost. In normal
      cases this results in some pointers being copied with
      reference count being bumped, some integers being set,
      and a string or two copied. The other benefit is that it
      is now possible to determine if a channel snapshot update
      is redundant and thus stop it before a message is published
      to stasis.
      
      The specific segments in the channel snapshot were split up
      based on whether they are changed together, how often they
      are changed, and their general grouping. In practice only
      1 (or 0) of the segments actually get changed in normal
      operation.
      
      Invalidation is done by setting a flag on the channel when
      the segment source is changed, forcing creation of a new
      segment when the channel snapshot is created.
      
      ASTERISK-28119
      
      Change-Id: I5d7ef3df963a88ac47bc187d73c5225c315f8423
      50ac85cb
    • Joshua Colp's avatar
      stasis: Use an implementation specific channel snapshot cache. · d0ccbb33
      Joshua Colp authored
      Channels no longer use the Stasis cache for channel snapshots. Instead
      they are stored in a hash table in stasis_channels which reduces the
      number of Stasis messages created and allows better storage.
      
      As a result the following APIs are no longer available since the stasis
      cache is no longer used:
      ast_channel_topic_cached()
      ast_channel_topic_all_cached()
      
      The ast_channel_cache_all() and ast_channel_cache_by_name() functions
      now return an ao2_container of ast_channel_snapshots rather than
      a container of stasis_messages therefore you can't (and don't need
      to) call stasis_cache functions on it.
      
      The ast_channel_topic_all() function now returns a normal topic not
      a cached one so you can't use stasis cache functions on it either.
      
      The ast_channel_snapshot_type() stasis message now has the
      ast_channel_snapshot_update structure as it's data. It contains the
      last snapshot and the new one.
      
      ast_channel_snapshot_get_latest() still returns the latest snapshot.
      
      The latest snapshot is now stored on the channel itself to eliminate
      cache hits when Stasis messages that have the snapshot as a payload
      are created.
      
      ASTERISK-28102
      
      Change-Id: I9334febff60a82d7c39703e49059fa3a68825786
      d0ccbb33
    • Joshua Colp's avatar
    • Corey Farrell's avatar
      jansson: Upgrade to 2.12. · 8e1ab4f1
      Corey Farrell authored
      This brings in jansson-2.12, removes all patches that were merged
      upstream.  README is created in third-party/jansson/patches to explain
      how to add patches but also because the patches folder must exist for
      the build process to succeed.
      
      Change-Id: If0f2d541c50997690660c21fb7b03d625a5cdadd
      8e1ab4f1
  5. Nov 23, 2018
    • Alexei Gradinari's avatar
      RTP: need to reset DTMF last seqno/timestamp on voice packet with marker bit · 3f530412
      Alexei Gradinari authored
      The marker bit set on the voice packet indicates the start
      of a new stream and a new time stamp.
      Need to reset the DTMF last sequence number and the timestamp
      of the last END packet.
      
      If the new time stamp is lower then the timestamp of the last DTMF END packet
      the asterisk drops all DTMF frames as out of order.
      
      This bug was caught using Cisco ip-phone SPA50X and codec g722.
      On SIP session update the SPA50X resets stream indicating it with market bit
      and a new timestamp is twice smaller then the previous.
      
      ASTERISK-28162 #close
      
      Change-Id: If9c5742158fa836ad549713a9814d46a5d2b1620
      3f530412
  6. Nov 21, 2018
    • Corey Farrell's avatar
      astobj2: Remove legacy ao2_container_alloc routine. · 021ce938
      Corey Farrell authored
      Replace usage of ao2_container_alloc with ao2_container_alloc_hash or
      ao2_container_alloc_list.  Remove ao2_container_alloc macro.
      
      Change-Id: I0907d78bc66efc775672df37c8faad00f2f6c088
      021ce938
    • Corey Farrell's avatar
      astobj2: Create function to copy weak proxied objects from container. · bc7f4f4d
      Corey Farrell authored
      Create ao2_container_dup_weakproxy_objs to perform a similar function to
      ao2_container_dup.  This function expects the source container to have
      weakproxy objects, inserts the associated non-weak objects into the
      destination container.  Orphaned weakproxy objects are ignored.
      
      Create test for this new function and for ao2_weakproxy_find.
      
      Change-Id: I898387f058057e08696fe9070f8cd94ef3a27482
      bc7f4f4d
  7. Nov 20, 2018
  8. Nov 19, 2018
  9. Nov 18, 2018
    • Joshua C. Colp's avatar
      stasis: Remove stringfields and lock from change message. · 56eb18f3
      Joshua C. Colp authored
      When a subscribe or unsubscribe occurs a message is published
      containing this information. This change makes it so that the
      message no longer uses stringfields or a lock, as both are not
      really needed for the message.
      
      Change-Id: I3f4831931d79f94fd979baf48048738df5dc1632
      56eb18f3
    • Alexei Gradinari's avatar
      pjsip: New function PJSIP_PARSE_URI to parse URI and return part of URI · fa048183
      Alexei Gradinari authored
      New dialplan function PJSIP_PARSE_URI added to parse an URI and return
      a specified part of the URI.
      
      This is useful when need to get part of the URI instead of cutting it
      using a CUT function.
      
      For example to get 'user' part of Remote URI
      ${PJSIP_PARSE_URI(${CHANNEL(pjsip,remote_uri)},user)}
      
      ASTERISK-28144 #close
      
      Change-Id: I5d828fb87f6803b6c1152bb7b44835f027bb9d5a
      fa048183
    • George Joseph's avatar
    • Joshua Colp's avatar
      stasis: Add internal filtering of messages. · 3077ad0c
      Joshua Colp authored
      This change adds the ability for subscriptions to indicate
      which message types they are interested in accepting. By
      doing so the filtering is done before being dispatched
      to the subscriber, reducing the amount of work that has
      to be done.
      
      This is optional and if a subscriber does not add
      message types they wish to accept and set the subscription
      to selective filtering the previous behavior is preserved
      and they receive all messages.
      
      There is also the ability to explicitly force the reception
      of all messages for cases such as AMI or ARI where a large
      number of messages are expected that are then generically
      converted into a different format.
      
      ASTERISK-28103
      
      Change-Id: I99bee23895baa0a117985d51683f7963b77aa190
      3077ad0c
    • George Joseph's avatar
      CI: Add tmpfs to all jenkinsfiles · 915b8070
      George Joseph authored
      Change-Id: Ida29d70d48d5f39aabf0b25c66b51f79324a8cba
      915b8070
    • George Joseph's avatar
      ccc981e9
  10. Nov 17, 2018
Loading