Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note
The information in this article requires that the targets Telepo BCS is in version 3.6 or later.

This article describes how a Meridix Studio installation is connected against a Telepo BCS installation both regarding retrieval of CDR (Call Detail Record) information through the Telepo Web API and how the catalog synchronization is handled. This is the default "off-the-shelf" way of handling the integration but the handling can be customized if a customer has special requirements.

...

This is from a customer perspective and only sub-systems that partake in the integration process is included

  • The Meridix installation hosted in off-site in Microsoft Windows Azure (possibly load balanced between multiple servers in the Azure data center)
    • Meridix Studio HTTP HTTPS Web API - Synchronization featurefeature *
    • Meridix-Telepo Catalog synchronization managermanager *
    • Meridix-Telepo CDR retrieval managerclient *
    • Meridix Import Service - Handles CDR parser and data back-end import *
  • The on-site Telepo BCS Management-node(s)
    • The HTTP Web API - Administration features
    The on-site Telepo BCS Service nodes(s)The HTTP Web API - CDR retrieval feature
* Is installed and run off-site.

The integration consists of two separate parts where one part handles the synchronization of the catalog data from the Telepo BCS platform and the other part handles the retrieval and importing of CDR data from the Telepo BCS platform to the Meridix data back-end. Each of these parts is described in the following sections:

CDR Retrieval

The CDR data is made available for external systems from by Telepo BCS through a HTTP HTTPS based API. Where a HTTP To get the CDR data a HTTPS request is made against each of the services nodes management node CDR APIAPIs. The request need to include a valid system token ticket that is defined in the file /opt/servicenode/application/conf/cdr-pipelines.xxml on each service the management node. (See Telepo document TelepoBCS_CDRs_3.6.xxxx.pff pdf section 7.2 regarding path etc). This service token ticket will be appended to the HTTP HTTPS request that will return CDR information in the Response body as comma separated data (CSV).
Example of the HTTP HTTPS request url URL that is used:

http://service_nodemn_ip/api/admin/cdrs?year=2013&month=03&date=21&t=system_token_for_servicemanagement_node

Meridix has a an application that makes these calls to each of the service nodes management node from which CDR should be retrieved. The only technical requirement is that the service management node IP address is accessible from the Meridix server (off-site). The access can be setup as a IP rule or through an VPN connection into the subnet sub net where the Telepo service nodes reside. It is not recommended to make the service node publicly management node publicly available from the outside.The service node IP used in the request should be the HA address of the service node because the Telepo system handles the routing to the correct server (Primary or Secondary).

Example of a valid section that defines the token in the cdr-pipelines.xml

Code Block
<system-tickets>
	<token>fsafghgdsfhjgfdjhvcir67iujytedrsf7eu65</token>
</system-tickets>

Meridix requires

Meridix needs to have access to each of the service nodes management node IP addresses address and have valid system token tickets for each of themit.
No Meridix software needs to be installed on-site.

Catalog synchronization

Meridix is used as a slave catalog to the (master) Telepo catalog and synchronizes changes made in Telepo at a defined interval (usually once every 24 hours, but can be done more often if required). The information that Meridix loads from Telepo is used in a read only way i.e. changes is never published from Meridix back to Telepo.

...

This information is exposed by Telepo through their Web API and multiple calls need to be made against the API to get all the required information. This is also handled by an off-site Meridix software that uses the Administration API part on the Management management-node. Since only the User API is by default publicly available on a Telepo installation the off-site Meridix server need to have access to the HA address of the management node.

API calls made against the Administration API needs to be signed with an system ticket (token and secret combination) that has access to the Administration APIs. 

 


One flaw
Info
Info

This only applies to Telepo versions prior to 4.0 SP2

One limitation in the Telepo API is that the orgId that maps the CDR logs with the organization that the belong to is not available through the API but since Meridix need to know each organizations orgId to be able to know which CDR logs that belongs to a specific organization this information need to be supplied as well. This mapping information between an organization usually identified by the domain and the corresponding orgId (integer) is available in the Telepo database. A commonly used solution to this is that a custom script is setup that writes this mapping (domain->orgId) to a csv file that is made available on a FTP share on-site (accessible from Meridix) or uploaded to a Meridix FTP server. 

An alternative approach is that each customer manually need to have the org id added in the Meridix user interface. (Only needed for active customers).

The management API ticket need the be granted the following rights (see yellow marks).
 Image Added

Meridix requires

Meridix needs to have access to the management nodes administration API and have a valid system ticket (token and secret) with access to the Administration API methods. This is a read only operation from Meridix so no changes are ever never pushed back to Telepo from Meridix. 

Multiple Meridix Studio installations for one or multiple Telepo service nodes

If a Telepo system contains separate end customers that is provisioned on individual service nodes for example if Company A owns the Telepo system but Company B has its own part of the system with a custom branding etc. and all Company B data is located on a specific service node multiple separate Meridix Studio installations can be setup and give Company A and Company B to have separate Meridix installation. This is possible since the catalog synchronization has information about which service node a organization resides in and the Meridix catalog synchronization can be setup in a way such that Meridix installation A only synchronized organizations that is located on service nodes that belongs to Company A and the organizations that belongs to Company B is synchronized against Meridix installation B which only contain information about Company Bs customers (organizations).

This give a Telepo provider that for example have resellers with their own branding the possibility to have their own report system as wellNo Meridix software needs to be installed on-site.

Summary

No Meridix software needs to be installed on-site, the only requirements is that the Management node and Service nodes need to be management-node is accessible from the Meridix off-site server and that Meridix has valid tickets and tokens for each of the required API operationoperations.
 

RequirementReasonNotes
IP address to the Management node Administration API. With access rights from the Meridix off-site server.To allow catalog synchronization (organizations, user ids, function numbers)
To allow retrieval of CDR information (call logs)
Access can be granted through IP access rules or through a VPN connection.
API Ticket (token/secret) with rights to access the administration API methods.To be able to sign the requests
. IP addresses to the Service nodes CDR API. With access rights from the Meridix off-site server.To allow retrieval of CDR information (call logs)Access can be granted through IP access rules or through a VPN connection
.
System token for
each service
the management node.To be able to make the CDR API calls.
 

Organization domain to org id mappingTo be able to add the missing mapping between the CDR logs and the catalog data.This is optional since it can be handled manually but its recommended that its automated to minimize errors.

The following information should to be supplied to Meridix.

...

 

 


Type
The management-node IP addresses HA, Primary and SecondaryIP addresses
System ticketTicket (token and secret)
Information about mapping(depends on customer preference)