Download as pdf or txt
Download as pdf or txt
You are on page 1of 142

Jinny Multimedia

Messaging Service
Center
Agenda

MMS Overview

MMS Architecture

Hardware

Software

Message Flows

JMMSC Features

Administration

Troubleshooting
MMSC Overview
MMS Overview

What is MMS?
 Multimedia Messaging Service
 Store and forward messaging service
 Allows mobile subscribers to exchange multimedia
messages with other mobile subscribers.
 Supports the transmission of various media types
• text
• picture
• audio
• video
• combinations of the above
MMSC Context
Handset Settings

APN – Access Point Name to connect to


e.g. mms.mtctouch.com.lb

Username – Username to access APN

Password – Password to access APN

Proxy IP – IP of the WAPGW

Port – Port to connect to the WAPGW for WAP


2.0 or select the connection mode for WAP 1.x

Homepage – URL of the MMSC


Handset Network Context (1)

Handset initiates a PDP context and attempts to


connect to the MMS APN

The users profile is checked in the HLR to see if


subscriber is allowed access to this APN

Username and Password are checked

At this point connection to the the APN has been


established (you should see a solid G on most
handsets)
Handset Network Context (2)

Connection between the APN and the Proxy IP is


initiated

The connection port depends on the WAP protocol


that the handset supports
 Usually 9201 for WAP 1.x handsets

 Port 80 for WAP 2.0 (Port 8080 in some cases)

The destination URL of the MMS is checked

If this matches that of the MMSC then the MMS is


forwarded onto the MMSC
MMS Architecture
Architecture Overview
The MMS Reference Architecture

The interfaces in the MMS Reference Architecture


are:

 MM1: The reference point between the MMS User Agent


and the MMS Relay/Server.

 MM2: The reference point between the MMS Relay and


the MMS Server.

 MM3: The reference point between the MMS Relay/Server


and external (legacy) messaging systems.

 MM4: The reference point between the MMS Relay/Server


and another MMS Relay/Server that is within another
MMSE.
The MMS Reference Architecture

 MM5: The reference point between the MMS


Relay/Server and the Home Location Register (HLR).

 MM6: The reference point between the MMS


Relay/Server and the MMS User Databases.

 MM7: The reference point between the MMS


Relay/Server and MMS VAS Applications.

 MM8: The reference point between the MMS


Relay/Server and a billing system
The MMS Reference Architecture
Hardware
Hardware

Sun Fire V65x


Intel Xeon CPU 3.06GHz
1GB Ram
4 x 71GB HDD
Dual Power Supply
Sunfire V65x

Front >>

Rear >>
Software
Operating System

RH Linux 8

MySQL
Jinny Directory Structure (1)
Jinny Directory Structure (2)

bin – Executables
init - Configuration files
cdr - .txt files containing all binary messages
sent over SMPP to the SMSC
fcgi-bin - fastcgi’s
mmsadm - Web administration files
mm7 - MM7 cgi
passwd - VAS provider account information
html - Legacy files
log - Contains all MMS log files
 Symbolic link to /var/jinny/log
Jinny Directory Structure (3)
Jinny Directory Structure (4)

cdr: .csv CDR (Call Detail Record) files


emails: MMS – email files
history: .dat history reference files
mysql: Mysql tables
shm: Shared memory
stat: .csv statistics files
uaprof: contains User Agent Profiles for
different handsets
log: contains the logs of the processes
Jinny Directory Structure (5)

spool – message spool directory containing sub directories


for each message queue (message queues to be covered
later)
The MMSC processes

mms_x.fcgi legacy_chk
Mnot Smsnot
Mdel legacy_cgi
Mms2smtp xml2mms
Mms4vas expiry_chk
mm7_to_mms Histool
mm4_tx Smppmsgclient
mm4_rx ppg_cgix
mms_x.fcgi

The main process mms_x.fcgi

 FastCGI running under Apache/mod_fastcgi

 Log file mms_wsYYYYMMDD.log

 Configuration in mmsc.ini, sections:

• [mmsc]

• [mod_*]

 Started by apache

• /etc/init.d/httpd [start | stop]


mnot

Sent the MMS notification

 Started and kept running through /etc/inittab

 Configuration in mmsc.ini, sections:

• [mmsc]

• [mnot]

 Log file mnotYYYYMMDD.log


MMS Notification Message Process - mnot

Scan MM1 Queue


(plmn_msg)

mnot
Message Ready
No
to Be Sent ?

Yes

Fill Message with


Appropriate Fields

Append to Notification
Message

Send Message to Written to the


2 notification_method ? 1
JMR Queue
No

0 No Yes
Message Notification Yes Yes
Process (mnot) Post to PPG and retries <= Max
Stopped Wait Response Nb retries ?

Message Notification
Message Pushed
No Process (mnot)
Successfully ?
Stopped

Yes

Update MM1 Queue


(plmn_msg)
mdel

Sends the delivery report

 Started and kept running through /etc/inittab

 Configuration in mmsc.ini, sections:

• [mmsc]

• [mdel]

 Log file mdelYYYYMMDD.log


MMS Delivery Report Message Process - mdel

Scan MM1 Queue

mdel
(plmn_msg)

Message with
No
Delivery Report ?

