EMI (protocol)
From Wikipedia, the free encyclopedia
External Machine Interface (EMI), an extension to Universal Computer Protocol (UCP), is a protocol primarily used to connect to short message service centres for mobile telephones. The protocol was developed by CMG, now a part of LogicaCMG, the current SMSC market leader.
Contents |
[edit] Syntax
A typical EMI/UCP exchange looks like this :
^B01/00045/O/30/66677789///1//////68656C6C6F/CE^C ^B01/00041/R/30/A//6667778Universal Computer Protocol9:180594141236/F3^C
The start of the packet is signaled by ^B (STX, hex 02) and the end with ^C (ETX, hex 03). Fields within the packet are separated by / characters.
The first four fields form the mandatory header. the third is the operation type (O for operation, R for result), and the fourth is the operation (here 30, "short message transfer").
The subsequent fields are dependent on the operation. In the first line above, '66677789' is the recipient's address (telephone number) and '68656C6C6F' is the content of the message, in this case the ASCII string "hello". The second line is the response with a matching transaction reference number, where 'A' indicates that the message was successfully acknowledged by the SMSC, and a timestamp is suffixed to the phone number to show time of delivery.
The final field is the checksum, calculated simply by summing all bytes in the packet (including slashes) and taking the 8 least significant bits from the result.
The full specification is available on the LogicaCMG website developers' forum, but registration is required.
[edit] Technical Limitations
The two digit transaction reference number means that an entity sending text messages can only have 100 outstanding messages; this can limit performance.
The destination AdC phone number cannot contain * or # characters, although the originator OAdC can, in which case the text message could not be replied to.
The default alphabet is not ASCII compatible and is missing the characters: apostrophe ' (only Grave Accent `), Underscore and Tab.
As the protocol is itself text, the text of the SMS message must be encoded twice (characters packed to 7 bits, then encoded as hex), and can not be read from a dump of a message. This also applies to GSM MAP.
[edit] Alternatives
- Short message peer-to-peer protocol (SMPP) also provides SMS over TCP/IP.
[edit] See also
- Computer Interface for Message Distribution (CIMD) developed by Nokia
[edit] External links
- LogicaCMG: Downloads for developers (link no longer active as of 2007-12-24)