OpenBSC + * + LCR -> Problems with LCR (--with-gsm-bs)

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Ellen Apolinar ellen.apolinar.td at googlemail.com
Wed Jul 4 12:27:24 UTC 2012


Hello everybody,

I tried it again with mISDN and chan_lcr.

You can see the state here:
http://www.ip-phone-forum.de/showthread.php?t=247932&p=1842689&viewfull=1#post1842689

lcradmin state shows:

> GSM(port 1: mISDN_l1loop.1) TE ptp l2hold use:0  L2 unkn  L1 down
> GSM(port 2: mISDN_l1loop.2) NT ptp use:0  L2 UP  L1 UP
> Remote: asterisk
>

I loaded mISDN_l1loop with

> pri=1 nchannel=20
>


The connection between OpenBSC and LCR seems to work and with the help from
chan_lcr it seems that there is a connection between LCR and Asterisk
(lcradmin state -> "Remote: asterisk").

But I expected to see the hfc-e1 card in "lcradmin state" and not only
mISDN_l1loop. I have tried to change the interface.conf-file but that makes
thinks more confusion. Either I did it wrong or this was the wrong way.

Aside on that, is there a way to test OpenBSC + mISDN + LCR + Asterisk
without an ISDN phone or a hardware BTS? Actually there is no way to test
it with hardware except the HFC-E1 card.

Asterisk, OpenBSC and Telnet are working, also LCR. But I don't know if all
configurations are right and if it really would work if I connect a ISDN
phone or a BTS.

Thanks for your help.
Best regards
Ellen

P.S.: If someone could explain what exactly to do to work with sip +
chan_lcr it would be very appreciated because I also like to test it this
way.




2012/6/26 altaf sk <altaf329 at gmail.com>

