web-dev-qa-db-fra.com

VOIP: Comment créer une application Web pour passer un appel comme skype ou msn?

Ceci est une question très novice.

Je veux savoir comment créer une application Web pour passer un appel téléphonique, probablement en utilisant le protocole VOIP.

Quels langages de programmation, côté client et côté serveur, dois-je apprendre?

23
xRobot

La première question à laquelle vous devez répondre pour commencer est la recherche d'un appel d'ordinateur à ordinateur ou vous souhaitez que votre application appelle un numéro de téléphone?

Étant donné que vous spécifiez que vous souhaitez que votre "application Web effectue un appel", je soupçonne que vous cherchez un moyen de passer des appels automatisés vers le téléphone d'un utilisateur. Si tel est le cas, vous avez quelques options.

Installez un serveur VoIP comme Asterisk ou Freeswitch et écrivez du code pour que votre application Web interagisse avec elle. Pour Asterisk, le projet Adhearsion peut vous aider en vous permettant d'écrire des intégrations Asterisk dans Ruby. http://adhearsion.com/

Ou vous pouvez utiliser un service de téléphonie cloud comme Cloudvox ou Tropo http://tropo.com (divulgation, je travaille pour Voxeo, la société derrière Tropo). Ces services vous permettent d'utiliser des langages de programmation Web et des services Web pour parler au système téléphonique. Vous n'avez besoin de rien savoir sur Voip pour y arriver. Un exemple de script Tropo ...

<?php
answer();
say('Yes, it really is this easy.');
hangup();
?>

Un avantage secondaire des services cloud est que beaucoup d'entre eux permettent à votre application de s'exécuter sur d'autres canaux de communication (Tropo utilise également la messagerie instantanée et les SMS).

La troisième option consiste à examiner VoiceXML, une norme W3C pour la création d'applications vocales. Voxeo fournit des documents détaillés et des didacticiels VoiceXML sur http://vxml.org/ . Avec une application VoiceXML (parfois appelée VXML), vous pouvez installer un serveur VoiceXML et les bits VoIP associés ou vous pouvez utiliser un fournisseur d'hébergement VoiceXML. Voxeo fournit à la fois un serveur téléchargeable et un hébergement (les deux sont gratuits pour les développeurs), ou une recherche d'hébergement VoiceXML révélera un grand nombre d'options.

19
Adam Kalsey

La réponse à votre question dépend vraiment de ce que vous voulez en faire. Voici 2 exemples de la façon dont je l'ai fait:

J'ai développé le logiciel pour Go2Call.Com (maintenant détenu par Deltathree ), et il a été utilisé pour les appels PC-to-Phone. Dans le cas de Go2Call, il s'agissait d'une applet Java pour le numéroteur frontal qui appelait Windows DLL écrite en C++. De là, il parlait un protocole propriétaire pour parler aux serveurs qui à leur tour ont envoyé l'appel vers des lignes fixes régulières.

Quelques années plus tard, j'ai écrit un Web (contrôle ActiveX) qui autoriserait les appels PC-à-PC ou PC-à-téléphone, et il utilisait le protocole standard H.32 .

Je recommanderais de commencer par déterminer quel est votre objectif final, puis de rechercher les protocoles et les technologies nécessaires pour y parvenir.

Pour le PC à PC, vous pouvez faire ce que vous voulez si les deux personnes utilisent votre logiciel. Dans ce cas, vous pouvez comprendre comment fonctionne VOIP (y compris les codecs de compression, etc.) et l'implémenter comme vous le souhaitez.

Pour PC-to-Phone ou lorsque vous voulez appeler le logiciel de quelqu'un d'autre, je recommanderais SIP car c'est probablement le protocole le plus populaire. H.323 est toujours répandu, mais SIP semble prendre le relais.

Désolé, cela ne vous dit probablement pas tout, mais il y a beaucoup à dire. J'espère que cela vous aidera à démarrer dans la bonne direction.

Mise à jour: Depuis que vous avez mentionné PC à PC, Packetizer a une liste de normes et pas mal d'informations que j'ai utilisées il y a longtemps quand j'ai fait beaucoup de programmation VoIP.

En ce qui concerne les livres, les livres que j'ai vus jusqu'à présent ne sont pas liés à la programmation mais plutôt à l'utilisation de logiciels VoIP et à l'installation de réseaux VoIP.

9
Poldon

Vous souhaiterez peut-être acheter un composant qui vous permettra d'ajouter SIP à votre page Web, (la plupart de ces fonctionnalités sont basées sur ActiveX):

http://www.conaito.com/
http://www.vaxvoip.com/
http://www.pcbest.net/

Quant à la langue que vous devez apprendre, quelles langues avez-vous déjà apprises? Avec quelles langues avez-vous développé des applications Web? Cela détermine votre choix de langue. L'utilisation de composants tels que ceux répertoriés ci-dessus supprime une partie du travail, mais nécessitera probablement encore le côté client du codage vbscript ou javascript, et ceux qui sont actifsX ne fonctionneront que sur les navigateurs Web d'Internet Explorer. Si vous n'avez aucune expérience, vous devez examiner sérieusement ce que vous essayez de faire, pourquoi, combien de temps et d'efforts vous pouvez et êtes prêt à consacrer.

1
g_g

Gizmo5 a un softphone Flash qui s'exécute dans le navigateur: GizmoCall Côté serveur, vous le lieriez probablement avec une solution SIP dans n'importe quelle langue. - Asterisk vient à l'esprit, bien que cela puisse être un peu exagéré selon que vous vouliez vraiment une solution complète SIP ou non.

1
erjiang