Skip to content
Snippets Groups Projects
  1. Feb 05, 2019
    • sungtae kim's avatar
      Added ARI resource /ari/asterisk/ping · 67d587f4
      sungtae kim authored
      Added ARI resource.
      GET /ari/asterisk/ping : It returns "pong" message with timestamp
      and asterisk id. It would be useful for simple heath check.
      
      Change-Id: I8d24e1dcc96f60f73437c68d9463ed746f688b29
      67d587f4
  2. Feb 04, 2019
  3. Jan 30, 2019
  4. Jan 28, 2019
    • George Joseph's avatar
      media_index.c: Refactored so it doesn't cache the index · 66982824
      George Joseph authored
      Testing revealed that the cache added no benefit but that it could
      consume excessive memory.
      
      Two new index related functions were created:
      ast_sounds_get_index_for_file() and ast_media_index_update_for_file()
      which restrict index updating to specific sound files.
      
      The original ast_sounds_get_index() and ast_media_index_update()
      calls are still available but since they no longer cache the results
      internally, developers should re-use an index they may already have
      instead of calling ast_sounds_get_index() repeatedly.  If information
      for only a single file is needed, ast_sounds_get_index_for_file()
      should be called instead of ast_sounds_get_index().
      
      The media_index directory scan code was elimininated in favor of
      using the existing ast_file_read_dirs() function.
      
      Since there's no more cache, ast_sounds_index_init now only
      registers the sounds cli commands instead of generating the
      initial index and subscribing to stasis format register/unregister
      messages.
      
      ast_sounds_reindex() is now a no-op but left for backwards
      compatibility.
      
      loader.c no longer registers "sounds" as a special reload target.
      
      Both the sounds cli commands and the sounds ari resources were
      refactored to only call ast_sounds_get_index() once per invocation
      and to use ast_sounds_get_index_for_file() when a specific sound
      file is requested.
      
      Change-Id: I1cef327ba1b0648d85d218b70ce469ad07f4aa8d
      66982824
    • Friendly Automation's avatar
    • George Joseph's avatar
      10cf12e7
    • George Joseph's avatar
  5. Jan 25, 2019
    • Kevin Harwell's avatar
      codecs.conf.sample: update codec opus docs · 62faecd6
      Kevin Harwell authored
      The option value "sdp" for some of the settings was removed a while back,
      however the sample conf was not updated.
      
      This patch removes any wording with regards to the old "sdp" option value,
      and adjusts the defaults to what they are now.
      
      ASTERISK-28263
      
      Change-Id: I41bfa44e9f69446bcc5c8fd92e3675c676fdc445
      62faecd6
  6. Jan 24, 2019
  7. Jan 23, 2019
  8. Jan 22, 2019
    • Gerald Schnabel's avatar
      manager_channels: Fix throwing of HangupHandler manager events · 8791dda6
      Gerald Schnabel authored
      The type value extracted from stasis message data in channel_hangup_handler_cb
      isn't compared against the valid values "run", "pop" and "push". Thus the
      manager events HangupHandlerPush, HangupHandlerPop and HangupHandlerRun are
      never thrown.
      
      This regression was introduced by ASTERISK_21462.
      
      ASTERISK-28252
      
      Change-Id: I9956e35e18da1873113644df1ddc3c7cd37bf524
      8791dda6
    • Chris-Savinovich's avatar
      Test_cel: Fails when DONT_OPTIMIZE is off · 9b85882f
      Chris-Savinovich authored
      A bug in GCC causes TEST_CEL to return
      failure under the following conditions:
      1. TEST_FRAMEWORK on
      2. DONT_OPTIMIZE off
      3. Fedora and Ubuntu
      4. GCC 8.2.1
      5. Test name: test_cel_dial_pickup
      6. There must exist a certain combination of multithreading.
      The bug affects arithmetic calculations when the optimization level
      is bigger than O1 and the -fpartial-inline flag is on. Provided these
      conditions, function ast_str_to_lower() fails to convert to lower case
      due to said function being of type force_inline.  The solution is to
      remove the "force_inline" type declaration from function ast_str_to_lower()
      Change-Id: Ied32e0071f12ed9d5f3b4cdd878b2532a1c769d7
      9b85882f
    • George Joseph's avatar
      app_voicemail: Add Mailbox Aliases · d0eccac3
      George Joseph authored
      You can now define an "aliases" context in voicemail.conf
      whose entries point to actual mailboxes.  These can be used anywhere
      the mailbox is specified.
      
      Example:
      [general]
      aliasescontext = myaliases
      
      [default]
      1234 = yadayada
      
      [myaliases]
      4321@devices = 1234@default
      
      Now you can use 4321@devices to refer to the 1234@default mailbox.
      
      This can be useful to provide channel drivers with constant
      mailbox specifications such as <extension>@devices leaving
      app_voicemail to control exactly which mailbox the alias points to.
      Now, only voicemail has to be reloaded to make changes instead of
      individual channel drivers which are usually more expensive to
      reload.
      
      Change-Id: I395b9205c91523a334fe971be0d1de4522067b04
      d0eccac3
    • Kevin Harwell's avatar
      res_pjsip_registrar: mitigate blocked threads on reliable transport shutdown · 2e1cbcde
      Kevin Harwell authored
      When a reliable transport is shutdown it's possible for the pjsip registrar
      resource shutdown handler to get called multiple times. If this happens and one
      of the threads is taking "too long" (slow database call for instance) then the
      others get blocked waiting to delete.
      
      Since it only takes one to delete the contact then the other threads should be
      able to continue on if one of the threads is currently "deleting". This patch
      makes it so now when a thread enters the shutdown handler it checks to see if a
      thread is currently already "deleting". If so, then the thread does not attempt
      to get the lock, and instead continues on thus avoiding the blockage.
      
      ASTERISK-28213 #close
      
      Change-Id: I7563ca596312b1dff4f3ab41483e89fe2862328a
      2e1cbcde
    • Joshua C. Colp's avatar
    • George Joseph's avatar
      pjproject_bundled: Add patch for double free issue in timer heap · 8414ca19
      George Joseph authored
      Fixed #2172: Avoid double reference counter decrements in
      timer in the scenario of race condition between
      pj_timer_heap_cancel() and pj_timer_heap_poll().
      
      Change-Id: If000e9438c83ac5084b678eb811e902c035bd2d8
      8414ca19
  9. Jan 21, 2019
    • Jeremy Lainé's avatar
      res_http_websocket: respond to CLOSE opcode · da50162f
      Jeremy Lainé authored
      This ensures that Asterisk responds properly to frames received from a
      client with opcode 8 (CLOSE) by echoing back the status code in its own
      CLOSE frame.
      
      Handling of the CLOSE opcode is moved up with the rest of the opcodes so
      that unmasking gets applied. The payload is no longer returned to the
      caller, but neither ARI nor the chan_sip nor pjsip made use of the
      payload, which is a good thing since it was masked.
      
      ASTERISK-28231 #close
      
      Change-Id: Icb1b60205fc77ee970ddc91d1f545671781344cf
      da50162f
    • Sean Bright's avatar
      pjsip_transport_management: Shutdown transport immediately on disconnect · 9cd61610
      Sean Bright authored
      The transport management code that checks for idle connections keeps a
      reference to PJSIP's transport for IDLE_TIMEOUT milliseconds (32000 by
      default). Because of this, if the transport is closed before this
      timeout, the idle checking code will keep the transport from actually
      being shutdown until the timeout expires.
      
      Rather than passing the AO2 object to the scheduler task, we just pass
      its key and look it up when it is time to potentially close the idle
      connection. The other transport management code handles cleaning up
      everything else for us.
      
      Additionally, because we use the address of the transport when
      generating its name, we concatenate an incrementing ID to the end of the
      name to guarantee uniqueness.
      
      Related to ASTERISK~28231
      
      Change-Id: I02ee9f4073b6abca9169d30c47aa69b5e8ae9afb
      9cd61610
  10. Jan 20, 2019
    • Valentin Vidic's avatar
      channel.c: Fix segfault with Monitor(wav,file,i) · efde1ab1
      Valentin Vidic authored
      If the Monitor is started with the i option the read_stream will be
      NULL. One code path in channel.c checks if write_stream is set but than
      uses read_stream instead causing a segfault.
      
      ASTERISK-28249
      
      Change-Id: I1bae9126537be54895c7fea2d08dd9488d8cc525
      efde1ab1
  11. Jan 17, 2019
    • Joshua C. Colp's avatar
      stasis / manager / ari: Better filter messages. · 42922af7
      Joshua C. Colp authored
      Previously both AMI and ARI used a default route on
      their stasis message router to handle some of the
      messages for publishing out their respective
      connection. This caused messages to be given to
      their subscription that could not be formatted
      into AMI or JSON.
      
      This change adds an API call to the stasis message
      router which allows a default route to be set as well
      as formatters that the default route is expecting.
      This allows both AMI and ARI to specify that their
      default route only wants messages of their given
      formatter. By doing so stasis can more intelligently
      filter at publishing time so that they do not receive
      messages which will not be turned into AMI or JSON.
      
      ASTERISK-28244
      
      Change-Id: I65272819a53ce99f869181d1d370da559a7d1703
      42922af7
    • Sean Bright's avatar
      sched: Make sched_settime() return void because it cannot fail · 28da2948
      Sean Bright authored
      Change-Id: I66b8b2b2778f186919d73ae9bf592104b8fb1cd5
      28da2948
  12. Jan 14, 2019
  13. Jan 12, 2019
  14. Jan 11, 2019
    • Alexei Gradinari's avatar
      res_pjsip: add option to disable ContactStatus event when contact is updated · 4a8564ca
      Alexei Gradinari authored
      This patch adds a new PJSIP global configuration option
      'send_contact_status_on_update_registration' to be able to have the same
      performance benefits as version 16.
      
      By default old behavior, i.e. the ContactStatus event will be sent when a
      device refreshes its registration.
      
      Change-Id: I706adf7584e7077eb6bde6d9799ca408bc82ce46
      4a8564ca
    • mohitdhiman's avatar
      stasis/endpoint: Fix memory leak of channel_ids in ast_endpoint structure. · 84a7b4d3
      mohitdhiman authored
      During Bridging of two channels if masquerade operation is performed on a
      channel (clone channel) which was created with endpoint details
      (ast_channel_alloc_with_endpoint()) and the original channel which is created
      without endpoint details (ast_channel_alloc()) then both the channels must
      exchange their endpoint details or else after masquerade when clone channel
      is being destroyed the endpoint cleanup callbacks will be destroyed too and
      after call completion unique_id of original channel will still be there in
      ast_endpoint structure's channel_ids container.
      
      ASTERISK-28197
      
      Change-Id: Ied0451f378a3f2a36acc8c0984959a69895efa17
      84a7b4d3
  15. Jan 09, 2019
    • Diederik de Groot's avatar
      RAII: Change order or variables in clang version · 790626ec
      Diederik de Groot authored
      This prevents use-after-scope issues when unwinding the stack,
      which happens in reverse order. The varname variable needs to
      remain alive for the destruction to be able to access it.
      Issue was found using clang + address-sanitizer.
      
      ASTERISK-28232 #close
      
      Change-Id: I00811c34ae910836a5fb6d22304528aef92624db
      790626ec
Loading