> Hello all,
>
> I have cloned the lcr from the below link.
>
> Development git
>
> git clone git://git.misdn.eu/lcr.git/ -b master lcr-master
>
> Cloning from this git url i am able to get all the sip.cpp and sip.h
> header files. This gives me to do the configure along with sip.
>
> ./configure --without-asterisk --with-gsm-ms --with-sip
>
> But i loose when doing  the make.
>
> When I do 'make' it it produces following error.
>
> mISDN.cpp:61: error: aggregate ‘mi_ext_fn_s myfn’ has incomplete type and
> cannot be defined
> mISDN.cpp: In function ‘int mISDN_initialize()’:
> mISDN.cpp:88: error: ‘mISDN_set_debug_level’ was not declared in this scope
> mISDN.cpp:90: error: ‘mISDN_set_debug_level’ was not declared in this scope
> make[1]: *** [mISDN.o] Error 1
> make[1]: Leaving directory `/root/catchercatcher/lcr-master'
>
> make: *** [all] Error 2
>
>
>
> Can someone kindly help me at this stage.
>
>
> Many thanks
>
> Regards,
>
> Altaf
> On Tue, Jun 26, 2012 at 4:42 PM, Ellen Apolinar <
> ellen.apolinar.td at googlemail.com> wrote:
>
>> The error is solved. This only happens if I start LCR and then OpenBSC
>> because with LCR OpenBSC is also started.
>>
>> Regards
>> Ellen
>>
>> 2012/6/26 Ellen Apolinar <ellen.apolinar.td at googlemail.com>
>>
>>> @Don: Thanks, yes, that was the problem. I didn't know that the version
>>> from linux-call-router.de is so old.
>>>
>>> @Mailinglist:
>>>
>>> I tried it again. And this time I installed it from git:
>>>
>>>> git clone git://git.misdn.eu/lcr.git/
>>>> cd /usr/src/lcr
>>>> ./configure –without-asterisk --with-gsm-bs
>>>> make
>>>> make install
>>>>
>>>
>>> In the last installation I installed it from linux-call-router.de.
>>> Configuration with --with-sip wasn't available.
>>>
>>> lcr start:
>>>
>>>> ** LCR  Version 1.10
>>>>
>>>> ERROR Cannot get device information for port 1. (ioctl IMGETDEVINFO
>>>> failed ret=-1)
>>>> LCR 1.10 started, waiting for calls...
>>>>
>>>
>>> lcradmin state
>>>
>>>> Ext(port 0: hfc-e1.1) TE ptp l2hold use:0  L2 unkn  L1 unkn
>>>> Int (port 1: ) extension  not loaded
>>>>
>>>
>>>
>>> Also OpenBSC worked. Now I get this error massage:
>>>
>>>> ./osmo-nitb -c openbsc.cfg -C
>>>> 1 device found
>>>>         id:             0
>>>>         Dprotocols:     00000018
>>>>         Bprotocols:     0000006e
>>>>         protocol:       3
>>>>         nrbchan:        30
>>>>         name:           hfc-e1.1
>>>> could not bind l2 socket Device or resource busy
>>>> <0005> bsc_init.c:512 Error enabling E1 input driver
>>>>
>>>
>>> I don't know what is wrong and how I can solve this. Google wasn't very
>>> helpful in this case.
>>>
>>> And how can I connect LCR to OpenBSC?
>>>
>>> And what can I do with lcradmin state?
>>>
>>> Best regards
>>> Ellen
>>>
>>>
>>> 2012/6/26 Ellen Apolinar <ellen.apolinar.td at googlemail.com>
>>>
>>>> Hey Andreas,
>>>>
>>>> I try the way over SIP. But perhaps I make something wrong.
>>>>
>>>> What I want to do:
>>>>
>>>>> cd /usr/src/lcr
>>>>> ./configure --prefix=/usr/src/lcr --without-misdn --with-sip
>>>>>
>>>>
>>>> What I get:
>>>>
>>>>> configure: WARNING: unrecognized options: --without-misdn, --with-sip
>>>>>
>>>>
>>>> What I am able to do:
>>>>
>>>>> ./configure --prefix=/usr/src/lcr --with
>>>>> --with-asterisk    --with-gsm-ms      --with-PACKAGE
>>>>> --with-ssl
>>>>> --with-gsm-bs      --without-PACKAGE  --with-ss5
>>>>>
>>>>
>>>> Makefile:
>>>>
>>>>> ENABLE_ASTERISK_CHANNEL_DRIVER_FALSE = #
>>>>> ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE =
>>>>> ENABLE_GSM_BS_FALSE = #
>>>>> ENABLE_GSM_BS_TRUE =
>>>>> ENABLE_GSM_FALSE = #
>>>>> ENABLE_GSM_MS_FALSE =
>>>>> ENABLE_GSM_MS_TRUE = #
>>>>> ENABLE_GSM_TRUE =
>>>>> ENABLE_SS5_FALSE =
>>>>> ENABLE_SS5_TRUE = #
>>>>>
>>>>
>>>> I change to:
>>>>
>>>>> ENABLE_ASTERISK_CHANNEL_DRIVER_FALSE = #
>>>>> ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE =
>>>>> ENABLE_GSM_BS_FALSE =
>>>>> ENABLE_GSM_BS_TRUE = #
>>>>> ENABLE_GSM_FALSE = #
>>>>> ENABLE_GSM_MS_FALSE = #
>>>>> ENABLE_GSM_MS_TRUE =
>>>>> ENABLE_GSM_TRUE =
>>>>> ENABLE_SS5_FALSE =
>>>>> ENABLE_SS5_TRUE = #
>>>>>
>>>>
>>>> make:
>>>>
>>>>> make  all-am
>>>>> make[1]: Entering directory `/usr/src/lcr'
>>>>> 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
>>>>> chan_lcr.c -o chan_lcr.po
>>>>> chan_lcr.c: In function ‘send_setup_to_lcr’:
>>>>> chan_lcr.c:644:12: error: ‘struct ast_channel’ has no member named
>>>>> ‘cid’
>>>>> chan_lcr.c:655:12: error: ‘struct ast_channel’ has no member named
>>>>> ‘cid’
>>>>> chan_lcr.c: In function ‘lcr_in_setup’:
>>>>> chan_lcr.c:858:2: warning: passing argument 9 of ‘__ast_channel_alloc’
>>>>> makes integer from pointer without a cast [enabled by default]
>>>>> /usr/include/asterisk/channel.h:1118:2: note: expected ‘int’ but
>>>>> argument is of type ‘char *’
>>>>> chan_lcr.c:883:6: error: ‘struct ast_channel’ has no member named ‘cid’
>>>>> chan_lcr.c:885:6: error: ‘struct ast_channel’ has no member named ‘cid’
>>>>> chan_lcr.c:887:6: error: ‘struct ast_channel’ has no member named ‘cid’
>>>>> chan_lcr.c:890:7: error: ‘struct ast_channel’ has no member named ‘cid’
>>>>> chan_lcr.c:893:7: error: ‘struct ast_channel’ has no member named ‘cid’
>>>>> chan_lcr.c:896:7: error: ‘struct ast_channel’ has no member named ‘cid’
>>>>> chan_lcr.c:900:7: error: ‘struct ast_channel’ has no member named ‘cid’
>>>>> chan_lcr.c:903:7: error: ‘struct ast_channel’ has no member named ‘cid’
>>>>> chan_lcr.c:906:7: error: ‘struct ast_channel’ has no member named ‘cid’
>>>>> chan_lcr.c:909:7: error: ‘struct ast_channel’ has no member named ‘cid’
>>>>> chan_lcr.c: In function ‘handle_queue’:
>>>>> chan_lcr.c:1707:18: error: incompatible types when assigning to type
>>>>> ‘union ast_frame_subclass’ from type ‘char’
>>>>> chan_lcr.c: In function ‘lcr_request’:
>>>>> chan_lcr.c:1820:2: warning: passing argument 9 of
>>>>> ‘__ast_channel_alloc’ makes integer from pointer without a cast [enabled by
>>>>> default]
>>>>> /usr/include/asterisk/channel.h:1118:2: note: expected ‘int’ but
>>>>> argument is of type ‘char *’
>>>>> chan_lcr.c: In function ‘lcr_call’:
>>>>> chan_lcr.c:1927:9: error: ‘struct ast_channel’ has no member named
>>>>> ‘cid’
>>>>> chan_lcr.c:1927:31: error: ‘struct ast_channel’ has no member named
>>>>> ‘cid’
>>>>> chan_lcr.c:1928:29: error: ‘struct ast_channel’ has no member named
>>>>> ‘cid’
>>>>> chan_lcr.c:1931:9: error: ‘struct ast_channel’ has no member named
>>>>> ‘cid’
>>>>> chan_lcr.c:1931:32: error: ‘struct ast_channel’ has no member named
>>>>> ‘cid’
>>>>> chan_lcr.c:1932:30: error: ‘struct ast_channel’ has no member named
>>>>> ‘cid’
>>>>> chan_lcr.c:1934:9: error: ‘struct ast_channel’ has no member named
>>>>> ‘cid’
>>>>> chan_lcr.c:1934:33: error: ‘struct ast_channel’ has no member named
>>>>> ‘cid’
>>>>> chan_lcr.c:1935:31: error: ‘struct ast_channel’ has no member named
>>>>> ‘cid’
>>>>> chan_lcr.c: In function ‘lcr_write’:
>>>>> chan_lcr.c:2164:6: error: wrong type argument to unary exclamation mark
>>>>> chan_lcr.c:2166:20: error: invalid operands to binary & (have ‘union
>>>>> ast_frame_subclass’ and ‘format_t’)
>>>>> chan_lcr.c: In function ‘lcr_read’:
>>>>> chan_lcr.c:2229:25: error: incompatible types when assigning to type
>>>>> ‘union ast_frame_subclass’ from type ‘format_t’
>>>>> chan_lcr.c: In function ‘lcr_indicate’:
>>>>> chan_lcr.c:2274:8: warning: assignment from incompatible pointer type
>>>>> [enabled by default]
>>>>> chan_lcr.c:2289:8: warning: assignment from incompatible pointer type
>>>>> [enabled by default]
>>>>> chan_lcr.c:2316:8: warning: assignment from incompatible pointer type
>>>>> [enabled by default]
>>>>> chan_lcr.c:2381:14: error: dereferencing pointer to incomplete type
>>>>> chan_lcr.c:2382:33: error: dereferencing pointer to incomplete type
>>>>> chan_lcr.c: At top level:
>>>>> chan_lcr.c:2602:2: warning: initialization from incompatible pointer
>>>>> type [enabled by default]
>>>>> chan_lcr.c:2602:2: warning: (near initialization for
>>>>> ‘lcr_tech.requester’) [enabled by default]
>>>>> chan_lcr.c: In function ‘load_module’:
>>>>> chan_lcr.c:2818:2: warning: passing argument 2 of
>>>>> ‘ast_register_application2’ from incompatible pointer type [enabled by
>>>>> default]
>>>>> /usr/include/asterisk/module.h:458:5: note: expected ‘int (*)(struct
>>>>> ast_channel *, const char *)’ but argument is of type ‘int (*)(struct
>>>>> ast_channel *, void *)’
>>>>> make[1]: *** [chan_lcr.po] Error 1
>>>>> make[1]: Leaving directory `/usr/src/lcr'
>>>>> make: *** [all] Error 2
>>>>>
>>>>
>>>> make install:
>>>>
>>>>> 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
>>>>> chan_lcr.c -o chan_lcr.po
>>>>> chan_lcr.c: In function ‘send_setup_to_lcr’:
>>>>> chan_lcr.c:644:12: error: ‘struct ast_channel’ has no member named
>>>>> ‘cid’
>>>>> chan_lcr.c:655:12: error: ‘struct ast_channel’ has no member named
>>>>> ‘cid’
>>>>> chan_lcr.c: In function ‘lcr_in_setup’:
>>>>> chan_lcr.c:858:2: warning: passing argument 9 of ‘__ast_channel_alloc’
>>>>> makes integer from pointer without a cast [enabled by default]
>>>>> /usr/include/asterisk/channel.h:1118:2: note: expected ‘int’ but
>>>>> argument is of type ‘char *’
>>>>> chan_lcr.c:883:6: error: ‘struct ast_channel’ has no member named ‘cid’
>>>>> chan_lcr.c:885:6: error: ‘struct ast_channel’ has no member named ‘cid’
>>>>> chan_lcr.c:887:6: error: ‘struct ast_channel’ has no member named ‘cid’
>>>>> chan_lcr.c:890:7: error: ‘struct ast_channel’ has no member named ‘cid’
>>>>> chan_lcr.c:893:7: error: ‘struct ast_channel’ has no member named ‘cid’
>>>>> chan_lcr.c:896:7: error: ‘struct ast_channel’ has no member named ‘cid’
>>>>> chan_lcr.c:900:7: error: ‘struct ast_channel’ has no member named ‘cid’
>>>>> chan_lcr.c:903:7: error: ‘struct ast_channel’ has no member named ‘cid’
>>>>> chan_lcr.c:906:7: error: ‘struct ast_channel’ has no member named ‘cid’
>>>>> chan_lcr.c:909:7: error: ‘struct ast_channel’ has no member named ‘cid’
>>>>> chan_lcr.c: In function ‘handle_queue’:
>>>>> chan_lcr.c:1707:18: error: incompatible types when assigning to type
>>>>> ‘union ast_frame_subclass’ from type ‘char’
>>>>> chan_lcr.c: In function ‘lcr_request’:
>>>>> chan_lcr.c:1820:2: warning: passing argument 9 of
>>>>> ‘__ast_channel_alloc’ makes integer from pointer without a cast [enabled by
>>>>> default]
>>>>> /usr/include/asterisk/channel.h:1118:2: note: expected ‘int’ but
>>>>> argument is of type ‘char *’
>>>>> chan_lcr.c: In function ‘lcr_call’:
>>>>> chan_lcr.c:1927:9: error: ‘struct ast_channel’ has no member named
>>>>> ‘cid’
>>>>> chan_lcr.c:1927:31: error: ‘struct ast_channel’ has no member named
>>>>> ‘cid’
>>>>> chan_lcr.c:1928:29: error: ‘struct ast_channel’ has no member named
>>>>> ‘cid’
>>>>> chan_lcr.c:1931:9: error: ‘struct ast_channel’ has no member named
>>>>> ‘cid’
>>>>> chan_lcr.c:1931:32: error: ‘struct ast_channel’ has no member named
>>>>> ‘cid’
>>>>> chan_lcr.c:1932:30: error: ‘struct ast_channel’ has no member named
>>>>> ‘cid’
>>>>> chan_lcr.c:1934:9: error: ‘struct ast_channel’ has no member named
>>>>> ‘cid’
>>>>> chan_lcr.c:1934:33: error: ‘struct ast_channel’ has no member named
>>>>> ‘cid’
>>>>> chan_lcr.c:1935:31: error: ‘struct ast_channel’ has no member named
>>>>> ‘cid’
>>>>> chan_lcr.c: In function ‘lcr_write’:
>>>>> chan_lcr.c:2164:6: error: wrong type argument to unary exclamation mark
>>>>> chan_lcr.c:2166:20: error: invalid operands to binary & (have ‘union
>>>>> ast_frame_subclass’ and ‘format_t’)
>>>>> chan_lcr.c: In function ‘lcr_read’:
>>>>> chan_lcr.c:2229:25: error: incompatible types when assigning to type
>>>>> ‘union ast_frame_subclass’ from type ‘format_t’
>>>>> chan_lcr.c: In function ‘lcr_indicate’:
>>>>> chan_lcr.c:2274:8: warning: assignment from incompatible pointer type
>>>>> [enabled by default]
>>>>> chan_lcr.c:2289:8: warning: assignment from incompatible pointer type
>>>>> [enabled by default]
>>>>> chan_lcr.c:2316:8: warning: assignment from incompatible pointer type
>>>>> [enabled by default]
>>>>> chan_lcr.c:2381:14: error: dereferencing pointer to incomplete type
>>>>> chan_lcr.c:2382:33: error: dereferencing pointer to incomplete type
>>>>> chan_lcr.c: At top level:
>>>>> chan_lcr.c:2602:2: warning: initialization from incompatible pointer
>>>>> type [enabled by default]
>>>>> chan_lcr.c:2602:2: warning: (near initialization for
>>>>> ‘lcr_tech.requester’) [enabled by default]
>>>>> chan_lcr.c: In function ‘load_module’:
>>>>> chan_lcr.c:2818:2: warning: passing argument 2 of
>>>>> ‘ast_register_application2’ from incompatible pointer type [enabled by
>>>>> default]
>>>>> /usr/include/asterisk/module.h:458:5: note: expected ‘int (*)(struct
>>>>> ast_channel *, const char *)’ but argument is of type ‘int (*)(struct
>>>>> ast_channel *, void *)’
>>>>>
>>>>
>>>> lcr start:
>>>>
>>>>> ** LCR  Version 1.7
>>>>>
>>>>> 000000 DEBUG (in getrulesetbyname() line 1871): ruleset main found.
>>>>> GSM is enabled, but not compiled. Use --with-gsm-bs or --with-gsm-ms
>>>>> while configure!
>>>>> --------------------- 2012.06.26 10:35:27 000001
>>>>>
>>>>> 000001 DEBUG (in join_free() line 99): no more pending join(s), done!
>>>>>
>>>>
>>>> Sofiasip is installed. Is there anything I forget so I can't configure
>>>> LCR with sip?
>>>>
>>>> Best regards.
>>>> Ellen
>>>>
>>>>
>>>> 2012/6/24 Andreas Eversberg <andreas at eversberg.eu>
>>>>
>>>>> Ellen Apolinar wrote:
>>>>>
>>>>>>
>>>>>> OpenBSC seems to work without errors but to connect it with asterisk
>>>>>> I need mISDN, mISDNuser and LCR.
>>>>>>
>>>>>>  hi,
>>>>>
>>>>> if you like to use lcr with gsm (bs or ms), then you cannot use
>>>>> asterisk channel driver. it only works with isdn. but you can use sip. in
>>>>> order to do that you may:
>>>>>
>>>>> - disable mISDN  (--without-misdn)
>>>>> - enable sip (--with-sip), you also need to have sipsofia installed
>>>>> - add a sip interface (see default/interface.conf). then everything is
>>>>> possible without mISDN, but you cannot use isdn phones/lines in this setup.
>>>>>
>>>>> example to just connect GSM and SIP interface without routing:
>>>>>
>>>>>  [GSM]
>>>>> gsm-bs
>>>>> tones yes
>>>>> earlyb no
>>>>> #rtp-bridge
>>>>> bridge SIP
>>>>>
>>>>>
>>>>> [SIP]
>>>>> sip <local ip>[:local sip port] <asterisk sip ip>[:asterisk sip port]
>>>>> tones no
>>>>> earlyb yes
>>>>> #rtp-bridge
>>>>> bridge GSM
>>>>>
>>>>> if asterisk and lcr run on the same machine, you need to change the
>>>>> sip port on asterisk or lcr side.
>>>>>
>>>>> if you like to use GSM codec on asterisk side, you may enable
>>>>> rtp-bridge. then the asterisk directly negotiates the codec with the phone.
>>>>> in this case GSM codec must be supported by asterisk. tested codecs
>>>>> are FR(standard) and EFR.
>>>>>
>>>>> regards,
>>>>>
>>>>> andreas
>>>>>
>>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/openbsc/attachments/20120704/0d2e78fc/attachment.htm>


More information about the OpenBSC mailing list