Yes

Fill Message with


Appropriate Fields

Append to Notification
Message

Send Message to Written to the


2 notification_method ? 1
JMR Queue
No

0 No Yes
Message Notification Yes Yes
Process (mdel) Post to PPG and retries <= Max
Stopped Wait Response Nb retries ?

Message Notification
Message Pushed
No Process (mdel)
Successfully ?
Stopped

Yes

Update MM1 Queue


(plmn_msg)
mms2smtp

Delivers MMS to e-mail messages after transcoding

 Started and kept running through /etc/inittab

 Requires sendmail

 Configuration in mmsc.ini, sections:

• [mmsc]

• [mms2smtp]

• [mediatools]

 Log file mms2smtpYYYYMMDD.log


mms4vas

Delivers MMS messages sent to VAS

 Started and kept running through /etc/inittab

 Configuration in mmsc.ini, sections:

• [mmsc]

• [mms4vas]

• [vastable]

 Maintains a VAS routing table:

• {Short-code : VAS URL}

 Log file mms4vasYYYYMMDD.log


mm7_to_mms

CGI that accepts MMS messages from VAS using


SOAP/XML

 Managed by apache as a normal CGI

 Configuration in mm7_to_mms.ini, section:

• [mm7_to_mms]

 Log file mm7tommsYYYYMMDD.log


mm4_tx

Delivers MMS messages to foreign MMSCs

 Started and kept running through /etc/inittab

 Maintains a routing table:

• {Operator code : Foreign MMSC host}

 Configuration in mmsc.ini, sections:

• [mmsc]

• [mm4_tx]

• [mm4_routing]

 Log file mm4_txYYYYMMDD.log


mm4_rx

Receives MMS messages from foreign MMSCs and E-


mail to MMS

 Started and kept running through /etc/inittab

 Acts as an e-mail server / listens to TCP port 25

 Configuration in mmsc.ini, sections:

• [mm4_rx]

• [mm4_trusted_ips]

• [mm4_trusted_domains]

 Log file mm4_rxYYYYMMDD.log


mm4_rx

Listen to Port 25

Email Message Scan MMS Recipient (s)


Received Address (es)

Recipient Matches
Check Mail Size Yes Address@Domain? No Ignore Request

Mail Size < No Return Mail Back to Sender


maxmailsize ?

Yes

1
mm4_rx

1
Scan Mail Parts

MIME Parts Conversion / Scaling


Accepted ? No Possible ? No Send Text to Recipient

Yes Yes

Code to MMS Formats Media Conversion


and Scaling

Send Message to MMS Message Message Handled by Main


MM1 Queue Rejected ? No Process (mms_x.fcgi)

Yes

Return Mail Back to Sender


legacy_chk

legacy_chk moves undelivered MMS messages to


the SMS / Legacy queue

 Started and kept running through /etc/inittab

 Configuration in mmsc.ini, section:

• [mmsc]

• [legacy_chk]

 Log file legacy_chkYYYYMMDD.log


legacy_chk

Legacy Support Process (legacy_chk)


MMS Destined to
a mobile number

MSISDN known to Send MMS


No
MMSC database? Notification

MMS Retrieved within


a configurable delay No
parameter??

Yes

Yes MMSC moves MMS into


MMSC registers MSISDN as
the SMS queue and sends
having capabale MMS handset
an SMS Notification

End Subscriber uses


the Web to view the
MMS?

1 Yes

2
legacy_chk

1
Yes
2
MSISDN has Yes
Send SMS
capable MMS No
Notification
handset? MMSC registers MSISDN
as having Non-capabale
Yes MMS handset

Send MMS Subscriber uses the


Notification Web to view the MMS
End

MMS Retrieved MMSC moves MMS into the


within a configurable No SMS queue and sends an
delay time?? SMS Notification

Yes

Subscriber can view the


End MMS through the Web
smsnot

smsnot transcodes MMS PDUs into a format that can


be played by the Java MMS player from a web
browser and sends SMS notification with pin-code

 Started and kept running through /etc/inittab

 Configuration in mmsc.ini, sections:

• [mmsc]

• [smsnot]

• [mediatools]

 Log file smsnotYYYYMMDD.log


legacy_cgi

legacy_cgi provides the authentication from access


to transcoded content using the provided pin-code

 Managed by apache as a normal CGI

 Configuration in mmsc.ini, section:

• [legacy_cgi]

 Log file legacy_cgiYYYYMMDD.log


xml2mms

Provides an easier XML (no SOAP) based interface


than MM7 for VAS applications

 Managed by apache as a simple CGI

 Configuration in mmsc.ini, section:

• [xml2mms]

 Log file xml2mmsYYYYMMDD.log


expiry_chk

Deletes expired messages from all queues

 Started as a cron job

 Configuration in mmsc.ini, sections:

• [mmsc]

• [expiry_chk]

 Log file expiry_chkYYYYMMDD.log


histool

Responsible for displaying all history information

 Used from the webinterface

 Configuration in mmsc.ini , sections:

• [mmsc]

• As well as histool.ini

 Log file histoolYYYYMMDD.log


smppmsgclient

Responsible for sending of binary notifications


