Я пытаюсь создать приложение codeigniter / php, которое может отправлять и получать SMS с помощью GSM-модема GoIP. это вопрос ответил отправляющей части.
Теперь, как мне получить SMS в PHP?
Моя идея сейчас заключается в том, чтобы модем отправлял POST-запрос на мой сервер каждый раз, когда поступало новое SMS, но я не могу найти подходящий API или sms-сервер для этой работы.
Я не специалист по GSM-модемам, но мне кажется маловероятным, что модем сможет инициировать HTTP-запросы к вашему PHP-приложению при получении сообщения.
Основываясь на небольшом поиске в Google, кажется, что вы можете опросить модем с помощью AT-команд:
> AT
OK
> AT+CMGF=1
OK
> AT+CMGL="ALL"+CMGL: 1,"REC READ","+85291234567",,"06/11/11,00:30:29+32"Hello, welcome to our SMS tutorial.
+CMGL: 2,"REC READ","+85291234567",,"06/11/11,00:32:20+32"A simple demo of SMS text messaging.
OK
(Приведенный выше пример отсюда: https://www.developershome.com/sms/howToReceiveSMSUsingPC.asp)
Таким образом, вы можете опрашивать модем каждую минуту или около того, ища новые SMS-сообщения, которые он получил. Связь с модемом из PHP будет зависеть от того, как модем подключен, но вы можете найти этот пример репозитория полезным: https://github.com/gonzalo123/gam-sms/
Он написан Гонсало Аюсо, и здесь есть некоторые объяснения по его использованию: https://gonzalo123.com/2011/03/21/howto-sendread-smss-using-a-gsm-modem-at-commands-and-php/
Простейшей реализацией было бы установить прилагаемое приложение SMS-сервера. Позвольте вашему устройству GoIP зарегистрироваться на вашем SMS-сервере и позволить API выполнять отправку и получение.
То, чего вы хотите достичь с помощью POST, уже встроено в серверное приложение. Проверьте документацию здесь:
http://www.voipddns.net/pdf/GoIP%20SMS%20AppNote.pdf
Способ 1 является самым простым способом.
Я надеюсь, что это помогает.