10
0
Fork 0
Obsolete experimental Asterisk channel driver for obsolete old OpenBSC/OsmoNITB
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
Harald Welte b98897b401 update README with obsolescence information 5 years ago
.gitignore Update the build system 13 years ago
LICENSE Initial import: Base skeleton of an asterisk module 13 years ago
Makefile Add required OpenBSC files and lib to the build 13 years ago
README.md update README with obsolescence information 5 years ago
chan_openbsc.c Fix RTCP frame reception 13 years ago
openbsc-mncc-bridge-rtp.diff openbsc patch: Fix debug message (forgot to dereferent ptr) 13 years ago
openbsc.conf.sample Add code for RTP setup/cleanup and basic channel integration 13 years ago

README.md

chan_openbsc

Pre-historic Channel driver for the OpenBSC project

THIS CODE IS LONG OBSOLETE AND FOR HISTORIC REFERENCE ONLY

Please use osmo-sip-connector instead.

Building

This module is made for the asterisk 1.6.2 branch.

To build it, you'll need the asterisk sources (configured, so it's best if it's the sources you installed from) and the OpenBSC source.

The default makefile assumes that the asterisk sources are in ../asterisk and the OpenBSC sources are in ../openbsc . If it's not the case, you can override those locations with the ASTSRC & OPENBSCSRC variables respectively.

You first need to compile OpenBSC itself, but since in asterisk it will be in a dynamic module you need to make sure to (re-)build it with :

$ make CFLAGS=-fPIC

Once that's done, you can just type make in the ast_chan_openbsc directory and it should build without problems.

If you have build problems, please fix and submit patch :)

Using

Using it is pretty straightforward:

  • Make sure OpenBSC works standalone

    Using bsc_hack, you should test that OpenBSC itself works, that your openbsc.cfg is properly setup and that your subscribers are in the HLR sqlite3 database.

  • Configure the channel driver

    Just place an 'openbsc.conf' in your asterisk configuration directory, using the . The two main required parameters are the location of the OpenBSC .cfg file and of the HLR database.

  • Install the channel driver module

    You need to copy the chan_openbsc.so in the asterisk module directory, usually /usr/lib/asterisk/modules/ . In theory asterisk auto-loads modules but if you have a custom configuration, you may need to make sure it's loaded in modules.conf of asterisk.

  • Start asterisk

    "Soon" after asterisk is started, the nanoBTS should connect and start broadcasting the network.

  • To place a call

    You need a target extensions in your extensions.conf , something like

    exten => _2XXX,1,Dial(OpenBSC/${EXTEN:1}, 20, rt)

    The part after the "OpenBSC/" is the extension as registred in the OpenBSC HLR database.

Limitations

Wow, there is so many, here's a few ones:

  • ip.access nanoBTS only
  • Can't reload the module, have to restart asterisk.