and legacy notifications over SMPP bind to the
SMSC

 Messages are taken from a message queue (10015)

 Configuration in smpp.ini

 Log file mmsctx<date>.log


ppg_cgix

Responsible for pushing binary notifications (mnot


and mdel) to the SMPP message queue

 Configuration in ppg_cgi.ini

 Log file ppg_cgi<date>.log


Message Flows
The MMS Client Transactions

m-send-req m-forward-req
m-send-conf m-forward-conf
m-notification-ind m-mbox-store-req
WSP/HTTP GET req m-mbox-store-conf
m-retrieve-conf m-mbox-view-req
m-notifyresp-ind m-mbox-view-conf
m-acknowledge-ind mmbox-delete-req
m-delivery-ind m-mbox-delete-conf
m-read-rec-ind m-mbox-descr
m-read-orig-ind
Two Transaction Flow Scenarios

MMS transaction flow - Immediate retrieval

MMS transaction flow - Deferred retrieval


Immediate retrieval

Orig Orig MMS


MMS Client Proxy-Relay

M-Sen Target MMS Target


d.req Proxy-Relay MMS Client

Interactions occurring beyond MMSM


d.conf
M-Sen are not in this document's scope

M-Not
ificatio
n.in d

.req
/H TTP GET
WSP
M-retr
ieve .conf

p.ind
ifyRes
M-Not

Interactions occurring beyond MMSM


are not in this document's scope

live ry.ind
M-De
Immediate retrieval

MMS Notification Send MMS


Lookup Caller ID
Received Retrieval Request

Retrieve MMS
Send MMS Forward MMS
Message from MM1
Notification Response Message to Recipient
Queue

MMS Delivery
No
Report Requested ?

Yes

MMS Delivery
No
Report Allowed ?

Yes

Send Delivery Report Generate Statistical


Generate CDR
to MMS Sender Information
Deferred retrieval

Orig Orig MMS Target MMS Target


MMS Client Proxy-Relay Proxy-Relay MMS Client

M-Sen
d.req

Interactions occurring beyond MMSM


d.conf
M-Sen are not in this document's scope M-Notif
ic ation.in
d

d
tifyR esp.in
M-No

Time Passes

req
TTP GET.
H
WSP/
M-retrie
ve.con
f

d
le dge.in
kn o w
M-Ac
Interactions occurring beyond MMSM
are not in this document's scope
d
liv ery.in
M-De
MMS Notification Send MMS Send MMS
Deferred retrieval Received Notification Response Retrieval Request

Retrieve MMS
Forward MMS
Message from MM1 Lookup Caller ID
Message to Recipient
Queue

Send MMS
Acknowledgement

MMS Delivery
Report No
Requested ?

Yes

MMS Delivery
No
Report Allowed ?

Yes

Send Delivery Report Generate Statistical


Generate CDR
to MMS Sender Information
The Jinny MMS Environment
Jinny MMSC
System Context
Jinny MMSC Architecture

XML to MMS CGI


External MMSC
(xml2mms)

Email Sender VAS Application XML Data Input

VAS to MMS Process MMSC Main Process


WAP Gateway
MM4 Receiver and (mm7_to_mms) (mms_x.fcgi)
Email to MMS Process
MMS Sender
Internet (mm4_rx)

MM1 Queue SMS Queue MM3 Queue MM7 Queue MM4 Queue
(msg_plmn) (msg_sms) (msg_email) (msg_mm7) (msg_mm4)

MMS to External
MMS Delivery Report MMS Notification MMSC Main Process Legacy Support SMS Process MMS to Email Process MMS to VAS Process
MMSC Process
Process (mdel) Process (mnot) (mms_x.fcgi) Process (legacy_chk) (smsnot) (mms2smtp) (mms4vas)
(mm4_tx)

Push Proxy
WAP Gateway SMSC Internet External MMSC
Gateway

VAS Application

SMSC

MMS Sender Non-capable


MMS Recipient Email Recipient
MMS Recipient
MMS Spooling (MNP not enabled)

MMS Routing / MSISDN Spool in MM3 Queue


Spooling (1)
No
Recipient ? (Email Recipient)

Yes

MT Matches MT Matches
Spool in MM4 Queue
MM7 Regular No MM1 Regular No
(External MMSC)
Expression ? Expression ?

Yes Yes

Spool in MM7 Queue


Spool in MM1 Queue
(VAS)

Send Reply to MMS


Sender

Generate CDR

Generate Statistical
Information
MMS Spooling (MNP enabled)

MMS Routing /
Spooling (2)
MSISDN Spool in MM3 Queue
No
Recipient ? (Email Recipient)

Yes

MT Matches
Is the recipient’s Spool in MM4 Queue
MM7 Regular No No
IMSI Local ? (External MMSC)
Expression ?

Yes Yes

Spool in MM7 Queue


Spool in MM1 Queue
(VAS)

Send Reply to MMS


Sender

Generate CDR

Generate Statistical
Information
Message flow

MO – MT

MO – MT (MM5)

MO – VAS

MO – E-mail

MO – MT(MM4)

VAS – MT

MO(MM4) – MT

E-mail – MT
MO - MT

MO - MT MMS Successful Delivery

MMSC

WAP MMSC Main Process


