Compare commits

...

15 Commits

Author SHA1 Message Date
Shaun Ruffell
955a1d0df6 Use autotagged externals
git-svn-id: http://svn.astersk.org/svn/dahdi/tools/tags/2.4.1-rc1@9765 17933a7a-c749-41c5-a318-cba88f637d49
2011-02-15 15:43:52 +00:00
Shaun Ruffell
b79f28837a Importing files for 2.4.1-rc1 release.
git-svn-id: http://svn.astersk.org/svn/dahdi/tools/tags/2.4.1-rc1@9764 17933a7a-c749-41c5-a318-cba88f637d49
2011-02-15 15:43:36 +00:00
Shaun Ruffell
d551ed3cfc Creating tag for the release of dahdi-tools-2.4.1-rc1
git-svn-id: http://svn.astersk.org/svn/dahdi/tools/tags/2.4.1-rc1@9763 17933a7a-c749-41c5-a318-cba88f637d49
2011-02-15 15:42:20 +00:00
Tzafrir Cohen
6189813aa8 dahdi-perl: more left-over $span->xpd
Replace the remaining $span->xpd with xpd_of_span().

Following up on r9648.

Merged revisions 9731 via svnmerge from 
http://svn.digium.com/svn/dahdi/tools/trunk


git-svn-id: http://svn.astersk.org/svn/dahdi/tools/branches/2.4@9744 17933a7a-c749-41c5-a318-cba88f637d49
2011-02-08 14:42:23 +00:00
Tzafrir Cohen
c2395b44ec dahdi-perl: fix xpp driver in dahdi_hardware
Don't require 'dahdi_hardware -v' to show the driver for a USB device.
Only works when the usbfs is not used (when /proc/bus/usb is not mounted).

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Merged revisions 9699 via svnmerge from 
http://svn.digium.com/svn/dahdi/tools/trunk


git-svn-id: http://svn.astersk.org/svn/dahdi/tools/branches/2.4@9743 17933a7a-c749-41c5-a318-cba88f637d49
2011-02-08 14:18:07 +00:00
Tzafrir Cohen
0e700f80c5 dahdi-perl: left-over $span->xpd
Replace one remaining $span->{XPD} with xpd_of_span().

Signed-off-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com>

Merged revisions 9648 via svnmerge from 
http://svn.digium.com/svn/dahdi/tools/trunk


git-svn-id: http://svn.astersk.org/svn/dahdi/tools/branches/2.4@9742 17933a7a-c749-41c5-a318-cba88f637d49
2011-02-08 14:12:51 +00:00
Tzafrir Cohen
3940110c35 dahdi_genconf: Don't generate configurations that use channel 16 on E1 CAS
Attempting to use channel 16 on E1 CAS is disallowed since that channel is
reserved for RBS signaling.  Configurations should not be generated that
attempt to use it.

Closes DAHDI-763.

Patch by dmartinez.

Merged revisions 9485 via svnmerge from 
http://svn.digium.com/svn/dahdi/tools/trunk


git-svn-id: http://svn.astersk.org/svn/dahdi/tools/branches/2.4@9741 17933a7a-c749-41c5-a318-cba88f637d49
2011-02-08 14:07:51 +00:00
Tzafrir Cohen
47111ff7a5 xpp_fxloader: Don't try to load FPGA firmware twice
When called from udev to load the FPGA firmware, make sure that this is
not the event generated for the first end-point of the existing two, as
we need to talk with the second one.

This is probably better done in the udev rules, but will be slightly
more complicated to apply only to the FPGA loading and not to USB
firmware loading.

Merged revisions 9482 via svnmerge from 
http://svn.digium.com/svn/dahdi/tools/trunk


git-svn-id: http://svn.astersk.org/svn/dahdi/tools/branches/2.4@9740 17933a7a-c749-41c5-a318-cba88f637d49
2011-02-08 14:04:50 +00:00
Shaun Ruffell
c7a957e14e dahdi_scan: Show CAS framing on the framing line.
Also, always append "/CRC4" on any span where that was specified as an
option.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Acked-by: Kinsey Moore <kmoore@digium.com>

Merged revisions 9473 via svnmerge from 
http://svn.digium.com/svn/dahdi/tools/trunk


git-svn-id: http://svn.astersk.org/svn/dahdi/tools/branches/2.4@9739 17933a7a-c749-41c5-a318-cba88f637d49
2011-02-08 13:30:23 +00:00
Tzafrir Cohen
842130f99d Fixed up the loss of crc4-multiframe alignment logic
Loss of crc4-multiframe alignment on an E1 link is not a condition which
brings the span down. The span will continue to run as long as it can
maintain double frame alignment. Because of this, we cannot place the
LMFA alarm in the usual spaninfo.alarms member, due to userspace
programs using this as a catch-all for a span being up or down.

