Skip to content
Snippets Groups Projects
  1. Jan 23, 2019
  2. Jan 22, 2019
  3. Jan 21, 2019
    • Joshua C. Colp's avatar
    • Jeremy Lainé's avatar
      res_http_websocket: respond to CLOSE opcode · 0b8867f7
      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
      0b8867f7
    • Sean Bright's avatar
      pjsip_transport_management: Shutdown transport immediately on disconnect · 20f67253
      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
      20f67253
  4. Jan 20, 2019
    • Valentin Vidic's avatar
      channel.c: Fix segfault with Monitor(wav,file,i) · 17f76d27
      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
      17f76d27
  5. Jan 17, 2019
  6. Jan 14, 2019
  7. Jan 11, 2019
    • Alexei Gradinari's avatar
      res_pjsip: add option to enable ContactStatus event when contact is updated · f0546d1d
      Alexei Gradinari authored
      The commit I2f97ebfa79969a36a97bb7b9afd5b6268cf1a07d removed sending out
      the ContactStatus AMI event when a contact is updated.
      Thist change broke things which rely on old behavior.
      
      This patch adds a new PJSIP global configuration option
      'send_contact_status_on_update_registration' to be able to preserve old
      ContactStatus behavior.
      By default new behavior, i.e. the ContactStatus event will not be sent when a
      device refreshes its registration.
      
      Change-Id: I706adf7584e7077eb6bde6d9799ca408bc82ce46
      f0546d1d
  8. Jan 07, 2019
    • Joshua Colp's avatar
      res_pjsip_sdp_rtp: Only enable abs-send-time when WebRTC is enabled. · 18e20638
      Joshua Colp authored
      For video streams it was possible for the abs-send-time information
      to be placed into RTP streams even if not negotiated. Depending on
      the endpoint in use this could cause video to not flow.
      
      We now only enable abs-send-time for negotiation if WebRTC is enabled.
      
      ASTERISK-28230
      
      Change-Id: I0eb682302f8da3a4ea3c42e839208d55f825ed0c
      18e20638
  9. Jan 05, 2019
    • Diederik de Groot's avatar
      RAII: Change order or variables in clang version · 7bd30905
      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
      7bd30905
  10. Jan 04, 2019
    • Alexei Gradinari's avatar
      RTP: reset DTMF last seqno/timestamp on RTP renegotiation · f662a26e
      Alexei Gradinari authored
      The remote side may start a new stream when renegotiating RTP.
      Need to reset the DTMF last sequence number and the timestamp
      of the last END packet on RTP renegotiation.
      
      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 SPA5XX and codec g722.
      On SIP session update the SPA50X resets stream and a new timestamp is twice
      smaller then the previous.
      
      ASTERISK-28162 #close
      
      Change-Id: Ic72b4497e74d801b27a635559c1cf29c16c95254
      f662a26e
    • Joshua C. Colp's avatar
  11. Jan 03, 2019
  12. Jan 02, 2019
  13. Dec 26, 2018
  14. Dec 24, 2018
    • George Joseph's avatar
      ast_coredumper: Refactor the pid determination process · 809e8362
      George Joseph authored
      In order to get a dump of the running process, we need to find the
      pid of the main asterisk process.  This can be tricky if there are
      also instances of "asterisk -r" running or if an alternate location
      for asterisk.conf was specified on the command line with the -C
      option that also specified an alternation location for the pid file.
      
      So now...
      
      1. We find the asterisk executable with "which" or the --asterisk-bin
         command line option.
      2. If there's only 1 process with an executable path that matches,
         we use that pid.  If not...
      3. We try "<asterisk-bin> -rx 'core show settings'" and parse the
         output to find the pidfile, then read that for the pid.  If that
         didn't work...
      4. We get a list of all the pids matching <asterisk-bin> and look
         in /proc/<pid>/cmdline for a -C argument and retry the "core show
         settings" using the same -C option.  We can't parse the output
         of "ps" to get the -C path because it may contain spaces.  The
         contents of /proc/<pid>/cmdline are delimited by NULLs.  For BSDs
         we may have to mount /proc first. :(
      
      ASTERISK-28221
      Reported by: Andrew Nagy
      
      Change-Id: I8aa1f3f912f949df2b5348908803c636bde1d57c
      809e8362
  15. Dec 19, 2018
  16. Dec 18, 2018
  17. Dec 17, 2018
  18. Dec 14, 2018
  19. Dec 13, 2018
Loading