Skip to content
Snippets Groups Projects
  1. Mar 28, 2021
  2. Mar 25, 2021
    • Ben Ford's avatar
      logger.conf.sample: Add more debug documentation. · 25758670
      Ben Ford authored
      Change-Id: Iff0e713f2120d8dce8e1e26924b99ed17f9d9dff
      25758670
    • Ben Ford's avatar
      logging: Add .log to samples and update asterisk.logrotate. · 55c53de0
      Ben Ford authored
      Added .log extension to the sample logs in logger.conf.sample so that
      they will be able to be opened in the browser when attached to JIRA
      tickets. Because of this, asterisk.logrotate has also been updated to
      look for .log extensions instead of no extension for log files such as
      full and messages.
      
      Change-Id: I5de743c03f08047d6c6cc80cac5019ae0c4c200f
      55c53de0
    • Sean Bright's avatar
      app_queue.c: Remove dead 'updatecdr' code. · aac442ee
      Sean Bright authored
      Also removed the sample documentation, and some oddly-placed
      documentation about the timeout argument to the Queue() application
      itself. There is a large section on the timeout behavior below.
      
      ASTERISK-26614 #close
      
      Change-Id: I8f84e8304b50305b7c4cba2d9787a5d77c3a6217
      aac442ee
  3. Mar 23, 2021
  4. Mar 22, 2021
    • Mark Murawski's avatar
      logger: Console sessions will now respect logger.conf dateformat= option · b4347c48
      Mark Murawski authored
      The 'core' console (ie: asterisk -c) does read logger.conf and does
      use the dateformat= option.
      
      Whereas 'remote' consoles (ie: asterisk -r -T) does not read logger.conf
      and uses a hard coded dateformat option for printing received verbose messages:
        main/logger.c: static char dateformat[256] = "%b %e %T"
      
      This change will load logger.conf for each remote console session and
      use the dateformat= option to set the per-line timestamp for verbose messages
      
      Change-Id: I3ea10990dbd920e9f7ce8ff771bc65aa7f4ea8c1
      ASTERISK-25358: #close
      Reported-by: Igor Liferenko
      b4347c48
    • Sean Bright's avatar
      app_queue.c: Don't crash when realtime queue name is empty. · 8d3d7bdb
      Sean Bright authored
      ASTERISK-27542 #close
      
      Change-Id: If0b9719380a25533d2aed1053cff845dc3a4854a
      8d3d7bdb
    • George Joseph's avatar
      res_pjsip_session: Make reschedule_reinvite check for NULL topologies · a03a0519
      George Joseph authored
      When the check for equal topologies was added to reschedule_reinvite()
      it was assumed that both the pending and active media states would
      actually have non-NULL topologies.  We since discovered this isn't
      the case.
      
      We now only test for equal topologies if both media states have
      non-NULL topologies.  The logic had to be rearranged a bit to make
      sure that we cloned the media states if their topologies were
      non-NULL but weren't equal.
      
      ASTERISK-29215
      
      Change-Id: I61313cca7fc571144338aac826091791b87b6e17
      a03a0519
    • Joshua C. Colp's avatar
      app_queue: Only send QueueMemberStatus if status changes. · a8a08bcd
      Joshua C. Colp authored
      If a queue member was updated with the same status multiple
      times each time a QueueMemberStatus event would be sent
      which would be a duplicate of the previous.
      
      This change makes it so that the QueueMemberStatus event is
      only sent if the status actually changes.
      
      ASTERISK-29355
      
      Change-Id: I580c60d992a0a8f2bea8b91c868771b3b490d116
      a8a08bcd
    • Joshua C. Colp's avatar
      core_unreal: Fix deadlock with T.38 control frames. · 970b8494
      Joshua C. Colp authored
      When using the ast_unreal_lock_all function no channel
      locks can be held before calling it.
      
      This change unlocks the channel that indicate was
      called on before doing so and then relocks it afterwards.
      
      ASTERISK-29035
      
      Change-Id: Id65016201b5f9c9519a216e250f9101c629e19e9
      970b8494
    • Joshua C. Colp's avatar
      res_pjsip: Add support for partial transport reload. · 71dfbdc7
      Joshua C. Colp authored
      Some configuration items for a transport do not result in
      the underlying transport changing, but instead are just
      state we keep ourselves and use. It is perfectly reasonable
      to change these items.
      
      These include local_net and external_* information.
      
      ASTERISK-29354
      
      Change-Id: I027857ccfe4419f460243e562b5f098434b3d43a
      71dfbdc7
  5. Mar 19, 2021
  6. Mar 17, 2021
    • Joshua C. Colp's avatar
      res_rtp_asterisk: Force resync on SSRC change. · cce5ee5b
      Joshua C. Colp authored
      When an SSRC change occurs the timestamps are likely
      to change as well. As a result we need to reset the
      timestamp mapping done in the calc_rxstamp function
      so that they map properly from timestamp to real
      time.
      
      This previously occurred but due to packet
      retransmission support the explicit setting
      of the marker bit was not effective.
      
      ASTERISK-29352
      
      Change-Id: I2d4c8f93ea24abc1030196706de2d70facf05a5a
      cce5ee5b
    • Joshua C. Colp's avatar
      menuselect: Add ability to set deprecated and removed versions. · efc61a96
      Joshua C. Colp authored
      The "deprecated_in" and "removed_in" information can now be
      set in MODULEINFO for a module and is then displayed in
      menuselect so users can be aware of when a module is slated
      to be deprecated and then removed.
      
      ASTERISK-29337
      
      Change-Id: I6952889cf08e0e9e99cf8b43f99b3cef4688087a
      efc61a96
  7. Mar 16, 2021
  8. Mar 10, 2021
  9. Mar 08, 2021
    • Sean Bright's avatar
      res_musiconhold.c: Plug ref leak caused by ao2_replace() misuse. · df37b818
      Sean Bright authored
      ao2_replace() bumps the reference count of the object that is doing the
      replacing, which is not what we want. We just want to drop the old ref
      on the old object and update the pointer to point to the new object.
      
      Pointed out by George Joseph in #asterisk-dev
      
      Change-Id: Ie8167ed3d4b52b9d1ea2d785f885e8c27206743d
      df37b818
    • Torrey Searle's avatar
      res/res_rtp_asterisk: generate new SSRC on native bridge end · 8c247e2a
      Torrey Searle authored
      For RTCP to work, we update the ssrc to be the one corresponding to
      the native bridge while active.  However when the bridge ends we
      should generate a new SSRC as the sequence numbers will not continue
      from the native bridge left off.
      
      ASTERISK-29300 #close
      
      Change-Id: I23334b6934d2bf6490bda4bbf6414d96b8d17d10
      8c247e2a
  10. Mar 05, 2021
    • Joshua C. Colp's avatar
      sorcery: Add support for more intelligent reloading. · 304f8ddf
      Joshua C. Colp authored
      Some sorcery objects actually contain dynamic content
      that can change despite the underlying configuration
      itself not changing. A good example of this is the
      res_pjsip_endpoint_identifier_ip module which allows
      specifying hostnames. While the configuration may not
      change between reloads the DNS information of the
      hostnames can.
      
      This change adds the ability for a sorcery object to be
      marked as having dynamic contents which is then taken
      into account when reloading by the sorcery file based
      config module. If there is an object with dynamic content
      then a reload will be forced while if there are none
      then the existing behavior of not reloading occurs.
      
      ASTERISK-29321
      
      Change-Id: I9342dc55be46cc00204533c266a68d972760a0b1
      304f8ddf
    • George Joseph's avatar
      res_pjsip_refer: Move the progress dlg release to a serializer · 607603cf
      George Joseph authored
      Although the dlg session count was incremented in a pjsip servant
      thread, there's no guarantee that the last thread to unref this
      progress object was one.  Before we decrement, we need to make
      sure that this is either a servant thread or that we push the
      decrement to a serializer that is one.
      
      Because pjsip_dlg_dec_session requires the dialog lock, we don't
      want to wait on the task to complete if we had to push it to a
      serializer.
      
      Change-Id: I8ff2d5d94be3ff04298394070434e22a7d3cbc41
      607603cf
    • Joshua C. Colp's avatar
      res_pjsip_registrar: Include source IP and port in log messages. · 6f67f24a
      Joshua C. Colp authored
      When registering it can be useful to see the source IP address and
      port in cases where multiple devices are using the same endpoint
      or when anonymous is in use.
      
      ASTERISK-29325
      
      Change-Id: Ie178a6f55f53f8473035854c411bc3d056e0a2e0
      6f67f24a
  11. Mar 04, 2021
    • Joshua C. Colp's avatar
      asterisk: Update copyright. · f8d17587
      Joshua C. Colp authored
      ASTERISK-29326
      
      Change-Id: Ia95dbfb66e2d11ac4d1228444283bb2e4d77396a
      f8d17587
    • Ben Ford's avatar
      AST-2021-006 - res_pjsip_t38.c: Check for session_media on reinvite. · fd560ad9
      Ben Ford authored
      When Asterisk sends a reinvite negotiating T38 faxing, it's possible a
      crash can occur if the response contains a m=image and zero port. The
      reinvite callback code now checks session_media to see if it is null or
      not before trying to access the udptl variable on it.
      
      ASTERISK-29305
      
      Change-Id: I1dfc51c5fa586e38579ede4bc228edee213ccaa9
      fd560ad9
  12. Mar 03, 2021
    • Alexander Traud's avatar
      res_format_attr_h263: Generate valid SDP fmtp for H.263+. · a34e7de6
      Alexander Traud authored
      Fixed:
      * RFC 4629 does not allow the value "0" for MPI, K, and N.
      * Allow value "0" for PAR.
      * BPP is printed only when specified because "0" has a meaning.
      
      New:
      * Added CPCF and MaxBR.
      * Some implementations provide CIF without MPI: a=fmtp:xx CIF;F=1
        Although a violation of RFC 3555 section 3, we can support that.
      
      Changed:
      * Resorts the CIFs from large to small which partly fixes ASTERISK~29267.
      
      Change-Id: I95a650c715007b8dde11a77cb37d9c6c123a441e
      a34e7de6
    • Joshua C. Colp's avatar
      res_pjsip_nat: Don't rewrite Contact on REGISTER responses. · 2c1b6b7b
      Joshua C. Colp authored
      When sending a SIP response to an incoming REGISTER request
      we don't want to change the Contact header as it will
      contain the Contacts registered to the AOR and not our own
      Contact URI.
      
      ASTERISK-29235
      
      Change-Id: I35a0723545281dd01fcd5cae497baab58720478c
      2c1b6b7b
    • Joshua C. Colp's avatar
      channel: Fix memory leak in suppress API. · 3e5b9e39
      Joshua C. Colp authored
      A frame suppression API exists as part of channels
      which allows audio frames to or from a channel to
      be dropped. The MuteAudio AMI action uses this
      API to perform its job.
      
      This API uses a framehook to intercept flowing
      audio and drop it when appropriate. It is the
      responsibility of the framehook to free the
      frame it is given if it changes the frame. The
      suppression API failed to do this resulting in
      a leak of audio frames.
      
      This change adds the freeing of these frames.
      
      ASTERISK-29071
      
      Change-Id: Ie50acd454d672d36af914050c327d2e120d8ba7b
      3e5b9e39
    • Salah Ahmed's avatar
      res_rtp_asterisk: Check remote ICE reset and reset local ice attrb · 5d42dd2e
      Salah Ahmed authored
      This change will check is the remote ICE session got reset or not by
      checking the offered ufrag and password with session. If the remote ICE
      reset session then Asterisk reset its local ufrag and password to reject
      binding request with Old ufrag and Password.
      
      ASTERISK-29266
      
      Change-Id: I9c55e79a7af98a8fbb497d336b828ba41bc34eeb
      5d42dd2e
  13. Mar 02, 2021
    • Holger Hans Peter Freyther's avatar
      pjsip: Generate progress (once) when receiving a 180 with a SDP · 48ed4f67
      Holger Hans Peter Freyther authored
      ASTERISK-29105
      
      Change-Id: If1615fe7115fe544ef974b044d3cea5c48b94a38
      48ed4f67
    • Nico Kooijman's avatar
      main: With Dutch language year after 2020 is not spoken in say.c · 2ea75ed3
      Nico Kooijman authored
      Implemented the english way of saying the year in ast_say_date_with_format_nl.
      Currently the numbers are spoken correctly until 2020 and stopped working
      this year.
      
      ASTERISK-29297 #close
      Reported-by: Jacek Konieczny
      
      Change-Id: If5918eed5ab05df31df4dd23f08a909a60f6aba4
      2ea75ed3
    • Nick French's avatar
      res_pjsip: dont return early from registration if init auth fails · 8f6e0f93
      Nick French authored
      If set_outbound_initial_authentication_credentials() fails,
      handle_client_registration() bails early without creating or
      sending a register message.
      
      [set_outbound_initial_authentication_credentials() failures
      can occur during the process of retrieving an oauth access
      token.]
      
      The return from handle_client_registration is ignored, so
      returning an error doesn't do any good.
      
      This is a real problem when the registration request is a
      re-register, because then the registration will still be
      marked 'active' despite the re-register never being sent at all.
      
      So instead, log a warning but let the registration be created
      and sent (and probably fail) and follow the normal registration
      failed retry/abort logic.
      
      ASTERISK-29315 #close
      
      Change-Id: I2e03b1ea7fba1fa1a8279086aa4b17679e7fa7fa
      8f6e0f93
    • Alexei Gradinari's avatar
      res_fax: validate the remote/local Station ID for UTF-8 format · d2f623ba
      Alexei Gradinari authored
      If the remote Station ID contains invalid UTF-8 characters
      the asterisk fails to publish the Stasis and ReceiveFax status messages.
      
      json.c: Error building JSON from '{s: s, s: s}': Invalid UTF-8 string.
      0: /usr/sbin/asterisk(ast_json_vpack+0x98) [0x4f3f28]
      1: /usr/sbin/asterisk(ast_json_pack+0x8c) [0x4f3fcc]
      2: /usr/sbin/asterisk(ast_channel_publish_varset+0x2b) [0x57aa0b]
      3: /usr/sbin/asterisk(pbx_builtin_setvar_helper+0x121) [0x530641]
      4: /usr/lib64/asterisk/modules/res_fax.so(+0x44fe) [0x7f27f4bff4fe]
      ...
      stasis_channels.c: Error creating message
      
      json.c: Error building JSON from '{s: s, s: s, s: s, s: s, s: s, s: s, s: o}': Invalid UTF-8 string.
      0: /usr/sbin/asterisk(ast_json_vpack+0x98) [0x4f3f28]
      1: /usr/sbin/asterisk(ast_json_pack+0x8c) [0x4f3fcc]
      2: /usr/lib64/asterisk/modules/res_fax.so(+0x5acd) [0x7f27f4c00acd]
      ...
      res_fax.c: Error publishing ReceiveFax status message
      
      This patch replaces the invalid UTF-8 Station IDs with an empty string.
      
      ASTERISK-29312 #close
      
      Change-Id: Ieb00b6ecf67db3bfca787649caa8517f29d987db
      d2f623ba
Loading