pps smoi user manual body
TRANSCRIPT
User Manual PPS Prepaid Service Management Open Interface Table of Contents
Huawei Technologies Proprietary
i
Table of Contents
Chapter 1 SMOI Protocol .............................................................................................................. 1-1 1.1 Introduction ........................................................................................................................ 1-1 1.2 Networking Mode of SMP with MD.................................................................................... 1-1 1.3 Architecture of SM Interface .............................................................................................. 1-1 1.4 Program of SM Interface.................................................................................................... 1-2 1.5 MML Commands................................................................................................................ 1-2
1.5.1 MML Format ............................................................................................................ 1-2 1.5.2 Character Set for MML Commands ........................................................................ 1-6 1.5.3 MML Syntax ............................................................................................................ 1-7
1.6 Interaction of MD with SMP ............................................................................................... 1-9 1.7 Software with Standard Interface..................................................................................... 1-10
1.7.1 Software Architecture............................................................................................ 1-10 1.7.2 Relationship between the Standard Interface Soft wares..................................... 1-11
1.8 Security Management of SMP......................................................................................... 1-11 1.8.1 Overview ............................................................................................................... 1-11 1.8.2 Access Security..................................................................................................... 1-11 1.8.3 Operation Security ................................................................................................ 1-12 1.8.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 Message through 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-12
2.6 MML Feature.................................................................................................................... 2-14 2.6.1 Batch Operation .................................................................................................... 2-14 2.6.2 Prompt of Confirmation ......................................................................................... 2-14
User Manual PPS Prepaid Service Management Open Interface Table of Contents
Huawei Technologies Proprietary
ii
2.7 Interaction between BSS/OSS and SMP......................................................................... 2-15 2.7.1 Procedure.............................................................................................................. 2-15 2.7.2 Information Flow.................................................................................................... 2-16
Chapter 3 Commonly-used MML Commands 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 (SRVM) ..................................................................................................... 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 PPS Services ..................................................................................................................... 3-6 3.4.1 Creating PPS Subscribers ...................................................................................... 3-6 3.4.2 ACK of Creating PPS Subscribers .......................................................................... 3-8 3.4.3 Deleting PPS Subscriber Individually.................................................................... 3-11 3.4.4 ACK of Deleting PPS Subscriber Individually ....................................................... 3-11 3.4.5 Deleting PPS Subscribers in Batch....................................................................... 3-12 3.4.6 ACK of Deleting PPS Subscribers in Batch .......................................................... 3-12 3.4.7 Modify PPS Subscriber CallingFlag ...................................................................... 3-13 3.4.8 ACK of Modify PPS Subscriber Calling Flag......................................................... 3-14 3.4.9 Modifying Subscriber Roaming Flag ..................................................................... 3-15 3.4.10 ACK of Modifying Subscriber Roaming Flag....................................................... 3-16 3.4.11 Querying PPS Subscribers Meeting the Deletion Conditions ............................. 3-17 3.4.12 ACK of Querying PPS Subscribers Meeting the Deletion Conditions................. 3-18 3.4.13 Querying PPS Subscriber Basic Information ...................................................... 3-19 3.4.14 ACK of Querying PPS Subscriber Basic Information.......................................... 3-20 3.4.15 Releasing Subscriber from Blacklist ................................................................... 3-21 3.4.16 ACK of Releasing Subscriber from Blacklist ....................................................... 3-22 3.4.17 Change Subscriber Type .................................................................................... 3-22 3.4.18 ACK of Change Subscriber Type........................................................................ 3-23 3.4.19 Modifying Subscriber Balance............................................................................. 3-25 3.4.20 ACK of Modifying Subscriber Balance ................................................................ 3-25 3.4.21 Modifying Subscriber Validity Period .................................................................. 3-26 3.4.22 ACK of Modifying Subscriber Validity Period ...................................................... 3-27 3.4.23 Modifying MSISDN.............................................................................................. 3-28 3.4.24 ACK of Modifying MSISDN ................................................................................. 3-29 3.4.25 Modifying Subscriber Balance by Triggering Service ......................................... 3-30 3.4.26 ACK of Modifying Subscriber Balance by Triggering Service............................. 3-31
3.5 GPRS MML Command Set.............................................................................................. 3-33 3.5.1 Creating a Batch of GPRS Service Subscribers ................................................... 3-33
User Manual PPS Prepaid Service Management Open Interface Table of Contents
Huawei Technologies Proprietary
iii
3.5.2 ACK of Creating a Batch of GPRS Service Subscribers ...................................... 3-33 3.5.3 Deactivating GPRS Service Subscribers .............................................................. 3-35 3.5.4 ACK of Deactivating GPRS Service Subscribers.................................................. 3-35
3.6 Recharge Card Management (RCMS) ............................................................................ 3-37 3.6.1 Manual Recharge by SCP..................................................................................... 3-37 3.6.2 ACK of Manual Recharge by SCP ........................................................................ 3-38 3.6.3 Querying Recharge Card Status ........................................................................... 3-41 3.6.4 ACK of Querying Recharge Card Status .............................................................. 3-42 3.6.5 Locking Recharge Card ........................................................................................ 3-43 3.6.6 ACK of Locking Recharge Card............................................................................ 3-43 3.6.7 Unlocking Recharge Card ..................................................................................... 3-44 3.6.8 ACK of Unlocking Recharge Card......................................................................... 3-45 3.6.9 Verifying Recharge Card....................................................................................... 3-46 3.6.10 ACK of Verifying Recharge Card ........................................................................ 3-46
3.7 FNS MML Command Set................................................................................................. 3-47 3.7.1 Creating a Batch of FN Service Subscribers ........................................................ 3-47 3.7.2 ACK of Creating a Batch of FN Service Subscribers ............................................ 3-48 3.7.3 Deactivating FN Service Subscribers ................................................................... 3-50 3.7.4 ACK of Deactivating FN Service Subscribers ....................................................... 3-51 3.7.5 Setting Subscriber’s FN ........................................................................................ 3-52 3.7.6 ACK of Setting Subscriber’s FN............................................................................ 3-53 3.7.7 Querying Subscriber’s FN ..................................................................................... 3-55 3.7.8 ACK of Querying Subscriber’s FN......................................................................... 3-55
Appendix ........................................................................................................................................A-1 A.1 Acronyms and Abbreviations............................................................................................A-1 A.2 SMOI Client Demo Code..................................................................................................A-2
User Manual PPS Prepaid Service Management Open Interface Chapter 1 SMOI Protocol
Huawei Technologies Proprietary
1-1
Chapter 1 SMOI Protocol
1.1 Introduction
This manual describes the interface protocol between Service Management Point (SMP) and Medial Device (MD), and the Man-Machine Language (MML) commands supported. SMP software provides an open interface protocol, whose main contents consist of standard MML commands. Thus, MD can communicate with SMP via MML commands and receive the operation result returned by SMP. Any third-party manufactured access device abiding by this interface protocol can operate SMP.
1.2 Networking Mode of SMP with MD
The networking mode of SMP with MD and business hall terminal is illustrated in Figure 1-1.
SCP
MD:SMOI /WEBSERVER
BankBrowserBusiness HallTerminal
MD:SMOI /BankInterface
SMP
MD:SMOI /LocalServer
Figure 1-1 Networking mode of SMP with outer entities
The outer terminal can be connected to SMP via MD. 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.
1.3 Architecture of SM Interface
For the protocol about the interaction of SMP with the terminal, please refer to section “1.6 Interaction of MD with SMP”. The lower layer of SM interface adopts TCP/IP protocol. The interface protocol stack is shown in Figure 1-2.
User Manual PPS Prepaid Service Management Open Interface Chapter 1 SMOI Protocol
Huawei Technologies Proprietary
1-2
SMP MD
SMOISM Interfaceprotocol layer
Physical layer
TCP/IP
SM Interfaceprotocol layer
TCP/IP
Physical layer
Figure 1-2 SM interface protocol stack
Before MD and SMP send messages, the TCP/IP connection with SMP shall first be established. When MD no longer needs to interact with SMP, the SOCKET connection with SMP shall be released. In case of IDLE, it’s OK to remain the connection with SMP, while sending only 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.
1.4 Program of SM Interface
The interface program running on MD is SMOI, which is a console program and functions to provide interface for command lines. Its prompt is a single great sign with the current dialog ID and the current transaction ID. (For example, ‘1 3 SMOI>’). It can read and transfer commands from standard input terminal and display the messages returned by SMP on standard output terminal. SMOI program is operated in asynchronous mode and multiple MML commands can be input at one time. The sequence of input commands may differ from that of the returned messages.
Please refer to "Chapter 2 SMOI Program Operation” for the operation of SMOI program interface.
1.5 MML Commands
1.5.1 MML Format
I. Overview
An MML command begins with a command code. It specifies what the system needs to execute. Its additional information is expressed by its parameters tailed, which are separated from the command code by colon (:) at the end of a command code.
User Manual PPS Prepaid Service Management Open Interface Chapter 1 SMOI Protocol
Huawei Technologies Proprietary
1-3
Parameters are defined by parameter block. Multiple commands are separated by semicolons (;), which can be omitted in the case of single command involved, as shown in Figure 1-3.
Command Code ...
Parameter Block
Figure 1-3 Format of MML command
II. Command code
Command code consists of command prefix and body.
It is not case sensitive.
Prefix is used to identify whether this command is an ACK or not. Prefix is separated by colon (:) from the command body. Prefix has other two forms: MON -meaning a detecting command, and NOTIFY -meaning a notification message. Prefix MON has not yet been provided currently.
Command body can only have a maximum of 3 identifiers, and each of them is separated by space(s), as shown in Figure 1-4.
command : identifier3identifier2identifier1 spsp
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=” 119900000 “
User Manual PPS Prepaid Service Management Open Interface Chapter 1 SMOI Protocol
Huawei Technologies Proprietary
1-4
III. Parameter block
Parameter block contains the information required by the specific functions of the executive commands. This information is specified by some specific parameters according to a certain command.
Parameter blocks, including more than one parameter, are separated by commas (,).
All parameters are defined according to its name.
Also, the input sequence of the parameters by user will not influence the command’s executing result.
Definition of parameters
A parameter consists of a name and its value, separated by an equal mark (=).
In the case of omitting a given parameter, it’s considered that a default value has been designated. Or, it’s OK to specify a given parameter value to represent the default value.
If there is not any valid character between the equal mark and comma after the parameter name, then default parameter will also be used.
Parameter name
Parameter name consists of a maximum of 16 characters.
It is not case sensitive.
Parameter value
Parameter value is composed of an information unit or a compound of information units.
Information unit
The composition of an information unit is shown in Figure 1-5
Identifier
Decimal
Date
Time
String
Figure 1-5 Composition of an information unit
Compound information unit
User Manual PPS Prepaid Service Management Open Interface Chapter 1 SMOI Protocol
Huawei Technologies Proprietary
1-5
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 “&&" in between. For example, 5&&9 stands for information units: 5,6,7,8,9.
N’ 11990000 &&N’ 11990999 stands for the number segment with 10,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.
Follow 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. Default value should be the one used in most cases.
Example of MML command
Modify the subscriber’s balance:
MODI PPS BALANCE: MSISDN=, INCRMENT=
ACK: MODI PPS BALANCE:RETN=,DESC=[ORGBALANCE=,LASTBALANCE=]
User Manual PPS Prepaid Service Management Open Interface Chapter 1 SMOI Protocol
Huawei Technologies Proprietary
1-6
1.5.2 Character Set for MML Commands
I. Alphabet
All alphabet characters, upper case or lower case (a-z and A-Z), and characters, * and #, are also included.
II. Digit
All decimal characters (0-9), are valid.
III. Delimiter
The following marks are used to separate different units of an input session.
Colon (:): To separate the first parameter from the command code or command name.
Equation (=): To separate the first value from the parameter name or parameter code.
Comma (,): To separate different parameters. Ampersand (&): To separate all of the values for a parameter. Double-ampersand (&&): To separate the lower limitation value from the upper
one in a parameter’s value range. Apostrophe (‘): To separate the valued-indicator from its value. Semicolon (;): To separate different commands.
IV. Number scale
B Binary system
O Octal system
D Decimal system
H Hexadecimal system
N Numeric string
V. Special character
Double-quote (“): To separate a string from some context in a memo sign. Space: To separate command code and to improve readability as well. Enter: To be not used in the system, but can be adopted to improve readability. (*) mark: To be used in the system, yet without special meaning. (#) mark: To be used in the system, yet without special meaning. Hyphen (-): To be used in the system, yet without special meaning.
User Manual PPS Prepaid Service Management Open Interface Chapter 1 SMOI Protocol
Huawei Technologies Proprietary
1-7
1.5.3 MML Syntax
I. Identifier
Identifier is a string consisting of one or multiple characters. It is headed by an alphabet or underline and followed by one or more digits, alphabets or underlines. For example, UPDATE and NO7 are valid identifiers.
Alphabet/Underline
Digit
Alphabet orUnderline
Figure 1-6 Identifier
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, then characters D' can be omitted.
D' Digit
Figure 1-7 Decimal number
Numeric string
Numeric string can be used to express some information, which are composed of digital characters, yet cannot be expressed by decimal numbers. For instance, MSISDN and the PPS card No..
N' Digit
Figure 1-8 Numeric 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
User Manual PPS Prepaid Service Management Open Interface Chapter 1 SMOI Protocol
Huawei Technologies Proprietary
1-8
double-quote (“) at both end. Character string includes all valid characters, and if double-quote (“) appears in a sting, it shall follow a backslash.
Character(excluding ")
" "
Figure 1-9 Character string
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 between 00 to 23 (23 included). Minute and second are both 2-digit decimal numbers, ranging between 00 to 59 (59 included).
For example: “12:25:01”.
V. Date and time
Date and time is expressed with a space between them.
For example: “1999-01-16 12:25:01”.
User Manual PPS Prepaid Service Management Open Interface Chapter 1 SMOI Protocol
Huawei Technologies Proprietary
1-9
1.6 Interaction of MD with SMP
Figure 1-10 shows the complete procedure of the interaction of MD with SMP. To be simple, the handling of abnormal circumstances and the process of setting up multiple dialogs are omitted here.
Start
No
End
Succeed?
Send LOGIN command
Establish SOCKETconnection w ith SMP
Yes
SMP returnedsuccessfully ?
Get session ID
Transaction ID+1
Yes
No moreoperation?
Ex ecute operation
Send LOGOUT command
Yes
No
No
Operation start
Send the first MMLcommand
Parellel operation
All sent out?
Transaction ov er?
Receiv e MML ACK
Send the nex t MMLcommand
No
No
Yes
Yes
Wait until all the branches are finished
Operation end
Figure 1-10 Procedure of the interaction of MD with SMP
User Manual PPS Prepaid Service Management Open Interface Chapter 1 SMOI Protocol
Huawei Technologies Proprietary
1-10
1.7 Software with Standard Interface
1.7.1 Software Architecture
The standard interface software consists of multiple processes, each of which is of layer structure, such as mechanism layer and application layer. The mechanism is to 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:
Configuration management layer
Log and alarm monitoring management layer
Scheduling mechanism layer
Communication mechanism layer
Session, transaction mechanism layer
Application 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.
User Manual PPS Prepaid Service Management Open Interface Chapter 1 SMOI Protocol
Huawei Technologies Proprietary
1-11
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.
1.7.2 Relationship between the Standard Interface Soft wares
To realize SM interface, the following system processes are necessary: client access agent process, service configuration management process, external entity agent process, and application service process.
Client access agent process provides standard protocol interface to the outside, and is the only path that peripheral access device with standard protocol interface can operate on SMP.
Service configuration management process mainly functions to achieve the dynamic configuration, operator login, and operator management of each service.
External entity agent process is the only path through which system interacts with external entities. External entities mainly include SCP, INFORMIX database, etc.
Application service process is in charge of completing the real tasks accomplished by SMP, such as the various operations of PPS (the prepaid service).
1.8 Security Management of SMP
1.8.1 Overview
To ensure the security of system and convenience of operation, system shall provide the security management function for device access and setting user operation authority, which includes access security management, security management of various operators, and security management of system supervisor (referred to as operator hereafter).
The system will perform operator authority management both from operation authority and from data authority. Relevant authority parameters will be set for each module and function operation. In real cases, we shall determine the operator security before setting the operation authority.
1.8.2 Access Security
SMP access security includes two indices: number of on-line subscriber and how busy the system is. The system will decide whether to allow new user to log in or new
User Manual PPS Prepaid Service Management Open Interface Chapter 1 SMOI Protocol
Huawei Technologies Proprietary
1-12
external device to access, depending on the number of currently logged-in users and the occupancy of CPU and the IO of disk.
1.8.3 Operation Security
SMP shall perform authentication for the commands sent by the operator. And the commands sent by operator without authority will be returned with error information.
1.8.4 Data Security
SMP shall not only perform authentication for the commands sent by the operator, but also check the data security for the data processed by the operator. The latter also concerns the function operation. To make judgment on the data security, operators of higher authority can process the data that are able to be handled by operators of lower authority.
User Manual PPS Prepaid Service Management Open Interface Chapter 2 SMOI Program Operation
Huawei Technologies Proprietary
2-1
Chapter 2 SMOI Program Operation
2.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.
2.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.
Messagestart flag
Message length
Session header
Messageheader
Transactionheader
Operative informationChecksum
Messagestart flag
Message sending sequence
Messagestart flag
Message length
Session header
Messageheader
Transactionheader
Operative informationChecksum
Messagestart 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 second (It can be configured.) later when the connection is idle. See the figure below for the structure of heartbeat message.
Checksum Content Message length Message start flag
Message sending sequence
2.2.1 Service Message Code(V1.00)
This Version number is 1.00. Code of parameter configured over SMP open interface protocol must conform to the following rules:
User Manual PPS Prepaid Service Management Open Interface Chapter 2 SMOI Program Operation
Huawei Technologies Proprietary
2-2
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.
FS: File service
LOG: Log service
RPT: Report service
OPRM: Operator management
SRVM: SMP versatile services
User Manual PPS Prepaid Service Management Open Interface Chapter 2 SMOI Program Operation
Huawei Technologies Proprietary
2-3
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 sends 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.
User Manual PPS Prepaid Service Management Open Interface Chapter 2 SMOI Program Operation
Huawei Technologies Proprietary
2-4
Based on the session, BSS/OSS sends messages to SMP to execute various operations, thereby implementing the function of service management. According to 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.
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.
SMP disables the check of checksum when interfaces are tested.
User Manual PPS Prepaid Service Management Open Interface Chapter 2 SMOI Program Operation
Huawei Technologies Proprietary
2-5
2.2.2 Service Message Code(V1.01)
This Version number is 1.01. It 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.
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.
User Manual PPS Prepaid Service Management Open Interface Chapter 2 SMOI Program Operation
Huawei Technologies Proprietary
2-6
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.
2.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.
2.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.
T can be configured in principle. T = 1 minute is recommended. However, T varies with transaction.
User Manual PPS Prepaid Service Management Open Interface Chapter 2 SMOI Program Operation
Huawei Technologies Proprietary
2-7
2.3 Format of Message through SMP Interface
Format of message through SMP interface is refer to Table 2-1.
Table 2-1 format of SMP message
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.
User Manual PPS Prepaid Service Management Open Interface Chapter 2 SMOI Program Operation
Huawei Technologies Proprietary
2-8
Format of message
SMP processing
(Downlink message: websmap->caa
Uplink message: caa -> websmap )
Checksum 8B Perform XOR for "Message header + Session header + Transaction header + Operative information" as 32 Byte.
2.4 MML Command Format
2.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.
:Command code
Parameter block
Figure 2-1 Format of MML command
Note:
Several commands are not listed.
2.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.
User Manual PPS Prepaid Service Management Open Interface Chapter 2 SMOI Program Operation
Huawei Technologies Proprietary
2-9
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:
Execute the command DISP VPN ACNT : MSISDN="13900001234" to list the VPN account.
2.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.
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.
User Manual PPS Prepaid Service Management Open Interface Chapter 2 SMOI Program Operation
Huawei Technologies Proprietary
2-10
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
Figure 2-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.
User Manual PPS Prepaid Service Management Open Interface Chapter 2 SMOI Program Operation
Huawei Technologies Proprietary
2-11
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.
4. Default value must be the one commonly configured for this parameter.
2.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
User Manual PPS Prepaid Service Management Open Interface Chapter 2 SMOI Program Operation
Huawei Technologies Proprietary
2-12
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
(-)
2.5 MML Grammar
2.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.
Letter/underline
Letter/underline
Figure
Figure 2-4 Identifier format
2.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.
User Manual PPS Prepaid Service Management Open Interface Chapter 2 SMOI Program Operation
Huawei Technologies Proprietary
2-13
D
Figure
’
Figure 2-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 2-6 Format of numerical character string
III. Character string
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".
User Manual PPS Prepaid Service Management Open Interface Chapter 2 SMOI Program Operation
Huawei Technologies Proprietary
2-14
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"
2.6 MML Feature
2.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.
2.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.
User Manual PPS Prepaid Service Management Open Interface Chapter 2 SMOI Program Operation
Huawei Technologies Proprietary
2-15
2.7 Interaction between BSS/OSS and SMP
2.7.1 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.
Establish a SOCKETconnection
Send a LOGINmessage
LOGIN success
Send a MML message
Send to IN
Return a ACKmessage to SMP
Send a MMLACK message
Release SOCKETconnection
BSS/OSS SMP IN
LOGOUT success
Send a LOGOUTmessage
Figure 2-8 Interaction between SMP and BSS/OSS
User Manual PPS Prepaid Service Management Open Interface Chapter 2 SMOI Program Operation
Huawei Technologies Proprietary
2-16
2.7.2 Information Flow
No
Yes
Concurrent operations
Wait for the end of all operations
No
Yes
Yes
No
Operation starts
Send the first MML command
Send all commands or not?
Send the next MML command
Receive MML ACK messages
Transaction ends or not?
Operation ends
Start
Establsh a SOCKET connectionbetween BSS/OSS and SMP
Success or not?
Send a login message
Whether SMP succeeds inreturning a message
TransactionID+1
Execute the operation
Whether operations are notrequired
Send a logout message
Release SOCKETconnection
End
Yes
No
No
Yes
Figure 2-9 Procedure of Interaction between BSS/OSS and SMP
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.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-1
Chapter 3 Commonly-used MML Commands Set
An MML command is sent from MD to SMP, while an MML command with prefix ‘ACK:’ is sent from SMP to MD.
3.1 Interface Description
3.1.1 Parameter description
All the parameters of character string should be put in the double quotation marks.
I. Description of the usage of "&":
This symbol has special meaning in MML command: It represents one parameter corresponds to multiple values. For example:
To create a subscriber: CREATE PPS MULTISUB:
MSISDN=135000000&&135000500 (represents all the numbers from 135000000 to 135000500) CREATEPPS MULTISUB: MSISND=135000001&138000001 (It represents the two numbers of 135000001 and 138000001)
To query the basic subscriber information:
DISP PPS ACNTINFO: MSISDN=13500000, ATTR=BALANCE & SUBSPID & SUBCOSID (It represents querying the three fields including BALANCE, SUBSPID, and SUBCOSID respectively).
No parameter is allowed to use this symbol except the description says so.
II. Description of the input parameter being an integer:
If the input parameter is larger than or equal to zero, it cannot include any symbols.
For example:
SUBCOS=2 (legal), PackageID=0 (legal), SUBCOS=+2 (illegal), PackageID=-0 (illegal), PackageID=+0 (illegal).
If the input parameter is smaller than zero, then the input format is "negative symbol plus a digit" (no symbol can be input except the negative symbol).
For example:
DMFDINCREMENT=-100 (legal), DMFDINCREMENT=10-60 (illegal), DMFDINCREMENT=-+60 (illegal)
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-2
3.1.2 Special Note
The universal returned information of parameters RETN and DESC in the ACK of MML command is as follows:
0: Succeeded
1: Illegal data packet
2: Session control word error
3: Transaction control word error
4: Syntax error or illegal command code
5: Session created
6: Access agent connecting to the system failed
7: System internal error
8: Parameter input error
9: Command code mismatched
10: Incorrect number of operations
11: Operation timeout
12: No authority to access the data
13: Operation authentication failure
14: SMP database operation failure
15: SCP execution error
16: SCP connection failure
17: SCP no response
18: Recharging system execution error
19: Recharging system connection failure
20: Recharging system no response
21: Querying SCP failed
22: Querying SDP failed
23: Mapping between MSISDN and SCP does not exist.
24: MSISDN does not in SCP.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-3
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.
90: Service area is not allocated to the MSISDN or HLR does not exist.
3.2 Common Errors
On receipt of the operator command, if the input command has grammatical errors, or the message format is illegal, an error-indicating message will be returned.
Output format:
ACK: GENERAL ERROR: RETN = , DESC=
Output parameters:
Parameter Description Value range
RETN Error code. -
DESC Description of the error. -
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-4
3.3 Service Center (SRVM)
3.3.1 Logging in
It is used for the operator to log in to the SMS system.
Input format:
LOGIN: USER= , PSWD=
Input parameters:
Parameter Description Value Range
USER ID for operator login. Represented by a character string of 1 through 8 digits.
PSWD Password for operator login. Represented by a character string of 1 through 8 digits.
3.3.2 ACK of Logging in
This prompt returns to receipt of the login command from the operator.
Output format:
ACK: LOGIN: RETN= , DESC=
Output parameters:
Parameter Description Value range
RETN Returned value of the ACK command. Decimal integer.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-5
Parameter Description Value range
DESC Description on the returned value.
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.
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.
3.3.3 Logging out
End the conversation between the operator and the SMS system.
Input format:
LOGOUT :[ USER=]
Input parameters:
Parameter Description Value range
USER
The login ID for the operator who wants to exit.
Only when the login of other operators is to be cleared, is this parameter necessary.
Represented by a character string of 1 through 9 digits.
DEFAULT The login ID of the operator in the current conversation.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-6
3.3.4 ACK of Logging out
This prompt returns on receipt of the command of logging out.
Output format:
ACK: LOGOUT: RETN= , DESC=
Output parameters:
Parameter Description Value Range
RETN Returned value of the ACK command. In decimal integer
DESC Description on the returned value.
A string of no more than 256 characters.
0: Success.
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.
3.4 PPS Services
3.4.1 Creating PPS Subscribers
Create PPS subscribers, loads them to SCP where they are activated.
Input format:
CREATE PPS MULTISUB: MSISDN=[,SERVSTOP=][,ACNTSTOP=][, MAXCHR=][,CMFLG=][,CGSRNFLG=][,LANG=][,SUBCOSID=][,MonthlyRentID=][,CREDITLIMIT=]
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-7
Input parameters:
Parameter Description Value Range
MSISDN
Specifies the MSISDN to be activated.
It supports the discrete MSISDN and the number segment.
The value range is a number string of 9 digits.
The single numbers are connected by "&", while the number segments are connected by "&&".
SERVSTOP Service Stop Date
The parameter type is date, the format is: yyyymmdd, in which:
yyyy: Year. Range: From the current year till 100 years later
mm: Month. Range: 1-12
dd: Day. Range: 1-31
DEFAULT: Specified by the service level data table.
ACNTSTOP Latest date of first use
The parameter type is date, the format is: yyyymmdd, in which:
yyyy: Year. Range: From the current year till 100 years later
mm: Month. Range: 1-12
dd: Day. Range: 1-31
DEFAULT: Specified by the service level data table.
MAXCHR Max. charge amount.
Unit: Dollar.
Decimal integer type: an integer larger than 0.
DEFAULT: Specified by the service level data table in light of diverse subscriber types.
CMFLG Call Roaming Flag
Decimal integer type. Range:
0: Not Allowed
1: Allowed
LANG Language type Decimal integer
CGSRNFLG Outgoing call restriction Flag
Decimal integer. Range:
0: No barring
2: Domestic and international toll call not available
3: International toll call not available
DEFAULT: 0
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-8
Parameter Description Value Range
SUBCOSID Subscriber service type Decimal integer. Range:
1-999
CREDITLIMIT Credit Limit Decimal integer type: an integer larger than 0.
MonthlyRentID This parameter specifies the monthly rent number of the monthly rent.
Decimal integer type
Instance:
CREATE PPS MULTISUB: MSISDN=680110000, CREDITLIMIT =10000
3.4.2 ACK of Creating PPS Subscribers
This prompt return on receipt of the command of creating PPS subscribers.
Output format:
ACK: CREATE PPS MULTISUB: RETN=, DESC= [,SUCCNUM=] [,SKIPNUM=] [,INEXISTNUM=] [,LASTMSISDN=] [,FINISHED=]
Output parameters:
Parameter Description Value range
RETN Returned value of the ACK command. Decimal integer.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-9
Parameter Description Value range
DESC Description on the returned value
A string of no more than 256 characters.
0: Success
23: The reference relationship between the mobile phone number and SCP does not exist.
1002: Service level data have not been set.
1005: Number segment is not allocated.
1006: Number of subscriber defined exceeds SMP capacity limit.
1007: Number of subscriber defined exceeds SCP capacity limit.
1009: SMP_LICENSE is unavailable.
1010: Too many input discrete number segments.
1011: Input numbers do not correspond to the same SUBCOS.
1012: Number resource does not exist.
1013: Input MonthlyPRMID does not exist
1014: PPS subscriber’s Debt Class must be 0.
1015: Input DebtClass does not exist
1016: Input PackageID does not exist
1024: Input GroupID does not exist
1025: The payment type corresponds to MonthRentID does not match subscriber payment type.
1027: Input MonthRentID does not exist
1028: The input MSISDNs are not in the same SCP.
1029: The input MSISDNs are not in the same HLR.
1030: The subscribers are not in the same bill date. Please input the specified bill date.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-10
Parameter Description Value range
DESC Description on the returned value
1032: The input CMFLG is invalid
1033: The input CGSRNFLG is invalid
1034: The input LANG is invalid
1035: Invalid parameter MonthRentID
1036: System configuration data lost
1037: Invalid parameter Creditlimit
1038: Invalid parameter PackageID
1039: Invalid parameter GroupID
1040: Invalid parameter BillDate
1041: Invalid parameter MonthlyPRMID
1042: Invalid parameter DebtClass
1043: Invalid parameter VIPFlag
1044: Invalid parameter FreeChange
1045: Invalid parameter SUBCOSID
1046: The input SUBCOSID does not exist
SUCCNUM Accumulated number of successfully-created MSISDNs.
Decimal integer type: an integer larger than 0.
SKIPNUM Accumulated number of skipped MSISDNs.
Decimal integer type: an integer larger than 0.
FINISHED Finish Flag
Decimal integer type. Range:
0: Not Finished
1: Finished
INEXISTNUM
Number of nonexistent MSISDNs
Decimal integer type: an integer larger than 0.
LASTMSISDN Last processed MSISDN The value range is a 9-digit number
string.
Instance:
ACK: CREATE PPS MULTISUB: RETN=0, DESC="Success", SUCCNUM=1, SKIPNUM=0, INEXISTNUM=0, LASTMSISDN="680110000", FINISHED=1;
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-11
3.4.3 Deleting PPS Subscriber Individually
The operation is to delete designated overdue subscriber from the SMS and SCP systems. Overdue subscribers refer to those who exceed the Disable period, account service stop date and latest date of first use.
Input format:
DEL PPS SPECSUB: MSISDN=
Input parameters:
Parameter Description Value range
MSISDN Designated MSISDN of deleted subscriber.
Represented with numeric strings
3.4.4 ACK of Deleting PPS Subscriber Individually
This prompt is returned on receipt of the command of deleting PPS subscriber individually.
Output format:
ACK:DEL PPS SPECSUB:RETN=,DESC=
Output parameters:
Parameter Description Value range
RETN Returned value of the ACK command. Decimal integer
DESC Description on the returned value.
A string of no more than 256 characters.
0: Success
1001: MSISDN status is incorrect
1002: The MSISDN does not exist
1003: Service level data doesn't exist
1004: Service level data error
1005: MSISDN is a child-card.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-12
3.4.5 Deleting PPS Subscribers in Batch
The operation is to delete overdue PPS subscribers from the SMS and SCP systems. Overdue subscribers refer to those who exceed the Disable period, account service stop date and latest date of first use.
Input format:
BATDEL PPS MSUB: [HOMEZONE=]
Input parameters:
Parameter Description Value range
HOMEZONE
Home zone number.
For operators of the home zone level or above, this parameter must be specified.
The operators of the home zone level can only cancel subscribers of their own zone. The parameter specified should be identical with the zone where the operator belongs.
Represented by a character string of 1 through 4 digits.
Instance:
BATDEL PPS MSUB: HOMEZONE=1001
3.4.6 ACK of Deleting PPS Subscribers in Batch
Output format:
ACK: BATDEL PPS MSUB: RETN=[, SUCCNUM=] , DESC= [,FINISHED=]
Output parameters:
Parameter Description Value range
RETN Returned value of the ACK command. Decimal integer.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-13
Parameter Description Value range
DESC Description on the returned value
A string of no more than 256 characters.
0: Success.
1001: There is no HLR number corresponding to province area code of the operator.
1004: No number to be deleted.
1005: Number of subscribers to be deleted exceeds the limit.
1007: MSISDNTOSCP list is null.
1008: The number of subscriber to be deleted can not be found in the corresponding SCP.
1010: Operator has the area zone attribute, and parameter homezone cannot be input.
1011: Input homezone does not exist.
SUCCNUM Accumulated number of successfully-created MSISDNs
Decimal integer type: an integer larger than 0.
FINISHED Finish Flag
Decimal integer type. Range:
0: Not Finished
1: Finished
Instance:
ACK: BATDEL PPS MSUB: RETN=0, DESC="Success", SUCCNUM=10, FINISHED=1;
3.4.7 Modify PPS Subscriber CallingFlag
Modify the calling privilege of the subscriber according to entered MSISDN and TYPE parameters.
Input format:
MODI PPS CallingFlag: MSISDN=, TYPE=
Input parameters:
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-14
Parameter Description Value range
MSISDN MSISND parameter need to be modified handset number, must is single Account.
The length is changeless. At the same time the modified account must is active status.
[Example]
100000009
TYPE TYPE parameter handset number’s target calling limit type.
The value must not equal to the source type.
[Example]
1
Instance:
MODI PPS CALLINGFLAG: MSISDN=700000001, TYPE=1;
3.4.8 ACK of Modify PPS Subscriber Calling Flag
Return this message on receipt of the command of modifying subscriber calling limit Type.
Output format:
ACK:MODI PPS CallingScreenFlag: RETN= , DESC=
Output parameters:
Parameter Description Value range
RETN Returned value of the ACK command. In decimal integer.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-15
Parameter Description Value range
DESC Description on the returned value.
A string of no more than 256 characters.
0: Modifying CallingFlag succeeded.
23: SDU corresponds to the subscriber number does not exist.
1001: Input CallingScreenFlag does not exist.
1002: Subscriber does not exist.
1003: Subscriber state error.
1004: The original calling limit type is same as the target type.
1005: Subscriber data does not exist.
1006: The Child card subscriber cannot conduct this operation.
1007: Service data does not exist.
Instance:
ACK:MODI PPS CALLINGFLAG: RETN=0, DESC="Modifying calling flag succeeded";
3.4.9 Modifying Subscriber Roaming Flag
Modify the Roaming flag of PPS subscribers according to the subscriber MSISDN and TYPE parameters.
Input format:
MODI PPS ROAMINGFLAG: MSISDN=, TYPE=
Input parameters:
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-16
Parameter Description Value range
MSISDN MSISDN whose roaming flag need to be modified as specified by this parameter.
Represented with numeric strings.
[Example]
100000009
TYPE The new roaming flag of MSISDN.
[Example]
1
Instance:
MODI PPS ROAMINGFLAG: MSISDN=100000009, TYPE=1
3.4.10 ACK of Modifying Subscriber Roaming Flag
Return this message on receipt of the command of modifying subscriber roaming flag.
Output format:
ACK: MODI PPS ROAMINGFLAG: RETN= , DESC=
Output parameters:
Parameter Description Value range
RETN Returned value of the ACK command. In decimal integer.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-17
Parameter Description Value range
DESC Description on the returned value.
A string of no more than 256 characters.
0: Success
23: SDU corresponds to the subscriber number does not exist
1001: Input Roaming flag is invalid
1002: MSISDN does not exist
1003: Subscriber state error
1004: The new Roaming flag is same as the old one.
1005: Service-level data lost
1006: The Child card subscriber cannot conduct this operation
1007: Service level data error
Instance:
ACK: MODI PPS ROAMINGFLAG: RETN=0, DESC=”Success”;
3.4.11 Querying PPS Subscribers Meeting the Deletion Conditions
Query the overdue PPS subscribers meeting the deletion conditions. Overdue subscribers refer to those who exceed the term of validity, account expiry date and latest date of first use.
Input format:
DISP PPS EXPDACNT:[HOMEZONE=]
Input parameters:
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-18
Parameter Description Value range
HOMEZONE
Home zone number.
For operators of the home zone level or above, this parameter must be specified.
The operators of the home zone level can only cancel subscribers of their own zone. The parameter specified should be identical with the zone where the operator belongs.
Represented by a character string of 1 through 4 digits
Instance:
DISP PPS EXPDACNT:HOMEZONE=1
3.4.12 ACK of Querying PPS Subscribers Meeting the Deletion Conditions
This prompt returns on receipt of the command of querying PPS subscribers meeting the deletion conditions.
Output format:
ACK: DISP PPS EXPDACNT: RETN= [, DESC=] [, TOTALNUM=] [, MSISDN=] [,FINISHED=]
Output parameters:
Parameter Description Value range
RETN Returned value of the ACK command. Decimal integer.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-19
Parameter Description Value range
DESC Description of error causes
Represented by a character string of 1 through 256 digits.
0: Success
1001: There is no number for subscription deletion.
1002: There is no HLR number corresponding to province area code of the operator.
1003: Input homezone does not exist
1004: Operator has the area zone attribute, and parameter homezone cannot be input
1007: Subscription deletion number can not find corresponding SCP
TOTALNUM Total number of PPS subscribers that meet the deletion conditions
Decimal integer type
MSISDN
The list of PPS subscriber numbers that meet the deletion conditions, each separated by "&" from the other.
The value range is a 3-digit number string.
FINISHED Finish Flag
Decimal integer type. Range:
0: Not Finished
1: Finished
Instance:
ACK: DISP PPS EXPDACNT: RETN=0,DESC="Success",TOTALNUM=2 , MSISDN="980&981",FINISHED=1;
3.4.13 Querying PPS Subscriber Basic Information
Query PPS subscriber basic service data on the SMS system. The PPS subscriber basic information includes MSISDN, account state, account balance, credit amount, max. balance, score for volume discount, end date of volume discount, MSISDN type, blacklist, language type, end date of active state, end date of suspend state, end date of disable state, end date of service, calling authority, roaming authority, subscriber class, service class, home AreaZone, score for bonus promotion, end date of bonus promotion, promotion talk duration, accumulated recharge amount, recharge failure
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-20
times before blacklist, call fee preference, number of SM in accumulation period and expired date of SM accumulation period.
The return of attributes set can be specified in the command parameters.
Input format:
DISP PPS ACNTINFO: MSISDN=[,ATTR=]
Input parameters:
Parameter Description Value range
MSISDN MSISDN to be queried as specified by this parameter. Represent with numeric strings.
ATTR The subscriber basic service attributes to be queried as specified by this parameter.
The subscriber service attribute is a set of the following identifiers:
One of the following identifiers can be specified or multiple identifiers can be specified with "&" to query multiple attributes.
Instance:
DISP PPS ACNTINFO: MSISDN=680110009, ATTR=CALLSCREENFLAG&INTERROAMFLAG
3.4.14 ACK of Querying PPS Subscriber Basic Information
This prompt returns on receipt of the command of querying PPS subscriber basic information.
Output format:
ACK: DISP PPS ACNTINFO: RETN= , DESC=[, ATTR= , RESULT=]
Output parameters:
Parameter Description Value range
RETN Returned value of the ACK command. Decimal integer.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-21
Parameter Description Value range
DESC Description on the returned value
A string of no more than 256 characters.
0: Success
1001:MSISDN does not exist
1002:MSISDN is a child-card, it's mother-card is
1003:Service level data doesn't exist
1004:System data lost
1005:Service level data error
ATTR The subscriber basic service attributes to be queried as specified by this parameter.
The subscriber service attribute is a set of the following identifiers:
One of the following identifiers can be specified or multiple identifiers can be specified with "&" to query multiple attributes.
RESULT The data query result. Each attribute is separated by '|'.
Instance:
ACK: DISP PPS ACNTINFO: RETN=0, DESC="User service information query succeeds", ATTR=MSISDN & CALLSCREENFLAG & INTERROAMFLAG, RESULT="680110009|0|0|";
3.4.15 Releasing Subscriber from Blacklist
Release the blacklist status of PPS subscribers.
Input format:
RELEASE PPS BLACKLST: MSISDN=
Input parameters:
Parameter Description Value range
MSISDN This parameter specifies the MSISDN that needs to be released from the blacklist.
Represented with numeric strings.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-22
Instance:
RELEASE PPS BLACKLST: MSISDN=680110001
3.4.16 ACK of Releasing Subscriber from Blacklist
This prompt returns on receipt of the command of releasing subscriber from blacklist.
Output format:
ACK: RELEASE PPS BLACKLST: RETN= , DESC=
Output parameters:
Parameter Description Value range
RETN Returned value of the ACK command. Decimal integer.
DESC Description on the returned value
A string of no more than 256 characters.
0: Releasing blacklist succeeded.
1002: Mobile subscriber is not blacklisted.
1005: Subscriber does not exist
1015: The current system date is not within the period of service start date and service stop date
1016: MSISDN account isn't opened.
1017: Service level data error
1018: The Child card subscriber cannot conduct this operation
Instance:
ACK: RELEASE PPS BLACKLST: RETN=0, DESC="Releasing blacklist succeeded";
3.4.17 Change Subscriber Type
The manual recharge is to change user type.
Input format:
MODI PPS SUBCOS: MSISDN=, SUBCOS=
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-23
Input parameters:
Parameter Description Value range
MSISDN Only single MSISDN is allowed.
Mandatory, digit character string with fixed length.
SUBCOS Service type. Mandatory, non-negative integer (SUBCOSID).
Instance:
MODI PPS SUBCOS: MSISDN=333000001, SUBCOS=2;
3.4.18 ACK of Change Subscriber Type
This prompt returns on receipt of the command of changing user type.
Output format:
ACK: MODI PPS SUBCOS: RETN= , DESC=
Output parameters:
Parameter Description Value range
RETN Returned value of the ACK command. Decimal integer.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-24
Parameter Description Value range
DESC Description on the returned value, a string of no more than 256 characters.
0: Success.
1001: User's state is incorrect.
1002: User does not exist.
1003: The input SUBCOSID is the same with the original SUBCOSID.
1004: Original subcosid and the input subcosid do not exist.
1005: Original subcosid does not exist.
1006: Input subcosid does not exist.
1007: MSISDN is child card.
1008: Pps_changecosrate table is not configured.
1009: Balance is not enough.
1010: The 'functionlist' in the table 'Smap_config' is false.
1011: The postpaid subscriber does not supply this function.
1012: Subscriber's balance is not enough and the mother-card does not exist.
1013: Subscriber's balance is not enough and the mother-card's state is invalid.
DESC Description on the returned value, a string of no more than 256 characters.
1014: Subscriber's balance is not enough and the mother-card's balance is not enough too.
1015: Subscriber's balance is not enough and the mother-card's data on service level doesn't exist.
Instance:
ACK: MODI PPS SUBCOS: RETN=0, DESC="Success";
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-25
3.4.19 Modifying Subscriber Balance
Modify the balance of PPS subscribers according to the subscriber MSISDN. The balance of subscribers in pool status is not allowed to be modified. Balance modification does not involve status modification.
Input format:
MODI PPS BALANCE: MSISDN=,INCRMENT=
Input parameters:
Parameter Description Value range
MSISDN
MSISDN whose balance needs to be modified as specified by this parameter.
Represented with numeric strings.
INCRMENT Increment to be modified.Represented with decimal integers, which can be either positive numbers or negative numbers.
Instance:
MODI PPS BALANCE: MSISDN=680110000, INCRMENT=1
3.4.20 ACK of Modifying Subscriber Balance
Return this message on receipt of the command of modifying subscriber balance.
Output format:
ACK: MODI PPS BALANCE:RETN=,DESC=[, ORGBALANCE=, LASTBALANCE=]
Output parameters:
Parameter Description Value range
RETN Returned value of the ACK command. Decimal integer.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-26
Parameter Description Value range
DESC Description on the returned value
A string of no more than 256 characters.
0: Success
1001: MSISDN is in pool status, the balance can not be modified.
1002: MSISDN does not exist.
1003: MSISDN account isn't opened
1004: Service level data doesn't exist
1005: Exceed maximum recharge sum
1007: Service level data error
1008: MSISDN is a child-card, the balance can not be modified
1009 The current system date is not within the period of service start date and the service stop date
ORGBALANCE Original balance Decimal integer type
LASTBALANCE Last balance Decimal integer type
Instance:
ACK:MODI PPS BALANCE: RETN=0, DESC="Subscriber balance modification succeeds", ORGBALANCE=1, LASTBALANCE=2;
3.4.21 Modifying Subscriber Validity Period
Modify the validity stop date (Active Stop) of PPS subscribers. The validity period of the subscribers in an IDLE status is not allowed to be modified.
Input format:
MODI PPS VALIDITY: MSISDN=,INCRMENT=[, FLAG=]
Input parameters:
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-27
Parameter Description Value range
MSISDN
MSISDN whose validity period needs to be modified as specified by this parameter.
Represented with numeric strings.
INCRMENT Increment to be modified. Represented with decimal integers, which can be either positive numbers or negative numbers.
FLAG Base on 0 or 1 the validity be modified can be 0 or 1
Base on 0 or 1 the validity be modified can be 0 or 1
Instance:
MODI PPS VALIDITY: MSISDN=680110001,INCRMENT=1, FLAG=1;
3.4.22 ACK of Modifying Subscriber Validity Period
Return this message on receipt of the command of modifying subscriber validity period.
Output format:
ACK:MODI PPS VALIDITY:RETN=,DESC=
Output parameters:
Parameter Description Value range
RETN Returned value of the ACK command. Decimal integer.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-28
Parameter Description Value range
DESC Description on the returned value
A string of no more than 256 characters.
0:Success
1001: MSISDN is in idle status, the validity can not be modified.
1002: MSISDN does not exist.
1003: MSISDN account isn't opened.
1004 The current system date is not within the period of service start date and service stop date.
1005: The modified validity period exceeds the max. Validity period of continuous recharging.
1006:Service level data error
1007: MSISDN is a child-card; the validity can not be modified.
1008: Service level data doesn't exist.
1009: Modification will lead the multilevel jump of subscriber state.
1010: MSISDN balance is less than 0, so target state after modification can't be active.
Instance:
ACK: MODI PPS VALIDITY: RETN=0, DESC="Success";
3.4.23 Modifying MSISDN
Modify subscriber MSISDN.
Input format:
MODI PPS MSISDN: OLDMSISDN=,NEWMSISDN=
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-29
Input parameters:
Parameter Description Value range
OLDMSISDN This parameter specifies the MSISDN to be modified,
Represented with numeric strings.
NEWMSISDN This parameter specifies the last MSISDN.
Represented with numeric strings.
Instance:
Instance:
MODI PPS MSISDN: OLDMSISDN=680110001, NEWMSISDN=680110009;
3.4.24 ACK of Modifying MSISDN
Return this message on receipt of the command of modifying MSISDN.
Output format:
ACK: MODI PPS MSISDN: RETN=,DESC=
Output parameters:
Parameter Description Value range
RETN Returned value of the ACK command. Decimal integer.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-30
Parameter Description Value range
DESC Description on the returned value, a string of no more than 256 characters.
0:Success
1002: Old or new number does not exist.
1003: New MSISDN resource is unavailable.
1004: The area zone for the new number is different from that of the old number.
1006: New number or old number state error.
1007: Service type for the new number is different from that of the old.
1008: SDU for the new number is different from that of the old number.
1021: The area zone that corresponds to the new number or old number does not exist
1022: SDU that corresponds to the new number or old number does not exist
1023: System data error
1024: Service-level data does not exist
1025: System data configuration error
1026: Cannot change Parent-Child card
Instance:
ACK: MODI PPS MSISDN: RETN=0, DESC="Success";
3.4.25 Modifying Subscriber Balance by Triggering Service
By trigger service, Modify the balance of PPS subscribers according to the subscriber MSISDN. The balance of subscribers in Idle or Pool status is not allowed to be modified. Balance modification does not involve status modification.
Input format:
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-31
CHANGE PPS BALANCE: MSISDN=,INCRMENT=
Input parameters:
Parameter Description Value range
MSISDN MSISDN whose balance needs to be modified as specified by this parameter.
Represented with numeric strings
INCRMENT Increment to be modified.
Represented with decimal integers, which can be either positive numbers or negative numbers.
Instance:
CHANGE PPS BALANCE: MSISDN=680110000, INCRMENT=1
3.4.26 ACK of Modifying Subscriber Balance by Triggering Service
Return this message on receipt of the command of modifying subscriber balance.
Output format:
ACK: CHANGE PPS BALANCE:RETN=,DESC=[, ORGBALANCE=, LASTBALANCE=]
Output parameters:
Parameter Description Value range
RETN Returned value of the ACK command. In decimal integer
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-32
Parameter Description Value range
DESC Description on the returned value.
A string of no more than 256 characters.
0: Modifying balance succeeded.
1002: Subscriber’s basic information error.
1003: Subscribers not in ACTIVE mode, balance can't be modified.
1004: Balance is not enough.
1006: Subscriber does not exist.
1008: Exceed maximum recharge sum.
1011: service level data is missing.
1013: MSISDN information modification failed.
1021: The current system date is not within the period of service start date and service stop date
1022: Subscriber account isn’t opened.
1023: Subscriber is in IDLE/POOL mode.
1024: Service level data doesn’t exist.
1025: Service level data is false.
1026: MSISDN is a child-card
ORGBALANCE The balance before modification. Decimal integer type.
LASTBALANCE The balance after modification. Decimal integer type.
Instance
ACK:CHANGE PPS BALANCE: RETN=0, DESC="Subscriber balance modification succeeds", ORGBALANCE=1, LASTBALANCE=2;
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-33
3.5 GPRS MML Command Set
3.5.1 Creating a Batch of GPRS Service Subscribers
Creates GPRS service subscriber, loads them to SCP where they are activated.
Input format:
CREATE PPS GPRSMSUB: MSISDN=,TYPE=
Input parameters:
Parameter Description Value range
MSISDN The subscribers’ numbers specified to be activated.
Uses numeric strings and designates multiple numbers or number ranges with "&" and "&&".
A single MSISDN is a numeric string.
TYPE The type of the GPRS subscriber.
1:GPRS-MMS
2:GPRS-PPS
Instance:
CREATE PPS GPRSMSUB: MSISDN=680110000&&680110009, TYPE=2;
3.5.2 ACK of Creating a Batch of GPRS Service Subscribers
This prompt is returned on receipt of the command of creating a batch of GPRS service subscriber.
Output format:
ACK: CREATE PPS GPRSMSUB: RETN=, DESC=[, SUCCNUM=, SKIPNUM=, INEXISTNUM=, LASTMSISDN=, FINISHED=]
Output parameters:
Parameter Description Value range
RETN Returned value of the ACK command. Decimal integer
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-34
Parameter Description Value range
DESC
Description on the returned value, a string of no more than 256 characters.
0: Success
1001: MSISDN are not allocated in SDUs
1002: MSISDN are not in one SDU
1003: MSISDN are not allocated in HLRs
1004: MSISDN are not in one HLR
1005:No MSISDN will be activated
1006:The subcosid or subspid of the input numbers are not unique
1007: System data lost
1008: License data is missing
1009: License lines too many
1010: Decoding License failed
1011: License is not enough
1012: Encrypting License failed
1013: Too many input number segments
SUCCESSNUM The amount of MSISDN created successfully Decimal long integer type
SKIPNUM
The amount of MSISDN skipped.
This number indicates how many MSISDNs have already been activated before this operation.
Decimal long integer type
INEXISTNUM Nonexistent MSISDN amount Decimal long integer type
FINISHED Finished flag
0: Unfinished 1: Finished
LASTMSISDN Last successfully handled MSISDN. Represented by a numeric string.
Instance:
ACK: CREATE PPS GPRSMSUB: RETN=0, DESC="Success", SUCCNUM=100, SKIPNUM=0, INEXISTNUM=0, LASTMSISDN=680110009, FINISHED=1
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-35
3.5.3 Deactivating GPRS Service Subscribers
Deactivate GPRS service subscriber.
Input format:
DELE PPS GPRSMSUB: MSISDN=,TYPE=
Input parameters:
Parameter Description Value Range
MSISDN The subscriber’s number specified to be deactivated, represented by numeric string.
Only single MSISDN is allowed.
TYPE 1:GPRS-MMS 2:GPRS-PPS
Instance:
DELE PPS GPRSMSUB: MSISDN=680110001&&680110009, TYPE=2;
3.5.4 ACK of Deactivating GPRS Service Subscribers
This prompt is returned on receipt of the command of deactivating GPRS service subscriber.
Output format:
ACK: DELE PPS GPRSMSUB: RETN=, DESC=[, SUCCNUM=, SKIPNUM=, INEXISTNUM=, LASTMSISDN=, FINISHED=]
Output parameters:
Parameter Description Value range
RETN Returned value of the ACK command. Decimal integer
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-36
Parameter Description Value range
DESC Description on the returned value allocated in HLRs
A string of no more than 256 characters.
0: Success
1001: MSISDN are not allocated in SDUs
1002: MSISDN are not in one SDU
1003: MSISDN are not
1004: MSISDN are not in one HLR
1005:No MSISDN will be deactivated
1006:The subcosid or subspid of the input numbers are not unique
1007: System data lost
1008: License data is missing
1009: License lines too many
1010: Decoding License failed
1011: Encrypting License failed
1012: Too many input number segments
SUCCESSNUM The amount of MSISDN deactivated successfully Decimal long integer type
SKIPNUM Skipped MSISDN amount
Decimal long integer type
This number indicates how many MSISDNs have already been deactivated before this operation.
INEXISTNUM Nonexistent MSISDN amount Decimal long integer type
FINISHED Finished flag. 0: Unfinished
1: Finished
LASTMSISDN Last successfully handled MSISDN
Represented by a numeric string.
Instance:
ACK: DEL PPS GPRSMSUB: RETN=0, DESC="Success", SUCCNUM=100, SKIPNUM=0, INEXISTNUM=0, LASTMSISDN=680110009, FINISHED=1
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-37
3.6 Recharge Card Management (RCMS)
3.6.1 Manual Recharge by SCP
The manual recharge is to recharge the amount of the recharge card via the SMP-MD interface to a handset account.
Input format:
CHGTRIG CHRG ACNT: MSISDN=, CHRGTYPE=[, VALUE=, BATCHNO=, SERIALNO=][, CARDPIN=]
Input parameters:
Parameter Description Value range
MSISDN This parameter specifies the handset numbers to be charged.
Represented with numeric strings.
This parameter should not be a complex parameter.
VALUE This parameter specifies the account to be added to subscriber’s balance.
Represented with numeric strings from 1 to 2147483647, including 1 and 2147483647.
This parameter should not be a complex parameter.
BATCHNO This parameter specifies the batch number of charge cards.
Represented with 10-digit or alphabetic strings.
This parameter should not be a complex parameter.
SERIALNO This parameter specifies the serial number of charge card.
Represented with 10-digit numeric strings.
This parameter should not be a complex parameter.
CARDPIN This parameter specifies the passwords of the charge cards to be charged.
It represented with numeric string.
This parameter should not be a complex parameter.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-38
Parameter Description Value range
CHRGTYPE This parameter specifies the type of the charge.
Represented with 1-digit numeric string.
3: PPS subscriber manual recharge
4: ATM recharge
5: STK recharge
6: Tele-banking recharge
7: Spare
8: Online promotion
ChrgType 1 is reserved for mobile phone recharge and it cannot be used within SMOI program.
This parameter should not be a complex parameter.
Note:
If CHRGTYPE=3, then the three parameters VALUE, BATCHNO, SERIALNO can’t be input, otherwise these three parameters must be input. If CHRGTYPE=3, then the parameter CARDPIN must be input, otherwise this parameter is an optional one.
Instance:
CHGTRIG CHRG ACNT: MSISDN=680000001, CHRGTYPE=5, VALUE=10, BATCHNO=12346, SERIALNO=3324, CARDPIN=88812345678888;
3.6.2 ACK of Manual Recharge by SCP
This prompt returns on receipt of the manual recharge command.
Output format:
ACK: CHGTRIG CHRG ACNT: RETN=, DESC=[, ATTR=,RESULT=]
Output parameters:
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-39
Parameter Description Value range
RETN Returned value of the ACK command. In decimal integer.
DESC Description on the returned value.
A string of no more than 256 characters.
0: Success
1001:Encryption file is not found
1002: Encryption failure
1003: Charge card has expired
1004: Charge card does not exist or is invalid
1005: Charge card information is not found
1006: MSISDN does not exist
1007: MSISDN has been in pool status
1008: Exceed maximum recharge sum
1009: MSISDN first used or invalid
1010: MSISDN is not activated
1011: There is no user service information
1012: Exceed maximum valid period of continuous recharging
1013: MSISDN information modification failed
1014: Modify the charge card information failed
1015: Manual recharging succeeds, and the information fails after subscriber recharging query
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-40
Parameter Description Value range
DESC Description on the returned value.
1016: MSISDN has been in blacklist
1017: Mobile phone password not correct
1018: MSISDN's type is wrong
1019: Balance of recharging card is abnormal
1020: SIM card is lost
1025: MSISDN service is stopped
1100: SCP agent sends back an undefined error code.
ATTR List of queried information attribute names.
Each separated from the other with “&”.
The valid field name is BALANCE, CSVSTOP, VALUE, VALUEADD, VALIDITY and VALIDITYADD.
BALANCE: Subscriber’s balance after charge.
CSVSTOP: Term of validity after charge
VALUE: Value of recharge card if CHRGTYPE is 3. Otherwise it means the account specified to be added.
VALUEADD: The promotion value added to the subscriber’s balance
VALIDITY: The validity period of recharge card if CHRGTYPE is 3; otherwise, it is the validity accumulated.
VALIDITYADD: The promotion number of days added to the subscriber’s validity
This parameter exists only when RETN is a success. When RETN is other values, the parameter does not exist.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-41
Parameter Description Value range
RESULT Data query result.
Each attribute value is separated from the other with "|".
This parameter exists only when RETN is a success.
When RETN is other values, the parameter does not exist.
Instance:
ACK: CHGTRIG CHRG ACNT: RETN=0, DESC=”Success”, ATTR=”BALANCE& ACTIVESTOP&VALUE&VALUEADD&VALIDITY&VALIDITYADD”,RESULT=”55|20041201|10|10|20| 20|”;
3.6.3 Querying Recharge Card Status
Query recharge card status.
Input format:
QUERY CHRG CARDSTAT: SEQUENCE=[,ATTR=]
Input parameters:
Parameter Description Value range
SEQUENCE SNs. Made up of 11-digit character strings
ATTR
The database list area fields (or a default value) to be returned
Each list area is separated from the other with “&”.
DEFAULT: All database fields. The field name is AccountNumber, Sequence, BatchNo, RunningNo, SerialNo, Object, CreateDate, ExpireDate, FaceValue, CurrencyType, ValidityPeriod, HotCardFlag, TradeTime, MSISDN, AccountPinNumber, TradeType, Distributor, CardSpId, CardCosId, ShippedDate.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-42
Instance:
QUERY CHRG CARDSTAT: SEQUENCE=12345665432, ATTR=”MSISDN& Sequence&TradeTime&TradeType&BatchNo&SerialNo&FaceValue&ValidityPeriod&CardSpId&CardCosId”
3.6.4 ACK of Querying Recharge Card Status
Output format:
ACK: QUERY CHRG CARDSTAT: RETN=,DESC=[,ROWNUM=, ATTR=, RESULT=]
Output parameters:
Parameter Description Value range
RETN Returned value of the ACK command in decimal integer.
DESC Description on the returned value
A string of no more than 256 characters.
0: Query success
1002: Charge card does not exist
1003: Recharge card hasn’t corresponding SDP
ATTR List of the query result of attribute names
Each attribute name is separated from the other with “&”.
Only when RETN is a success does this parameter exist.
When RETN is other values, this parameter does not exist.
RESULT Data query result
Each record is separated from the other with “&” and each attribute value in the record is separated from the other with “|”.
Only when RETN is a success does this parameter exist.
When RETN is other values, this parameter does not exist.
ROWNUM Number of records returned in one time
Short integer type
Only when RETN is a success does this parameter exist.
When RETN is other values, this parameter does not exist.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-43
Instance:
ACK: QUERY CHRG CARDSTAT: RETN=0, DESC=”Query success”, ATTR=”MSISDN&Sequence&TradeTime&TradeType&BatchNo&SerialNo&FaceValue&ValidityPeriod&CardSpId&CardCosId”,RESULT="870001234|11|20041110|0|15|20|10| 20051010|0|1|";
3.6.5 Locking Recharge Card
To lock the same batch of specified recharge card.
Input format:
LOCK RCMS CARD: BATCHNO=, STARTNO=, ENDNO=
Input parameters:
Parameter Description Value range
BATCHNO
This parameter specifies the batch number to be locked.
This parameter should not be a complex parameter.
Represented with 6-digit or alphabetic strings.
STARTNO
This parameter specifies the start serial number of recharge card.
This parameter should not be a complex parameter.
Represented with 5-digit numeric strings.
ENDNO
This parameter specifies the end serial number of recharge card.
This parameter should not be a complex parameter.
Represented with 5-digit numeric strings.
Instance:
LOCK RCMS CARD: BATCHNO=123456, STARTNO=00001, ENDNO=00200
3.6.6 ACK of Locking Recharge Card
This prompt is returned on receipt of the command of locking recharge card.
Output format:
ACK: LOCK RCMS CARD: RETN=, DESC=
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-44
Output parameters:
Parameter Description Value range
RETN Returned value of the ACK command. Decimal integer.
DESC Description on the returned value.
A string of no more than 256 characters.
0: Recharge card lock success
1001: This batch of recharge cards does not exist.
1002: This batch of recharge cards has not been loaded into SCP.
1003: This batch of recharge cards has not been activated.
1004: Recharge card already locked.
Instance:
ACK: LOCK RCMS CARD: RETN=0, DESC="Success", CURRENTNO=00200, FINISHED=1;
3.6.7 Unlocking Recharge Card
To unlock the same batch of specified recharge card.
Input format:
UNLOCK RCMS CARD: BATCHNO=, STARTNO=, ENDNO=
Input parameters:
Parameter Description Value range
BATCHNO
This parameter specifies the batch number to be locked.
This parameter should not be a complex parameter.
Represented with 6-digit or alphabetic strings.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-45
Parameter Description Value range
STARTNO
This parameter specifies the start serial number of recharge card.
This parameter should not be a complex parameter.
Represented with 5-digit numeric strings
ENDNO
This parameter specifies the end serial number of recharge card.
This parameter should not be a complex parameter.
Represented with 5-digit numeric strings
Instance:
UNLOCK RCMS CARD:BATCHNO=123456,STARTNO=00001,ENDNO=00200
3.6.8 ACK of Unlocking Recharge Card
This prompt is returned on receipt of the command of unlocking recharge card.
Output format:
ACK: UNLOCK RCMS CARD: RETN=, DESC=
Output parameters:
Parameter Description Value range
RETN Returned value of the ACK command. Decimal integer.
DESC Description on the returned value
A string of no more than 256 characters.
0: Recharge card lock success
1001: Recharge card has not been locked.
1002: This batch of recharge cards has not been loaded into SCP.
1003: This batch of recharge cards has not been activated.
1004: Batch number does not exist.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-46
Instance:
ACK: UNLOCK RCMS CARD: RETN=0, DESC="Success", CURRENTNO=00200, FINISHED=1;
3.6.9 Verifying Recharge Card
It is to verify whether the recharge card password is correct.
Input format:
VERIFY RCMS CARD: PINNUMBER=
Input parameters:
Parameter Description Value range
PINNUMBER Recharge card PIN.
A numeric string within the range of [12, 16].
[Example]
1234567890123456
Instance:
VERIFY RCMS CARD: PINNUMBER=1234567890123456
3.6.10 ACK of Verifying Recharge Card
Return this command on receipt of the command of verifying recharge card.
Output format:
ACK: VERIFY RCMS : RETN= ,DESC= [,SERIALNO=],[USEDTIME=],[FACEVALUE=],[EXPIREDATE=],[CARDSTATUS=],[MSISDN=]
Output parameters:
Parameter Description Value range
RETN Returned value of the ACK command. Decimal integer.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-47
Parameter Description Value range
DESC Description on the returned value.
A string of no more than 256 characters.
0: Success
1001: The recharge card does not exist.
1002: Encryption failed.
1003: Failed to verify PIN.
SERIALNO The batch serial No.. The batch number+ serial number of this batch.
USEDTIME Recharge time. The format is YYYYMMDD.
FACEVALUE
Face value of recharge card. Integer.
EXPIREDATE
Expired date of recharge card. The format is YYYYMMDD.
CARDSTATUS
The state flags of recharge card.
0-Idle (Created)
1-Active (Activated)
2-Used
3-Disqualified (Locked)
MSISDN The recharged PPS MSISDN.
A numerical string with fixed length.
[Example]
680000002
Instance:
ACK: VERIFY RCMS CARD: RETN=0, DESC=”Success”;
3.7 FNS MML Command Set
3.7.1 Creating a Batch of FN Service Subscribers
Creates FN service subscriber, loads them to SCP where they are activated.
Input format:
CREATE PPS FNSUB: MSISDN=
Input parameters:
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-48
Parameter Description Value range
MSISDN The subscribers’ numbers specified to be activated.
Uses numeric strings and designates multiple numbers or number ranges with "&" and "&&".
A single MSISDN is a numeric string.
Instance:
CREATE PPS FNSUB: MSISDN=680080001
3.7.2 ACK of Creating a Batch of FN Service Subscribers
This prompt is returned on receipt of the command of creating a batch of FN service subscriber.
Output format:
ACK: CREATE PPS FNSUB: RETN=, TOTALNUM=, SN=, SUCCESSNUM=, SKIPNUM=, INEXISTNUM=, FAILNUM=,FAILMSISDN= [,DESC=][,FINISHED=][,LASTMSISDN=]
Output parameters:
Parameter Description Value range
RETN Returned value of the ACK command. Decimal integer.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-49
Parameter Description Value range
DESC Description on the returned value.
A string of no more than 256 characters.
0: Success
1002: MSISDN are not in one HLR
1003: MSISDN are not in one SDU
1005: No MSISDN will be activated
1006: The homezone, subcosid or subspid of the input numbers are not unique
1007: The homezone of the input numbers doesn't provide FN service
1008: Service data doesn't exist
1009: MSISDN are not allocated in HLRs
1010: License data is missing
1011: License lines too many
1012: Decoding License failed
1013: MSISDN are not allocated in SDUs
1014: Encrypting License failed
1015: Too many input number segments
1016: Service data error
1017: License is not enough
TOTALNUM Total MSISDN amount Decimal long integer type
SN Start serial No. of current batch Decimal long integer type
SUCCESSNUM The amount of MSISDN created successfully Decimal long integer type
SKIPNUM
The amount of MSISDN skipped
This number indicates how many MSISDNs have already been activated before this operation.
Decimal long integer type
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-50
Parameter Description Value range
INEXISTNUM Nonexistent MSISDN amount Decimal long integer type
FAILNUM The amount of MSISDNs that fails during the creating process Decimal integer type
FAILMSISDN The list of MSISDN which failure of creating in current batch.
Separated with each other by "&".
FINISHED Finished flag 0: Unfinished
1: Finished
LASTMSISDN Last successfully handled MSISDN.
Represented by a numeric string.
Instance:
ACK: CREATE PPS FNSUB: RETN=0, DESC="Success", TOTALNUM=2, SN=0, SUCCESSNUM=1, SKIPNUM=0, INEXISTNUM=0, FAILNUM=1, FINISHED=1, FAILMSISDN=680000412, LASTMSISDN=680000413;
3.7.3 Deactivating FN Service Subscribers
Deactivate FN service subscriber.
Input format:
DELE PPS FNSUB: MSISDN=
Input parameters:
Parameter Description Value range
MSISDN The subscriber’s number specified to be deactivated.
Represented with numeric string.
Only single MSISDN is allowed.
Instance:
DELE PPS FNSUB: MSISDN=680000041
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-51
3.7.4 ACK of Deactivating FN Service Subscribers
This prompt is returned on receipt of the command of deactivating FN service subscriber.
Output format:
ACK: DELE PPS FNSUB: RETN=, TOTAL=, SN= , SUCCESSNUM=,SKIPNUM=, INEXISTNUM, FAILNUM=, FAILMSISDN= [,DESC=][,FINISHED=][,LASTMSISDN=]
Output parameters:
Parameter Description Value range
RETN Returned value of the ACK command. Decimal integer.
DESC Description on the returned value.
A string of no more than 256 characters.
0: Success
1005: No MSISDN will be deactivated
1006: The homezone, subcosid or subspid of the input numbers are not unique
1007: The homezone of the input numbers doesn't provide FN service
1008: Service data doesn't exist
1009: MSISDN are not in one HLR
1010: MSISDN are not allocated in HLRs
1011: License lines too many
1012: Decoding License failed
1013: MSISDN are not allocated in SDUs
1014: MSISDN are not in one SDU
1015: Service data error
1016: License data is missing
1017: Encrypting License failed
1018: Too many input number segments
TOTAL Total MSISDN amount Decimal long integer type
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-52
Parameter Description Value range
SN Start serial No. of current batch Decimal long integer type
SUCCESSNUM
The amount of MSISDN deactivated successfully Decimal long integer type
SKIPNUM
Skipped MSISDN amount
This number indicates how many MSISDNs have already been deactivated before this operation.
Decimal long integer type
INEXISTNUM Nonexistent MSISDN amount Decimal long integer type
FAILNUM The amount of MSISDNs that fails during the deactivating process.
Decimal integer type
FAILMSISDN The list of MSISDNs that fails during the deactivating process.
Separated with each other by "&".
FINISHED Finished flag 0: Unfinished
1: Finished
LASTMSISDN Last successfully handled MSISDN. Represented by a numeric string.
Instance:
ACK: DELE PPS FNSUB: RETN=0, DESC="Success", TOTAL=2, SN=0, SUCCESSNUM=1, SKIPNUM=0, INEXISTNUM=0, FAILNUM=1, FINISHED=1, FAILMSISDN=680000412, LASTMSISDN=680000413;
3.7.5 Setting Subscriber’s FN
Set PPS subscriber’s familiarity numbers.
Input format:
SET PPS FNTELNO: MSISDN= [, FN1=] [, FN2=] [, FN3=] [, FN4=] [, FN5=] [, FN6=] [, FN7=] [, FN8=] [, FN9=]
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-53
Input parameters:
Parameter Description Value range
MSISDN The subscriber’s number Represented by numeric string
FNn
The n-th familarity number, where n is from 1 to 9.
The FN can be MSISDN or local PSTN number or DDD number or IDD number. The format of FN is COUNTRY CODE + AREA CODE(only for local PSTN or DDD) + PHONE NUMBER.
If this parameter is set to null , For example, FN1='', then this FN will be deleted.
Each FN is represented by 1~18 digits numeric character string.
Instance:
SET PPS FNTELNO: MSISDN=680000001, FN1=681234567
3.7.6 ACK of Setting Subscriber’s FN
This prompt is returned on receipt of the command of setting subscriber’s FNs.
Output format:
ACK:SET PPS FNTELNO:RETN=,DESC=,USERFREE=, CHGTIMES=, CHGFEE=
Output parameters:
Parameter Description Value range
RETN Returned value of the ACK command. Decimal integer.
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-54
Parameter Description Value range
DESC Description of error causes
A character string of 0-256 digits.
0: Success
1001: The MSISDN not belong to any SCPNO and SDPNO.
1002: The MSISDN does not exist .
1003: The MSISDN state is valid ..
1004: The Subscriber's service of FN not be opened.
1005: Data of the FN service does not config .
1006: The service area does not support FN service .
1007: The input FNs beyond limit .
1008: SUBCOSID does not exist .
1009: MSISDN is a child-card.
1010: system data is error .
1012: The input FN was already setted,please input another FN number
1013: Set FN was failure, please add money for subscribers manually .
1016: The input FNS is illegal
1020: Set FN was failure.
1102: MSISDN basic information error.
1103: MSISDN is not in ACTIVE mode, balance can't be modified.
1104: Balance is not enough
1106: MSISDN does not exist .
1108: Exceed maximum recharge sum .
1111: No MSISDN Service Information.
1113: MSISDN information modification failed .
1200: SCU agent send back an undefined error code
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-55
Parameter Description Value range
USERFREE
The subscriber’s remain times of modifying FN free of charge after this operation
Decimal integer type
CHGTIMES The times of modifying FN in this operation Decimal integer type
CHGFEE The charge that the subscriber paid for modifying FN
Decimal integer type
Instance:
ACK: SET PPS FNTELNO: RETN=0, DESC="Success", USERFREE=0, CHGTIMES=1, CHGFEE=100;
3.7.7 Querying Subscriber’s FN
Query the specified PPS subscriber’s FNs.
Input format:
DISP PPS FNTELNO: MSISDN=
Input parameters:
Parameter Description Value range
MSISDN The subscriber’s number Represented by numeric string
Instance:
DISP PPS FNTELNO: MSISDN=680000000
3.7.8 ACK of Querying Subscriber’s FN
This prompt is returned on receipt of the querying subscriber’s FNs command.
Output format:
ACK: DISP PPS FNTELNO: RETN= [, DESC=] [, ATTR=, RESULT=]
Output parameters:
User Manual PPS Prepaid Service Management Open Interface Chapter 3 Commonly-used MML Commands Set
Huawei Technologies Proprietary
3-56
Parameter Description Value range
RETN Returned value of the ACK command Decimal integer.
DESC Description on the returned value
A string of no more than 256 characters.
0: Success
1006:MSISDN does not exist
1102: The system current date is not within the period between service start date and service stop date
1103: MSISDN account isn't opened
1104:MSISDN doesn't open FN service
1105: FN configuration data error
1106: The homezone of the input numbers doesn't provide FN service
1107: Service data doesn't exist
1108: Service data error
1109: MSISDN is a child-card
ATTR List of attribute, each separated from the other with "&".
The range is :
FN1: The 1st familiarity number
FN2: The 2nd familiarity number
FN3: The 3rd familiarity number
FN4: The 4th familiarity number
FN5: The 5th familiarity number
USERFREE: The subscriber’s remaining time of modifying FN free of charge
FNAMOUNT: The maximum amount of FN the subscriber can set
RESULT The data query result Each attribute is separated by ‘|’.
Instance:
ACK: DISP PPS FNTELNO: RETN=0, DESC="Success", ATTR=FN1&FN2&FN3&FN4&FN5&USERFREE&FNAMOUNT,RESULT="100|101|102|103|104|105|3|5|";
User Manual PPS Prepaid Service Management Open Interface Appendix
Huawei Technologies Proprietary
A-1
Appendix
A.1 Acronyms and Abbreviations
D
DP Disconnect-Pending
F
FN Familiarity Number
M
MD Medial Device
MF Monthly Fee
MML Man-Machine Language
P
PPS Pre-paid Service
R
RBT Ring Back Tone
S
SCP Service Control Point
SM Service Management
SMOI Service Management Open Interface
SMP Service Management Point
SMS Service Management System
T
TELLIN Telecommunication Intelligent Network
V
VIP Very Important Person
User Manual PPS Prepaid Service Management Open Interface Appendix
Huawei Technologies Proprietary
A-2
A.2 SMOI Client Demo Code /* Example program to test SMP open interface.
Author: yuqian
Date: 2001.6.20
Compile:
SUN: cc -g -lsocket -lnsl -o test-caa test-caa.c
HP: cc -lnsl -o test-caa test-caa.c
Description:
Step 1: define terminal 'GDSZ0001' in SMP
Step 2: create operator 'testcaa' with password 'testcaa' in SMP
Step 3: modify caa_ip in main function to fit with actual IP of SMP
Step 4: compile this program and run it.
*/
#define CAA_IP "10.70.115.86"
#define CAA_PORT 29999
#define TERMINAL "GDSZ0001"
#define USER "testcaa"
#define PSWD "testcaa"
#include <stdio.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>
struct msg_head
{
char flag[4];
char len[4];
char ver[4];
char terminal[8];
char serv[8];
char dlg_id[8];
char dlg_ctrl[6];
char dlg_ext[4];
char tx_id[8];
char tx_ctrl[6];
char tx_ext[4];
} *msg;
User Manual PPS Prepaid Service Management Open Interface Appendix
Huawei Technologies Proprietary
A-3
int make_msg(char *buf,int buflen,char *term,char *srv,
int dlgid,char *dlgctrl, int txid,char *txctrl, char *mml)
{
int msg_len,chksum_len,mml_len,i,sum_c[4];
char *p_mml,*p_chksum,*p_calc;
char *hex_asc="0123456789ABCDEF";
memset(buf,0,buflen);
msg=(struct msg_head*)buf;
mml_len=(strlen(mml)+3)&~3;
printf("mml_len=%d\n",mml_len);
msg_len=sizeof(struct msg_head)+mml_len+8;
printf("msg_len=%d\n",msg_len);
i=((char*)&msg->ver)-((char*)&msg->flag);
chksum_len=msg_len-i-8;
printf("chksum_len=%d\n",chksum_len);
if(msg_len>buflen)
return(-1);
p_mml=buf+sizeof(struct msg_head);
p_chksum=&p_mml[mml_len];
p_calc=(char*)&msg->ver;
sprintf((char*)&msg->flag ,"%-4.4s" ,"`SC`" );
sprintf((char*)&msg->len ,"%04.4x" ,chksum_len );
sprintf((char*)&msg->ver ,"%-4.4s" ,"1.00" );
sprintf((char*)&msg->terminal,"%-8.8s" ,term );
sprintf((char*)&msg->serv ,"%-8.8s" ,srv );
sprintf((char*)&msg->dlg_id ,"%08.8lx" ,dlgid );
sprintf((char*)&msg->dlg_ctrl,"%-6.6s" ,dlgctrl );
sprintf((char*)&msg->dlg_ext ,"%-4.4s" ,"0000" );
sprintf((char*)&msg->tx_id ,"%08.8lx" ,txid );
sprintf((char*)&msg->tx_ctrl ,"%-6.6s" ,txctrl );
sprintf((char*)&msg->tx_ext ,"%-4.4s" ,"0000" );
sprintf(p_mml,"%s ",mml);
for(i=0;i<4;i++) sum_c[i]=0;
for(i=0;i<chksum_len;i+=4)
{
sum_c[i%4 ]^=p_calc[i+0];
sum_c[i%4+1]^=p_calc[i+1];
sum_c[i%4+2]^=p_calc[i+2];
sum_c[i%4+3]^=p_calc[i+3];
}
User Manual PPS Prepaid Service Management Open Interface Appendix
Huawei Technologies Proprietary
A-4
for(i=0;i<4;i++)
{
sum_c[i]=(~sum_c[i])&0x0ff;
p_chksum[i*2] = hex_asc[sum_c[i]>>4];
p_chksum[i*2+1] = hex_asc[sum_c[i]&0x0f];
}
return(msg_len);
}
int main(int argc,char *argv[])
{
int s,i,len,result;
long cur_dlg_id=1L, cur_tx_id=1L;
struct sockaddr_in saddr;
char buf[800];
char caa_ip[100];
int caa_port=CAA_PORT;
char user[100];
char pswd[100];
char terminal[100];
char mml_cmd1[100];
char *mml_cmd2="DISP PPS ACNTINFO:MSISDN=680110000";
char *mml_cmd3="LOGOUT:";
if(argc<2)
{
printf("\nCAA-TEST for SMP Open Interface"
"\nCopyright@, 1999-2001, Huawei Tech. Co., Ltd.\n"
"\nUsage: %s [-i CAA_IP] [-p CAA_PORT] [-u USER] [-s PASSWORD]
[-t TERMINAL]\n",argv[0]);
}
strcpy(caa_ip,CAA_IP);
strcpy(user,USER);
strcpy(pswd,PSWD);
strcpy(terminal,TERMINAL);
for(i=1;i<argc;i++)
{
if(strcmp(argv[i],"-i")==0) strcpy(caa_ip,argv[++i]);
else if(strcmp(argv[i],"-p")==0) caa_port=atoi(argv[++i]);
else if(strcmp(argv[i],"-u")==0) strcpy(user,argv[++i]);
User Manual PPS Prepaid Service Management Open Interface Appendix
Huawei Technologies Proprietary
A-5
else if(strcmp(argv[i],"-s")==0) strcpy(pswd,argv[++i]);
else if(strcmp(argv[i],"-t")==0) strcpy(terminal,argv[++i]);
else
{
printf("\nInvalid parameter!"
"\nExample: %s -i 192.168.1.1 -u test -s test -t
GZSZ0001\n",argv[0]);
return(-1);
}
}
printf("\nTest Info: IP:port=%s:%d,USER=%s,PSWD=%s,TERM=%s\n",
caa_ip,caa_port,user,pswd,terminal);
s=socket(AF_INET, SOCK_STREAM, 0 );
saddr.sin_family=PF_INET;
saddr.sin_addr.s_addr=inet_addr(caa_ip);
saddr.sin_port=htons(caa_port);
result=connect(s,(struct sockaddr_in*)(&saddr),sizeof(saddr));
if(result==0)
{
sprintf(mml_cmd1,"LOGIN:USER=%s,PSWD=%s",user,pswd);
printf("\nmml1=%p,%s\n",mml_cmd1,mml_cmd1);
len=make_msg(buf,sizeof(buf),terminal,"SRVM",
cur_dlg_id,"DLGLGN",cur_tx_id++,"TXBEG",mml_cmd1);
printf("send msg1:buf=%s\nlen=%d\n",buf,len);
result=write(s,&buf,len);
if(result!=len)
{
printf("Send error!\n");
close(s);
return;
}
result=read(s,&buf,sizeof(buf));
buf[sizeof(buf)-1]='\0';
printf("result=%d,\n[%s]\n",result,buf);
if(strstr(buf,"RETN=0,")==NULL)
{
printf("Login fail!\n");
close(s);
return;
}
User Manual PPS Prepaid Service Management Open Interface Appendix
Huawei Technologies Proprietary
A-6
printf("mml2=%p,%s\n",mml_cmd2,mml_cmd2);
len=make_msg(buf,sizeof(buf),terminal,"PPS",
cur_dlg_id,"DLGCON",cur_tx_id++,"TXBEG",mml_cmd2);
printf("send msg2:buf=%s\nlen=%d\n",buf,len);
result=write(s,&buf,len);
if(result!=len)
{
printf("Send error!\n");
close(s);
return;
}
result=read(s,&buf,sizeof(buf));
buf[sizeof(buf)-1]='\0';
printf("result=%d,\n[%s]\n",result,buf);
printf("mml3=%p,%s\n",mml_cmd3,mml_cmd3);
len=make_msg(buf,sizeof(buf),terminal,"SRVM",
cur_dlg_id,"DLGCON",cur_tx_id++,"TXBEG",mml_cmd3);
printf("send msg3:buf=%s\nlen=%d\n",buf,len);
result=write(s,&buf,len);
if(result!=len)
{
printf("Send error!\n");
close(s);
return;
}
result=read(s,&buf,sizeof(buf));
buf[sizeof(buf)-1]='\0';
printf("result=%d,\n[%s]\n",result,buf);
}
else
printf("connect result=%d,socket=%d,errno=%d\n",result,s,errno);
close(s);
}