Skip to content
Snippets Groups Projects
  1. Mar 17, 2016
    • Leif Madsen's avatar
      Add initial support to build Docker images · 0da36fca
      Leif Madsen authored
      This work-in-progress is the first step to being able to reliably
      build Asterisk containers from the Asterisk source. I'm submitting
      this based on feedback gained at AstriDevCon 2015.
      
      Information about how to use this is provided in contrib/docker/README.md
      and will result in a local Asterisk container being built right from
      your source. I believe this can eventually be automated via
      hub.docker.com.
      
      Change-Id: Ifa070706d40e56755797097b6ed72c1e243bd0d1
      0da36fca
  2. Mar 05, 2016
    • George Joseph's avatar
      install_prereq: Add packages for bundled pjproject · 471ff375
      George Joseph authored
      RedHat/CentOS needs python-devel
      Debian/Ubuntu needs automake, libsrtp-dev and python-dev
      
      Ubuntu also needed libncurses5-dev for cmenuselect so while not
      needed for pjproject, I adedd it anyway.
      
      Change-Id: Idf5fa16e2d87c687439621507e122cb9461d7089
      471ff375
  3. Mar 02, 2016
    • George Joseph's avatar
      alembic: Fix downgrade and tweak for sqlite · b8b7c2e4
      George Joseph authored
      Downgrade had a few issues.  First there was an errant 'update' statement in
      add_auto_dtmf_mode that looks like it was a copy/paste error.  Second, we
      weren't cleaning up the ENUMs so subsequent upgrades on postgres failed
      because the types already existed.
      
      For sqlite...  sqlite doesn't support ALTER or DROP COLUMN directly.
      Fortunately alembic batch_operations takes care of this for us if we
      use it so the alter and drops were converted to use batch operations.
      
      Here's an example downgrade:
      
          with op.batch_alter_table('ps_endpoints') as batch_op:
              batch_op.drop_column('tos_audio')
              batch_op.drop_column('tos_video')
              batch_op.add_column(sa.Column('tos_audio', yesno_values))
              batch_op.add_column(sa.Column('tos_video', yesno_values))
              batch_op.drop_column('cos_audio')
              batch_op.drop_column('cos_video')
              batch_op.add_column(sa.Column('cos_audio', yesno_values))
              batch_op.add_column(sa.Column('cos_video', yesno_values))
      
          with op.batch_alter_table('ps_transports') as batch_op:
              batch_op.drop_column('tos')
              batch_op.add_column(sa.Column('tos', yesno_values))
          # Can't cast integers to YESNO_VALUES, so dropping and adding is required
              batch_op.drop_column('cos')
              batch_op.add_column(sa.Column('cos', yesno_values))
      
      Upgrades from base to head and downgrades from head to base were tested
      repeatedly for postgresql, mysql/mariadb, and sqlite3.
      
      Change-Id: I862b0739eb3fd45ec3412dcc13c2340e1b7baef8
      b8b7c2e4
  4. Feb 20, 2016
    • George Joseph's avatar
      res_pjsip/config_transport: Allow reloading transports. · ba8adb4c
      George Joseph authored
      The 'reload' mechanism actually involves closing the underlying
      socket and calling the appropriate udp, tcp or tls start functions
      again.  Only outbound_registration, pubsub and session needed work
      to reset the transport before sending requests to insure that the
      pjsip transport didn't get pulled out from under them.
      
      In my testing, no calls were dropped when a transport was changed
      for any of the 3 transport types even if ip addresses or ports were
      changed. To be on the safe side however, a new transport option was
      added (allow_reload) which defaults to 'no'.  Unless it's explicitly
      set to 'yes' for a transport, changes to that transport will be ignored
      on a reload of res_pjsip.  This should preserve the current behavior.
      
      Change-Id: I5e759850e25958117d4c02f62ceb7244d7ec9edf
      ba8adb4c
  5. Feb 04, 2016
  6. Feb 01, 2016
  7. Jan 19, 2016
  8. Jan 16, 2016
  9. Jan 13, 2016
    • Daniel Journo's avatar
      pjsip: Add option global/regcontext · 8182146e
      Daniel Journo authored
      Added new global option (regcontext) to pjsip. When set, Asterisk will
      dynamically create and destroy a NoOp priority 1 extension
      for a given endpoint who registers or unregisters with us.
      
      ASTERISK-25670 #close
      Reported-by: Daniel Journo
      
      Change-Id: Ib1530c5b45340625805c057f8ff1fb240a43ea62
      8182146e
    • Richard Mudgett's avatar
      res_pjsip_log_forwarder.c: Add CLI "pjsip show buildopts". · 1fffe71f
      Richard Mudgett authored
      PJPROJECT has a function available to dump the compile time
      options used when building the library.
      
      * Add CLI "pjsip show buildopts" command.
      
      * Update contrib/scripts/autosupport to get pjproject information.
      
      Change-Id: Id93a6a916d765b2a2e5a1aeb54caaf83206be748
      1fffe71f
  10. Jan 12, 2016
    • George Joseph's avatar
      pjsip_sdp_rtp: Add option endpoint/bind_rtp_to_media_address · a41aab47
      George Joseph authored
      On a system with multiple ip addresses in the same subnet, if a
      transport is bound to a specific ip address and endpoint/media_address
       is set, the SIP/SDP will have the correct address in all fields but
      the rtp stream MAY still originate from one of the other ip addresses,
      most probably the "primary" ip address.  This happens because
       res_pjsip_sdp_rtp/create_rtp always calls ast_instance_new with
      the "all" ip address (0.0.0.0 or ::).
      
      The new option causes res_pjsip_sdp_rtp/create_rtp to call
      ast_rtp_instance_new with the endpoint's media_address (if specified)
      instead of the "all" address.  This causes the packets to originate from
      the specified address.
      
      ASTERISK-25632
      ASTERISK-25637
      Reported-by: Olivier Krief
      Reported-by: Dan Journo
      
      Change-Id: I3dfaa079e54ba7fb7c4fd1f5f7bd9509bbf8bd88
      a41aab47
  11. Jan 08, 2016
    • Mark Michelson's avatar
      Alembic: Add PJSIP global keep_alive_interval. · c5e16fe3
      Mark Michelson authored
      The keep_alive_interval option was added about a year ago, but no
      alembic revision was created to add the appropriate column to the
      database.
      
      This commit fixes the problem and adds the column. This was discovered
      by running the testsuite with automatic conversion to realtime enabled.
      
      Change-Id: If3ef92a7c4f4844d08f8aae170d2178aec5c4c1a
      c5e16fe3
  12. Jan 06, 2016
    • Walter Doekes's avatar
      Add sipp-sendfax.xml and spandspflow2pcap.py to contrib/scripts. · 64b2046f
      Walter Doekes authored
      The spandspflow2pcap.py creates pcap files from fax.log files, generated
      through 'fax set debug on' when receiving a fax. An example fax.log is
      included as spandspflow2pcap.log.
      
      The sipp-sendfax.xml SIPp scenario can be used to replay that fax with a
      recent version of SIPp.
      
      ASTERISK-25660 #close
      
      Change-Id: I4de8f28b084055b482ab8a5b28d28b605b0ed526
      64b2046f
  13. Dec 16, 2015
    • Mark Michelson's avatar
      Alembic: Increase column size of PJSIP AOR "contact". · cfb34adb
      Mark Michelson authored
      When running the PJSIP AMI "show_endpoint" test with automatic
      conversion to realtime, the test would fail. This was because the AOR
      "contact" column was sized at 40, and the configured contact was larger
      than that.
      
      This commit increases the size of the contact column to 255 characters.
      
      Change-Id: Ia65bc7fd37699b7c0eaef9629a1a31eab9a24ba1
      cfb34adb
  14. Nov 05, 2015
    • Corey Farrell's avatar
      Increase account code maximum length to 80. · cd5ae028
      Corey Farrell authored
      This increases the maximum length of account code's to match
      extensions.  This ensures it is always possible to set an
      accountcode to ${EXTEN} without truncation.
      
      ASTERISK-23904
      Reported by: Ben Merrills
      
      Change-Id: If122602304ce03362722eb213a3111b32da5eeb9
      cd5ae028
  15. Oct 26, 2015
    • Rodrigo Ramírez Norambuena's avatar
      install_prereq: Update repositories before install on Debian systems · 88f3dbae
      Rodrigo Ramírez Norambuena authored
      When to install packages the indexed local is more old of the
      version of software on the repository they have been upgraded by security
      update then get the package will give 404 not found.
      
      The patch prevent by update local index to repository for aptitude before
      install.
      
      ASTERISK-25495 #close
      
      Reporte by: Rodrigo Ramírez Norambuena
      
      Change-Id: I645959e553aac542805ced394cac2dca964051fa
      88f3dbae
  16. Oct 23, 2015
    • Kevin Harwell's avatar
      res_pjsip_outbound_registration: registration stops due to fatal 4xx response · 691c0e0b
      Kevin Harwell authored
      During outbound registration it is possible to receive a fatal (any permanent/
      non-temporary 4xx, 5xx, 6xx) response from the registrar that is simply due
      to a problem with the registrar itself. Upon receiving the failure response
      Asterisk terminates outbound registration for the given endpoint.
      
      This patch adds an option, 'fatal_retry_interval', that when set continues
      outbound registration at the given interval up to 'max_retries' upon receiving
      a fatal response.
      
      ASTERISK-25485 #close
      
      Change-Id: Ibc2c7b47164ac89cc803433c0bbe7063bfa143a2
      691c0e0b
  17. Oct 20, 2015
    • Matt Jordan's avatar
      contrib/scripts/autosupport: Update for Asterisk 13 · b9bd249a
      Matt Jordan authored
      This patch adds some minor tweaks for autosupport to update it for Asterisk 13.
      This includes:
      * Finally removing most references to Zaptel
      * Adding support for some additional 'core' commands, and fixing nomenclature
        that generally hasn't been used for some time
      * Adding some PJSIP/SIP commands to gather endpoints/peers and active channels
      
      Change-Id: Ic997b418cbd9313588b6608e50f47b0ce6f4f1f1
      (cherry picked from commit 9fc9777f)
      b9bd249a
  18. Sep 25, 2015
  19. Sep 04, 2015
    • Mark Michelson's avatar
      res_pjsip: Change default from user value. · 993ae9a6
      Mark Michelson authored
      When Asterisk sends an outbound SIP request, if there is no direct
      reason to place a specific value for the username in the From header,
      Asterisk would generate a UUID. For example, this would happen when
      sending outbound OPTIONS requests when qualifying or when sending
      outbound INVITE requests when originating (if no explicit caller ID were
      provided). The issue is that some SIP providers reject these sorts of
      requests with a "Name too long" error response.
      
      This patch aims to fix this by changing the default outbound username in
      From headers to "asterisk". This value can be overridden by changing the
      default_from_user option in the global options if desired.
      
      ASTERISK-25377 #close
      Reported by Mark Michelson
      
      Change-Id: I6a4d34a56ff73ff4f661b0075aeba5461b7f3190
      993ae9a6
  20. Aug 19, 2015
    • Scott Griepentrog's avatar
      contrib: script install_prereq should install sqlite3 · 53e2a6a8
      Scott Griepentrog authored
      Asterisk needs the sqlite 3 library, which is package
      sqlite-devel in CentOS. By adding this package to the
      script, a problem with configure failing is resolved.
      
      ASTERISK-25331 #close
      Reported by: Kevin Harwell
      
      Change-Id: I90efaf6a01914fea03f21e5cdbd91c348f44b0ec
      53e2a6a8
  21. Jul 24, 2015
    • Joshua Colp's avatar
      pjsip: Add rtp_timeout and rtp_timeout_hold endpoint options. · 309dd2a4
      Joshua Colp authored
      This change adds support for the 'rtp_timeout' and 'rtp_timeout_hold'
      endpoint options. These allow the channel to be hung up if RTP
      is not received from the remote endpoint for a specified number of
      seconds.
      
      ASTERISK-25259 #close
      
      Change-Id: I3f39daaa7da2596b5022737b77799d16204175b9
      309dd2a4
  22. Jul 20, 2015
    • Mark Michelson's avatar
      res_pjsip: Add rtp_keepalive endpoint option. · 2b42264e
      Mark Michelson authored
      This adds an "rtp_keepalive" option for PJSIP endpoints. Similar to the
      chan_sip option, this specifies an interval, in seconds, at which we
      will send RTP comfort noise frames. This can be useful for keeping RTP
      sessions alive as well as keeping NAT associations alive during lulls.
      
      ASTERISK-25242 #close
      Reported by Mark Michelson
      
      Change-Id: I3b9903d99e35fe5d0b53ecc46df82c750776bc8d
      2b42264e
  23. Jun 15, 2015
    • Kevin Harwell's avatar
      res_pjsip: Add option to force G.726 to be treated as AAL2 packed. · 93ac45d3
      Kevin Harwell authored
      Some phones send g.726 audio packed for AAL2, which differs from what is
      recommended by RFC 3351. If Asterisk receives audio formatted as such when
      negotiating g.726 then it sounds a bit distorted. Added an option to
      res_pjsip_endpoint that allows g.726 negotiated audio to be treated as g.726
      AAL2 packed.
      
      ASTERISK-25158 #close
      Reported by: Steve Pitts
      
      Change-Id: Ie7e21f75493d7fe53e75e12c971e72f5afa33615
      93ac45d3
  24. Jun 04, 2015
    • Rodrigo Ramírez Norambuena's avatar
      install_prereq: Check if is installed aptitude otherwise to install. · 6737ded0
      Rodrigo Ramírez Norambuena authored
      If in Debian or system based, dont have aptitude installed the script do
      nothing. This patch checked if aptitude  installed, if not installed.
      
      Also, if execute script with all packages installed yet, the script not show
      nothing and return exit 1 because the command 'grep' get nothing from pipe from
      'awk'.
      
      ASTERISK-25113 #close
      Reported By: Rodrigo Ramírez Norambuena <decipher.hk@gmail.com>
      
      Change-Id: Iebdff55805d3917166e5e08e0a1e2176f36ff27f
      6737ded0
  25. May 14, 2015
    • Corey Farrell's avatar
      MALLOC_DEBUG: Replace WRAP_LIBC_MALLOC with ASTMM_LIBC. · 478fb4a3
      Corey Farrell authored
      There are 3 ways that calls directly to standard allocator functions can
      be dealt with:
      1. Block their use, cause them to generate an error.  This is the default.
      2. Replace them with the Asterisk equivalent function calls.
      3. Leave them alone.
      
      This change allows one of these 3 options to be selected by any source.
      The source just needs to define ASTMM_LIBC to ASTMM_BLOCK, ASTMM_REDIRECT,
      or ASTMM_IGNORE to use option 1, 2 or 3 respectively.  Normally ASTMM_BLOCK
      is the correct option, so it is default when ASTMM_LIBC is not defined.
      In some cases when building 3rd party code it is desirable to have it use
      Asterisk functions, without changing the whole source - ASTMM_REDIRECT
      accomplishes this.  When using 3rd party libraries sometimes a static
      inline function will make use of malloc or free.  In these cases it may
      be unsafe to replace the allocator in the header, as it's possible the
      memory could be freed by the library using standard allocators.  For
      those cases ASTMM_IGNORE is needed.
      
      Change-Id: I8afef4bc7f3b93914263ae27d3a5858b69663fc7
      478fb4a3
  26. May 08, 2015
    • George Joseph's avatar
      doc: Make progdocs play nice with git · cf637f25
      George Joseph authored
      Moved contrib/asterisk-ng-doxygen to doc/asterisk-ng-doxygen.in
      
      Changed /Makefile to copy asterisk-ng-doxygen.in to
      asterisk-ng-doxygen then modify it with version instead of
      modifying asterisk-ng-doxygen directly.  Updated clean
      targets as well.
      
      Updated /.gitignore and doc/.gitignore.
      
      Change-Id: I38712d3e334fa4baec19d30d05de8c6f28137622
      cf637f25
  27. May 07, 2015
  28. May 04, 2015
    • Matt Jordan's avatar
      contrib/ast-db-manage: Add Postgres ENUM type support in auto DTMF mode update · 75c0aa69
      Matt Jordan authored
      The upgrade script for auto DTMF mode (31cd4f4891ec) added in 88b0fa77
      failed to add ENUM support for Postgres databases. This requires a
      specific import from the sqlalchemy.dialects.postgresql package. This
      patch corrects this error, which allows for Postgres update scripts to
      be generated.
      
      ASTERISK-24706
      
      Change-Id: I4742ac8efa533cd6f18e0bdd907b339a9aedf015
      75c0aa69
  29. Apr 27, 2015
    • Corey Farrell's avatar
      Astobj2: Allow reference debugging to be enabled/disabled by config. · 5c1d07ba
      Corey Farrell authored
      * The REF_DEBUG compiler flag no longer has any effect on code that uses
        Astobj2.  It is used to determine if reference debugging is enabled by
        default.  Reference debugging can be enabled or disabled in asterisk.conf.
      * Caller information is provided in logger errors for ao2 bad magic numbers.
      * Optimizes AO2 by merging internal functions with the public counterpart.
        This was possible now that we no longer require a dual ABI.
      
      ASTERISK-24974 #close
      Reported by: Corey Farrell
      
      Change-Id: Icf3552721fe999365ba8a8cf00a965aa6b897cc1
      5c1d07ba
  30. Apr 24, 2015
  31. Apr 16, 2015
    • George Joseph's avatar
      res_pjsip: Add global option to limit the maximum time for initial qualifies · c6ed6816
      George Joseph authored
      
      Currently when Asterisk starts initial qualifies of contacts are spread out
      randomly between 0 and qualify_timeout to prevent network and system overload.
      If a contact's qualify_frequency is 5 minutes however, that contact may be
      unavailable to accept calls for the entire 5 minutes after startup.  So while
      staggering the initial qualifies is a good idea, basing the time on
      qualify_timeout could leave contacts unavailable for too long.
      
      This patch adds a new global parameter "max_initial_qualify_time" that sets the
      maximum time for the initial qualifies.  This way you could make sure that all
      your contacts are initialy, randomly qualified within say 30 seconds but still
      have the contact's ongoing qualifies at a 5 minute interval.
      
      If max_initial_qualify_time is > 0, the formula is initial_interval =
      min(max_initial_interval, qualify_timeout * random().  If not set,
      qualify_timeout is used.
      
      The default is "0" (disabled).
      
      ASTERISK-24863 #close
      
      Change-Id: Ib80498aa1ea9923277bef51d6a9015c9c79740f4
      Tested-by: default avatarGeorge Joseph <george.joseph@fairview5.com>
      c6ed6816
    • George Joseph's avatar
      pjsip_options: Add qualify_timeout processing and eventing · 51886c68
      George Joseph authored
      This is the second follow-on to https://reviewboard.asterisk.org/r/4572/ and the
      discussion at
      http://lists.digium.com/pipermail/asterisk-dev/2015-March/073921.html
      
      
      
      The basic issues are that changes in contact status don't cause events to be
      emitted for the associated endpoint.  Only dynamic contact add/delete actions
      update the endpoint.  Also, the qualify timeout is fixed by pjsip at 32 seconds
      which is a long time.
      
      This patch makes use of the new transaction timeout feature in r4585 and
      provides the following capabilities...
      
      1.  A new aor/contact variable 'qualify_timeout' has been added that allows the
      user to specify the maximum time in milliseconds to wait for a response to an
      OPTIONS message.  The default is 3000ms.  When the timer expires, the contact is
      marked unavailable.
      
      2.  Contact status changes are now propagated up to the endpoint as follows...
      When any contact is 'Available', the endpoint is marked as 'Reachable'.  When
      all contacts are 'Unavailable', the endpoint is marked as 'Unreachable'.  The
      existing endpoint events are generated appropriately.
      
      ASTERISK-24863 #close
      
      Change-Id: Id0ce0528e58014da1324856ea537e7765466044a
      Tested-by: Dmitriy Serov
      Tested-by: default avatarGeorge Joseph <george.joseph@fairview5.com>
      51886c68
  32. Apr 10, 2015
  33. Mar 27, 2015
  34. Mar 19, 2015
  35. Mar 17, 2015
  36. Mar 13, 2015
  37. Mar 09, 2015
  38. Feb 15, 2015
Loading