Re: GSM_SMS
| From: | Mika Tuupola | Date: | Thu, 01 Jan 1970 00:00:00 +0000 |
| Subject: | Re: GSM_SMS | ||
| References: | 1 | Groups: | php.pear.dev |
| Request: | Send a blank email to pear-dev+get-1327@lists.php.net to get a copy of this message | ||
On 8 Aug 2001, Stig Sæther Bakken wrote:
> I'm not up to date on the GSM terminology; OTA, is that only for WAP
> configuration through SMS, or is that the entire standard for sending
> special messages through "ports"?
OTA is simply Over The Air. You can send all kind of stuff
over the air. Most common being OTABitmaps (which are bulding
blocks of operatorlogos and icons) and configuration settings
including (but not limited) to WAP settings.
> What did you intend to put into each of those Bearer/xxx.php files?
> Just a configuration for each provider? When sending operator logos,
> you need to embed the country and operator number, would these be
> defined here?
Country and operator codes should be given when creating
a new instance of GSM_SMS_OTA_OperatorLogo(). The example
was a bit bad in here.
In all the Bearer/xxx.php files would be atleast implementation
of every bearers send() method. This varies a lot. Some of them
separate UDH (User Data Header) and the payload, some not. Some
of them want charactest urlencoded, some not. There are also
bearers which work through email. My idea in here is to provide
simple API to the user making just a send() with one mandatory
parameter - the content. The method should itself figure out
if the content was an binary message:
is_subclass_of($message, "GSM_SMS_OTA"))
or simple ascii message
is_string($message)
and how to send it. User shouldn't have to care in which format
to give the data to the send() method.
About the configuration, I think giving it as a dsn would be quite
handy. Even though it isn't actually and "data" source.
There are other things to consider such as SMS routing (which
bearer to use when sending to specific operator). I think this is
not something that the class should take care about. SMS's are
relayed between many operators. Kannel can handle some routing
itself. If an user wants to implement routing that sould be taken
care in her own code. These classes should be just building
blocks.
--
Mika Tuupola http://www.appelsiini.net/~tuupola/