Rapport

download Rapport

of 54

description

Intern Report

Transcript of Rapport

  • 5/27/2018 Rapport

    1/54

    {EPITECH.}

    European Institute of Technology

    INTERNSHIP REPORT

    2007.03.192007.12.31

    TNG Technology Consulting

    Software Consulting

    Laurent Malvert

    malver_l

    [email protected]

    Abstract

    This document introduces the different tasks of the final internship assignment performedbetween March and August 2007 by the author as a software consultant contracted by TNG

    Technology Consulting GmbH in order to validate the {EPITECH.} Expert degree.

  • 5/27/2018 Rapport

    2/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}II

  • 5/27/2018 Rapport

    3/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}III

    TABLE OF CONTENTS

    ACKNOWLEDGMENTS V

    SUMMARY 7

    1. TNG TECHNOLOGY CONSULTING 7

    2. MISSION STATEMENT 7

    3. INTERNSHIP COMPLETION STAGES 8

    THE ENTERPRISE: BRANCHES, ACTIVITIES & CUSTOMERS 9

    1. THE LINE OF BUSINESS: IT CONSULTING 9

    2. THE ENTERPRISE: TNG TECHNOLOGY CONSULTING 9

    3. INDUSTRY SECTORS AND TNG CUSTOMERS 12

    4. DEPARTMENTS AND SERVICES 13

    5. THE POSITION: WORKING AS A TNG SOFTWARE CONSULTANT 13

    ASSIGNMENTS 15

    1. TNG: BUSINESS INTELLIGENCE AND TECHNOLOGY WATCH 15

    1.1. GOOGLE SERVICES 15

    1.2. WIRECARD 18

    1.3. MISCELLANEOUS: PROJECTS PROPOSALS, TECHNICAL TALKS AND OTHER TASKS 20

    2. O2: SOFTWARE DEVELOPMENT AND TESTING 22

    2.1. NOKIA CDR-TOOLS 22

    2.2. DSL-SIMULATOR 28

    2.3. FONIC PROJECT TESTING 30

    3. OVERALL TIMELINE 37

    CONCLUSION 39

    BIBLIOGRAPHY 41

    GLOSSARY 43

    APPENDIXES 45

  • 5/27/2018 Rapport

    4/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}IV

  • 5/27/2018 Rapport

    5/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}V

    ACKNOWLEDGMENTS

    The author wishes to express sincere appreciation and thanks to all his coworkers at TNG Technology

    Consulting for their assistance during this internship and for their technically challenging and instructive

    entourage.

    In addition, the author would like to thank his customer contacts by O2 Germany GmbHfor their proposed

    projects and their allowance to publish this material.

    Special thanks are addressed to the following persons for their collaboration with and/or involvement in

    the projects presented throughout this report (alphabetically):

    At TNG:o K. Behrmanno J. Benilovo R. Dalhkeo M. Frtscho H. Klaggeso W. Koskao J. Meltzero G. Mllero S. Nagyo G. Pacheo R. Pintarellio E. Reinelo M. Schikowski.o S. Stammingero C. Stocko H. Wilhelmio G. Winkler

    At O2 Service:o R. Steinbachero D. Wagner

  • 5/27/2018 Rapport

    6/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}VI

  • 5/27/2018 Rapport

    7/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}7

    S u m m a r y

    This report presents exhaustively the work that has been realized at TNG Technology Consulting

    between the 19thof March and the 31stof December 2007 during the last internship completing the 5 thyearof study and the whole curriculum at the European Institute of Technology.

    The company the internship has been done in, as well as the projects that were worked on, have allbeen chosen in respect of their technically and humanly challenging specifications, requirements andconditions. Those are fully explained and detailed later on through this document, as are the obtainedresults and learned lessons.

    1.TNG Technology Consulting

    TNG Technology Consulting GmbH (TNG)is a German company based in Unterfhring, in thestate of Bayern. Founded in 2001, and currently composed of 36 technically highly-skilled co-workers,

    TNG poses as a cutting-edge and innovative software consulting partnership, which mission is toaddress strategic or critical IT concerns.

    The whereabouts, organization and internal workings of TNG as well as the working environmentconstituted by TNG itself and its net of customers and partners will later be exposed in this documents

    Enterprisechapter.

    2.Mission StatementThis internship, because of the very nature of a consulting company and of the software consultant

    position, does not come with any fixed initially assigned mission statements or objectives.

    Indeed, the role of a TNG software consultant is to analyze and solve specific IT related issues forvarious customers, each of them evolving in numerous domains that compose the broad range ofindustry branches they deal with. This makes the global work environment of a given project potentially

    very different from another one, whether it is considered from a technical, geographical or human pointof view.

    TNGs areas of expertise and activity are relatively wide. Therefore, the consultant is required to beable to professionally provide the customer with his technical and managerial proficiency as he might bemeant to act as a multi-task effective actor, namely:

    a programmer a developer a tester an adviser a team-leader a project-manager

  • 5/27/2018 Rapport

    8/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}8

    Depending on the project the consultant works either on site in the customers offices or remotelyfrom TNGs offices, and should always abide to TNGs Code of Ethics.

    As of this writing, various kinds of projects have been accomplished throughout this internship, withdifferent mission-specific roles and objectives, covering various topics and technologies. All of which

    will all be further detailed in theAssignmentschapter of this document.

    3. Internship Completion StagesAs explained earlier, because of the nature of software consultancy, this internship involved different

    projects and inherent tasks. Hence, this document and particularly itsAssignmentschapter, will exhaustivelylist the tasks that the author was required to accomplish. However, it will focus more extensively on themain projects, as those allow to clearly distinct noticeable stages throughout the internship.

    Except for the expectable maintenance operations and other minor technology watch-related tasks thatare bound to any software development project and are not listed here, it unwound according to thefollowing structure, which is the one this documents presentation will be based on:

    TNG internal projects:o (Technology Watch) Google Serviceso (Business Intelligence) Wirecard

    O2 remote projects:o (Development) Nokia CDR-Toolso (Development) DSL-Simulator

    O2 on-site projects:o (Development & Testing) Fonic Platform

  • 5/27/2018 Rapport

    9/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}9

    T h e E n t e r p r i s e :B r a n c h e s , A c t i v i t i e s & C u s t o m e r s

    1.The Line of Business: IT ConsultingInformation Technologies encompass all forms of technology used to create, store, exchange, and

    use information in its various forms while consulting is an activity where professionals provide expertadvice in a particular domain or area of expertise to demanding customers.

    With the dawn of the computer age and the explosion of the internet bubble, consultancy hasbecome one of the leading and most active markets when it comes to the edition of software products,

    whether they are meant for internal and / or commercial purposes.

    However, software consulting does not just limit itself to the development and production ofsoftware, but also to the trading of expert skills related to all the surrounding technologies andcapabilities present in the IT field: hardware, networking, management, business intelligence and riskassessment, to name a few.

    The role of an IT consulting company merely is to provide solutions to technical and non-technicalproblems that may occur down the pipe of technology embarking goods production. It is also toprovide theoretical advice and hands-on aid to businesses on how to make the best use of Information

    Technologies to meet their objectives.

    2.The Enterprise: TNG Technology Consulting

    2.1.History

    TNG Technology Consulting GmbH is a software consulting company based in Unterfhring(Bayern, Germany), that was founded in 2001.

    It is to notice that TNGs amount of co-workers as well as its range of customers has expandedrapidly over the last years and still increases, and that the company never had to resort to any financialaid or bank credit. This testifies of its overall management and production quality, making it asuccessful post-2000 emerging company.

    2.2.OrganizationTNG is a partnership founded by the following six partners:

  • 5/27/2018 Rapport

    10/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}10

    Figure 1 - Partners

    Every year, a new board of 3 directors is elected by the aforementioned partners to lead thecompany during the upcoming year:

    Figure 2 - Board of Directors

    Most of the decision taking-processes by TNG are based on the 4-eyes principle, which impliesthat at least 2 of the current directors should always approve any corporate action. A decision met bythe board can be later overruled by a mutual decision of the partners.

    Figure 3 - Decision-taking precedence

    At the date of this writing, TNG employs: 36 staff managers and consultants 3 interns.

    2.3.PhilosophyWorking at TNG requires, in contrast with a herd of companies which believe in a stronger and

    deeper managerial structure; a great deal of involvement, and a high level of interaction between all

    ChristophStock

    EikeReinel

    GerhardMller

    HaraldWilhelmi

    HenrikKlagges

    OliverSoos

    Board of Directors

    2006

    H. Klagges G. Mller E. Reinel

    2007

    H. Klagges G. Mller C. Stock

    Partners

    Directors

    Consultants

    Interns

  • 5/27/2018 Rapport

    11/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}11

    the co-workers, which makes it possible for all the experts to evolve personally as well asprofessionally in the company.

    This philosophy and the 4 eyes principles arealso reflected in the project management schemes,where decisions are to be validated by consensus.

    In addition to this, all TNG software consultants are meant to act as professionals and expertswhen they are on duty and should implicitly abide by the TNGs Code of Ethics.

    2.4.Code of EthicsTNGs Code of Ethics (CoE) defines the different obligations that are to be met by any TNG

    employee in all case. The CoE, based on the IMC USAs Codeseparates 3 different fields of action,which are explained below but are not fully detailed for the sake of clarity, brevity and conciseness.

    Our Obligations towards the Consultant-to-Customer Relationship

    Values: Integrity, Competency, Independency, Objectivity, Professionalism

    Realistic duty-related expectations

    Essential Knowledge and Proficiency

    Understanding of the Goals, the Perimeter and the Operation Chart

    Addressing a customers confidential matters accordingly

    Matters and Conflicts of Interest

    Pulling-back when Objectivity or Integrity have been impaired

    Head-hunting on consultation only

    Our Obligations towards the Financial Integrity

    Remuneration basis forefront agreement

    No personal gain Divulgation of financial interests

    Our Obligations towards the Openness and Reputation

    Reporting harmful or illegal activities

    Respecting the rights of consulting colleagues and firms

    Integrity and Professionalism

    No misleading publicity and no decrying of the competition

    Abidance to the Code

  • 5/27/2018 Rapport

    12/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}12

    3. Industry Sectors and TNG customersThe typical TNG customers are large or multinational concerns. Here is a list of TNGs example

    clients for each active industry sector. (Company names are not listed for confidentiality reasons)

    Figure 4 - Customers

    an international premium car manufacturer

    a car IT components supplierAutomotive

    a system and software houseAerospace & Defense

    an online payment provider

    a German bank

    a German online broker

    Banking & Finance

    a manufacturing and machinery marketplace

    an online virtual goods marketplaceeCommerce

    a US student community

    an international linguistic services companyEducation

    a multinational EE companyElectronics

    a UNIX server hardware manufacturer

    a specialized IT services provider

    InformationTechnologies

    an international insurance companyInsurance

    international franchise in the food sector

    a warehouse goods tracking specialistLogistics & Franchising

    a German daily-newspaper publishing house

    a public radio stationMedia & Publishing

    a mobile telecommunications operator

    a mobile hardware and software supplierTelecommunications

  • 5/27/2018 Rapport

    13/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}13

    4.Departments and ServicesTNG Technology Consulting provides services in 3 main areas of expertise, where employees

    pose both as implementers and consultants (for a complete and detailed listing of the offered servicesand capabilities, please report to theAppendix A: Enterprise Documentation)

    IMPLEMENTATION CONSULTING

    SoftwareDevelopment

    Design and ImplementationTesting , Tuning, Maintainance Focus on :

    o Enterprise Javao C#o C/C++o Pythono Perlo

    Code Review Architecture Best Practices Software Refactoring Software Verification

    Administration&

    Operations

    Network and Services MonitoringOperation Data EvaluationClusters & High Availability

    ServicesScriptingServer / SAN Administration

    Securityo Auditso Cryptographyo PKI

    Provider and OutsourcerControl

    Network Design Data-Centers Setup and

    Migration Troubleshooting

    ITManagement

    Project Management Project Office Analysis

    IT-based Business Strategies Consulting and Research Studies

    Table 5 - Services

    5.The Position: Working as a TNG Software ConsultantThe skills that were used as prerequisites at the time of the hiring were principally technical skillsregarding programming languages and software engineering techniques.

    This internship therefore was more actively focused on activities related to the SoftwareDevelopment services (see Table 5). It was spent by working 6 months as an employed TNG SoftwareConsultant, posing at first as an internal developer and analyst in charge of minor technology watch andbusiness intelligence matters, to be later assigned to work on external projects, developed eitherindividually or in teams, at TNGs or the customers offices.Those projects goals, specifications andresults are detailed in the upcomingAssignmentschapter.

  • 5/27/2018 Rapport

    14/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}14

  • 5/27/2018 Rapport

    15/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}15

    A s s i g n m e n t s

    Note: the followingprojects specifications, samples and excerpts have either been: voluntarily obfuscated to preserve sensitive datas confidentiality voluntarily stripped to preserve sensitive workflows confidentiality

    1.TNG: Business Intelligence and Technology WatchDuring the first month of the internship, while it was necessary to wait for a contract opportunity or

    a fix position to open and to wait for projects proposals to be validated, most of the tasks were focusedon internal business intelligence analysis and technology watch matters.

    1.1.Google ServicesThe purpose of this project was to evaluate, based on a customers request, the feasibility of a

    Google AdSense and Google Maps based online or mobile embedded route planner targeting themountain bike and city bike markets.

    1.1.1. Requirements1.1.1.1.Objectives

    Still in its very early conception stage, this project didnt come up with precise specifications.The primary objective would have been to build an online portal accessible through the internetor from an embedded device to build a custom route planner.

    The particularity of this routeplanner was that it would haverequired the ability to determineaccurate paths and waypointsfor biking routes, whereas thosetools are nowadays mostlytargeted at the automotivemarket.

    The secondary objectivewould have been to have thepossibility of viewing context-sensitive advertisements orinformation about localconcerns.

    Figure 6 - Route Planning Demo with Google Maps API

  • 5/27/2018 Rapport

    16/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}16

    For instance, for a specific route:

    Bike-shops or maintenance offices Points of Views and Points and Interest Biking-clubs

    1.1.1.2.SpecificationsBecause of the nature of project and the limited amount of resources (namely time and man-

    power) that could have been dedicated to this project, it was deemed necessary to focus ontechnologies that would allow the implementation of a minimalist solution with a minimum ofeffort in a minimum of time, hence the need to consider existing frameworks ready to be usedout-of-the-box.

    Therefore we chose to evaluate the project viability from a feasibility point of viewwith themost straight-forward scenario, which implied the following study points:

    1.1.2. Development Report1.1.2.1.RealizationThe realization of this project was broken down in different tasks:

    Performing feasibility tests using the Google Maps API Performing feasibility tests using the Google AdSense API Researching and comparing other existing APIs

    Fulfilling the study implied of course the development of several tests and demos to verifythe aforementioned points validity and evaluate the complexity of the project in regard of the

    resources constraints. It also required interacting with the Google Maps and Google AdSensesteams for further investigation of the APIsmodularity and future evolutions.

    Route Planning

    Performing path-finding operations with Google Maps

    Defining specific routes with Google Maps

    Defining routes than are not part of standard road-networks

    Study alternative products that could serve similar purposes

    Context-sensitive Information network

    Displaying context-based adverts from on geo-coded information

    Displaying context-based adverts from textual-content or queries

    Feasibility of an integrated Google AdSense solution

  • 5/27/2018 Rapport

    17/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}17

    1.1.2.2.ResultsThe results could be summed up with the following matrix:

    ADVANTAGES DRAWBACKS

    Google Maps API

    Route definition support Path-finding support Geo-positioning support Pinpoints supportAcceptable latency Ease of integration

    Non-permissive licenseRequires web access

    Google AdSense API

    Quality of the text-sensitive ads Possibility to ban competitors

    Restricted graphical charterNo really fine-grained controlRequires web accessNo programmatic API

    Alternative MappingAPIs

    Solutions plethora Possible workarounds Open-Source frameworks

    Painful integration Unreliable supportIndirectly expensive

    Table 7 - Google APIs' Comparative Results

    As it can be noticed here, the Google Maps API revealed itself to be a very interestingsolution from a technical point of view, except for its non-permissive license, which forbids theuse of the path-finding algorithms or web-services for automated / programmed routecalculation. This drawback is unfortunately more important than meets the eye at first, because it

    would have implied the reimplementation of the restricted routines or the integration withanother path-finding framework to interact with the Google Maps.

    Another problem is the use of the Google Maps API only through the online web-services,which forbids a non-networked mobile device to be able to use the final product, thusforbidding bikers to rethink their route while they are on their way.

    Regarding the Google AdSense API, this appeared to be the biggest problem. While it wouldhave been possible to work around the Google Maps API with alternative solutions, the Google

    AdSenses features would have been the best bet for a fast implementation meeting with thestress deadline. However, its license forbids modifying the appearance of the advertisingsnippets, and it is not really possible to control the adverts selection to obtain fine-grainedselection. Finally, the Google AdSense API did not meet up with TNGs expectations as it is

    only meant to control a farm of Google AdSense accounts (like on a blogging platform whichwould give its users the possibility to use AdSense, for instance), and cannot be used toprogrammatically control the advertising routines.

    Considering all those non-expected results, the project would have deviated from theforeseen scenario and did not appear to be viable as it would have required more time andhuman-resources than initially expected. Therefore, this project proposal was rejected.

  • 5/27/2018 Rapport

    18/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}18

    1.2.WirecardWirecard AG is one of the strongest TNG clients, where a handful of consultants work full-time on

    several projects. During March 2007, TNG wanted to assert the popularity and market penetration ofthe latest Wirecard AGs line of products: the Wirecard online credit-cards. It was also requested to

    study how the new Wirecards release had impacted the overall financial stability of the Wirecard AGcompany.

    1.2.1. Requirements1.2.1.1.Objectives

    Research and document the Wirecards online popularity among the average onlinecustomers, as well as Wirecard AGs financial status.

    1.2.1.2.SpecificationsIt was request for this research / analysis project to report on Wirecard AGs and the

    Wirecards following points:

    General on-line exposure Financial status / health Customer satisfaction Overall corporate image

    This report was to be researched, written and delivered over a 2-days period and to be filed inwith appropriate support documentation.

    1.2.2. Development Report1.2.2.1.RealizationThis quite short-lived project did not rest upon technical skills and knowledge, and consisted

    in the drafting of a summarized business intelligence report for G. Mller, one of the TNGpartners and software consultants working at Wirecard.

    To understand which information had to be filtered, it was important to determine thefollowing key points (ordered by priority):

    Online banking analysiso Key sectors and indicators

    Overall health Growth potential

    o Active concerns Wirecard AG

    o Organizationo Known factso Financial healtho Reputationo Business plan

    Wirecard CC analysiso Customers

  • 5/27/2018 Rapport

    19/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}19

    Listing Satisfaction poll

    o Competitors Listing Comparison of Wirecard CC and its rivals

    o Exposure Events Press Web

    1.2.2.2.ResultsBelow is a screenshot of the mind-map which was filed in with the report (critical and

    sensitive nodes have been stripped or folded for confidentiality reasons).

    Figure 8 - Wirecard Analysis MindMap

  • 5/27/2018 Rapport

    20/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}20

    1.3.Miscellaneous: Projects Proposals, Technical Talks and other TasksAmong all other projects realized by TNG, there are also a lot of smaller routine day-to-day

    consulting tasks, particularly focused on the research of new projects and clients, as well as thepermanent education of all TNG consultants.

    1.1.1. Project Studies and Draft ProposalsResearching new projects and clients, evaluating a customers request or drafting a proposal for

    a future project that might be realized by TNG is a chronic activity, often carried out by the seniorTNG staff or partners.

    However, on some particular occasions, it can happen that other consultants might be requiredto give a helping hand in order to get a wider range of opinions. Besides, the Information

    Technologies covering a huge field of miscellaneous expertise, it is not conceivable to expect every

    consultant to have an exhaustive and absolute wisdom in all things.

    It is therefore commonplace to request other colleagues for comments when it is supposed thatone of them among the group might be able to provide a more proficient criticism.

    1.1.2. Talks: TechDays and OfficeDaysAs it has been stated earlier, IT is a very broad field, evolving at a very fast pace. Therefore it is

    TNGs belief that consultants should not only professionally but also personally carry out researchabout the latest technological improvements and discoveries and to share this knowledge with thegroup to help everyone to integrate the flow of information.

    Likewise, TNG will support employees willing to participate in IT-related events, for instance:

    User Groups meetings (Java User Group, Microsoft User Group, ) Conferences and Workshops (Google Developer Day, )

    To capitalize on this cutting-edge knowledge and help to widespread it among its consultants,TNG organizes twice a month all teams-meetings at the office. Those meetings are called theTechDays and OfficeDays.

    The goal of TechDays and OfficeDays is namely to give the consultants a chance to meet upand talk about their latest experiences. It might be an appropriate time to:

    report about specific problems with an ongoing project by a customer exchange information about the latest buzzing-technology request help from colleagues in a particular field of expertise

    Occasionally, TNG will also invite external speakers, usually involved in an emerging OpenSource software project, or even specialists in IT-related fields, whether they are professionaldevelopers, enthusiasts, authors or researchers.

  • 5/27/2018 Rapport

    21/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}21

    This is also the occasion for the TNG management staff to perform a quick rundown so thateverybody in the company will be up-to-speed and aware of the latest corporate news. In additionto this, the casual and informal ambiance makes it easier on TechDays / OfficeDays for new co-

    workers to become integrated and get familiar with the whole team, introduce themselves and theirbackground.

    For instance, it was a good occasion to meet up with the team and share knowledge about thecurrent economical and educational status of IT in China.

    Figure 9 - TechDay Talk about the IT in China

    Also, it allowed the author to perform another presentation on the whole panel of Googleonline services, as the knowledge acquired with the project exposed in 1.1 Google Servicesoffered agood opportunity to research uncommon or even unknown features and to bring the spotlight onthem.

    Figure 10 - TechDay Talk about Google Services

  • 5/27/2018 Rapport

    22/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}22

    2.O2: Software Development and TestingThe rest of the internship was spent working mostly on projects for different services of O2

    Germany. For the sake of clarity and brevity, this section will focus on the presentation of the threemost relevant projects, all of which consisting in software development and consulting services.

    2.1.Nokia CDR-ToolsThe Nokia CDR-Tools is a project developed for O2 Germany. It represents both a set of scripts

    and a programmatic framework to be reused internally by O2, in order to analyze and produce CallData Records, sometimes also know as Call Detail Records or Customer Data Records (CDRs).

    Those CDRs are most generally generated by PBX and PMS systems during or at the end of aphone call. They then contain information, sometimes in clear or compressed form, such as:

    the duration of the call the caller the callee the type of the call (WAP, Internet, GPRS, SMS, MMS, Voice ) the origin and destination types of the call (national / international) transported data (in the case of SMS attachments for instance)

    For more information regarding CDRs, please refer to the appendixes.

    2.1.1.Requirements2.1.1.1.ObjectivesThe Nokia CDR-Tools can be viewed as a 2-steps development project.

    The Nokia CDR Framework

    CDR manipulation capabilities:

    generation support

    compression and decompression support

    error-reporting support

    platform, performance and maintainance prerequisites:

    extensibility and modularity (for future versions of the CDR specifications)

    portability (target platform: HP-UX)

    efficiency (CDRs sets can be really large and come in very high quantity)

    simplicity

    The Nokia CDR Tool Chain

    binary-to-text conversion tool

    binary-compressed form to human-readable form conversion

    automatic addition of extensive comments

    text-to-binary conversion tool

    human-readable form to binary-compressed form conversion

    automatic normalization of the CDR set to comply with the CDR specifications

    filtering / search tool

    fast and automatic filtering of specific CDRs in a given binary-compressed set

    automatic normalization to generate conglomerate CDRs

    editing tool

    in-place edition of binary-compressed CDRs

  • 5/27/2018 Rapport

    23/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}23

    2.1.1.2.SpecificationsThe project proposal came bundled with drafted specifications for the CDR format in use on

    production systems and with more detailed specifications for the demanded behavior of theCDR-Tools.

    CDRSPECIFICATIONS

    While unfortunately the CDR formats specifications cannot be exposed in this document forconfidentiality reasons and because they are too verbose to be detailed here, they can besimplified with the following schema:

    Figure 11 - CDR Encapsulation

    As it can be noticed with the above schematization of the CDR-format, it is a simpleencapsulated transport layer, allowing for on-the-fly fast input/output of fixed-size records.

    Each CDR contains various piece of information, each one described as a field beingprecisely defined in the CDR specifications provided by O2. CDRs are then grouped in fixed-sized blocks using the following structure:

    Figure 12CDR Block Structure

    SETS

    BLOCKSRECORDS

    FIELDS

    multiple blocks

    infinite size

    multiple CDRs

    various fixed sizes (8K, 32K, 64K, ...)

    CDRs are padded to fill the space

    record identification code

    record length

    fields containing call information

    call information

    various datatypes

    various compression schemes

    various length

    HeaderRecord

    Special CDR indicating a block's front

    Provides valuable information about the current block

    StandardRecord(s)

    0 to N records fitting in the current block's size

    Each CDR contains phone-calls' relative information

    TrailerRecord

    Special CDR indicating a block's back

    Provides valuable information about the current block

    BlockPadding

    optional (only in binary-compressed form)

    padds the current block to fill unused space

  • 5/27/2018 Rapport

    24/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}24

    TOOL CHAIN AND FRAMEWORK SPECIFICATIONS

    Figure 13 - CDR-Tools Specifications

    Progamming Language: Perl 5.8

    Platform: HP-UX 11.11

    Standalone software (no dependencies)Non-intrusive software (for non-privileged user)

    Environment

    Tool chain

    binary-to-text converter nokia_dump

    text-to-binary converter nokia_undump

    binary-filter nokia_grep

    binary-editor nokia_edit

    Extended human-readable format

    each record has a short informative header

    each field is displayed as follows:

    : #

    Filtering abilities

    by record identification code

    by record type

    by field value

    Error handling

    informative error messages

    nokia_edit support for "goto-faulty-line" editing

    Pipe support

    Online documentation

    Functional Requirements - Tools

    Generator::add_cdr()

    Generator::to_file()

    Generator::outfile_ascii()

    Generator::outfile_binary()

    Generator::infile_ascii()

    Generator::infile_binary()

    Generator::flush()

    Generator::clear()

    Generator::read_cdr()

    Generator::write_cdr()

    Generator::get_cdrs()

    Generator::close()

    Functional Requirements - Basic API Sketch

    large file support

    ease of maintainance

    Non-Functional Requirements

  • 5/27/2018 Rapport

    25/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}25

    2.1.2.Development Report2.1.2.1.RealizationThis project was developed over a cumulated period of two months, including:

    project draft conception development customer delivery technical support

    CONCEPTION

    The Nokia CDR-Tools project was originally meant to be built by reflecting the capabilitiesof a now obsolete tool performing similar CDR manipulation operations with GSM CDRs.

    However, after a short period of time, it became clear that it would be simpler to onlyreproduce the same overall structure as the previous framework but to re-implement its internalmechanisms completely, to improve its modularity and to meet up with the custom ersperformance requirements.

    The Nokia CDR-Tools use pre-CDR-processing capabilities and integrated precognitionfeatures to generate at runtime pools of pre-calculated data, allowing the CDR-Tools to handle a

    very large amount of very large files with a challenging processing pace.

    Figure 14 - Standard CDR-tool Workflow

    In order to achieve the desired level of adaptability and to implement the abovecomputational workflow, the projects architecture was separated into modular entities usingPerl Object-Oriented programming techniques.

    Perl Runtimestartup

    Frameworkloading

    Tool Startup

    array / hashconversions

    flyweight-structure

    Pre-Computations

    file loading

    block scanning

    Sequential CDRSet Loading

    identification

    parsing

    constructionand collection

    CDR analysis

    block checking

    CDR output

    block padding

    error reporting

    Sequential CDRSet Writing

  • 5/27/2018 Rapport

    26/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}26

    Figure 15 - Nokia CDR Tools Project Architecture

    DEVELOPMENT

    It was developed remotely from TNGs office as it was a one-man contract which did notrequire the consultant to work on-site or the setup of any prerequisite development architecture.

    The product was incrementally developed, punctuated by regular e-mails and telephonechecks with the O2 managing developers and the customer contact.

    It is only developed with core packages and modules of the standard Perl distribution forportability reasons and to meet O2s requirements for a standalone and non-intrusive command-line / console-based software.

    DELIVERY AND TECHNICAL SUPPORT

    The product was delivered upon validation by O2 and presented to the succeeding team incharge of any future development. Technical support is currently still ongoing to implementminor changes to meet dynamic customer requirements.

    /

    Nokia CDR-Tools

    cdrdata/

    CDR samples

    bin/

    tool chain

    nokia_dump

    nokia_edit

    nokia_grep

    nokia_undump

    doc/

    documentation

    api/

    developerdocumentation

    examples/

    use-case examples

    guides/

    complete guides

    man/

    userdocumentation

    specs/technical

    specifications

    lib/

    framework

    Error/

    errors & failsafes

    Nokia/

    CDR support

    IO/

    streams / Files

    Util/

    convenience tools

    tests/

    unit-tests

  • 5/27/2018 Rapport

    27/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}27

    2.1.2.2.ResultsAs of today, the Nokia CDR-Tools are still in use by O2 and other CDR manipulation tools

    are being developed by another TNG team upon its programmatic interface.

    The following graphics present the respective layout of text and binary-compressed CDRsproduced with the Nokia CDR-Tools, with a comparative presentation of their differentsubparts.

    It is possible to clearly see thepadding characters following thetrailer record both in Figure 16and Figure 17.

    It is possible to extract identicalfield values from Figure 18 and

    find their matching entries inFigure 17.

    Figure 16 - Raw Binary CDR

    Figure 17 - Formatted Binary CDR

    Figure 18 - Text CDR

  • 5/27/2018 Rapport

    28/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}28

    2.2.DSL-SimulatorThe DSL-Simulator is a project developed for O2 Germany. It is an O2 internal piece of software,

    formerly developed by TNG and a third-party company called Danet. The main goal of the DSL-Simulator is to provide an automated test-suite used by O2 to assess the robustness and completeness

    ofTelefonicas and O2s DSL solutions.

    This project started later than expected because of extended contract-negotiation delays, allowingthe team to jump-start its development just after the end of the Nokia CDR-Tools project.

    2.2.1.Requirements2.2.1.1.ObjectivesThe DSL-Simulator projects objectives consist in a normalization of the simulators

    behaviours, so that it will be able to reproduce test-cases for the upcoming version ofTelefonica/O2 DSL solutions.

    This normalization requirement was defined by a set of single features to be implemented inthe simulators existing code-base, already developed in 2006 by TNG consultant M. Schikowskifor the previous Telefonica/O2-DSL systems version.

    2.2.1.2.SpecificationsThe DSL-Simulator acts as an intermediary agent in client-server architecture.It is composed of 2 different parts:

    The DSL-Simulator software itself, which is a combination of

    o an HTTP server to receive incoming requestso an HTTP client to emit synchronous and / or asynchronous responseso a processing kernel to determine the responses to be triggered based on the

    incoming requests type an emitter script, used to fire specific messages at the DSL-Simulator over HTTP

    The DSL-Simulator uses HTML-encapsulated XML messages to communicate with itscounterparts. That is, any kind of XML message that is sent over HTTP. HTTP is here onlyused as a transport layer (refer to the appendixes for a request sample).

    Upon reception of an incoming request fired by the emitter, the simulator will respect the

    procedure explained in the following schema:

    Figure 19 - DSL-Simulator Request Processing

    IncomingRequest

    RequestProcessor

    StandardRequest

    Command Handler

    TriggeredResponses

    ForcedResponses

    StandardRequest

    SynchronousAcknownledgment

    Response

    Workflow

    Manager

    Triggered

    Responses

  • 5/27/2018 Rapport

    29/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}29

    The Simulator can receive two different types of incoming requests, identified as seen onFigure 16by the request processor:

    the so-called Standard Requests

    Those are the most common types of incoming requests. Defined by O2, they containcustomer information and are expected to trigger various possible asynchronous

    workflows, which can also depend on runtime conditions, as well as a synchronousacknowledgment response.

    the so-called Simulator CommandsThose requests are convenience commands that can be sent to the DSL-Simulatorusing the same transmission channel, allowing it to perform any kind of custom action:

    o firing messageso pausing/resuming responseso cancelling ongoing workflowso resetting simulators kernel statuso restarting the simulator (kernel + server)

    2.2.2.Development Report2.2.2.1.RealizationThis project was developed over a cumulated period of 1.5 months by a team of 3 TNG

    developers. (see the timeline)

    The DSL-Simulator is Java-based software, and uses only Java 5 features to facilitateportability by limiting external dependencies, except for:

    the Quartz SchedulerUsed to implement multi-threaded request management capabilities to support heavy-loadperformance tests of O2 DSLs interfaces

    the Apache Log4J / Appache Commons Logging libraryUsed to implement logging capabilities and ease the storage of processed requests

    the JUnit and XMLUnit testing-suitesUsed to implement unit-tests based on the XML input/output messages

    2.2.2.2.ResultsThe DSL-Simulator software is currently being used by O2 to perform robustness and

    performance tests on his DSL solutions in contemplation of its upcoming version upgrade.

  • 5/27/2018 Rapport

    30/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}30

    2.3.Fonic Project TestingFonic is a project developed by O2-Service Germany GmbH, scheduled to be release in September

    2007. It is an O2 Mobile customer service developed by joint development force from O2, O2-Service,TNG and a third-party company: CDRator.

    Started in 2006, the Fonic project entered his final testing phase in May 2007 when a TNG co-worker (J. Benilov) was recruited by O2-Service to lead a small team of software testers and report bugsto:

    the CDRator developers in charge of the data processing and customer care software the O2 / TNG developers in charge of the CDR/SDR interfaces

    The test-team was extended during the second half of July; at the time the DSL-Simulator projectwas reaching completion and prepared to be delivered.

    2.3.1.Requirements2.3.1.1.ObjectivesThe initial project objectives were the automation of testing processes for the Fonic SDR

    Interface. That is, the part of the whole Fonic system supposed to produce the Service DataRecords when any kind of phone call takes place on the O2 mobile network.

    However, because of human-resources restructuration down the way to the final deadline,the testing-team was reorganized and new objectives assigned, namely to also test the SDRInterface and its integration in the whole system.

    It was also requested toward the end of the contract to come up with a custom backupsolution for the test-teams documentation resources (Wiki, SubVersioN, JIRA Bugtracker ).

    2.3.1.2.SpecificationsSDRSPECIFICATIONS

    The SDR Interface specifications match rather closely the ones of the CDR Interfacepresented earlier in this document (the Service Data Records are actually formed from dataextracted from Call Data Records and from Customer Care support databases.

    Whilst the CDR Interface used binary compressed data, the SDR Interface uses clear-textdata only filled with only one block per file and one record per line. Thus, there is no blockpadding sequences, but we still have field padding sequences.

    Also, there are only three different kinds of records (Headers, Trailers, and StandardRecords) whereas the CDR Interface had a much higher number of possible records.

    Like the CDR Interface specifications, it is unfortunately problematic to expose the SDRspecifications, because of their complexity and confidentiality. However, the overall structurecan be described:

  • 5/27/2018 Rapport

    31/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}31

    Figure 20 - SDR Encapsulation

    SDRs are being sent over to O2-Service as GZip compressed files over a FTP connection,with each uncompressed file using the following structure:

    Figure 21 - SDR Block/File Structure

    SETS / BLOCK

    RECORDS

    FIELDS

    1 set = 1 block = 1 file

    infinite size

    infinite number of SDRs

    only 3 SDR types

    fixed length records (224bytes)

    fields containing service data

    service information

    various datatypes

    fixed length

    HeaderRecord

    Special SDR indicating a block's front

    Provides valuable information about the current block

    StandardRecord(s)

    0 to N records fitting in the current block's sizeEach SDR contains phone-calls' relative information

    TrailerRecord

    Special SDR indicating a block's back

    Provides valuable information about the current block

  • 5/27/2018 Rapport

    32/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}32

    TESTS SPECIFICATIONS

    Figure 22 - SDR-Tools Specifications

    SDR-Loader Engine performance

    SDR-Rating Engine performance Efficiency stress-testing

    Documentation

    Performance Tests

    SDR-Loader Engine robustness

    SDR-Rating Engine robustness

    Resistance stress-testing

    Documentation

    Robustness Tests

    Engines SDR Interface Specifications compliance

    Database SDR Interface Specifications compliance

    Automation

    Documentation

    Integration Tests

    (security checks / integration checks)

    Automation

    Documentation

    Regression Tests

    Backups

    Daily backups

    Weekly + Monthly rollovers

    Sources

    Bugtracker (JIRA)

    Version Control System (SubVersioN)

    Wiki (MediaWiki)

    Constraints

    Rapid development (2 days)

    Perl 5.8

    Backup System

  • 5/27/2018 Rapport

    33/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}33

    2.3.2.Development Report2.3.2.1.Realization

    TESTING MANAG EMENT The Fonics system testing required a lot of interaction with the various teams and individuals

    working on the global system. Therefore, this project did not only imply technical difficulties butalso managerial and hierarchical problems to overcome.

    Considering that some of the problems were not always software- but also specifications-related, it was often necessary to bounce back and forth between several O2 departments to getissues fixed as soon as possible, which required an insanely huge amount of time and effort,sometimes even calling for specifications to be rewritten or modified by another department.

    Because of the size of the project and of the numerous entities involved, it would often benecessary to wait for the next deployment of entire Fonic subsystems to be able to re-checkraised issues and bugs.

    Figure 23 - Fonic Joint Forces

    TEST AUTOMATIONIn the light of the very limited time-resources allocated and authorized to the automation of

    the test-suites, it was decided to settle on the choice of a dynamic scripting language. Dynamicscripting languages, like Ruby, present a very fair advantage over more conventionalprogramming languages as they tend to require smaller development teams and smallerdevelopment sessions.

    Combined with other languages, like for instance with JRuby that makes it possible tointerface Ruby to a Java Virtual Machine, they become even more efficient as it allows the reuseof existing legacy libraries and frameworks for background tasks, such as:

    Rator Testing

    SDR Testing

    CDRator

    SDR Engines

    SDR Interface

    SDR

    Sampling

    CustomerCare

    O2-

    Accounting

    O2

    (TNG)

    O2-Service(TNG)

    CDRator

  • 5/27/2018 Rapport

    34/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}34

    database management and persistence mapping logging networking

    Using JRuby, a complete SDR-management framework was developed in record-time toautomate or optimize testing sessions. This was made possible thanks to the capitalization onseveral factors:

    CDR/SDR Interfaces experience gained with the Nokia CDR-Tools project Conceptual design of the framework mapped on the Perl CDR-Tools Rubys speed and ease of development

    The resulting SDR-Tools framework was used to build the following tools:

    Figure 24 - SDR-Tools

    generation of bulk SDR files for performance tests generation of scenario-based and/ordummy SDRs

    uses sdr_generate

    sdr_bulk

    identification and verification of SDR-files

    identification and verification of "in-database" SDRs

    sdr_check

    end-to-end testing suite

    performs tests through the complete SDR processing line

    sdr_e2e

    generation of scenario-based and/or dummy SDR-files

    generation of random SDR-files valid and invalid data support

    sdr_generate validation and display of valid SDR-files

    text and raw SDR support

    sdr_inspect

    retrieval of remote "in-database" SDRs

    query language support

    sdr_lookup

    raw SDR files filtering (by keys, names, and field values)

    exclusion/inclusion and union/intersection support

    sdr_match

    SDR-files FTP upload

    SDR-files renaming support

    sdr_send

    specifications-based syntaxic and semantic SDR checking

    automated database checking

    sdr_spec

    set of convenience routines reused by all other tools

    SDR-repositories management

    text and raw SDR support

    sdr_tools

  • 5/27/2018 Rapport

    35/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}35

    BACKUP AUTOMATIONThe automated backup solution was implemented using only Perl 5.8 core packages for

    portability reasons, so that the backup system can be used as standalone software and movedfrom a platform to another without worrying about any installation or setup procedures.

    Also, considering the very tight-schedule to implement this backup system at the end of thecontract, a very minimalist but modular design. Thanks to this design, it allows future developersto extend its capabilities to other sources. As the backup sources management is completelyabstract, it is possible to add support for other version control systems, other databases or otherfile-systems with a few minor modifications.

    Figure 25 - Backup System Architecture

    Regarding the automation of the backup tasks, those are performed at the operating systemslevel, using Scheduled Tasks on Microsoft Windows platforms or cron jobs on UNIX-variants.

    At the scheduled time, the Automated Backup System (ABS) will simply either perform abackup or a rollover, depending on its command-line arguments. It also logs its activity in a

    temporary log-file.

    BackupThe ABS walks through its list of sources and, depending on their type, call theappropriate Backup Handler. Each Backup Handler falls back to a Directory Handlerthat will copy the resulting backups to a temporary directory and compress it.

    Upon successful compression, the backups are stored in an archiving directory withappropriate timestamps.

    Rollover

    The ABS lists the archive directory and keeps the latest backups of the week for aweekly rollover, and the latest of the month for a monthly rollover. The 20 mostrecent backups are stored, while the older ones are automatically removed.

    Automated Backup System

    Backup Code Base

    Backup Script

    Daily Task

    Rollover Script

    Weekly Task Monthly Task

    Documentation

  • 5/27/2018 Rapport

    36/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}36

    2.3.2.2.ResultsThe O2 Fonic passed its technical launch successfully on the 16thof March. It is currently in

    production and the first press-releases giving out its name are out. Its official real-life launch isscheduled for September 2007.

    At the end of the testing period, we obtained the following test-results matrix:

    Figure 26 - Fonic Testing Results

    While it is noticeable that the system does not appear to be entirely bullet-proof, itsperformance and robustness met up with O2s expectations and requirements.

    The remaining problems and issues have been listed and documented, so that they will betaken into consideration by future Fonic upgrades or improvements of the CDRator Engines.

    Regarding the automated backup system, even though the schedule did not leave much timeto implement a completely satisfying solution, it is completely sufficient to backup the test-teams resources and allow for its recovery if a major crash were to occur.

    very heavy test-cases resulted in system slowdowns

    however, those tests should not and cannot happen in production

    Performance

    very heavy test-cases resulted in system crashes

    however, those tests should not and cannot happen in production

    Robustness

    all tests have been successfully validated

    Integration

    all tests have been successfully validated

    Regression

  • 5/27/2018 Rapport

    37/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}37

    3.Overall Timeline

    Figure 27 - Internship Timeline

    Important Dates:

    2007.03.19EIT Internship Start Technology Watch

    o 2007.03.23Talk: IT in Chinao 2007.04.13Talk: Google Services

    O2 Projects

    o Nokia CDR-Tools 2007.04.13Project Start 2007.06.26Project Delivery 2007.07.27Retrospective

    o DSL-Simulator 2007.06.11Project Start 2007.06.26Customer Feedback 2007.07.26Project Delivery 2007.08.03Retrospective

    o Fonic Testing

    2007.05.01Project Testing Kick-Off 2007.07.16Reinforcements 2007.07.26Team Restructuration 2007.08.16Technical Launch 2007.08.20Production Launch 2007.09.15Customer Launch

    2007.08.27EIT Internship End 2007.12.31Contract End

    Internship Start2007.03.19

    TechnologyWatch and Talks

    2007.03.19 -

    2007.04.13

    Nokia CDR-Tools2007.04.13 -2007.06.26

    DSL-Simulator2007.06.11 -2007.07.26

    Fonic Testing2007.07.16 -2007.08.10

    Internship End2007.08.27

  • 5/27/2018 Rapport

    38/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}38

  • 5/27/2018 Rapport

    39/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}39

    C o n c l u s i o n

    If all the projects exposed in this document are to be evaluated separately, it would come out of this

    overall analysis that each of them presented both really interesting and challenging objectives. They alsocame up, like every software development or management project, with their fair share of unexpectedissues and complications.

    Briefly summed up, here are the projects and isolated tasks that were addressed and brought to fruitionduring this internship:

    technology watch assignmentsInvolving small research & development as well as business intelligence tasks, they included:

    o analyzing and asserting Google Serviceso evaluating Wirecards financial and popularity statuso giving lectures

    software development assignmentsCarried out on small-sized, middle-sized and nation-wide projects, they included:

    o developing a Call Data Record management framework and manipulation toolso extending a simulator for Digital Subscriber Line solutionso testing the interconnection between a complete mobile network solution and its Service

    Data Record Interfaceo developing a complete set of tools and libraries to automate the testing of a SDR Interfaceo implementing a custom automated backup system

    All those assignments led to the use of several programming languages and frameworks, might theyhave been imposed by the customers requirements or a carefully thought-out decision.

    From a more personal perspective, it is here relevant to consider the value of both the knowledge andknow-how that have been extracted over the last 6 months from the participation in relatively importantenterprise software projects. Those tasks also often carried out cutting-edge tools and technologies, whilerequiring the application and enforcement of enterprise development techniques and best practices.

    The impact of the daily collaboration with groups of highly-skilled and experienced consultantsrepresents also a net benefit in terms of education, both on the technical, professional and human levels.

    In addition to this, resorting to well-known market standards as well as emerging technologies forhands-on real-life software development greatly improved the already highly-technical challenge embodiedby this internship. Finally, working for TNG provided a great opportunity to accumulate experience in aforeign country and to work in a multilingual environment.

    Considering all the realized projects and overcome issues, in contrast with the educational benefit ofthis journey, it is safe to declare this internship as a highly successful experience from the consultants

    perspective, and hopefully also from TNG Technology Consultings.

  • 5/27/2018 Rapport

    40/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}40

  • 5/27/2018 Rapport

    41/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}41

    BIBLIOGRAPHY

    Kaner, Bach, Pettichord. Lessons Learned in Software Testing. Wiley, 2001.

    Thomas, Fowler, Hunt. Programming Ruby: The Pragmatic Programmers Guide. Pragmatic, 2001.

    Burnstein. Practical Software Testing. Springer, 2003.

    Loveland, Miller, Prewitt, Shannon. Software Testing Techniques. Charles River Media, 2004.

    Sommerville. Software Engineering. Addison Wesley, 2006.

    Knig, Glover, King, Laforge, Skeet. Groovy in Action. Manning Publications, 2007.

  • 5/27/2018 Rapport

    42/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}42

  • 5/27/2018 Rapport

    43/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}43

    GLOSSARY

    {EPITECH.}(see: EIT)

    AGAktiengesellschaft(English : Corporation)

    APIApplication Programming InterfaceA set of interface definitions (functions, subroutines, datastructures or class descriptions) which together provide aconvenient interface to the functions of a subsystem and whichinsulate the application from the minutiae of theimplementation.

    CCCredit Card

    CDRCall Data RecordContains data about a specific phone call, such as originatingswitch, terminating switch, call length and time of day.

    CoECode of Ethics

    A set of common-sense rules which define the ethical behaviorof any individual.(Here: the obligations of any TNG employee)

    DOMDocument Object ModelWorld Wide Web Consortium (W3C) standard for representingstructured documents in a platform- and language-neutralmanner.

    DSLDigital Subscriber Line

    EITEuropean Institute of Technology(see:http://www.epitech.net,http://www.eit.fr/)

    Geo-codingProcess of assigning geographic coordinates (e.g. latitudelongitude) to street addresses, as well as other points andfeatures. With geographic coordinates, the features can thenbe mapped and entered into a GIS.

    GISGeographical Information System

    GmbHGesellschaft mit beschrnkter Haftung.(English: similar to a LLC: Limited Liability Company)(see:http://bundesrecht.juris.de/gmbhg)

    GNU

    GNU is a recursive acronym for "GNU's Not Unix". The GNUproject was announced in 1983 by Richard Stallman with thegoal of creating a complete Free Software operating system.

    GoogleGoogle Inc.(see:http://www.google.com/

    )

    GZipShort for GNU zip, a GNU free software replacement for theUNIX compress program.

    HTMLHyper-Text Markup LanguageMarkup language designed for the creation of web pages andother information viewable in a browser.

    HTTPHyper-Text Transfer ProtocolPrimary method used to convey information on the World WideWeb. The original purpose was to provide a way to publish andreceive HTML pages.

    IMC USAInstitute of Management Consultants USA

    ITInformation TechnologiesEncompasses all forms of technology used to create, store,exchange, and use information in its various forms

    JavaObject-oriented programming language.

    JavascriptObject-based scripting programming language based on the

    concept of prototypes.JAXP

    Java API for XML Processing

    JRubyA Java-embedded Ruby implementation

    NokiaNokia(see:http://www.nokia.com/)

    O2(see:http://www.o2.com/,http://www.o2.de/

    )

    PerlScripting language

    RubyDynamic, fully object-oriented scripting language

    SAXSimple API for XMLSDR

    Service Data RecordRecord type similar to a CDR, but containing service-relevantinformation.

    TNGThe Next Generation(as in TNG Technology Consulting GmbH)(see:http://www.tngtech.com/)

    W3CWorld Wide Web ConsortiumConsortium producing the software standards qndrecommendations for the World Wide Web.(see:http://www.w3.org/)

    WirecardWirecard(see:http://www.wirecard.com/)

    XMLeXtensible Markup Language

    A W3C-recommended, data-oriented general-purpose markuplanguage for creating special-purpose markup language.

    XPathXML Path languageA terse, non-XML syntax for addressing portions of anXML document.

    http://www.epitech.net/http://www.epitech.net/http://www.epitech.net/http://www.eit.fr/http://www.eit.fr/http://www.eit.fr/http://bundesrecht.juris.de/gmbhghttp://bundesrecht.juris.de/gmbhghttp://bundesrecht.juris.de/gmbhghttp://www.google.com/http://www.google.com/http://www.google.com/http://www.nokia.com/http://www.nokia.com/http://www.nokia.com/http://www.o2.com/http://www.o2.com/http://www.o2.com/http://www.o2.de/http://www.o2.de/http://www.o2.de/http://www.tngtech.com/http://www.tngtech.com/http://www.tngtech.com/http://www.w3.org/http://www.w3.org/http://www.w3.org/http://www.wirecard.com/http://www.wirecard.com/http://www.wirecard.com/http://www.wirecard.com/http://www.w3.org/http://www.tngtech.com/http://www.o2.de/http://www.o2.com/http://www.nokia.com/http://www.google.com/http://bundesrecht.juris.de/gmbhghttp://www.eit.fr/http://www.epitech.net/
  • 5/27/2018 Rapport

    44/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}44

  • 5/27/2018 Rapport

    45/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}45

    APPENDIXES

    A.Tables and FiguresFIGURE 1-PARTNERS 10FIGURE 2-BOARD OF DIRECTORS 10FIGURE 3-DECISION-TAKING PRECEDENCE 10FIGURE 4-CUSTOMERS 12TABLE 5-SERVICES 13FIGURE 6-ROUTE PLANNING DEMO WITH GOOGLE MAPS API 15TABLE 7-GOOGLE APIS'COMPARATIVE RESULTS 17FIGURE 8-WIRECARD ANALYSIS MINDMAP 19FIGURE 9-TECHDAY TALK ABOUT THE ITIN CHINA 21FIGURE 10-TECHDAY TALK ABOUT GOOGLE SERVICES 21FIGURE 11-CDRENCAPSULATION 23FIGURE 12CDRBLOCK STRUCTURE 23

    FIGURE 13-CDR-TOOLS SPECIFICATIONS 24FIGURE 14-STANDARD CDR-TOOL WORKFLOW 25FIGURE 15-NOKIA CDRTOOLS PROJECT ARCHITECTURE 26FIGURE 16-RAW BINARY CDR 27FIGURE 17-FORMATTED BINARY CDR 27FIGURE 18-TEXT CDR 27

    FIGURE 19-DSL-SIMULATORREQUEST PROCESSING 28FIGURE 20-SDRENCAPSULATION 31FIGURE 21-SDRBLOCK/FILE STRUCTURE 31FIGURE 22-SDR-TOOLS SPECIFICATIONS 32FIGURE 23-FONIC JOINT FORCES 33FIGURE 24-SDR-TOOLS 34FIGURE 25-BACKUP SYSTEM ARCHITECTURE 35FIGURE 26-FONIC TESTING RESULTS 36FIGURE 27-INTERNSHIP TIMELINE 37

    http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944790http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944790http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944790http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944790http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944790http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944790http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944790http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944790http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944790http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944790http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944790http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944790http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944790http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944790http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944790http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944790http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944790http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944790http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944800http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944800http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944800http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944800http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944800http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944800http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944800http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944800http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944800http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944800http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944800http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944800http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944801http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944801http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944801http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944801http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944801http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944801http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944801http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944801http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944801http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944801http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944801http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944801http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944802http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944802http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944802http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944802http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944802http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944802http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944802http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944802http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944802http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944802http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944802http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944801http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944800http://c/Documents%20and%20Settings/admin/Mes%20documents/Laurent/rapport%20Tek5/rapport.docx%23_Toc175944790
  • 5/27/2018 Rapport

    46/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}46

    B.Enterprise DocumentationB.1.AddressTNG Technology Consulting GmbH

    Betastrae 13a85774 UnterfhringGermany

    B.2.Legal InformationManaging directors:

    Henrik KlaggesGerhard MllerChristoph Stock

    Trade register:HRB 135082, Amtsgericht Mnchen

    Place of jurisdiction:Mnchen

    European VAT ID#:DE212842911

    German tax ID#:143/186/80621

    DUNS number:314309902

  • 5/27/2018 Rapport

    47/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}47

    B.3.ServicesSoftware Development

    specification, implementation, delivery, test, operations, tuning, maintenance and troubleshootinglanguage-/tool-agnostic implementation of business software on software-as-a-service platforms

    C/C++/Java on Unix and Windows including parallel supercomputers and clusters

    JEE/J2EE application servers like JBoss, WebLogic, Orion, Tomcat and WebSphere

    JSP, Servlets, JAXP, JMS, JNDI, RMI and JTA; plus OOA/D with UML and design patterns

    persistence layer, J/ODBC, CMP EJBs, object-relational mappers, distributed shared memory caches

    aspect-oriented programming with JBoss AOP and AspectJ

    inversion-of-control-frameworks such as Hivemind and Spring

    distributed systems with Corba, RMI, RPC, Session EJBs and Web Services (Axis, Glue)

    HTML, JavaScript and XML plus web application frameworks like Cocoon, JSF, Struts and Tapestry

    Shells, awk, sed, yacc/bison/JavaCC, f/lex

    Perl (mod_perl, CPAN, Mason, cgi) and PHP

    databases DB/2, mySQL, Oracle, PostGreSQL and SQL Server

    test-driven development with automated build systems

    code reviews, coaching and know-how transfer

    restructuring of ongoing third-party projects

    best practices and development processes such as RUP, SCRUM and XP

    particular domain knowledge in the areas of B2B portals, online finance and GIS

    Administration & Operations

    administration for all Unix flavours and Windows, service management with ITIL

    system management and kernel tuningnetwork and service monitoring (Nagios, RRDtool, Grinder, Syslog, snoop/nettl/tcpdump, ethereal)

    backup with Networker, BackupPc, rsync, Dirvish und Symantec NetBackup

    cluster know-how HP MC ServiceGuard, Sun Cluster, LVS and Mosix

    email architecture with smtp, sympa, postfix, majorcool and majordomo

    firewalls like Raptor, Gauntlet, iptables and pf, routing with IOS, Lucent TOS, OSPF and BGP

    server technologies like Solstice disk suite and Veritas volume manager

    Mirror/UX, Ignite/UX, OnlineJFS, Glance

    configuration of automount, autofs, LDAP/OpenLDAP, NFS2/3, NIS, DNS, x/ntp

    core & crashdump analysis, systemcall traces with truss/tusc/ltrace/strace

    operation of Apache Webserver, Livewire, Cold Fusion

    content management systems like Drupal, OpenCMS and Typo3

    system and network security analysis and tiger team-operations, intrusion detection

    public key infrastructures (PKI), best practices in cryptology, VPN (IPSec, OpenVPN

    IT Management

    IT strategy consulting

    project management and team leadership

    research and analysis of companies, products and technology concepts

    independant troubleshooting in critical situations

    coordination of external partner companies

    architecture, best practices and reviews

    training in all our areas of expertise

  • 5/27/2018 Rapport

    48/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}48

    C.Technology DocumentationC.1.Used Programming Languages

    Progamming Language Reference

    C/C++Java http://java.sun.com/

    Javascript (ECMAScript) http://www.ecma-international.org/Perl http://perl.oreilly.com/

    Ruby http://www.rubylang.org/XML http://www.w3.org/

    YAML http://www.yaml.org/

    Specific virtual machines and implementations are listed in the C.3. /C.4.

    C.2.Used Technologies Matrix

    Technologies Reference

    J2EE http://java.sun.com/j2ee/SAX http://sax.sf.net/

    UML http://www.uml.org/

    HTTP http://www.rfcs.org/

    C.3.Used Softwares and Matrix

    Software Reference

    ActivePerl http://www.activestate.com/CVS http://www.gnu.org/

    Eclipse http://www.eclipse.org/Emacs http://gnu.org/

    Freemind http://freemind.sf.net/JIRA http://www.atlassian.com/JRuby http://jruby.codehaus.org/

    MediaWiki http://www.mediawiki.org/Microsoft Office http://www.microsoft.com/

    OpenOffice http://www.openoffice.org/

    SubVersioN http://subversion.tigris.org/

    C.4.Used Software Librariesand Frameworks Matrix

    Software Reference

    JDOM http://jdom.org/Quartz Scheduler http://quartz.sf.net/

    Emacs http://gnu.org/Freemind http://freemind.sf.net/

    JRuby http://jruby.codehaus.org/Microsoft Office http://www.microsoft.com/OpenOffice http://www.openoffice.org/

    http://java.sun.com/http://java.sun.com/http://www.ecma-international.org/http://www.ecma-international.org/http://perl.oreilly.com/http://perl.oreilly.com/http://www.rubylang.org/http://www.rubylang.org/http://www.w3.org/http://www.w3.org/http://www.yaml.org/http://www.yaml.org/http://java.sun.com/j2ee/http://java.sun.com/j2ee/http://sax.sf.net/http://sax.sf.net/http://www.uml.org/http://www.uml.org/http://www.rfcs.org/http://www.rfcs.org/http://www.activestate.com/http://www.activestate.com/http://www.gnu.org/http://www.gnu.org/http://www.eclipse.org/http://www.eclipse.org/http://gnu.org/http://gnu.org/http://freemind.sf.net/http://freemind.sf.net/http://www.atlassian.com/http://www.atlassian.com/http://jruby.codehaus.org/http://jruby.codehaus.org/http://www.mediawiki.org/http://www.mediawiki.org/http://www.microsoft.com/http://www.microsoft.com/http://www.openoffice.org/http://www.openoffice.org/http://subversion.tigris.org/http://subversion.tigris.org/http://jdom.org/http://jdom.org/http://quartz.sf.net/http://quartz.sf.net/http://gnu.org/http://gnu.org/http://freemind.sf.net/http://freemind.sf.net/http://jruby.codehaus.org/http://jruby.codehaus.org/http://www.microsoft.com/http://www.microsoft.com/http://www.openoffice.org/http://www.openoffice.org/http://www.openoffice.org/http://www.microsoft.com/http://jruby.codehaus.org/http://freemind.sf.net/http://gnu.org/http://quartz.sf.net/http://jdom.org/http://subversion.tigris.org/http://www.openoffice.org/http://www.microsoft.com/http://www.mediawiki.org/http://jruby.codehaus.org/http://www.atlassian.com/http://freemind.sf.net/http://gnu.org/http://www.eclipse.org/http://www.gnu.org/http://www.activestate.com/http://www.rfcs.org/http://www.uml.org/http://sax.sf.net/http://java.sun.com/j2ee/http://www.yaml.org/http://www.w3.org/http://www.rubylang.org/http://perl.oreilly.com/http://www.ecma-international.org/http://java.sun.com/
  • 5/27/2018 Rapport

    49/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}49

    D.Samples, Studies, Analysis and ResultsD.1.Nokia CDR-Tools

    D.1.1. Sample Text CDRBlock 001 - CDR 001 (001) - hea ----------------------------------------

    record_length : 0029 # 41 bytes

    record_type : 00 # Header record

    charging_block_size : 01 #

    tape_block_type : 0001 #

    data_length_in_block : 0A20 # 2592 bytes

    exchange_id : 49 17 60 00 00 04 FF FF FF FF #

    first_record_number : 27 10 00 00 #

    batch_seq_number : 00000157 #

    block_seq_number : 0101 #

    start_time : 2007-04-11 08:09:34 #

    format_version : 38 61 04 01 04 FF #

    D.2.DSL-SimulatorD.2.1. Sample Incoming Standard XML Request

    DSLIF1083WFL1152812090403156320

    DSLIF.215:1152812090689

    https://deapvibf:48043/HttpsToHttpAdapter

    2006-01-01T00:00:00.000+00:00

    any_resellerSubscriberId

    Surname

    ADDR_Street

    1

    12345

    ADDR_City

    RETCSResellerOrderId

    Surname

    http://www.telefonica.de/markup/provisioning/general/http://www.telefonica.de/markup/provisioning/general/http://www.telefonica.de/markup/provisioning/general/http://www.telefonica.de/markup/provisioning/general-provisioning-data/http://www.telefonica.de/markup/provisioning/general-provisioning-data/http://www.telefonica.de/markup/provisioning/general-provisioning-data/http://www.telefonica.de/markup/provisioning/general-provisioning-data/http://www.telefonica.de/markup/provisioning/general/
  • 5/27/2018 Rapport

    50/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}50

    ADDR_Street

    1

    12345

    ADDR_City

    ADSL2

    volume

    test

    115200000000000000000

    2000094454545945948594859485945

    test

    true

    true

    unknown

    any_userName

    any_userId

    D001

    2006-07-01+02:00

    Tiff

    Vertrag

    1

    D.2.2. Sample Outgoing Standard XML Response

  • 5/27/2018 Rapport

    51/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}51

    xmlns:gep=http://www.Telefonica.DE/markup/provisioning/general/

    xmlns:comb=http://www.Telefonica.DE/markup/provisioning/general-common-base/

    xmlns:comc=http://www.Telefonica.DE/markup/provisioning/general-common-complex/

    xmlns:com=http://www.Telefonica.DE/markup/provisioning/general-common/

    xmlns:llub=http://www.Telefonica.DE/markup/provisioning/general-llu-base/

    xmlns:lluc=http://www.Telefonica.DE/markup/provisioning/general-llu-complex/

    xmlns:llu=http://www.Telefonica.DE/markup/provisioning/general-llu/

    xmlns:pnbb=http://www.Telefonica.DE/markup/provisioning/general-pnb-base/

    xmlns:pnbc=http://www.Telefonica.DE/markup/provisioning/general-pnb-complex/

    xmlns:pnb=http://www.Telefonica.DE/markup/provisioning/general-pnb/

    xmlns:pppb=http://www.Telefonica.DE/markup/provisioning/general-pppoe-base/

    xmlns:pppc=http://www.Telefonica.DE/markup/provisioning/general-pppoe-complex/

    xmlns:pppo=http://www.Telefonica.DE/markup/provisioning/general-pppoe/

    xmlns:gepd=http://www.Telefonica.DE/markup/provisioning/general-provisioning-data/

    xmlns:sipb=http://www.Telefonica.DE/markup/provisioning/general-sip-base/

    xmlns:sipc=http://www.Telefonica.DE/markup/provisioning/general-sip-complex/

    xmlns:sip=http://www.Telefonica.DE/markup/provisioning/general-sip/

    xmlns:voib=http://www.Telefonica.DE/markup/provisioning/general-voip-base/

    xmlns:voic=http://www.Telefonica.DE/markup/provisioning/general-voip-complex/

    xmlns:voip=http://www.Telefonica.DE/markup/provisioning/general-voip/

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    %%workflowId%%

    %%resellerId%%

    %%resellerWorkflowId%%

    %%answerUrl%%

    %%communicationDate%%

    200000

    OK

    true

    D.2.3. Sample Incoming Simulator Command

    RETCSResellerOrderIdACT33005803

    RETCSResellerOrderIdACT33005804

    lineTerminationByCarrierRequestMessage.xml

    D.3.FonicD.3.1.Sample Raw SDR

    HDR200708020000000224000000000000

    42 4651750852005405355508203571808720420101244242 42 4917942424242

    42 4242 0 0 42 42 0 0 0

    TRL200708020000000224000000100000

    http://www.telefonica.de/markup/provisioning/general/http://www.telefonica.de/markup/provisioning/general/http://www.telefonica.de/markup/provisioning/general/http://www.telefonica.de/markup/provisioning/general-common-base/http://www.telefonica.de/markup/provisioning/general-common-base/http://www.telefonica.de/markup/provisioning/general-common-base/http://www.telefonica.de/markup/provisioning/general-common-complex/http://www.telefonica.de/markup/provisioning/general-common-complex/http://www.telefonica.de/markup/provisioning/general-common-complex/http://www.telefonica.de/markup/provisioning/general-common/http://www.telefonica.de/markup/provisioning/general-common/http://www.telefonica.de/markup/provisioning/general-common/http://www.telefonica.de/markup/provisioning/general-llu-base/http://www.telefonica.de/markup/provisioning/general-llu-base/http://www.telefonica.de/markup/provisioning/general-llu-base/http://www.telefonica.de/markup/provisioning/general-llu-complex/http://www.telefonica.de/markup/provisioning/general-llu-complex/http://www.telefonica.de/markup/provisioning/general-llu-complex/http://www.telefonica.de/markup/provisioning/general-llu/http://www.telefonica.de/markup/provisioning/general-llu/http://www.telefonica.de/markup/provisioning/general-llu/http://www.telefonica.de/markup/provisioning/general-pnb-base/http://www.telefonica.de/markup/provisioning/general-pnb-base/http://www.telefonica.de/markup/provisioning/general-pnb-base/http://www.telefonica.de/markup/provisioning/general-pnb-complex/http://www.telefonica.de/markup/provisioning/general-pnb-complex/http://www.telefonica.de/markup/provisioning/general-pnb-complex/http://www.telefonica.de/markup/provisioning/general-pnb/http://www.telefonica.de/markup/provisioning/general-pnb/http://www.telefonica.de/markup/provisioning/general-pnb/http://www.telefonica.de/markup/provisioning/general-pppoe-base/http://www.telefonica.de/markup/provisioning/general-pppoe-base/http://www.telefonica.de/markup/provisioning/general-pppoe-base/http://www.telefonica.de/markup/provisioning/general-pppoe-complex/http://www.telefonica.de/markup/provisioning/general-pppoe-complex/http://www.telefonica.de/markup/provisioning/general-pppoe-complex/http://www.telefonica.de/markup/provisioning/general-pppoe/http://www.telefonica.de/markup/provisioning/general-pppoe/http://www.telefonica.de/markup/provisioning/general-pppoe/http://www.telefonica.de/markup/provisioning/general-provisioning-data/http://www.telefonica.de/markup/provisioning/general-provisioning-data/http://www.telefonica.de/markup/provisioning/general-provisioning-data/http://www.telefonica.de/markup/provisioning/general-sip-base/http://www.telefonica.de/markup/provisioning/general-sip-base/http://www.telefonica.de/markup/provisioning/general-sip-base/http://www.telefonica.de/markup/provisioning/general-sip-complex/http://www.telefonica.de/markup/provisioning/general-sip-complex/http://www.telefonica.de/markup/provisioning/general-sip-complex/http://www.telefonica.de/markup/provisioning/general-sip/http://www.telefonica.de/markup/provisioning/general-sip/http://www.telefonica.de/markup/provisioning/general-sip/http://www.telefonica.de/markup/provisioning/general-voip-base/http://www.telefonica.de/markup/provisioning/general-voip-base/http://www.telefonica.de/markup/provisioning/general-voip-base/http://www.telefonica.de/markup/provisioning/general-voip-complex/http://www.telefonica.de/markup/provisioning/general-voip-complex/http://www.telefonica.de/markup/provisioning/general-voip-complex/http://www.telefonica.de/markup/provisioning/general-voip/http://www.telefonica.de/markup/provisioning/general-voip/http://www.telefonica.de/markup/provisioning/general-voip/http://www.telefonica.de/markup/provisioning/general-voip/http://www.telefonica.de/markup/provisioning/general-voip-complex/http://www.telefonica.de/markup/provisioning/general-voip-base/http://www.telefonica.de/markup/provisioning/general-sip/http://www.telefonica.de/markup/provisioning/general-sip-complex/http://www.telefonica.de/markup/provisioning/general-sip-base/http://www.telefonica.de/markup/provisioning/general-provisioning-data/http://www.telefonica.de/markup/provisioning/general-pppoe/http://www.telefonica.de/markup/provisioning/general-pppoe-complex/http://www.telefonica.de/markup/provisioning/general-pppoe-base/http://www.telefonica.de/markup/provisioning/general-pnb/http://www.telefonica.de/markup/provisioning/general-pnb-complex/http://www.telefonica.de/markup/provisioning/general-pnb-base/http://www.telefonica.de/markup/provisioning/general-llu/http://www.telefonica.de/markup/provisioning/general-llu-complex/http://www.telefonica.de/markup/provisioning/general-llu-base/http://www.telefonica.de/markup/provisioning/general-common/http://www.telefonica.de/markup/provisioning/general-common-complex/http://www.telefonica.de/markup/provisioning/general-common-base/http://www.telefonica.de/markup/provisioning/general/
  • 5/27/2018 Rapport

    52/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}52

    D.3.2.Sample Text SDR= 001 - 001 ==========================================

    name : Header Record

    fields :

    MD_RECORD_TYPE : HDR

    MD_CREATE_DATE : 20070802000000

    MD_RECORD_SIZE : 0224

    MD_NO_RECORDS : 0000000

    MD_VERSION : 00000

    MD_END_OF_RECORD :

    = 002 - 002 ==========================================

    name : Standard Record

    fields :

    MD_EVENT_RECORD_ID : 42

    MD_RECORD_SEQUENCE_ID : 46517508520054053555082035718087

    MD_EVENT_DATE : 20420101244242

    MD_EVENT_TYPE :

    MD_EVENT_RESULT :

    MD_USAGE_TYPE : 42

    MD_SP_ID :

    MD_MSISDN : 4917942424242

    MD_B_PARTY :

    MD_VOLUME_TYPE : 4

    MD_VOLUME_1 : 2

    MD_VOLUME_2 :

    MD_APPLICATION : 4

    MD_CONTENT_CLASS : 242

    MD_PROVIDER : 0

    MD_CATEGORY_ID : 0

    MD_COST_OF_EVENT : 42

    MD_MAIN_BALANCE : 42

    MD_DATE_EXPIRED :MD_BONUS_BALANCE : 0

    MD_BONUS_BALANCE_VALIDITY:

    MD_BONUS_BALANCE_USE : 0

    MD_VOUCHER_NUMBER : 0

    MD_END_OF_RECORD :

    = 003 - 003 ==========================================

    name : Trailer Record

    fields :

    MD_RECORD_TYPE : TRL

    MD_CREATE_DATE : 20070802000000

    MD_RECORD_SIZE : 0224

    MD_NO_RECORDS : 0000001MD_VERSION : 00000

    MD_END_OF_RECORD :

  • 5/27/2018 Rapport

    53/54

    Internship ReportTNG Technology Consulting

    {European Institute of Technology.}53

  • 5/27/2018 Rapport

    54/54