We can detect the alarm by watching the frame error counter (fecount).
If it continuously increments, the span is configured for crc4, and the
span remains OK (alarms = 0), then we are in loss of crc4-multiframe
state.

In order to test this alarm, you'll need to synthesize a loss of crc4
alignment on the span. You can usually do this by configuring the local
span to use crc4 and the remote end to not use crc4. I used the Fireberd
6000 in my lab to do this.

dahdi-743 & dahdi-420

Acked-by: Shaun Ruffell <sruffell@digium.com>

Merged revisions 9458 via svnmerge from 
http://svn.digium.com/svn/dahdi/tools/trunk


git-svn-id: http://svn.astersk.org/svn/dahdi/tools/branches/2.4@9738 17933a7a-c749-41c5-a318-cba88f637d49
2011-02-08 13:09:45 +00:00
Tzafrir Cohen
41143e105f Dahdi::Hardware: Support beroNet BN4S0e PCI Express card
Add extra PCI IDs to support "beroNet BN4S0e PCI Express 4x S0 Karte".

Origin: http://bugs.debian.org/600839

Merged revisions 9452 via svnmerge from 
http://svn.digium.com/svn/dahdi/tools/trunk


git-svn-id: http://svn.astersk.org/svn/dahdi/tools/branches/2.4@9737 17933a7a-c749-41c5-a318-cba88f637d49
2011-02-08 13:03:41 +00:00
Tzafrir Cohen
44289a813d astribank_is_starting: use semop if no semtimedop
astribank_is_starting should use a timeout for the semaphore, but if the
GNU-specific semtimedop() is not available, we'll just fall back to using
semop with no time out. Not as good, but better than nothing.

