为SMS提供上下文

时间:2010-02-16 22:58:21

标签: sms

我正在尝试弄清楚如何设置短信服务,用户可以在不参与我服务的手机上与人通信。 iPhone上的“TextFree”就像我想做的那样。他们允许您注册,然后您可以“免费”向其他不属于该服务的朋友发送消息。

看起来当您注册TextFree时,他们会为您分配一个电子邮件地址[user@textfree.us]。没有MMS功能的服务之外的人无法向该用户发送短信。用户必须首先向他们发送短信,开始对话。我认为这就是他们正在做的事情:

  • Textfree注册一个拥有批量短信服务提供商的帐户,并被分配一个电话号码,如“123”。
  • Joe注册TextFree,获得电子邮件:joe@textfree.us。
  • 玛丽想给乔送一个短信,但不能,因为她不知道用什么来指导短信。
  • Joe使用textfree向Mary发送短信。这实际上只是向一些textfree服务器发出http请求。服务器获取请求,目的地#(Mary的电话)。
  • 服务器使用批量sms api提供程序发送短信。
  • Mary接收短信,并将发起人电话号码视为“123”。
  • Mary使用这款手机#,“123”回复了短信。
  • 他们的短信服务提供商收到该消息,并将其转发给textfree的http服务器。
  • Textfree现在必须解决Mary手机#收到的短信发往Joe(不知道如何做到这一点),因此可以发送到Joe的账号。

我认为一切都是有道理的,似乎是可行的,我只是不确定最后一步,他们怎么能弄清楚哪些对话短信属于。如果所有外部用户都将他们的短信指向电话#123,我怎么能确定该消息的目的地是哪个内部用户?有没有办法在SMS中嵌入一个唯一的标识符,这样当外部用户回复短信时,可以在其中嵌入一些唯一的ID,以便在回复方面提供该类型的上下文?

很长的问题,谢谢你的想法!

1 个答案:

答案 0 :(得分:0)

至于问题的最后部分(SMS中的唯一ID): 我知道没有可以帮助你的机制。回复短消息时,电话仅将发件人地址设置为目的地,用户可以自由键入文本。短消息PDU中的报头仅用于基本传输参数(编码,发送者ID,......)。有一种方法可以定义所谓的用户数据头,但为了让您可以使用它,您必须控制消息传递中涉及的大多数设备,包括手机......所以基本上我认为可靠地将消息相互关联的唯一方法是在消息文本中使用一些ID。

另一种方法是租用一堆数字并将这些数字永久分配给我们(我假设这里有一些订阅模式)给用户。通过这种方式,您可以将这些信息用作服务中的标识号 ,并将信息转发到他们的真实电话号码(甚至是电子邮件/即时通讯等完全不同的媒体)。