Gateway (mms_x.fcgi)
MMS Sender

MMS Notification MM1 Queue


Process (mnot) (msg_plmn)
Push
Proxy
Gateway
MMS Delivery Report
SMSC
Process (mdel)
MMS Recipient
MO – MT (MM5)

MO - MT MMS Successful Delivery

Jinny Singaling Unit


(SIU) HLR

MMSC

WAP MMSC Main Process


Gateway (mms_x.fcgi)
MMS Sender

MMS Notification MM1 Queue


Process (mnot) (msg_plmn)
Push
Proxy
Gateway
MMS Delivery Report
SMSC
Process (mdel)
MMS Recipient
MO - VAS

MO - VAS MMS Successful Delivery

MMSC

MMSC Main Process MM7 Queue MMS to VAS Process


(mms_x.fcgi) (msg_mm7) (mms4vas)

WAP
Gateway
MMS Sender VAS Application
MO - Email

MO - Email MMS Successful Delivery

MMSC

MMSC Main Process MM3 Queue MMS to Email Process


(mms_x.fcgi) (msg_email) (mms2smtp)

Internet
WAP
Gateway
MMS Sender Email Recipient
MO – MT(MM4)

Jinny MMSC Transmitter

MMS Sender Delivery Report Acknowledge


MM4 TX Process
(mm4_tx)
MMS Message

MMS Message

MMSC Main Process MM4 Queue Foreign MMSC


(mms_x.fcgi) (mm4_msg) Receiver

MMS Message Acknowledge


MM4 RX Process
(mm4_rx)
Delivery Report

JMMSC Transmitter
VAS - MT

VAS - MT MMS Successful Delivery

MMSC

VAS to MMS CGI


(mm7_to_mms)
VAS Application

WAP MMSC Main Process MM1 Queue


Gateway (mms_x.fcgi) (msg_plmn)
MMS Recipient

Push Proxy MMS Notification


SMSC
Gateway Process (mnot)
MO(MM4) - MT

Jinny MMSC Receiver

MMS Message Acknowledge MMS Recipient


MM4 TX Process
(mm4_tx)
Delivery Report

MMS Message

Delivery
Foreign MMSC MM4 Queue MMSC Main Process
Transmitter (mm4_msg) (mms_x.fcgi)
Report

ACK

MMS Message Message


MM4 RX Process MM1 Queue
(mm4_rx) (mm1_msg)
Delivery Report Acknowledge

JMMSC Receiver
E-mail - MT

Email - MT MMS Successful Delivery

MMSC

Email to MMS Process


Internet
(smtp2mms)
mm4_rx

Email Sender

WAP MMSC Main Process MM1 Queue


Gateway (mms_x.fcgi) (msg_plmn)
MMS Recipient

Push Proxy MMS Notification


SMSC
Gateway Process (mnot)
JMMSC Features
Mobile Restrictions (1)

The Jinny MMSC provides MMS messaging service to mobile


originating addresses matching the sndr_regex value and to
mobile terminated addresses matching the rcpt_regex value.
Both values are used to include ranges of numbers such as all
national or regional numbers.

Moreover, the Jinny MMSC provides the administrator with the


capability of allowing or forbidding individual addresses from
using the MMS service regardless whether they match the
regular expression values.

These capabilities include:

MO White and Black Lists

MT White and Black Lists


Mobile Restrictions (2)

The MO White List of the Jinny MMSC contains the white


listed MO addresses including:

All MO addresses matching the sndr_regex value (white listed by


default)

Individual MO addresses not matching the sndr_regex value but


explicitly allowed by the administrator to send MMS messages.

The MO Black List of the Jinny MMSC contains the black listed
MO addresses including:

All MO addresses not matching the sndr_regex value (black listed


by default)

Individual MO addresses matching the sndr_regex value but


explicitly forbidden by the administrator to send MMS messages.
Mobile Restrictions (3)

The MT White List of the Jinny MMSC contains the white


listed MT addresses including:

All MT addresses matching the rcpt_regex value (white listed by


default)

Individual MT addresses not matching the rcpt_regex value but


explicitly allowed by the administrator to receive MMS messages.

The MT Black List of the Jinny MMSC contains the black listed
MT addresses including:

All MT addresses not matching the rcpt_regex value (black listed


by default)

Individual MT addresses matching the rcpt_regex value but


explicitly forbidden by the administrator to receive MMS
messages.
MSISDN Black and White Listing

MO Matches
MO MSISDN
Mobile Restrictions(4)
Sender Regular No No
White Listed ?
Expression ?

Yes Yes

MO MSISDN Scan All MMS


No
Black Listed ? Recipients

Yes

MSISDN
Recipient ?

Yes

MT Matches
MT MSISDN
Recipient Regular No No
White Listed ?
Expression ?

Yes Yes

MT MSISDN Create MT MMS


No
Black Listed ? Message Skeleton

Yes

Yes
MMS Spooling

Error
Anti Spam Module

The Jinny MMSC provides spamming detection and


filtering based on certain criteria:

 Maximum Originator: value once exceeded mails


originating from the same source will be considered as
spam.

 Maximum Destination: value once exceeded mails sent to


the same destination will be considered as spam.

 Maximum Content: value once exceeded mails with the


