Question

J'essaie de commencer à écrire des applications évolutives de niveau télécom avec Asterisk et Ruby. J'avais initialement l'intention d'utiliser le cadre Adhearsion pour cela, mais il n'a pas la maturité requise et sa documentation fait cruellement défaut. AsteriskRuby semble être une bonne alternative, car il est bien documenté et semble avoir été écrit par Vonage.

Quelqu'un at-il de l'expérience dans le déploiement d'applications de RVI basées sur AGI? Quel cadre, le cas échéant, avez-vous utilisé? Je considérerais même un non-Ruby si c'est justifié. Merci!

Était-ce utile?

La solution

Vous devriez revenir dans Adhearsion car la version 0.8.1 est sortie et la documentation s’est beaucoup améliorée récemment. Regardez ici:

http://adhearsion.com http://docs.adhearsion.com http://api.adhearsion.com

Autres conseils

SipX est vraiment la mauvaise réponse. J'ai écrit du VoiceXML extrêmement compliqué sur SipX 3.10.2 et tout cela pour rien puisque SipX 4 abandonne SipXVXML pour une interface nécessitant la compilation de fichiers JAR par les IVR. Ajoutez à cela la faillite de Nortel, une documentation extrêmement médiocre sur la version à source ouverte, une faible conformité avec VXML 2.0 (à partir de 3.10.2) et les normes SIP (à partir de 3.10.2, n’est pas compatible avec les ITSP). Je vais l'applaudir pour un boulot extraordinaire en faisant ce pour quoi il a été conçu, être un PBX. Mais en tant que RVI, si je devais le refaire, je ferais quelque chose de différent. Je ne sais pas ce qui est sûr, mais quelque chose de différent. Je joue actuellement avec Trixbox CE et je travaille à l’intégrer dans JVoiceXML ou VoiceGlue.

En outre, ne lisez pas cette merde de wiki SipX. Il compare SipX 3.10 à AsteriskNOW 1 à Trixbox 1. Allez. C'est comme comparer Mac OS X à Win95! Une comparaison plus réaliste consisterait dans SipX 4 (datée du 1er trimestre 2009) avec Asterisk 1.6 et Trixbox 2.6, ce qui montrerait qu'ils obtiennent des résultats presque identiques, sauf dans le domaine de la scalabilité et de la haute disponibilité; SipX gagne à cela. Mais, pour la maturité et la stabilité, je recommanderais Asterisk.

De plus, mes résultats en termes de performances réelles avec SipXVXML:
Dell PowerEdge R200, Xeon Dual Core 3.2 GHz, traite 17 appels avant le vacillement.
HP DL380 G4, Dual Xeon HT 3,2 GHz, gère 30 appels avant de longues pauses.

Je publierai mes conclusions lorsque j'aurai fini d'évaluer VoiceGlue et JVoiceXML, mais je pense que je vais finir par écrire un PHP personnalisé appelé depuis AGI, car tous les outils sont natifs d'Asterisk.

Si vous recherchez des "technologies de télécommunication", applications, vous voudrez peut-être consulter SipXecs au lieu d’un astérisque. Il est fonctionnel, gratuit et à source ouverte, avec un support commercial disponible auprès de Nortel. Vous pouvez interagir avec cette application via une API de services Web en ruby ??(ou n’importe quel autre langage).

Consultez le wiki SipXecs pour plus d'informations. Ce site contient une matrice de comparaison comparant les fonctionnalités d’AsteriskNOW et de TrixBox.

Il n’existe vraiment aucun autre cadre. Il existe bien sûr des liaisons AGI pour chaque langue, mais en ce qui concerne les cadres à part entière pour le développement d'applications de téléphonie, nous n'en sommes pas encore là. Au moins dans le monde open-source.

J'ai posé des questions un peu liées, ici , ici , et ici . J'utilise Speech Server de Microsoft et je suis très intéressé par toutes les alternatives existantes, en particulier celles open source. Vous trouverez peut-être de bonnes informations dans les réponses à l'une de ces questions.

J'ai utilisé JAGIServer , même si le logiciel n'est plus en cours de développement et qu'il est plutôt bon facile à utiliser. C’est une interface pour FastAGI, que je vous recommande d’utiliser à la place d’un simple AGI.

La nouvelle version de ce framework est OrderlyCalls , qui semble avoir beaucoup plus de fonctionnalités, mais depuis pas besoin d'eux, je ne l'ai pas essayé.

Je suppose que tout dépend de ce que vous voulez faire avec AGI; En général, j'ai un plan de numérotation assez complexe pour rassembler et valider toutes les entrées utilisateur, puis utiliser simplement AGI pour se connecter à une application Java qui lira des variables, effectuera des tâches avec elle (effectuera des opérations, des requêtes, etc.) et en définira quelques autres. variables sur le canal AGI et déconnecte. À ce stade, le plan de numérotation continue en fonction du résultat des variables définies par l'application Java.

Cela fonctionne très rapidement car vous avez un ServerSocket sur l'application Java, qui reçoit les connexions entrantes de AGI, crée un JAGIClient avec le nouveau socket et une nouvelle instance d'un JAGIProcessor (que vous devez écrire, c'est l'objet qui effectuez tous vos traitements), puis exécutez JAGIClient dans un pool de threads. JAGIProcessor implémente la méthode processCall dans laquelle il effectue tout le travail nécessaire, en interagissant avec le paramètre JAGIClient transmis en tant que paramètre, pour lire et définir des variables ou pour effectuer tout ce que permet l’interface AGI.

Donc, vous avez une application Java qui tourne tout le temps et cela peut être une simple application J2SE ou une application EE sur un conteneur, peu importe; une fois lancé, les demandes d’AGI seront traitées très rapidement, puisqu’aucun nouveau processus ne doit être démarré (contrairement à un simple AGI qui exécute un programme pour chaque appel d’AGI).

Encore une fois. Après la migration de l'IVR de mon client de SipX vers Asterisk à l'aide de PHPAGI, je dois dire que je n'ai rencontré aucune autre architecture aussi simple et aussi performante. Je testerai Trixbox CE 2.8 aujourd'hui sur le même matériel que celui sur lequel j'avais déjà testé SipX. Mais je dois dire que l'utilisation de PHPAGI pour l'IVR et de l'Asterisk CLI pour le débogage a parfaitement fonctionné et m'a permis de développer l'IVR beaucoup plus rapidement que toute autre entreprise. Je travaille à la mise en œuvre de TTS et d'ASR aujourd'hui et je publierai les résultats de mes tests de résistance lorsque je le pourrai.

Petit petit Asterisk AGI IVR souple et flexible écrit en PHP http://freshmeat.net/projects/phpivr

Pour les applications petites et faciles, j'utilise Asterisk :: AGI en Perl. Il existe également des extensions pour Fast AGI. Pour les applications plus volumineuses, comme les serveurs de l'opérateur VoIP, j'utilise quelque chose de similaire à OrderlyCalls écrit en Java (mon propre code). OrderlyCalls est un bon moyen de commencer avec le moteur java fastagi et de l’étendre à vos besoins.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top