Hi all!
As some of you may have noticed, there are some references to GPRS in the openbsc 'master' branch now. The code in there is sufficient to configure a nanoBTS via OML and RSL (SI13) to establish contact with an existing NS-over-IP capable SGSN.
All that needs to be done is to set a couple of parameters at the BTS level in openbsc.cfg. I've documented them briefly in the wiki (VTY reference page). Also, at least one of your timeslots have to be of PDCH pchan type. We don't implement dynamic TCH/PDCH switching yet.
As the changes required to get this initialization/configuration done are non-invasive, I decided to include them in the master branch right away.
If you set 'gprs enabled 0' in your openbsc.cfg, all GPRS functionality should be disabled.
This is of course only the first step.
The much bigger work will be in the grps-sgsn branch, where work will continue on completing the BSSGP and LLC protocol implementations and the actual SGSN + GGSN functionality. The goal is of course to eliminate the need for an external SGSN/GGSN completely.
Regards, Harald
Hey there,
This post to announce a first functionnal support in OpenBSC for the Digium E1 T122P with the great work of creslin287 and available here :
http://github.com/xcarcelle/openbsc-digium
This work was done starting on : _E1 Driver : The dahdi driver (src/input/dahdi.c) used in Asterisk and adapted to OpenBSC _LAPD support : The lapd (src/input/lapd.c) layer implemented in Asterisk (libpri)
with the following steps : _Signaling fixes to have a Q921-LAPD working with the E1 driver for the TE122P card _Voice fixes with tx/rx buffer optimizations
It could be great for the ones who can to test this code and give the mailing- list some feedbacks before Harald could possibly merge this branch.
My best regards,
Xavier Carcelle.
Hi Xavier,
I just wanted to thank Matthew, you and everyone else involved in this work, as it is the first working/complete input driver that was contributed by somebody outside the core developer team (Zecke/myself).
I personally don't have any of those Digium E1 board so I'll never be able to test your driver. However, if anyone else on this list has access to one and some time to spare, testing is much appreciated.
I'd be more than happy to merge your patch, after it has been cleaned up a bit. There are still some large '#if 0 ...' sections that need to be removed, and we probably need some kind of autotools-magic to automatically detect the presence of the dahdi header files and build the dahdi input driver only when they are present.
Regards, Harald
Harald Welte wrote:
Hi Xavier,
I just wanted to thank Matthew, you and everyone else involved in this work, as it is the first working/complete input driver that was contributed by somebody outside the core developer team (Zecke/myself).
I personally don't have any of those Digium E1 board so I'll never be able to test your driver. However, if anyone else on this list has access to one and some time to spare, testing is much appreciated.
I'd be more than happy to merge your patch, after it has been cleaned up a bit. There are still some large '#if 0 ...' sections that need to be removed, and we probably need some kind of autotools-magic to automatically detect the presence of the dahdi header files and build the dahdi input driver only when they are present.
Regards, Harald
Hi,
i assume that the input driver is using dahdi. Anybody that got a HFC-E1 based card can test it with the Junghanns.NET driver for dahdi (the "cwain" module in particular) which i (silently) released last week. You can find them at: http://junghanns.net/downloads/jnet-dahdi-drivers-1.0.0.tar.gz
Have fun :)
Just a couple of quick corrections (so credit goes to the proper parties):
- dahdi.c is based on misdn.c (that's where I started from when I wrote it) - lapd.c is the original lapd.c that the original sangoma card patch's author wrote (so thanks to him for that)
I had talked with Xavier about maybe importing libpri's lapd layer instead though, since it is more fully featured and robust (in cases of error handling, etc). I have not done this yet though.
Also, on our TODO list I need to fix the configuration interface so it maps better to the way DAHDI works. Right now, it only works if your card is the first E1 DAHDI card loaded in the system (channels DAHDI/1-DAHDI/31). A sample configuration for /etc/dahdi/system.conf would be:
span=1,0,0,ccs,hdb3,crc4 dchan=1 bchan=2-31
I think that getting the config interface in OpenBSC fixed so that it maps to DAHDI channels better (instead of mISDN spans) for DAHDI devices would be something that would need to be fixed though, probably pre-merge...
Most of my thanks go to Xavier though, for getting me interested in this project, and for staying after work so many long hours working with me on testing and development.
Thanks also to you and your team Harald, for this really neat project. I hope you guys are able to put this driver addition for some good use.
If there are any problems or issues, please email to the list. I'm not sure how much I'll be able to do (since I don't have any hardware here with me to test on), but I'll make a best effort attempt to help out with any issues that come along.
Thanks again, Matthew Fredrickson
On Mon, Mar 29, 2010 at 1:47 PM, Carcellelist carcellelist@free.fr wrote:
Hey there,
This post to announce a first functionnal support in OpenBSC for the Digium E1 T122P with the great work of creslin287 and available here :
http://github.com/xcarcelle/openbsc-digium
This work was done starting on : _E1 Driver : The dahdi driver (src/input/dahdi.c) used in Asterisk and adapted to OpenBSC _LAPD support : The lapd (src/input/lapd.c) layer implemented in Asterisk (libpri)
with the following steps : _Signaling fixes to have a Q921-LAPD working with the E1 driver for the TE122P card _Voice fixes with tx/rx buffer optimizations
It could be great for the ones who can to test this code and give the mailing- list some feedbacks before Harald could possibly merge this branch.
My best regards,
Xavier Carcelle.