My fight with OpenSS7

Introduction

One day I’ve invented that it would be nice to play with real SS7 stack. The only available I’ve found is OpenSS7

Day 1 – 30/04/2009

Compiling from source files – failed. Somehow it breaks on my Fedora Core 10:

In file included from ../../openss7-0.9.2.G/streams/src/kernel/specfs.c:124:
../../openss7-0.9.2.G/streams/src/kernel/strspecfs.c: In function ‘specfs_init_cache’:
../../openss7-0.9.2.G/streams/src/kernel/strspecfs.c:1406: warning: passing argument 5 of ‘kmem_cache_create’ from incompatible pointer type
../../openss7-0.9.2.G/streams/src/kernel/strspecfs.c:1406: error: too many arguments to function ‘kmem_cache_create’

Google research didn’t help…

Next try with precompiled packages: i’ve installed proper repo for yum:

[jhartman@jhartman yum.repos.d]$ pwd
/etc/yum.repos.d
[jhartman@jhartman yum.repos.d]$ cat openss7.repo 
[openss7]
enabled = 1
name = OpenSS7 Repository
baseurl = http://www.openss7.org/repos/rpms/fedora/9/i686
gpgcheck = 1
gpgkey = http://www.openss7.org/pubkey.asc

Shiii…. – again failure:

[jhartman@jhartman yum.repos.d]$ sudo yum install openss7
[sudo] password for jhartman: 
Loaded plugins: refresh-packagekit
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package openss7.noarch 0:0.9.2.G-1 set to be updated
--> Processing Dependency: strxnet >= 0.9.2.12-1 for package: openss7
--> Processing Dependency: strinet >= 0.9.2.7-1 for package: openss7
--> Processing Dependency: streams >= 0.9.2.4-1 for package: openss7
--> Processing Dependency: strnsl >= 0.9.2.4-1 for package: openss7
--> Processing Dependency: strsock >= 0.9.2.4-1 for package: openss7
--> Processing Dependency: strcompat >= 0.9.2.7-1 for package: openss7
--> Processing Dependency: strxns >= 0.9.2.7-1 for package: openss7
--> Running transaction check
---> Package strsock.noarch 0:0.9.2.4-1 set to be updated
--> Processing Dependency: strsock-lib = 0.9.2.4-1 for package: strsock
---> Package strcompat.noarch 0:0.9.2.7-1 set to be updated
--> Processing Dependency: strcompat-lib = 0.9.2.7-1 for package: strcompat
---> Package strxnet.noarch 0:0.9.2.12-1 set to be updated
--> Processing Dependency: strxnet-lib = 0.9.2.12-1 for package: strxnet
---> Package strnsl.noarch 0:0.9.2.4-1 set to be updated
--> Processing Dependency: strnsl-lib = 0.9.2.4-1 for package: strnsl
---> Package strxns.noarch 0:0.9.2.7-1 set to be updated
--> Processing Dependency: strxns-lib = 0.9.2.7-1 for package: strxns
---> Package strinet.noarch 0:0.9.2.7-1 set to be updated
--> Processing Dependency: strinet-lib = 0.9.2.7-1 for package: strinet
---> Package streams.noarch 0:0.9.2.4-1 set to be updated
--> Processing Dependency: streams-lib = 0.9.2.4-1 for package: streams
--> Running transaction check
---> Package strcompat-lib.i686 0:0.9.2.7-1.fc9 set to be updated
---> Package strsock-lib.i686 0:0.9.2.4-1.fc9 set to be updated
---> Package strnsl-lib.i686 0:0.9.2.4-1.fc9 set to be updated
---> Package streams-lib.i686 0:0.9.2.4-1.fc9 set to be updated
--> Processing Dependency: librpmio-4.4.so for package: streams-lib
--> Processing Dependency: librpmdb-4.4.so for package: streams-lib
--> Processing Dependency: librpm-4.4.so for package: streams-lib
---> Package strxnet-lib.i686 0:0.9.2.12-1.fc9 set to be updated
---> Package strinet-lib.i686 0:0.9.2.7-1.fc9 set to be updated
---> Package strxns-lib.i686 0:0.9.2.7-1.fc9 set to be updated
--> Finished Dependency Resolution
streams-lib-0.9.2.4-1.fc9.i686 from openss7 has depsolving problems
  --> Missing Dependency: librpm-4.4.so is needed by package streams-lib-0.9.2.4-1.fc9.i686 (openss7)