same content will be considered as spam.

 The Anti Spam can be used also to block emails by


adding them to the black list
Spam Detection and Control

The Jinny MMSC holds a powerful way for detecting


spam and blocking it by connecting to the Jinny SCC
(Spam Control Centre). The latter applies rules on
the MM fields and returns the action to take upon it
to the Jinny MMSC.

Note that connection parameters to the SCC that


are SCCHost and SCCPort can be found under
[mod_spam_ctrl] section of the configuration file
mmsc.ini and can be configured by the
administrator.
Get Originating
MSISDN
SPAM Control
Spam Detection and Get Destination

Control
MSISDN list

Get Content

Get message type MO/MT

Send scc-data (Originating


MSISDN
Destination MSISDN # i
SCC
Content
Message type)
to scc

Get action from scc Loop for next destination

action == Block &


No send ack or Nack Yes

Delete Destination # i from


MSISDN destination list

Yes End loop No

End
clam Antivirus Support

Scans MO and MT messages for viruses

clamav filter

 each part of the MM message is scanned

 If a part is infected, the scanning stops and a message


is returned to the sender
Choose scanning mode
from configuration file
(local/daemon)
clam Antivirus clamAV Algorithm

Support Get all parts of MM

Retrieve part 1

daemon Mode local

Scan part using


Send part to
clamav library
scan, to clamd
functions

clamd

Get response
(Clean/Infected)

Retrieve next
Yes Infected No part to scan

All parts
Abort transfer Yes No
scanned

End
Send Virus Alert
message to sender

End
Jinny MMSC message routing (1)

MMS subscribers can, via a web access, manage


routing rules on how to handle incoming MMS
messages through
Routing Rules
 Forward
 Copy
 Deny
 Store

Rules are based on


 Sender
 Time interval
Jinny MMSC message routing (2)
Rule 1

VAS Application
A àB

Rule 1: Forward Jinny MMSC

Email

Rule 2

VAS Application
A àB

Rule 2: Copy Jinny MMSC

Email

C
Jinny MMSC message routing (3)

Rule 3

A àB

Rule 3: Deny Jinny MMSC

Rule 4

A àB

Rule 4: Store Jinny MMSC MPSS

B
Jinny MMSC message routing (4)
Routing MMS (Message Routing Enabled)

Check if MSISDN in
Yes
msg_routing table enabled

Check if a task is required for this


No Yes
MSISDN (based on sender and time)

No If task=forward Yes

Do forward
No
No If task=copy Yes

Do copy
No If task=block Yes

Do block
If task=MMboxStore Yes

No
Do store

Proceed to next
operation
Jinny MMSC lawful interception

JMMSC allows intercepting and watching the


incoming/outgoing MM

Used only by the Authorities when MM delivered to


or sent from suspicious users

The interception may be based on sender’s


identity, the recipients’ identities, message subject
or depending on delivery time
Jinny MMSC lawful interception

JMMSC allows intercepting and watching the


incoming/outgoing MM

Used only by the Authorities when MM delivered to


or sent from suspicious users

The interception may be based on sender’s


identity, the recipients’ identities, message subject
or depending on delivery time
Jinny MMSC lawful interception
New MMS
arrival

LI flow No Sender is in
LI table
Yes

chart
Recipient is
Taken into Yes
No consideration

Recipient
Yes requires LI No

Subject is taken
Yes
into consideration
No

Subject
Yes requires LI No

Delivery time is
taken into Yes
consideration
No
Delivery time
Yes matches time
range
No
Do lawful interception

Get destination author

X
X
Recipient in LI
LI flow
No table Yes

chart Sender is
taken into Yes
No consideration

Sender
Yes requires LI
No

Subject is taken
into consideration Yes
No

Subject
Yes requires LI No

Delivery time is
taken into Yes
consideration
No

Delivery time
Yes matches time
range
No
Do lawful interception

Get destination author


MNP Functionality

Mobile Number Portability (MNP)

Allows mobile users to change operators while


keeping their same mobile number

Jinny MMSC supports MNP

 It queries the operators HLR for the IMSI values of


MMS recipients for routing
MNP Functionality

Jinny MMSC Jinny GMLC Jinny SIU HLR

1- Send Routing
Information Request
SRIR

1- Send Routing
Information

1- SendRoutingInfo For
SM

2- SendRoutingInfo For
SM Results

2- Send Routing
Information Results

2- Send Routing
Information Answer SRIA
Multimedia Transcoding Server
Provides a real time transcoding facility

Performs real time media adaptation and


delivers content to the terminal device in the
best suiting form

Upon message retrieval, the JMTS checks the


recipient’s handset capability

If it is different from the sender’s it performs a


content conversion
Multimedia Transcoding Server - Features

All features can be enabled or disabled from the


configuration file

Support for image, audio and video content

Image Conversion - depending on the screen


resolution

Major Adaptation - If an element cannot adapt,


it will be replaced with text notification of the
removal
Multimedia Transcoding Server - Features

Media Name Adaptation - Removes white spaces


/ brackets from an element’s name and replaces
them with an “_” Auto Learning
Specifications & technical information of devices
are kept in an XML file known (User Agent
Profile - UAProf)
License
 Specified during the initial configuration of the system

