Commit Graph

233 Commits

Author SHA1 Message Date
Richard Mudgett 73ef4b8daf Removed cdrflags from ast_channel structure.
Only chan_dahdi set a value in cdrflags.  Everyone else just copied it
around the system.  Noone cared about any value it may have contained.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@250565 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-03 19:38:06 +00:00
Jeff Peeler e8a99a9962 Merged revisions 250480 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r250480 | jpeeler | 2010-03-03 13:04:11 -0600 (Wed, 03 Mar 2010) | 15 lines
  
  Make sure to clear red alarm after polarity reversal.
  
  From the issue:
  The automatic overnight line tests (or manual ones) used on UK (BT) lines causes
  a red alarm on a dahdi / TDM400P connected channel. This is because the line
  uses voltage tests (battery loss) and polarity reversal. The polarity reversal
  causes chan_dahdi to initiate v23 CallerID processing but during this the event
  DAHDI_EVENT_NOALARM is ignored so that the alarm is never cleared.
  
  (closes issue #14163)
  Reported by: jedi98
  Patches: 
        chan_dahdi-1.4-inalarm.diff uploaded by jedi98 (license 653)
  Tested by: mattbrown, Chainsaw, mikeeccleston
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@250481 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-03 19:06:06 +00:00
Jeff Peeler 6bd57e0720 Add new config option to control AMI alarm event reporting in chan_dahdi.
New config parameter "reportalarms" added in chan_dahdi.conf which supports the
following possible values:
"channels": report each channel alarms (current behavior, default for backward compatibility)
"spans": report an "SpanAlarm" event when the span of any configured channel is alarmed
"all": report channel and span alarms (aggregated behavior)
"none": do not report any alarms

(closes issue #16709)
Reported by: nahuelgreco
Patches: 
      chan_dahdi.c.reportalarms.patch uploaded by nahuelgreco (license 162)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@250392 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-03 17:37:30 +00:00
David Vossel 862ebf4d00 fixes adaptive jitterbuffer configuration
When configuring the adaptive jitterbuffer, the target_extra
value not only could not be set from the configuration, but was
not even being set to its proper default.  This value is required
in order for the adaptive jitterbuffer to work correctly.  To resolve
this a config option has been added to expose this value to the conf
files, and a default value is provided when no config specific value
is present.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@249893 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-02 19:08:38 +00:00
Alec L Davis 5dbe86a3c2 fix asterisk setting of pritimers from chan_dahdi.conf
regression since sig_pri split.

(issue #16909)
Reported by: alecdavis
Patches: 
      pritimer.asterisk.diff.txt uploaded by alecdavis (license 585)
Tested by: alecdavis



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@249759 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-02 06:56:14 +00:00
Moises Silva 0d838691bc mfcr2 issue 0016844 - Fix portability bit fields and make mfcr2_immediate_accept work again, reported and patched by korihor
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@248003 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-19 18:38:34 +00:00
Richard Mudgett b2a1ad7946 Restore triedtopribridge flag code removed in -r211197.
Ooops.  Failed to note that we were inside a for loop and
pri_channel_bridge() needs to be executed only once.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@246669 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-15 22:08:23 +00:00
Tilghman Lesher d3ae695204 The chanvar= setting should inherit the entire list of variables, not just the first one.
(closes issue #16359)
 Reported by: raarts
 Patches: 
       dahdi-setvars.diff uploaded by raarts (license 937)
 Tested by: raarts


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@244505 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-03 18:34:29 +00:00
Jeff Peeler 568c057c4c Extend max call limit duration from 24.8 days to 292+ million years.
If the limit was set past MAX_INT upon answering, the call was immediately
hung up due to overflow from the return of ast_tvdiff_ms (in ast_check_hangup).
The time calculation functions ast_tvdiff_sec and ast_tvdiff_ms have been
changed to return an int64_t to prevent overflow. Also the reporter suggested
adding a message indicating the reason for the call hanging up. Given that the
new limit is so much higher, the message (which would only really be useful in
the overflow scenario) has been made a debug message only.

(closes issue #16006)
Reported by: viraptor


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@241143 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-18 22:31:25 +00:00
Richard Mudgett c5cfc2a867 Removed unused parameters from analog_available() and sig_pri_available().
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@237804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-05 18:57:29 +00:00
Kevin P. Fleming ef9be94b35 Change all refererences to 1.6.3 to be 1.8, since that will be the next feature release
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@235904 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-21 18:51:17 +00:00
Jeff Peeler 50b7338d02 Fix call forwarding for analog phones.
(closes issue #16440)
Reported by: mmichelson


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@235382 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-17 00:52:03 +00:00
Jeff Peeler 08ec550c16 Merged revisions 232090 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r232090 | jpeeler | 2009-12-01 18:42:58 -0600 (Tue, 01 Dec 2009) | 10 lines
  
  Do not modify the gain settings on data calls.
  
  (The digital flag actually represents a data call.)
  
  (closes issue #15972)
  Reported by: udosw
  Patches: 
        transcap_digital_fix.diff.txt uploaded by alecdavis (license 585)
  Tested by: alecdavis
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@232091 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-02 00:45:18 +00:00
Tilghman Lesher f59fe83c56 More 32->64 bit codec conversions.
In the process of swapping ULAW to a place in the extended codec space, we
found several unhandled cases, where a 32-bit integer was still being used to
handle a codec field.  Most of these have been fixed with this commit, although
there is at least one case (codec_dahdi) which depends upon outside headers to
be altered before a conversion can be made.
(Fixes AST-278, SWP-459)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@231850 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-01 20:27:37 +00:00
Jeff Peeler ac9a4cecf3 Fix problem on digital channels due to digital flag not getting set
Changed areas in sig_pri to set the digital flag using a callback that will
also set the corresponding flag in chan_dahdi. Modified dahdi_request slightly
so that if a bearer is marked as digital, that information is available when
creating the new channel.

(closes issue #16151)
Reported by: alecdavis
Patch based on bug_16151.diff.txt uploaded by alecdavis (license 585)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@231058 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-24 17:12:25 +00:00
Richard Mudgett 20e56c9d36 Created standard location to add options to chan_dahdi for ISDN dialing.
Dial(DAHDI/g1[/extension[/options]])
Current options:
K(<keypad_digits>)
R Reverse charging indication (Collect calls)

The earlier Dial(DAHDI/g1[/K<keypad_digits>][/extension] format was
variable and did not allow for the easy addition of more options.

The earlier 'C' prefix character for reverse charge indiation would
conflict with the a-d DTMF digits if ISDN uses them.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@228691 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-06 22:32:17 +00:00
Jeff Peeler 562a18f533 fix trunk building
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@227643 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-04 16:25:15 +00:00
Tilghman Lesher d8e0c58437 Expand codec bitfield from 32 bits to 64 bits.
Reviewboard: https://reviewboard.asterisk.org/r/416/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@227580 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-04 14:05:12 +00:00
Richard Mudgett 6406f39594 DAHDI ISDN channel names will not allow device state to work. (Interim solution.)
Since ISDN works like SIP and not analog ports in regard to devices, the
device state based on the ISDN channel number could not work.  This has
not been an issue until the advent of PTMP NT mode.  Previously, ISDN
lines were used as trunks and did not have to keep track of specific
devices.

As an interim solution until device states are properly implemented, the
channel name is being changed to the following format to use the generic
device state support:
DAHDI/i<span>/<number>[:<subaddress>]-<sequence-number>

Dialplan hints would thus be:
exten => xxx,hint,DAHDI/i2/5551212

This will work with the following restrictions:
*  The number of devices/phones cannot exceed the number of B channels.
(i.e., BRI has 2)
*  Each device/phone can only have one number.  No shared MSN's.
*  The phones/devices probably should not use subaddressing.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226882 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-02 17:34:22 +00:00
Richard Mudgett 7fbd314a88 Cleanup some flags on DAHDI PRI channel hangup.
*  Cleanup some flags on DAHDI PRI channel hangup. (sig_pri split)
*  Make sure the outgoing flag is cleared if a new channel fails to get
created for outgoing calls.
*  Remove some unused flags since sig_pri was split.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226648 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-30 23:26:41 +00:00
Richard Mudgett 71452322a2 Make conditionals create previous code when libpri/ss7 are present.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225872 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-26 16:07:09 +00:00
Tzafrir Cohen 2736168a6b span numbers in pri debug / error messages
Prefix PRI trace messages with the span number. This makes the trace
readable even when you have a multi-port device.

(closes issue #15054)
Reported by: tzafrir
Patches:
      dahdi_pri_debug_spannum.diff uploaded by tzafrir (license 46)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225836 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-26 13:29:54 +00:00
Tzafrir Cohen e5a57959eb Re-arange code a bit to build in dev-mode without ss7
No change of functionality here. Just localized a variable and indented
code into blocks.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225803 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-26 11:34:06 +00:00
Tzafrir Cohen d36cecd578 Make chan_dahdi build even without PRI / SS7
(Note: still some strange build warnings without SS7 in dev-mode)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225767 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-26 09:40:49 +00:00
Richard Mudgett cff6d02b53 Add to chan_dahdi ISDN HOLD, Call deflection, and keypad facility support.
* Added handling of received HOLD/RETRIEVE messages and the optional ability
  to transfer a held call on disconnect similar to an analog phone.
* Added CallRerouting/CallDeflection support for Q.SIG, ETSI PTP, ETSI PTMP.
  Will reroute/deflect an outgoing call when receive the message.
  Can use the DAHDISendCallreroutingFacility to send the message for the
  supported switches.
* Added ability to send/receive keypad digits in the SETUP message.
  Send keypad digits in SETUP message: Dial(DAHDI/g1[/K<keypad_digits>][/extension])
  Access any received keypad digits in SETUP message by: ${CHANNEL(keypad_digits)}
* Added support for BRI PTMP NT mode.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225692 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-23 16:57:33 +00:00
Matthew Nicholson 26638d3a55 Add dynamic range compression support for analog channels.
(closes issue AST-29)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@224637 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-19 22:02:41 +00:00
Jeff Peeler 03db5ef0e5 fix typo, sorry
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@224335 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-17 02:01:36 +00:00
Jeff Peeler 53a95d9c84 Merged revisions 224330 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r224330 | jpeeler | 2009-10-16 20:32:47 -0500 (Fri, 16 Oct 2009) | 13 lines
  
  Fix stale caller id data from being reported in AMI NewChannel event
  
  The problem here is that chan_dahdi is designed in such a way to set
  certain values in the dahdi_pvt only once. One of those such values
  is the configured caller id data in chan_dahdi.conf. For PRI, the
  configured caller id data could be overwritten during a call. Instead
  of saving the data and restoring, it was decided that for all non-analog
  channels it was simply best to not set the configured caller id in the
  first place and also clear it at the end of the call.
  
  (closes issue #15883)
  Reported by: jsmith
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@224331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-17 01:36:08 +00:00
Jeff Peeler 4ae6bee6da Change ringt (ring timeout) styles to be consistent across chan_dahdi.
(closes issue #15684)
Reported by: alecdavis
Patches: 
      chan_dahdi.bug15684.diff2.txt uploaded by alecdavis (license 585)
Tested by: alecdavis


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@222652 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-07 20:08:14 +00:00
Jeff Peeler b5eb0449c0 Merged revisions 222462 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r222462 | jpeeler | 2009-10-06 18:51:19 -0500 (Tue, 06 Oct 2009) | 8 lines
  
  Add missing unlock(s) in dahdi_read
  
  (two cases in trunk)
  
  (closes issue #15683)
  Reported by: alecdavis
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@222463 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-06 23:56:01 +00:00
Jeff Peeler f7fa417130 Fix 222298 (crash during destruction of second channel when variable set with
setvar).

I mistakenly reasoned that setvar would be used on all channels. Since it can
be set per channel, give each dahdi channel a copy of the variable.

(related to #15899)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@222351 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-06 20:35:19 +00:00
Jeff Peeler 0c7f4cfb85 Fix crash during destruction of second channel when variable set with setvar.
The setvar line in chan_dahdi.conf is shared among all the channels, so make
sure to only free the resources only when the last channel is destroyed.

(closes issue #15899)
Reported by: tzafrir



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@222298 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-06 19:24:59 +00:00
Tzafrir Cohen 0c3cd2ee45 Make sure digit events are not reported as "ERROR"
dahdievent_to_analogevent used a simple switch statement to convert DAHDI
event numbers to "ANALOG_*" event numbers. However "digit" events
(DAHDI_EVENT_PULSEDIGIT, DAHDI_EVENT_DTMFDOWN, DAHDI_EVENT_DTMFUP)
are accompannied by the digit in the low word of the event number.

This fix makes dahdievent_to_analogevent() return the event number as-is
for such an event.

This is also required to fix #15924 (in addition to r222108).  


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@222237 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-06 16:17:30 +00:00
Jeff Peeler 10e8ee1746 Add a few missing events to analog_handle_event.
The reported bug was actually only for pulsedigit, dtmfup, and dtmfdown
handling. Also added recognition for fax events (just some verbose output) and
fixed handling for the ec_disabled_event. In order to make comparing the analog
version of events to the DAHDI events easier, the ordering has been changed to
follow that of the DAHDI events.

(closes issue #15924)
Reported by: tzafrir



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@222108 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-05 19:20:36 +00:00
Richard Mudgett 9c05faf76d Prevent deadlock if chan_dahdi attempts to change PRI channel names.
The PRI channels can no longer change the channel name if a different B
channel is selected during call negotiation.  To prevent using the channel
name to infer what B channel a call is using and to avoid name collisions,
the channel name format is changed.

The new channel naming for PRI channels is:
DAHDI/ISDN-<span>-<sequence-number>


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@221701 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-01 19:48:58 +00:00
Richard Mudgett f3f456f8b6 Miscellaneous minor changes.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@220792 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-28 21:02:20 +00:00
Jeff Peeler 0d5e318cb2 Add some changes related to 218430.
* Remove thread_spawned in handle_init_event since it was never used
* Always check handle_init_event in case a channel is destroyed


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@218583 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-15 16:12:49 +00:00
Tzafrir Cohen b64beef2f3 Fix false error message on DAHDI_EVENT_REMOVED (RESULT_SUCCESS == 0)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@218465 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-15 10:24:55 +00:00
Jeff Peeler 843a724373 Merged revisions 218401 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r218401 | jpeeler | 2009-09-14 16:47:11 -0500 (Mon, 14 Sep 2009) | 11 lines
  
  Fix handling of DAHDI_EVENT_REMOVED event to prevent crash in do_monitor.
  
  After talking to rmudgett about some of his recent iflist locking changes, it
  was determined that the only place that would destroy a channel without being
  explicitly to do so was in handle_init_event. The loop to walk the interface
  list has been modified to wait to destroy the channel until the dahdi_pvt of
  the channel to be destroyed is no longer needed.
  
  (closes issue #15378)
  Reported by: samy
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@218430 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-14 22:38:25 +00:00
Richard Mudgett 6c39ebaa3e Add support for multiple interface lists.
Also unlink the sig_pri_pri.pvts[] pointer in destroy_dahdi_pvt().


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@218365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-14 20:08:11 +00:00
Moises Silva 2aa112b4d7 get rid of mfcr2 monitor thread condition, is problematic
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@218150 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-13 05:51:46 +00:00
Jeff Peeler edb5e6efd9 Cleanup approach in 217804 and don't reach inside the sig_pvt.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@217987 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-10 23:49:09 +00:00
Jeff Peeler 3a718192c6 Allow do not disturb to be set on analog channels via the CLI and AMI.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@217954 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-10 23:29:14 +00:00
Richard Mudgett 32352265c4 Cleaned up chan_dahdi iflist handling and locking.
*  Fixed walking the iflist so it is always done with the iflock locked.
*  Simplified iflist walking routines.
*  Created chan_dahdi iflist insertion and extraction routines.
*  Fixed duplicate_pseudo() malloc fail handling.
*  Fixed infinite loop in action_dahdishowchannels() when showing a single channel.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@217912 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-10 22:31:12 +00:00
Richard Mudgett 9a1215989f Miscellaneous minor changes.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@217873 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-10 22:11:17 +00:00
Jeff Peeler f558f01a81 Fix crash during attended transfer over PRI.
The owner pointers in the sig_pri_chan structure were not getting updated
in dahdi_fixup. 


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@217804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-10 20:52:57 +00:00
Jeff Peeler 5561ba19aa Stop caller id transmission when offhook event detected.
This fixes the problem that would occur if an analog phone was picked up while
the caller id was being sent. The caller id before sent the whole spill even
after pickup and is now corrected.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@217744 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-10 20:18:30 +00:00
Richard Mudgett 98d156c5dd Fix available() for SS7, MFC/R2, and pseudo channels.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@217560 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-10 00:35:30 +00:00
Moises Silva df7dd574fd ast_log replaced for ast_verbose in MFCR2 event notifications
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@217524 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-09 21:48:04 +00:00
Richard Mudgett fd561e871f Fix memory leak of sig_xxx private structures.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@217332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-08 23:37:57 +00:00