Dear openbsc folks,
i am following up on the osmo-nitb/ggsn/sgsn config running w/ a nanoBTS-1800.
i have been trying to get mISDN/lcr to build to be able to create the chan_lcr into asterisk (i am more familiar w/ dahdi/asterisk for isdn cahnnels) though so far i am not able to get it to work : *configuration : **host : running linux debian lenny 2.6.26-2-686) **autoconf 2.61 **mISDN-1_1_9.1 (downloaded as a tarball) builds mISDN_dsp.ko but not mISDN_l1loop.ko **lcr doest not build (./configure passes)
/usr/src/lcr# git-apply --verbose lcrOpenBSC.patch Checking patch gsm_bs.cpp... error: while searching for: int bts_model_nanobts_init(void); static struct log_target *stderr_target;
/* timer to store statistics */ #define DB_SYNC_INTERVAL 60, 0 static struct timer_list db_sync_timer;
error: patch failed: gsm_bs.cpp:39 error: gsm_bs.cpp: patch does not apply
/usr/src/lcr# make (...) gcc -DWITH_GSM_BS -I./openbsc/include -I./libosmocore/include -I./openbsc -Wall -DCONFIG_DATA=""/usr/local/lcr"" -DSHARE_DATA=""/usr/local/lcr"" -DLOG_DIR=""/usr/local/lcr"" -DEXTENSION_DATA=""/usr/local/lcr/extensions"" -D_GNU_SOURCE -fPIC -c bchannel.c -o bchannel.po bchannel.c:29:31: error: mISDN/mISDNcompat.h: No such file or directory bchannel.c:30: error: 'MISDN_AF_ISDN' undeclared here (not in a function) bchannel.c:31:24: error: mISDN/q931.h: No such file or directory bchannel.c: In function 'bchannel_create': bchannel.c:148: error: 'PF_ISDN' undeclared (first use in this function) bchannel.c:148: error: (Each undeclared identifier is reported only once bchannel.c:148: error: for each function it appears in.) bchannel.c:174: error: 'AF_ISDN' undeclared (first use in this function) make[1]: *** [bchannel.po] Error 1 make[1]: Leaving directory `/usr/src/lcr'
(lcr from git : commit 6e1e99808e5b1c16b00904d31f95d0b74487023e)
*questions : **do i need misdn to build lcr if running a nanobts w/ Abis-over-ip ? **am i missing something in the build order ? **any packaged version of misdn for debian 2.6.26-2-686 ?
thanks for your support.
Xavier.
hi xavier,
please use the socket branch of mISDN and mISDNuser. see www.mISDN.eu use the master branch of lcr. see www.mISDN.eu use the master branch of openbsc. see http://openbsc.osmocom.org/trac/wiki/OpenBSC
lcr is now able to bridge between gsm and sip. for openbsc you don't need any patch, since we use a socket interface between openbsc and lcr now. it is already included in both.
regards,
andreas
dear andreas,
thanks for your support
please use the socket branch of mISDN and mISDNuser. see www.mISDN.eu
./configure gives me the following error configure: error: kernel build tree does not exist build:/lib/modules/2.6.26-2-686/build / source:/lib/modules/2.6.26-2-686/source though on my 2.6.26-2-686 debian i have installed : dpkg -l|grep 2.6.26 ii linux-headers-2.6.26-2-686 2.6.26-27 Header files ii linux-source-2.6.26 2.6.26-27 Linux kernel is there something that i missing before the configure the autoconf/automake i have are too old for the latest git version of the socket branch
use the master branch of lcr. see www.mISDN.eu use the master branch of openbsc. see http://openbsc.osmocom.org/trac/wiki/OpenBSC
lcr is now able to bridge between gsm and sip. for openbsc you don't need any patch, since we use a socket interface between openbsc and lcr now. it is already included in both.
excellent, i will then be able to route gsm<->sip
my best regards,
xavier.
regards,
andreas
dear Andreas,
On Wed, Feb 29, 2012 at 08:26:10AM +0100, jolly wrote:
excellent, i will then be able to route gsm<->sip
If this is your (only) goal then I'm not sure if you need mISDN?
hi,
you don't need mISDN to just route gsm<->sip. you may specify "--without-misdn" at configure, to disable it.
If I use the lastest git for lcr (git clone git://git.misdn.eu/lcr.git/) then : ./autogen.sh ./configure --witout-misdn make complains anyway chan_lcr.c:2752: warning: dereferencing type-punned pointer will break strict-aliasing rules gcc -Wall -DCONFIG_DATA=""/usr/local/lcr"" -DSHARE_DATA=""/usr/local/lcr"" -DLOG_DIR=""/usr/local/lcr"" -DEXTENSION_DATA=""/usr/local/lcr/extensions"" -D_GNU_SOURCE -g -O2 -fPIC -c bchan nel.c -o bchannel.po bchannel.c:26:27: error: mISDN/mISDNif.h: No such file or directory bchannel.c:28:31: error: mISDN/mISDNcompat.h: No such file or directory bchannel.c:29: error: 'MISDN_AF_ISDN' undeclared here (not in a function) bchannel.c:30:24: error: mISDN/q931.h: No such file or directory
my best,
xavier.
regards,
andreas
The option --without-misdn shouldn't be necessary IMO, because configure tries to detect the presence of misdn anyway, at least that's true for the misdn.eu repo. It seems the compile path without WITH_MISDN was not tested, the code does not compile for me that way. A quick patch follows up.
Kind regards, -Alexander Huemer
--- appbridge.cpp | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/appbridge.cpp b/appbridge.cpp index efad0d9..7309c80 100644 --- a/appbridge.cpp +++ b/appbridge.cpp @@ -152,9 +152,9 @@ fail: } else #endif { + char *ifname = interface_out->name; #ifdef WITH_MISDN struct mISDNport *mISDNport; - char *ifname = interface_out->name; int channel = 0; struct admin_list *admin; int earlyb; @@ -199,7 +199,7 @@ fail: add_trace("interface", NULL, "%s", ifname); end_trace(); cause = 31; - goto fail + goto fail; #endif } if (!port)
Dear Alexander, Andreas, Sylvain,
still experiencing problems building without misdn : i have corrected my typo error and use the last patch from alexander but still errors at compilation :
/usr/src/lcr# make make all-am make[1]: Entering directory `/usr/src/lcr' gcc -Wall -DCONFIG_DATA=""/usr/local/lcr"" -DSHARE_DATA=""/usr/local/lcr"" -DLOG_DIR="" /usr/local/lcr"" -DEXTENSION_DATA=""/usr/local/lcr/extensions"" -D_GNU_SOURCE -g -O2 -fPIC -c b channel.c -o bchannel.po bchannel.c:26:27: error: mISDN/mISDNif.h: No such file or directory bchannel.c:28:31: error: mISDN/mISDNcompat.h: No such file or directory bchannel.c:29: error: 'MISDN_AF_ISDN' undeclared here (not in a function) bchannel.c:30:24: error: mISDN/q931.h: No such file or directory ...
my best,
xavier.
On Wed, Feb 29, 2012 at 02:54:22PM +0100, Alexander Huemer wrote:
appbridge.cpp | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/appbridge.cpp b/appbridge.cpp index efad0d9..7309c80 100644 --- a/appbridge.cpp +++ b/appbridge.cpp @@ -152,9 +152,9 @@ fail: } else #endif {
char *ifname = interface_out->name;#ifdef WITH_MISDN struct mISDNport *mISDNport;
int channel = 0; struct admin_list *admin; int earlyb;char *ifname = interface_out->name;@@ -199,7 +199,7 @@ fail: add_trace("interface", NULL, "%s", ifname); end_trace(); cause = 31;
goto fail
goto fail;#endif } if (!port) -- 1.7.2.5
On Wed, Feb 29, 2012 at 05:03:43PM +0100, carcelle wrote:
Dear Alexander, Andreas, Sylvain,
still experiencing problems building without misdn : i have corrected my typo error and use the last patch from alexander but still errors at compilation :
/usr/src/lcr# make make all-am make[1]: Entering directory `/usr/src/lcr' gcc -Wall -DCONFIG_DATA=""/usr/local/lcr"" -DSHARE_DATA=""/usr/local/lcr"" -DLOG_DIR="" /usr/local/lcr"" -DEXTENSION_DATA=""/usr/local/lcr/extensions"" -D_GNU_SOURCE -g -O2 -fPIC -c b channel.c -o bchannel.po bchannel.c:26:27: error: mISDN/mISDNif.h: No such file or directory bchannel.c:28:31: error: mISDN/mISDNcompat.h: No such file or directory bchannel.c:29: error: 'MISDN_AF_ISDN' undeclared here (not in a function) bchannel.c:30:24: error: mISDN/q931.h: No such file or directory ...
my best,
xavier.
Are you sure that you cloned the repository from git.misdn.eu and not git.misdn.org ? Did configure accept the --without-misdn option? Did you do a `make clean` before running `make` again?
Kind regards, -Alexander Huemer
Alexander Huemer wrote:
make[1]: Entering directory `/usr/src/lcr'
..
channel.c -o bchannel.po bchannel.c:26:27: error: mISDN/mISDNif.h: No such file or directory bchannel.c:28:31: error: mISDN/mISDNcompat.h: No such file or directory bchannel.c:29: error: 'MISDN_AF_ISDN' undeclared here (not in a function) bchannel.c:30:24: error: mISDN/q931.h: No such file or directory
Are you sure that you cloned the repository from git.misdn.eu and not git.misdn.org ?
No mISDN should be neccessary if I understood correctly. Put above includes inside #if WITH_MISDN like is used elsewhere in the code.
//Peter
On Wed, Feb 29, 2012 at 06:28:03PM +0100, Peter Stuge wrote:
Alexander Huemer wrote:
make[1]: Entering directory `/usr/src/lcr'
..
channel.c -o bchannel.po bchannel.c:26:27: error: mISDN/mISDNif.h: No such file or directory bchannel.c:28:31: error: mISDN/mISDNcompat.h: No such file or directory bchannel.c:29: error: 'MISDN_AF_ISDN' undeclared here (not in a function) bchannel.c:30:24: error: mISDN/q931.h: No such file or directory
Are you sure that you cloned the repository from git.misdn.eu and not git.misdn.org ?
No mISDN should be neccessary if I understood correctly. Put above includes inside #if WITH_MISDN like is used elsewhere in the code.
It seems like that's not enough. bchannel.c contains code that depends on misdn stuff. There is no path provided for building lcr with asterisk but without misdn support, at least for this file. jolly? Maybe this discussion should continue on the isdn4linux ML, this is not an openbsc issue.
Kind regards, -Alexander Huemer
channel.c -o bchannel.po bchannel.c:26:27: error: mISDN/mISDNif.h: No such file or directory bchannel.c:28:31: error: mISDN/mISDNcompat.h: No such file or directory bchannel.c:29: error: 'MISDN_AF_ISDN' undeclared here (not in a function) bchannel.c:30:24: error: mISDN/q931.h: No such file or directory
hi,
currently the chan_lcr only works with mISDN. the chan_lcr directly opens the bchannels in order to exchange audio with asterisk. this only works if the call is connected to isdn phone or isdn line, since only these interfaces support mISDN. gsm and sip interface cannot be used with chan_lcr (anymore).
i plan to forward audio between lcr and chan_lcr using the unix-socket and remove the export/import code from lcr.
currently you can only link gsm insterfaces to asterisk using sip. with jolly/rtpmux branch of openbsc, you can even forward rtp traffic directly between openbsc and the remote sip endpoint (asterisk or other sip gateway), without routing traffic through lcr.
if you have any suggestions about further development, let me know.
regards,
andreas
p.s. i committed the appbridge.cpp fix of alexander. thanx!
Hi Andreas,
Wouldnt it be better if we can integrate OpenSBC to some thing like yate which already have extensive ss7, sigtran, camel and map parts implemented.
It will be a perfect marriage if we can do it as both openbsc and yate have its own strength which can make a full fledge mobile switching environment.
How difficult would it be either,
1. Use OpenBSC Nitb as its on LCR and implement a gsm channel driver for yate. or 2. Use extensive SCCP, MAP implementation already on yate and implement full A interface integration towards yate.
Lets throw some ideas on this way, as im sure this will be a major implementation if we can do it.
Rgds Nik
On Thu, Mar 1, 2012 at 7:01 AM, Andreas Eversberg andreas@eversberg.euwrote:
channel.c -o bchannel.po bchannel.c:26:27: error: mISDN/mISDNif.h: No such file or directory bchannel.c:28:31: error: mISDN/mISDNcompat.h: No such file or
directory
bchannel.c:29: error: 'MISDN_AF_ISDN' undeclared here (not in a
function)
bchannel.c:30:24: error: mISDN/q931.h: No such file or directory
hi,
currently the chan_lcr only works with mISDN. the chan_lcr directly opens the bchannels in order to exchange audio with asterisk. this only works if the call is connected to isdn phone or isdn line, since only these interfaces support mISDN. gsm and sip interface cannot be used with chan_lcr (anymore).
i plan to forward audio between lcr and chan_lcr using the unix-socket and remove the export/import code from lcr.
currently you can only link gsm insterfaces to asterisk using sip. with jolly/rtpmux branch of openbsc, you can even forward rtp traffic directly between openbsc and the remote sip endpoint (asterisk or other sip gateway), without routing traffic through lcr.
if you have any suggestions about further development, let me know.
regards,
andreas
p.s. i committed the appbridge.cpp fix of alexander. thanx!
Hi Nik,
On Thu, Mar 01, 2012 at 11:05:45AM +0000, Nik Pakar wrote:
- Use OpenBSC Nitb as its on LCR and implement a gsm channel driver for
yate.
Well, you are asking the lcr author to implement something for yate. I think it may be a bit of a strange question ;)
- Use extensive SCCP, MAP implementation already on yate and implement
full A interface integration towards yate.
I would be honestly surprised if yate implemented connection-oriented SCCP procedures. This is only used on the GSM A interface and not to be mistaken with the datagram-oriented SCCP (UDT only) used by TCAP/MAP.
In fact, it might make more sense to use the existing libosmo-sccp and either 1) add SCCP-lite (IPA multiplex) support to yate or 2) implement M3UA as a transport for osmo-bsc's existing libosmo-sccp and use that to connect to yate.
But then, I am not aware of any commercial OpenBSC user who has any interest in OpenBSC with classic A interface. Everybody wants to move away from TDM and to an all-IP RAN.
Furthermore, at least as far as I know, yate may not support AMR/EFR codecs, which makes it somewhat limited in the context of GSM. I may be wrong here, though.
Regards, Harald
Hello Harald,
Thanks for the reply and sorry if i was blunt to ask the question as im new to openbsc. I was just trying to find a good sip interoperability for opensbc while keeping ss7 in handy.
How would you think best way to integrate it with yate as we already have some services with yate and would like to integrate opensbc with that. All we need is basically,
1. Have multiple opensbc (probably NITB but with unbundled HLR features) connecting many nano.BTSs 2. Connect them back to yate in some way 3. let the call handling to take care of yate i.e. any MO call to routed to yate and yate will consult the HLR database and decide which BSC it should send it back to.
WHat would be the best way to achieve this ?
BTW, yate does support both AMR and GSM codes.
Thanks again Harald for your valuable result and openbsc is a great software im just new to it, but i find it extremely useful and just trying to make it use in a commercial environment.
Thanks again Nik.
On Thu, Mar 1, 2012 at 12:40 PM, Harald Welte laforge@gnumonks.org wrote:
Hi Nik,
On Thu, Mar 01, 2012 at 11:05:45AM +0000, Nik Pakar wrote:
- Use OpenBSC Nitb as its on LCR and implement a gsm channel driver for
yate.
Well, you are asking the lcr author to implement something for yate. I think it may be a bit of a strange question ;)
- Use extensive SCCP, MAP implementation already on yate and implement
full A interface integration towards yate.
I would be honestly surprised if yate implemented connection-oriented SCCP procedures. This is only used on the GSM A interface and not to be mistaken with the datagram-oriented SCCP (UDT only) used by TCAP/MAP.
In fact, it might make more sense to use the existing libosmo-sccp and either
- add SCCP-lite (IPA multiplex) support to yate or
- implement M3UA as a transport for osmo-bsc's existing libosmo-sccp
and use that to connect to yate.
But then, I am not aware of any commercial OpenBSC user who has any interest in OpenBSC with classic A interface. Everybody wants to move away from TDM and to an all-IP RAN.
Furthermore, at least as far as I know, yate may not support AMR/EFR codecs, which makes it somewhat limited in the context of GSM. I may be wrong here, though.
Regards, Harald --
- Harald Welte laforge@gnumonks.org
============================================================================ "Privacy in residential applications is a desirable marketing option." (ETSI EN 300 175-7 Ch. A6)
Hi Harald, further more i would like to know who the current commercial deployments of openbsc works. I mean the best popular scenario if not using A interface.
Thanks once again and appreciate your feedback.
Rgds Nik
On Thu, Mar 1, 2012 at 5:53 PM, Nik Pakar nikpakar@gmail.com wrote:
Hello Harald,
Thanks for the reply and sorry if i was blunt to ask the question as im new to openbsc. I was just trying to find a good sip interoperability for opensbc while keeping ss7 in handy.
How would you think best way to integrate it with yate as we already have some services with yate and would like to integrate opensbc with that. All we need is basically,
- Have multiple opensbc (probably NITB but with unbundled HLR features)
connecting many nano.BTSs 2. Connect them back to yate in some way 3. let the call handling to take care of yate i.e. any MO call to routed to yate and yate will consult the HLR database and decide which BSC it should send it back to.
WHat would be the best way to achieve this ?
BTW, yate does support both AMR and GSM codes.
Thanks again Harald for your valuable result and openbsc is a great software im just new to it, but i find it extremely useful and just trying to make it use in a commercial environment.
Thanks again Nik.
On Thu, Mar 1, 2012 at 12:40 PM, Harald Welte laforge@gnumonks.orgwrote:
Hi Nik,
On Thu, Mar 01, 2012 at 11:05:45AM +0000, Nik Pakar wrote:
- Use OpenBSC Nitb as its on LCR and implement a gsm channel driver for
yate.
Well, you are asking the lcr author to implement something for yate. I think it may be a bit of a strange question ;)
- Use extensive SCCP, MAP implementation already on yate and implement
full A interface integration towards yate.
I would be honestly surprised if yate implemented connection-oriented SCCP procedures. This is only used on the GSM A interface and not to be mistaken with the datagram-oriented SCCP (UDT only) used by TCAP/MAP.
In fact, it might make more sense to use the existing libosmo-sccp and either
- add SCCP-lite (IPA multiplex) support to yate or
- implement M3UA as a transport for osmo-bsc's existing libosmo-sccp
and use that to connect to yate.
But then, I am not aware of any commercial OpenBSC user who has any interest in OpenBSC with classic A interface. Everybody wants to move away from TDM and to an all-IP RAN.
Furthermore, at least as far as I know, yate may not support AMR/EFR codecs, which makes it somewhat limited in the context of GSM. I may be wrong here, though.
Regards, Harald --
- Harald Welte laforge@gnumonks.org
============================================================================ "Privacy in residential applications is a desirable marketing option." (ETSI EN 300 175-7 Ch. A6)
Hi Andreas, i think i mis-interpret my initial question.
I should have asked whether LCR can have a chan_lcr for yate like it has for asterisk.
If its not there can you please give me some idea on how to build one.
Thanks for your help.
Rgds Nik
On Thu, Mar 1, 2012 at 11:05 AM, Nik Pakar nikpakar@gmail.com wrote:
Hi Andreas,
Wouldnt it be better if we can integrate OpenSBC to some thing like yate which already have extensive ss7, sigtran, camel and map parts implemented.
It will be a perfect marriage if we can do it as both openbsc and yate have its own strength which can make a full fledge mobile switching environment.
How difficult would it be either,
- Use OpenBSC Nitb as its on LCR and implement a gsm channel driver for
yate. or 2. Use extensive SCCP, MAP implementation already on yate and implement full A interface integration towards yate.
Lets throw some ideas on this way, as im sure this will be a major implementation if we can do it.
Rgds Nik
On Thu, Mar 1, 2012 at 7:01 AM, Andreas Eversberg andreas@eversberg.euwrote:
channel.c -o bchannel.po bchannel.c:26:27: error: mISDN/mISDNif.h: No such file or directory bchannel.c:28:31: error: mISDN/mISDNcompat.h: No such file or
directory
bchannel.c:29: error: 'MISDN_AF_ISDN' undeclared here (not in a
function)
bchannel.c:30:24: error: mISDN/q931.h: No such file or directory
hi,
currently the chan_lcr only works with mISDN. the chan_lcr directly opens the bchannels in order to exchange audio with asterisk. this only works if the call is connected to isdn phone or isdn line, since only these interfaces support mISDN. gsm and sip interface cannot be used with chan_lcr (anymore).
i plan to forward audio between lcr and chan_lcr using the unix-socket and remove the export/import code from lcr.
currently you can only link gsm insterfaces to asterisk using sip. with jolly/rtpmux branch of openbsc, you can even forward rtp traffic directly between openbsc and the remote sip endpoint (asterisk or other sip gateway), without routing traffic through lcr.
if you have any suggestions about further development, let me know.
regards,
andreas
p.s. i committed the appbridge.cpp fix of alexander. thanx!