Statistics
 Counters
Multimedia Transcoding Server -
Functionality
Smart DRM

Digital Right Management (DRM) enables content


providers to define rights for media objects after
being downloaded to users’ devices
Rights may be to play, display, print, or execute a
media object; one time or a limited number of times
The Smart DRM
 Available through the Jinny MTS

 ensures that handsets are compliant with DRM content


before content delivery

 If DRM content is not supported, the content is replaced with


a notification text message of the DRM content
Multimedia Permanent Storage Server
(MPSS)
An internal Jinny product for the permanent storage
of MMS
Represents a logical entity associated with the MMS
Relay/Server
Subscribed users can access the message store as
clients while MPSS acts as the server
Each MPSS subscribed user has his own Mailbox
 Store and manage MMS (copy & move)
 View information about stored MMS
 Retrieve MMS
 Delete messages from their Mailboxes
Accessed via mmbox capable mobile handset or
Jinny MMBox
Multimedia Permanent Storage Server
(MPSS)
Multimedia Permanent Storage Server
(MPSS)

Store request

Delete request

View request
Load Balancer

Developed by Jinny Software Ltd

Allows linear scalability for MMS servicing where


the Jinny MMSC is deployed

Allows the addition of new MMSCs to cope with the


MMS traffic without replacing older ones

Schedules MMS send requests based on CPU load

Manages the coexistence of multiple MMSCs within


the same operator network
Load Balancer

SMSC
Multiple Hosting

Jinny MMSC has the ability to run in an extended


hosting mode

More than one operator can share the MMSC


hardware and provide separate MMS services

MMSCs share common hardware and still have


different service settings and even connect to
different network element

Two or more virtual MMSC can share the same


subscriber’s database or they can have different
database each
Multiple Hosting
Distributed Architecture
Billing (1)

Post-paid billing procedure is handled by CDR files


CDR generation is determined by the MMS
message type
Message type
 m-send-req

 m-notification-ind

 m-retrieve-conf and repeated_m-retrieve-conf

 m-notifyresp-ind

 m-acknowledge-ind

 m-delivery-ind
Billing (2)

m-forward-req mm7-deliver-res

m-mbox-store-req mm4-forward-req

m-mbox-view-req mm4-forward-res

m-mbox-upload-req mm4-submit-req

m-mbox-delete-req mm4-submit-res

mm7-submit-req mm4-deliveryrep-req

mm7-deliver-req mm4-deliveryrep-res
Billing (3)

MMS Prepaid Billing – IN Mediation Device


 In order to interface the prepaid subscribers with the
operator’s real-time billing system jinny provides the
RTCG.

 It allows real-time querying, debiting, crediting, and


charging of prepaid mobile subscriber credits
Billing (4)

MMS Charging
 MO MMS messages can be charged

 MT MMS messages can be charged

 Multiple retrievals of the same MMS message can be


charged. A repeated retrieval only occurs when previous
retrieval (s) failed for some reason. Disabling this feature
will only charge the customer once for the same MMS
message.

 Charging can also be based on the size of the MMS


message by assigning different charges to different size
ranges. The MO charges can be different from those of MT.
For example, the charge of a 25KB message is likely to be
more than the charge of a 10KB message.
Billing (5)

MMS Charging
Charging can also be based on the number of recipients for
the same MMS message.

The text returned to the MMS sender when running out of


units can also be set by the operator. For example: No
prepaid units!

Charging the MO MMS message can also be based on the


message destination such as an MO MMS message is
charged when sent to some VAS short code.

Charging the MT MMS message can also be based on the


message sender such as an MT message is charged when
sent from another mobile (MO MT) or when sent from a
non mobile.
Billing (6)

VASPID identifies a VAS provider (e.g. CNN, AP,


Reuters,…)
VASID identifies a VAS application provided by
some VAS provider (e.g. news, weather,…)
Administration
Web Administration (1)

http://<URL>/mmsadm/

Ran by Apache

Different levels of user

 Administrator

 Guest

 Customer Care

Any configuration changes made – relevant


process needs to be restarted from the
command line
Web Administration (2)
Command Line Administration (1)

MMSC Configuration files

 mmsc.ini

 mmsadm.ini

 smpp.ini

 ppg_cgi.ini

 mm7_to_mms.ini

 Histool.ini
Troubleshooting
MO – MT Call Flow

MO - MT MMS Successful Delivery

MMSC

WAP MMSC Main Process


Gateway (mms_x.fcgi)
MMS Sender

MMS Notification MM1 Queue


Process (mnot) (msg_plmn)
Push
Proxy
Gateway
MMS Delivery Report
SMSC
Process (mdel)
MMS Recipient
MO – MT Tracing: MO

1. /usr/local/apache/logs/access_log
The initial HTTP POST from the WAPGW

2. /home/jinny/log/mms_ws<date>.log
mms_x.fxgi process handles the message – msend-req
and m-send-conf

3. /home/jinny/log/ppg_cgi<date>.log
The generation the binary notification – m-notification-ind

4. /home/jinny/log/mmsctx<date>.log
The binary notification been pushed out over the
SMPP bind to the SMSC
MO – MT Tracing: MT (1)

