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
Tue Jun 26 14:42:30 UTC 2012


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/20120626/59c9037d/attachment.htm>


More information about the OpenBSC mailing list