Mm1router Design

  • Uploaded by: Sarah Smith
  • 0
  • 0
  • July 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Mm1router Design as PDF for free.

More details

  • Words: 1,420
  • Pages: 13
MM1 Router v4.0 High Level Design Document version: 1.1 Document date: July, 2007 Company Confidential Released

     

http://www.airwidesolutions.com/

airwide solutions Montreal

airwide solutions UK

1111 St-Charles Street West 8th floor, East Tower Longueuil, Quebec J4K 5G4 Canada

New Century Place 20 – 22 Queens Road Reading, Berkshire RG1 4AU United Kingdom

phone: +1 450 646 7700 toll free: +1 800 524 8792 fax: +1 450 646 7004

phone: +44 118 963 7272 fax: +44 118 964 2369

airwide solutions Ottawa

airwide solutions Australia

515 Legget Drive Suite 700 Kanata, Ontario K2K 3G4 Canada

Level 2, 173 Pacific Highway North Sydney, NSW 2060 Australia

phone: +1 613 270 0364 fax: +1 613 270 0497

phone: +61 2 99 29 41 11 fax: +61 2 99 29 41 99

Every reasonable effort has been made to ensure the information and procedures detailed in this guide are complete and accurate at the time of printing. However, information contained in this guide is subject to change without notice. © Copyright of airwide solutions 2006. All rights reserved. The copyright in this work is vested in airwide solutions and the information contained herein is confidential. This work (either in whole or in part) must not be modified, reproduced, disclosed or disseminated to others or used for purposes other than that for which it is supplied, without the prior written permission of airwide solutions. If this work (or any part of it) is provided to a party ("Other Party") under a contract between airwide solutions and the Other Party, then the use of the work by the Other Party shall be governed by the provisions of the contract.

Document history Issue

Date

Changes since last issue

Owner

1.0

January, 2006

Creation of HLD in new doc format

Ken Kim

1.1

July, 2007

Update for v4.0

David Jee

Changes since last issue

Document control Owner: Approved by:

David Jee

Title:

Software Designer

Tracee Smith

Title:

R&D Manager

Signature:

Date:

Review record ref.:

Distribution:

File pathname Last printed:

airwide solutions Error: Reference source not found

26298521.doc December 10, 2009

Error: Reference source not foundDocument version: 1.1Error: Reference source not found

3

MM1 Router v4.0

High Level Design

Contents Document history.......................................................................................................................................3 Contents....................................................................................................................................................4 1 Introduction..............................................................................................................................................5 1.1 Document goal................................................................................................................................5 1.2 Intended audience...........................................................................................................................5 1.3 References......................................................................................................................................5 2 High level view.........................................................................................................................................6 2.1 Main routing logic............................................................................................................................6 2.2 Optional routing logic.......................................................................................................................6 2.3 MM1 router search order.................................................................................................................8 2.4 Regular expressions........................................................................................................................9 2.5 Routing matrix.................................................................................................................................9 2.6 Log file rotation................................................................................................................................9 2.7 Information about the instanceId...................................................................................................10 2.8 Automatically generate the OAMP Agent configuration entries.....................................................10 3 Key items from the main configuration file (proxy.cfg)...........................................................................11 4 Routing configuration.............................................................................................................................12 4.1 Example........................................................................................................................................12

airwide solutions

4

1

Introduction airwide solutions was founded on July 26, 2004 following the acquisition of Schlumberger Messaging Solutions (MSG) by Taral Networks. The company provides innovative messaging and content delivery management solutions to over 75 wireless operators, content providers and aggregators around the world. Core products include SMSC, MMSC, MMS push and router gateways, Value-added services (VAS) management and Intelligent networking applications. airwide solutions helps customers worldwide to grow a dynamic and highly profitable messaging business by providing flexible and innovative wireless content delivery and messaging solutions.

1.1

Document goal The intent of this document is to explain at a high level, the design of the MM1 Proxy Agent.

1.2

Intended audience Internal airwide solutions staff (such as Operations, Delivery and Test Teams).

1.3

References The following documentation and links can help the reader understand this document: [1]

MM1 Router Configuration Guide, v4.3, Ken Kim, January 2006

[2]

MM1 Router Packaging and Installation Guide, January 2006

[3]

The Dummies Guide to Configuring the MM1 Router for Telstra, Ken Kim, August 2006

airwide solutions

5

2

High level view The role of MM1Proxy (also know as MM1Router or MMR) is to route mm1 message PDU from the handset to the appropriate MMSC. The main routing is base on the x-mms-transactionId and routing on the GET url.

2.1

Main routing logic The following three steps are always done: 1. GET url routing Routes defined in “geturlRoute.cfg” 2. X-mms-transactionId routing Route defined in “transactionIdRoute.cfg” 3. If all else fails, a Default route Route to server defined in “proxy.cfg” as “DEFAULT”

2.2

Optional routing logic Optionally, based on configuration flags, mm1proxy can also route base on: 1. HTTP header routing Based on the defined HTTP header name(“headerKey”), and routes defined in “headerRoute.cfg” 2. MM1 Message Type routing routes defined in “messageTypeRoute.cfg” 3. Sender Domain Routing, routes defined in “senderDomainRouting.cfg 4. Destination Routing, routes defined in “recipientRoute.cfg 5. MM7 Message ID routing, routes defined in “proxy.cfg MM7ROUTER=false oddMsgIdHost=1.2.3.4 evenMsgIdHost=2.2.3.4 6. The following filters is only done on the sender address a. ENUM b. Blacklist (MSISDN filtering) c. Domain filtering When “enableHeaderRouting” and “enableMessageTypeRouting” are enabled, and a Destination Filter is used, the following represents the precedence of the routing logic:

