IIN SMP MML Open Interface Protocols_V1.2
-
Upload
chakravarthi-chittajallu -
Category
Documents
-
view
28 -
download
10
description
Transcript of IIN SMP MML Open Interface Protocols_V1.2
-
IIN SMP MML Open Interface Protocols Confidentiality level
2008-06-03 All rights reserved. Page 1 of 24
Product version Confidentiality level
Product name: Huawei Technologies Co. Ltd.
Total 24pages
IIN SMP MML Open Interface Protocols
Huawei Technologies Co., Ltd.
All rights reserved
-
IIN SMP MML Open Interface Protocols Confidentiality level
2008-06-03 All rights reserved. Page 2 of 24
Catalog
1 SMP Open Interface Protocols .................................................................................................4 1.1 Connection .......................................................................................................................4 1.2 Message...........................................................................................................................4
1.2.1 Service Message Code (Version number: 1.00) ......................................................5
I. Message start flag (4 Byte).................................................................................. 5
II. Message length (4 Byte)..................................................................................... 5
III. Message header (20 Byte) ................................................................................ 5
IV. Session header (18 Byte) .................................................................................. 6
V. Transaction header (18 Byte) ............................................................................. 6
VI. Operative information........................................................................................ 7
VII. Checksum (8 Byte) .......................................................................................... 7
1.2.2 Service Message Code (Version number: 1.01) ......................................................7
I. Message start flag (4 Byte).................................................................................. 7
II. Message length (4 Byte)..................................................................................... 7
III. Message header (28 Byte) ................................................................................ 8
IV. Session header (18 Byte) .................................................................................. 8
V. Transaction header (18 Byte) ............................................................................. 8
VI. Operative information........................................................................................ 8
VII. Checksum (8 Byte) .......................................................................................... 8
1.2.3 Heartbeat Message ................................................................................................8 1.2.4 Timeout Judgment..................................................................................................8
1.3 Format of Message Through SMP Interface ......................................................................9 1.4 Format..............................................................................................................................9
1.4.1 MML Command......................................................................................................9 1.4.2 Command Code ...................................................................................................10 1.4.3 Parameter Block ...................................................................................................10
I. Definition............................................................................................................10
II. Name................................................................................................................11
III. Value................................................................................................................11
IV. Information element .........................................................................................11
V. Combined information elements ........................................................................11
VI. Default parameter: ...........................................................................................11
1.4.4 Character Set in MML Command..........................................................................12
I. Letter .................................................................................................................12
II. Digit ..................................................................................................................12
III. List separator ...................................................................................................12
IV. Numerical system indicator ..............................................................................12
V. Special character ..............................................................................................12
1.5 MML Grammar ...............................................................................................................12 1.5.1 Identifier ...............................................................................................................12 1.5.2 Numerical Value ...................................................................................................13
-
IIN SMP MML Open Interface Protocols Confidentiality level
2008-06-03 All rights reserved. Page 3 of 24
I. Decimal number.................................................................................................13
II. Numerical character string.................................................................................13
III. Character string................................................................................................13
IV. Date.................................................................................................................14
V. Time..................................................................................................................14
VI. Date and time ..................................................................................................14
1.6 MML Feature ..................................................................................................................14 1.6.1 Batch Operation....................................................................................................14 1.6.2 Prompt of Confirmation.........................................................................................14
1.7 Procedure.......................................................................................................................15 1.8 Information Flow .............................................................................................................16 1.9 Request and Acknowledgement Stream of SMP .............................................................18
1.9.1 Request and Acknowledgement Stream of SMP (Version 1.00) ............................18 1.9.2 Request and Acknowledgement Stream of SMP (1.01 and later versions).............20
1.10 Heartbeat Message Stream of SMP..............................................................................20 1.11 Calculating Program of Message Checksum .................................................................21 1.12 Login and Logout Messages .........................................................................................22
1.12.1 Login ..................................................................................................................22 1.12.2 Login ACK ..........................................................................................................22 1.12.3 Logout ................................................................................................................23 1.12.4 Logout ACK........................................................................................................23
-
IIN SMP MML Open Interface Protocols Confidentiality level
2008-06-03 All rights reserved. Page 4 of 24
IIN SMP MML Open Interface Protocols
Abbreviations
Abbreviation Full name
SMP Service Management Point
BSS/OSS Business Support System
MML MAN Machine Language
Structure of SMP Open Interface Protocol Stack
TCP/IP is adopted at the lower layer of SMP open interface. See the figure below for the interface protocol stack.
Interface
protocols
TCP/IP
Physical
connection
Interface
protocols
TCP/IP
Physical
connection
SMP BSS/OSS/SMAP
1 SMP Open Interface Protocols
1.1 Connection
TCP/IP SOCKET connection must be established when SMP client communicates with SMP and then released after interaction. In idle state, heartbeat message is required to connect SMP client and SMP.
1.2 Message
Service message over SMP open interface protocol is the smallest unit to transfer operative information of users. When the connection is established, the client sends a MML command to SMP in a message packet after transaction ID of the session is determined, and then decodes packets received. Format of message involved in this process is determined by SMP open interface protocol.
See the figure below for the structure of messages transmitted through SMP open interface.
-
IIN SMP MML Open Interface Protocols Confidentiality level
2008-06-03 All rights reserved. Page 5 of 24
Message
start flag
Message
lengthSession
header
Message
headerTransaction
header
Operative
informationChecksum
Message
start flag
Message sending sequence
Message
start flag
Message
lengthSession
header
Message
headerTransaction
header
Operative
informationChecksum
Message
start flag
Message sending sequence
Heartbeat message over SMP open interface protocol is used to detect the connection between the client and SMP. It is sent 180 s (It can be configured.) later when the connection is idle. See the figure below for the structure of heartbeat message.
Message sending sequence
Message lengthContentChecksum Message start flag
Message sending sequence
Message lengthContentChecksum Message start flag
1.2.1 Service Message Code (Version number: 1.00)
Code of parameter configured over SMP open interface protocol must conform to the following rules:
For the integral of 16 or 32 bits in hexadecimal format, the upper significant Octet must be the first, and then is the lower significant Octet. Fill with blank spaces when the character string cannot reach the specified length.
I. Message start flag (4 Byte)
It denotes the start and end of a message.
Length: 4 Byte
Code: `SC `
II. Message length (4 Byte)
It denotes the total length of the interval between the message header and operative message. Its value is denoted by an integral of 4 bits in hexadecimal format ranging from 0-65535 (0000-FFFF).
III. Message header (20 Byte)
It contains the following parameters:
-----Version number: It denotes the version of SMP open interface protocol with the code of 4 Octet character strings. The current version number is 1.00.
-----Terminal identifier: It is denoted by 8 Octet character strings to identify the front end processor and terminal of BSS/OSS accessed to SMP. By the use of it, SMP can judge whether the terminal user accessed is legal. For example, it can used to configure terminals requiring precedent access.
Note: Terminal identifier of the front end processor in BSS/OSS must be contained in the message header in case of initial access, because SMP performs authentication only to the terminal identifier of front end processor. From then on, the terminal identifier of a specific terminal must be filled in.
Coding rule of terminal identifier is determined by the network.
-----Service name: It denotes the service that the operator applies for, and its code is composed of 8 Octet character strings. The service name is specified in MML commands. See the following service names.
-
IIN SMP MML Open Interface Protocols Confidentiality level
2008-06-03 All rights reserved. Page 6 of 24
PPS: Services offered to PPS subscribers
FS: File service
LOG: Log service
RPT: Report service
OPRM: Operator management
SRVM: SMP versatile services
IV. Session header (18 Byte)
Session is a virtual connection (logical connection) between SMP and BSS/OSS accessed and also a unique identifier of a valid login. With the identifier of session ID, BSS/OSS originates a virtual connection to SMP. Session ID over the same SOCKET connection cannot repeat.
Session ID is filled in with the value larger than 0 when BSS/OSS sends a message, and it cannot repeat.
One or more sessions can be established based on one connection between BSS/OSS and SMP. MML commands can be sent through the session newly established when the message of login success is received from SMP. Execute the logout command to notify SMP to clear information of the session when the session is not required.
Session header consists of session ID, session control characters and reserved field.
-----Session ID: It is denoted by an integral of 32 bits (8 Byte) in hexadecimal format starting with 1. With its value larger than 0, session ID is the unique identifier of each session originated by BSS/OSS. It varies with the session. In the front end processor of BSS/OSS, TCP connection (physical connection) and session (logical connection) ID are used to determine the path for sent messages (The login ID can be used as session ID if one logical connection corresponds to one physical connection.).
-----Session control character: It is denoted by 6 Octet character strings (6 Byte).
Codes of session control character are shown as follows:
DlgLgn: Login request
DlgCon: Session hold
DlgEnd: Session end
By the use of session control character, DlgLgn, DlgCon are filled respectively for login, message transmission. When BSS/OSS send the logout message, SMP return the Message filled DlgEnd.
-----Reserved field: It is of 4 Byte used for subsequent extended services.
Bit sending sequence
Session IDSession control characterReserved field
V. Transaction header (18 Byte)
Transaction contained in a session refers to a deal between SMP and BSS/OSS accessed. It involves one or more MML commands (contained in one or more messages) and the result of it is contained in one or more MML ACK commands.
Based on the session, BSS/OSS sends messages to SMP to execute various operations, thereby implementing the function of service management. According to
-
IIN SMP MML Open Interface Protocols Confidentiality level
2008-06-03 All rights reserved. Page 7 of 24
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.
VI. Operative information
It denotes MML commands executed. See Section 3 for the format of MML command.
Fill with blank spaces if the length of MML command is not the multiple of 4.
VII. Checksum (8 Byte)
It is denoted by an integral (8 Byte) of 32 bits in hexadecimal format. The calculation algorithm of checksum is shown as follows.
1. Perform XOR for Message header + Session header + Transaction header + Operative information as 32 Byte, and the inverse of result obtained from XOR is the checksum.
2. SMP disables the check of checksum when interfaces are tested.
1.2.2 Service Message Code (Version number: 1.01)
Version 1.01 keeps the same with version 1.00 except for added languages in coding MML messages. And SMP can handle MML messages in version 1.00 and 1.01 simultaneously.
I. Message start flag (4 Byte)
It denotes the start and end of a message.
Length: 4 Byte
Code: `SC `
II. Message length (4 Byte)
It denotes the total length of the interval between the message header and operative message.
-
IIN SMP MML Open Interface Protocols Confidentiality level
2008-06-03 All rights reserved. Page 8 of 24
III. Message header (28 Byte)
Message header contains the following parameters:
-----Version number: It denotes the version of SMP open interface protocol with the code of 4 Octet character strings. Current version number is 1.01.
-----Terminal identifier: It is denoted by the code of 8 Octet character strings to identify the front end processor and terminal of BSS/OSS accessed to SMP.
-----Service name: It denotes the service that the operator applies for, and its code is composed of 8 Octet character strings.
------Language: It is designated by the client with the code of 8 Octet character strings to describe information returned from SMP. For example, information returned from SMP is in English if English is selected.
Chinese and English are supported in current version.
IV. Session header (18 Byte)
------Session ID: It is denoted by an integral (8 Byte) of 32 bits in hexadecimal format.
------Session control character: It is denoted by 6 Octet character strings (6 Byte).
------Reserved field: It is of 4 Byte used for subsequent extended services.
V. Transaction header (18 Byte)
------Transaction ID: It is denoted by an integral (8 Byte) of 32 bits in hexadecimal format starting with 1.
------Transaction control character: It is denoted by 6 Octet character strings.
------Reserved field: It is of 4 Byte used for subsequent extended services.
VI. Operative information
It remains the same with that in version 1.00.
VII. Checksum (8 Byte)
It remains the same with that in version 1.00.
1.2.3 Heartbeat Message
Start flag, message length and checksum of heartbeat message are identical with those of service message. HBHB is used to identify the heartbeat message.
Heartbeat message is sent when no messages are transmitted within period C between SMP and BSS/OSS. And when N heartbeat messages are not received, the two is considered to be disconnected. Therefore, another login is required.
Parameters C and N can be configured in principle. C = 2 minutes and N = 3 are recommended.
1.2.4 Timeout Judgment
SMP must return ACK message as the response of MML command sent from BSS/OSS within period T. When multiple ACK messages are involved, they must be sent with an interval of T until the transaction ends. SMP timeout occurs if BSS/OSS not receives the ACK message sent from SMP within period T.
-
IIN SMP MML Open Interface Protocols Confidentiality level
2008-06-03 All rights reserved. Page 9 of 24
T can be configured in principle. T = 1 minute is recommended. However, T varies with transaction.
1.3 Format of Message Through SMP Interface
Format of message SMP processing
(Downlink message: websmap->caa
Uplink message: caa -> websmap )
Message start flag (4B) It is fixedly configured to 60 53 43 60 (that is, `SC`)
Message length (4B) Total length of the interval between message header and operative information. Fill with blank spaces based on practical situation.
Version number (4B) It is used to identify the version of SMP open interface protocols
Terminal identifier (8B)
It is used to identify the front end processor and terminal of BSS/OSS.
Service name (8B) It denotes the service that operators apply for.
Message header (20B in version 1.00, 28B in version 1.01 and later ones)
Language (8B) It is contained in version 1.01 and later ones. In current version, only Chinese and English are supported.
Session ID (8B) With its value larger than 0, it is a unique identifier of the session originated by BSS/OSS. It varies with the session.
Session control character (6B)
By the use of session control character, BSS/OSS fills in DlgLgn, DlgCon respectively for login, message transmission and logout. When BSS/OSS send the logout message, SMP will return the Message filled with DlgEnd.
Session header (18B)
Reserved field (4B) It is used for subsequent extended services.
Transaction ID (8B) It is allocated by the client (BSS/OSS) to identify a transaction. In the same session, they (value: larger than 0) are different from each other.
Transaction control character (6B)
TxBeg: Transaction start; TxCon: Transaction proceed; TxEnd: Transaction end
Transaction header (18B)
Reserved field (4B) It is used for subsequent extended services.
Operative information
It denotes MML command. See Section 3 for details. Operative information
Blank space Fill with blank spaces if the length of MML command is not the multiple of 4.
Checksum 8B Perform XOR for Message header + Session header + Transaction header + Operative information as 32 Byte.
Table 1 Processing format of SMP message
MML Command
1.4 Format
1.4.1 MML Command
A command is started with a command code that specifies its function executed by the system. And further information is contained in parameter part following the command code. This part is separated from the command code with a colon and defined by the parameter block. Among multiple commands, semicolon is adopted, while it is omitted in one command. In addition, parameter part is always omitted.
-
IIN SMP MML Open Interface Protocols Confidentiality level
2008-06-03 All rights reserved. Page 10 of 24
Parameter block
Command code
Figure 1 Format of MML command
Note: Several commands are not listed.
1.4.2 Command Code
It consists of command prefix and body without match of upper/lower case.
Command prefix denotes the type of command. A command with the prefix of ACK is an acknowledgement one, and the prefix is separated from the command body with a colon, while a command started with MON refers to a detection command. In addition, 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.
Identifier 1 Identifier 2 Identifier 3sp spCommand prefix
Figure 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:
Execute the command DISP VPN ACNT : MSISDN="13900001234" to list the VPN account.
1.4.3 Parameter Block
Parameter block is indispensable to execution of the function specified by command code. And a command determines parameters contained in the block. Two or more parameters in one block are separated with commas. All parameters are defined based on their names, so execution of command may not be affected when user inputs them in a casual order.
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.
-
IIN SMP MML Open Interface Protocols Confidentiality level
2008-06-03 All rights reserved. Page 11 of 24
II. Name
Parameter name is denoted by an identifier with 8 characters at most.
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.
IV. Information element
Identifier
Decimal number
Date
Time
Character string
Identifier
Decimal number
Date
Time
Character string
Figure 3 Format of information element
V. Combined information elements
Several information elements can be input in a parameter contained in the command after they are combined into one. As mentioned above, only the combination of simple information elements is taken into account in this document. SMP open interface supports flexible combination modes of information elements.
To count the number of them, separate information elements in the parameter value with &. For example, 5 & 9 denotes 5 and 9.
Information elements of least and most significant bits as well as && (between the two) are required to denote a sequence (Incremental = 1) of information elements. For example, 5 & & 9 refers to 5, 6, 7, 8, and 9, while N'62280000 && N'62289999 denotes a number segment with 10,000 numbers.
Note: && is supported in part of MML commands.
Number of information elements involved in a combination is limited by the size of a message. In current version, the size is 65535 Byte.
VI. Default parameter:
Parameter in a command can be divided into mandatory one, optional one and default one.
Mandatory parameter: Indispensable to the execution of a command
Optional parameter: Dispensable one in execution of a command
Default parameter: It is configured by the system automatically.
Pay attention to the following rules about the default parameter:
1. A parameter configured with default value must be designated to be default. (Non-critical parameters involved in a command to add a user can be configured with the default value.)
2. Default value of parameters in a command is unique.
3. A default parameter can be configured with different values in different commands.
-
IIN SMP MML Open Interface Protocols Confidentiality level
2008-06-03 All rights reserved. Page 12 of 24
4. Default value must be the one commonly configured for this parameter.
1.4.4 Character Set in MML Command
I. Letter
It includes letters from a to z in upper and lower case.
II. Digit
It includes all decimal digits as well as those from 0 to 9.
III. List separator
It is used to separate information elements in the conversation.
(:): It is used to separate the command name or code from the first parameter.
(=): It is used to separate the parameter name or code from the first value of the parameter.
(,): It is used to separate parameters.
&: It is used to separate equivalent characters in a parameter.
&&: It is used to separate the upper and lower limit of an equivalent character.
(): It is used to separate the value from its indicator.
(;): It is used to separate commands.
IV. Numerical system indicator
B: Binary
O: Octal
D: Decimal
H: Hex
N: Numerical character string
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
(-)
1.5 MML Grammar
1.5.1 Identifier
Identifier refers to a character string containing one or more characters. Started with a letter or an underline, it involves figure, /, letter and underline. For example, UPDATE and NO7.
-
IIN SMP MML Open Interface Protocols Confidentiality level
2008-06-03 All rights reserved. Page 13 of 24
Letter/underline
Letter/underline
Figure
Letter/underline
Letter/underline
Figure
Figure 4 Identifier format
1.5.2 Numerical Value
I. Decimal number
Decimal number is composed of D and a group of characters involving one or more figures. Numerical system is applied to information element, in which D can be omitted.
Figure
D
Figure
D
Figure
D
Figure 5 Format of decimal number
II. Numerical character string
Numerical character string is used to denote such numerical information as card number or telephone number that decimal number fails to denote.
N' Figure
Figure 6 Format of numerical character string
III. Character string
Character (excluding)
" "
Character (excluding)
" "
Figure 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.
-
IIN SMP MML Open Interface Protocols Confidentiality level
2008-06-03 All rights reserved. Page 14 of 24
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".
VI. Date and time
Date and time are denoted based on formats mentioned above, between which there is a blank space.
For example: 25 minutes and 1 second past 12 October 13 2003 can be denoted as below:
2003-10-13 12:25:01"
1.6 MML Feature
1.6.1 Batch Operation
It indicates that only one command is executed to implement certain a process (such as adding, deletion, modification and query) for objects of the same kind. For example, subscription for multi-function card service.
Functions of batch operation are listed as follows:
1. Progress feedback function must be supported.
2. A result must be output when a small batch operation is completed and a statistical result is output when all operations end.
3. Concurrent execution of batch command and common one must be allowed.
1.6.2 Prompt of Confirmation
A prompt of confirmation must be displayed for users in case of important operations. For example, a timer is activated upon the execution of an important command so that execution may be cancelled when timeout occurs.
Interaction Between BSS/OSS and SMP
-
IIN SMP MML Open Interface Protocols Confidentiality level
2008-06-03 All rights reserved. Page 15 of 24
1.7 Procedure
The complete procedure of interaction between BSS/OSS and SMP is illustrated in the figure below. For a brief description, handling of abnormal cases and establishment of multiple sessions are not involved.
INSMPBSS/OSS
Establish a SOCKET connection
Send a LOGIN message
LOGIN success
Send a MML message
Send to IN
Return a ACK message to SMP
Send a MML ACK message
Send a LOGOUT message
LOGOUT success
INSMPBSS/OSS
Establish a SOCKET connection
Send a LOGIN message
Send a MML message
Send to IN
Return a ACK message to SMP
Send a MML ACK message
Send a LOGOUT message
LOGOUT success
Release SOCKET connection
INSMPBSS/OSS
Establish a SOCKET connection
Send a LOGIN message
LOGIN success
Send a MML message
Send to IN
Return a ACK message to SMP
Send a MML ACK message
Send a LOGOUT message
LOGOUT success
INSMPBSS/OSS
Establish a SOCKET connection
Send a LOGIN message
Send a MML message
Send to IN
Return a ACK message to SMP
Send a MML ACK message
Send a LOGOUT message
LOGOUT success
Release SOCKET connection
Figure 8 Interaction between SMP and BSS/OSS
-
IIN SMP MML Open Interface Protocols Confidentiality level
2008-06-03 All rights reserved. Page 16 of 24
1.8 Information Flow
Success
or not
Start
Establsh a SOCKET
connection between BSS/
OSS and SMP
Send a login
message
Whether SMPsucceeds in returning a
message
Send a logoutmessage
Yes
No
End
No
ReleaseSOCKETconnection
Whether operationsare not required
No
TransactionID+1Send
all commands
or not?
Operationstarts
Send the first
MML command
Send the next MMLcommand
Yes
No
Operationends
No
Execute theoperation
Concurrent operations
Yes
ReceiveMML ACK
messages
Transaction
ends or not?
Yes
Wait for the end of all operations
Yes
Figure 9 Procedure of Interaction between BSS/OSS and SMP
Note 1:
1. Multiple sessions can be established concurrently based on one TCP connection.
2. Each session starts with DlgLgn and ends with DlgEnd.
3. Multiple transactions can be started concurrently in a session.
4. Each transaction starts with TxBeg and ends with TxEnd.
5. Each transaction can contain multiple messages.
6. Only one MML or MML ACK command can be stored in the operative information field of a message.
-
IIN SMP MML Open Interface Protocols Confidentiality level
2008-06-03 All rights reserved. Page 17 of 24
Figure 10 Information flow of interaction between BSS/OSS and SMP
Note 2:
1. n stands for the length of operative information.
2. x stands for session ID (x>0), and it is unique in sessions based on a connection.
3. y stands for transaction ID (y>0), and it increments with the transaction.
4. z stands for checksum of a message. See 11.2.1.7 for the specific algorithm.
Complete information flow of operation after access of SMP
Access to the equipmet SMP
Establish a TCP connection access to the agent
Transaction ID increments
Note:1. n stands for the length of operative information. (with the value ranging
from0-64944)2. x stands for sesson ID. It is allocated by SMP, and returned with the firstACK message in a session.
3. y stands for transaction ID, and it increments with the transaction.4. z stands for checksum of a message, and it is the inverse value of result
obtained from XOR for "Message header + Session header + Transactionheader + Operative information" as 32 Byte.
5. The terminal identifier allocated by SMP administrator is filled in the field of
terminal identifier by the client.6. The field of service name is filled based on commands. SRVM is filled asthe service name when commands Login and Logout are executed.
TCP connection succeeds
Send a login message (Message 1)
`SC`
Startflag
56+n
Messagelength
1.00
MSG VER TERMSRVM
SERV ID
DLGLGN
DLGCTRL
Null
RSVMessage header Session header
y
ID
TXBEG
DLGCTRL
n Byte (n must be the
integral multiple of 4.)
RSVTransaction header Operative information
LOGIN: USER=a, PSWD=b z
Checksum
120 4 8 20 28 36 42 46 54 60 64 64+n 72+n
Null
Message1: Login message
4 4 8 8 8 6 4 8 6 4 84
Return a login result message (Message 2) `SC`
Start
flag56+n
Message
length1.00
MSGVER TERMSRVMSERV
xID
DLGCODLGCTRL
Null
Message header Session header
yID
TXEND
n Byte (n must be the
integral multiple of 4.)
Transaction headerOperative information
ACK:LOGIN: RETN=a z
Checksum
120 4 8 20 28 36 42 46 54 60 64 64+n 72+n
Null
Message 2: Login result message
4 4 8 8 8 6 4 8 6 4 84
Login starts
Login ends
Send an operation message (First transaction message)
Message 3
Return an operation result message (Last transaction message)
Message 6
Transaction starts
Transaction ends
`SC`
Startflag
60+n
Messagelength
1.00 x
ID
DLGCO Null
Message header Session header
y+1
ID
TXBEGn Byte (n must be the
integral multiple of 4.)
Transaction header Operative information
GET FS: ... z
Checksum
120 4 8 20 28 36 42 46 54 60 64 64+n 72+n
Null
Message 3: Operation message (First transaction message)
4 4 8 8 8 6 4 8 6 4 84
`SC`
Start
flag60+n
Message
length1.00 x
IDDLGCO Null
Message header Session header
y+1ID
TXCON
n Byte (n must be the
integral multiple of 4.)
Transaction headerOperative information
ACK:GET FS: ... z
Checksum
120 4 8 20 28 36 42 46 54 60 64 64+n 72+n
Null
Message 4: Operation result message (Second transaction message)
4 4 8 8 8 6 4 8 6 4 84
Return an operation result message (Second transaction message)
Message 4
Send an operation message (Third transaction message)
Message 5
`SC`
Start
flag56+n
Message
length1.00 x
ID
DLGCO Null
Message header Session header
y+1ID
TXCON
n Byte (n must be theintegral multiple of 4.)
Transaction headerOperative information
CONFIRM PPS BATDEL:.. z
Checksum
120 4 8 20 28 36 42 46 54 60 64 64+n 72+n
Null
Message 5: Operation message (Third transaction message)
4 4 8 8 8 6 4 8 6 4 84
`SC`
Startflag
56+n
Messagelength
1.00 x
ID
DLGCO Null
Message header Session header
y+1
ID
TXENDn Byte (n must be the
integral multiple of 4.)
Transaction headerOperative information
ACK:GET FS: ... z
Checksum
120 4 8 20 28 36 42 46 54 60 64 64+n 72+n
Null
Message 6: Operation message (Last transaction message)
4 4 8 8 8 6 4 8 6 4 84
Send a logout message (Message 7)
Return a logout ACK message (Message 8)
Logout starts
Logout ends
`SC`
Start
flag56+n
Message
length1.00 SRVM x
IDDLGCO Null
Message header Session header
y+2ID
TXBEG
n Byte (n must be the
integral multiple of 4.)
Transaction headerOperative information
LOGOUT: z
Checksum
120 4 8 20 28 36 42 46 54 60 64 64+n 72+n
Null
Message 7: Logout message
4 4 8 8 8 6 4 8 6 4 84
`SC`
Startflag
60+n
Messagelength
1.00 Filled SRVM x
ID
DLGEND Null
Message header Session header
y+2
ID
TXEND
n Byte (n must be theintegral multiple of 4.)
Transaction headerOperative information
ACK:LOGOUT: ... z
Checksum
120 4 8 20 28 36 42 46 54 60 64 64+n 72+n
Null
Message 8: Logout ACK message
4 4 8 8 8 6 4 8 6 4 84
Release TCP connection
Session ID increments
Heartbeat message
Heartbeat message (Message 9)
`SC`
Startflag
4
Messagelength
4
Heartbeatmessage
HBHB B7BDB7BD
Checksum
0 4 12 16
Message 9: Heartbeat message
4 84
8
Note:1. Multiple sessions can be established concurrently based on
one TCP connection.2. Each session starts with DlgLgn and ends with DlgEnd.3. Multiple transactions can be started concurrently in a
session.4. Each transaction starts with TxBeg and ends with TxEnd.
5. Each transaction can contain multiple messages.6. Only one MML command or MML ACK one of a message
can be stored in the operative information field.
DLGCTRL
DLGCTRL DLGCTRL
DLGCTRLDLGCTRL
DLGCTRL DLGCTRL
DLGCTRL DLGCTRL
DLGCTRLDLGCTRL
DLGCTRLDLGCTRL
MSG VER
MSG VER
MSG VER
MSG VER
MSG VER
MSG VER
TERM
TERM
TERM
TERM
TERM
SERV
SERV
SERV
SERV
SERV
SERVTERM
RSV
RSV
RSV
RSV
RSV
RSV
RSV RSV
RSV
RSV
RSV
RSV
RSV
RSV
Filled
Filled Filled
Filled Filled
Filled Filled
Filled Filled
Filled
FilledFilled
-
IIN SMP MML Open Interface Protocols Confidentiality level
2008-06-03 All rights reserved. Page 18 of 24
5. The terminal identifier allocated by SMP administrator is filled in the field of terminal identifier by the client.
6. The field of service name is filled based on commands. SRVM is filled as the service name when commands Login and Logout are executed.
Annex:
1.9 Request and Acknowledgement Stream of SMP
1.9.1 Request and Acknowledgement Stream of SMP (Version 1.00)
DISP VPN GRPINFO:GRPID=1111111111,TYPE=3
0000: 60 53 43 60 30 30 36 34 31 2e 30 30 69 6e 74 65 `SC`00641.00inte
0010: 72 6e 61 6c 56 50 4e 20 20 20 20 20 30 30 30 30 rnalVPN 0000
0020: 30 30 30 32 44 4c 47 43 4f 4e 30 30 30 30 30 30 0002DLGCON000000
0030: 30 30 30 30 30 41 54 58 42 45 47 20 30 30 30 30 00000ATXBEG 0000
0040: 44 49 53 50 20 56 50 4e 20 47 52 50 49 4e 46 4f DISP VPN GRPINFO
0050: 3a 47 52 50 49 44 3d 31 31 31 31 31 31 31 31 31 :GRPID=111111111
0060: 31 2c 54 59 50 45 3d 33 20 20 20 20 44 35 43 42 1,TYPE=3 D5CB
0070: 44 31 44 35 .. .. .. .. .. .. .. .. .. .. .. .. D1D5
ACK:DISP VPN GRPINFO: RETN=1001, DESC="The group does not exist.";
0000: 60 53 43 60 30 30 37 63 31 2e 30 30 69 6e 74 65 `SC`007c1.00inte
0010: 72 6e 61 6c 20 20 20 20 20 41 43 4b 30 30 30 30 rnal ACK0000
0020: 30 30 30 32 44 4c 47 43 4f 4e 30 30 30 30 30 30 0002DLGCON000000
0030: 30 30 30 30 30 61 20 54 58 45 4e 44 30 30 30 30 00000a TXEND0000
0040: 41 43 4b 3a 44 49 53 50 20 56 50 4e 20 47 52 50 ACK:DISP VPN GRP
0050: 49 4e 46 4f 3a 20 52 45 54 4e 3d 31 30 30 31 2c INFO: RETN=1001,
0060: 20 44 45 53 43 3d 22 54 68 65 20 67 72 6f 75 70 DESC="The group
0070: 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e does not exist.
0080: 22 3b 20 20 38 31 46 32 39 30 46 33 .. .. .. .. "; 81F290F3
Message format Websmap-caa
Stream
Caa-websmap
Stream
Description
Message start flag (4B) 60 53 43 60 60 53 43 60 It is fixedly configured to 60 53 43 60 (that is, `SC`)
Message length (4B) 30 30 36 34(0064) 30 30 37 63 (007c) Total length of the interval between message header and operative information. Fill with blank spaces based on practical situation.
Version number 4B
31 2e 30 30(1.00) 31 2e 30 30(1.00) It is used to identify the version of SMP open interface protocols
Message header (20 B in version 1.00) Terminal
identifier8B
69 6e 74 65 72 6e 61 6c(internal)
69 6e 74 65 72 6e 61 6c(internal)
-
IIN SMP MML Open Interface Protocols Confidentiality level
2008-06-03 All rights reserved. Page 19 of 24
Message format Websmap-caa
Stream
Caa-websmap
Stream
Description
Service name 8B
56 50 4e 20 20 20 20 20(VPN )
20 20 20 20 20 41 43 4b It denotes the service that operators apply for..
Session ID 8B
30 30 30 30 30 30 30 32(00000002)
30 30 30 30 30 30 30 32(00000002)
With its value larger than 0, it is a unique identifier of the session originated by BSS/OSS. It varies with the session.
Session control character 6B
44 4c 47 43 4f 4e(DLGCON)
44 4c 47 43 4f 4e(DLGCON)
By the use of session control character, BSS/OSS fills in DlgLgn, DlgCon respectively for login, message transmission , When BSS/OSS send the logout message, SMP will return the Message filled with DlgEnd.
Session ID 18B
Reserved field of session 4B
30 30 30 30(0000) 30 30 30 30(0000) It is used for subsequent extended services.
Transaction ID 8B
30 30 30 30 30 41 (0000000A)
30 30 30 30 30 61 (0000000a)
It is allocated by the client (BSS/OSS) to identify a transaction. In the same session, they (value: larger than 0) are different from each other.s
Transaction control character 6B
54 58 42 45 47 20 (TXBEG )
20 54 58 45 4e 44 ( TXEND)
TxBeg: Transaction starts; TxCon: Transaction proceeds; TxEnd: Transaction ends
Transaction header 18B
Reserved field of transaction 4B
30 30 30 30(0000) 30 30 30 30(0000) It is used for subsequent extended services.
Operative information
44 49 53 50 20 56 50 4e 20 47 52 50 49 4e 46 4f 3a 47 52 50 49 44 3d 31 31 31 31 31 31 31 31 31 31 2c 54 59 50 45 3d 33 20(DISP VPN GRPINFO:GRPID=1111111111,TYPE=3 )
41 43 4b 3a 44 49 53 50 20 56 50 4e 20 47 52 50 49 4e 46 4f 3a 20 52 45 54 4e 3d 31 30 30 31 2c 20 44 45 53 43 3d 22 54 68 65 20 67 72 6f 75 70 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 22 3b(ACK:DISP VPN GRPINFO: RETN=1001, DESC="The group does not exist.";)
It denotes MML command. See Section 3 for details.
Operative information
Fill with blank spaces
20 20 20( ) 20 20 ( )
Checksum 8B 44 35 43 42 44 31 44 35
38 31 46 32 39 30 46 33
Perform XOR for Message header + Session header + Transaction header + Operative information as 32 Byte.
-
IIN SMP MML Open Interface Protocols Confidentiality level
2008-06-03 All rights reserved. Page 20 of 24
1.9.2 Request and Acknowledgement Stream of SMP (1.01 and later versions)
GET SECU USERDATA: USERID=-1, USERNAME="root";
0000: 60 53 43 60 30 30 37 30 31 2e 30 32 69 6e 74 65 `SC`00701.02inte
0010: 72 6e 61 6c 20 20 20 20 53 45 43 55 20 63 68 69 rnal SECU chi
0020: 6e 65 73 65 30 30 30 30 30 30 30 31 44 4c 47 43 nese00000001DLGC
0030: 4f 4e 30 30 30 30 30 30 30 30 30 30 30 32 20 54 ON000000000002 T
0040: 58 42 45 47 30 30 30 32 47 45 54 20 53 45 43 55 XBEG0002GET SECU
0050: 20 55 53 45 52 44 41 54 41 3a 20 55 53 45 52 49 USERDATA: USERI
0060: 44 3d 2d 31 2c 20 55 53 45 52 4e 41 4d 45 3d 22 D=-1, USERNAME="
0070: 72 6f 6f 74 22 3b 20 20 46 46 43 30 42 33 43 33 root"; FFC0B3C3
ACK:GET SECU USERDATA: RETN=0, DESC=, USERID=0, USERNAME="root", HOMEAREA=;
0000: 60 53 43 60 30 30 38 63 31 2e 30 32 69 6e 74 65 `SC`008c1.02inte
0010: 72 6e 61 6c 20 20 20 20 20 41 43 4b 20 63 68 69 rnal ACK chi
0020: 6e 65 73 65 30 30 30 30 30 30 30 31 44 4c 47 43 nese00000001DLGC
0030: 4f 4e 30 30 30 30 30 30 30 30 30 30 30 32 20 54 ON000000000002 T
0040: 58 45 4e 44 30 30 30 32 41 43 4b 3a 47 45 54 20 XEND0002ACK:GET
0050: 53 45 43 55 20 55 53 45 52 44 41 54 41 3a 20 52 SECU USERDATA: R
0060: 45 54 4e 3d 30 2c 20 44 45 53 43 3d 2c 20 55 53 ETN=0, DESC=, US
0070: 45 52 49 44 3d 30 2c 20 55 53 45 52 4e 41 4d 45 ERID=0, USERNAME
0080: 3d 22 72 6f 6f 74 22 2c 20 48 4f 4d 45 41 52 45 ="root", HOMEARE
0090: 41 3d 3b 20 41 37 38 32 38 36 46 30 .. .. .. .. A=; A78286F0
This message is similar with that in version 1.00 in format except that message header is added with languages (8B) in version 1.01.
Message header is listed in the following table.
Version number 4B
31 2e 30 32(1.02) 31 2e 30 32 (1.02) It is used to identify the version of SMP open interface protocols.
Terminal identifier 8B
69 6e 74 65 72 6e 61 6c(internal)
69 6e 74 65 72 6e 61 6c(internal)
Service name 8B
20 20 20 20 53 45 43 55 ( SECU)
20 20 20 20 20 41 43 4b( ACK)
It denotes the service that operators apply for.
Message header
Language 63 68 69 6e 65 73 65 (Chinese)
63 68 69 6e 65 73 65 (Chinese)
Language
1.10 Heartbeat Message Stream of SMP
Sent from CAA
0000: 60 53 43 60 30 30 30 34 48 42 48 42 42 37 42 44 `SC`0004HBHBB7BD
0010: 42 37 42 44 .. .. .. .. .. .. .. .. .. .. .. .. B7BD
Received by CAA
-
IIN SMP MML Open Interface Protocols Confidentiality level
2008-06-03 All rights reserved. Page 21 of 24
0000: 60 53 43 60 30 30 30 34 48 42 48 42 42 37 42 44 `SC`0004HBHBB7BD
0010: 42 37 42 44 .. .. .. .. .. .. .. .. .. .. .. .. B7BD
Stream sent and received by caa are the same in format. See the following table.
Message format Stream received by Caa/Stream sent from caa
Description
Message start flag (4B) 60 53 43 60 It is fixedly configured to 60 53 43 60 (that is, `SC`)
Message length (4B) 30 30 30 34(0004) Fixed length of heartbeat message: 4B
Operative information 48 42 48 42(HBHB) Fixed content of heartbeat message: HBHB
Checksum (8B) 42 37 42 44 42 37 42 44 Checksum
1.11 Calculating Program of Message Checksum
// Convert the checksum of 4 Byte in hexadecimal format into that of 8 Byte in visible character format.
GetChkSum(UInt2 len, PSTR buf, PSTR res)
{
memset(res, 0, 8);
for(int i=0; i"E8")
for(i = MSG_CHKSUM_LEN-1; i >= 0; i --)
{
if ( i % 2 ) // LOW
{
res[i] = (res[i/2] & 0x0F) + '0';
if ( res[i] > '9' )
{
res[i] = res[i] + 'A' - '0' - 10;
-
IIN SMP MML Open Interface Protocols Confidentiality level
2008-06-03 All rights reserved. Page 22 of 24
}
}
else // HIGH
{
res[i] = ((res[i/2] >> 4) & 0x0F) + '0';
if ( res[i] > '9' )
{
res[i] = res[i] + 'A' - '0' - 10;
}
}
}
};
1.12 Login and Logout Messages
1.12.1 Login
Execute this command to log in IN system. See the format below.
LOGIN: USER= , PSWD=
Parameters:
USER: Username, which is denoted by a character string from 1 to 8 characters.
PSWD: Password, which is denoted by a character string from 1 to 8 characters.
mml=LOGIN:PSWD=TELLIN,USER=vpnadm
0000: 60 53 43 60 30 30 35 38 31 2e 30 30 69 6e 74 65 `SC`00581.00inte
0010: 72 6e 61 6c 53 52 56 4d 20 20 20 20 30 30 30 30 rnalSRVM 0000
0020: 30 30 30 32 44 4c 47 4c 47 4e 30 30 30 30 30 30 0002DLGLGN000000
0030: 30 30 30 30 30 31 54 58 42 45 47 20 30 30 30 30 000001TXBEG 0000
0040: 4c 4f 47 49 4e 3a 50 53 57 44 3d 54 45 4c 4c 49 LOGIN:PSWD=TELLI
0050: 4e 2c 55 53 45 52 3d 76 70 6e 61 64 6d 20 20 20 N,USER=vpnadm
0060: 45 31 41 38 42 37 46 42 .. .. .. .. .. .. .. .. E1A8B7FB
1.12.2 Login ACK
This command is returned when the login command is received. See the format below.
ACK: LOGIN: RETN= [, DESC=]
Parameters:
RETN: Returned value of ACK command, Which is an integral in decimal format. See Annex E for details.
DESC: Error cause, which is denoted by a character string with 1-256 characters. It is not required when RETN succeeds and is optional when RETN values others.
ACK:LOGIN: RETN=0, DESC=The command is executed successfully;
-
IIN SMP MML Open Interface Protocols Confidentiality level
2008-06-03 All rights reserved. Page 23 of 24
0000: 60 53 43 60 30 30 37 38 31 2e 30 30 69 6e 74 65 `SC`00781.00inte
0010: 72 6e 61 6c 20 20 41 43 4b 4c 47 4e 30 30 30 30 rnal ACKLGN0000
0020: 30 30 30 32 44 4c 47 43 4f 4e 30 30 30 30 30 30 0002DLGCON000000
0030: 30 30 30 30 30 31 20 54 58 45 4e 44 30 30 30 30 000001 TXEND0000
0040: 41 43 4b 3a 4c 4f 47 49 4e 3a 20 52 45 54 4e 3d ACK:LOGIN: RETN=
0050: 30 2c 20 44 45 53 43 3d 54 68 65 20 63 6f 6d 6d 0, DESC=The comm
0060: 61 6e 64 20 69 73 20 65 78 65 63 75 74 65 64 20 and is executed
0070: 73 75 63 63 65 73 73 66 75 6c 6c 79 3b 20 20 20 successfully;
0080: 46 35 42 36 45 33 46 45 .. .. .. .. .. .. .. .. F5B6E3FE
1.12.3 Logout
Execute this command to end the session between operator and SMP. See the format below.
LOGOUT [: USER=]
Parameters:
USER: Username of the operator, which is denoted by a character string with 1 to 8 characters. It is required for logout of operators.
DEFAULT: Username of operator involved in current session.
LOGOUT:
0000: 60 53 43 60 30 30 34 30 31 2e 30 30 69 6e 74 65 `SC`00401.00inte
0010: 72 6e 61 6c 53 52 56 4d 20 20 20 20 30 30 30 30 rnalSRVM 0000
0020: 30 30 30 35 44 4c 47 43 4f 4e 30 30 30 30 30 30 0005DLGCON000000
0030: 30 30 30 30 30 36 54 58 42 45 47 20 30 30 30 30 000006TXBEG 0000
0040: 4c 4f 47 4f 55 54 3a 20 46 36 46 39 38 35 46 41 LOGOUT: F6F985FA
1.12.4 Logout ACK
This command is returned when the logout command is received. See the format below.
ACK: LOGOUT: RETN= [, DESC=]
Parameters:
RETN: Returned value of ACK command.
DESC: Error cause, which is denoted by a character string with 1-256 characters. It is not required when RETN succeeds and is optional when RETN values others.
ACK:LOGOUT: RETN=0, DESC=The command is executed successfully;
0000: 60 53 43 60 30 30 37 38 31 2e 30 30 69 6e 74 65 `SC`00781.00inte
0010: 72 6e 61 6c 20 20 20 20 20 41 43 4b 30 30 30 30 rnal ACK0000
0020: 30 30 30 35 44 4c 47 45 4e 44 30 30 30 30 30 30 0005DLGEND000000
0030: 30 30 30 30 30 36 20 54 58 45 4e 44 30 30 30 30 000006 TXEND0000
0040: 41 43 4b 3a 4c 4f 47 4f 55 54 3a 20 52 45 54 4e ACK:LOGOUT: RETN
0050: 3d 30 2c 20 44 45 53 43 3d 54 68 65 20 63 6f 6d =0, DESC=The com
0060: 6d 61 6e 64 20 69 73 20 65 78 65 63 75 74 65 64 mand is executed
-
IIN SMP MML Open Interface Protocols Confidentiality level
2008-06-03 All rights reserved. Page 24 of 24
0070: 20 73 75 63 63 65 73 73 66 75 6c 6c 79 3b 20 20 successfully;
0080: 45 38 46 38 44 44 39 32 .. .. .. .. .. .. .. .. E8F8DD92