You are on page 1of 6

1 Networking

In order to provide short message service to IN subscribers as soon as possible, this specification
adopts the scheme of building SMSC and IN separately, with the interface between SMSC and
SCP opened to realize short message authentication and charging functionality for IN subscribers.

SMSC

SMSC

SMPP+(ESMI)

SCP

SMPP+(ESMI)
SCP

Figure 6-1

Sketch for SMSC Networking

One SCP must be connected to one SMSC and only one is necessary, all SM service are provided
by this SMSC.
One SMSC can provide service for the users of multiple (limited) SCP. For MO short message,
SMSC can conclude through number segment analysis that a user is PPS user and authentication
by SCP is required. The SCP connected to SMSC determines the authentication shall be
implemented by which SCP and the charging information shall be sent to which SCP according to
the number segment. For MT short message authentication, one SMSC may need authentication
from all SCPs. For those SCPs not connected to SMSC, SMSC implements authentication via its
directly connected SCP.

2 Realization Principles
Currently, two functionalities need to be realized to meet with IN subscribers requirement for
short message service: authentication and submission result notification.

Calling Party Authentication and Balance Deduction

When an IN subscriber sends short message, SMSC interrogates SCP via authentication
operation to know if the subscriber has the right to send short message. The definition of
submission right is determined by specific SCP services. For PPS, it is mainly determined
by the subscribers validity (whether the subscriber is at Active or Suspend status;
whether the balance is sufficient). SCP can choose to deduct balance or not at this stage.

Called Party Authentication and Balance Deduction

For ordinary called party authentication, if connected to called partys SCP, SMSC
interrogates this SCP via authentication operation to know if the called party has the right

to send short message. The definition of submission right is determined by specific SCP
services. For PPS, it is mainly determined by the subscribers validity (whether the
subscriber is at Active or Suspend status; whether the balance is sufficient). If not
connected to the called partys SCP, SMSC can complete authentication via a connected
SCP. For point to point short message, called party is not charged, so balance deduction is
not required. For those services called charging is required, authentication is implemented
by the SMSC directly connected to the called partys home SCP. This SMSC interrogates
the home SCP via authentication operation for the called partys status. The SCP
determines whether to deduct balance or not on this stage according to the special calling
number of these services.

SM submission result notification: Result of IN subscriber short message submission

SMSC can choose to send submission result notification in the case of successful submission or
unsuccessful submission according to SCPs requirements. SCP determines whether the deduction
in authentication operation is valid or not according to this submission result. If deduction is
invalid, the deducted money should be returned to the subscriber (i.e., amount added to users
account).

3 SMPP+ solution for SMS connection to IN


SMPP protocol format:
(1): head
Element

Size (bytes)

Type

Description

Command_Length

Integer

The total length of the packet including


this field

Command_ID

Integer

The type of a short message, e.g.,


ESME_SUB_SM
is
a
message
submitted by ESME to SMSC

Command_status

Integer

This field indicates success or failure of


a command. Error code is presented in
the case of command failure. It should
be set to 0 in request message.

Sequence_No

Integer

This is the sequence number of a


message
generated
by
ESME,
associating request message to its
response. The range is from 0 to
0XFFFFFFFF incremented by 1 strictly
and it circulates from 0 again after

Element

Size (bytes)

Type

Description
reaching 0XFFFFFFFF.

Optional Message
Body

Variable

Mixed

The message body of a short message

Four commands are added in SMPP protocol(marked by red) to realize SMS prepaid service.

Command ID Macro
Definition

Value

Description

*ESME_BNDRCV

0X00000001

ESME requests a connection to SMSC

*ESME_BNDRCV_RESP

0X80000001

Response to bind_receiver

ESME_BNDTRN

0X00000002

ESME requests a connection to SMSC

ESME_BNDTRN_RESP

0X80000002

Response to bind_transmitter

*ESME_UBD

0X00000006

ESME requests termination of the connection


to SMSC

*ESME_UBD_RESP

0X80000006

Response to unbind

*ESME_QRYLINK

0X00000015

Enquires about the status of the link between


ESME and SMSC

*ESME_QRYLINK_RESP

0X80000015

Response to enquire_link

*ESME_NACK

0X80000000

Response to a command for which the message


header is invalid.

*ESME_SUB_SM

0X00000004

ESME submits a short message to SMSC.

*ESME_SUB_SM_RESP

0X80000004

Response to Submit_sm

*ESME_DELIVER_SM

0X00000005

SMSC delivers a short message to the ESME.

*ESME_ DELIVER_SM_RESP

0X80000005

Response to Deliver_sm

AUTH_ACC

0X01000001

Authentication request

Command ID Macro
Definition

Value

Description

AUTH_ACC_RESP

0X81000001

Authentication response

SM_RESULT_NOTIFY

0X01000002

Short message result notification

SM_RESULT_NOTIFY_RESP

0X81000002

Response to short message result notification

Authentication Request Message (AUTH_ACC) SMSC->IN


Field Name

Size (bytes)

Type

Description

Version

Integer

SMPP version number

SMSC_Address

MAX 21

C_DecString

SMSC address

Source_Address

MAX 21

C_DecString

Source address

Destination_Address

MAX 21

C_DecString

Destination address

MO_MT_Flag

Integer

MO/MT flag
1:MO
2:MT
3:MO+MT

SM_ID

Integer

Short message ID

SM_Length

Integer

Short message length

Service_ID

Integer

Service ID

Authentication Response MessageAUTH_ACC_RESP IN->SMSC


Field Name
Operation_Result

Size (bytes)
4

Type
Integer

Description
0: Successful operation
Not 0: Unsuccessful operation with the
below values:
1

Protocol version doesnt support

10 Other
11 MO user account doesnt exist
12 MT user account doesnt exist
13 MO user status invalid
14 MT user status invalid
15 MO user balance insufficient
16 MT user balance insufficient

Notify_Mode

Integer

17 MO
user
doesnt
value-added service

support

18 MT
user
value-added service

support

doesnt

1 Notify SCP both in the case of


successful and unsuccessful submission
2 Notify SCP only in the case of
unsuccessful submission
3 Notify SCP only in the case of
successful submission
4 Notify SCP neither in the case of
successful nor unsuccessful submission

Short Message Result Notify MessageSM_RESULT_NOTIFYSMSC->IN


Field Name
Version

Size (bytes)
1

Type
Integer

Description
SMPP version number

Field Name

Size (bytes)

Type

Description

SMSC_Address

MAX 21

C_DecString

SMSC address

Source_Address

MAX 21

C_DecString

Source address

Destination_Address

MAX 21

C_DecString

Destination address

MO_MT_Flag

Integer

MO/MT Flag
1:MO
2:MT
3:MO+MT

SM_ID

Integer

Short message ID

SM_Length

Integer

Short message length

Submission Result

Integer

0Success
1Failure

Service_ID

Integer

Short Message Result Notify Response Message


IN->SMSC
Field Name
Operation_Result

Size (bytes)
4

Service ID

SM_RESULT_NOTIFY_RESP

Type
Integer

Description
The same as Operation Result in
authentication response

You might also like