moving things to more logical layout
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@14005 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
3748f84536
commit
b34d524e72
191
scripts/sipsetup
191
scripts/sipsetup
|
@ -1,191 +0,0 @@
|
|||
#!/usr/bin/perl
|
||||
#
|
||||
# FreeSWITCH SIP Setup Assistant v1.0
|
||||
# Brian K. West <brian.west@mac.com>
|
||||
#
|
||||
#
|
||||
|
||||
use Data::Dumper;
|
||||
use File::Copy;
|
||||
|
||||
|
||||
my $PREFIX = "/usr/local/freeswitch";
|
||||
|
||||
my $providers = {
|
||||
"1" => "FWD",
|
||||
"2" => "SP",
|
||||
"3" => "IS",
|
||||
"4" => "AL",
|
||||
"5" => "SB",
|
||||
"6" => "VU",
|
||||
"7" => "BV"
|
||||
};
|
||||
|
||||
|
||||
my $FWD = {
|
||||
"type" => "network",
|
||||
"register" => "true",
|
||||
"fields" => [number, password, extension],
|
||||
"domain" => "pulver.com",
|
||||
"dialprefix" => "1-393"
|
||||
};
|
||||
|
||||
my $BROADVOICE = {
|
||||
"type" => "network",
|
||||
"register" => "true",
|
||||
"fields" => [username, password, extension],
|
||||
"domain" => "sip.broadvoice.com",
|
||||
"dialprefix" => "1-393"
|
||||
};
|
||||
|
||||
my $SIPHONE = {
|
||||
"type" => "network",
|
||||
"register" => "true",
|
||||
"fields" => [username, password, extension],
|
||||
"domain" => "sipphone.com",
|
||||
"dialprefix" => "1-747, 1-222"
|
||||
};
|
||||
|
||||
my $IDEASIP = {
|
||||
"type" => "network",
|
||||
"register" => "true",
|
||||
"fields" => [username, password, extension],
|
||||
"domain" => "ideasip.com",
|
||||
"dialprefix" => "1-101"
|
||||
};
|
||||
|
||||
my $VOIPUSER = {
|
||||
"type" => "network",
|
||||
"register" => "true",
|
||||
"fields" => [username, password, extension],
|
||||
"domain" => "voipuser.org"
|
||||
};
|
||||
|
||||
my $ASTERLINK = {
|
||||
"type" => "pstn",
|
||||
"register" => "true",
|
||||
"fields" => [username, password, extension],
|
||||
"domain" => "asterlink.com",
|
||||
};
|
||||
|
||||
my $SIPBROKER = {
|
||||
"type" => "peer",
|
||||
"domain" => "sipbroker.com",
|
||||
"dialprefix" => "*XXX"
|
||||
};
|
||||
|
||||
my $TEMPLATES = {
|
||||
"FWD" => $FWD,
|
||||
"SP" => $SIPPHONE,
|
||||
"IS" => $IDEASIP,
|
||||
"AL" => $ASTERLINK,
|
||||
"SB" => $SIPBROKER,
|
||||
"VU" => $VOIPUSER,
|
||||
"BV" => $BROADVOICE
|
||||
};
|
||||
|
||||
print "\n" x 60;
|
||||
&welcome;
|
||||
|
||||
sub welcome {
|
||||
print <<WELCOME
|
||||
|
||||
Welcome to the FreeSWITCH setup assistant.
|
||||
|
||||
1. Configure Free World Dialup
|
||||
2. Configure SIPPhone.com
|
||||
3. Configure ideaSIP.com
|
||||
4. Configure Asterlink.com
|
||||
5. Configure SIPBroker.com
|
||||
6. Configure voipuser.org
|
||||
7. Configure broadvoice.com
|
||||
|
||||
X. Exit
|
||||
|
||||
WELCOME
|
||||
;
|
||||
print "Which provider do you wish to setup? ";
|
||||
my $i = <STDIN>;
|
||||
chomp($i);
|
||||
if ($i =~ m/X|x/) {
|
||||
print "Thanks you!\n"; exit;
|
||||
} elsif ($i > 7) {
|
||||
print "Invalid Choice\n"; &welcome;
|
||||
} else {
|
||||
if (exists($providers->{$i})) {
|
||||
configure_sip_provider($providers->{$i});
|
||||
}
|
||||
};
|
||||
&welcome;
|
||||
}
|
||||
|
||||
sub configure_sip_provider($) {
|
||||
my $provider = shift;
|
||||
my $template = $TEMPLATES->{$provider};
|
||||
my $config;
|
||||
my $check = 1;
|
||||
foreach $field (@{$template->{fields}}) {
|
||||
print "\nPlease your $template->{domain} $field: ";
|
||||
$tmp = "$provider" . uc($field);
|
||||
$i = <STDIN>;
|
||||
chomp($i);
|
||||
$config->{$tmp} = $i;
|
||||
}
|
||||
|
||||
while($check) {
|
||||
$check = &are_you_sure;
|
||||
};
|
||||
|
||||
if ($template->{type} eq "network" || $template->{type} eq "pstn") {
|
||||
do_config($provider, $config);
|
||||
}
|
||||
if ($template->{dialprefix}) {
|
||||
enable_extension($provider, $config);
|
||||
}
|
||||
print "\n\n\nConfiguration Complete!!!\n\n\n\n\n";
|
||||
sleep(2);
|
||||
&welcome;
|
||||
}
|
||||
|
||||
sub enable_extension($$) {
|
||||
my $provider = shift;
|
||||
my $config = shift;
|
||||
|
||||
my $todo = $TEMPLATES->{$provider};
|
||||
|
||||
copy("$PREFIX/conf/dialplan/extensions/$todo->{domain}.noload", "$PREFIX/conf/dialplan/extensions/$todo->{domain}.xml");
|
||||
print "\nExtension prefix $todo->{dialprefix} enabled for dialing $todo->{domain}...\n";
|
||||
}
|
||||
|
||||
sub do_config($$) {
|
||||
my $provider = shift;
|
||||
my $config = shift;
|
||||
my $todo = $TEMPLATES->{$provider};
|
||||
|
||||
open(TEMPLATE, "<$PREFIX/conf/directory/default/$todo->{domain}.noload");
|
||||
@lines = <TEMPLATE>;
|
||||
close(TEMPLATE);
|
||||
open(CONFIG, ">$PREFIX/conf/directory/default/$todo->{domain}.xml");
|
||||
foreach $line (@lines) {
|
||||
foreach $key (sort keys %{$config}) {
|
||||
$line =~ s/%$key%/$config->{$key}/g;
|
||||
}
|
||||
print CONFIG $line;
|
||||
}
|
||||
close(CONFIG);
|
||||
print "Config Created...\n";
|
||||
}
|
||||
|
||||
sub are_you_sure {
|
||||
my $sure = 1;
|
||||
while($sure) {
|
||||
print "Are you sure? (yes/no)";
|
||||
$i = <STDIN>;
|
||||
chomp($i);
|
||||
if($i =~ m/No|no|NO|n/) {
|
||||
&welcome;
|
||||
} elsif ($i =~ m/Yes|yes|YES|y/) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue