Specification: Short Message Service Centre External Machine Interface
Specification: Short Message Service Centre External Machine Interface
Specification
Abstract
This manual specifies the interface between the CMG's Short Message Service Centre and
other computer systems and applications. The specification relates to the SMSC software
release 3.1.
Reference : EMISPEC.312
Version : 3.1.2
The information in this document is subject to change without notice and should not be
construed as a commitment by CMG. CMG assumes no responsibility for any errors that
may appear in this document.
The software described in this document is furnished under license and may be used or
copied only in accordance with the terms of such license. No responsibility is assumed for
the use or reliability of software on equipment other than specified.
Further information:
Table of Contents
PREFACE............................................................................................................................. 5
1. INTRODUCTION.......................................................................................................... 8
1.1 Position of interface .................................................................................................................. 8
1.2 Interface history........................................................................................................................ 9
1.3 References.............................................................................................................................. 10
2. STRUCTURE OF EMI MESSAGES .................................................................................11
2.1 Examples................................................................................................................................ 12
3. EMI COMMANDS .......................................................................................................13
3.1 SMT initiated commands ........................................................................................................ 13
3.2 SMSC initiated commands ................................................................................................ 14
3.3 Flow control ........................................................................................................................... 14
4. EMI COMMANDS SYNTAX .........................................................................................15
4.1 Address syntax ....................................................................................................................... 15
4.2 Call input operation -01 .................................................................................................... 15
4.2.1 Call input operation (positive result).............................................................................................. 16
4.2.2 Call input operation (negative result)............................................................................................. 17
4.3 Multiple address call input operation -02................................................................................. 18
4.3.1 Multiple address call input operation (positive result) .................................................................... 19
4.3.2 Multiple address call input operation (negative result) ................................................................... 20
4.4 Call input with supplementary services operation -03......................................................... 20
4.4.1 Call input with supplementary services operation (positive result) ........................................... 22
4.4.2 Call input with supplementary services operation (negative result) ......................................... 22
4.5 MS message transfer operation -30 ......................................................................................... 23
4.5.1 MS message transfer operation (positive result) ............................................................................. 25
4.5.2 MS message transfer operation (negative result) ............................................................................ 25
4.6 MT alert operation -31............................................................................................................ 26
4.6.1 MT alert operation (positive result)................................................................................................ 27
4.6.2 MT alert operation (negative result)............................................................................................... 27
5. 50-SERIES OF EMI MESSAGES .................................................................................29
5.1 Abstract Data Types ......................................................................................................... 29
5.1.1 How an application should pass an alphanumeric OAdC ............................................................... 33
How to encode the alphanumeric OAdC ............................................................................................. 33
Restrictions of the used IA5 characters in an alphanumeric OAdC...................................................... 33
5.1.2 Description Of XSer Extra Services ............................................................................................... 34
5.1.2.0 XSer Type of service 00, Not Used.......................................................................................... 34
5.1.2.1 XSer Type of service 01, GSM UDH information .................................................................. 34
PREFACE
This manual specifies the interface used between the SMSC System and other computer
systems and applications. The interface is based on the ERMES UCP (Universal Computer
Protocol) with some SMSC-specific extensions.
Throughout this document the interface is called 'EMI': External Machine Interface.
Intended Audience
All persons involved in the design and implementation of applications on external computer
systems that have to interact with the SMSC.
Document Structure
• Chapter 1 contains the introduction to the EMI. It describes the position of the EMI
between the SMSC components and the external machines.
• Chapter 2 shows the structure of EMI messages and provides examples of valid
exchanges of commands between the SMSC and the applications.
• Chapter 3 defines the EMI operations, and describes briefly the actions that are
expected from the SMSC and the Application upon reception of the commands (these
are further detailed in the respective design documents).
The External Machine Interface specification specifies the features that can be used in the
EMI operations. However, many of the features can only be used when the operator of the
SMSC has bought the corresponding licenses. Also many features are subject to
provisioning by the SMSC operator, i.e. did the operator grant you the rights to use these
features in the EMI operations.
Abbreviations
Abbreviation Meaning
parameter. However this field has no meaning in the UCP56 operation. Therefor the
description now states that this field should be left empty.
• In paragraph ‘4.1 Address syntax’ the following line has been removed:
• The RES3 (reserved field) is now used for extra services (XSer field) in UCP 51 and 52
operations. This patch allows the UCP application to specify a User Data Header. The
functionality is an add-on (patch) to the SMSC 3.1 Release.
• Clarification on the format of the XSer field and the format of the XSer service type “GSM
UDH information”.
1. INTRODUCTION
For submission and reception of Short Messages the Short Message Service Centre can
interface with (among others):
• dedicated PC applications.
NOTE
Throughout this document the External Machine will be referred to as 'SMT'. This can of
course be any application system.
In order to allow any service provider to develop dedicated applications an interface was
developed to access SMSC functions. This manual specifies that interface.
EMI
PC SMSC PLMN
X.25
X.29
leased line
dial-up
When viewed from the SMT/PC side, the EMI provides access to the SMSC functions:
The SMSC can be viewed as a Black Box: Short Messages are directed to the GSM mobile
telephone of the recipient. The SMSC and the PLMN only function as relay mechanisms for
those Messages. The only visible action of the SMSC apart from this, is the provision of
Notifications: upon request the SMSC will notify the originator of the SM regarding the status
of the SM.
• X.25 (X.121)
• X.29
• PSTN (E.164)
• ISDN (E.164)
• TCP/IP
• other on request
The set-up of the connection between the SMSC platform and the SMT depends on the
carrier used. Once the connection is established, the EMI operations can be used.
The SMSC External Machine Interface (EMI) is based on an extended subset of the UCP
protocol defined for the ERMES paging system in ETS 300 133-3. When referring to 'UCP' in
the context of the SMSC, almost always the EMI, the extended subset of the ERMES UCP,
is meant.
In the SMSC the UCP protocol was chosen as the basis for the EMI because:
1. the first operators that used the SMSC required to use the UCP protocol to interact with
external machines.
2. it allows service providers to use a single mechanism to interface to both ERMES based
paging systems and the SMSC.
In order to provide access to the more extensive set of SMS commands, it was necessary to
extend the UCP definition with some additional, SMSC specific commands, such as 'SMS
message transfer operation' and 'SMT alert operation'
NOTE
All new applications should only use the SMT alert operation, UCP5x and UCP6x
operations. All other UCP operations are only referenced for existing applications and
compatibility with previous SMSC releases.
1.3 References
1. ETSI ETS 300 133-3 Paging Systems (PS); European Radio Messaging System
(ERMES) Part 3: Network aspects; Section 9: I5 interface.
2. ETSI GSM 03.38 Version 4.0.1; Alphabets and language-specific information; European
digital cellular telecommunications system (Phase 2).
o stx = 02(hex)
o etx = 03(hex)
Note that in the examples 'stx', 'etx' and '/' each represent only one character.
As separator between header and data, between data and checksum, as well as between
parameters, a '/' (2F(hex)) is used.
In parameters that contain a list, the items are separated by a ',' (2C(hex)). Numeric
characters (0..F) are encoded as in IA5. Alphanumeric characters are encoded as two
numeric IA5 characters, the higher 3 bits (0..7) first, the lower 4 bits (0..F) thereafter,
according to the following table.
b6 0 0 1 1 0 0 1 1
b5 0 1 0 1 0 1 0 1
B4 b3 b2 b1 0 1 2 3 4 5 6 7
0 0 0 0 0 @ ∆ SP 0 ¡ P ¿ p
0 0 0 1 1 £ DC1 ! 1 A Q a q
0 0 1 0 2 $ Φ “ 2 B R b r
0 0 1 1 3 ¥ Γ # 3 C S c s
0 1 0 0 4 è ∧ ¤ 4 D T d t
0 1 0 1 5 é Ω % 5 E U e u
0 1 1 0 6 ù Π & 6 F V f v
0 1 1 1 7 ì Ψ ‘ 7 G W g w
1 0 0 0 8 ò Σ ( 8 H X h x
1 0 0 1 9 Ç θ ) 9 I Y i y
1 0 1 0 10 LF Ξ * : J Z j z
1 0 1 1 11 Ø ESC + ; K Ä k ä
1 1 0 0 12 ø Æ , < L Ö l ö
1 1 0 1 13 CR æ - = M Ñ m ñ
1 1 1 0 14 Å ß . > N Ü n ü
1 1 1 1 15 å É / ? O § o à
This table is the default setting for computer interworking. Operators might select to change
this mapping to accommodate other national characters. Character coding above ‘7F’(hex)
can be filled as well.
The <header> consists of the following 4 mandatory fields:
The <data> fields depend on the Operation Type. For each Operation Type they are listed in
the next chapters.
The <checksum> is derived by the addition of all bytes of the header, data field separators
and data fields (i.e. all characters after the stx-character, up to and including the last '/'
before the checksum field). The 8 Least Significant Bits (LSB) of the result is then
represented as two printable characters. The character containing 4 Most Significant Bits
(MSB) (of those 8 LSB) shall be transmitted first. For example, if the checksum is 3A(hex)
the representation shall be the characters '3' (33(hex)) and 'A' (41(hex)).
2.1 Examples
Below you will find examples of the SMS message transfer operation and responses. The
message sent is "hello":
stx01/00045/O/30/66677789///1//////68656C6C6F/CEetx
stx01/00041/R/30/A//66677789:180594141236/F3etx
stx01/00052/O/30/66677789///1/558/0138////68656C6C6F/3Aetx
stx01/00041/R/30/A//66677789:180594141430/EFetx
In the acknowledgement, the 'system message' parameter is used to indicate the recipient
address and timestamp. Note that the 'Authentication Code' parameter is not used. The
Notification requested in the first example will be sent to the originator of the short message,
only as long as this session exists.
Other examples are given in the description of the specific EMI commands. Note that the stx
and etx in these examples are skipped.
3. EMI COMMANDS
EMI commands can be initiated either from the SMT, or from the SMSC. Each command will
lead to an action on the other side. The other side will respond with a positive or negative
acknowledgement.
The definitions of operations '01', '02' and '03' are identical to the corresponding operations
defined in [1].
The 'Call input operation' is the normal means of submitting a Short Message. The SMSC
must, when it receives this command, send the message to the recipient address that is
specified in the command.
The 'Multiple address call input operation' is used to address a number of recipients in one
operation. The command contains a list of recipient addresses. The SMSC will send the
same message to all addresses in this list.
The 'Call input with supplementary services operation' is used when a message is to be
scheduled for deferred delivery.
The 'SMS message transfer operation' is used to submit a message when SMSC specific
services are required, such as notification request, deferred delivery, or validity period.
The 'SMT alert operation' can be used by the application to alert the SMSC to send
messages and notifications to the application. It can only be used when the application uses
The SMSC uses the 'Call input operation' to transfer Notifications and Mobile Originated
Short Messages to the Short Message Terminal (SMT). The initiative to do so lies either with
the SMSC (Notifications on messages submitted in the current session) or with the SMT (the
SMT has to issue an SMT alert command).
The SMSC can support two types of flow control. The first type of flow control is a ‘stop-and-
wait’ protocol, i.e. during the handling of commands, no other commands shall be sent
before the a response is received. Any command that is sent before the reception of the
response will be discarded.
The second type of flow control that can be supported by the SMSC is ‘windowing’. In this
case a maximum of n commands can be sent before a response is received. The transaction
number of the command (field TRN) will be used to determine if a command is in the current
‘window’.
The SMSC will discard a command if its transaction number is outside the current window
(the (n+1)Th. message in a window of n).The SMSC will give transaction numbers to the
commands it sends as much as possible in a cyclic manner.
If the SMSC receives an invalid response on a command, then the transaction number of
that command can only be used again after the delivery operation has been cancelled due to
a delivery time-out.
NOTE
Windowing is only supported in combination with UCP5x series operations and the
windowing functionality has to be provisioned by the SMSC operator.
This chapter shows the syntax of the data fields of the EMI commands. For the syntax of the
complete messages, please refer to Chapter 2, Structure of EMI messages. For each
command also the format of the positive and negative responses is given, including the
possible error codes. For convenience, all error codes are summarised in Chapter 7, 7.1,
Error Codes Overview. The order in which the commands are listed is:
2. SMSC specific extensions, used to address SMS functions not foreseen in the UCP
definition.
In the column marked 'Presence', 'M' indicates that the field is Mandatory, and 'O' indicates
that it is Optional.
For all addresses used in the EMI-messages the following syntax rules are valid:
In the case the national prefix is used in the network the following syntax is seen as valid
addresses:
<trunk-prefix><trunk-code><telephone-nr>
<int-prefix><country-code><trunk-code><telephone-nr>
In case the national prefix is not used in the network, the following syntax is seen as valid
addresses (in these situations, a valid telephone number will be recognised by its length):
<int-prefix><country-code><telephone-nr>
<telephone-nr>
For TCP/IP addresses every byte expressed in decimal form should be left zero padded so
that they all have a length of 3 characters. The TCP/IP port number shall be concatenated to
the IP address. All dots (‘.’) in the address shall be omitted.
Example:
This operation can be used by the SMT to submit a message to the SMSC. This operation is
also used by the SMSC to deliver Short Messages and Notifications to a SMT user in the
following cases:
• The SMSC operator provides the UCP behaviour of previous SMSC releases, i.e. the
UCP01 operation is used to deliver a Mobile Originated Short Message(MO-SM) when
the MO-SM functionality does not require the UCP50 series operations or the UCP01 is
used to deliver a notification to the SMT as a result of a SMT initiated UCP30 operation.
• The SMSC operator provides the default UCP behaviour of the current SMSC release.
I.e. a UCP01 is used for a MO-SM or notification for a UCP30 operation, when a UCP50
series operation is negatively acknowledged by the application with Error Code 03
(Operation not supported on system) and the functionality of the UCP01 operation is
sufficient to do the requested operation.
The following list shows the parameters in the operation data field:
MT=2:
NMsg String of num. char. O Numeric message, maximum length is 160
digits.
MT=3:
AMsg String of char. O Alphanumeric message encoded into IA5
characters, maximum length is representing
640 characters.
Examples:
The following list shows the parameters in the positive result data field:
When the SMSC initiates this operation, the contents of the SM parameter will be discarded.
Example:
• 06/00043/R/01/A/01234567890:090196103258/4E
The following list shows the parameters in the negative result data field:
The following error codes can be returned in the operation negative result:
01 Checksum error
02 Syntax error
03 Operation not supported by system
Example:
• 12/00022/R/01/N/02//03
This message can be used by the SMT to submit a message to the SMSC. With this
operation a list of recipients of the message may be specified thus reducing the traffic
between the SMSC and the SMT.
The following list shows the parameters in the operation data field:
MT=2:
NMsg String of num. char. O Numeric message, maximum length is 160
digits.
MT=3:
AMsg String of char. O Alphanumeric message encoded into IA5
characters, maximum length is representing
640 characters.
• The SMSC does currently not support the Multiple call input operation for Large Accounts
in combination with throughput regulation.
• The NPL parameter must range from 1 to 20 thus limiting the length of the RAd:s list to 20.
An IW also contains the DEST_MAX parameter. The NPL must also have a value less than
Examples:
The following list shows the parameters in the positive result data field:
Since the operation allows for a maximum of 20 addresses to be provided the positive result
may also contain a maximum of 20 address:time-stamp combinations.
If some of the addresses are invalid, and some are valid, the invalid addresses can be
recognised by the absence of the timestamp field. If all addresses are invalid, a negative
result is returned.
Example
• 82/00059/R/02/A/0654321:090196113940,065432:090196113940/86
The following list shows the parameters in the negative result data field:
The following error codes can be returned in the operation negative result:
01 Checksum error
02 Syntax error
04 Operation not allowed (at this point in time)
05 Call barring active
06 AdC invalid
07 Authentication failure
08 Legitimisation code for all calls, failure
23 Message type not supported by system
24 Message too long
26 Message type not valid for the pager type
Example:
• 47/00022/R/02/N/01//0B
This operation can be used by the SMT to submit a Short message to the SMSC. The
following list shows the parameters in the operation data field:
MT=3:
AMsg String of char. O Alphanumeric message encoded into IA5
characters, maximum length is representing
640 characters.
• The RAd field contains an address and optionally a legitimisation code. If the
legitimisation code is present it is separated from the address by a comma ",". If the
legitimisation code is not present the comma may be omitted. If present the
legitimisation code is discarded by the IW.
• The NPL must be equal to zero. If the NPL contains anything else than zero a negative
response with "GA not valid" (09) must be sent to the message sender. Since NPL must
be equal to zero the GA:s list may not be used.
• The RP parameter may not be set. If the RP parameter is set a negative response with
"Repetition not allowed" (10) must be sent to the message sender.
• The PR parameter may not be set. If the PR parameter is set a negative response with
"Priority call not allowed" (12) must be sent to the message sender.
• The LPR parameter may not be set. If the LPR parameter is set a negative response
with "Priority call not allowed" (12) must be sent to the message sender.
• The UR parameter may not be set. If the UR parameter is set a negative response with
"Urgent message not allowed" (14) must be sent to the message sender.
• The LUR parameter may not be set. If the LUR parameter is set a negative response
with "Urgent message not allowed" (14) must be sent to the message sender.
• The RC parameter may not be set. If the RC parameter is set a negative response with
"Reverse charging not allowed" (16) must be sent to the message sender.
• The LRC parameter may not be set. If the LRC parameter is set a negative response
with "Reverse charging not allowed" (16) must be sent to the message sender.
• If the option ‘Long Message’ is not enabled on the SMSC, the maximum length of AMsg
represents 160 characters.
• The AC parameter is discarded if present.
Examples:
The following list shows the parameters in the positive result data field:
Example:
• 01/00038/R/03/A/066666:090296103355/4F
4.4.2 Call input with supplementary services operation (negative result)
The following list shows the parameters in the negative result data field:
The following error codes can be returned in the operation negative result:
01 Checksum error
02 Syntax error
03 Operation not supported by system
04 Operation not allowed (at this point in time)
05 Call barring active
06 AdC invalid
07 Authentication failure
08 Legitimisation code for all calls, failure
09 GA not valid
10 Repetition not allowed
11 Legitimisation code for repetition, failure
12 Priority call not allowed
13 Legitimisation code for priority call, failure
14 Urgent message not allowed
15 Legitimisation code for urgent message, failure
16 Reverse charging not allowed
17 Legitimisation code for reverse charging, failure
18 Deferred delivery not allowed
21 Standard text not valid
22 Time period not valid
23 Message type not supported by system
24 Message too long
26 Message type not valid for the pager type
Example:
• 01/00022/R/03/N/22//05
This operation can be used by the SMT to submit a message to the SMSC. With this
operation Short Message specific services can be requested. The following list shows the
parameters in the operation data field:
Examples:
The following list shows the parameters in the positive result data field:
Example:
• 10/00039/R/30/A//067345:070295121212/6F
The following list shows the parameters in the negative result data field:
The following error codes can be returned in the operation negative result:
01 Checksum error
02 Syntax error
04 Operation not allowed (at this point in time)
05 Call barring active
06 AdC invalid
07 Authentication failure
08 Legitimisation code for all calls, failure
22 Time period not valid
24 Message too long
26 Message type not valid for the pager type
Example:
• 11/00022/R/30/N/24//08
This operation can be used by a SMT to alert the SC. The following list shows the
parameters in the operation data field:
AdC String of num. char. M Address code for the SMT, maximum length
is 16 digits.
PID 4 num. char. M SMT PID value:
0100 Mobile Station
0122 Fax Group 3
0131 X.400
0138 Menu over PSTN
0139 PC appl. via PSTN
0339 PC appl. via X.25
0439 PC appl. via ISDN
0539 PC appl. via TCP/IP
0639…..PC appl. via abbreviated number
Note:
• PID value 0639 can only be used to alert for the own (originator) address and if the
Example:
The following list shows the parameters in the positive result data field:
The positive SMT alert operation result text SM parameter must contain the number of
messages waiting in the SC destined for the subscriber the alert was generated for. The
number consists of four digits and contains leading zero's. When the number of messages
waiting in the SC is more than 9,999, then 9999 will be returned as the number of messages
waiting.
Example:
• 04/00024/R/31/A//0003/5D
The following list shows the parameters in the negative result data field:
The following error codes can be returned in the operation negative result:
01 Checksum error
02 Syntax error
04 Operation not allowed (at this point in time)
05 Call barring active
06 AdC invalid
07 Authentication failure
Example:
• 00/00022/R/31/N/06//07
This chapter introduces the 50-series of operations. The following defines these operations:
51 Submit_short_message SMT
52 Deliver_short_message SMSC
53 Deliver_notification SMSC
54 Modify_message SMT
55 Inquiry_message SMT
56 Delete_message SMT
57 Response_inquiry_message SMSC
58 Response_delete_message SMSC
These messages have been introduced in order to provide more facilities to the SMSC
users. If a user has used one of these operations during a session, it is assumed that the
other (output) operations are supported as well. The SMSC initiated operations will always be
those of the 50-series. Only in the cases that are mentioned in section 4.2, the SMSC will
use the UCP01 operation.
For a higher maintainability a generic Abstract Data Type (ADT) is introduced for all
operations described in this chapter. This means that all 50-series of EMI strings, including
responses, shall contain all fields listed. In exception to this, depending on the value of 'MT',
only one of the fields NMsg, AMsg or NB + TMsg shall be included. Fields not appropriate
shall be left empty.
The following is a description of this generic ADT (where 'Num. string' indicates 'string of
numeric char.'):
1 = NAdC used
NAdC 16 Num. string Notification Address
NT 1 Num. char. Notification Type:
Buffered message notification (BN),
Delivery Notification (DN),
Non-delivery notification (ND),
0 default value, 1 = DN, 2 = ND, 3 = DN+ND, 4 =
BN, 5 = BN+DN, 6 = BN+ND, 7 = all.
NPID 4 4 num. char. Notification PID value:
0100 Mobile Station
0122 Fax Group 3
0131 X.400
0138 Menu over PSTN
0139 PC appl. over PSTN (E.164)
0339 PC appl. over X.25 (X.121)
0439 PC appl. over ISDN (E.164)
0539 PC appl. over TCP/IP
LRq 1 1 num. char. Last Resort Address request:
0 = LRAd not used
1 = LRAd used
LRAd 16 Num. string Last Resort Address
LPID 4 4 num. char. LRAd PID value:
0100 Mobile Station
0122 Fax Group 3
0131 X.400
0138 Menu over PSTN
0139 PC appl. over PSTN
0339 PC appl. over X.25 (X121)
0439 PC appl. over ISDN (E.164)
0539 PC appl. over TCP/IP
DD 1 1 num. char. Deferred Delivery requested:
0 = DDT not used
1 = DDT used
DDT 10 10 num. char. Deferred delivery time in DDMMYYHHmm
VP 10 10 num. char. Validity period in DDMMYYHHmm
RPID 4 Num. string Replace PID, value 0000, 0071, 0095, 0127,
0192...0255.
SCTS 12 Num. string Service Centre Time Stamp in DDMMYYHHmmss.
For a Short Message this is the time stamp of the
Short Message itself. For a Notification this is the
time stamp of the corresponding Short Message.
Dst 1 1 num. char. Delivery status:
0 = delivered
1 = buffered (see Rsn)
2 = not delivered (see Rsn)
Rsn 3 3 num. char. Reason code, value '000'...'255'. Code can be found
in an SMSC configuration file witch can be changed
by the operator. (See appendix A)
DSCTS 12 Num. string Delivery time stamp in DDMMYYHHmmss.
Indicates the actual time of delivery of the Short
Message.
MT 1 1 num. char. Message Type. Associated parameters depend on
the value of MT.
MT=2:
NMsg 640 Num. string Numeric message.
MT=3:
AMsg 640 Char. string Alphanumeric message encoded into IA5
characters.
MT=4:
NB 4 Num. char. No. of bits in Transparent Data (TD) message.
TMsg 140 Char. string TD message encoded into IA5 characters.
MMS 1 1 num. char. More Messages to Send (to the same SME)
PR 1 1 char. Priority Requested
DCs 1 1 num. char. Data Coding scheme:
0 = default alphabet
1 = user defined data ('8 bit')
MCLs 1 1 num. char. Message class:
0 = message class 0
1 = message class 1
2 = message class 2
3 = message class 3
Member Type
Member Type
This paragraph describes how an alphanumeric OAdC should be sent, this will be done using
an example.
This alphanumeric address (IA5) should first be coded into 7 bits, according to
ETSI's 3.38, by the application. This results in the following hexadecimal values:
The application should add the number of useful semi-octets within the alphanumeric
address in front of these values, according to ETSI's 3.40. The length should be added in a
byte (octet). In case of ALPHA@NUM, the number of useful semi-octets in the 7 bit encoded
representation is 16 decimal (0x10 hexadecimal). This results in the following hexadecimal
values:
Finally this string should be converted to an ASCII string that can be used in the UCP
message. Each nibble (4 bits) should be stored as ASCII character. The resulting ASCII
string is:
10412614190438AB4D
This is the OAdC as it should be stored in a UCP message. The OTOA should be set to
'5039' in the UCP message
There are no restrictions. All characters from the IA5 alphabet can be used.
The XSer field allows to specify one or more additional services, all in the format
TTLLDD…DD, where TT field specifies the type of service. The following subsections
specify the supported service types.
With this service type GSM User Data Header information can be specified. The data field
DD of this service type contains the octets of the GSM User Data Header as specified in
GSM 03.40. (UDHL, IEIa, IEIDLa, IEDa, IEIb, …, IEIn, IEDLn, IEDn). Every UDH octet is
encoded in two IA5 hex characters, as usual in UCP. An example is given below.
The length of the GSM UDH information, related to the length of the Msg field content, is
restricted to the maximum length of the GSM TP-UD field: 140 octets c.q. 160 septets.
Depending on the MT field this is checked as follows:
• If MT = 2 or 3 then: The length of the UDH field (in octets), multiplied by 8/7, rounded up
to the nearest integer value, plus the length of the NMsg/AMsg field (in octets) must not
exceed 160 (septets).
• If MT = 4 then: The length of the UDH field (in octets) plus the length of the TMsg field
(in octets) must not exceed 140 (octets).
There must be only one occurrence of Type of service 01, GSM UDH information in XSer.
A GSM UDH consisting of the following two UDH information elements is to be encoded:
1. Concatenated short messages, Concatenated short message reference number = 64,
Maximum number of short messages in the concatenated short message = 4, Sequence
number of the current short message = 2
2. Application Port Addressing 8 bit address, destination port = 240, originator port = 250
The advantage of using the generic ADT for all new EMI operations is, that one standard
string can be used for all operations. The string is build according to the specifications in [1]
as follows:
o stx = 02(hex)
o etx = 03(hex)
For example the data block for INQM (OAdC and AdC fields only) will look like:
../55/O/012345/0324///////////......
This format provides a high degree of flexibility as well as upwards compatibility to future
EMI specifications.
This does also apply for the responses. For example, the positive response message
contains the MVP field. This field is only used for the SUBS message positive response; in
all other cases this field is left empty.
In the columns marked 'Presence' of the sections to follow, 'M' indicates that the field is
Mandatory, 'O' indicates that the parameter is Optional and '-' indicates that the parameter
shall be empty.
This operation is used to submit a Short Message to the SMSC. The operation can be used
for Short Messages with an alphanumeric or a binary message text field. In the latter case
the MT parameter shall be set to '4'.
MT=2:
NB - No. of bits in Transparent Data (TD) message.
NMsg O Numeric message.
MT=3:
NB - No. of bits in Transparent Data (TD) message.
AMsg O Alphanumeric message encoded into IA5
characters.
MT=4:
NB M No. of bits in Transparent Data (TD) message.
TMsg M TD message encoded into IA5 characters.
• If the AC field is used, it should contain at least 4 numeric characters in every message
which are not all equal to zero, otherwise it shall be rejected.
• If the option ‘Long Message’ is not supported on the SMSC, the maximum length of
AMsg represents 160 characters and NMsg is 160 digits.
• If NRq is used, and NAdC and NPID are both used, then this address will be used as
notification address.
• If NRq is used, and NAdC or NPID or both are left empty, then the notification is sent to
the originator in the current session. If in this case :
∗ the session is ended,
∗ the originator is not known to the SMSC to have more than one address,
∗ and the notification has not yet been delivered,
then the notification is deleted by the SMSC.
• If LRq is used, and LRAd and LPID are both used, then this address (user supplied) will
be used as Last Resort address.
• If LRq is used, and LRAd or LPID or both are left empty, then the Last Resort address is
the current session. If in this case:
∗ the session is ended,
∗ the originator is not known to the SMSC to have more than one address,
∗ and the short message has not yet been delivered,
then the short message is deleted by the SMSC.
• If LRq is empty, the contents of LRAd and LPID are ignored.
• If DD is used, then DDT is mandatory.
• The priority message field PR can only be used if the originator is subscribed to this
service.
• If RPID value 0127 is used, MT must be 4 and MCLs must be 2 otherwise the message
is rejected. RPID value 0127 is only supported for SMSC Large Accounts. Last resort
addressing and Reply path functionality is not applicable to this type of message. The
contents of LRq and RPl is ignored.
Examples:
• Alphanumeric message ‘Message 51' with validity period set and with notification request
to a PC application over TCP/IP.
18/00113/O/51/012345/09876//1/1920870340125000/4/0539//////3012961212//////3//4D65737
3616765203531/////////////CD
• TD message with deferred delivery set and notification request within the session for all
types of notification
39/00099/O/51/0657467/078769//1//7//1/0545765/0122/1/0808971800///////4/32/F5AA34DE///
/1/////////65
The following list shows the parameters in the positive result data field:
Example:
• 00/00039/R/51/A//012234:090996101010/68
The following list shows the parameters in the negative result data field:
Example:
• 00/00022/R/51/N/31//07
This operation (DELS) is used to deliver a Short Message. The operation is initiated by the
SMSC and answered by the SMT.
MT=2:
NB - No. of bits in Transparent Data (TD) message.
NMsg O Numeric message.
MT=3:
NB - No. of bits in Transparent Data (TD) message.
AMsg O Alphanumeric message encoded into IA5
characters.
MT=4:
NB M No. of bits in Transparent Data (TD) message.
TMsg M TD message encoded into IA5 characters.
• If the recipient of the UCP52 operation is registered in the SMSC as being a Large
Account, the Home PLMN address of the mobile originator is stored in the HPLMN field
when the option HOMEPLMN_IN_UCP52 is active.
• If the recipient of the UCP52 operation is registered in the SMSC as being a Large
Account and the originator of the Short Message has anonymised the message (Hide
CLI), then the OAdC field contains the used SMSC address.
• If the option ‘Long Message’ is not supported on the SMSC, the maximum length of
AMsg represents 160 characters and NMsg is 160 digits.
• Recipients of UCP52 operations with a UDH specified in the XSer field must be
registered in the SMSC as Large Accounts.
Example:
• Alphanumeric message ‘Call you back later.’ received from originator 07686745
00/00120/O/52/076523578/07686745/////////////120396111055////3//43616C6C20796F7520626
1636B206C617465722E///0//////////A3
The following list shows the parameters in the positive result data field:
Example:
• 00/00039/R/52/A//076567:010196010101/6C
The following list shows the parameters in the negative result data field:
Example:
• 00/00022/R/52/N/01//05
This operation (DELN) is used to indicate the (changed) status of a previously submitted
Short Message to the SMSC. The operation is initiated by the SMSC.
MT=2:
NB - No. of bits in Transparent Data (TD) message.
NMsg - Numeric message.
MT=3:
NB - No. of bits in Transparent Data (TD) message.
AMsg O Alphanumeric message encoded into IA5
characters.
MT=4:
NB - No. of bits in Transparent Data (TD) message.
TMsg - TD message encoded into IA5 characters.
• If the recipient of the UCP53 operation is registered in the SMSC as being a Large
Account and the originator of the Short Message has anonymised the message (Hide
CLI), then the OAdC field contains the used SMSC address.
• If the option ‘Long Message’ is not supported on the SMSC, the maximum length of
AMsg represents 160 characters and NMsg is 160 digits.
Example:
• Notification ‘Message for 3155555, with identification 960109161057 has been buffered’
received
00/00234/O/53/1299998/3155555/////////////090196161057/1/108/090196161105/3//4D657373
61676520666F7220333135353535352C2077697468206964656E74696669636174696F
6E2039363031303931363130353720686173206265656E206275666665726564/////////////
1F
The following list shows the parameters in the positive result data field:
Example:
• 00/00032/R/53/A/020296020202//F2
The following list shows the parameters in the negative result data field:
Example:
• 00/00022/R/53/N/02//07
This operation is used to modify a previously submitted Short Message which is still buffered
in the SMSC. The originally submitted has to be a UCP51 operation. The AdC field in
combination with the SCTS field identifies the message to be modified. Extra security is
provided by an optional check on the OAdC and the AC field.
The message that is buffered in the SMSC will be identified by the modify operation as the
message to be modified, in the following cases.
1. Calling Line Identification (CLI) available: AdC, OAdC and SCTS should all match. If the
AC field was used in the original submitted message, this must match as well. If the CLI
address differs from the OAdC field, then the CLI address must match as well.
2. No Calling Line Identification available: AdC, OAdC, AC and SCTS of the original
message and the modify operation should all match and all be filled in.
Furthermore, if the original message was submitted via a port on the SMSC that is
associated with a Virtual SMSC (VSMSC), then the modify operation has to be sent via the
same VSMSC. If the message is not found in the SMSC, a negative acknowledge is
returned.
The above implies that the recipient address, originator address, authentication code and
timestamp of a previously submitted message cannot be changed.
All other fields can be changed. If a field is left empty in the modify operation, it will leave
the related field in the original submitted short message unchanged. Below the effect is
described in more detail.
1. Notifications.
• If Nrq is empty, no changes are made. The contents of NAdC, NPID and NT are
ignored.
• If Nrq is ‘0’, the notification request is cancelled. The contents of NAdC, NPID and
NT are ignored.
• If Nrq is ‘1’, then NAdC and NPID must be both left empty or both used, otherwise a
negative acknowledge is returned.
• If Nrq is ‘1’ and NAdC and NPID are left empty, then the notification is sent to the
originator in the current session, if in this case:
∗ the session is ended,
∗ the originator is not known to the SMSC to have more than one address,
∗ and the notification has not been delivered,
then the notification is deleted by the SMSC.
• NT can only be used if NRq is set to ‘1’, otherwise the contents of this field is
ignored.
2. Last resort
• If LRq is ‘1’, then a Last Resort Address is requested. LRAd and LPID are
mandatory, otherwise a negative acknowledge is returned.
• If LRq is empty, no changes are made. LRAd and LPID must be empty otherwise a
negative acknowledge is returned.
• If LRq is ‘0’, the Last Resort Address request is cancelled. The contents of LRAd and
LPID are ignored.
3. Deferred delivery time
• DDT can only be set if the original message to be modified is already scheduled for
deferred delivery, otherwise the contents of this field is ignored.
4. Validity period
• VP should be larger than the current time (time when the UCP54 is received by the
SMSC) and smaller than the maximum validity period of the SMSC, otherwise a
negative acknowledge is returned.
• VP should be larger than the deferred delivery time (if used), otherwise a negative
acknowledge is returned.
5. Replace PID
• If a RPID value (other than 0127) is used that is already in use by a buffered
message for the same recipient, a negative acknowledge is returned.
• If RPID contains an invalid value, then a negative acknowledge is returned.
• If RPID value 0127 is used , MT must be 4 and MCLs must be 2 otherwise the
message is rejected. RPID value 0127 is only supported for SMSC Large Accounts.
Last resort addressing and Reply path functionality is not applicable to this type of
message. The contents of LRq and RPl are ignored.
6. Message type
• If MT is set to ‘4’ (binary message), then the fields NB and TMsg should be filled in,
the field MCLs should be supplied. Otherwise a negative acknowledge is returned.
7. Reply path
• The field RPl can only be set to ‘1’ (reply path request) or left empty, otherwise a
negative acknowledge is returned. Note that a reply request can not be cancelled.
MT=2:
NB - (New) No. of bits in Transparent Data (TD)
message.
NMsg O (New) Numeric message.
MT=3:
NB - (New) No. of bits in Transparent Data (TD)
message.
AMsg O (New) Alphanumeric message encoded into IA5
characters.
MT=4:
NB M (New) No. of bits in Transparent Data (TD)
message.
TMsg M (New) TD message encoded into IA5 characters.
Note:
• When the AC field is used, it should contain at least 4 numeric characters in every
message which are not all equal to zero, otherwise it shall be rejected.
• If a message is tried to be modified that was conditionally or unconditionally forwarded, a
negative acknowledge is returned.
• If the option ‘Long Message’ is not supported on the SMSC, the maximum length of
AMsg represents 160 characters and NMsg is 160 digits.
• A UCP 54 operation that requires modification of the message contents of a buffered
message that contains a UDH, is rejected by the SMSC.
Examples:
00/00087/O/54/012345/0111111//////1/0654321/0100/////010197120501////3///////////////4C
The following list shows the parameters in the positive result data field:
Example:
• 00/00039/R/54/A//012345:020197120005/65
The following list shows the parameters in the negative result data field:
Example:
• 00/00022/R/54/N/04//0A
This operation is initiated by the SMT towards the SMSC to inquire about the status of a
buffered message. As a result the SMSC can initiate a Response Inquiry message operation.
NT - Notification Type
NPID - Notification PID value
LRq - Last Resort Address request
LRAd - Last Resort Address
LPID - LRAD PID value
DD - Deferred Delivery requested
DDT - Deferred delivery time in DDMMYYHHmm
VP - Validity period in DDMMYYHHmm
RPID - Replace PID value
SCTS - Service Centre Time Stamp in DDMMYYHHmmss.
Dst - Delivery status
Rsn - Reason code
DSCTS - Delivery time stamp in DDMMYYHHmmss.
MT - Message Type.
MT=2:
NB - No. of bits in Transparent Data (TD) message.
NMsg - Numeric message.
MT=3:
NB - No. of bits in Transparent Data (TD) message.
AMsg - Alphanumeric message encoded into IA5
characters.
MT=4:
NB - No. of bits in Transparent Data (TD) message.
TMsg - TD message encoded into IA5 characters.
• When the AC field is used, it should contain at least 4 numeric characters in every
message which are not all equal to zero, otherwise it shall be rejected.
• If the option ‘Long Message’ is not supported on the SMSC, the maximum length of
AMsg represents 160 characters and NMsg is 160 digits.
Example:
The following list shows the parameters in the positive result data field:
Example:
• 00/00032/R/55/A//030395030303/F8
The following list shows the parameters in the negative result data field:
Example:
• 09/00022/R/55/N/02//12
This operation is initiated by the SMT to delete one or more buffered Short Messages.
MT=2:
NB - No. of bits in Transparent Data (TD) message.
NMsg - Numeric message.
MT=3:
NB - No. of bits in Transparent Data (TD) message.
AMsg O Alphanumeric message encoded into IA5
characters. Contains the time stamps (format
YYMMDDhhmmss) of the buffered Short
Message(s), separated by spaces. Format:
TIMESTAMP {TIMESTAMP}
MT=4:
NB - No. of bits in Transparent Data (TD) message.
TMsg - TD message encoded into IA5 characters.
• When the AC field is used, it should contain at least 4 numeric characters in every
message which are not all equal to zero, otherwise it shall be rejected.
• If the option ‘Long Message’ is not supported on the SMSC, the maximum length of
AMsg represents 160 characters and NMsg is 160 digits.
Example:
The following list shows the parameters in the positive result data field:
Example:
• 10/00032/R/56/A//040497161604/07
The following list shows the parameters in the negative result data field:
Example:
• 00/00022/R/56/N/01//09
MT=2:
NB - No. of bits in Transparent Data (TD) message.
NMsg - Numeric message.
MT=3:
NB - No. of bits in Transparent Data (TD) message.
AMsg O Alphanumeric message encoded into IA5
characters. Contains the recipient address and the
time stamps (format YYMMDDhhmmss) of the
buffered Short Message(s), separated by spaces.
Format: [TEXT1] <AdC> [TEXT2] {TIMESTAMP}
MT=4:
NB - No. of bits in Transparent Data (TD) message.
TMsg - TD message encoded into IA5 characters.
• If the option ‘Long Message’ is not supported on the SMSC, the maximum length of
AMsg represents 160 characters and NMsg is 160 digits.
Example:
The following list shows the parameters in the positive result data field:
Example:
• 00/00020/R/57/A///9A
The following list shows the parameters in the negative result data field:
Example:
• 47/00022/R/57/N/02//16
This operation is initiated by the SMSC to indicate which Short Messages have been deleted
successfully.
MT=2:
NB - No. of bits in Transparent Data (TD) message.
NMsg - Numeric message.
MT=3:
NB - No. of bits in Transparent Data (TD) message.
AMsg O Alphanumeric message encoded into IA5
characters. Contains the recipient address and the
time stamps (format YYMMDDhhmmss) of the
deleted Short Message(s), separated by spaces.
Format: [TEXT3] <AdC> [TEXT4] {TIMESTAMP}
[TEXT5]
MT=4:
NB - No. of bits in Transparent Data (TD) message.
TMsg - TD message encoded into IA5 characters.
• If the option ‘Long Message’ is not supported on the SMSC, the maximum length of
AMsg represents 160 characters and NMsg is 160 digits.
Example:
The following list shows the parameters in the positive result data field:
Example:
• 00/00029/R/58/A//064564565/7D
The following list shows the parameters in the negative result data field:
Example:
• 00/00027/R/58/N/02/07567/1A
This chapter introduces the 60-series of operations. The 60-series are used in combination
with the Large Account Database option. The following defines these operations:
For a higher maintainability a generic Abstract Data Type (ADT) is introduced for all
operations described in this chapter. This means that all 60-series of EMI strings, including
responses, shall contain all fields listed, fields not appropriate shall be left empty.
The following is a description of this generic ADT (where 'Num. string' indicates 'string of
numeric char.'):
Member Type
Member Type
The advantage of using the generic ADT for all new EMI operations is, that one standard
string can be used for all operations. The string is build according to the specifications in [1]
as follows:
o stx = 02(hex)
o etx = 03(hex)
The data field shall always contain ALL fields listed in the 6x series generic ADT. These
fields are separated by '/'. If a member of the ADT is not used in a specific message type, its
place in the data string is empty, but the field separators will be present ('//').
This format provides a high degree of flexibility as well as upwards compatibility to future
EMI specifications.
In the columns marked 'Presence' of the sections to follow, 'M' indicates that the field is
Mandatory, 'O' indicates that the parameter is Optional and '-' indicates that the parameter
shall be empty.
This operation provides the facility to open a session and to modify the submit and
provisioning passwords.
• If ISDN is used as access method to the SMSC, then the ONPI field should remain
empty.
• In case STYP=4 or STYP=6 (provisioning) then the physical address from which the
connection is set up (CLI-address) is not checked. That is, the connection may be set
up from any address.
• The session setup is refused by the SMSC when:
∗ the Large Account Database defines a check on the physical address for a particular
Large Account and STYP=1 or STYP=3 and the CLI-address (connect address) is
not an address in the Large Account Database.
∗ the OAdC contains an address or abbreviated short number that is not in the Large
Account Database.
∗ the supplied password does not match.
Example:
• 02/00059/O/60/07656765/2/1/1/50617373776F7264//0100//////61
The following list shows the parameters in the positive result data field:
Example:
• 00/00019/R/60/A//6D
The following list shows the parameters in the negative result data field:
Example:
• 00/00022/R/60/N/01//04
With this operation items can be verified, added or removed from the mobile originated and
mobile terminated lists.
Example:
• 00/00058/O/61/04568768///2///0100/1920870340094000//5///06
The following list shows the parameters in the positive result data field:
Example:
• 00/00019/R/61/A//6E
The following list shows the parameters in the negative result data field:
Example:
• 00/00022/R/61/N/02//06
Error codes which can be returned in the operations negative result are listed in [1]
paragraph 9.2.6. All operations defined in the ERMES recommendation which are not
implemented in the SMSC, EMI returns with error code 03 ("Operation not supported by
system").
01 Checksum error
02 Syntax error
03 Operation not supported by system
04 Operation not allowed
05 Call barring active
06 AdC invalid
07 Authentication failure
08 Legitimisation code for all calls, failure
09 GA not valid
10 Repetition not allowed
11 Legitimisation code for repetition, failure
12 Priority call not allowed
13 Legitimisation code for priority call, failure
14 Urgent message not allowed
15 Legitimisation code for urgent message, failure
16 Reverse charging not allowed
17 Legitimisation code for rev. charging, failure
18 Deferred delivery not allowed
19 New AC not valid
20 New legitimisation code not valid
21 Standard text not valid
22 Time period not valid
23 Message type not supported by system
24 Message too long
25 Requested standard text not valid
26 Message type not valid for the pager type
27 Message not found in smsc
30 Subscriber hang-up
31 Fax group not supported
32 Fax message type not supported
33 Address already in list (60 series)
34 Address not in list (60 series)
35 List full, cannot add address to list (60 series)
36 RPID already in use
37 Delivery in progress
38 Message forwarded
Configuration
VERSION HISTORY
VERSION HISTORY