+4X wird nicht gewählt

fowe

Neuer User
Mitglied seit
18 Aug 2005
Beiträge
102
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe das Rückwärtssuche-Script auf meinem * installiert.
Dieses speichert die nummern inkl. Landeskennung.

Nun hab ich das Telefonbuch des GXP2000 mit diesem synchronisiert jedoch kann mein Fon nix mit +4x anfangen ... !!?? Falsche Nummer / remote Partner nicht Online .

Gib's ne möglichkeit das zu fixen ?

G fowe
 
Das Problem müsste man im PHP-Script lösen...

Bin leider kein grosser coder.

Ich hab schonmal zwei 00 vor die $row['nummer'] eingefügt. Diese werden auch auf das GXP übermittelt. (00+49xxxxxxxxx)

Nun sollte "nur" noch das + weg.


Ich hab den Code mal angehängt :


Code:
<?php

// File: gs_phonebook.php
// version: 1.0
// Date: 07-17-2006
// Author: Shane Steinbeck http://www.steinbeckconsulting.com
// Description: Realtime XML phonebook from MySQL database for Grandstream GXP-2000 firmware 1.1.1.17

header("Content-type: text/xml");

$host = "localhost";
$user = "asterisk";
$pass = "blabloebla";
$database = "asterisk";

$linkID = mysql_connect($host, $user, $pass) or die("Could not connect to host.");
mysql_select_db($database, $linkID) or die("Could not find database.");

$query = "SELECT name, nummer FROM pbook ORDER BY name ASC";
$resultID = mysql_query($query, $linkID) or die("Data not found.");

$xml_output = "<?xml version=\"1.0\"?>\n";
$xml_output .= "<AddressBook>\n";
for($x = 0 ; $x < mysql_num_rows($resultID) ; $x++){
 $row = mysql_fetch_assoc($resultID);
 $xml_output .= "\t<Contact>\n";
 $xml_output .= "\t\t<LastName>" . $row['name'] . "</LastName>\n";
 $xml_output .= "\t\t\t<Phone>\n\t\t\t\t<phonenumber>00" . $row['nummer'] . "</phonenumber>\n";
 $xml_output .= "\t\t\t\t<accountindex>" . 0 . "</accountindex>\n";
 $xml_output .=  "\t\t\t</Phone>\n";
 $xml_output .= "\t</Contact>\n";

}

$xml_output .= "</AddressBook>";

echo $xml_output;

?>

Könnte mir jemand helfen ?
 
Ich habe von dem Script zwar keine Ahnung, aber prinzipiell kannst Du das + z.B. auf zwei Weisen ersetzen:

1. $row['number'] = '00' . substr($row['number'], 1);
2. $row['number'] = str_replace('+', '00', $row['number']);

Loesung 1. loescht bedingungslos die erste Stelle und stellt '00' voran. Gibt halt Probleme, wenn mal kein '+' vorne steht.

Loesung 2. ersetzt alle '+' durch '00'. Gibt halt Probleme, wenn mehr als ein '+'-Zeichen in der Nummer ist. Aber dann ist die Nummer eh Fratze :)

Viel Glueck,
Lars
 
Hat geklappt !!!

Besten Dank ;-)
 
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.