IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

Jtapi et gjtapi


Sujet :

API standards et tierces Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Par défaut Jtapi et gjtapi
    Bonjour à tous!
    Alors voilà, j'utilise l'API JTAPI et je l'implémente par GJTAPI.
    Ce code marche:

    //là j'ai enlevé les imports pour que le code soit plus lisible
    import net.sourceforge.gjtapi.raw.emulator.*;



    public class OutCall implements CallObserver{

    static GenericProvider myprovider=null;

    public static void main(String[] args) {
    new OutCall();
    }


    public OutCall()
    {
    try {
    GenericJtapiPeer peer = (GenericJtapiPeer) JtapiPeerFactory.getJtapiPeer(null);
    //ou JtapiPeer peer = JtapiPeerFactory.getJtapiPeer("DefaultJtapiPeer");
    myprovider = (GenericProvider) peer.getProvider("Emulator");
    System.out.println("Chargement du provider...ok");
    if (myprovider.getState() == Provider.IN_SERVICE)
    System.out.println("Le provider est en service");
    } catch (Exception excp) {
    System.out.println("Probleme avec le provider: " + excp.toString());
    System.exit(0);
    }


    Terminal MyTerminal=null;
    try {
    MyTerminal=myprovider.getTerminal("21");
    } catch (Exception e1) {
    System.out.println("Probleme avec la récupération du terminal");
    e1.printStackTrace();
    }


    Address[] MyAddress=MyTerminal.getAddresses();
    Address MyAdd=MyAddress[0];


    Call myCall=null;
    try {
    myCall=myprovider.createCall();
    System.out.println("Appel crée...ok");
    myCall.addObserver(this);
    System.out.println("Creation de l'observateur sur le call...ok");
    } catch (Exception e) {
    e.printStackTrace();
    }


    //Place l'appel de telephone.

    try {
    Address MyAddress2=myprovider.getAddress("22");
    MyAddress2.addCallObserver(new CL());
    } catch (Exception e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    }



    try {
    Connection c[] = myCall.connect(MyTerminal, MyAdd, "22");
    System.out.println("Placement de l'appel...ok");
    } catch (Exception excp) {
    System.out.println("Le numéro appelé n'est pas valide");
    }




    while (true)
    {
    try {
    Thread.sleep(1000);
    } catch (Exception e) {
    e.printStackTrace();
    }
    }


    }




    public void callChangedEvent(CallEv[] evlist) {
    for (int i = 0; i < evlist.length; i++) {

    if (evlist[i] instanceof ConnEv) {

    String name = null;
    try {
    Connection connection = ((ConnEv)evlist[i]).getConnection();
    Address addr = connection.getAddress();
    name = addr.getName();
    } catch (Exception excp) {
    // Handle Exceptions
    }
    String msg = "Connection à l'addresse: " + name + " is ";

    if (evlist[i].getID() == ConnAlertingEv.ID) {
    System.out.println(msg + "ALERTING");
    }
    else if (evlist[i].getID() == ConnInProgressEv.ID) {
    System.out.println(msg + "INPROGRESS");
    }
    else if (evlist[i].getID() == ConnConnectedEv.ID) {
    System.out.println(msg + "CONNECTED");
    }
    else if (evlist[i].getID() == ConnDisconnectedEv.ID) {
    System.out.println(msg + "DISCONNECTED");
    }
    }
    }
    }


    public class CL implements CallObserver
    {
    public void callChangedEvent(CallEv[] evlist) {
    {
    for (int i = 0; i < evlist.length; i++) {

    if (evlist[i] instanceof ConnEv) {

    String name = null;
    try {
    Connection connection = ((ConnEv)evlist[i]).getConnection();
    Address addr = connection.getAddress();
    name = addr.getName();
    } catch (Exception excp) {
    // Handle Exceptions
    }
    String msg = "Eh OUI!Connection à l'addresse: " + name + " is ";

    if (evlist[i].getID() == ConnAlertingEv.ID) {
    System.out.println(msg + "ALERTING");
    }
    else if (evlist[i].getID() == ConnInProgressEv.ID) {
    System.out.println(msg + "INPROGRESS");
    }
    else if (evlist[i].getID() == ConnConnectedEv.ID) {
    System.out.println(msg + "CONNECTED");
    }
    else if (evlist[i].getID() == ConnDisconnectedEv.ID) {
    System.out.println(msg + "DISCONNECTED");
    }
    }
    }
    }
    }


    }}



    Mais si je veux séparer l'écoute de l'appel de son émission:
    try {
    Address MyAddress2=myprovider.getAddress("22");
    MyAddress2.addCallObserver(new CL());
    } catch (Exception e1) {

    e1.printStackTrace();
    }

    (c'est-à-dire mettre ce bout de code dans une autre classe et donc avoir au final une classe OutCall
    et une autre InCall comme dans les exemples de JTapi)
    alors je ne détecte plus les appels sur l'address "22"



    Voici mon fichier "emulator":


    Address1 = 21
    Address2 = 22
    Address3 = 23
    Address4 = 24
    # display = true
    # Should we throttle RawListener events? 'f' means that the RawProvider will report everything
    throttle = f
    # Turn on PrivateData for Terminals and TerminalConnections
    termSendPrivateData = t
    tcSendPrivateData = t




    Voilà, si quelqu'un peut m'aider à détecter les appels quand on sépare les classes
    (parceque si je fais tout dans la même classe...bonjour, l'interactivité...).
    Ca fait vraiment plusieurs jours que je cherche sans trouver la réponse, alors j'ai
    vraiment besoin d'aide. Merci à quiconque prendra le soin de lire mon message!

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Par défaut
    Personne ne peut m'aider?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 11
    Par défaut
    Bon, alors je suis preneur de tout code avec JTAPI et GJTAPI utilisant une classe pour émettre un Call et une autre pour le recevoir. Merci!

Discussions similaires

  1. JTAPI et provider
    Par trax44 dans le forum Multimédia
    Réponses: 7
    Dernier message: 08/09/2006, 13h04
  2. aide sur l'API Jtapi
    Par jpsegret dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 15/07/2006, 13h49
  3. Quel matériel pour JTAPI
    Par phpmad dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 13/07/2006, 11h23
  4. aide pour JTAPI
    Par jpsegret dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 08/06/2006, 10h01
  5. [API]JTAPI non reconnu par eclipse
    Par julio84 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 15/04/2005, 14h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo