diff options
author | tzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2007-09-14 22:29:36 +0000 |
---|---|---|
committer | tzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2007-09-14 22:29:36 +0000 |
commit | c91b2cd29653da525d1a37cf680f4a75b2d3b208 (patch) | |
tree | f26185291a7ebb24902a2737d6e5b1fed75bb8c1 /xpp/utils | |
parent | 236601045ee0a95930414d8d5f822d9a61054aae (diff) |
New xpp release (Xorcom rev 4648):
* New firmware protocol version: 2.8 .
* New firmwares fix input ports offhook.
* Cleanup INFO() messages during module loading.
* USB: Receive queue with TASKLETS [r4600]. Controlled by rx_tasklet
parameter to xpp_usb module (can be changed in runtime).
* The pcm_tasklet parameter in xpp module is deprecated:
- Does not actually do anything.
- If set during module loading, shows an ERR() message.
- Also appears in /proc/xpp/sync
* FXS: Hardware DTMF detection by default, can be disabled
by setting dtmf_detection=0 parameter to xpd_fxs.
PCM is muted when DTMF key is pressed.
* zapconf:
- Can now generate users.conf compatible with asterisk-gui.
- Optional command-line arguments denoting which files to generate.
Possible values are 'zaptel', 'zapata' and 'users'.
- Defaults to creating zaptel and zapata.
git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.2@3019 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'xpp/utils')
-rw-r--r-- | xpp/utils/Makefile | 2 | ||||
-rwxr-xr-x | xpp/utils/zapconf | 74 | ||||
-rw-r--r-- | xpp/utils/zconf/Zaptel/Chans.pm | 1 |
3 files changed, 57 insertions, 20 deletions
diff --git a/xpp/utils/Makefile b/xpp/utils/Makefile index fb32fff..9ae1124 100644 --- a/xpp/utils/Makefile +++ b/xpp/utils/Makefile @@ -31,7 +31,7 @@ PERL_MODS := $(shell cd zconf; echo $(PERL_MODS_PAT)) XPD_FIRMWARE = $(wildcard ../firmwares/*.hex) XPD_INIT_DATA = $(XPD_FIRMWARE) init_fxo_modes XPD_INIT = $(wildcard ../init_card_?_*) ../calibrate_slics xpp_fxloader -XPD_INIT_PERL = ../init_card_6_26 ../init_card_7_26 ../init_card_9_26 +XPD_INIT_PERL = ../init_card_6_28 ../init_card_7_28 ../init_card_9_28 # Variables that should be defined above, but need sane defaults: # FIXME: Are those values really sane? diff --git a/xpp/utils/zapconf b/xpp/utils/zapconf index 7cf1378..472c3af 100755 --- a/xpp/utils/zapconf +++ b/xpp/utils/zapconf @@ -41,16 +41,16 @@ my $fxs_default_start = 'ls'; my %default_zaptel_signalling = ( FXO => 'fxsks', - FXS => "fxo$fxs_default_start", - IN => "fxo$fxs_default_start", - OUT => "fxo$fxs_default_start", + FXS => "fxo{fxs_default_start}", + IN => "fxo{fxs_default_start}", + OUT => "fxo{fxs_default_start}", ); my %default_zapata_signalling = ( FXO => 'fxs_ks', - FXS => "fxo_$fxs_default_start", - IN => "fxo_$fxs_default_start", - OUT => "fxo_$fxs_default_start", + FXS => "fxo_{fxs_default_start}", + IN => "fxo_{fxs_default_start}", + OUT => "fxo_{fxs_default_start}", ); my $base_exten = 4000; @@ -106,13 +106,15 @@ sub map_zaptel_defaults { my $zapconf_file; -my $zapata_file; +my $zapatachannels_file; my $users_file; +my $zapataconf_file; my %files = ( zaptel => { file => \$zapconf_file, func => \&gen_zaptelconf }, - zapata => { file => \$zapata_file, func => \&gen_zapataconf }, + zapata => { file => \$zapatachannels_file, func => \&gen_zapatachannelsconf }, users => { file => \$users_file, func => \&gen_usersconf }, + zapataconf => { file => \$zapataconf_file, func => \&gen_zapataconf }, ); my @default_files = ("zaptel", "zapata"); @@ -246,7 +248,7 @@ sub gen_zapata_digital($) { my $sig = $span->signalling || die "missing signalling info for span #$num type $type"; grep($bri_sig_style eq $_, 'bri', 'bri_ptmp', 'pri') or die "unknown signalling style for BRI"; - if($bri_sig_style eq 'bri_ptmp') { + if($span->is_bri() and $bri_sig_style eq 'bri_ptmp') { $sig .= '_ptmp'; } $group .= "," . (10 + $num); # Invent unique group per span @@ -306,7 +308,7 @@ sub gen_zapata_channel($) { print "\n"; } -sub gen_zapataconf($) { +sub gen_zapatachannelsconf($) { my $file = shift || die; rename "$file", "$file.bak" or $! == 2 # ENOENT (No dependency on Errno.pm) @@ -344,14 +346,15 @@ sub gen_users_channel($) { die "channel $num type $type is not an analog channel\n" if $chan->is_digital(); my $exten = $base_exten + $num; my $sig = $default_zapata_signalling{$type}; + my $full_name = "$type $num"; - return unless grep { $_ eq $type} ( 'FXS', 'IN', 'OUT' ); die "missing default_zapata_signalling for chan #$num type $type" unless $sig; print << "EOF"; [$exten] callwaiting = yes context = numberplan-custom-1 -fullname = New User +fullname = $full_name +cid_number = $exten hasagent = yes hasdirectory = no hasiax = yes @@ -362,6 +365,8 @@ host = dynamic mailbox = $exten threewaycalling = yes vmsecret = 1234 +secret = 1234 +signalling = $sig zapchan = $num registeriax = yes registersip = yes @@ -438,12 +443,32 @@ localextenlength = 4 HEAD foreach my $span (@spans) { + next unless grep { $_ eq $span->type} ( 'FXS', 'IN', 'OUT' ); printf "; Span %d: %s %s\n", $span->num, $span->name, $span->description; - if($span->is_digital()) { - next; - } else { - foreach my $chan ($span->chans()) { - gen_users_channel($chan); + foreach my $chan ($span->chans()) { + gen_users_channel($chan); + } + print "\n"; + } + close F; + select $old; +} + +sub gen_zapataconf($) { + my $file = shift || die; + open(F, ">>$file") || die "$0: Failed to open $file: $!\n"; + my $old = select F; + foreach my $span (@spans) { + next unless $span->type eq 'FXO'; + my $current_sig = ""; + for my $chan ($span->chans()) { + my $chan_num = $chan->num; + if ($default_zapata_signalling{$chan->type} ne $current_sig) { + $current_sig = $default_zapata_signalling{$chan->type}; + print "\nsignalling = $current_sig"; + print "\nchannel => $chan_num"; + } else { + print ",$chan_num"; } } print "\n"; @@ -464,9 +489,14 @@ sub set_defaults { if -r $defaults; } map_zaptel_defaults(%source_defaults); + # Fixups + foreach my $val (values %default_zaptel_signalling, values %default_zapata_signalling) { + $val =~ s/{fxs_default_start}/$fxs_default_start/g; + } $zapconf_file = $ENV{ZAPCONF_FILE} || "/etc/zaptel.conf"; - $zapata_file = $ENV{ZAPATA_FILE} || "/etc/asterisk/zapata-channels.conf"; + $zapatachannels_file = $ENV{ZAPATA_FILE} || "/etc/asterisk/zapata-channels.conf"; $users_file = $ENV{USERS_FILE} || "/etc/asterisk/users.conf"; + $zapataconf_file = $ENV{ZAPATACONF_FILE} || "/etc/asterisk/zapata.conf"; } sub parse_args { @@ -500,7 +530,7 @@ zapconf [FILES...] =head1 DESCRIPTION This script generate configuration files for Zaptel hardware. -Currently it can generate three files: zaptel, zapata and users (see below). +Currently it can generate three files: zaptel, zapata, users and zapataconf (see below). Without arguments, it generates only zaptel and zapata. =over 4 @@ -520,4 +550,10 @@ It's location may be overriden by the environment variable ZAPATA_FILE. Configuration for asterisk(1) and AsteriskGUI. It's location may be overriden by the environment variable USERS_FILE. +=item zapataconf - /etc/asterisk/zapata.conf + +Configuration for asterisk(1) and AsteriskGUI. +It's location may be overriden by the environment variable ZAPATACONF_FILE. + + =back diff --git a/xpp/utils/zconf/Zaptel/Chans.pm b/xpp/utils/zconf/Zaptel/Chans.pm index f50d212..cd25bbb 100644 --- a/xpp/utils/zconf/Zaptel/Chans.pm +++ b/xpp/utils/zconf/Zaptel/Chans.pm @@ -61,6 +61,7 @@ sub new($$$$$$) { $type = undef; } $self->type($type); + $self->span()->type($type) if $self->span()->type() eq 'UNKNOWN'; return $self; } |