1. 23 Jan, 2018 1 commit
  2. 23 Oct, 2017 1 commit
    • bbabic's avatar
      q931.c: Fix subaddress finding octet 4. · a7a2245b
      bbabic authored
      Some switches have extended subaddress ie octet 3 encoding to be
      * Update dump and receive helper functions to search for the end of octet
      3 encoding to determine where octet 4 starts.
      Change-Id: I5b2706f668e1a4664b020a58de41dad4cbc5c7e6
  3. 05 Dec, 2016 1 commit
    • Tzafrir Cohen's avatar
      Makefile: Use CPPFLAGS · c038af78
      Tzafrir Cohen authored
      * Include the value of CPPFLAGS in CFLAGS
      Change-Id: Id8e6f3a231bf7581f3f37576b9ee6849ed59540a
  4. 04 Oct, 2016 1 commit
    • Richard Mudgett's avatar
      q931.c: Lucent switch implementation bug workaround (Part 2) · f8e6096b
      Richard Mudgett authored
      Work around a bug in a Lucent switch implementation that sets the
      extension bit in octet 3 even though octet 3a is present.
      The same issue was seen in a NI2 switch implementation.  It was probably a
      Lucent switch configured for NI2 operation.  To avoid further surprises,
      I'm going to enable the work around for all North American switch types.
      Reported by: Richard Mudgett
      Change-Id: I7eedbf68b7c3d9c868d9533012e4cea5142af281
  5. 20 Jul, 2016 1 commit
    • Richard Mudgett's avatar
      q931.c: Lucent switch implementation bug workaround. · d2585d6d
      Richard Mudgett authored
      A bug in a Lucent switch implementation sets the Connected Number
      information element octet 3 extension bit.  When set that means octet 3 is
      complete and thus there is no optional octet 3a.  However, the buggy
      switch still sends octet 3a.  The unexpected octet 3a is interpreted as
      the first octet 4 and thus the first character in the connected line
      number is a garbage character.
      * Work around the switch bug by checking octet 3 and the potential octet
      3a extension bits.  If they are both set then assume that octet 3a is
      actually present for the buggy switch types.
      PRI-183 #close
      Reported by: Richard Mudgett
      Change-Id: I378af37bfd852737a0bfe6263ef3473ea6acfbad
  6. 01 Jul, 2016 1 commit
  7. 24 Mar, 2016 1 commit
  8. 17 Mar, 2016 2 commits
    • Richard Mudgett's avatar
      q931.c: Fix DISCONNECT Progress Indicator ie handling. · 2952e957
      Richard Mudgett authored
      There are two scenarios that are exposed by DISCONNECT not initializing
      the progress indicator value before processing the message when the
      chan_dahdi.conf inbanddisconnect=yes option is set.
      1) If a DISCONNECT comes in without a Progress Indicator ie and an earlier
      message (such as SETUP-ACKNOWLEDGE or PROCEEDING) came in with the
      indicator #8 (Inband audio present) then the DISCONNECT would not cause an
      immediate hangup.  We would be letting the user hear the inband audio even
      though there isn't any.
      2) If a DISCONNECT message comes in with the indicator #8 (Inband audio
      present) and then later the DISCONNECT message is repeated without a
      Progress Indicator ie we would still ignore the second DISCONNECT to let
      the user hear inband audio even though it likely isn't there anymore.
      PRI-180 #close
      Reported by: Alexandr Dranchuk
      Change-Id: Ic88aafb45053146b5701d666e6212f7555573624
    • Richard Mudgett's avatar
      q931.c: Substitute PROGRESS for DISCONNECT with progress indicator #8 · 7da3366c
      Richard Mudgett authored
      When the pri_set_inbanddisconnect() option is enabled and the call has not
      been answered when a DISCONNECT with progress indicator #8 (Inband audio
      present) is received, then report the event as a PROGRESS with progress
      indicator #8 (Inband audio present) instead.  Substituting a PROGRESS
      event allows the upper layer to open the media path if it isn't already
      open so the user can hear the inband audio message.
      Reported by: Alexandr Dranchuk
      Change-Id: I62313bf9cc1d2f3b0231f0c07a784717ddba0415
  9. 16 Mar, 2016 1 commit
  10. 17 Feb, 2016 1 commit
    • Richard Mudgett's avatar
      q931.c: Tighten mandatory ie checks. · a9722804
      Richard Mudgett authored
      Libpri was lax in checking if a missing channel identification ie is
      messages.  That ie is mandatory when those messages are the first response
      to a SETUP message sent by the CPE side.
      * Made those messages check if a missing channel identification ie is
      mandatory and send a STATUS with cause 96 "Mandatory information element
      is missing" in response.
      Libpri did not care if a mandatory ie had a coding error.
      * Made coding errors in mandatory ie's send a STATUS with cause 100
      "Invalid information element contents" in response.
      * Fixed detection of coding errors in channel identification ie.
      git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2337 2fbb986a-6c06-0410-b554-c9c1f0a7f128
  11. 09 Feb, 2016 1 commit
  12. 17 Nov, 2014 2 commits
  13. 04 Nov, 2014 1 commit
  14. 18 Aug, 2014 1 commit
  15. 02 Jun, 2014 1 commit
  16. 12 May, 2014 1 commit
  17. 18 Apr, 2014 1 commit
    • Richard Mudgett's avatar
      libpri: Make TE-PTP mode respond to MDL TEI check requests. · 13beaacc
      Richard Mudgett authored
      Some BRI devices in France insist on checking TEI's when in point-to-point
      mode.  If they don't get a response for TEI 0 they drop layer 1 even
      though libpri keeps trying to bring layer 2 up.
      * Made q921_mdl_receive() handle TEI check request messages in TE-PTP
      mode.  Had to change q921_mdl_send()/Q921_INIT() because the PTP modes do
      not setup a link structure specifically for MDL as the PTMP modes do.
      * Fixed q921_tei_check()/t201_expire() to check TEI's even if the network
      side doesn't have any assigned.  This should make TE's that request the
      TEI verify procedure (Q.921 Section 5.3.5) happy when the network side
      doesn't have any TEI's allocated.
      Reported by: Denis Alberto Martinez
            jira_pri_165_ptp_respond_tei_check.patch (license #5621) patch uploaded by rmudgett
      Review: https://reviewboard.asterisk.org/r/3434/
      git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2318 2fbb986a-6c06-0410-b554-c9c1f0a7f128
  18. 28 Mar, 2013 1 commit
    • Richard Mudgett's avatar
      Fix hole in layer2_persistence option for TE PTMP links. · 84b2560d
      Richard Mudgett authored
      If the network stops responding, according to Q.921 we are supposed to
      remove the TEI.  With the layer2_persistence option enabled, we are
      supposed to keep trying to bring layer 2 back up.  Unfortunately, when the
      network stops responding, we stopped the restart timer and removed the
      TEI.  As a result, layer 2 does not immediately come back up.
      * Made not stop the restart timer if we are removing the TEI on the CPE
      side.  Also handle the timer expiration in relevant unassigned TEI states.
      (closes issue LIBPRI-72)
      Reported by: Trey Blancher
            jira_dahdi_1001_libpri_v1.4.patch (license #5621) patch uploaded by rmudgett
      git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2315 2fbb986a-6c06-0410-b554-c9c1f0a7f128
  19. 10 Dec, 2012 1 commit
  20. 13 Nov, 2012 2 commits
  21. 29 Oct, 2012 1 commit
  22. 26 Sep, 2012 1 commit
  23. 10 Sep, 2012 1 commit
    • Richard Mudgett's avatar
      Fix compile error in pridump.c. · 5e3581c9
      Richard Mudgett authored
      With gcc 4.6.3 it's possible to get the following error:
        $ make
        gcc -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -g -fPIC  -O2  -MD -MT pridump.o -MF .pridump.o.d -MP -c -o pridump.o pridump.c
        pridump.c: In function \u2018pri_bridge\u2019:
        pridump.c:117:1: error: no return statement in function returning non-void [-Werror=return-type]
        cc1: all warnings being treated as errors
        make: *** [pridump.o] Error 1
      Changing the function return value to void fixes the issue since there
      were no places in the code that used the return value.
      (closes issue PRI-143)
      Reported by: Birger "WIMPy" Harzenetter
            0001-Fix-no-return-statement-in-function-returning-non-vo.patch (license #5417) patch uploaded by Shaun Ruffell
      git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2298 2fbb986a-6c06-0410-b554-c9c1f0a7f128
  24. 11 Aug, 2012 3 commits
  25. 30 Jul, 2012 1 commit
  26. 28 Jun, 2012 1 commit
    • Richard Mudgett's avatar
      Implement T316 to allow RESTART messages to be automatically retransmitted. · fffb7bab
      Richard Mudgett authored
      Q.931 defines the T316 timer to retransmit RESTART messages if a RESTART
      ACKNOWLEDGE message is not received before the timer expires.  Q.931
      defaults the time of T316 to 2 minutes with the default number of
      consecutive RESTART failures as two.
      * To support legacy behavior, the T316 timer is disabled by default.  It
      is also disabled because the user cannot configure it to disabled if it is
      * The N316 count is created to allow the number of RESTART attempts to be
      configurable.  Note you will need to recompile Asterisk to be able to
      configure N316.
      (issue ASTERISK-19608)
      (issue AST-815)
      (closes issue PRI-133)
      Reported by: Mike Boylan
      Tested by: rmudgett
      git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2288 2fbb986a-6c06-0410-b554-c9c1f0a7f128
  27. 14 May, 2012 1 commit
  28. 23 Mar, 2012 1 commit
    • Richard Mudgett's avatar
      Make number not available presentation also set screening to network provided. · a7eaec1a
      Richard Mudgett authored
      Q.951 indicates that when the presentation indicator is "Number not
      available due to interworking" for a number then the screening indicator
      field should be "Network provided".
      Released versions of Asterisk starting with v1.8 relesed before this patch
      only recognized the PRES_NUMBER_NOT_AVAILABLE value as an unavailable
      number.  This patch improves compatibility as a result.
      * Made mask the presentation value for names and numbers from the upper
      * Made pri_mwi_indicate_v2() also call q931_party_id_fixup() for
      completeness even though it is a noop in this case.
      * Made pri_pres2str() deceoode better.
      git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2284 2fbb986a-6c06-0410-b554-c9c1f0a7f128
  29. 03 Feb, 2012 1 commit
  30. 26 Jan, 2012 1 commit
  31. 16 Dec, 2011 2 commits
    • Richard Mudgett's avatar
      Remove nul octets from IE data that is normally treated as strings. · 6078b216
      Richard Mudgett authored
      Sometimes ie values received from carriers contain nul octets in values
      normally treated by libpri as nul terminated strings.  A discussion on the
      asterisk-users list determined that the best thing to do in the situation
      is to delete the nul octets and unconditionally report/log when that
      * Remove nul octets from the following ie's and generate an unconditional
      log message to the upper layer when they are removed:
      Connected Number
      Connected Address
      Redirecting Number
      Original Called Number
      Redirection Number
      Called Party Number
      Calling Party Number
      Keypad Facility
      (closes issue PRI-128)
      Reported by: phsultan
            jira_pri_128.patch (license #5621) patch uploaded by rmudgett (modified)
      Tested by: rmudgett
      git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2278 2fbb986a-6c06-0410-b554-c9c1f0a7f128
    • Richard Mudgett's avatar
      Implement handling a multi-channel RESTART request. · 4e7c3d14
      Richard Mudgett authored
      The channel id ie can supply a slotmap or list of channels.  For a RESTART
      message, this can be handy to indicate multiple channels that need to be
      restarted at the same time.
      An incoming RESTART request will now generate a PRI_EVENT_RESTART to the
      upper layer for each channel indicated in the request.  If the event is
      successfully generated for all indicated channels then a
      RESTART_ACKNOWLEDGE is sent back to the peer indicating all channels
      * Add the ability to process a channel id ie channel list with a RESTART
      * Add the ability to process slotmaps with a RESTART request.
      (closes issue PRI-93)
      Reported by: Marcin Kowalczyk
            jira_pri_93.patch (license #5621) patch uploaded by rmudgett
      Tested by: zvision, rmudgett
      (closes issue PRI-71)
      Reported by: Torrey Searle
      Tested by: rmudgett
      git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2277 2fbb986a-6c06-0410-b554-c9c1f0a7f128
  32. 26 Sep, 2011 1 commit
  33. 17 Aug, 2011 1 commit
    • Richard Mudgett's avatar
      Outgoing BRI calls fail when using Asterisk 1.8 with HA8, HB8, and B410P cards. · c5ec479b
      Richard Mudgett authored
      France Telecom brings layer 2 and layer 1 down on BRI lines when the line
      is idle.  When layer 1 goes down Asterisk cannot make outgoing calls and
      the HA8 and HB8 cards also get IRQ misses.
      The inability to make outgoing calls is because the line is in red alarm
      and Asterisk will not make calls over a line it considers unavailable.
      The IRQ misses for the HA8 and HB8 card are because the hardware is
      switching clock sources from the line which just brought layer 1 down to
      internal timing.
      There is a DAHDI option for the B410P card to not tell Asterisk that layer
      1 went down so Asterisk will allow outgoing calls: "modprobe wcb4xxp
      teignored=1".  There is a similar DAHDI option for the HA8 and HB8 cards:
      "modprobe wctdm24xxp bri_teignored=1".  Unfortunately that will not clear
      up the IRQ misses when the telco brings layer 1 down.
      * Add layer 2 persistence option to customize the layer 2 behavior on BRI
      PTMP lines.  The new option has three settings: 1) Use libpri default
      layer 2 setting.  2) Keep layer 2 up.  Bring layer 2 back up when the peer
      brings it down.  3) Leave layer 2 down when the peer brings it down.
      Layer 2 will be brought up as needed for outgoing calls.
      (issue AST-598)
      Reported by: Trey Blancher
      git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2273 2fbb986a-6c06-0410-b554-c9c1f0a7f128
  34. 17 May, 2011 1 commit
    • Richard Mudgett's avatar
      Option needed for Q931_IE_TIME_DATE to be optional in CONNECT message. · 092811da
      Richard Mudgett authored
      The NEC SV8300 rejects the Q931_IE_TIME_DATE for Q.SIG.
      Add option to specify if and how much of the current time is put in
      * Send date/time ie never.
      * Send date/time ie date only.
      * Send date/time ie date and hour.
      * Send date/time ie date, hour, and minute.
      * Send date/time ie date, hour, minute, and second.
      * Send date/time ie default: Libpri will send date and hhmm only when in
      NT PTMP mode to support ISDN phones.
      (closes issue #19221)
      Reported by: kenner
      JIRA SWP-3396
      git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2266 2fbb986a-6c06-0410-b554-c9c1f0a7f128