1. /usr/local/apache/logs/access_log
The initial HTTP GET from the WAPGW – WSP/HTTP GET.req

2. /home/jinny/log/mms_ws<date>.log
mms_x.fxgi process handles the message – m-retrieve-
conf

3. /usr/local/apache/logs/access_log
Response from the handset on retrieval

4. /home/jinny/log/mms_ws<date>.log
m-notifyresp-ind been sent by the handset
MO – MT Tracing: MT (2)

5. /home/jinny/log/mms_ws<date>.log
Informs the PPG to generate a delivery report

6. /home/jinny/log/ppg_cgi<date>.log
The generation of the delivery report been – m-delivery-ind

7. /home/jinny/log/mmsctx<date>.log
The delivery report been pushed out over the
SMPP bind to the SMSC
MO – VAS Call Flow

MO - VAS MMS Successful Delivery

MMSC

MMSC Main Process MM7 Queue MMS to VAS Process


(mms_x.fcgi) (msg_mm7) (mms4vas)

WAP
Gateway
MMS Sender VAS Application
MO – VAS Tracing

1. /usr/local/apache/logs/access_log
The initial HTTP POST from the WAPGW

2. /home/jinny/log/mms_ws<date>.log
mms_x.fxgi process handles the message – m-send-req
and m-send-conf

3. /home/jinny/log/mms4vas<date>.log
SOAP envelope created and POST to VAS Provider URL
MO – Email Call Flow

MO - Email MMS Successful Delivery

MMSC

MMSC Main Process MM3 Queue MMS to Email Process


(mms_x.fcgi) (msg_email) (mms2smtp)

Internet
WAP
Gateway
MMS Sender Email Recipient
MO – Email Tracing

1. /usr/local/apache/logs/access_log
The initial HTTP POST from the WAPGW

2. /home/jinny/log/mms_ws<date>.log
mms_x.fxgi process handles the message – m-send-req
and m-send-conf

3. /home/jinny/log/mms2smtp<date>.log
Converts the MMS to SMTP format message. Passes
messages onto Sendmail mail client to pass on to Mail Relay.

4. /var/log/maillog
Sendmail processes the mail message
MO – MT (MM4) Call Flow

Jinny MMSC Transmitter

MMS Sender Delivery Report Acknowledge


MM4 TX Process
(mm4_tx)
MMS Message

MMS Message

MMSC Main Process MM4 Queue Foreign MMSC


(mms_x.fcgi) (mm4_msg) Receiver

MMS Message Acknowledge


MM4 RX Process
(mm4_rx)
Delivery Report

JMMSC Transmitter
MO – MT (MM4) Tracing: MO

1. /usr/local/apache/logs/access_log
The initial HTTP POST from the WAPGW

2. /home/jinny/log/mms_ws<date>.log
mms_x.fxgi process handles the message – m-send-req
and m-send-conf

3. /home/jinny/log/mm4_tx<date>.log
Converts the MMS to SMTP format message. Passes messages
onto Sendmail mail client Appends the MM4 headers. Passes
message and MM4_forward.REQ to sendmail to forward onto
foreign MMSC
4. /var/log/maillog
Sendmail processes the mail message and forwards on to foreign
MMSC via mail relay
5. /home/jinny/log/mm4_rx<date>.log
MM4_forward.RES received from foreign MMSC
VAS – MT Call Flow

VAS - MT MMS Successful Delivery

MMSC

VAS to MMS CGI


(mm7_to_mms)
VAS Application

WAP MMSC Main Process MM1 Queue


Gateway (mms_x.fcgi) (msg_plmn)
MMS Recipient

Push Proxy MMS Notification


SMSC
Gateway Process (mnot)
VAS – MT Tracing: VAS - MMSC

1. /usr/local/apace/logs/access_log
HTTP POST from VAS provider to MM7 cgi

2. /home/jinny/log/mm7tomms<date>.log
Log file for MM7 cgi. SOAP message is converted to MMS
message.

3. /home/jinny/log/mms_ws<date>.log
mms_x.fxgi process handles the message – m-send-req
and m-send-conf

4. /home/jinny/log/ppg_cgi<date>.log
The generation of the binary notification – m-notification-ind

5. /home/jinny/log/mmsctx<date>.log
The binary notification been pushed out over the
SMPP bind to the SMSC
VAS – MT Tracing: MT (1)

1. /usr/local/apache/logs/access_log
The initial HTTP GET from the WAPGW – WSP/HTTP GET.req

2. /home/jinny/log/mms_ws<date>.log
mms_x.fxgi process handles the message – m-retrieve-
conf

3. /usr/local/apache/logs/access_log
Response from the handset on retrieval

4. /home/jinny/log/mms_ws<date>.log
m-notifyresp-ind been sent by the handset
VAS – MT Tracing: MT (2)

5. /home/jinny/log/mms_ws<date>.log
Informs the mdel to generate a delivery report

6. /home/jinny/log/mdel<date>.log
The generation of the delivery report been – m-delivery-ind
is sent to the VAS application
MO (MM4) – MT Call Flow

Jinny MMSC Receiver

MMS Message Acknowledge MMS Recipient


MM4 TX Process
(mm4_tx)
Delivery Report

MMS Message

