У меня есть CRM (программное обеспечение для управления взаимоотношениями с клиентами), построенное на php и выполняющее его на локальном хосте (система Windows XP). Это список моих клиентов. Я хочу, чтобы иметь возможность звонить этим клиентам непосредственно из моего CRM и вести журнал того же самого. (Время вызова, продолжительность звонка и запись вызовов). Для входящих вызовов я должен уметь связывать его с моим CRM, отображать детали клиента и регистрировать данные.
У меня есть модем 3G GSM с поддержкой голоса (с разъемом USB), который можно использовать для этой цели. Из моего поиска я понимаю, что мне нужно будет отправить команды AT из PHP для взаимодействия с модемом. Но я не могу двигаться вперед, поскольку я совершенно новичок в этом. До этого я никогда не занимался интерфейсом устройства.
Можете ли вы помочь мне понять, как я могу решить эту проблему? Любые подсказки, ресурсы в этом направлении будут очень полезны.
Я бы не стал делать это с помощью чистого PHP, так как тогда вам придется иметь PHP-интерфейс с аппаратным обеспечением через веб-сервер, что может быть больно, если оно вообще управляемо. На мой взгляд, есть три варианта:
1: AKA трудный путь:
Напишите расширение PHP в C, которое делает то, что вы хотите, но это будет означать много программирования для относительно небольшой задачи.
2: Метод eas [y / ier]:
Найдите программу (возможно, Skype?), Которая может выполнять голосовую связь с вашим модемом и имеет API или CLI, чтобы вы могли запустить PHP:
voiceprogram.exe --call=555-000-5555 --saveTo=client1_20113103_1200.mp3
Это позволяет приложению делать то, что хорошо, и использовать только PHP в качестве контроллера. Полученный MP3 (или Wav, OGG и т. Д.) Можно сохранить обратно в CRM.
3: Другие варианты
Если вы можете программировать на другом языке, который легко обменивается данными с вашим модемом, вы можете написать код, который может быть вызван PHP (сокеты / SOAP / CLI) и обрабатывает вызов. По завершении он может «POST» получить информацию о вызове на ваш PHP-скрипт.
Первые 2 решения работают только тогда, когда CRM запускается на локальном хосте, если вы планируете использовать его в общей сетевой среде, сложность будет повышаться. Последний вариант, если все сделано правильно, может использоваться в общей среде.