Anfängerfrage: Scriptaufruf am Ende eines Gespräches

kibeki

Neuer User
Mitglied seit
18 Mai 2005
Beiträge
22
Punkte für Reaktionen
0
Punkte
1
Hi,
wahrscheinlich eine Anfängerfrage, aber....

Ich möchte am Ende eines Gespräches, also nachdem einer der beiden Teilnehmer aufgelegt hat, ein Script aufrufen.
Kann mir bitte jemand einen Dialplan hierzu posten.
 
Nach Ende des Gespräches landet der Channel in der h extension. Da kannst Du ein Script starten
siehe DeadAGI
 
bitte sehr:
Code:
[contextname]
exten = _X.,1,Set(DIALED_EXTENSION=${EXTEN})
exten = _X.,n,Dial(SIP/tel10,60,r)

exten = h,1,DeadAGI(vars.php|${DIALED_EXTENSION ${CALLERID(num)})
exten = h,n,Hangup()

hier merkt sich der dialplan die gewählte durchwahl und übergibt diese plus die callerid als parameter an das script /var/lib/asterisk/agi-bin/vars.php. asterisk übergibt dem agi script einiges an variablen, hier ein beispiel-script aus den zakotel asterisk packages (debian etch), das auf der CLI von asterisk alle variablen anzeigt, die von der asterisk an das script übergeben werden (/var/lib/asterisk/agi-bin/vars.php):
Code:
#!/usr/bin/php -q
<?php
function read() {
  global $in, $debug;
  $input = str_replace("\n", "", fgets($in, 4096));
  return $input;
}

// open stdin
$in=fopen("php://stdin","r");

// read agi variables asterisk sent us
while ($env=read()) {
  $s = split(": ",$env);
  $agi[str_replace("agi_","",$s[0])] = trim($s[1]);
  if (($env == "") || ($env == "\n")) {
    break;
  }
}
ksort($agi);
reset($agi);
echo "verbose \"AGI Variables:\"\n";
read();
echo "verbose \"----------------------------------------------\"\n";
read();
while (list($key,$val)=each($agi)) {
    echo "verbose \"agi['".$key."']= ".$val."\"\n";
    read();
}
echo "verbose \"----------------------------------------------\"\n";
read();
echo "verbose \"angerufene nummer war: " . $argv[1] . ", callerid war " . $argv[2] . "\"\n";
read();
?>
der letzte "echo" befehl zeigt in der cli die zwei variablen, die als parameter übergeben wurden.

[EDIT]VORSICHT: das script MUSS ausführungsrechte haben:
Code:
# chmod 755 /var/lib/asterisk/agi-bin/vars.php
[/EDIT]

grüße,
laureen
 
Zuletzt bearbeitet:
Kostenlos!

Neueste Beiträge

Statistik des Forums

Themen
248,890
Beiträge
2,304,190
Mitglieder
378,576
Neuestes Mitglied
densen420