OVH Cloud OVH Cloud

Probleme de 0 en CTI!!

3 réponses
Avatar
Jeremie Picaude
Hé oui, on peut faire du CTI avec PHP!!
Seulement j'ai un problème : PHP ne détecte pas les 0!!
Je suis à la recherche d'une solution, j'ai pensé à ceci et je
souhaiterais avoir votre avis:

Je crée un tableau.
Le premier élément est toujours 0 (il compte comme le 01, 02, 03, 04,
etc du numéro de l'appelant) .
Ensuite pour chaque chiffre composant le numéro de téléphone reçu, je le
place dans le tableau.
Une fois que le tableau est rempli (10 éléments), je regarde chaque
élément et le rempleace par 0 s'il ne contient pas de chiffre...

A votre avis, ça marcherait?

Merci d'avance pour votre avis.

Jérémie

3 réponses

Avatar
Philippe Chaissac
Hé oui, on peut faire du CTI avec PHP!!
Seulement j'ai un problème : PHP ne détecte pas les 0!!
Je suis à la recherche d'une solution, j'ai pensé à ceci et je
souhaiterais avoir votre avis:

Je crée un tableau.
Le premier élément est toujours 0 (il compte comme le 01, 02, 03, 04,
etc du numéro de l'appelant) .
Ensuite pour chaque chiffre composant le numéro de téléphone reçu, je le
place dans le tableau.
Une fois que le tableau est rempli (10 éléments), je regarde chaque
élément et le rempleace par 0 s'il ne contient pas de chiffre...

A votre avis, ça marcherait?


Il faudrait savoir un peu plus précisément comment tu récupères ce
numéro. Il doit y avoir plus simple non ? un bout de code serait bienvenue.

Avatar
Jeremie
Philippe Chaissac wrote:

Hé oui, on peut faire du CTI avec PHP!!
Seulement j'ai un problème : PHP ne détecte pas les 0!!
Je suis à la recherche d'une solution, j'ai pensé à ceci et je
souhaiterais avoir votre avis:

Je crée un tableau.
Le premier élément est toujours 0 (il compte comme le 01, 02, 03, 04,
etc du numéro de l'appelant) .
Ensuite pour chaque chiffre composant le numéro de téléphone reçu, je le
place dans le tableau.
Une fois que le tableau est rempli (10 éléments), je regarde chaque
élément et le rempleace par 0 s'il ne contient pas de chiffre...

A votre avis, ça marcherait?


Il faudrait savoir un peu plus précisément comment tu récupères ce
numéro. Il doit y avoir plus simple non ? un bout de code serait
bienvenue.
<?

$fd = dio_open("/dev/ttyS0", O_RDONLY | O_NOCTTY | O_NDELAY) or
die("Ouverture impossible");
dio_tcsetattr($fd, array('baud' => 1200, 'bits' => 8,'stop'
=>1,'parity' => 1));
print_r(dio_stat($fd));
while(1) {
$ligne=dio_read($fd);
$numTel[0]=0;
$i=1;
if($ligne) {
/*if(is_string(htmlentities($ligne))) {
echo(htmlentities($ligne) . " |
n");
echo("0n");
}*/
if(is_numeric(htmlentities($ligne))) {
echo(htmlentities($ligne));
} // c'est ici que ça coince...
}

}
dio_close($fd);
?>


Avatar
Philippe Chaissac

Hé oui, on peut faire du CTI avec PHP!!
Seulement j'ai un problème : PHP ne détecte pas les 0!!
<?


$fd = dio_open("/dev/ttyS0", O_RDONLY | O_NOCTTY | O_NDELAY) or
die("Ouverture impossible");
dio_tcsetattr($fd, array('baud' => 1200, 'bits' => 8,'stop'
=>1,'parity' => 1));
print_r(dio_stat($fd));
while(1) {
$ligne=dio_read($fd);
$numTel[0]=0;
$i=1;
if($ligne) {
/*if(is_string(htmlentities($ligne))) {
echo(htmlentities($ligne) . " |
n");
echo("0n");
}*/
if(is_numeric(htmlentities($ligne))) {
echo(htmlentities($ligne));
} // c'est ici que ça coince...
}

}
dio_close($fd);
?>


tout dépend des valeurs que te retourne effectivement le dio_read().
Y-a-t'il des valeurs autres que les chiffres du numéro de téléphone ? si
oui, il doit y avoir une façon d'interpréter les séquences (genre
préfixe "début de numéro", etc...). Et les chiffres, sont-ils renvoyés
en tant que code ascii ou est-ce la valeur de l'octet ? Enfin, je ne
comprends pas (mais il est tard :-) ) le pourquoi dans le code du
htmlentities() ? Il faudrait faire un dump hexa de la lecture (par
exemple en virant la condition et en formatant l'affichage avec bin2hex)
pour avoir une idée de ce qui est renvoyé. Car il doit bien renvoyer
"quelque chose" pour le 0 j'imagine :-) !