1. 16 Jun, 2014 2 commits
  2. 02 Jun, 2014 1 commit
  3. 12 May, 2014 1 commit
  4. 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
  5. 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
  6. 10 Dec, 2012 1 commit
  7. 13 Nov, 2012 2 commits
  8. 29 Oct, 2012 1 commit
  9. 26 Sep, 2012 1 commit
  10. 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
  11. 11 Aug, 2012 3 commits
  12. 30 Jul, 2012 1 commit
  13. 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
  14. 14 May, 2012 1 commit
  15. 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
  16. 03 Feb, 2012 1 commit
  17. 26 Jan, 2012 1 commit
  18. 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
  19. 26 Sep, 2011 1 commit
  20. 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
  21. 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
  22. 18 Apr, 2011 1 commit
    • Richard Mudgett's avatar
      Problems with ISDN MWI to phones. · 239f8186
      Richard Mudgett authored
      1) The "controlling user number" is always the number of the voice mail box
      which is identical with the subscriber number itself.  This number which
      is listed in the ISDN phone MWI menu cannot be called back to contact the
      voice mail box.  The controlling user number should be made configurable.
      2) The MWI indication is not restricted to a user (broadcast facility with
      dummy call reference).  A called party IE should be added to address only
      the relevant MSN.  (ETSI 300-196 Section
      JIRA ABE-2738
      JIRA SWP-2846
      git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2262 2fbb986a-6c06-0410-b554-c9c1f0a7f128
  23. 18 Mar, 2011 1 commit
  24. 01 Mar, 2011 2 commits
  25. 28 Feb, 2011 3 commits
  26. 17 Feb, 2011 3 commits
    • Richard Mudgett's avatar
      B channel lost by incoming call in BRI NT PTMP mode. · e7a5d0da
      Richard Mudgett authored
      A phone's RELEASE_COMPLETE as a response to an initial broadcast SETUP
      blocks one B channel permantly when the call is cancelled.
      Scenario: A call to the ISDN Bus is acknowledged (ALERTING) by one
      phone/endpoint and rejected by another phone/endpoint with a
      RELEASE_COMPLETE.  The call is then cancelled by the caller.  If the whole
      procedure is repeated once again then any further call attempt is rejected
      (WARNING[5666]: app_dial.c:1546 dial_exec_full: Unable to create channel
      of type 'DAHDI' (cause 34 - Circuit/channel congestion)).  It seems that
      receiving a RELEASE_COMPLETE in that state blocks one B channel
      permanently when the call is cancelled by the caller.
      Background: The ISDN phones (Siemens Gigaset 3035 or CX253) we use for
      testing additionally contain a DECT base station, which operates as a
      different endpoint on the ISDN Bus (TEI).  If the DECT base station is not
      in use then there are no DECT phones registered to the base station.  The
      DECT base station responds to an incoming call not directed toward it with
      (RELEASE_COMPLETE, cause: no user responding).
      * Made initiate_hangup_if_needed() also hangup the subcall if it is in the
      NULL state.
      * Simplified q931_set_subcall_winner().
      JIRA ABE-2745
      JIRA SWP-2954
      git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2207 2fbb986a-6c06-0410-b554-c9c1f0a7f128
    • Richard Mudgett's avatar
      DMS-100 not receiving caller name anymore. · df22f0e1
      Richard Mudgett authored
      Looks like DMS-100 is using the same message as Q.SIG to receive the
      caller name.
      Add the ability to decode the ROSE calling name message defined for the
      Q.SIG switch on the DMS-100 switch.
      (closes issue #18822)
      Reported by: cmorford
            issue18822_v1.4.patch uploaded by rmudgett (license 664)
      Tested by: cmorford
      git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2206 2fbb986a-6c06-0410-b554-c9c1f0a7f128
    • Richard Mudgett's avatar
      * Added switchtype to ROSE invoke operation not handled message. · 492a19ab
      Richard Mudgett authored
      * Reordered NI2 ROSE message table so any conflicts with the pirated Q.SIG
      messages will be in favor of the NI2 specific messages.  This is
      precautionary only.
      git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2204 2fbb986a-6c06-0410-b554-c9c1f0a7f128
  27. 16 Feb, 2011 1 commit
    • Richard Mudgett's avatar
      Crash if NFAS swaps D channels on a call with an active timer. · 2867fc71
      Richard Mudgett authored
      If a Q.931 call record related timer is started on one NFAS D channel
      expires after NFAS swaps to another D channel, then libpri could crash.
      For example:
      1) Hangup a call.
      1a) Send a DISCONNECT.
      1b) Start the T305 retransmit timer on the current D channel.
      2) The RELEASE comes in on another D channel.
      2a) The found call record switches its assignment to the new D channel.
      2b) Attempt to stop T305.  Unfortunately, the timer was started on another
          D channel so the attempt does not find the timer to stop.
      3) The hangup sequence continues normally and the call record is freed
         since there is only one call record pool.
      4) T305 expires on the original D channel and crashes the system when it
         uses the stale call record pointer it has saved.
      Made each D channel timer pool have a unique range of valid timer
      identifiers.  If a given timer identifier is not in the range for the
      current NFAS D channel, then search the D channel group for the original D
      JIRA LIBPRI-58
      JIRA SWP-2721
      git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2202 2fbb986a-6c06-0410-b554-c9c1f0a7f128
  28. 14 Feb, 2011 1 commit
    • Richard Mudgett's avatar
      Fix I-frame retransmission quirks. · d1cac635
      Richard Mudgett authored
      Revamped the I-frame retransmission queue to better comply with Q.921:
      Figure B.7/Q.921 (sheet 1 of 10) and Figure B.9/Q.921 (Sheet 5 of 5).  The
      changes prevent retransmitting I-frames when the peer is busy (RNR) (Q.921
      Section 5.6.5) and eliminate an unnecessary delay sending new I-frames
      after an I-frame retransmission.
      Related to JIRA LIBPRI-60
      git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2200 2fbb986a-6c06-0410-b554-c9c1f0a7f128
  29. 08 Feb, 2011 1 commit
  30. 04 Feb, 2011 1 commit
    • Richard Mudgett's avatar
      Add display ie text handling options. · ed0d76d5
      Richard Mudgett authored
      The display ie handling can be controlled independently in the send and
      receive directions with the following options:
      * Block display text data.
      * Use display text in SETUP/CONNECT messages for name.
      * Use display text for COLP name updates (FACILITY/NOTIFY as appropriate).
      * Pass arbitrary display text during a call.  Sent in INFORMATION
      messages.  Received from any message that the display text was not used as
      a name.
      If the display options are not set then the options default to legacy
      git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2190 2fbb986a-6c06-0410-b554-c9c1f0a7f128