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

MFC Discussion :

[tapi] explication needed


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 20
    Par défaut [tapi] explication needed
    bonjour,

    j'aurai besoin de qq explication concernant TAPI.
    je me documente sur la msdn, mais je pige pas tout ...
    http://msdn.microsoft.com/library/de...alize_tapi.asp

    # Initialize TAPI -------> jusque la, ca va
    # Select an Address ------> a quoi ca sert ? je pensais que c'etait pr se connecter au server, mais je vois pas ou ...
    # Register Events ---> pas tout compris, mais il semble que ca ne soit pas necessaire
    # Select a Terminal ------> pour choisir l'entrée/son n'est-ce pas ?
    # Make a Call ------> ca va pr l'instant.

    si l'etape 2 ne sert pas a se connecter au server, a quoi elle sert ? et comment faut-il s'identifier au server alors ?
    au risque de faire un bide monumentale, je pose la (les ? ) question ...
    merci

  2. #2
    Membre expérimenté
    Avatar de Neo41
    Inscrit en
    Janvier 2003
    Messages
    241
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 241
    Par défaut
    Bonjour,

    je ne suis pas un as dans la matière, mais j'ai déjà utilisé TAPI pour faire une petite application qui gére un autocom (PABX-Détection appel entrant, décrocher, raccrocher, etc.). Ce que je peux te dire est:

    Select an Address ------> Sert à sélectionner une ressource libre pour pouvoir l'utiliser dans ton programme. Mais t'en a pas forcément besoin, tout dépend de ce que doit faire exactement ton application.

    Register Events ---> C'est "comme" quand fais un hook dans windows. Tu déclares une fonction callback et tu l'associes à un événement. Par exemple quand ton programme recoit une notification "le téléphone sonne" il doit appeler cette méthode.

    Le premier exemple que j'ai utilisé et qui m'a bien servi se trouve à cette adresse:
    http://www.programmersheaven.com/zone15/cat622/2412.htm

    Fais égalements quelques petites recherches sur internet. C'est pas un sujet largement abordé mais tu peux trouver des trucs sympas.

    Bon courage

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 20
    Par défaut
    Neo41, un grand merci :jap:

    j'ai fais qq recherches effectivement, ya pas enormement de trucs, mais bon :/
    d'autant plus que l'appli que je developpe est en c#, et que ya rien en c# dans la msdn concernant tapi
    je dois faire un softphone, ie la meme chose que toi, mais pr du voip, donc ca change pas grand chose par rapport a ce que tu as fais, vu le voip se fais dans le centrex (cette partie m'ai totalement obscure, mais bon ) 8)
    je me concentre sur ton lien, merci :jap:
    les select adress, en gros, c pour selectionner d'ou vienne les communications ? modem, ethernet c ca ?
    ton histoire de hook, c comme un tableau de pointeur de fonction en c ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 20
    Par défaut
    bon, apres reflechissement, il semblerai que je soit a l'ouest ...
    tapi sert pr faire le lien entre une appli et un modem, ou tout autre chose s'en rapprochant, et moi je souhaite communiquer avec un serveur, faut que je me renseigne plus sur sip et non sur tapi :/
    enfin, je crois ...

  5. #5
    Membre expérimenté
    Avatar de Neo41
    Inscrit en
    Janvier 2003
    Messages
    241
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 241
    Par défaut
    Non le select adresse n'indique pas d'où viennent les communications. C'est uniquement pour trouver un "emplacement" libre que tu puisses utiliser pour gérer le type de média avec lequel tu veux travailler. C'est ce que j'ai compris globalement, mais dans les détails je ne pourrais pas malheureusement pas te renseigner.

    Quant au hook ou le register events, non ce n'est pas comme un tableau de pointeurs de fonctions. En fait tu associes une fonction à un événement donné. Je reprends mon exemple: Lorsque le téléphone sonne, le PABX envoit une info au PC auquel il est relié: Supposons que cette info est la trame X. Lorsque la trame X arrive sur le PC, le driver TAPI la récupère, et cherche s'il y a une fonction qu'il doit appeler dans ce cas. Si c'est le cas, la fonction enregistrée avec le RegisterEvent sera appelée et le code spécifé exécuté. Une implémentation concrète serait que lorsque le téléphone sonne une fenêtre apparaît à l'écran avec un bouton "décrocher" et le numéro de l'appelant par exemple.

    Et finalement le SIP, si ma mémoire est bonne, est le Session Initiation Protocol. C'est le protocole à utiliser pour ouvrir une session multimédia (vidéo, voix, etc.), la modifier et la fermer. Effectivement pour on application TAPI (Telephony Application Programming Interface) n'est d'aucune utilité.

    Bon courage

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 20
    Par défaut
    Citation Envoyé par Neo41
    Quant au hook ou le register events, non ce n'est pas comme un tableau de pointeurs de fonctions. En fait tu associes une fonction à un événement donné. Je reprends mon exemple: Lorsque le téléphone sonne, le PABX envoit une info au PC auquel il est relié: Supposons que cette info est la trame X. Lorsque la trame X arrive sur le PC, le driver TAPI la récupère, et cherche s'il y a une fonction qu'il doit appeler dans ce cas. Si c'est le cas, la fonction enregistrée avec le RegisterEvent sera appelée et le code spécifé exécuté. Une implémentation concrète serait que lorsque le téléphone sonne une fenêtre apparaît à l'écran avec un bouton "décrocher" et le numéro de l'appelant par exemple.
    ok, merci encore pour toutes ces bonnes precisions
    sinon, ce que tu dis pr le hook, c exactement l'usage que je fais d'un tableau de pointeurs de f°

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    const struct c_model	fct_tab[]=
    {
      {GO, go_maj},
      {LEFT, left_maj},
      {RIGHT, right_maj},
      {SEE, see_maj},
      {INVENTORY, inventory_maj},
      {GET, take_maj},
      {PUT, put_maj},
      {EXPULSE, expulse_maj},
      {BROADCAST, broadcast_maj},
      {INCANTATION, incantation_maj},
      {FORK, fork_maj},
      {NBR, nbr_connect_maj},
     {NULL, NULL}
    };
     
       for (i = 0; fct_tab[i].name != NULL; ++i)
    	if (!my_strncmp(fct_tab[i].name, name, my_strlen(fct_tab[i].name)))
    	  {
    	    fct_tab[i].fct(client, str);
    	    break;
    	  }
    exemple de bourrin d'un proj bien cool
    si le name est identique a l'un des char * du tableau, il appelle la fonction associée. dans ton exemple, si appl_arrivé, alors, il devra appeller la fonction gere_appel_arrivé, qui affichera un popup avec le bouton decrocher et le n° de l'appelant

    bref, ca fait pas avancer mon smilblick tout ca, car now je cherche une sip stack libre de droit, car il va s'en dire que j'ai vais pas en ecrire une tout seul ... c ce que font openwengo je crois, et ca a bien l'air balaise ...
    j'ai trouvé pas mal de stack, mais toute payante :/

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 20
    Par défaut
    a noter que si ca interresse du monde, j'ai trouvé deux stack libre que je vais potasser
    voviva
    http://www.vovida.org/protocols/downloads/sip/
    et resiprocate
    http://www.sipfoundry.org/reSIProcate/

    tous les deux en c++, et tous les deux rempli de hxx et cxx ...
    c pour qui les bon gros templates
    c pas ma tasse de thé

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Migration SVN et Working Copy : Need Explication
    Par rantuxmaniac dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 26/11/2010, 13h11
  2. [TAPI]Explication d'une ligne de code
    Par Pmatt dans le forum C
    Réponses: 7
    Dernier message: 15/01/2007, 19h57
  3. Explication procédure stockée
    Par underworld dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/09/2002, 10h51
  4. Recherche code d'un fifo,ou explication
    Par don-diego dans le forum C
    Réponses: 8
    Dernier message: 25/07/2002, 10h26
  5. recherches des cours ou des explications sur les algorithmes
    Par Marcus2211 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 19/05/2002, 22h18

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