Hallo,
als erstes erstellen wir ein Label (telefonbuch.de oder dasoerstliche.de).
Anschließend wird ein Script erstellt. Dies kann bei “Anruf vorher” eingebunden werden. Die Variable MDC_LABEL-3 entspricht dem vorher erstellten Label.
exten => s,1,Verbose("=================================")
exten => s,2,agi(agi_get_oertliche.agi,${MDC_CALLER_NUM_NAT})
exten => s,3,Verbose("=================================")
exten => s,4,Verbose("===>${MDC_LABEL-3}")
exten => s,5,Return()
Anschließend muss auf in der Console per SSH in die Instanz gesprungen (lxc-attach -n instanzname) werden. Dort wird im Verzeichnis /etc/asterisk/agi ein neues AGI script angelegt.
#!/bin/bash
nummer=$1
name=$(curl -m 1 --connect-timeout 1 -s "https://mobydick.datazon.de/reverse_oertliche.php?telefonnummer=$nummer")
name=$(echo -e "$name" | sed -e 's/^[ \t]*//')
echo 'SET VARIABLE MDC_LABEL-3 '\"$name\"
Anschließend das AGI script ausführbar machen.
chmod a+x agi_get_oertliche.agi
Die Magie passiert auf dem Webserver. Dieser nimmt die Telefonnummer entgegen und filtert den Namen von der Webseite raus und gibt ihn zurück. Das hat den Grund, wenn dasoertliche.de oder telefonbuch.de die Seite ändern, muss ich nicht bei allen Anlagen das Script aktualisieren, sondern nur an einer zentralen Stelle. Ach und falls das Thema Datenschutz aufkommt. Es werden bei dieser Subdomain keinerlei Logdaten gespeichert.
Das AGI Script für das telefonbuch.de sieht ähnlich aus.
#!/bin/bash
nummer=$1
name=$(curl -m 1 --connect-timeout 1 -s "https://mobydick.datazon.de/reverse_telefonbuch.php?telefonnummer=$nummer")
ort=$(echo -e "$name" | awk -F'|' '{print $2}')
name=$(echo -e "$name" | awk -F'|' '{print $1}')
echo 'SET VARIABLE MDC_LABEL-5 '\"$name\"
echo 'SET VARIABLE MDC_LABEL-6 '\"$ort\"
Das Script gibt zusätzlich noch den Ort des Anrufers zurück.
Gruss
Flo