[asterisk-ss7] chan_ss7 cluster config.c segfault
Amish
amish at 3g.co.za
Wed Mar 9 06:12:40 CST 2011
Hi Gregory,
Below is a simplified version of the of the ss7.conf file I am using. I
have one ss7 link on each host (box1 and box2 below). Each host is
running mtp3d.
I also had to patch mtp3d.c in chan_ss7 version 1.4.3 with the following:
273c273
< if (link->linkset == linkset) {
---
> if (link->linkset == linkset ||
!strcmp((link->linkset)->combined,linkset->combined)) {
Without the patch if host1 receives a signalling messages for host2 the
message is sent to the other host.
Some problems with mtp3d:
- if a signalling link on one host fails, the mtp3d on the affected host
does not send the MSUs in the transmit buffer of the affected host to
the other host.
- if a signalling link is down (i.e. cannot be aligned) initially mtp3d
will not start on that host.
- on the surface the concept used for the cluster configuration seems
more reliable than the mtp3d setup as the cluster can communicate with 2
interfaces on each host.
Does this provide what you are trying to achieve?
Cheers,
Amish
[linkset-net]
enabled => yes
enable_st => no
use_connect => no
hunting_policy => seq_htl
subservice => auto
combined => net-stps
language => en
variant => ITU
context => net
t35 => 15000,timeout
[link-net1]
linkset => net
channels => 1-15,17-31
schannel => 16 at box1:12000
firstcic => 1
enabled => yes
stp => 19
[link-net2]
linkset => net
channels => 1-15,17-31
schannel => 16 at box2:12000
firstcic => 33
enabled => yes
stp => 20
[link-net3]
linkset => net
channels => 1-31
schannel =>
firstcic => 65
enabled => yes
stp => 19
[link-net4]
linkset => net
channels => 1-31
schannel =>
firstcic => 97
enabled => yes
stp => 20
[host-box1]
enabled => yes
default_linkset => net1
opc => 1234
dpc => net:30
links => net1:1,net3:2
[host-box2]
enabled => yes
default_linkset => net1
opc => 1234
dpc => net:30
links => net2:1,net4:2
On 03/08/2011 11:52 AM, Amish wrote:
> Hi,
>
> I also could not get the cluster function in 1.4.3 to work - segfault.
> Managed to get further with 1.3 and had it up and running on both
> hosts but had asterisk crash on one of the hosts after a few minutes.
>
> I am now using mtp3d running on both hosts. Will post config later today.
>
> Best Regards,
> Amish
>
>
> On 03/08/2011 03:11 AM, Gregory Massel wrote:
>> Hello
>>
>> I'm trying to set up a chan_ss7 cluster, however, both chan_ss7 and
>> mtp3d segfault in config.c when trying to read the [cluster] section
>> of the config file.
>>
>> To ensure it wasn't my config, I eventually used the
>> ss7.conf.template.two-hosts sample (as distributed in the chan_ss7
>> source) and the same thing occurred.
>>
>> The problem seems to arise in config.c on the link lines. The
>> following is problematic:
>>
>> [cluster]
>> port => 5040
>> l1 => gentoo2#if-1,gentoo2#if-2
>> l2 => gentoo1#if-1,gentoo1#if-2
>> l3 => gentoo2#if-1,gentoo2#if-2
>> l4 => gentoo1#if-1,gentoo1#if-2
>>
>> It results in:
>>
>> Mar 08 02:35:02 [NOTICE] config.c:502 load_config_linkset Using
>> default context 'default' for linkset 'siuc'
>> Mar 08 02:35:02 [NOTICE] config.c:504 load_config_linkset Using
>> default language '' for linkset 'siuc'
>> Mar 08 02:35:02 [NOTICE] config.c:502 load_config_linkset Using
>> default context 'default' for linkset 'peer2'
>> Mar 08 02:35:02 [NOTICE] config.c:504 load_config_linkset Using
>> default language '' for linkset 'peer2'
>> Mar 08 02:35:02 [NOTICE] config.c:804 load_config_link Configured
>> link 'l1' on linkset 'siuc', firstcic=1
>> Mar 08 02:35:02 [NOTICE] config.c:804 load_config_link Configured
>> link 'l2' on linkset 'siuc', firstcic=33
>> Mar 08 02:35:02 [NOTICE] config.c:804 load_config_link Configured
>> link 'l3' on linkset 'peer2', firstcic=1
>> Mar 08 02:35:02 [NOTICE] config.c:804 load_config_link Configured
>> link 'l4' on linkset 'peer2', firstcic=33
>> Segmentation fault
>>
>> As soon as I comment out the link lines:
>>
>> [cluster]
>> port => 5040
>> ;l1 => gentoo2#if-1,gentoo2#if-2
>> ;l2 => gentoo1#if-1,gentoo1#if-2
>> ;l3 => gentoo2#if-1,gentoo2#if-2
>> ;l4 => gentoo1#if-1,gentoo1#if-2
>>
>> Then asterisk starts up and mtp3d gets a bit further:
>>
>> Mar 08 02:36:51 [NOTICE] mtp.c:2378 mtp_init Initialising 2
>> signalling links
>> -- Starting mtp mainloop, pid=3260.
>> No signaling channels
>>
>> I'm trying to use chan_ss7 1.4.3 on Asterisk 1.4.40, Linux kernel
>> 2.6.32-28-server, libc6 2.11.1, Ubuntu 10.04.1 LTS (64-bit).
>>
>> In terms of trying to isolate where within config.c the segfault
>> occurs, I have tried making an intentional typo on the link name and
>> it does get as far as:
>>
>> Mar 08 02:50:05 [ERROR] config.c:1123 load_config_cluster The link
>> 'dl1' is not defined while parsing cluster category.
>>
>> Unfortunately, as soon as there is a valid link name specified, it
>> segfaults, irrespective of what is to the right of the "=>". You can
>> even put garbage (e.g. "l1 => abc") and it will segfault before
>> trying to sanity check the rest of the line.
>>
>> Thanks
>>
>> Greg
>>
>> --
>> _____________________________________________________________________
>> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>>
>> asterisk-ss7 mailing list
>> To UNSUBSCRIBE or update options visit:
>> http://lists.digium.com/mailman/listinfo/asterisk-ss7
>>
>
>
> --
> _____________________________________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>
> asterisk-ss7 mailing list
> To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-ss7
>
More information about the asterisk-ss7
mailing list