• # Telify

    Posté par . En réponse au message Firefox-scripts. Évalué à 1.

    Bonjour et merci pour vos conseils.

    Du coup , j'ai pas mal cherché au niveau des extensions et j'en ai trouvé une : telify

    Elle me rajoute un sip:// devant un numéro de téléphone.

    I) Du coup j'ai associé sip:// dans Firefox à un code pour lancer EKIGA :

    /usr/bin/sip_dial_ekiga


    #!/usr/bin/sh
    /usr/bin/ekiga -c 1ドル@IP_DE_MON_SERVEUR


    II) J'ai changé pour que ça lance l'appel depuis mon téléphone Aastra. (Penser à autoriser l'adresse IP du PC dans le PUSH XML du téléphone)

    /usr/bin/sip_dial_aastra


    #!/bin/sh
    /usr/bin/php5 /usr/bin/aastra.php 1ドル


    /usr/bin/aastra.php

    <?php

    $num = $argv[1];
    $tab = explode(":",$num);
    $num = $tab[1];

    function push2phone($phone, $xml) {
    $post ="POST / HTTP/1.1\r\n";
    $post.="Host: $phone\r\n";
    $post.="Referer: $phone\r\n";
    $post.="Connection: Close\r\n";
    $post.="Content-Type: text/xml\r\n";
    $post.="Content-Length: ".(strlen($xml)+4)."\r\n\r\n";

    $fp = @fsockopen($phone, 80, $errno, $errstr, 5);
    if ($fp) {
    @stream_set_timeout($fp, 10);
    @fwrite($fp, $post."xml=".$xml);
    @fflush($fp);
    $response = @fgets($fp);
    @fclose($fp);
    if (strpos($response, '200 OK') === false) {
    echo "Refus du poste : {$response}\n";
    return false;
    }
    } else {
    echo "Erreur fsockopen: ({$errno}) {$errstr}\n";
    return false;
    }

    return true;
    }


    $phoneIP = "IP du téléphone";
    $xmlDial='<AastraIPPhoneExecute></AastraIPPhoneExecute>';

    push2phone($phoneIP, $xmlDial);

    ?>


    III) Encore plus simple : mettre ce script sur un serveur PHP. Autoriser l'IP du serveur sur le téléphone. Choisir dans le module Telify "Custom URL" au lieu de SIP. Ajouter les infos suivantes :

    http://votre_serveur_web/clicktocall.php?num=0ドル&phoneIP=1ドル
    Parameter #1 : IP du téléphone


    Le nouveau fichier PHP sur le serveur :
    clicktocall.php

    <?php
    $phoneIP = 0;
    $num = 0;

    //Pour utilisation "Custom URL"
    if (isset($_GET["num"])) $num = $_GET["num"];
    if (isset($_GET["phoneIP"])) $phoneIP = "".$_GET["phoneIP"]."";

    function push2phone($phone, $xml) {
    $post ="POST / HTTP/1.1\r\n";
    $post.="Host: $phone\r\n";
    $post.="Referer: $phone\r\n";
    $post.="Connection: Close\r\n";
    $post.="Content-Type: text/xml\r\n";
    $post.="Content-Length: ".(strlen($xml)+4)."\r\n\r\n";

    $fp = @fsockopen($phone, 80, $errno, $errstr, 5);
    if ($fp) {
    @stream_set_timeout($fp, 10);
    @fwrite($fp, $post."xml=".$xml);
    @fflush($fp);
    $response = @fgets($fp);
    @fclose($fp);
    if (strpos($response, '200 OK') === false) {
    echo "Refus du poste : {$response}\n";
    return false;
    }
    } else {
    echo "Erreur fsockopen: ({$errno}) {$errstr}\n";
    return false;
    }
    return true;
    }


    $xmlDial='<AastraIPPhoneExecute></AastraIPPhoneExecute>';

    push2phone($phoneIP, $xmlDial);

    ?>


    Voilà, si ça peut servir....