Versions Compared

Key

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

Introduction

Note
The information in this article requires that the 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 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.

Participating parts/systems

This is from a customer perspective 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 Web API - Synchronization feature
    • Meridix-Telepo Catalog synchronization manager
    • Meridix-Telepo CDR retrieval manager
    • 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

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 Telepo BCS through a HTTP based API. Where a HTTP request is made against each of the services nodes CDR API. The request need to include a valid system token that is defined in the file /opt/servicenode/application/conf/cdr-pipelines.x on each service node. (See Telepo document TelepoBCS_CDRs_3.6.xxxx.pff section 7.2). This service token will be appended to the HTTP request that will return CDR information in the Response body as comma separated data (CSV).
Example of the HTTP request url that is used:

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

Meridix has a application that makes calls to each of the service nodes from which CDR should be retrieved. The only technical requirement is that the service 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 where the Telepo service nodes reside. It is not recommended to make the service 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).

Meridix requires

Meridix needs to have access to each of the service nodes IP addresses and have valid system token for each of them. 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.

The catalog data contains information about the organizations, user ids and function numbers that exist in the Telepo system. The data is used to translate these Telepo specific items to their Meridix equivalent so that once synchronized the Meridix installation will contain an complete Meridix version of the Telepo catalog that is ready to be used from the Meridix web user interface. So when there are no need to administrate available user ids etc. in multiple places since Meridix mirrors the Telepo catalog.

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 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. 

 

Info

One flaw 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).

 

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 read only operation from Meridix so no changes are ever pushed back to Telepo.

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 well.

Summary

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

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)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 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.