SDK Configuration
Sangoma TDM SDK configuration is divided in to two parts:
Wanpipe/port configuration
Span configuration
Wanpipe/port Configuration
Wanpipe/port configuration w.r.t. pri/ss7/mtp2/analog etc. is done by "sangoma_set_default_<tapping_type>()" function as present in libsangoma_wp_config.c file loacted at "sangoma-tdm-sdk-<verison>/applications/common/" path.
E.g. wanpipe for PRI tapping is being configured at "sangoma_set_default_pri_tap_config()" function. Any changes w.r.t. wanpipe configuration for PRI tapping needs to be change in this function for PRI tapping and similarily for others.
There are different wanpipe/port parameters that needs to be configured in order to get wapipe/port in connected state. Below are the some of the important parameters that are required to be change as per telco's configuration in order to get wanpipe/port in connected state:
Port framing configuration:
sdla_fe_cfg->frame = WAN_FR_NCRC4 (to set port framing to NCRC4)
sdla_fe_cfg->frame = WAN_FR_CRC4 (to set port framing to CRC4)
Port media configuration:
sdla_fe_cfg->media = WAN_MEDIA_E1 (to set port media to E1)
sdla_fe_cfg->media =WAN_MEDIA_T1 (to set port media to T1)
Hardware Port Mapping:
dev_cfg->u.aft.hw_port_map = 1 (to enable linear port mapping)
dev_cfg->u.aft.hw_port_map = 0 (to disable linear port mapping)
High Impedance Mode:
sdla_fe_cfg->cfg.te_cfg.high_impedance_mode = 1 (to enable high impedance mode)
sdla_fe_cfg->cfg.te_cfg.high_impedance_mode = 0 (to disable high impedance mode)
RX Level:
sdla_fe_cfg->cfg.te_cfg.rx_slevel = WAN_TE1_RX_SLEVEL_12_DB (if high impedance mode is enable)
sdla_fe_cfg->cfg.te_cfg.rx_slevel = WAN_TE1_RX_SLEVEL_43_DB (if high impedance mode is disable)
Similariy, there are other parameters like "dev_cfg->tdmv_conf.dchan" in order to set signalling on particular port/wanpipe etc.
Span Configuration
Span configuration w.r.t. pri/ss7/mtp2/analog etc. is done by "map_tapping_spans()" function as present in sample tapping application file loacted at "sangoma-tdm-sdk-<verison>/application/sample_<isdn/isup/analog>_tapping/sample tapping app" path.
E.g. Span configuration for PRI tapping is being configured at "map_tapping_spans()" function present in "sangoma-tdm-sdk-<version>/application/sample_isdn_tapping/sample_tapping.c. Any changes w.r.t. span configuration for PRI tapping needs to be change in this function for PRI tapping and similarily for others.
There are different span parameters that needs to be configured in order to start tapping calls. Below are the some of the important parameters that are required to be change as per telco's configuration in order to start tapping calls:
Parameters w.r.t. ISDN configuration
Span Interface Type
strcpy(span_conf->config.isdn.interface_name, "net") - to set it to NET
strcpy(span_conf->config.isdn.interface_name, "cpe") - to set it to CPE
Span Switch Type
strcpy(span_conf->config.isdn.switch_type, "etsi") - to set it to etsi
There are other switch types which can be set like itu92, ansi etc
Span peerspan
strcpy(span_conf->config.isdn.peer_span, peer_span_name) - peer_span_name can be any peer span liken w2g1 depends up which one is its peer span
By default wanpipe 1 has its peerspan as 2 and vice versa and so on as per the card type.
Mixaudio Type
strcpy(span_conf->config.isdn.mixaudio_mode, "both") - to get single tapping file containing data of both span
strcpy(span_conf->config.isdn.mixaudio_mode, "none") - to get different file per span basis containing data of that particular span
For more detail please refere to ISDN Tapping wiki.
Parameters w.r.t. ISUP configuration
Span Switch Type
strcpy(span_conf->config.isdn.switch_type, "etsi") - to set it to etsi
There are other switch types which can be set like itu92, ansi etc
Span peerspan
strcpy(span_conf->config.isdn.peer_span, peer_span_name) - peer_span_name can be any peer span liken w2g1 depends up which one is its peer span
By default wanpipe 1 has its peerspan as 2 and vice versa and so on as per the card type.
Cicbase
strcpy(span_conf->config.isup.cicbase, "1") - to set the cic base i.e. from which cic number channels inside span is getting started it can be any number as per telco's configuration
ISVoice
strcpy(span_conf->config.isup.is_voice, "0") - to set the span as signalling span
strcpy(span_conf->config.isup.is_voice, "1") - to set span as voice span
Voice Span
strcpy(span_conf->config.isup.voice_span, "1") - to set any pure voice i.e. needs to be linked to that particular signallin span
In above example span 1 is a pure voice span that is associated with the signalling span that is configured if in case there is no associated voice span than please set it to 0 as shown below:
strcpy(span_conf->config.isup.voice_span, "0") - to set there no associated voice span
For more detail please refere to ISUP Tapping wiki.