Skip to content
Snippets Groups Projects
  1. Apr 18, 2024
  2. Nov 09, 2023
  3. Oct 03, 2023
  4. Sep 08, 2023
  5. Aug 22, 2023
  6. May 08, 2023
    • Naveen Albert's avatar
      chan_dahdi: Add dialmode option for FXS lines. · e6b84eca
      Naveen Albert authored
      Currently, both pulse and tone dialing are always enabled
      on all FXS lines, with no way of disabling one or the other.
      
      In some circumstances, it is desirable or necessary to
      disable one of these, and this behavior can be problematic.
      
      A new "dialmode" option is added which allows setting the
      methods to support on a per channel basis for FXS (FXO
      signalled lines). The four options are "both", "pulse",
      "dtmf"/"tone", and "none".
      
      Additionally, integration with the CHANNEL function is
      added so that this setting can be updated for a channel
      during a call.
      
      Resolves: #35
      ASTERISK-29992
      
      UserNote: A "dialmode" option has been added which allows
      specifying, on a per-channel basis, what methods of
      subscriber dialing (pulse and/or tone) are permitted.
      
      Additionally, this can be changed on a channel
      at any point during a call using the CHANNEL
      function.
      
      (cherry picked from commit 82d7bb49ddc15cff5ea2e50f5ee6934102fe13d1)
      e6b84eca
  7. Apr 18, 2023
  8. Mar 30, 2023
  9. Feb 28, 2023
    • Naveen Albert's avatar
      chan_iax2: Fix jitterbuffer regression prior to receiving audio. · ede67a99
      Naveen Albert authored
      ASTERISK_29392 (a security fix) introduced a regression by
      not processing frames when we don't have an audio format.
      
      Currently, chan_iax2 only calls jb_get to read frames from
      the jitterbuffer when the voiceformat has been set on the pvt.
      However, this only happens when we receive a voice frame, which
      means that prior to receiving voice frames, other types of frames
      get stalled completely in the jitterbuffer.
      
      To fix this, we now fallback to using the format negotiated during
      call setup until we've actually received a voice frame with a format.
      This ensures we're always able to read from the jitterbuffer.
      
      ASTERISK-30354 #close
      ASTERISK-30162 #close
      
      Change-Id: Ie4fd1e8e088a145ad89e0427c2100a530e964fe9
      ede67a99
  10. Feb 17, 2023
  11. Feb 08, 2023
  12. Feb 02, 2023
  13. Jan 27, 2023
  14. Jan 23, 2023
  15. Jan 13, 2023
  16. Jan 12, 2023
  17. Jan 10, 2023
  18. Jan 09, 2023
    • George Joseph's avatar
      res_rtp_asterisk: Asterisk Media Experience Score (MES) · 4710f37e
      George Joseph authored
      -----------------
      
      This commit reinstates MES with some casting fixes to the
      functions in time.h that convert between doubles and timeval
      structures.  The casting issues were causing incorrect
      timestamps to be calculated which caused transcoding from/to
      G722 to produce bad or no audio.
      
      ASTERISK-30391
      
      -----------------
      
      This module has been updated to provide additional
      quality statistics in the form of an Asterisk
      Media Experience Score.  The score is avilable using
      the same mechanisms you'd use to retrieve jitter, loss,
      and rtt statistics.  For more information about the
      score and how to retrieve it, see
      https://wiki.asterisk.org/wiki/display/AST/Media+Experience+Score
      
      * Updated chan_pjsip to set quality channel variables when a
        call ends.
      * Updated channels/pjsip/dialplan_functions.c to add the ability
        to retrieve the MES along with the existing rtcp stats when
        using the CHANNEL dialplan function.
      * Added the ast_debug_rtp_is_allowed and ast_debug_rtcp_is_allowed
        checks for debugging purposes.
      * Added several function to time.h for manipulating time-in-samples
        and times represented as double seconds.
      * Updated rtp_engine.c to pass through the MES when stats are
        requested.  Also debug output that dumps the stats when an
        rtp instance is destroyed.
      * Updated res_rtp_asterisk.c to implement the calculation of the
        MES.  In the process, also had to update the calculation of
        jitter.  Many debugging statements were also changed to be
        more informative.
      * Added a unit test for internal testing.  The test should not be
        run during normal operation and is disabled by default.
      
      Change-Id: I4fce265965e68c3fdfeca55e614371ee69c65038
      4710f37e
    • George Joseph's avatar
      Revert "res_rtp_asterisk: Asterisk Media Experience Score (MES)" · 62ca063f
      George Joseph authored
      This reverts commit d454801c.
      
      Reason for revert: Issue when transcoding to/from g722
      
      Change-Id: I09f49e171b1661548657a9ba7a978c29d0b5be86
      62ca063f
  19. Jan 03, 2023
    • George Joseph's avatar
      res_rtp_asterisk: Asterisk Media Experience Score (MES) · d454801c
      George Joseph authored
      This module has been updated to provide additional
      quality statistics in the form of an Asterisk
      Media Experience Score.  The score is avilable using
      the same mechanisms you'd use to retrieve jitter, loss,
      and rtt statistics.  For more information about the
      score and how to retrieve it, see
      https://wiki.asterisk.org/wiki/display/AST/Media+Experience+Score
      
      * Updated chan_pjsip to set quality channel variables when a
        call ends.
      * Updated channels/pjsip/dialplan_functions.c to add the ability
        to retrieve the MES along with the existing rtcp stats when
        using the CHANNEL dialplan function.
      * Added the ast_debug_rtp_is_allowed and ast_debug_rtcp_is_allowed
        checks for debugging purposes.
      * Added several function to time.h for manipulating time-in-samples
        and times represented as double seconds.
      * Updated rtp_engine.c to pass through the MES when stats are
        requested.  Also debug output that dumps the stats when an
        rtp instance is destroyed.
      * Updated res_rtp_asterisk.c to implement the calculation of the
        MES.  In the process, also had to update the calculation of
        jitter.  Many debugging statements were also changed to be
        more informative.
      * Added a unit test for internal testing.  The test should not be
        run during normal operation and is disabled by default.
      
      ASTERISK-30280
      
      Change-Id: I458cb9a311e8e5dc1db769b8babbcf2e093f107a
      d454801c
  20. Dec 15, 2022
    • Hemlata's avatar
      Play stutter dial tone if MWI is enabled · 83e7537f
      Hemlata authored and Yalu Zhang's avatar Yalu Zhang committed
      Before this commit, a normal dial tone is played if mwi_dialtone_state in "pjsip show endpoint" is
      not "off", "congestion" or "special".
      After this commit, in the above condition, a stutter dial tone is played if mwi_enable is 1, otherwise
      a normal dial tone is played.
      83e7537f
  21. Dec 13, 2022
  22. Dec 12, 2022
    • Grzegorz Sluja's avatar
      Respond to requests only from the configured SIP proxy · 40ef42ff
      Grzegorz Sluja authored and Yalu Zhang's avatar Yalu Zhang committed
      An incoming SIP request will be silently dropped if the following conditions are all met:
      - The request is about to create a new session
      - The source IP address of the request is not the address of the configured proxy
      
      Note
      - The source port of the request is not checked since we have not found the good way to
        retrieve the port that is used for transmission
      - If the configured proxy is a domain name other than IP address, the resolved IP address
        might be different from the one which is being used in existing sessions
      40ef42ff
  23. Dec 08, 2022
    • Naveen Albert's avatar
      sig_analog: Fix no timeout duration. · b90e5775
      Naveen Albert authored
      ASTERISK_28702 previously attempted to fix an
      issue with flash hook hold timing out after
      just under 17 minutes, when it should have never
      been timing out. It fixed this by changing 999999
      to INT_MAX, but it did so in chan_dahdi, which
      is the wrong place since ss_thread is now in
      sig_analog and the one in chan_dahdi is mostly
      dead code.
      
      This fixes this by porting the fix to sig_analog.
      
      ASTERISK-30336 #close
      
      Change-Id: I05eb69cc0b5319d357842a70bd26ef64d145cb15
      b90e5775
  24. Nov 29, 2022
    • Naveen Albert's avatar
      chan_dahdi: Allow FXO channels to start immediately. · 5ede4e21
      Naveen Albert authored
      Currently, chan_dahdi will wait for at least one
      ring before an incoming call can enter the dialplan.
      This is generally necessary in order to receive
      the Caller ID spill and/or distinctive ringing
      detection.
      
      However, if neither of these is required, then there
      is nothing gained by waiting for one ring and this
      unnecessarily delays call setup. Users can now
      use immediate=yes to make FXO channels (FXS signaled)
      begin processing dialplan as soon as Asterisk receives
      the call.
      
      ASTERISK-30305 #close
      
      Change-Id: I20818b370b2e4892c7f40c8a8753fa06a81750b5
      5ede4e21
  25. Nov 25, 2022
  26. Nov 17, 2022
    • Grzegorz Sluja's avatar
      Fix two issues found in flash_spec 'etsi' tests · 143e8c04
      Grzegorz Sluja authored
      - R0. If more than one account is registered, and there has another incoming call(ringing) to other accounts,
        it will be rejected as well when the ongoing one doing R0. (A, B registered on DUT; A<=>C(ongoing call);
        D=>B(ringing); E=>A(ringing,cw); A press R0 then both D and E be rejected)
      - 3-way conference back to 2-way call, then performing R1 will lead to a crash
      143e8c04
  27. Nov 11, 2022
  28. Nov 09, 2022
    • Grzegorz Sluja's avatar
      Handle R key differently based on the 'flash_spec' configuration · 3a3e5fec
      Grzegorz Sluja authored
      "uk"   - the default config which support flash-hook (R) only triggering call waiting and 3-way conference.
               R4 and R5 are for attended and unattended call transfer respectively with a timer.
      "etsi" - Using R0, R1, R2, to trigger different ways of handling call waiting. R3 for 3-way conference.
               R4 and R5 are for attended and unattended call transfer respectively without a timer.
      3a3e5fec
  29. Nov 02, 2022
    • George Joseph's avatar
      chan_rtp: Make usage of ast_rtp_instance_get_local_address clearer · f723b465
      George Joseph authored
      unicast_rtp_request() was setting the channel variables like this:
      
      pbx_builtin_setvar_helper(chan, "UNICASTRTP_LOCAL_ADDRESS",
          ast_sockaddr_stringify_addr(&local_address));
      ast_rtp_instance_get_local_address(instance, &local_address);
      pbx_builtin_setvar_helper(chan, "UNICASTRTP_LOCAL_PORT",
          ast_sockaddr_stringify_port(&local_address));
      
      ...which made it appear that UNICASTRTP_LOCAL_ADDRESS was being
      set before local_address was set.  In fact, the address part of
      local_address was set earlier in the function, just not the port.
      This was confusing however so ast_rtp_instance_get_local_address()
      is now being called before setting UNICASTRTP_LOCAL_ADDRESS.
      
      ASTERISK-30281
      
      Change-Id: I872ac49477100f4eb33891d46efc6ca21ec81aa4
      f723b465
  30. Oct 26, 2022
    • Naveen Albert's avatar
      chan_dahdi: Fix unavailable channels returning busy. · 180ca325
      Naveen Albert authored
      This fixes dahdi_request to properly set the cause
      code to CONGESTION instead of BUSY if no channels
      were actually available.
      
      Currently, the cause is erroneously set to busy
      if the channel itself is found, regardless of its
      current state. However, if the channel is not available
      (e.g. T1 down, card not operable, etc.), then the
      channel itself may not be in a functional state,
      in which case CHANUNAVAIL is the correct cause to use.
      
      This adds a simple check to ensure that busy tone
      is only returned if a channel is encountered that
      has an owner, since that is the only possible way
      that a channel could actually be busy.
      
      ASTERISK-30274 #close
      
      Change-Id: Iad5870223c081240c925b19df8d6af136953b994
      180ca325
  31. Oct 25, 2022
  32. Oct 21, 2022
  33. Oct 14, 2022
  34. Oct 10, 2022
  35. Oct 04, 2022
  36. Sep 15, 2022
Loading