У меня есть парк компьютеров с киосками Ubuntu, которые будут развернуты в дикой природе. Члены общественности будут использовать их.
Я хочу добавить кнопку «нажмите для помощи» в приложение, чтобы, если люди застряли, они могли общаться с реальным человеком. У оборудования киоска будут динамики и микрофон. Я бы хотел, чтобы процесс был таким:
В качестве альтернативы, если вспомогательный персонал активно обнаруживает проблему в киоске, я бы хотел, чтобы он мог начать разговор без какого-либо взаимодействия с пользователем.
Мне также нужен вспомогательный персонал, чтобы определить , в какой киоск звонит.
Несколько проблем возникают из-за желания делать такие вещи. Мне нужно программное обеспечение для обработки вызовов, и мне нужно, чтобы мое приложение начало (и завершало) вызов.
Такие вещи, как TeamSpeak и Mumble, плохо подходят для этого, потому что я не хочу, чтобы все киоски разговаривали друг с другом, так же как я не хочу, чтобы голос сотрудников службы поддержки транслировался из каждого киоска одновременно! Я предполагаю, что мне нужен только локальный Skype, но что-то, что я могу активно контролировать на стороне клиента.
Есть идеи?
Промышленный стандарт для VoIP является сервером Звездочки. В нем Вы настраиваете, какие протоколы телефона поддерживаются, кому разрешают звонить и кому вызовы направлены.
Как клиент можно использовать некоторый софтфон командной строки. Будет легко интегрировать его в проект с некоторыми сценариями оболочки.
Или можно взять библиотеку VOIP, которая поддерживает SIP, H323 или безотносительно протокола, и интегрируйте его непосредственно в приложение. Если это - веб-приложение - протокол WebRTC появляется теперь.
Для запуска установите некоторый SIP-телефон с GUI из репозитория Ubuntu, настройте Звездочку и несколько учетных записей на различных машинах. Назовите количество одной учетной записи от другого.