streams-lib-0.9.2.4-1.fc9.i686 from openss7 has depsolving problems
  --> Missing Dependency: librpmio-4.4.so is needed by package streams-lib-0.9.2.4-1.fc9.i686 (openss7)
streams-lib-0.9.2.4-1.fc9.i686 from openss7 has depsolving problems
  --> Missing Dependency: librpmdb-4.4.so is needed by package streams-lib-0.9.2.4-1.fc9.i686 (openss7)
Error: Missing Dependency: librpmdb-4.4.so is needed by package streams-lib-0.9.2.4-1.fc9.i686 (openss7)
Error: Missing Dependency: librpmio-4.4.so is needed by package streams-lib-0.9.2.4-1.fc9.i686 (openss7)
Error: Missing Dependency: librpm-4.4.so is needed by package streams-lib-0.9.2.4-1.fc9.i686 (openss7)

The problem seems to be rpm package installed on Fedora Core 10 in version 4.6 (notice that OpenSS7 binaries are targeting FC9)…

Next idea – compile rpm 4.4 from the source and put missing libraries into /usr/lib manually….

Nop…. bad idea. Small hint – do not try to force downgrade rpm! I spent 2 hours trying install rpm without rpm (and of course – without yum).

Finally – I gave up. Installed Fedora Core 9 on my VMWare and… still problems:

[jhartman@localhost ~]$ sudo yum --nogpgcheck install openss7-devel
[sudo] password for jhartman: 
Loaded plugins: refresh-packagekit
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package openss7-devel.i686 0:0.9.2.G-1.fc9 set to be updated
--> Processing Dependency: strnsl-devel >= 0.9.2.4-1 for package: openss7-devel
--> Processing Dependency: strcompat-devel >= 0.9.2.7-1 for package: openss7-devel
--> Processing Dependency: openss7 = 0.9.2.G-1 for package: openss7-devel
--> Processing Dependency: strxns-devel >= 0.9.2.7-1 for package: openss7-devel
--> Processing Dependency: strxnet-devel >= 0.9.2.12-1 for package: openss7-devel
--> Processing Dependency: strsock-devel >= 0.9.2.4-1 for package: openss7-devel
--> Processing Dependency: strinet-devel >= 0.9.2.7-1 for package: openss7-devel
--> Processing Dependency: STREAMS-devel for package: openss7-devel
--> Running transaction check
.
.
Transaction Check Error:
  file /usr/share/man/man2/fdetach.2.gz from install of streams-0.9.2.4-1.noarch conflicts with file from package man-pages-2.78-2.fc9.noarch
  file /usr/share/man/man2/getmsg.2.gz from install of streams-0.9.2.4-1.noarch conflicts with file from package man-pages-2.78-2.fc9.noarch
  file /usr/share/man/man2/isastream.2.gz from install of streams-0.9.2.4-1.noarch conflicts with file from package man-pages-2.78-2.fc9.noarch
  file /usr/share/man/man2/putmsg.2.gz from install of streams-0.9.2.4-1.noarch conflicts with file from package man-pages-2.78-2.fc9.noarch

That’s all for today 🙁

To be continued…. I hope

My fight with OpenSS7

One thought on “My fight with OpenSS7

  • 2018-12-05 at 10:01
    Permalink

    Hey, Jarek.

    Thanks for your blog insights. They’re all very interesting.

    Did you have any more luck getting OpenSS7 going since your initial attempt? I am about to embark on a project that will make heavy use of it and I wondered if you had any more insights.

    One thing that would be useful to know from you is whether OpenSS7 implements its own internal ASN.1 encoder/decoder successfully or whether an external one is required.

    Regards,

    Oliver

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *