Professional Documents
Culture Documents
Table of Contents
Table of Contents
Chapter 1 SMOI Protocol .............................................................................................................. 1-1 1.1 Introduction to the SMOI protocol ...................................................................................... 1-1 1.2 Networking Mode of SMP .................................................................................................. 1-1 1.3 Architecture of SM Interface .............................................................................................. 1-2 1.4 Program of SM Interface.................................................................................................... 1-2 1.5 MML Commands................................................................................................................ 1-3 1.5.1 Format of MML Commands .................................................................................... 1-3 1.5.2 Character Set for MML Commands ........................................................................ 1-6 1.5.3 MML Syntax ............................................................................................................ 1-7 1.6 Standard Interface Software .............................................................................................. 1-9 1.6.1 Software Architecture .............................................................................................. 1-9 1.6.2 Relationship between Standard Interface Software.............................................. 1-11 1.7 Security Management of SMP ......................................................................................... 1-11 1.7.1 Overview ............................................................................................................... 1-11 1.7.2 Access Security..................................................................................................... 1-11 1.7.3 Operation Security ................................................................................................ 1-12 1.7.4 Data Security......................................................................................................... 1-12 Chapter 2 SMOI Program Operation............................................................................................ 2-1 2.1 Connection......................................................................................................................... 2-1 2.2 Message ............................................................................................................................ 2-1 2.2.1 Service Message Code(V1.00) ............................................................................... 2-1 2.2.2 Service Message Code(V1.01) ............................................................................... 2-5 2.2.3 Heartbeat Message................................................................................................. 2-6 2.2.4 Timeout Judgment .................................................................................................. 2-6 2.3 Format of a Message through the SMP Interface.............................................................. 2-7 2.4 MML Command Format..................................................................................................... 2-8 2.4.1 MML Command....................................................................................................... 2-8 2.4.2 Command Code ...................................................................................................... 2-8 2.4.3 Parameter Block...................................................................................................... 2-9 2.4.4 Character Set in MML Command.......................................................................... 2-11 2.5 MML Grammar................................................................................................................. 2-12 2.5.1 Identifier................................................................................................................. 2-12 2.5.2 Numerical Value .................................................................................................... 2-13 2.6 MML Features.................................................................................................................. 2-14 2.6.1 Batch Operation .................................................................................................... 2-14 2.6.2 Confirmation Prompt ............................................................................................. 2-15 2.7 Interaction between BSS/OSS and SMP......................................................................... 2-15
Huawei Technologies Proprietary i
Table of Contents
2.7.1 Procedure.............................................................................................................. 2-15 2.7.2 Information Flow.................................................................................................... 2-16 Chapter 3 Commonly-Used MML Command Set........................................................................ 3-1 3.1 Interface Description.......................................................................................................... 3-1 3.1.1 Parameter Description ............................................................................................ 3-1 3.1.2 Special Note ............................................................................................................ 3-2 3.2 Common Errors.................................................................................................................. 3-3 3.3 Service Center (EVC) ........................................................................................................ 3-4 3.3.1 Logging in................................................................................................................ 3-4 3.3.2 ACK of Logging in ................................................................................................... 3-4 3.3.3 Logging out.............................................................................................................. 3-5 3.3.4 ACK of Logging out ................................................................................................. 3-6 3.4 EVC Service....................................................................................................................... 3-6 3.4.1 Modifying AD Stock................................................................................................. 3-6 3.4.2 ACK of Modifying AD Stock .................................................................................... 3-7 3.4.3 Suspending an RS .................................................................................................. 3-8 3.4.4 ACK of Suspending an RS...................................................................................... 3-8 3.4.5 Adding an RS .......................................................................................................... 3-9 3.4.6 ACK of Adding an RS............................................................................................ 3-10 Acronyms and Abbreviations ......................................................................................................A-1
SMP
Browser
Bank
Figure 1-1 Networking mode of SMP with outer entities The outer terminal can be connected to SMP with MD. Service Management (SM) interface protocol applies to MD and SMP, whereas the protocol applying to MD and outer entities shall be defined by the operator. In this case, MD is regarded by SMP as the terminal with SM interface.
Figure 1-2 SM interface protocol stack Before MD and SMP send messages, the TCP/IP connection with SMP must first be established. When MD no longer needs to interact with SMP, the SOCKET connection with SMP will be released. In case of IDLE, it needs to remain the connection with SMP by sending heartbeat messages. The maximum number of connections that can be established between SMP and each MD correlates to SMP hardware processing capability. The minimum number of connections supported by SMP is 250.
Command Code
...
Parameter Block
command
identifier1
sp
identifier2
sp
identifier3
Figure 1-4 Format of MML command code Meaning of each command code:
Identifier 1: Identifier with a maximum length of 8-character. It stands for executive action, such as ADD, DISP, MODI and CREATE. Identifier 2: Identifier with a maximum length of 8-character. It stands for the service name at which this executive action enforces, such as PPS. Identifier 3: Identifier with a maximum length of 8-character. It stands for the object entity of executive actions, such as ACNT and OPER. For example, to list PPP accounts: DISP PPS ACNTINFO: MSISDN= 11990000
Figure 1-5 Composition of an information unit Compound information unit Assemble several information units into a compound, and then we can input more than one information unit to a single parameter. Here, the assembling of compound units will not be considered. The assembling of information units mentioned hereafter all refer to the combination of simple information units, instead of compound information units. The way to specify several information units within one parameter is to delimit these values by using &. For example, 5&9 represents the compounding of unit 5 and 9. To represent an information unit of continuous sequence (increment=1), simply specify the lowest and highest information units and insert mark && between them. For example, "5&&9" stands for information units: "5,6,7,8,9". "N 11990000 &&N 11990999" stands for the number segment with 1,000 numbers. Refer to relevant MML commands to determine whether && marks are supported. The assembling number is decided by the size of a single message within a protocol. The current size is 64KB. Default parameters Parameters in an MML command can be requisite parameters, optional parameters and default parameters. Requisite parameters can not be omitted when the command is executed, optional parameters can be chosen to input by the user, and default parameters will be provided automatically by the system in case there is no parameter input. Obey the rules below to use the default parameters: As long as a default value can be given, the parameter shall be specified as a default parameter (for example, when adding a user, even non-key parameter can be designated with a default value). The value of a default parameter shall be unique within the same command. A default parameter can take different values in different commands. The same default parameter in different commands can have different values.
Huawei Technologies Proprietary 1-5
Default value should be the one used in most cases. Example of MML command Modify the subscribers balance: MODI PPS BALANCE: MSISDN=, INCRMENT= ACK: MODI PPS BALANCE:RETN=,DESC=[ORGBALANCE=,LASTBALANCE=]
II. Digit
All decimal characters (0 to 9), are valid.
III. Delimiter
The following marks are used to separate different units of an input session. Colon (:): separates the first parameter from the command code or command name. Equation (=): separates the first value from the parameter name or parameter code. Comma (,): separates different parameters. Ampersand (&): separates all of the values for a parameter. Double-ampersand (&&): separates the lower limitation value from the upper one in a parameters value range. Apostrophe (): separates the valued-indicator from its value. Semicolon (;): separates different commands.
V. Special character
Double-quote (): separates a string from some context in a memo sign. Space: separates command code and to improve readability as well. Enter: not to be used in the system, but can be adopted to improve readability. Star(*) Pound(#) Hyphen (-)
II. Number
Decimal number Decimal number consists of an array of digital characters, which are preceded by characters D to identify themselves. If the default number scale is decimal, characters D can be omitted.
D'
Digit
Figure 1-7 Decimal number Numerical string Numerical string can be used to express some information, which are composed of digital characters, but cannot be expressed by decimal numbers. For instance, MSISDN and the PPS card number.
N'
Digit
Figure 1-8 Numerical string Character string Character string (or context) permits inputting literal characters, including any delimiter, which will have its grammar meanings when input outside this character string. Character string is composed of zero to several characters, and bracketed with one double-quote () at either end. Character string includes all valid characters, and if double-quote () appears in a sting, it shall follow a backslash.
Character (excluding ") " "
III. Date
Date is expressed by digits, with double-quote () at both ends. It shall follow such sequence as year, month, and day. Year is a 4-digit decimal number, while month and day are 2-digit decimal numbers. There shall be hyphens between year and month, and between month and day. For example: 1999-01-16.
IV. Time
The 24-hour timing system is adopted here, with double-quote () at both ends of the time. The sequence is from left to right: hour, minute, and second. Hour is a 2-digit decimal number, ranging from 00 to 23 (23 included). Minute and second are both 2-digit decimal numbers, ranging from 00 to 59 (59 included). For example: 12:25:01.
Figure 1-10 shows the complete procedure of the interaction of MD with SMP. The handling of abnormal circumstances and the process of setting up multiple dialogs are omitted here.
Start
Succeed? Yes Send LOGIN command Send the first MML command SMP returned successfully? Yes Get session ID All sent out? No No Transaction ID+1 No Send the next MML command Yes Transaction over? Yes Execute operation No Wait until all the branches are finished No more operation? Yes Operation end Receive MML ACK Operation start
Parellel operation
No
End
extract the public part of the system for the use of the application layer. To put it in another way, the mechanism has little relationship with specific applications. The inside of the mechanism can be divided into further layers according to requirements. Related functions (category) can be packed into one package. Different packages may depend on each other. Each layer of the mechanism may be composed of one or multiple packages. The structure of each process is shown in Figure 1-11.
Application layer Log and alarm monitoring management layer Configuration management layer Session, transaction mechanism layer Communication mechanism layer Scheduling mechanism layer
Figure 1-11 Sketch map of the layer structure of processes The brief introduction to each layer is as follows: Scheduling mechanism layer: Completes the function of scheduling and providing clock, and provides parallel operation capability. Communication mechanism layer: This layer is above the scheduling mechanism layer, and achieves reliable communication. Above the scheduling mechanism layer is the communication mechanism layer: Mainly functions to achieve reliable communication. Session and transaction mechanism layer: This layer is above communication mechanism layer: For business terminal, system will set up a session when the operator logs in. Sessions will also be established among different services, similar to an interaction environment between them Service-side session consists of several transactions, and each transaction consists of several operations, and each operation equals to an MML command. Configuration management mechanism layer: This layer is above the session and transaction mechanism layer and completes the functions of registration, application, and dynamic management of each service. Log and alarm monitoring management layer : This layer is above the configuration management mechanism layer. Application layer: This layer is established above the mechanism and makes use of the services provided by the mechanism.
2.2 Message
Service message based on the SMP open interface protocol is the smallest unit to transfer operative information of users. When the connection is established, the client sends an MML command to SMP after transaction ID of the session is determined, and then decodes received packets. Format of message involved in this process is determined by the SMP open interface protocol. See the figure below for the structure of messages transmitted through SMP open interface.
Message start flag Checksum Operative Transaction Session information header header Message header Message length Message start flag
Heartbeat message over SMP open interface protocol is used to detect the connection between the client and SMP. It is sent 180 s (configurable) later when the connection is idle. See the figure below for the structure of heartbeat message.
Checksum Content Message length Message start flag
the number of MML and MML ACK commands, the function can be classified as that single or multiple messages can be returned when single command is sent. Transaction ID is managed by BSS/OSS to identify MML command and MML ACK in different operations (An operation is taken as a deal.), and it is unique when used in a session. Transaction header consists of the following parts: ------Transaction ID: It is denoted by an integral of 32 bits in hexadecimal format starting with 1. Transaction ID with the value larger than 0 is allocated by the client (BSS/OSS) to identify a transaction. In the same session, they are different from each other. ------Transaction control character: It is denoted by 6 Octet character strings (6 Byte). TxBeg: Transaction start TxCon: Transaction proceed TxEnd: Transaction end ------Reserved field: It is of 4 Byte used for subsequent extended services.
Note: SMP keeps the result obtained from an operation for certain a period that can be configured.
Message length (4B) Version (4B) Message header (20B in version 1.00, 28B in version 1.01 and later ones)
Language (8B)
Session ID (8B)
field
ID
SMP processing Format of message (Downlink message: websmap->caa Uplink message: caa -> websmap ) Operative information Operative information Blank space It denotes MML command. See Chapter 3 for details. Blank spaces are required, if the length of MML command is not the multiple of 4. Perform XOR for Message header + Session header + Transaction header + Operative information as 32 Byte.
Checksum
8B
the command is a notice message when NOTIFY is taken as the prefix. Prefix MON is not supported temporarily in current version. Command body is composed of 3 identifiers at most, which are separated with blanks.
Command prefix : Identifier 1 sp Identifier 2 sp Identifier 3
Figure 2-2 Format of command code Meaning: -Identifier 1: With a maximum length of 8 Byte, it denotes the operation to be executed. QRY, DISP, MOD, CRE. -Identifier 2: With a maximum length of 8 Byte, it denotes the service involving the operation. DGNK, VPN, IN800. -Identifier 3: With a maximum length of 8 Byte, it denotes the target of operations. ACNT, OPER. For example: Carry out the command DISP VPN ACNT : MSISDN="13900001234" to list the VPN account.
I. Definition
A parameter consists of a name and a value, which are separated with =. If value of a parameter is omitted, the corresponding name, = and , (between parameters) must be omitted as well. A default value is designated when the parameter is omitted. However, the default value can be replaced with a specified parameter value.
Huawei Technologies Proprietary 2-9
II. Name
Parameter name is denoted by an identifier with up to 8 characters. Upper and lower cases are not matched for a parameter name.
III. Value
Parameter value refers to an information element or a combination of information elements.
Number of information elements involved in a combination is limited by the size of a message. In current version, the size is 65535 bytes.
II. Digit
It includes all decimal digits as well as those from 0 to 9.
V. Special character
("): It is used to emphasize character strings in a text as a mnemonic. Blank: It is used to separate command codes as well as increase readability. Carriage return: It is unavailable in this system, but it can be used to increase readability. * # Chinese character (-)
Figure D
Figure
Character(excluding)
"
Figure 2-7 Format of character string
"
Text and delimiter can be input in a character string (text string). The delimiter is of grammatical meaning when input beyond the text string. Text string is a string of characters with the number of 0 or more and contained between quotation marks. All characters even double quotation marks (\ must be input before it.) can be input in a text string.
IV. Date
The date is denoted by putting the date in digital format into the quotation mark. It conforms to the order of Year, Month, Day, among which Year is denoted by a decimal number of 4 digits, while Month and Day are denoted by a decimal number of 2 digits. Between the three, hyphens are put. For example: October 13 2003 must be "2003-10-13".
V. Time
The time is denoted by putting the time expressed with digit and colon into double quotation marks in the timing system of 24 hours. Time elements are ordered like that: Hour, Minute, Second, which are denoted by a decimal number of 2 digits. Among them, Hour is denoted by the number ranging from 00 to 23, while Minute and Second are from 00 to 59 (59 is included). For example: 25 minutes and 1 second past 12 can be denoted like that: "12:25:01".
Send a MML message Send to IN Return a ACK message to SMP Send a MML ACK message
Start
Operation starts
Yes TransactionID+1 No No
No
Concurrent operations
No
No Whether operations are not required Yes Send the next MML command
Note: Multiple sessions can be established concurrently based on one TCP connection. Each session starts with DlgLgn and ends with DlgEnd. Multiple transactions can be started concurrently in a session. Each transaction starts with TxBeg and ends with TxEnd. Each transaction can contain multiple messages. Only one MML or MML ACK command can be stored in the operative information field of a message.
DMFDINCREMENT=-+60 (illegal)
Huawei Technologies Proprietary 3-1
25: Service name error 26: Message forwarding failure 27: System forcibly terminates the current session. 28: Operation code does not exist. 29: Max. subscriber license in the province has been reached. 30: Max. traffic in the province has been reached. 31: Max. subscriber license of the system has been reached. 32: Max. operation license of the system has been reached. 33: Terminal ID error 34: Client transaction ID error 35: Canceling transaction failed 36: Session ID error 37: File operation failure 38: IP connection failure 39: System overloaded, operation request is prohibited. 40: Service area is not allocated to the MSISDN or HLR does not exist.
Output parameters: Parameter RETN DESC Error code Description of the error Description Value range
Input parameters: Parameter USER PSWD Description ID for operator login. Password for operator login. Value Range Represented by a character string of 1 through 8 digits. Represented by a character string of 1 through 8 digits.
Output parameters: Parameter RETN Description Returned value of the ACK command. Value range Decimal integer.
Parameter
Description
Value range A string of no more than 256 characters. 0: Success. 1001: Operator does not exist. 1002: Password is not correct. 1003: Operator login ID has expired. 1004: Operator password has expired.
DESC
the
1005: Invalid operator state 1006: The operator is denied at the present time. 1007: Terminal ID does not exist. 1008: The terminal is denied to access at present. 1009: The max login failure times are reached. 1010: Login authentication failed.
Input parameters: Parameter Description The login ID for the operator who wants to exit. USER Only when the login of other operators is to be cleared, is this parameter necessary. Value range Represented by a character string of 1 through 8 digits. DEFAULT The login ID of the operator in the current conversation.
Output parameters: Parameter RETN Description Returned value of the ACK command. Value Range In decimal integer A string of no more than 256 characters. 0: Success. Description on returned value. the 1001: The current operator is not authorized to log this operator off. 1002: The specified operator has not logged in. 1003: The specified operator does not exist.
DESC
Input parameters: Parameter HPNO Description Indicates a hand phone number, compulsory. It is a numerical character string of up to 24 digits. It cannot be null. Indicates a brand type, compulsory. It is a character string of up to 10 digits. It cannot be null. (1-simPATI ; 2-kartu AS) Indicates a price value, compulsory. It is a character string of up to 12 digits. It cannot be null. PRICETYPE (when EVTYPE=1, the value can be 20, 50, 100 and 150; when EVTYPE=2, the value can be 15, 20, 25, 50 and 100) INCREMENT Indicates a stock to be added, compulsory. It is a positive integer.
EVTYPE
Output parameters: Parameter RETN DESC 10101 10102 10103 10104 10105 Description Indicates a returned value of the ACK command. It is a positive integer or the value 0. Indicates the returned description. It is a character string of up to 256 digits. The entered stock exceeds the limit specified by the system. The service is not loaded. The entered AD does not exist or it is not an AD. The modified stock exceeds the limit specified by the system. The entered brand type or price type does not exist.
Huawei Technologies Proprietary 3-7
3.4.3 Suspending an RS
Function description: This command enables a system operator to suspend an RS. Output format: SUSPEND EVC RS: HPNO=,OPRTYPE=
Output parameters: Parameter HPNO Description Indicates a hand phone number, compulsory. It is a numerical character string of up to 24 digits. It cannot be null. Indicates an operation type, compulsory. It is a numerical character of one digit. The value 1 means suspending an RS. It cannot be null.
OPRTYPE
Output parameters: Parameter RETN DESC 10201 10202 10203 Description Indicates a returned value of the ACK command. It is a positive integer or the value 0. Indicates the returned description. It is a character string of up to 256 digits. This hand phone number does not exist. This hand phone number cannot be suspended. This SCP number does not exist.
3.4.5 Adding an RS
Function description: This command enables a system operator to add a RS. Input format: ADD EVC RS:ADHPNO=[,SDHPNO=],RSHPNO=,ICCID=,PWD=,CFMPWD=, DLNAME=[,CONTACTMM=][,EMAIL=][,ADDRESS1=][,ADDRESS2=][,POSTALC ODE=][,CITY=][,PHONENO=][,FAXNO=]
Input parameters: Parameter ADHPNO Description Indicates a hand phone number of an upstream AD, compulsory. It is a numerical character string of up to 24 digits. It cannot be null. Indicates a hand phone number of an upstream SD, optional. It is a numerical character string of up to 24 digits. It cannot be null. If you do not enter it, a direct AD downstream channel is added. Indicates an RS hand phone number to be added, compulsory. It is a numerical character string of up to 24 digits. It cannot be null. This item is compulsory. It is a character string of up to 20 digits. It cannot be null. Indicates a PIN of a dealer, compulsory. It is a numerical character string of four to eight digits. It cannot be null. Indicates a confirmation PIN of a dealer, compulsory. It is a numerical character string of four to eight digits. It cannot be null. Indicates a dealers name, compulsory. It is a character string of up to 60 digits. It cannot be null. Indicates a dealer's contact mother's maiden name, optional. It is a character string of up to 60 digits. It cannot be null. Indicates an Email address, optional. It is a character string of up to 80 digits. It cannot be null. Indicates address 1, optional. It is a character string of up to 60 digits. It cannot be null. Indicates address 2, optional. It is a character string of up to 60 digits. It cannot be null. Indicates a Postal code, optional. It is a numerical character string of up to 10 digits. It cannot be null.
SDHPNO
RSHPNO
ICCID PWD
CFMPWD
DLNAME
CONTACTMM
Description Indicates a city, optional. It is a character string of up to 60 digits. It cannot be null. Indicates a phone number, optional. It is a numerical character string of up to 24 digits. It cannot be null. Indicates a fax number, optional. It is a numerical character string of up to 24 digits. It cannot be null.
Example1: ADD EVC RS:ADHPNO=811123456,RSHPNO=811155555,ICCID=101010,PWD= 123456,CFMPWD=123456,DLNAME=PANDY Example2: ADD EVC RS:ADHPNO=811123456 ,SDHPNO=81199999,RSHPNO=811166666, ICCID=101010, PWD=123456,CFMPWD=123456,DLNAME=TGHH,CONTACTMM= SANDA,EMAIL=pandy@telkomsel.com,ADDRESS1=XiYaTuRoad,ADDRESS2=XiY aTu2 Road,POSTALCODE=58001,CITY=Djakarta,PHONENO=88888888,FAXNO=80008 000
Output parameters: Parameter RETN DESC 10301 10302 10303 10304 Description Indicates a returned value of the ACK command. It is a positive integer or the value 0. Indicates the returned description. It is a character string of up to 256 digits. The service is not loaded. An RS exists or it exists as an AD or SD. The entered AD does not exist or it is not an AD. The entered AD is in the status that an RS cannot be added.
Description The entered AD or SD does not exist or the level is inconsistent. The entered AD or SD is in the status that an RS cannot be added. The entered AD and SD have no upstream/downstream relationship. No corresponding number segment exists in this region. There is such data limiting the number of RSs of the dealer in the system. RSs of the dealer exceed the limit specified by the system. The corresponding region does not exist. The number of RSs in this region exceeds the limit.
B
BOSS Business Operation Support System
C
CHANNEL Customer CHANNEL Telkomsel Prepaid User
D
DP Disconnect-Pending
E
EVOUCHER Electron Voucher
F
FN Familiarity Number
G
GSM GW Global System for Mobile Communication Gateway
H
HLR Home Location Register
M
MD MML MSISDN Medial Device Man-Machine Language Mobile Station International ISDN Number
P
PPS Pre-paid Service
R
REGAE RS Recharge Gateway Re-Seller
S
SCP Service Control Point
Sub Dealer Service Management Service Management Access Point Service Management Open Interface Service Management Point
T
Telkomsel Telkomsel
V
VC VIP VOMS Voucher Center Very Important Person Voucher Management System