The Interrogating-CSCF Module (icscf)

Module Documentation

[Overview] [Code Structure] [Database Prerequisites] [Configuration and Usage] [Topology Hidding (THIG)] [Example]

Author:
Dragos Vingarzan vingarzan -at- fokus dot fraunhofer dot de

Overview

This module is supposed to provide the functionality required for an Interrogating-CSCF

To use it you need the The CDiameterPeer Module (cdp) loaded. This is because this module communicates using Diameter with the Home Subscriber Server over the IMS_Cx inteface.

Code Structure

Database Prerequisites

There are several tables that need to be provisioned in a database, in order for the Interrogating-CSCF to function properly. Here you have a MySQL dump as example:
-- MySQL dump 10.9
--
-- Host: localhost    Database: icscf
-- ------------------------------------------------------
-- Server version   4.1.20-log
;;;;;;;;

--
-- Current Database: `icscf`
--
;

CREATE DATABASE  `icscf` ;

USE `icscf`;

--
-- Table structure for table `nds_trusted_domains`
--

DROP TABLE IF EXISTS `nds_trusted_domains`;
CREATE TABLE `nds_trusted_domains` (
  `id` int(11) NOT NULL auto_increment,
  `trusted_domain` varchar(83) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Table structure for table `s_cscf`
--

DROP TABLE IF EXISTS `s_cscf`;
CREATE TABLE `s_cscf` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(83) NOT NULL default '',
  `s_cscf_uri` varchar(83) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Table structure for table `s_cscf_capabilities`
--

DROP TABLE IF EXISTS `s_cscf_capabilities`;
CREATE TABLE `s_cscf_capabilities` (
  `id` int(11) NOT NULL auto_increment,
  `id_s_cscf` int(11) NOT NULL default '0',
  `capability` int(11) NOT NULL default '0',
  PRIMARY KEY  (`id`),
  KEY `idx_capability` (`capability`),
  KEY `idx_id_s_cscf` (`id_s_cscf`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
;;;;;;;

-- MySQL dump 10.9
--
-- Host: localhost    Database: icscf
-- ------------------------------------------------------
-- Server version   4.1.20-log
;;;;;;;;

--
-- Current Database: `icscf`
--

CREATE DATABASE  `icscf` ;

USE `icscf`;

--
-- Dumping data for table `nds_trusted_domains`
--

;
LOCK TABLES `nds_trusted_domains` WRITE;
INSERT INTO `nds_trusted_domains` VALUES (1,'open-ims.test');
UNLOCK TABLES;;

--
-- Dumping data for table `s_cscf`
--

;
LOCK TABLES `s_cscf` WRITE;
INSERT INTO `s_cscf` VALUES (1,'First and only S-CSCF','sip:scscf.open-ims.test:6060');
UNLOCK TABLES;;

--
-- Dumping data for table `s_cscf_capabilities`
--

;
LOCK TABLES `s_cscf_capabilities` WRITE;
INSERT INTO `s_cscf_capabilities` VALUES (1,1,0),(2,1,1);
UNLOCK TABLES;;
;;;;;;;

# DB access rights
grant delete,insert,select,update on icscf.* to icscf@localhost identified by 'heslo';
grant delete,insert,select,update on icscf.* to provisioning@localhost identified by 'provi';

Configuration and Usage

For exported functions look at icscf_cmds.
For configuration parameters look at icscf_params.

Topology Hidding (THIG)

Provides enhanced security for message transmission by performing encryption on sensitive headers.
For more information check Topology Hiding

Example

And here is a real usage example:
Generated on Fri Jul 18 04:14:07 2008 for Open IMS Core CSCFs by  doxygen 1.5.2