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 08:37:03 UTC 2012


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/f2041ae7/attachment.htm>


More information about the OpenBSC mailing list