Skip to content
Snippets Groups Projects
  1. Aug 14, 2017
  2. Aug 10, 2017
    • Richard Mudgett's avatar
      STUN/netsock2: Fix some valgrind uninitialized memory findings. · bd28a9bb
      Richard Mudgett authored
      * netsock2.c: Test the addr->len member first as it may be the only member
      initialized in the struct.
      
      * stun.c:ast_stun_handle_packet(): The combinded[] local array could get
      used uninitialized by ast_stun_request().  The uninitialized string gets
      copied to another location and could overflow the destination memory
      buffer.
      
      These valgrind findings were found for ASTERISK_27150 but are not
      necessarily a fix for the issue.
      
      Change-Id: I55f8687ba4ffc0f69578fd850af006a56cbc9a57
      bd28a9bb
    • Richard Mudgett's avatar
      res_pjsip_outbound_registration.c: Re-REGISTER on transport shutdown. · 1bec781c
      Richard Mudgett authored
      The fix for the issue is broken up into three parts.
      
      This is part three which handles the client side of REGISTER requests.
      The registered contact may no longer be valid on the server when the
      transport used is reliable and the connection is broken.
      
      * Re-REGISTER our contact if the reliable transport is broken after
      registration completes.  We attempt to re-REGISTER immediately to minimize
      the time we are unreachable.  Time may have already passed between the
      connection being broken and the loss being detected.
      
      * Reorder sip_outbound_registration_state_alloc() so the STATSD_GUAGE's
      are still correct if an allocation failure happens.
      
      ASTERISK-27147
      
      Change-Id: I3668405b1ee75dfefb07c0d637826176f741ce83
      1bec781c
    • Richard Mudgett's avatar
      res_pjsip: Remove ephemeral registered contacts on transport shutdown. · 82f4ade9
      Richard Mudgett authored
      The fix for the issue is broken up into three parts.
      
      This is part two which handles the server side of REGISTER requests when
      rewrite_contact is enabled.  Any registered reliable transport contact
      becomes invalid when the transport connection becomes disconnected.
      
      * Monitor the rewrite_contact's reliable transport REGISTER contact for
      shutdown.  If it is shutdown then the contact must be removed because it
      is no longer valid.  Otherwise, when the client attempts to re-REGISTER it
      may be blocked because the invalid contact is there.  Also if we try to
      send a call to the endpoint using the invalid contact then the endpoint is
      not likely to see the request.  The endpoint either won't be listening on
      that port for new connections or a NAT/firewall will block it.
      
      * Prune any rewrite_contact's registered reliable transport contacts on
      boot.  The reliable transport no longer exists so the contact is invalid.
      
      * Websockets always rewrite the REGISTER contact address and the transport
      needs to be monitored for shutdown.
      
      * Made the websocket transport set a unique name since that is what we use
      as the ao2 container key.  Otherwise, we would not know which transport we
      find when one of them shuts down.  The names are also used for PJPROJECT
      debug logging.
      
      * Made the websocket transport post the PJSIP_TP_STATE_CONNECTED state
      event.  Now the global keep_alive_interval option, initially idle shutdown
      timer, and the server REGISTER contact monitor can work on wetsocket
      transports.
      
      * Made the websocket transport set the PJSIP_TP_DIR_INCOMING direction.
      Now initially idle websockets will automatically shutdown.
      
      ASTERISK-27147
      
      Change-Id: I397a5e7d18476830f7ffe1726adf9ee6c15964f4
      82f4ade9
    • Richard Mudgett's avatar
      res_pjsip: PJSIP Transport state monitor refactor. · 1dcb92bb
      Richard Mudgett authored
      The fix for the issue is broken up into three parts.
      
      This is part one which refactors the transport state monitor code to allow
      more modules to be able to monitor transports.
      
      * Pull the management of PJPROJECT's transport state callback code from
      res_pjsip_transport_management.c into res_pjsip.  Now other modules can
      dynamically add and remove themselves from transport monitoring without
      worrying about breaking PJPROJECT's callback chain.
      
      * Add the ability for other modules to get a callback whenever a specific
      transport is shutdown.
      
      ASTERISK-27147
      
      Change-Id: I7d9a31371eb1487c9b7050cf82a9af5180a57912
      1dcb92bb
    • Richard Mudgett's avatar
      res_pjsip_transport_management.c: Rename some variables. · ee5edfb0
      Richard Mudgett authored
      * Use monitored instead of the misleading keepalive name.
      
      Change-Id: I9e5bcbb4ab2b82d49bcd0f06dfe85d15e0b552b6
      ee5edfb0
    • Richard Mudgett's avatar
      UPGRADE notes: Prepare for the eventual 16 branch. · ecd1f87e
      Richard Mudgett authored
      Change-Id: I4ca2f07ed62d77f1fdd10c3b216f6a28dd75720c
      ecd1f87e
    • Scott Griepentrog's avatar
      res_pjsip_messaging: IPv6 receive address needs brackets · 4ed2733d
      Scott Griepentrog authored
      When handling an incoming SIP MESSAGE, PJSIP
      attaches the IP address that the message was
      received from to the message in the variable
      PJSIP_RECVADDR.  When the IP address is IPv6
      the :PORT appended results in an unparseable
      mess. By using an additional bit flag on the
      pj_sockaddr_print call, the conventional use
      of brackets around the address is achieved.
      
      ASTERISK-27193 #close
      
      Change-Id: I12342521f2ce87a5b6e4883d480a3fd957aa9fd9
      4ed2733d
    • Jenkins2's avatar
  3. Aug 09, 2017
  4. Aug 08, 2017
    • George Joseph's avatar
      Make --with-pjproject-bundled the default for Asterisk 15 · 305bd0d9
      George Joseph authored
      '--with-pjproject-bundled' is now the default when running
      ./configure. It can be disabled with '--without-pjproject-bundled'.
      
      To make building without an internet connection easier, a new
      ./configure option '--with-download-cache' was added that sets
      the cache for externals (like pjproject, the codecs and the DPMA),
      AND the sounds files.  It can also be specified as an environment
      variable named "AST_DOWNLOAD_CACHE".  The existing
      '--with-sounds-cache' option / SOUNDS_CACHE_DIR env variable and
      '--with-externals-cache' option / EXTERNALS_CACHE_DIR env variable
      remain and if specified, will override '--with-downloads-cache'.
      
      ASTERISK-27189
      
      Change-Id: Ifa9783fddf44aafadb060c9feba713dfa81d38ce
      305bd0d9
    • Joshua Colp's avatar
      res_pjsip_session: Release media resources on session end quicker. · 62092bc1
      Joshua Colp authored
      A change was made long ago where the session was kept around
      until the underlying INVITE session had been destroyed. This
      had the side effect of also keeping the underlying media resources
      around for this time as well.
      
      This change ensures that when we are told to terminate the
      session we immediately release any media sessions associated
      with it.
      
      ASTERISK-27110
      
      Change-Id: I643e431d5c3bf05cda220c1d39e824a505a29b82
      62092bc1
  5. Aug 07, 2017
  6. Aug 06, 2017
    • Joshua Colp's avatar
      bridge: Fix stream topology/participant locking and video misrouting. · 88c65f7c
      Joshua Colp authored
      This change fixes a few locking issues and some video misrouting.
      
      1. When accessing the stream topology of a channel the channel lock
      must be held to guarantee the topology remains valid.
      
      2. When a channel was joined to a bridge the bridge specific
      implementation for stream mapping was not invoked, causing video
      to be misrouted for a brief period of time.
      
      ASTERISK-27182
      
      Change-Id: I5d2f779248b84d41c5bb3896bf22ba324b336b03
      88c65f7c
  7. Aug 05, 2017
  8. Aug 04, 2017
  9. Aug 03, 2017
Loading