7
votes

Y a-t-il des parallèles à Asterisk AMI et AGI dans Freeswitch?

astérisque a Interface Asterisk Manager (AMI) et interface d'astérisque (AGI) , en utilisant lequel on peut déclencher des scripts PHP à certains événements d'Asterisk. L'utilisation des mêmes scripts PHP peut également instruire Asterisk quoi faire à côté d'un appel / conférence. Y a-t-il des parallèles à Ami et Agi dans Freeswitch?


2 commentaires

duplicaté possible de astérisque vs freeswitch, y a-t-il des parallèles à Ami & Agi à Freeswitch


@jprofitt Par une partie de la question précédente demanda la comparaison entre les scénarios où vous utiliseriez Asterisk vs freeswitch, il a été voté et fermé. Alors maintenant, j'ai posté cette autre moitié qui n'a rien à voir avec la comparaison.


4 Réponses :


3
votes

AGI sont destinés aux scripts utilisés dorring un appel (c'est-à-dire appelé de dialplan durrign dialplan exécution). Les scripts qui écoutent l'AMI et attendent que les événements soient autonomes. Alors que ce dernier, peut, techniquement, faire le travail de l'ancien aussi, vous êtes beaucoup mieux de les garder séparés.


3 commentaires

Je comprends cette partie. J'ai écouté récemment que Freeswitch est un meilleur choix, et plus fiable que l'astérisque. Depuis que j'utilise AMI et AGI actuellement, je me demande s'il y a des parallèles au freeswitch pour ces deux choses.


Pour la distinction entre AMI et AGI, je n'ai jamais entendu l'affaire d'utilisation pour chaque scission comme celle-là. Pouvez-vous élargir votre réponse ou citer une source? (Toujours d'apprentissage d'astérisque.)


Agi par leur nature sont lancés par l'astérisque, lors d'un appel. Il n'y a pas d'autre moyen d'initier un script AGI. D'autre part, vous pouvez commencer tout script / processus et le faire connecter à l'AMI et prendre réagir aux événements. Source: Développeur Core FreePBX pendant plus d'une demi-décennie.



2
votes

@dkwiebe a donné la réponse à Serverfault- https://serverfault.com/a/345513/105376 < / p>

Pour l'AMI, vous recherchez le Bibliothèque de socket d'événement . Il existe quelques exemples disponibles sur la page Mod_Event_socket.

Agi est un peu différent. Vous pouvez faire des choses similaires dans le freeswitch, mais ils recommandent d'utiliser Lua . J'ai personnellement utilisé le freeswitch mod_perl avec de bons résultats.


0 commentaires

9
votes

Ce sont de bonnes questions. Je voulais juste ajouter quelques choses à ce que @dkwiebe a dit (ce qui est correct, BTW).

L'équivalent AMI dans Freeswitch est la prise d'événement. (Techniquement, ce n'est pas la "bibliothèque de sockets d'événements" ou l'ESL, qui est une couche d'abstraction pour la rédaction de programmes utilisant la prise d'événements. Je voulais juste faire cette distinction.) En fait, l'équivalent de freeswitch de "astérisque -r" est en fait Un programme ESL a appelé "fs_cli" - court pour l'interface de ligne de commande Freeswitch. Le programme FS_CLI est un excellent exemple de ce que vous pouvez accomplir avec ESL.

En outre, il n'y a aucune raison que vous ne pouvez pas utiliser un programme ESL pour faire de nombreuses choses qui peuvent être faites avec des scripts AGI. L'ESL "Objet de connexion" peut "verrouiller" sur une seule jambe d'appel et le contrôler. Il existe des exemples sur le wiki et le prochain livre de recettes de freeswitch aura des recettes sur le sujet. (Divulgation complète: je suis co-auteur du livre de recettes Freeswitch.)

Une autre méthode liée à l'ESL pour contrôler des appels tels que AGI est avec le démon FS_IVRD. C'est moins couramment utilisé que l'ESL mais est une bonne option pour les scripts d'AGI. Voir Cette page wiki pour plus de détails.

Enfin, je voudrais mentionner que Lua est un excellent choix pour faire script / logique / etc. dans le contrôle des appels. C'est simple, léger et facile à apprendre. Dans le laboratoire, nous avons vu quelques milliers d'appels concurrents contrôlés par Lua sur une machine à 8 noyau. Lua fonctionne même dans des environnements très exigeants.

N'hésitez pas à rejoindre #freeswitch sur irc.freenode.net pour discuter de vos questions avec la communauté Freeswitch.


1 commentaires

Merci pour de telles réponses informatives. Dans AGI, je peux écrire du code dans PHP et n'avoir rien besoin d'apprendre de nouveau pour la mise en œuvre de la logique. Donc, la première question, en utilisant des scripts PHP serait toujours une option au lieu de Lua? Deuxièmement, si PHP est utilisé à la place de Lua, combien de frais généraux posera-t-il sur le système?



4
votes

Il y a une page sur le Freeswitch Wiki adressant la plupart de ces questions "Asterisk vers Freeswitch" Questions: Rosetta Stone .


0 commentaires