Hallo Community,
ich hab ein kleines Perl script geschrieben, um aus Kontact oder besser gesagt KAdressbuch meine Kontakte anzurufen.
Meine Konstellation sieh dabei so aus, dass ich ne ISDN Anlage und ein ISDN Telefon an ner HFC im NT Mode betreibe, und per AVM Fritz!Card PCI, also Capi nach draußen telefoniere.
Da ich hier noch kein Skript in der Richtung gefunden habe, dachte ich mir ich poste mal meines.
Verbesserungsvorschläge sind natürlich immer gern gesehn.
Also, zuerstmal der Eintrag in der extensions.conf:
Das xxxx sollte natürlich durch eine Telefonnummer ersetzt werden die in der capi.conf steht.
Jetzt brauchen wir nurnoch das Perl Skript, ich habe es unter dial.pl gespeichert, mit folgendem Inhalt:
Ist zwar nicht sauberstes Perl, und auch ein bischen von manchen vorlagen abgeschaut, aber es tut.
Jetzt muss im KAdressbuch unter "Telefon" nurnoch die Zeile:
eingetragen werden, also z.B.:
12345 ist wie immer die Telefonnummer die beim Angerufenen erscheinen soll.
Hoffe es nützt manchen....
Für Kritik oder anregungen bin ich immer offen.
Mfg Ogir
ich hab ein kleines Perl script geschrieben, um aus Kontact oder besser gesagt KAdressbuch meine Kontakte anzurufen.
Meine Konstellation sieh dabei so aus, dass ich ne ISDN Anlage und ein ISDN Telefon an ner HFC im NT Mode betreibe, und per AVM Fritz!Card PCI, also Capi nach draußen telefoniere.
Da ich hier noch kein Skript in der Richtung gefunden habe, dachte ich mir ich poste mal meines.
Verbesserungsvorschläge sind natürlich immer gern gesehn.
Also, zuerstmal der Eintrag in der extensions.conf:
Code:
[phonebook]
exten => _.,1,Dial(CAPI/${VON}:${EXTEN},,Tt)
Das xxxx sollte natürlich durch eine Telefonnummer ersetzt werden die in der capi.conf steht.
Jetzt brauchen wir nurnoch das Perl Skript, ich habe es unter dial.pl gespeichert, mit folgendem Inhalt:
Code:
#!/usr/bin/perl
$ENV{'PATH'}='';
$ENV{'BASH_ENV'}='';
$ENV{'ENV'}='';
$| = 1;
use Net::Telnet ();
use File::Basename;
my $user = "user-aus-manager.conf";
my $passwort = "passwort-von-user";
my $failed = 0;
my $grund = undef;
my $server = "asterisk-ip-oder-servername";
my $an= @ARGV[1];
my $von= @ARGV[0];
$tn = new Net::Telnet (Port => 5038,
Prompt => '/.*[\$%#>] $/',
Output_record_separator => '',
Errmode => 'return'
);
$tn->open($server);
$tn->waitfor('/0\n$/');
$tn->print("Action: Login\nUsername: $user\nSecret: $passwort\n\n");
unless($tn->waitfor('/Authentication accept*/'))
{
$failed = 1;
$grund = "Failed Connect";
}
else
{
$tn->print("Action: originate\nchannel: zap/g1/$von\nexten: $an\npriority: 1\ncontext: phonebook\nVariable: VON=$von\n\n");
}
Ist zwar nicht sauberstes Perl, und auch ein bischen von manchen vorlagen abgeschaut, aber es tut.
Jetzt muss im KAdressbuch unter "Telefon" nurnoch die Zeile:
Code:
/pfad-zur-dial.pl/dial.pl ausgehende-Nummer %N
Code:
/usr/sbin/dial.pl 12345 %N
12345 ist wie immer die Telefonnummer die beim Angerufenen erscheinen soll.
Hoffe es nützt manchen....
Für Kritik oder anregungen bin ich immer offen.
Mfg Ogir