Skip to content
Snippets Groups Projects
  1. Jun 29, 2017
    • Torrey Searle's avatar
      res_pjsip: Add DTMF INFO Failback mode · fb7247c5
      Torrey Searle authored
      The existing auto dtmf mode reverts to inband if 4733 fails to be
      negotiated.  This patch adds a new mode auto_info which will
      switch to INFO instead of inband if 4733 is not available.
      
      ASTERISK-27066 #close
      
      Change-Id: Id185b11e84afd9191a2f269e8443019047765e91
      fb7247c5
  2. Jun 22, 2017
    • Alexei Gradinari's avatar
      app_voicemail: IMAP connection control · 0cef7b9d
      Alexei Gradinari authored
      A new global option "imap_poll_logout" was added to specify whether need to
      disconnect from the IMAP server after polling of mailboxes.
      
      ASTERISK-27068 #close
      
      Closing IMAP connection after loading mailbox from voicemail.conf
      
      ASTERISK-24052 #close
      
      Change-Id: Ib7558ba04516240a32b65f42e9be64372a0ae12a
      0cef7b9d
  3. Jun 16, 2017
    • Alexei Gradinari's avatar
      res_pjsip: New endpoint option "notify_early_inuse_ringing" · 7a46309d
      Alexei Gradinari authored
      This option was added to control whether to notify dialog-info state
      'early' or 'confirmed' on Ringing when already INUSE.
      The value "yes" is useful for some SIP phones (Cisco SPA)
      to be able to indicate and pick up ringing devices.
      
      ASTERISK-26919 #close
      
      Change-Id: Ie050bc30023543c7dfb4365c5be3ce58c738c711
      7a46309d
  4. Jun 07, 2017
    • Alexei Gradinari's avatar
      CHANGES: correct version for a new option 'refer_blind_progress' · 19da99df
      Alexei Gradinari authored
      Change-Id: If4817d26a8974610827624fb8a4e56d681d6bf97
      19da99df
    • Joshua Colp's avatar
      pjsip: Extend 'asymmetric_rtp_codec' option to include us changing. · d3e951ed
      Joshua Colp authored
      PJSIP support in Asterisk differs from chan_sip in that it
      allows media to be sent as-is without transcoding provided
      the codecs were negotiated in the SDP. This is allowed
      according to the RFC. Support for this differs quite a lot
      though and some endpoints do not handle it well.
      
      This change extends the 'asymmetric_rtp_codec' option to
      also cover this case. When set to no (the default) the code
      behaves as chan_sip does - the best codec is selected and
      we will only ever send that, unless we change what we are
      sending if the remote side changes. When set to yes we
      will send media as-is without transcoding if the codec
      has been negotiated in the SDP.
      
      ASTERISK-26996
      
      Change-Id: Ib1647f6902a0843e8c435946f831c2159e8d1d51
      d3e951ed
  5. Jun 06, 2017
    • Joshua Colp's avatar
      res_pjsip: Add support for returning only reachable contacts and use it. · 861984ea
      Joshua Colp authored
      This introduces the ability for PJSIP code to specify filtering flags
      when retrieving PJSIP contacts. The first flag for use causes the
      query code to only retrieve contacts that are not unreachable. This
      change has been leveraged by both the Dial() process and the
      PJSIP_DIAL_CONTACTS dialplan function so they will now only attempt
      calls to contacts which are not unreachable.
      
      ASTERISK-26281
      
      Change-Id: I8233b4faa21ba3db114f5a42e946e4b191446f6c
      861984ea
  6. May 23, 2017
    • Sean Bright's avatar
      res_agi: Allow configuration of audio format of EAGI pipe · d847fe65
      Sean Bright authored
      This change allows the format of the EAGI audio pipe to be changed by
      setting the dialplan variable 'EAGI_AUDIO_FORMAT' to the name of one of
      the loaded formats.
      
      ASTERISK-26124 #close
      
      Change-Id: I7a10fad401ad2a21c68c2e7246fa357d5cee5bbd
      d847fe65
  7. May 11, 2017
    • Alexei Gradinari's avatar
      res_pjsip: New endpoint option "refer_blind_progress" · 808f2998
      Alexei Gradinari authored
      This option was added to turn off notifying the progress details
      on Blind Transfer. If this option is not set then the chan_pjsip
      will send NOTIFY "200 OK" immediately after "202 Accepted".
      
      Some SIP phones like Mitel/Aastra or Snom keep the line busy until
      receive "200 OK".
      
      ASTERISK-26333 #close
      
      Change-Id: Id606fbff2e02e967c02138457badc399144720f2
      808f2998
  8. May 09, 2017
    • Joshua Colp's avatar
      res_hep_rtcp: Provide chan_sip Call-ID for RTCP messages. · 3c36c29c
      Joshua Colp authored
      This change adds the required logic to allow the SIP
      Call-ID to be placed into the HEP RTCP traffic if the
      chan_sip module is used. In cases where the option is
      enabled but the channel is not either SIP or PJSIP then
      the code will fallback to the channel name as done
      previously.
      
      Based on the change on Nir's branch at:
      team/nirs/hep-chan-sip-support
      
      ASTERISK-26427
      
      Change-Id: I09ffa5f6e2fdfd99ee999650ba4e0a7aad6dc40d
      3c36c29c
  9. May 08, 2017
    • George Joseph's avatar
      logger: Added logger_queue_limit to the configuration options. · 201346fb
      George Joseph authored
      All log messages go to a queue serviced by a single thread
      which does all the IO.  This setting controls how big that
      queue can get (and therefore how much memory is allocated)
      before new messages are discarded. The default is 1000.
      Should something go bezerk and log tons of messages in a tight
      loop, this will prevent memory escalation.
      
      When the limit is reached, a WARNING is logged to that effect
      and messages are discarded until the queue is empty again.  At
      that time another WARNING will be logged with the count of
      discarded messages.  There's no "low water mark" for this queue
      because the logger thread empties the entire queue and processes it
      in 1 batch before going back and waiting on the queue again.
      Implementing a low water mark would mean additional locking as
      the thread processes each message and it's not worth it.
      
      A "test" was added to test_logger.c but since the outcome is
      non-deterministic, it's really just a cli command, not a unit
      test.
      
      Change-Id: Ib4520c95e1ca5325dbf584c7989ce391649836d1
      201346fb
  10. Apr 11, 2017
    • Richard Mudgett's avatar
      res_rtp_asterisk.c: Add stun_blacklist option · 7312cbe8
      Richard Mudgett authored
      Added the stun_blacklist option to rtp.conf.  Some multihomed servers have
      IP interfaces that cannot reach the STUN server specified by stunaddr.
      Blacklist those interface subnets from trying to send a STUN packet to
      find the external IP address.  Attempting to send the STUN packet
      needlessly delays processing incoming and outgoing SIP INVITEs because we
      will wait for a response that can never come until we give up on the
      response.  Multiple subnets may be listed.
      
      ASTERISK-26890 #close
      
      Change-Id: I3ff4f729e787f00c3e6e670fe6435acce38be342
      7312cbe8
  11. Apr 05, 2017
    • Troy Bowman's avatar
      app_queue: Log reason for PAUSEALL/UNPAUSEALL · fac5115c
      Troy Bowman authored
      We needed the reason for our reporting when agents pause/unpause all of
      their queues at once.  This is a small, simple patch that adds a reason
      for PAUSEALL and UNPAUSEALL.  I have been using it in production for years.
      
      ASTERISK-26920 #close
      
      Change-Id: Ifb3f0d1a0abd5194253d9794023546e1395baf3d
      fac5115c
  12. Mar 28, 2017
    • George Joseph's avatar
      res_pjsip_config_wizard: Add 2 new parameters to help with proxy config · 2fe52174
      George Joseph authored
      Two new parameters have been added to the pjsip config wizard.
      
       * Setting 'sends_line_with_registrations' to true will cause the wizard
         to skip the creation of an identify object to match incoming request
         to the endpoint and instead add the line and endpoint parameters to
         the outbound registration object.
      
       * Setting 'outbound_proxy' is a shortcut for adding individual
         endpoint/outbound_proxy, aor/outbound_proxy and
         registration/outbound_proxy parameters.
      
      Change-Id: I678e5f80765734c056620528a6d40d82736ceeb0
      (cherry picked from commit a827892f)
      (cherry picked from commit 27344675)
      2fe52174
  13. Mar 22, 2017
    • Kevin Harwell's avatar
      rtp_engine: allocate RTP dynamic payloads per session · 9b103e7b
      Kevin Harwell authored
      Dynamic payload types were statically defined in Asterisk. This unfortunately
      limited the number of dynamic payloads that could be registered. With this patch
      dynamic payload type numbers are now assigned dynamically and per RTP instance.
      However, in order to limit any issues where some clients expect the old
      statically defined value this patch makes it so the value Asterisk used to pre-
      designate is used for the dynamic assignment if available.
      
      An option, "rtp_use_dynamic", has also been added (can be set in asterisk.conf)
      that turns the new dynamic behavior on or off. When off it reverts back to using
      statically defined payload values. This option defaults to "yes" in Asterisk 15.
      
      ASTERISK-26515 #close
      patches:
        ASTERISK-26515.diff submitted by jcolp (license 5000
      
      Change-Id: I7653465c5ebeaf968f1a1cc8f3f4f5c4321da7fc
      9b103e7b
    • Richard Begg's avatar
      res_pjsip_session: Enable RFC3578 overlap dialing support. · 6b7697ed
      Richard Begg authored
      Support for RFC3578 overlap dialling (i.e. 484 Response to partially matched
      destinations) as currently provided by chan_sip is missing from res_pjsip.
      This patch adds a new endpoint attribute (allow_overlap) [defaults to yes]
      which when set to yes enables 484 responses to partial destination
      matches rather than the current 404.
      
      ASTERISK-26864
      
      Change-Id: Iea444da3ee7c7d4f1fde1d01d138a3d7b0fe40f6
      6b7697ed
  14. Mar 17, 2017
    • Richard Mudgett's avatar
      CHANNEL(callid): Give dialplan access to the callid. · 8cb4f9ce
      Richard Mudgett authored
      * Added CHANNEL(callid) to retrieve the call identifier log tag associated
      with the channel.  Dialplan now has access to the call log search key
      associated with the channel so it can be saved in case there is a problem
      with the call.
      
      ASTERISK-26878
      
      Change-Id: I2c97ebd928b6f3c5bc80c5729e4d3c07f453049f
      8cb4f9ce
  15. Mar 16, 2017
    • George Joseph's avatar
      res_pjsip: Symmetric transports · 5013d8f5
      George Joseph authored
      A new transport parameter 'symmetric_transport' has been added.
      
      When a request from a dynamic contact comes in on a transport with
      this option set to 'yes', the transport name will be saved and used
      for subsequent outgoing requests like OPTIONS, NOTIFY and INVITE.
      It's saved as a contact uri parameter named 'x-ast-txp' and will
      display with the contact uri in CLI, AMI, and ARI output.  On the
      outgoing request, if a transport wasn't explicitly set on the
      endpoint AND the request URI is not a hostname, the saved transport
      will be used and the 'x-ast-txp' parameter stripped from the
      outgoing packet.
      
      * config_transport was modified to accept and store the new parameter.
      
      * config_transport/transport_apply was updated to store the transport
        name in the pjsip_transport->info field using the pjsip_transport->pool
        on UDP transports.
      
      * A 'multihomed_on_rx_message' function was added to
        pjsip_message_ip_updater that, for incoming requests, retrieves the
        transport name from pjsip_transport->info and retrieves the transport.
        If transport->symmetric_transport is set, an 'x-ast-txp' uri parameter
        containing the transport name is added to the incoming Contact header.
      
      * An 'ast_sip_get_transport_name' function was added to res_pjsip.
        It takes an ast_sip_endpoint and a pjsip_sip_uri and returns a
        transport name if endpoint->transport is set or if there's an
        'x-ast-txp' parameter on the uri and the uri host is an ipv4 or
        ipv6 address.  Otherwise it returns NULL.
      
      * An 'ast_sip_dlg_set_transport' function was added to res_pjsip
        which takes an ast_sip_endpoint, a pjsip_dialog, and an optional
        pjsip_tpselector.  It calls ast_sip_get_transport_name() and if
        a non-NULL is returned, sets the selector and sets the transport
        on the dialog.  If a selector was passed in, it's updated.
      
      * res_pjsip/ast_sip_create_dialog_uac and ast_sip_create_dialog_uas
        were modified to call ast_sip_dlg_set_transport() instead of their
        original logic.
      
      * res_pjsip/create_out_of_dialog_request was modified to call
        ast_sip_get_transport_name() and pjsip_tx_data_set_transport()
        instead of its original logic.
      
      * Existing transport logic was removed from endpt_send_request
        since that can only be called after a create_out_of_dialog_request.
      
      * res_pjsip/ast_sip_create_rdata was converted to a wrapper around
        a new 'ast_sip_create_rdata_with_contact' function which allows
        a contact_uri to be specified in addition to the existing
        parameters.  (See below)
      
      * res_pjsip_pubsub/internal_pjsip_evsub_send_request was eliminated
        since all it did was transport selection and that is now done in
        ast_sip_create_dialog_uac and ast_sip_create_dialog_uas.
      
      * 'contact_uri' was added to subscription_persistence.  This was
        necessary because although the parsed rdata contact header has the
        x-ast-txp parameter added (if appropriate),
        subscription_persistence_update stores the raw packet which
        doesn't have it.  subscription_persistence_recreate was then
        updated to call ast_sip_create_rdata_with_contact with the
        persisted contact_uri so the recreated subscription has the
        correct transport info to send the NOTIFYs.
      
      * res_pjsip_session/internal_pjsip_inv_send_msg was eliminated since
        all it did was transport selection and that is now done in
        ast_sip_create_dialog_uac.
      
      * pjsip_message_ip_updater/multihomed_on_tx_message was updated
        to remove all traces of the x-ast-txp parameter from the
        outgoing headers.
      
      NOTE:  This change does NOT modify the behavior of permanent
      contacts specified on an aor.  To do so would require that the
      permanent contact's contact uri be updated with the x-ast-txp
      parameter and the aor sorcery object updated.  If we need to
      persue this, we need to think about cloning permanent contacts into
      the same store as the dynamic ones on an aor load so they can be
      updated without disturbing the originally configured value.
      
      You CAN add the x-ast-txp parameter to a permanent contact's uri
      but it would be much simpler to just set endpoint->transport.
      
      Change-Id: I4ee1f51473da32ca54b877cd158523efcef9655f
      5013d8f5
  16. Mar 15, 2017
    • Mark Michelson's avatar
      Add rtcp-mux support · 10fa49e3
      Mark Michelson authored
      This commit adds support for RFC 5761: Multiplexing RTP Data and Control
      Packets on a Single Port. Specifically, it enables the feature when
      using chan_pjsip.
      
      A new option, "rtcp_mux" has been added to endpoint configuration in
      pjsip.conf. If set, then Asterisk will attempt to use rtcp-mux with
      whatever it communicates with. Asterisk follows the rules set forth in
      RFC 5761 with regards to falling back to standard RTCP behavior if the
      far end does not indicate support for rtcp-mux.
      
      The lion's share of the changes in this commit are in
      res_rtp_asterisk.c. This is because it was pretty much hard wired to
      have an RTP and an RTCP transport. The strategy used here is that when
      rtcp-mux is enabled, the current RTCP transport and its trappings (such
      as DTLS SSL session) are freed, and the RTCP session instead just
      mooches off the RTP session. This leads to a lot of specialized if
      statements throughout.
      
      ASTERISK-26732 #close
      Reported by Dan Jenkins
      
      Change-Id: If46a93ba1282418d2803e3fd7869374da8b77ab5
      10fa49e3
    • Matt Jordan's avatar
      res_pjsip_endpoint_identifier_ip: Add an option to match requests by header · 1475604e
      Matt Jordan authored
      This patch adds a new features to the endpoint identifier module,
      'match_header'. When set, inbound requests are matched by a provided SIP
      header: value pair. This option works in conjunction with the existing
      'match' configuration option, such that if any 'match*' attribute
      matches an inbound request, the request is associated with the specified
      endpoint.
      
      Since this module now identifies by more than just IP address,
      appropriate renaming of the module and/or variables can be done in a
      non-release branch.
      
      ASTERISK-26863 #close
      
      Change-Id: Icfc14835c962f92e35e67bbdb235cf0589de5453
      (cherry picked from commit 30f52d79)
      1475604e
  17. Mar 08, 2017
  18. Mar 01, 2017
    • Jørgen H's avatar
      res_pjsip WebRTC/websockets: Fix usage of WS vs WSS. · 7922f26c
      Jørgen H authored
      According to the RFC[1] WSS should only be used in the Via header
      for secure Websockets.
      
      * Use WSS in Via for secure transport.
      
      * Only register one transport with the WS name because it would be
      ambiguous.  Outgoing requests may try to find the transport by name and
      pjproject only finds the first one registered.  This may mess up unsecure
      websockets but the impact should be minimal.  Firefox and Chrome do not
      support anything other than secure websockets anymore.
      
      * Added and updated some debug messages concerning websockets.
      
      * security_events.c: Relax case restriction when determining security
      transport type.
      
      * The res_pjsip_nat module has been updated to not touch the transport
      on Websocket originating messages.
      
      [1] https://tools.ietf.org/html/rfc7118
      
      ASTERISK-26796 #close
      
      Change-Id: Ie3a0fb1a41101a4c1e49d875a8aa87b189e7ab12
      7922f26c
  19. Feb 27, 2017
    • George Joseph's avatar
      res_pjsip_outbound_registration: Subscribe to network change events · 22242fef
      George Joseph authored
      Outbound registration now subscribes to network change events
      published by res_stun_monitor and refreshes all registrations
      when an event happens.
      
      The 'pjsip send (un)register' CLI commands were updated to accept
      '*all' as an argument to operate on all registrations.
      
      The 'PJSIP(Un)Register' AMI commands were also updated to
      accept '*all'.
      
      ASTERISK-26808 #close
      
      Change-Id: Iad58a9e0aa5d340477fca200bf293187a6ca5a25
      22242fef
  20. Feb 14, 2017
    • Sean Bright's avatar
      app_voicemail: Allow 'Comedian Mail' branding to be overriden · 275f469a
      Sean Bright authored
      Original patch by John Covert, slight modifications by me.
      
      ASTERISK-17428 #close
      Reported by: John Covert
      Patches:
      	app_voicemail.c.patch (license #5512) patch uploaded by
              John Covert
      
      Change-Id: Ic3361b0782e5a5397a19ab18eb8550923a9bd6a6
      275f469a
    • Sean Bright's avatar
      app_record: Add option to prevent silence from being truncated · 662c9e69
      Sean Bright authored
      When using Record() with the silence detection feature, the stream is
      written out to the given file. However, if only 'silence' is detected,
      this file is then truncated to the first second of the recording.
      
      This patch adds the 'u' option to Record() to override that behavior.
      
      ASTERISK-18286 #close
      Reported by: var
      Patches:
      	app_record-1.8.7.1.diff (license #6184) patch uploaded by var
      
      Change-Id: Ia1cd163483235efe2db05e52f39054288553b957
      662c9e69
  21. Jan 23, 2017
    • George Joseph's avatar
      ari: Implement 'debug all' and request/response logging · 66916067
      George Joseph authored
      The 'ari set debug' command has been enhanced to accept 'all' as an
      application name.  This allows dumping of all apps even if an app
      hasn't registered yet.  To accomplish this, a new global_debug global
      variable was added to res/stasis/app.c and new APIs were added to
      set and query the value.
      
      'ari set debug' now displays requests and responses as well as events.
      This required refactoring the existing debug code.
      
      * The implementation for 'ari set debug' was moved from stasis/cli.{c,h}
        to ari/cli.{c,h}, and stasis/cli.{c,h} were deleted.
      * In order to print the body of incoming requests even if a request
        failed, the consumption of the body was moved from the ari stubs
        to ast_ari_callback in res_ari.c and the moustache templates were
        then regenerated.  The body is now passed to ast_ari_invoke and then
        on to the handlers.  This results in code savings since that template
        was inserted multiple times into all the stubs.
      
      An additional change was made to the ao2_str_container implementation
      to add partial key searching and a sort function.  The existing cli
      code assumed it was already there when it wasn't so the tab completion
      was never working.
      
      Change-Id: Ief936f747ce47f1fb14035fbe61152cf766406bf
      (cherry picked from commit 1d890874)
      66916067
  22. Jan 17, 2017
  23. Jan 06, 2017
    • Joshua Colp's avatar
      res_pjsip_endpoint_identifier_ip: Add support for SRV lookups. · a7d856cd
      Joshua Colp authored
      This change implements SRV support for the IP based endpoint
      identifier module. All possible addresses through SRV are looked
      up and added as matches. If no SRV records are available a
      fallback to normal host resolution is done. If an IP address
      is provided then no SRV lookup occurs.
      
      This is configured using the "srv_lookups" option on the
      identify section and defaults to "yes".
      
      ASTERISK-26693
      
      Change-Id: I6b641e275bf96629320efa8b479737062aed82ac
      a7d856cd
  24. Jan 04, 2017
    • Jonathan R. Rose's avatar
      core/pbx: dialplan show - display filename/line# · d96e3502
      Jonathan R. Rose authored
      Adds the ability for extensions to be registered to include filename and
      line number so that dialplan show output can show the filename and line
      number of a config file responsible for generating a given extension.
      
      This only affects config modules that are written to use the new extension
      registering functions. In this patch, that only includes pbx_config, so
      extensions registered in extensions.conf and any included extension will
      be shown in this manner. Extensions registered in this manner will show
      the filename and line number *instead* of the registrar.
      
      ASTERISK-26658 #close
      Reported by: Jonathan R. Rose
      
      Change-Id: Ieccc6abccdff34ed5c7da3511fd24972b8f2dd30
      d96e3502
  25. Dec 08, 2016
    • George Joseph's avatar
      res_pjsip_registrar: AMI Add RegistrationInboundContactStatuses command · 79b09b5f
      George Joseph authored
      The PJSIPShowRegistrationsInbound AMI command was just dumping out
      all AORs which was pretty useless and resource heavy since it had
      to get all endpoints, then all aors for each endpoint, then all
      contacts for each aor.
      
      PJSIPShowRegistrationInboundContactStatuses sends ContactStatusDetail
      events which meets the intended purpose of the other command and has
      significantly less overhead.  Also, some additional fields that were
      added to Contact since the original creation of the ContactStatusDetail
      event have been added to the end of the event.
      
      For compatibility purposes, PJSIPShowRegistrationsInbound is left
      intact.
      
      ASTERISK-26644 #close
      
      Change-Id: I326f12c9ecb52bf37ba03f0748749de4da01490a
      79b09b5f
  26. Dec 02, 2016
    • Richard Mudgett's avatar
      res_pjsip_outbound_registration.c: Filter redundant statsd reporting. · 4b3d3fc7
      Richard Mudgett authored
      Increasing the testsuite shutdown timeout before forcibly killing
      Asterisk allowed more events to be sent out.  Some tests failed as
      a result.  The tests/channels/pjsip/statsd/registrations failed
      because we now get the statsd events that a comment in the test
      configuration stated couldn't be intercepted.  Unfortunately, we
      get a variable number of events because of internal status state
      transition races generating redundant statsd events.
      
      We were reporting redundant statsd PJSIP.registrations.state changes
      for internal state changes that equated to the same thing publicly.
      
      * Made update_client_state_status() filter out redundant statsd
      updates.
      
      ASTERISK-26527
      
      Change-Id: If851c7d514bb530d9226e4941ba97dcf52000646
      4b3d3fc7
  27. Nov 30, 2016
    • Richard Mudgett's avatar
      PJPROJECT logging: Made easier to get available logging levels. · 1dfa11b6
      Richard Mudgett authored
      Use of the new logging is as simple as issuing the new CLI command or
      setting the new pjproject.conf option.
      
      Other options that can affect the logging are how you have the pjproject
      log levels mapped to Asterisk log types in pjproject.conf and if you have
      configured Asterisk to log the DEBUG type messages.  Altering the
      pjproject.conf level mapping shouldn't be necessary for most installations
      as the default mapping is sensible.  Configuring Asterisk to log the DEBUG
      message type is standard practice for collecting debug information.
      
      * Added CLI "pjproject set log level" command to dynamically adjust the
      maximum pjproject log message level.
      
      * Added CLI "pjproject show log level" command to see the currently set
      maximum pjproject log message level.
      
      * Added pjproject.conf startup section "log_level" option to set the
      initial maximum pjproject log message level so all messages could be
      captured from initialization.
      
      * Set PJ_LOG_MAX_LEVEL to 6 to compile in all defined logging levels into
      bundled pjproject.  Pjproject will use the currently set run time log
      level to determine if a log message is generated just like Asterisk
      verbose and debug logging levels.
      
      * In log_forwarder(), made always log enabled and mapped pjproject log
      messages.  DEBUG mapped log messages are no longer gated by the current
      Asterisk debug logging level.
      
      * Removed RAII_VAR() from res_pjproject.c:get_log_level().
      
      ASTERISK-26630 #close
      
      Change-Id: I6dca12979f482ffb0450aaf58db0fe0f6d2e5389
      1dfa11b6
    • David Kerr's avatar
      app_originate: Add option to execute gosub prior to dial · ddc95106
      David Kerr authored
      Issue/patch ASTERISK-26587 was inspired by issue ASTERISK-22992
      that requested ability to add callerid into app_originate.
      Comments in that issue suggested that it was better solved by
      adding an option to gosub prior to originating the call.  The
      attached patch implements this much like app_dial with two
      options one to gosub on the originating channel and one to gosub
      on the newly created channel and behaves just like app_dial.
      I have tested this patch by adding callerid info to the new
      channel and also SIPAddHeader (to e.g. add header to force auto
      answer) and confirmed it works.  Have also tested both 'exten'
      and 'app' versions of app_originate.
      
      Opened by: dkerr
      Patch by: dkerr
      
      Change-Id: I36abc39b58567ffcab4a636ea196ef48be234c57
      ddc95106
  28. Nov 18, 2016
  29. Nov 14, 2016
    • Matt Jordan's avatar
      res/ari/resource_bridges: Add the ability to manipulate the video source · a72ef381
      Matt Jordan authored
      In multi-party bridges, Asterisk currently supports two video modes:
       * Follow the talker, in which the speaker with the most energy is shown
         to all participants but the speaker, and the speaker sees the
         previous video source
       * Explicitly set video sources, in which all participants see a locked
         video source
      
      Prior to this patch, ARI had no ability to manipulate the video source.
      This isn't important for two-party bridges, in which Asterisk merely
      relays the video between the participants. However, in a multi-party
      bridge, it can be advantageous to allow an external application to
      manipulate the video source.
      
      This patch provides two new routes to accomplish this:
      (1) setVideoSource: POST /bridges/{bridgeId}/videoSource/{channelId}
          Sets a video source to an explicit channel
      (2) clearVideoSource: DELETE /bridges/{bridgeId}/videoSource
          Removes any explicit video source, and sets the video mode to talk
          detection
      
      ASTERISK-26595 #close
      
      Change-Id: I98e455d5bffc08ea5e8d6b84ccaf063c714e6621
      a72ef381
    • Sebastien Duthil's avatar
      res_ari: Add support for channel variables in ARI events. · c6d755de
      Sebastien Duthil authored
      This works the same as for AMI manager variables. Set
      "channelvars=foo,bar" in your ari.conf general section, and then the
      channel variables "foo" and "bar" (along with their values), will
      appear in every Stasis websocket channel event.
      
      ASTERISK-26492 #close
      patches:
        ari_vars.diff submitted by Mark Michelson
      
      Change-Id: I5609ba239259577c0948645df776d7f3bc864229
      c6d755de
    • Tzafrir Cohen's avatar
      Add support for building RADIUS with radcli · 97a75e38
      Tzafrir Cohen authored
      Radcli is yet another RADIUS client library, generally compatible with
      freeradius and radiusclient-ng.
      
      This commit adds autoconf option for detecting it as well and changes
      cdr_radius and cel_radius to use its header file in that case.
      
      ASTERISK-26540 #close
      
      Change-Id: I271f0715406334874865ffbce0b354b3a2ca148f
      97a75e38
  30. Nov 10, 2016
  31. Nov 02, 2016
    • Alexander Traud's avatar
      rtp_engine: Allow more than 32 dynamic payload types. · 9ac53877
      Alexander Traud authored
      Since adding all remaining rates of Signed Linear (ASTERISK-24274), SILK
      (Gerrit 3136) and Codec 2 (ASTERISK-26217), no RTP Payload Type is left in the
      dynamic range (96-127). RFC 3551 section 3 allows to reassign other ranges.
      Consequently, when the dynamic range is exhausted, this change utilizes payload
      types in the range between 35 and 63 giving room for another 29 payload types.
      
      ASTERISK-26311 #close
      
      Change-Id: I7bc96ab764bc30098a178b841cbf7146f9d64964
      9ac53877
  32. Nov 01, 2016
    • Matt Jordan's avatar
      res/stasis: Add CLI commands for displaying/debugging ARI apps · c30d6773
      Matt Jordan authored
      This patch adds three new CLI commands:
       - ari show apps: list the registered ARI applications
       - ari show app: show detailed information about an ARI application
       - ari set debug: dump events being sent to an ARI application
      
      Note that while these CLI commands live in the res_stasis module, we use
      the 'ari' family for these commands. This was done as most users of
      Asterisk aren't aware of the semantic differences between ARI and
      res_stasis, and some 'ari' CLI commands already exist.
      
      ASTERISK-26488 #close
      
      Change-Id: I51ad6ff0cabee0d69db06858c13f18b1c513c9f5
      c30d6773
Loading