hi,
the broken chan_lcr is now fixed in the "develop" branch of lcr git. i have tested it with asterisk 1.8.1. the locking seems to be improved in this asterisk version. i could not run it in a deadlock, as i could with asterisk 1.6. i would suggest to try this out, but please keep your current asterisk and lcr sources. if all works fine, i would like to merge the "develop" branch into the "master" branch soon.
for the gsm users: the second change in the "develop" branch is the socket interface between openbsc and lcr. thanks to harald welte for providing this patch. instead of linking openbsc to lcr, openbsc runs it's own process. (using bsc_hack as usual) lcr connects to a socket of openbsc. with it, the gsm.conf became obsolte and has been removed from lcr. in order to run lcr with openbsc ("master" branch of openbsc) :
bsc_hack -P -m -l <sqlite-database> -c <openbsc-config>
-P is required to enable rtp proxy for use with ipaccess bts. -m is required to allow call control via socket interface
to get lcr from "develop" branch, do:
git-clone git://git.misdn.org/git/lcr.git/ cd lcr sh checkout-branch.sh develop
regards,
andreas
Andreas,
thanks for integrating the mncc socket patch into lcr.
I would personally like to see the following improvements: * add some (preferrable automatically computed) version to the mncc, to make sure you cannot run lcr + bsc_hack built from a different mncc.h file. We could do something like a md5sum over the header at compilation time, stored in both openbsc and lcr. Once they connect the mncc socket, they request the remote side md5-value and compare it with the local-side value. If they don't match, print an error message and exit the program.
* make the socket path configurable, which is required for running multiple instances of openbsc+lcr on the same machine.
If you (or anyone else on this list) happens to have some time to work on that, it would be greatly appreciated.
Regards, Harald