![Smile :)](./images/smilies/icon_smile.gif)
![Wink ;)](./images/smilies/icon_wink.gif)
Man kann natürlich auch die Rufnummern mit den Script übermitteln ... einfach mal mit den Ausgabeformat spielen
![Wink ;)](./images/smilies/icon_wink.gif)
http://www.wehavemorefun.de/fritzbox/Ca ... gabeformat
Code: Alles auswählen
#!/usr/bin/perl -w
#Version 0.1
#written by eiGelbGeek 2017
#Script noch nicht vollständig! Für die Zuordnung des Disconnect habe ich noch keine schöne Lösung gefunden!
#Ring = eingehende Anrufe zugeordnet nach den SIP Accounts wie sie in der Fritzbox eingetragen sind, beginnend mit SIP0
#Call sind ausgehende Anrufe zugeordnet nach den Nebenstellen. siehe dazu http://www.wehavemorefun.de/fritzbox/Callmonitor#Ausgabeformat!
#Connect sind aktive Verbindungen ebenfalls den Nebenstellen zugeordnet!
#Disconnect ist noch völlig Allgemein und spricht immer an, sobald irgendeine Telefonverbindung beendet wird!
use IO::Socket;
use strict;
#FritzBox_IP
my $FRITZBOX="FRITZBOX-IP-ADRESSE";
my $sock = new IO::Socket::INET (
PeerAddr => $FRITZBOX,
PeerPort => '1012',
Proto => 'tcp'
);
die "Could not create socket: $!\n" unless $sock;
while(<$sock>)
{
if ($_ =~ /RING/)
{
my @C = split(/;/);
if ($C[5] =~ /SIP0/)
{
system "curl 'http://CCU-IP-ADRESSE/config/xmlapi/statechange.cgi?ise_id=XXXXX&new_value=0'";
}
elsif ($C[5] =~ /SIP1/)
{
system "curl 'http://CCU-IP-ADRESSE/config/xmlapi/statechange.cgi?ise_id=XXXXX&new_value=0'";
}
elsif ($C[5] =~ /SIP2/)
{
system "curl 'http://CCU-IP-ADRESSE/config/xmlapi/statechange.cgi?ise_id=XXXXX&new_value=0'";
}
}
if ($_ =~ /CALL/)
{
my @C = split(/;/);
if ($C[3] =~ /5/)
{
system "curl 'http://CCU-IP-ADRESSE/config/xmlapi/statechange.cgi?ise_id=XXXXX&new_value=0'";
}
elsif ($C[3] =~ /11/)
{
system "curl 'http://CCU-IP-ADRESSE/config/xmlapi/statechange.cgi?ise_id=XXXXX&new_value=0'";
}
}
if ($_ =~ /CONNECT/)
{
my @C = split(/;/);
if ($C[3] =~ /5/)
{
system "curl 'http://CCU-IP-ADRESSE/config/xmlapi/statechange.cgi?ise_id=XXXXX&new_value=0'";
}
elsif ($C[3] =~ /11/)
{
system "curl 'http://CCU-IP-ADRESSE/config/xmlapi/statechange.cgi?ise_id=XXXXX&new_value=0'";
}
elsif ($C[3] =~ /40/)
{
system "curl 'http://CCU-IP-ADRESSE/config/xmlapi/statechange.cgi?ise_id=XXXXX&new_value=0'";
}
elsif ($C[3] =~ /41/)
{
system "curl 'http://CCU-IP-ADRESSE/config/xmlapi/statechange.cgi?ise_id=XXXXX&new_value=0'";
}
}
if ($_ =~ /DISCONNECT/)
{
system "curl 'http://CCU-IP-ADRESSE/config/xmlapi/statechange.cgi?ise_id= XXXXX&new_value=0'";
}
}