как начать разработку телефонных услуг (таких как телефонный банкинг)?

Я хочу разработать систему, с которой пользователи могут удаленно взаимодействовать по телефону. Например, банковская система вашего банка по телефону.

Эта система будет очень простой: когда пользователь звонит, ему просто нужно подсказать пользователю и принять ввод исключительно через клавиатуру. Кроме того, он должен иметь возможность получать и отправлять текстовые сообщения.

1- Существуют ли непатентованные фреймворки, поддерживающие это?

2- Может ли кто-нибудь поделиться своим опытом развертывания такой системы? Подводные камни, на что обратить внимание и т.д.


person laramichaels    schedule 09.01.2012    source источник


Ответы (4)


Существует проект с открытым исходным кодом Asterisk, который поможет вам в этом.

person jmj    schedule 09.01.2012

Я уже построил один из них, рабочий процесс: «Звонки пользователя» (со своего мобильного телефона, за дверью), «Подождите CLIP», «Если неизвестный номер отклонить вызов», «Ответить», «Подсказка: введите PIN-код», «Подождите 4 цифры DTMF», «Проверьте номер телефона / PIN-код по базе данных», «Если все в порядке, откройте ворота через последовательный порт», «иначе подсказка« F *** Off »», «повесить трубку»

Вот основные подводные камни:

  • Многие (TBH: подавляющее большинство) дешевых «голосовых модемов» на Serial/USB/PCI перестанут работать через несколько минут/часов/дней. Если вы пойдете по этому пути, используйте GSM, VoIP или ISDN. Если вам действительно нужен аналоговый стационарный телефон, используйте настоящее оборудование.
  • Мне еще предстоит найти вменяемый кроссплатформенный инструментарий, поэтому будьте готовы выбрать ОС и остаться с ней, если вы не хотите начинать с «ATZ».
  • Убедитесь, что вы разработали свое приложение перед кодированием. Такие вещи не поддаются «дизайну на ходу»
  • Было на удивление трудно выяснить, какой кодек и формат готовы принять различные устройства. Имейте это в виду, если вы не хотите специализироваться на определенном типе оборудования.
person Eugen Rieck    schedule 09.01.2012

Не уверен, что непроприетарное на самом деле означает открытый исходный код. Если под непроприетарным вы подразумеваете, что вы не привязаны к конкретному поставщику для развертывания своего решения, вам следует использовать открытый стандарт W3C, такой как VoiceXML. С помощью этого стандарта вы можете разработать приложение для голосовой связи/телефонии, которое можно будет запускать на нескольких различных платформах IVR с использованием тех же технологий, что и для разработки веб-приложения.

Voxeo предоставляет отличную платформу IVR, которую вы можете либо разместить в облаке, либо запустите локальное решение на своем объекте или сочетание того и другого. Он полностью соответствует стандартам VoiceXML, прост в использовании, и вы можете бесплатно разрабатывать и тестировать свои приложения на их платформе. Вы платите только в том случае, если решите развернуть приложение в производственной среде. И они даже предоставят отличную бесплатную поддержку в процессе разработки.

Основная ошибка заключается в недооценке дизайна пользовательского опыта (UX) и голосового пользовательского интерфейса (VUI). Существует множество плохо разработанных приложений IVR, которые люди просто не будут использовать, что полностью подрывает смысл инвестирования в эти приложения самообслуживания. Плохих так много, что это стало причиной создания таких сайтов, как GetHuman.com, который дает пользователям подсказки, как обойти различные системы IVR и как можно быстрее добраться до человека. Если пользователи обходят ваше приложение самообслуживания, значит, вы зря вложили в него деньги. Если у вас нет собственного опыта, я бы нанял кого-нибудь с опытом проектирования VUI, чтобы он хотя бы помог вам с вашим первым приложением.

person Kevin Junghans    schedule 10.01.2012

Я разрабатываю системы IVR для клинических испытаний уже около 20 лет. Есть несколько очень хороших сторонних библиотек для кодирования IVR, которые работают с Visual Basic и C#. У Pronexus есть программное обеспечение, которое вы можете скачать и бесплатно попробовать на странице http://pronexus.com/. Больше всего я использовал программное обеспечение CT ADE от Syntellect. http://www.syntellect.com/pages/products/ct_ade_eng.aspx Они начинали много лет назад как VisualVoice, а затем прошли через множество выкупов и покупок. Каждая из этих компаний продает программное обеспечение, которое можно использовать с Visual Basic и C#, а также с C++. Преимущество заключается в использовании того, с чем вы, возможно, лучше знакомы в программировании. Существует множество решений с открытым исходным кодом, но документация, поддержка и обучение далеко не так хороши. CT ADE имеет такой синтаксис. . .

ADXVoice1.PlayFile("C:\project\MainMenu.WAV", SOUNDFILE_TYPE_WavePCM22K, "+")
ADXVoice1.ClearDigits()

choice = ADXVoice1.GetDigits(24, 15, 15, "#")

Это воспроизводит файл MainMenu.WAV для вызывающего абонента, очищает цифровой буфер, а затем ждет до 24 секунд, пока вызывающий абонент не введет пункт меню. Выбор, введенный вызывающим абонентом, сохраняется в строке «выбор». Очень просто и понятно. Я установил такие системы, которые также подключаются к базе данных SQL для хранения и извлечения необходимых данных.

Чтобы разместить такую ​​систему самостоятельно, вы должны сначала настроить сервер IVR. Вы можете пользоваться обычными телефонными линиями с картами Dialogic. Вы можете получить множество различных карт Dialogic. Я бы порекомендовал вам для начала приобрести 4-х линейную карту. Они также делают карты 8, 12, 16 и T1 в зависимости от того, что вам нужно. Карты имеют встроенные процессоры, которые обрабатывают для вас одновременные вызовы.

Итак, когда вы разрабатываете приложение VB или C#, программа «запускается» до строк на карточке. Линии также должны быть объединены в «группу поиска», чтобы вы могли указать один номер (звонок бесплатный) на первую линию. Если он занят, то он «ищет» свободную линию в группе.

Это старый способ, которым телефонные системы работали много лет. Более новый способ — через Интернет с использованием передачи голоса по IP (VoIP). У него есть свой набор проблем. Основное преимущество использования оборудования Dialogic и реальных телефонных линий заключается в том, что его будет легче отлаживать. Вы можете разместить сервер IVR в своем офисе и полностью контролировать систему.

person DaveHolly    schedule 22.01.2012