Это хорошие вопросы.Я просто хотел добавить кое-что к тому, что сказал @dkwiebe (это правильно, BTW).
Эквивалентом AMI в FreeSWITCH является сокет событий.(Технически это не «Библиотека сокетов событий» или ESL, которая является уровнем абстракции для написания программ, использующих сокет событий. Я просто хотел провести это различие.) На самом деле, FreeSWITCH-эквивалент «asterisk -r» на самом делеоснованная на ESL программа под названием "fs_cli" - сокращение от интерфейса командной строки FreeSWITCH.Программа fs_cli - отличный пример того, чего вы можете достичь с помощью ESL.
Кроме того, нет причин, по которым вы не можете использовать программу ESL для выполнения многих задач, которые можно выполнить с помощью сценариев AGI.ESL «объект соединения» может «привязываться» к одному участку вызова и управлять им.В вики есть примеры, и у будущей Поваренной книги FreeSWITCH будет несколько рецептов на эту тему.(Полное раскрытие: я являюсь соавтором FreeSWITCH Cookbook.)
Еще один связанный с ESL метод управления вызовами, такой как AGI, связан с демоном fs_ivrd.Он используется реже, чем ESL, но является хорошим вариантом для AGI-подобных сценариев.См. эту вики-страницу для получения более подробной информации.
Наконец, я хотел бы отметить, что Lua - отличный выбор для выполнения сценариев / логики / и т.д.в управлении вызовами.Это просто, легко и легко учиться.В лаборатории мы видели несколько тысяч одновременных вызовов, управляемых Lua, на 8-ядерном компьютере.Lua работает даже в очень сложных условиях.
Не стесняйтесь присоединиться к #freeswitch на irc.freenode.net, чтобы обсудить ваши вопросы с сообществом FreeSWITCH.