airwide solutions

6

1. HTTP header routing 2. Sender Domain 3. GET url routing 4. Destination (msisdn or shortcode) routing 5. MM1 Message Type routing 6. X-mms-transactionId routing 7. Default route Once a route type has been determined, the actual routing is then decided by a Regular Expression match being performed on the appropriate field.

airwide solutions

7

2.3

MM1 router search order Figure 1.

Flow chart showing the search order

Header Search

NO

GET URL Search

NO

Destination Filter

NO

MessageType Search

NO

YES

Default port =0

NO

Route

Default port =0

NO

Route

Default port =0

NO

Route

Default port =0

NO

Route

Default port =0

NO

Route

YES

YES

YES

YES

YES

YES

YES

X-mmstransactionID Search

YES

NO

YES

DEFAULT Route

airwide solutions

8

2.4

Regular expressions The regular expression syntax is based on the “Basic Regular Expression” from Sun. It is NOT the extended regular expression. For example: BASIC- will match [a-zA-Z0-9][a-zA-Z0-9]*/[a-zA-Z0-9] [a-zA-Z0-9]*/[a-zA-Z0-9] [a-zA-Z0-9]* EXTENDED - will not match [a-zA-Z0-9]+/[a-zA-Z0-9]+/[a-zA-Z0-9]+ For more details on the difference on Basic versus Extended, please visit: http://www.grymoire.com/Unix/Regular.html

2.5

Routing matrix Table 1.

Routing matrix

Routing Use Case/Configurat

2.6

POST with HEADER MSISDN= Log file rotationwith HEADER MSISDN= POST POST with HEADER MSISDN= POST with HEADER MSISDN= The log files are rotated base on AccessRotationInterval in configuration.

The timestamp based on seconds from epoch will be appended to the log file names specified in proxy.cfg. Archiving of these log files are the responsibility of the operator.

airwide solutions

9

2.7

Information about the instanceId. The instanceId that is defined in the routing configuration is used for OAMP Managed Object initialization. This value MUST be globally unique for each route, spanning across all mm1proxy configuration files. With this in mind, instanceId number ranges have been reserved for each routing method. 

HTTP Header Method headerRoute.cfg: 300399



Sender Domain senderDomainRouting.cfg: 600-->699



GET Method getUrlRoute.cfg: 100199



Destination Method recipientRoute.cfg: 500599



Message Type Method messageTypeRoute.cfg: 400499



X-mms-transactionId Method transactionIdRoute.cfg: 200299

These are general guidelines. The ranges can be customized to any other type, as long as the instanceId is unique for each route. 2.8

Automatically generate the OAMP Agent configuration entries Once you have configured all of your route entries, execute generateOampConfig.sh >> /path/to/oampSystem.cfg This will append the corresponding oamp configuration for the mm1proxy, needed by the OAMP Agent.

airwide solutions

10

3

Key items from the main configuration file (proxy.cfg)

ServerHostPort = 0.0.0.0:8080 ManagementHostPort = 0.0.0.0:8889 #################################### # Routing config file #################################### #Emergency default server #################################### DEFAULT = 0.0.0.0:6187 RoutingConfigFile GETRoutingConfigFile

= ./transactionIdRoute.cfg = ./getUrlRoute.cfg

#Enabling header routing is mutual exclusive. Packets will not be inspected. #Performance will be reduced due to copying of data, required in parsing headers enableHeaderRouting = false headerKey = host headerRoutingFile = ./headerRoute.cfg enableMessageTypeRouting = false MessageTypeRoutingFile = ./messageTypeRoute.cfg

airwide solutions

11

4

Routing configuration Each routing method has a configuration in the following format: 1st) Define the default server for each Method Type. This default route’s regexMatch needs to match, otherwise the message will be routed to the emergency DEFAULT route defined in proxy.cfg Define: host= port= regexMatch= instanceId= 2nd) Define the list of servers by editing “server_list”, add a unique key name representing each server, separated by a space. 3rd) For each unique key defined in “server_list”, specify its appropriate host, port, regexMatch and instanceId values, in the following format: .host .port .regexMatch .instanceId

4.1

Example #################################### #Regular default server #################################### host=10.0.1.14 port=6187 regexMatch=[a-zA-Z0-9]* ##IMPORTANT instanceID must be globally unique instanceId=200 #################################### #MMSC server routing List #################################### server_list = AIRNGINE MMSC1 MMSC2 AIRNGINE.host = 10.0.1.206 AIRNGINE.port = 30139 AIRNGINE.regexMatch = ^[a-zA-Z0-9][a-zA-Z0-9]*/[a-zA-Z0-9][a-zA-Z09]*/[a-zA-Z0-9][a-zA-Z0-9]* AIRNGINE.instanceId=201 MMSC1.host = 10.0.1.1 MMSC1.port = 8080 MMSC1.regexMatch = ^REPLACEME1* MMSC1.instanceId=202 MMSC2.host = 10.0.1.2 MMSC2.port = 8090

airwide solutions

12

MMSC2.regexMatch = ^REPLACEME2* MMSC2.instanceId=203

airwide solutions

13

Related Documents

Mm1router Design
July 2020 8
Design
October 2019 39
Design
November 2019 31
Design
November 2019 30
Design
May 2020 27
Design
May 2020 25

More Documents from ""

Transition Simulators
July 2020 5
Mmsc Setup
July 2020 8
Linux Architecture
July 2020 7
Mm1router Design
July 2020 8
Build Test Debug
July 2020 10