Skip to content
Snippets Groups Projects
  1. Oct 27, 2022
    • Henning Westerholt's avatar
      res_pjsip: return all codecs on a re-INVITE without SDP · 12445040
      Henning Westerholt authored
      Currently chan_pjsip on receiving a re-INVITE without SDP will only
      return the codecs that are previously negotiated and not offering
      all enabled codecs.
      
      This causes interoperability issues with different equipment (e.g.
      from Cisco) for some of our customers and probably also in other
      scenarios involving 3PCC infrastructure.
      
      According to RFC 3261, section 14.2 we SHOULD return all codecs
      on a re-INVITE without SDP
      
      The PR proposes a new parameter to configure this behaviour:
      all_codecs_on_empty_reinvite. It includes the code, documentation,
      alembic migrations, CHANGES file and example configuration additions.
      
      ASTERISK-30193 #close
      
      Change-Id: I69763708d5039d512f391e296ee8a4d43a1e2148
      12445040
  2. Sep 29, 2022
    • Maximilian Fridrich's avatar
      res_pjsip: Add mediasec capabilities. · 0d2e1401
      Maximilian Fridrich authored
      This patch adds support for mediasec SIP headers and SDP attributes.
      These are defined in RFC 3329, 3GPP TS 24.229 and
      draft-dawes-sipcore-mediasec-parameter. The new features are
      implemented so that a backbone for RFC 3329 is present to streamline
      future work on RFC 3329.
      
      With this patch, Asterisk can communicate with Deutsche Telekom trunks
      which require these fields.
      
      ASTERISK-30032
      
      Change-Id: Ia7f5b5ba42db18074fdd5428c4e1838728586be2
      0d2e1401
  3. Sep 22, 2022
    • Maximilian Fridrich's avatar
      res_pjsip: Add 100rel option "peer_supported". · 5bbad0d2
      Maximilian Fridrich authored
      This patch adds a new option to the 100rel parameter for pjsip
      endpoints called "peer_supported". When an endpoint with this option
      receives an incoming request and the request indicated support for the
      100rel extension, then Asterisk will send 1xx responses reliably. If
      the request did not indicate 100rel support, Asterisk sends 1xx
      responses normally.
      
      ASTERISK-30158
      
      Change-Id: Id6d95ffa8f00dab118e0b386146e99f254f287ad
      5bbad0d2
  4. Sep 09, 2022
    • Mike Bradeen's avatar
      alembic: add missing ps_endpoints columns · 46776c77
      Mike Bradeen authored
      The following required columns were missing,
      now added to the ps_endpoints table:
      
      incoming_call_offer_pref
      outgoing_call_offer_pref
      stir_shaken_profile
      
      ASTERISK-29453
      
      Change-Id: I5cf565edf30195844d6acbc1e1de8c5f0d837568
      46776c77
  5. Jul 12, 2022
  6. Jun 30, 2022
    • Kevin Harwell's avatar
      res_pjsip: allow TLS verification of wildcard cert-bearing servers · a3b2daf1
      Kevin Harwell authored
      Rightly the use of wildcards in certificates is disallowed in accordance
      with RFC5922. However, RFC2818 does make some allowances with regards to
      their use when using subject alt names with DNS name types.
      
      As such this patch creates a new setting for TLS transports called
      'allow_wildcard_certs', which when it and 'verify_server' are both enabled
      allows DNS name types, as well as the common name that start with '*.'
      to match as a wildcard.
      
      For instance: *.example.com
      will match for: foo.example.com
      
      Partial matching is not allowed, e.g. f*.example.com, foo.*.com, etc...
      And the starting wildcard only matches for a single level.
      
      For instance: *.example.com
      will NOT match for: foo.bar.example.com
      
      The new setting is disabled by default.
      
      ASTERISK-30072 #close
      
      Change-Id: If0be3fdab2e09c2a66bb54824fca406ebaac3da4
      a3b2daf1
  7. Jun 09, 2022
    • Naveen Albert's avatar
      res_pjsip_outbound_registration: Make max random delay configurable. · 31dc28ab
      Naveen Albert authored
      Currently, PJSIP will randomly wait up to 10 seconds for each
      outbound registration's initial attempt. The reason for this
      is to avoid having all outbound registrations attempt to register
      simultaneously.
      
      This can create limitations with the test suite where we need to
      be able to receive inbound calls potentially within 10 seconds of
      starting up. For instance, we might register to another server
      and then try to receive a call through the registration, but if
      the registration hasn't happened yet, this will fail, and hence
      this inconsistent behavior can cause tests to fail. Ultimately,
      this requires a smaller random value because there may be no good
      reason to wait for up to 10 seconds in these circumstances.
      
      To address this, a new config option is introduced which makes this
      maximum delay configurable. This allows, for instance, this to be
      set to a very small value in test systems to ensure that registrations
      happen immediately without an unnecessary delay, and can be used more
      generally to control how "tight" the initial outbound registrations
      are.
      
      ASTERISK-29965 #close
      
      Change-Id: Iab989a8e94323e645f3a21cbb6082287c7b2f3fd
      31dc28ab
  8. Apr 26, 2022
  9. Feb 23, 2022
    • Alexei Gradinari's avatar
      res_pjsip_pubsub: provide a display name for RLS subscriptions · c12cb899
      Alexei Gradinari authored
      Whereas BLFs allow to show a display name for each RLS entry,
      the asterisk provides only the extension now.
      This is not end user friendly.
      
      This commit adds a new resource_list option, resource_display_name,
      to indicate whether display name of resource or the resource name being
      provided for RLS entries.
      If this option is enabled, the Display Name will be provided.
      This option is disabled by default to remain the previous behavior.
      If the 'event' set to 'presence' or 'dialog' the non-empty HINT name
      will be set as the Display Name.
      The 'message-summary' is not supported yet.
      
      ASTERISK-29891 #close
      
      Change-Id: Ic5306bd5a7c73d03f5477fe235e9b0f41c69c681
      c12cb899
  10. Dec 15, 2021
  11. Dec 08, 2021
    • Alexander Traud's avatar
      progdocs: Update Makefile. · f3b29c6a
      Alexander Traud authored
      In developer mode, use internal documentation as well.
      This should produce no warnings. Fix yours!
      
      In noisy mode, output all possible warnings of Doxygen.
      This creates zillion of warnings. Double-check your current module!
      
      Any warnings are in the file './doxygen.log'. Beside that, this change
      avoids deprecated parameters because the configuration file for Doxygen
      contains only those parameters which differ from the default. This
      avoids the need to update the file on each run. Furthermore, it adds
      AST_VECTOR to be expanded. Finally, the default name for that file is
      Doxyfile. Therefore, let us use that!
      
      ASTERISK-26991
      ASTERISK-20259
      
      Change-Id: I4129092a199d5e24c319a09cd088614b121015af
      f3b29c6a
  12. Nov 16, 2021
    • Josh Soref's avatar
      contrib: Spelling fixes · 815e99d5
      Josh Soref authored
      Correct typos of the following word families:
      
      standard
      increase
      comments
      valgrind
      promiscuous
      editing
      libtonezone
      storage
      aggressive
      whitespace
      russellbryant
      consecutive
      peternixon
      
      ASTERISK-29714
      
      Change-Id: I9cafbf41b579c9c0c84c81719d2c4f900beec245
      815e99d5
  13. Oct 28, 2021
    • George Joseph's avatar
      ast_coredumper: Refactor to better find things · 8aea2e59
      George Joseph authored
      The search for a running asterisk when --running is used
      has been greatly simplified and in the event it doesn't
      work, you can now specify a pid to use on the command
      line with --pid.
      
      The search for asterisk modules when --tarball-coredumps
      is used has been enhanced to have a better chance of finding
      them and in the event it doesn't work, you can now specify
      --libdir on the command line to indicate the library directory
      where they were installed.
      
      The DATEFORMAT variable was renamed to DATEOPTS and is now
      passed to the 'date' utility rather than running DATEFORMAT
      as a command.
      
      The coredump and output files are now renamed with DATEOPTS.
      This can be disabled by specifying --no-rename.
      
      Several confusing and conflicting options were removed:
      --append-coredumps
      --conffile
      --no-default-search
      --tarball-uniqueid
      
      The script was re-structured to make it easier for follow.
      
      Change-Id: I674be64bdde3ef310b6a551d4911c3b600ffee59
      8aea2e59
  14. Oct 01, 2021
    • Matthew Kern's avatar
      res_pjsip_t38: bind UDPTL sessions like RTP · 5e9799a4
      Matthew Kern authored
      In res_pjsip_sdp_rtp, the bind_rtp_to_media_address option and the
      fallback use of the transport's bind address solve problems sending
      media on systems that cannot send ipv4 packets on ipv6 sockets, and
      certain other situations. This change extends both of these behaviors
      to UDPTL sessions as well in res_pjsip_t38, to fix fax-specific
      problems on these systems, introducing a new option
      endpoint/t38_bind_udptl_to_media_address.
      
      ASTERISK-29402
      
      Change-Id: I87220c0e9cdd2fe9d156846cb906debe08c63557
      5e9799a4
  15. Sep 24, 2021
    • Joseph Nadiv's avatar
      res_pjsip_registrar: Remove unavailable contacts if exceeds max_contacts · 47cb177b
      Joseph Nadiv authored
      The behavior of max_contacts and remove_existing are connected.  If
      remove_existing is enabled, the soonest expiring contacts are removed.
      This may occur when there is an unavailable contact.  Similarly,
      when remove_existing is not enabled, registrations from good
      endpoints are rejected in favor of retaining unavailable contacts.
      
      This commit adds a new AOR option remove_unavailable, and the effect
      of this setting will depend on remove_existing.  If remove_existing
      is set to no, we will still remove unavailable contacts when they
      exceed max_contacts, if there are any. If remove_existing is set to
      yes, we will prioritize the removal of unavailable contacts before
      those that are expiring soonest.
      
      ASTERISK-29525
      
      Change-Id: Ia2711b08f2b4d1177411b1be23e970d7fdff5784
      47cb177b
  16. Aug 17, 2021
  17. Jun 08, 2021
    • Naveen Albert's avatar
      sip_to_pjsip: Fix missing cases · c8bf8a54
      Naveen Albert authored
      Adds the "auto" case which is valid with
      both chan_sip dtmfmode and chan_pjsip's
      dtmf_mode, adds subscribecontext to
      subscribe_context conversion, and accounts
      for cipher = ALL being invalid.
      
      ASTERISK-29459
      
      Change-Id: Ie27d6606efad3591038000e5f3c34fa94730f6f2
      c8bf8a54
  18. Apr 28, 2021
  19. Apr 25, 2021
  20. Mar 30, 2021
  21. Mar 25, 2021
    • 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
  22. Jan 11, 2021
    • Jaco Kroon's avatar
      contrib/systemd: Added note on common issues with systemd and asterisk · 2d344177
      Jaco Kroon authored
      With newer version of linux /var/run/ is a symlink to /run/ that has
      been turned into tmpfs.
      
      Added note that if asterisk has to bind to a specific IP that
      systemd has to wait until the network is up.
      
      Added note on how to make sure that the environment variable
      HOSTNAME is included.
      
      ASTERISK-29216
      Reported by: Mark Petersen
      Tested by: Mark Petersen
      
      Change-Id: Ib3e560655befd3e99eec743687144f5569533379
      2d344177
  23. Nov 05, 2020
  24. Oct 28, 2020
    • Alexander Traud's avatar
      install_prereq: Add GMime 3.0. · f3452c85
      Alexander Traud authored
      Ubuntu 20.10 does not come with GMime 2.6. Ubuntu 16.04 LTS does not
      come with GMime 3.0. aptitude ignores any missing package. Therefore,
      it installs the correct package(s). However, in Ubuntu 18.04 LTS and
      Ubuntu 20.04 LTS, both versions are installed alongside although only
      one is really needed.
      
      Change-Id: Ic58aa9f2e131d94671f286f17dbd61e1ccbabcb7
      f3452c85
  25. Sep 16, 2020
  26. Sep 10, 2020
    • Sungtae Kim's avatar
      realtime: Increased reg_server character size · 9052e448
      Sungtae Kim authored
      Currently, the ps_contacts table's reg_server column in realtime database type is varchar(20).
      This is fine for normal cases, but if the hostname is longer than 20, it returns error and then
      failed to register the contact address of the peer.
      
      Normally, 20 characters limitation for the hostname is fine, but with the cloud env.
      So, increased the size to 255.
      
      ASTERISK-29056
      
      Change-Id: Iac52c8c35030303cfa551bb39f410b33bffc507d
      9052e448
  27. Aug 31, 2020
    • George Joseph's avatar
      ast_coredumper: Fix issues with naming · 5989e0de
      George Joseph authored
      If you run ast_coredumper --tarball-coredumps in the same directory
      as the actual coredump, tar can fail because the link to the
      actual coredump becomes recursive.  The resulting tarball will
      have everything _except_ the coredump (which is usually what
      you need)
      
      There's also an issue that the directory name in the tarball
      is the same as the coredump so if you extract the tarball the
      directory it creates will overwrite the coredump.
      
      So:
      
       * Made the link to the coredump use the absolute path to the
         file instead of a relative one.  This prevents the recursive
         link and allows tar to add the coredump.
      
       * The tarballed directory is now named <coredump>.output instead
         of just <coredump> so if you expand the tarball it won't
         overwrite the coredump.
      
      Change-Id: I8b3eeb26e09a577c702ff966924bb0a2f9a759ea
      5989e0de
  28. Aug 28, 2020
    • Alexander Traud's avatar
      sip_nat_settings: Update script for latest Linux. · f225e9bf
      Alexander Traud authored
      With the latest Linux, 'ifconfig' is not installed on default anymore.
      Furthermore, the output of the current net-tools 'ifconfig' changed.
      Therefore, parsing failed. This update uses 'ip addr show' instead.
      Finally, the service for the external IP changed.
      
      Change-Id: I9b1a7c3f457e3553b50a3e9a55524e40d70245a0
      f225e9bf
  29. Aug 06, 2020
    • George Joseph's avatar
      ACN: Configuration renaming for pjsip endpoint · a15e64aa
      George Joseph authored
      This change renames the codec preference endpoint options.
      incoming_offer_codec_prefs becomes codec_prefs_incoming_offer
      to keep the options together when showing an endpoint.
      
      Change-Id: I6202965b4723777f22a83afcbbafcdafb1d11c8d
      a15e64aa
  30. Jul 10, 2020
    • Ben Ford's avatar
      res_stir_shaken: Add stir_shaken option and general improvements. · 5fbed5af
      Ben Ford authored
      Added a new configuration option for PJSIP endpoints - stir_shaken. If
      set to yes, then STIR/SHAKEN support will be added to inbound and
      outbound INVITEs. The default is no. Alembic has been updated to include
      this option.
      
      Previously the dialplan function was not trimming the whitespace from
      the parameters it recieved. Now it does.
      
      Also added a conditional that, when TEST_FRAMEWORK is enabled, the
      timestamp in the identity header will be overlooked. This is just for
      testing, since the testsuite will rely on a SIPp scenario with a preset
      identity header to trigger the MISMATCH result.
      
      Change-Id: I43d67f1489b8c1c5729ed3ca8d71e35ddf438df1
      5fbed5af
  31. Jul 08, 2020
    • George Joseph's avatar
      ACN: res_pjsip endpoint options · 2d22e342
      George Joseph authored
      This commit adds the endpoint options required to control
      Advanced Codec Negotiation.
      
      incoming_offer_codec_prefs
      outgoing_offer_codec_prefs
      incoming_answer_codec_prefs
      outgoing_answer_codec_prefs
      
      The documentation may need tweaking and some additional edits
      added, especially for the "answer" prefs.  That'll be handled
      when things finalize.
      
      This commit is safe to merge as it doens't alter any existing
      functionality nor does it alter the previous codec negotiation
      work which may now be obsolete.
      
      Change-Id: I920ba925d7dd36430dfd2ebd9d82d23f123d0e11
      2d22e342
  32. Jul 07, 2020
    • sungtae kim's avatar
      res_pjsip.c: Added disable_rport option for pjsip.conf · 81b5e4a7
      sungtae kim authored
      Currently when the pjsip making an outgoing request, it keep adding the
      rport parameter in a request message as a default.
      
      This causes unexpected rport handle at the other end.
      
      Added option for disable this behaviour in the pjsip.conf.
      
      This is a system option, but working as a gloabl option.
      
      ASTERISK-28959
      
      Change-Id: I9596675e52a742774738b5aad5d1fec32f477abc
      81b5e4a7
  33. Apr 16, 2020
  34. Apr 13, 2020
    • Alexander Traud's avatar
      BuildSystem: Search for Python/C API when possibly needed only. · 610e0581
      Alexander Traud authored
      The Python/C API is used only if the Test Framework was enabled in Asterisk
      'make menuselect'. The Test Framework is available only if the Developer Mode
      was enabled in Asterisk './configure --enable-dev-mode'. And that Python/C API
      is used only if the PJProject was found and not disabled in Asterisk; the user
      did not go for './configure --without-pjproject'.
      
      Furthermore, because version 2 of that Python/C API is required (currently) and
      because some platforms do not offer a generic version 2, the script searches
      for 2.7 explicitly as well.
      
      To avoid version mismatch between the Python/C API and the Python environment,
      the script searches for the latter in the same versions, in the same the order
      as well. Because this Python/C API is just for (some) Asterisk contributors,
      the script also goes for the Python 3 environment as a last resort for all
      other Asterisk users. This allows 'make full' even on minimal installations of
      Ubuntu 18.04 LTS and newer.
      
      Because the Python/C API is Asterisk contributor specific, the Python packages
      are removed from the script './contrib/scripts/install_prereq' as this script
      is intended for Asterisk users. Asterisk contributors have to install much more
      packages in any case, like:
      sudo apt install autoconf automake git git-review python2.7-dev
      
      ASTERISK-28824
      ASTERISK-27717
      
      Change-Id: Id46d357e18869f64dcc217b8fdba821b63eeb876
      610e0581
  35. Mar 26, 2020
    • Kevin Harwell's avatar
      ast_coredumper: add Asterisk information dump · 26713dc8
      Kevin Harwell authored
      This patch makes it so ast_coredumper now outputs the following information to
      a *-info.txt file when processing a core file:
      
        asterisk version and "built by" string
        BUILD_OPTS
        system start, and last reloaded date/time
        taskprocessor list
        equivalent of "bridge show all"
        equivalent of "core show channels verbose"
      
      Also a slight modification was made when trying to obtain the pid(s) of a
      running Asterisk. If it fails to retrieve any it now reports an error.
      
      Change-Id: I54f35c19ab69b8f8dc78cc933c3fb7c99cef346b
      26713dc8
  36. Feb 19, 2020
  37. Feb 05, 2020
    • Sylvain Afchain's avatar
      install_prereq: Install aptitude non-interactively · 0c02d0a4
      Sylvain Afchain authored
      Currently aptitude is installed using interactive mode. This patch
      changes this to use the non-interactive mode as it can block
      automatic dependencies installation, ex: CI, Docker build.
      
      ASTERISK-28726 #close
      
      Change-Id: I271ee00d230513a6f044810351a32d83b2181133
      0c02d0a4
  38. Dec 18, 2019
  39. Dec 17, 2019
Loading