AGI und PHP Probleme

P.Hoffmann

Neuer User
Mitglied seit
1 Feb 2009
Beiträge
179
Punkte für Reaktionen
0
Punkte
0
Hallo,
bei folgendem PHP-Script erhalte ich immer die unerklärliche Fehlermeldung:

Code:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ']' in /var/lib/asterisk/agi-bin/ruf-rein.agi on line 47

Hat jemand einen Tipp?

Viele Grüße,
Philipp

Code:
#!/usr/bin/php -q
<?php
/**
 * Eingehende Rufnummernübermittlung
 *
 * Autor: Philipp Hoffmann: 07.04.2010, 09:12 Uhr
 */

/****** Vorbereitung ******/
include("phpagi.php");

/****** Script ******/

/*** network provided number in nationales Format bringen ***/

if (substr($agi->request["agi_callerid'],0,2)) != '49') {

  /* Rufnummer beginnt nicht mit 49, d.h. der Anruf kommt aus dem Ausland! */

  $agi->request['agi_callerid'] = '00'.$agi->request['agi_callerid'].'';
} else {

  /* Rufnummer beginnt mit 49, d.h. der Anruf kommt aus dem Inland! */

  $agi->request['agi_callerid'] = substr($agi->request['agi_callerid'], 2);

  $agi->request['agi_callerid'] = '0'.$agi->request['agi_callerid'].'';
}

/*** user provided number prüfen ***/

if ($agi->request['agi_calleridname'] != 'Anoynmous') {

  /* Rufnummer ist nicht unterdrückt, hier auch die network provided setzen. */

  $agi->request['agi_calleridname'] = $agi->request['agi_callerid'];

} else {

  /* Rufnummer ist unterdrückt, network provided number löschen */

  $agi->request['agi_callerid'] = 'anonymous';
}

/*** Fertig, Daten an Asterisk senden ***/

$agi->set_callerid('"'.$agi->request['agi_calleridname'].'" <'.$agi->request['agi_callerid'].'>');
?>
 
Hallo Philipp,

in Zeile 16 hast Du zwei verschiedene Anführungszeichen.

PHP:
if (substr($agi->request["agi_callerid'],0,2)) != '49') {

Nimm einen Editor mit Syntax Highlighting, da findest man so etwas meistens schneller.

Svenja
 
Gilt eigentlich generell, dass man erstmal nach Quotings schaut, wenn
PHP ueber 'unexpected' X_DIDELDUM meckert.
Wobei der Fehler weit weg von der Ursache gemeldet werden kann - wie
genau in diesem Fall.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.