Foreign MMSC MM4 Queue MMSC Main Process


Transmitter (mm4_msg) (mms_x.fcgi)

MMS Message
MM4 RX Process
(mm4_rx)
Delivery Report Acknowledge

JMMSC Receiver
MO (MM4) – MT: MO (MM4) - MMSC

1. /home/jinny/log/mm4_rx<date>.log

An MM4_forward.REQ is received from foreign MMSC

2. /home/jinny/log/mm4_tx<date>.log
Sends back the MM4_forward.RES to the foreign MMSC

3. /home/jinny/log/mms_ws<date>.log
mms_x.fxgi process handles the message – m-send-req
and m-send-conf

4. /home/jinny/log/ppg_cgi<date>.log
The generation of the binary notification – m-notification-ind

5. /home/jinny/log/mmsctx<date>.log
The binary notification been pushed out over the
SMPP bind to the SMSC
MO (MM4) – MT: MT (1)

1. /usr/local/apache/logs/access_log
The initial HTTP GET from the WAPGW – WSP/HTTP GET.req

2. /home/jinny/log/mms_ws<date>.log
mms_x.fxgi process handles the message – m-retrieve-
conf

3. /usr/local/apache/logs/access_log
Response from the handset on retrieval

4. /home/jinny/log/mms_ws<date>.log
m-notifyresp-ind been sent by the handset
MO (MM4) – MT: MT (2)

5. /home/jinny/log/mms_ws<date>.log
Informs the PPG to generate a delivery report

6. /home/jinny/log/ppg_cgi<date>.log
The generationof the delivery report been – m-delivery-ind

7. /home/jinny/log/mmsctx<date>.log
The delivery report been pushed out over the
SMPP bind to the SMSC
Email – MT Call Flow

Email - MT MMS Successful Delivery

MMSC

Email to MMS Process


Internet
(smtp2mms)
mm4_rx

Email Sender

WAP MMSC Main Process MM1 Queue


Gateway (mms_x.fcgi) (msg_plmn)
MMS Recipient

Push Proxy MMS Notification


SMSC
Gateway Process (mnot)
Email – MT Tracing: Email - MMSC

1. /home/jinny/log/mm4_rx<date>.log

An MM4_forward.REQ is received from mail relay

2. /home/jinny/log/mms_ws<date>.log
mms_x.fxgi process handles the message – m-send-req
and m-send-conf

3. /home/jinny/log/ppg_cgi<date>.log
The generationof the binary notification – m-notification-ind

4. /home/jinny/log/mmsctx<date>.log
The binary notification been pushed out over the
SMPP bind to the SMSC
Email – MT Tracing: MT (1)

1. /usr/local/apache/logs/access_log
The initial HTTP GET from the WAPGW – WSP/HTTP GET.req

2. /home/jinny/log/mms_ws<date>.log
mms_x.fxgi process handles the message – m-retrieve-
conf

3. /usr/local/apache/logs/access_log
Response from the handset on retrieval

4. /home/jinny/log/mms_ws<date>.log
m-notifyresp-ind been sent by the handset
Email – MT Tracing: MT (2)

5. /home/jinny/log/mms_ws<date>.log
Look for traces of the message in this log file in case you are
unable to download the message
System Monitoring
System Monitoring

Disk Usage

CPU Usage

Alarms
Disk & CPU Monitoring

jmon
 Started and kept running through /etc/inittab
• jmon:2345:respawn:/home/jinny/bin/jmon.sh
>/var/jinny/log/initjmon.log 2>&1
 Configuration in
• jmon.ini
• jdiskmon.sh
• jcpumon.sh
 Log file jmon<date>.log
Alarms (1)

/home/jinny/bin/alarmprog.sh

 Generates SNMP alarms

SNMP sends these alarms to O&M platform

 Started and kept running through /etc/inittab

• jsn:234:respawn:/home/jinny/bin/jsnmptrapd.sh >
/var/jinny/log/inittrap.log 2>&1

 Configuration

• jsnmp.ini
Alarms (2)

jsnmptrapd collects alarms and sends them to


Email addresses

 Started and kept running through /etc/inittab

• jsn:234:respawn:/home/jinny/bin/jsnmptrapd.sh >
/var/jinny/log/inittrap.log 2>&1

 Configuration

• jsnmptrapd.ini
Statistics

Most process write to a counters file


Counters file - /var/jinny/shm/counters
• Permissions need to be jinny:jinny

jstat reads this file and outputs a .csv file at a


configurable interval
Output directory is normally /var/jinny/stat/
Can be ran as a cron job or from the inittab
Configuration
 jstat.sh
Full List of counters is available in the OAM
Guide
Counters

m-send-req counters
m-retrieve-conf counters
m-notification-ind counters
m-delivery-ind counters
m-notifyresp-ind counters
m-delivery-ind counters
SMS notification (Legacy) counters
Retrieval from web (Legacy) counters
Website: www.jinny.ie
Copyright © 2009 Jinny Software Ltd. All rights
reserved. Jinny, Jinny Software, More Messaging and
other Jinny products mentioned herein as well as their
respective logos are trademarks or registered
trademarks of Jinny Software Ltd. in Ireland and in
several other countries all over the world.

You might also like