Предоставление контекста для SMS - PullRequest
0 голосов
/ 17 февраля 2010

Я пытаюсь выяснить, как настроить службу SMS, где пользователи могут общаться с людьми по телефонам, которые не участвуют в моей службе. «TextFree» на iPhone делает что-то вроде того, что я хочу сделать. Они позволяют вам зарегистрироваться, а затем вы можете отправлять сообщения «бесплатно» другим друзьям, которые не являются частью сервиса.

Похоже, когда вы регистрируетесь в TextFree, вам назначают адрес электронной почты [user@textfree.us]. Люди, не имеющие услуги без использования MMS, не могут отправить SMS этому пользователю. Пользователь должен сначала отправить ему SMS, начиная разговор. Я думаю, это то, что они делают:

  • Textfree регистрирует учетную запись у поставщика SMS-сообщений и получает один телефонный номер, например "123".
  • Джо подписывается на TextFree, получает адрес электронной почты: joe@textfree.us.
  • Мэри хочет отправить Джо смс, но не может, потому что не знает, на что # направить смс.
  • Джо отправляет смс Мэри, используя textfree. Это действительно просто делает HTTP-запрос к некоторому текстовому серверу. Сервер получает запрос, и номер получателя (телефон Мэри).
  • Сервер отправляет смс с помощью своего поставщика sms api.
  • Мэри получает смс и видит номер телефона отправителя как «123».
  • Мэри отвечает на смс, используя этот телефон #, «123».
  • Их поставщик sms получает сообщение и пересылает его на http-сервер textfree.
  • Textfree теперь должен решить, что смс, полученный на телефон Мэри №, предназначен для Джо (не уверен, как это можно сделать), поэтому его можно доставить на счет Джо.

Я думаю, что все имеет смысл и кажется выполнимым, я просто не уверен насчет этого последнего шага, как они могли бы выяснить, к какому разговору относятся смс. Если все внешние пользователи направляют свои смс на телефон № 123, как я могу выяснить, для какого внутреннего пользователя предназначено сообщение? Есть ли какой-нибудь способ встроить уникальный идентификатор в SMS, чтобы, когда внешний пользователь отвечал на SMS, в него мог быть встроен какой-то уникальный идентификатор, чтобы обеспечить такой тип контекста для чтения на стороне ответа вещей?

Длинный вопрос, спасибо за любые мысли!

1 Ответ

0 голосов
/ 17 февраля 2010

Что касается последней части вашего вопроса (уникальный идентификатор в SMS): Я не знаю ни одного механизма, который мог бы вам здесь помочь. При ответе на короткое сообщение телефоны только устанавливают адрес отправителя в качестве пункта назначения, и пользователь может свободно вводить текст. Заголовки в PDU короткого сообщения предназначены исключительно для основных транспортных параметров (кодировка, идентификатор отправителя, ...). Существует способ определения так называемых заголовков пользовательских данных, но для того, чтобы он вам пригодился, вам необходимо будет контролировать большинство устройств, участвующих в доставке сообщений, , включая * 1002. * трубки ... Так что, по сути, единственный способ, которым я вижу, чтобы надежно соотносить сообщения друг с другом, - это использование некоторого идентификатора в тексте сообщения.

Альтернативный подход состоит в том, чтобы арендовать несколько номеров и назначить их навсегда (я полагаю, здесь есть некоторая модель подписки) для ваших пользователей. Таким образом, вы можете использовать их в качестве идентификационных номеров в вашем сервисе и пересылать сообщения на их реальные телефонные номера (или даже на совершенно разные носители, такие как электронная почта / мессенджер).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...