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@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