Nach Callerid(name) ändern, höre ich die Gegenstelle nicht.

strikegun

Neuer User
Mitglied seit
18 Apr 2007
Beiträge
34
Punkte für Reaktionen
0
Punkte
6
Hi,
ich habe ein Script in php gebaut um mir die Telefon Nummer des Anrufers
anzeigen zu lassen.

im extensions.ael
macro incoming () {
NoOp(Received incoming SIP to ${EXTEN} - ${CALLERID(all)});
agi(caller_lookup_egw.php|${CALLERID(num)});
NoOp(Anrufer ist ${name});
set(CALLERID(name)=${name});
&nachschaltung(${vip});
}

caller_lookup_egw.php
.....
$result=$db->query($sql);
$vip="no";
if ($result->num_rows>0) {
$row=$result->fetch_array(MYSQLI_BOTH);
$name=utf8_decode($row['n_fn']);
$name = str_replace (array("ä", "ö", "ü", "ß", "Ä", "Ö", "Ü"), array("ae", "oe", "ue", "ss", "Ae", "Oe", "Ue"), $name);
if ($row['tel_work']==$nummer) $name=$name."-Buero";
else if ($row['tel_cell']==$nummer || $row['tel_cell_private']==$nummer) $name=$name."-Mobil";
else if ($row['tel_fax']==$nummer || $row['tel_fax_home']==$nummer) $name=$name."-Fax";
else if ($row['tel_home']==$nummer) $name=$name."-Home";
$cats=explode(",",$row['cat_id']);
foreach($cats as $cat) {
if ($cat == $cat_id_vip) {
$vip="yes";
}
}
} else {
$name=$nummeralt;
}
echo 'SEND TEXT "'.$name.'"'."\n";
echo 'SET VARIABLE NAME '."\"$name\"\n";
.....
nur wenn so ein Anruf reinkommt, kann ich den Anrufer nicht hören, aber er mich.
Sobald ich den AGI Kommand auskommentiere geht es.
Hat jemand eine Idee was ich falsch mache?

Es läuft auf Asterisk 1.4.19
Danke

Strikegun
 
[gelöst]Nach Callerid(name) ändern, höre ich die Gegenstelle nicht.

ich habe es erstmal anders gemacht.

caller_lookup_egw.php
.....
if ($result->num_rows>0) {
$row=$result->fetch_array(MYSQLI_BOTH);
$name=utf8_decode($row['n_fn']);
$name = str_replace (array("ä", "ö", "ü", "ß", "Ä", "Ö", "Ü"), array("ae", "oe", "ue", "ss", "Ae", "Oe", "Ue"), $name);
if ($row['tel_work']==$nummer) $name=$name."-Buero";
else if ($row['tel_cell']==$nummer || $row['tel_cell_private']==$nummer) $name=$name."-Mobil";
else if ($row['tel_fax']==$nummer || $row['tel_fax_home']==$nummer) $name=$name."-Fax";
else if ($row['tel_home']==$nummer) $name=$name."-Home";
$cats=explode(",",$row['cat_id']);
foreach($cats as $cat) {
if ($cat == $cat_id_vip) {
$vip="yes";
}
}
} else {
$name="";
}
$s_out = fopen("php://stdout", "w");
$number=cid_build( $name, $nummeralt );
fputs($s_out,"SET CALLERID $number\n");
fputs($s_out,"SET VARIABLE VIP \"$vip\"\n");

function cid_build( $name, $number )
{ if( $name == "" )
{ return trim( substr( str_replace( " ", "", $number ), 0, 24 ) ); }
else
{ return "\"" . trim( substr( trim( $name ), 0, 24 ) )
. "\"<" . trim( substr( str_replace( " ", "", $number ), 0, 24 ) )
.">";
}
}
.....
Damit wird direkt aus dem AGI script die CallerID gesetzt. Aber gleich mit Name und Nummer.
Anscheint mag er es nicht nur den Namen zu ändern. Aber ganz schlüssig bin ich mir nicht warum es nur so geht.
Jedenfalls bekomm ich nun endlich meine Namen aus dem Egroupware Adressbuch.
 
Kostenlos!

Neueste Beiträge

Statistik des Forums

Themen
248,904
Beiträge
2,304,584
Mitglieder
378,604
Neuestes Mitglied
Duggy