Comverse PSI Interface
Comverse PSI Interface
Revision History
Version Date Author Description
Two TCP/IP ports are reserved; port numbers 6200 and 6300. Port 6300 should only be used for
4.205 data transaction billing applications.
Each External Service has the option to maintain a permanent connection to the Payment Server
or to connect only when there is an action to be performed.
Transaction ID Acknowledge
Disconnect Session
The External Service initiates most actions, including establishing the TCP/IP session. Upon
receipt of an action request from the External Service, the Payment Server attempts to perform
the requested action, and sends a response messages indicating the success or failure of the
action.
Note that message sequences may be intermixed. The External Server need not wait until one
transaction has been completed before starting another transaction.
As a general rule, all data is left aligned. Any place within a field that does not contain a data
character should be filled with the space character.
Note that length field contains the length of the message excluding the length field itself.
In the event that a particular SLU is unavailable, the External Service application must contain
logic to establish TCP/IP sessions with another SLU.
2.2. Heartbeats
Heartbeat messages are sent between the External Service and the Payment Server in order to
keep the session active when there is no other message activity from the External Service.
The heartbeat period is configurable at the Payment Server, with the default value being one
minute, and a maximum value of 30 minutes.
Validate Subscriber Request message does not actually debit the subscriber’s
account.
A Status ID of 0 indicates that the charge should remain. A Status ID of 1 indicates that the
charge should be reversed.
2.4.4. Limitations
Because Apply Charge requests do not access RTB tariffs, these transactions are treated as
balance adjustments, and have the following limitations:
Only currency charges are allowed. Charging in other units is not supported.
The currency type of the charge must be the same as the currency used by the subscriber. If
the currency types differ, the Apply Currency Charge (refer to section 2.5) must be used.
Charges may only be taken from the Core Balance. Other balances are not considered.
Usage-based promotions are not supported. Usage reported in Apply Charge messages is not
counted by the usage-based promotion accumulators, and discounts cannot be applied to
charges from Apply Charge requests.
The Apply Tariff sequence is used by the External Service to charge for subscriber’s usage
based on tariff tables within the RTBS.
The sequence is initiated by the External Service sending the Apply Tariff Request message to
the Payment Server.
Figure 2-2 Typical Apply Currency Charge Message Sequence – Charge Not Reversed
Figure 2-4 Typical Apply Currency Charge Message Sequence – Charge Reversed Due To Timeout
The Apply Tariff sequence also includes an Associated Number field. This field, supplied by the
External Server, is used to link the request and response messages.
For content providers, the Subscriber Type should be 4 (Data), and the Bearer
Capability should be 11 (Data-Services)
Figure 2-5 Typical Apply Tariff Message Sequence – Charge Not Reversed
Figure 2-7 Typical Apply Tariff Message Sequence – Charge Reversed Due To Timeout
Examples:
HS to HS: 101
HS to VAS: 102
HS to E-mail: 103
SoB to HS: 104
SoB to E-mail: 105
SoB to VAS (future): 106
VAS to HS: 107
E-mail to HS:108
Examples
Picture=101 ;
Audio=102 ;
Video=103 ;
Text=104 ;
Ringtone=105 ;
Multi=106 ;
Empty = 107;
Other = 108
Volume 10- ASCII M 3000000 Volume (typically bytes used).
chars Values 0-999999999 allowed.
Figure 2-8 Typical Apply Tariff with Volume Message Sequence – Charge Not Reversed
Figure 2-9 Typical Apply Tariff with Volume Message Sequence – Charge Reversed by External Server
Table 2-19 Typical Reverse Charge Message Sequence –Reverse Charge Request
5. To map a new external unit type to an RTB internal unit type, click New on the toolbar.
6. In the External Parameters detail pane, complete the following fields:
External Unit Type – numeric value, 0-9999
External Unit Type Description – numeric value, 0-9999.
7. In the Internal Parameters detail pane, complete the Unit Type field by making a selection
from the drop-down list.
8. Click Save. The new External Unit Type Mapping is added to the selection list in the
Payment Server Unit Type Mapping window.
9. In the Billing Model TreeView, click PS Unit Type Mapping.
10. The Payment Server Translation window (Figure 3-2) appears.
11. To define a new mapping of Bearer, Discount, and External Type to Application / Subtype /
Unit Type, click New on the toolbar. Text fields in the Payment Server Translation window
become available in the Payment Server Detail pane.
12. In the Payment Server Detail pane, complete the following fields:
Bearer Capability – numeric value, 0-9999
Discount – numeric value, 0-9999.
13. Complete the following fields by making selections from the drop-down lists:
External Unit Type Description – description of the external unit type to which an
RTB unit type will be mapped.
Application – name of the application for which usage charges will be determined, e.g.,
voice call, SMS, etc.
Application Sub Type – sub type name associated with this Application activity.
Application Sub Types are defined in the Activity Definition table.
Unit Type − unit type to be used for tariff charging (Currency, Seconds, Octet, or SMS).
14. Click Save. The new Payment Server translation for billing is added to the selection list in
the Payment Server Translation window.
Fun Dial supports multiple user interfaces, including a Web Application, which
will be used in the examples in this document).
2. Before allowing the purchase, the Web Application connects to RTB (via PSI) to have RTB
authorize the purchase
3. RTB calculates the charge for the song.
□ Assuming the subscriber has enough funds and is allowed to purchase the song, RTB
charges the subscriber, and sends back an authorization to Web Application.
□ If the purchase cannot be authorized (due to low funds or subscriber not allowed), RTB
responds by rejecting the purchase attempt, and the Web Application displays a message
indicating a problem.
4. Assuming that the purchase attempt is approved, Fun Dial determines if this is the first purchase
by the subscriber.
5. If this is the first purchase, the Web App updates the HLR to enable Fun Dial services for this
subscriber
□ If there is a failure in the HLR update, the Web App notifies RTB (via Payment Server)
to back-out the charge, and displays a message to the subscriber indicating a problem
6. Assuming no HLR problems, the Web App attempts to complete the song purchase process.
□ If there is an internal failure, the Web App notifies RTB (via Payment Server) to back-
out the charge, and displays a message to the subscriber indicating a problem.
Otherwise, the transaction is successful and the ringback tone is now available for the
subscriber to assign for callers to hear, the subscriber has been charged for the purchase of the
song, and appropriate usage records have been generated for the subscriber’s purchase.
Note that Fun Dial supports the capability to purchase a ringback tone as a “gift” for another
subscriber. That is, subscriber A purchases a ringback tone that subscriber B may provision.
This scenario is similar to the normal purchase scenario with the following differences /
restrictions:
Both the gift purchaser and the gift recipient must belong to the same operator.
Both the gift purchaser and the gift recipient must be active Fun Dial users.
The purchased ringback tone becomes available for the gift recipient to use / provision.
An SMS is sent to gift recipient to notify him that he has received a ringback tone.
Different values may be used to differentiate self purchases from gift purchases.
□ Populate the Discount field with a Price Code that ultimately maps to a specific charge
for that song.
Populate Payment Server Subscriber Type field with App-MT (meaning that the B-Number
represents the charged party).
Use Payment Server A-Number field to represent the content selected (Track ID).
□ Prefix the actual Track ID with a unique character sequence to differentiate it from a
“normal” phone number or Application ID.
Use Payment Server B-Number field to represent subscriber to be charged (Subscriber ID).
Use other Payment Server fields as per protocol requirements.
Using this approach, the unique combination Bearer and Discount can be mapped to a Fun Dial
ringback tone purchase-specific Application / Subtype / Unit Type triplet, which can then be
mapped to an appropriate Tariff Plan, with appropriate charges.
The unique Application / Subtype / Unit Type triplet allows for a unique Charge
Code (and Service Code in converged systems), so that these charges may be
isolated from other usage in the invoice.
4.4. Provisioning
It is assumed that basic provisioning for Fun Dial and RTB has already been
performed, and that both systems are operational.
Provisioning for Fun Dial charging requires some level of synchronization (coordination)
between Fun Dial and the RTB configuration regarding Price Code (attached to each ringback
tone to represent the charge) and the Payment Server Bearer value to be used.
Each is discussed in both the Fun Dial and RTB provisioning sections that follow.
It is assumed that basic Fun Dial provisioning has already been performed, and
that Fun Dial is operational.
The additional Fun Dial provisioning required to support RTB charging involves:
Assigning Price Codes to each ringback tone available for purchase.
Provisioning values for the Payment Server Bearer field (one value for regular purchase,
and one for gift purchase).
Price Codes are not operator provisionable. Please contact your local Comverse
Support team to arrange to have Price Codes provisioned at Fun Dial.
4.4.1.2. Bearer
Bearer is a Payment Server-specific field used to differentiate charging for different services
and usage. Values of 0 -9999 are supported.
The reason for using this field is to uniquely identify Fun Dial purchases from any other
activity using Payment Server.
So, all that matters is that the value chosen does NOT interfere with any other Bearers
provisioned for RTB Payment Sever use, and that the same value is provisioned in RTB.
Assign Price Code value 1 to “Operator’s Theme Song”, Price Code value 2 to “Happy
Birthday Song”, and Price Code value 3 to “It’s a Beautiful Day Song.”
Provision Bearer value to 49 for regular purchases, and 48 for gift purchases.
1. Define Application and Initial Subtypes for Fun Dial in the SAW Activity Definition
screen.
As shown in Figure 4-1, the following Application / Subtypes have been defined
specifically for Fun Dial charging, each supporting the Units of Track:
Fun Dial / Free – To be used for Free ringback tones
Fun Dial / Basic – To be used for Basic ringback tones
Fun Dial / Premium – To be used for Premium ringback tones
Since there will be no location-based charging for Fun Dial ringback tone
purchases, the Activity Modifier Location should remain unchecked.
Disable Location-
Based Billing for
these Activities
2. Define Final Subtypes for Fun Dial in the SAW Subtype Translation screen.
As shown in Figure 4-2, the Final Subtypes have been defined for each of the Fun Dial
Initial Subtypes.
All Subtype modifiers (Location Relationship, Special Feature, and Access Method
should be configured as NONE).
5. Configure Tariff Plans for each of the Fun Dial ringback tone purchases Application /
Subtype combinations in the SAW Tariff Plan screen.
As shown in Figure 4-5, a Tariff has been provisioned for each of the Application /
Subtype combinations.
If the Default Activity box is checked, the Application / Final Subtype pair will
automatically default to being enabled for each COS.
7. Enable or Disable Fun Dial Application / Final Subtypes in each COS as desired using
the SAW Activity and Tariff Plan screen.
If it is desired to have different charging per COS, this COS Activities tab
Figure 4-7 can be used to assign different Tariff Plans, and /or assign a Discount
Plan to the Fun Dial charging.
8. The Payment Server supports number manipulation (NMS) on the A and B-numbers, as
well as the A and B-location fields.
Since the location fields are not used, we can ignore them.
Typically NMS is used for normalizing the A and B numbers to match the Subscriber ID
format in RTB. This may or may not be required, depending on the configuration of Fun
Dial and RTB.
However, there is another potential use for NMS when supporting Fun Dial charging,
and is related to the Content ID (Track ID) which is passed into RTB as the A-Number.
The potential issue is that the A-Number has a non-numeric prefix (“TR”) followed by
the numeric Track ID.
It is possible that some downstream processing systems may have a problem with an A-
Number containing non-numeric values.
If so, NMS can be used to resolve the issue.
That is, NMS can be configured to modify the A-Number, including removing the
prefix, or modifying the prefix to some numeric value (which can be handled
downstream).
For example, if a Track ID is received as “TR1223345”, NMS can be used to modify
this to “1223345” (remove prefix), or 99991223345 (replace alpha-characters with
numeric characters), or any other programmable manipulation.
For scenarios where the charge is backed out due to some error (refer to the
failure scenarios in sections 4.3.3 and 4.3.6), a second PS Transaction History
record will be generated, showing the credit that was applied when the
transaction was reversed.
This “reversal” history record will look similar to the charge record shown above except:
The message type will be Reverse Charge
The Balance changes will be negative values, indicating a credit.
4.5.2. CDRs
Since the fields included in CDRs are configurable on a system-by-system basis, it is difficult
to give a detailed description of the CDRs related to Fun Dial ringback tone purchases.
However, we can make the following statements:
In general, the CDR will look like a Payment Server CDR for an APP-MT scenario, except
that the A_Number field will contain the Track ID of the tone purchased.
The format of the Track ID will be TRxxxxxxx unless modified with a Number
Manipulation Script, as described in section 4.4.3.2, step 8.
The operator should check to make sure that this will not cause problems with downstream
processing.
For reversal scenarios, RTB will generate two CDRs; one for the original charge and one
for the reversal (similar to History generation).
Should the operator desire reports on Fun Dial ringback tone purchases, like
number of purchases over a period, total revenue from Fun Dial purchases, etc.,
the CDRs can be used to supply the raw data for the report.
Table 4-1 Apply Tariff Request Message Usage for Fun Dial Charging
Field Size Type Value / Comments
Length 2 16 bit binary 135 (0087x)
Message ID 1 8 bit binary 1=Request (01x)
Message Type 1 8 bit binary 4=Apply Tariff (04x)
Associated 4 ASCII/binary A value generated by the External Service to
Number uniquely identify this request
Originating Caller 30 ASCII Content Identifier of specific ringback tone
ID purchased, in the form of a Track ID.
Format is TRxxxxxxxx
Where TR indicates that this is a Track ID, and
xxxxxxxx is the specific Track number
For gift purchases, the format is:
TRxxxxxxxxF <recipient MSISDN>
Where F is a configurable delimiter, and
<recipient MSISD> is the subscriber receiving the
gift ringback tone
Orig Subscriber 30 ASCII Not used for Fun Dial purchases…fill with Blanks
MSC Address
Subscriber Type 1 8 bit binary 1=MO to MT
2=Mobile Originating to Application
3=Application to Mobile Terminating
Use 03 for Fun Dial ringback tone purchase
charging
Terminating 30 ASCII Terminating Caller ID or Application ID
Caller ID Subscriber ID of purchaser (sub to be charged)
Terminating Sub 30 ASCII MSC Address / Cell ID of terminating subscriber
MSC Address Not used for Fun Dial purchases…fill with Blanks
Bearer Capability 4 ASCII Allowable values are 0-9999.
The requirements are:
1. This value does not interfere with any other
Payment Server Bearer Capability values already
used
2. Fun Dial and RTB are synchronized and
provisioned to use the same value
Note that different values may be used for regular
vs. gift purchases
Discount 4 ASCII Allowable values: 0-9999
Contains Price Code for the track being purchased.
The Date/Time of the transaction is always based on when RTB receives the
transaction.
How: How was the message composed/sent? – Was it from the subscriber’s handset or an
application?
Even when the subscriber uses an Application to compose the MMS, it is still
the sending subscriber that is charged.
The Date/Time of the transaction is always based on when RTB receives the
transaction.
What: MMS Message Type – Type of MMS (i.e., Audio, Video, Text, etc.). This enables the
operator to charge differently for text MMSs as opposed to video MMSs. Refer to Section
5.12 for a description of how MMS Message Types are determined.
Where: Retrieving Subscriber Location – The location of the subscriber retrieving the
MMS (typically based on the SGSN the subscriber is attached to). This enables the operator
to charge differently based on where the subscriber is when using the service
Amount: Volume – Number of bytes in the MMS. This enables the operator to charge more
for a 1-Megabyte attachment than for a 1-Kilobyte attachment. Note that via provisioning,
volume can be ignored so that MMSs are charged per message.
Friends and Family, Group, and/or Calling Circle differentiated tariffing may be
applied if destination address is a phone number.
Friends and Family, Group, and/or Calling Circle differentiated tariffing may be
applied if destination address is a phone number.
MMSs to the Stock Quote VAS cost 0.10. MMS to all other VASs are free.
Friends and Family, Group, and/or Calling Circle differentiated tariffing may
NOT be applied.
Friends and Family, Group, and/or Calling Circle differentiated tariffing may
NOT be applied.
5.10. Param1 & Param2 (in CDR only) MMS Message Types Overview
One of the charging dimensions for MMS involves the type of attachments.
The way it influences the charging is as follows:
Each MMS attachment is classified by Attachment Type. Supported Attachment Types are
shown in section 5.11 below.
Based on the attachment types, the MMS is classified with a Message Type. Supported
Message Types, along with the rules for mapping Attachment Types to Message Types are
shown in section 5.12 below.
The MMS Message Type is passed through to RTB to be available as one of the components
for charging each MMS.