(closes issue #16783)
Reported by: abelbeck

Merged revisions 9426 via svnmerge from 
http://svn.digium.com/svn/dahdi/tools/trunk


git-svn-id: http://svn.astersk.org/svn/dahdi/tools/branches/2.4@9736 17933a7a-c749-41c5-a318-cba88f637d49
2011-02-08 12:42:43 +00:00
Tzafrir Cohen
07d9024623 tonezone: Add Macao,China to tone zone data
Adding Macao tone zone data according to
http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf

(closes issue #17744)
	Reported by: alfredtang
	Patches:
	      zonedata.patch uploaded by alfredtang (license 1094)

Merged revisions 9313 via svnmerge from 
http://svn.digium.com/svn/dahdi/tools/trunk


git-svn-id: http://svn.astersk.org/svn/dahdi/tools/branches/2.4@9735 17933a7a-c749-41c5-a318-cba88f637d49
2011-02-08 12:24:57 +00:00
Tzafrir Cohen
2b3b134c11 svnmerge stuff
git-svn-id: http://svn.astersk.org/svn/dahdi/tools/branches/2.4@9734 17933a7a-c749-41c5-a318-cba88f637d49
2011-02-08 12:10:49 +00:00
Tzafrir Cohen
08605ea73b Branch dahdi-tools 2.4
git-svn-id: http://svn.astersk.org/svn/dahdi/tools/branches/2.4@9733 17933a7a-c749-41c5-a318-cba88f637d49
2011-02-08 11:35:48 +00:00
14 changed files with 4069 additions and 3083 deletions

1
.version Normal file
View File

@@ -0,0 +1 @@
2.4.1-rc1

1460
ChangeLog Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -3,6 +3,12 @@
/* Define if your system has the DAHDI headers. */
#undef HAVE_DAHDI
/* Define if your system has the DAHDI23 headers. */
#undef HAVE_DAHDI23
/* Define DAHDI23 headers version */
#undef HAVE_DAHDI23_VERSION
/* Define DAHDI headers version */
#undef HAVE_DAHDI_VERSION
@@ -21,6 +27,9 @@
/* Define to indicate the ${NEWT_DESCRIP} library version */
#undef HAVE_NEWT_VERSION
/* Define to 1 if you have the `semtimedop' function. */
#undef HAVE_SEMTIMEDOP
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
@@ -63,6 +72,9 @@
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the home page for this package. */
#undef PACKAGE_URL
/* Define to the version of this package. */
#undef PACKAGE_VERSION

5585
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -99,6 +99,8 @@ AST_C_DEFINE_CHECK([DAHDI23], [DAHDI_CONFIG_NTTE], [dahdi/user.h])
AST_EXT_LIB_CHECK([NEWT], [newt], [newtBell], [newt.h])
AST_EXT_LIB_CHECK([USB], [usb], [usb_init], [usb.h])
AC_CHECK_FUNCS([semtimedop])
PBX_HDLC=0
AC_MSG_CHECKING([for GENERIC_HDLC_VERSION version 4 in linux/hdlc.h])
AC_COMPILE_IFELSE(

View File

@@ -95,11 +95,13 @@ int main(int argc, char *argv[])
strcat(alarms, "YEL/");
if (s.alarms & DAHDI_ALARM_RED) {
strcat(alarms, "RED/");
/* Extended alarm feature test. Allows compilation with
* versions of dahdi-linux prior to 2.4
*/
#ifdef DAHDI_ALARM_LFA
if (s.alarms & DAHDI_ALARM_LFA)
strcat(alarms, "LFA/");
if (s.alarms & DAHDI_ALARM_LMFA)
strcat(alarms, "LMFA/");
#endif /* ifdef DAHDI_ALARM_LFA */
}
if (s.alarms & DAHDI_ALARM_LOOPBACK)
@@ -115,10 +117,35 @@ int main(int argc, char *argv[])
alarms[strlen(alarms)-1]='\0';
}
} else {
if (s.numchans)
strcpy(alarms, "OK");
else
if (s.numchans) {
#ifdef DAHDI_ALARM_LFA
/* If we continuously receive framing errors
* but our span is still in service, and we
* are configured for E1 & crc4. We've lost
* crc4-multiframe alignment
*/
if ((s.linecompat & DAHDI_CONFIG_CRC4) &&
(s.fecount > 0)) {
struct dahdi_spaninfo t;
memset(&t, 0, sizeof(t));
t.spanno = x;
sleep(1);
if (ioctl(ctl, DAHDI_SPANSTAT, &t))
continue;
/* Test fecount at two separate time
* intervals, if they differ, throw LMFA
*/
if ((t.fecount > s.fecount) &&
!t.alarms) {
strcat(alarms, "LMFA/");
}
}
#endif /* ifdef DAHDI_ALARM_LFA */
strcat(alarms, "OK");
} else {
strcpy(alarms, "UNCONFIGURED");
}
}
fprintf(stdout, "[%d]\n", x);
@@ -169,7 +196,8 @@ int main(int argc, char *argv[])
if (s.lineconfig & DAHDI_CONFIG_ESF) fprintf(stdout, "ESF");
else if (s.lineconfig & DAHDI_CONFIG_D4) fprintf(stdout, "D4");
else if (s.lineconfig & DAHDI_CONFIG_CCS) fprintf(stdout, "CCS");
else if (s.lineconfig & DAHDI_CONFIG_CRC4) fprintf(stdout, "/CRC4");
else fprintf(stdout, "CAS");
if (s.lineconfig & DAHDI_CONFIG_CRC4) fprintf(stdout, "/CRC4");
fprintf(stdout, "\n");
} else {
/* this is an analog span */

View File

@@ -15,6 +15,10 @@ static int debug;
static int verbose;
static int timeout_seconds = 60;
/* If libc provides no timeout variant: try to do without it: */
#ifndef HAVE_SEMTIMEDEOP
#define semtimedop(sem, ops, n, timeout) semop(sem, ops, n)
#endif
static void usage(void)
{

View File

@@ -229,7 +229,7 @@ sub battery($) {
return undef unless defined $self->type && $self->type eq 'FXO';
return $self->{BATTERY} if defined $self->{BATTERY};
my $xpd = $span->xpd;
my $xpd = Dahdi::Xpp::xpd_of_span($span);
my $index = $self->index;
return undef if !$xpd;
@@ -251,7 +251,7 @@ sub blink($$) {
my $on = shift;
my $span = $self->span or die;
my $xpd = $span->xpd;
my $xpd = Dahdi::Xpp::xpd_of_span($span);
my $index = $self->index;
return undef if !$xpd;

View File

@@ -77,7 +77,6 @@ sub gen_t1_cas($$) {
my $idle_bits = $gconfig->{'r2_idle_bits'};
$chan_range = Dahdi::Config::Gen::bchan_range($span);
printf "cas=%s:$idle_bits\n", $chan_range;
printf "dchan=%d\n", $span->dchan()->num();
} elsif ($pri_connection_type eq 'CAS' ) {
my $type = ($termtype eq 'TE') ? 'FXO' : 'FXS';
my $sig = $gconfig->{'dahdi_signalling'}{$type};
@@ -138,7 +137,7 @@ sub gen_digital($$$) {
if ($span->is_bri()) {
my $use_bristuff = 0;
my $cfg_hardhdlc = $gconfig->{'bri_hardhdlc'};
my $xpd = $span->xpd();
my $xpd = Dahdi::Xpp::xpd_of_span($span);
if(!defined($cfg_hardhdlc) || $cfg_hardhdlc =~ /AUTO/i) {
# Autodetect
if(defined($xpd)) {

View File

@@ -119,6 +119,7 @@ my %pci_ids = (
'1397:16b8/1397:e998' => { DRIVER => 'wcb4xxp', DESCRIPTION => 'OpenVox B800P' },
'1397:08b4/1397:b566' => { DRIVER => 'wcb4xxp', DESCRIPTION => 'BeroNet BN2S0' },
'1397:08b4/1397:b560' => { DRIVER => 'wcb4xxp', DESCRIPTION => 'BeroNet BN4S0' },
'1397:08b4/1397:b762' => { DRIVER => 'wcb4xxp', DESCRIPTION => 'BeroNet BN4S0 PCI-E card' },
'1397:16b8/1397:b562' => { DRIVER => 'wcb4xxp', DESCRIPTION => 'BeroNet BN8S0' },
'1397:08b4' => { DRIVER => 'qozap', DESCRIPTION => 'Generic Cologne ISDN card' },
'1397:16b8' => { DRIVER => 'qozap', DESCRIPTION => 'Generic OctoBRI ISDN card' },

View File

@@ -140,8 +140,9 @@ sub scan_devices_sysfs($) {
# Older kernels, e.g. 2.6.9, don't have the attribute
# busnum:
m|/(\d+)-[\d.]+$|;
my $busnum = $1 || next;
m|/((\d+)-[\d.]+)$|;
my $busnum = $2 || next;
my $dev_sys_name = $1;
my $vendor = _get_attr("$_/idVendor");
my $product = _get_attr("$_/idProduct");
my $model = $usb_ids{"$vendor:$product"};
@@ -149,6 +150,12 @@ sub scan_devices_sysfs($) {
my $devnum = _get_attr("$_/devnum");
my $serial = _get_attr_optional("$_/serial", '');
my $devname = sprintf("%03d/%03d", $busnum, $devnum);
# Get driver for first interface of the device:
my $iface = "$_/$dev_sys_name:1.0";
my $loaded = readlink("$iface/driver");
if (defined $loaded) {
$loaded =~ s|.*/||;
}
my $d = Dahdi::Hardware::USB->new(
IS_ASTRIBANK => ($model->{DRIVER} eq 'xpp_usb')?1:0,
PRIV_DEVICE_NAME => $devname,
@@ -157,6 +164,7 @@ sub scan_devices_sysfs($) {
SERIAL => $serial,
DESCRIPTION => $model->{DESCRIPTION},
DRIVER => $model->{DRIVER},
LOADED => $loaded,
);
push(@devices, $d);
}

View File

@@ -323,7 +323,7 @@ sub pri_set_fromconfig($$) {
}
push(@pri_specs , 'SPAN/* TE'); # Default
my @patlist = ( "SPAN/" . $span->num );
my $xpd = $span->{XPD};
my $xpd = Dahdi::Xpp::xpd_of_span($span);
if(defined $xpd) {
my $xbus = $xpd->xbus;
my $xbus_name = $xbus->name;

View File

@@ -349,6 +349,9 @@ udev_delayed_load() {
run_fxload -D "$DEVICE" -I "$FIRM_USB"
;;
e4e4/11[3456]1/*)
# There are potentially two separate udev events, for
# each of the two endpoints. Ignore the first interface:
case "$DEVPATH" in *.0) exit 0;; esac
if [ "$prod_id" = 1131 ]; then
FIRM_FPGA="FPGA_FXS.hex" # Legacy
else

View File

@@ -979,5 +979,28 @@ struct tone_zone builtin_zones[] =
.mfr1_level = -7,
.mfr2_level = -8,
},
{
.zone = 43,
.country = "mo",
.description = "Macao,China",
.ringcadence = { 1000, 4000 },
.tones = {
/* References: http://www.itu.int/ITU-T/inr/forms/files/tones-0203.pdf */
{ DAHDI_TONE_DIALTONE, "425" },
{ DAHDI_TONE_BUSY, "425/500,0/500" },
{ DAHDI_TONE_RINGTONE, "425/1000,0/4000" },
{ DAHDI_TONE_CONGESTION, "425/250,0/250" },
{ DAHDI_TONE_CALLWAIT, "425/200,0/600" },
/* RECORD TONE - not specified */
{ DAHDI_TONE_RECORDTONE, "1400/400,0/15000" },
{ DAHDI_TONE_INFO, "950/333,1400/333,1800/333,0/1000" },
/* STUTTER TONE - not specified */
{ DAHDI_TONE_STUTTER, "!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,!425/100,!0/100,425" },
},
.dtmf_high_level = -10,
.dtmf_low_level = -10,
.mfr1_level = -10,
.mfr2_level = -8,
},
{ .zone = -1 }
};