Commit Graph

472 Commits

Author SHA1 Message Date
Andreas Eversberg 39a36cb99a Make LCR compile with latest osmocomBB code.
The libosmocore structure has changed.
2011-07-20 12:59:35 +02:00
Andreas Eversberg d0698802a0 Don't try to install default/gsm.conf as it was removed.
Patch by: Janis
Signed-off-by: Andreas Eversberg <jolly@eversberg.eu>
2011-07-20 09:18:59 +02:00
Andreas Eversberg 69ee0ebc5b Minor fix: remote.c -> remote.cpp in Makefile.am 2011-07-20 09:16:01 +02:00
Andreas Eversberg ad6182c219 Changing version number to 1.9 2011-07-14 16:10:39 +02:00
Andreas Eversberg 1644587004 This was missing at merge:
deleted:    Makefile.in
	deleted:    configure
	modified:   gsm_bs.cpp
	modified:   gsm_ms.cpp
2011-07-14 14:33:22 +02:00
Andreas Eversberg da91d7d85f Merge branch 'develop'
Conflicts:
	Makefile.in
	README
	chan_lcr.c
	configure
	gsm_bs.cpp
	gsm_ms.cpp
	interface.c
	route.c
2011-07-14 14:25:42 +02:00
Andreas Eversberg 2f5c3dc130 [GSM] Replaced strcpy by required macro name. 2011-07-10 19:52:08 +02:00
Andreas Eversberg 34598a3464 [gsm] Make LCR work with current Osmocom-BB.
Osmocom-BB is still developed, and this only works with the jolly/voice
branch. Audio is not yet transmitted, so it is not quite usefull yet.
2011-02-26 16:49:21 +00:00
Andreas Eversberg d4097e3558 [mail] Prevent bustling error message when sending mail without attachment
this cosmetic patch removes a false error message from LCR's mail when
no attachment is wanted.

thanx to bodo for providing this patch!
2011-02-24 10:17:44 +01:00
Andreas Eversberg 03f26ba386 [chan_lcr] Unloading chan_lcr is now possible
Hi,

I tried to tackle the issue that 'core stop|restart when convenient' won't
work because unloading chan_lcr does not work.

The issue is that the thread blocks in select().

I tried to move the clean-up work from after the main select loop to the
module unloading code, make that loop a real infinite loop and replaced
pthread_join() by pthred_cancel().

The result seems to work.
Proposed patch attached.

Unloading chan_lcr while it has open channels is fatal, with or without
that patch.

   Greetings,
     WIMPy
2011-02-24 08:59:17 +01:00
Andreas Eversberg 7798beeab2 Incremented version number of lcr in develop branch. 2011-02-21 09:42:32 +01:00
Andreas Eversberg d5e639588d [gsm] Removed obsolete gsm.conf handling. Fixed minor compiling issues. 2011-02-20 17:34:24 +01:00
Harald Welte 0eebd3a28e don't execve() a shell process but always double-fork and then exec the program directly 2011-02-20 11:33:53 +01:00
Harald Welte 998bb9ca7d GSM MNCC: Make sure to set the MNCC_F_KEYPAD when ACKing DTMF
TS 04.08 has a _mandatory_ KEYPAD FACILITY IE, and unless we set
the MNCC_F_KEYPAD, some phones will (legitimately) reject the
04.08 DTMF KEYPAD_ACK without that IE.
2011-02-20 11:33:46 +01:00
Harald Welte 0af1aa359f MNCC: refuse any incoming SETUP if there is no MNCC connection 2011-02-20 11:33:40 +01:00
Harald Welte 0345a55ca7 MNCC: Re-connect to the MNCC socket if connection was lost 2011-02-20 11:33:28 +01:00
Andreas Eversberg 7408463149 GSM BS: Release all calls in case the connection to OpenBSC disappears 2011-02-20 11:33:20 +01:00
Harald Welte 2f9f37a911 GSM: Define mncc_send() as it is no longer available from OpenBSC headers 2011-02-20 11:33:07 +01:00
Harald Welte dd2ae2236f mncc_sock: properly append an element to the end of the list 2011-02-20 11:32:59 +01:00
Harald Welte 336f157adc gsm tracing: as we no longer link with OpenBSC, we don't know the net name 2011-02-20 11:32:49 +01:00
Harald Welte d8421cdefd MNCC socket: length of GSM TCH/F FR frame is 33 bytes _plus_ header 2011-02-20 11:31:17 +01:00
Harald Welte d40eedaf16 Modify GSM BS (OpenBTS) to use unix domain socket based MNCC
Author:    Harald Welte <laforge@gnumonks.org>
2011-02-20 11:30:27 +01:00
Andreas Eversberg 7308159228 [GSM_BS] Added DTMF support. 2011-02-20 10:40:29 +01:00
Andreas Eversberg 9d94d21224 Fixed transmission of call trace on LCR socket. 2011-02-20 10:40:05 +01:00
Andreas Eversberg 129a76d141 [GSM_BS] Added DTMF support. 2011-02-20 10:35:40 +01:00
Andreas Eversberg b8ba879d97 [chan_lcr] Fixed broken communication with chan_lcr
There are two modes:

The remote mode is used to route a call directly to Asterisk or route a
call from Asterisk to an ISDN interface. (the old way)

The interface mode is used to handle chan_lcr as an interface, so calls
from Asterisk can be routed and behave like they come from an ISDN
interface. (documentation for that will follow)
2011-02-20 10:23:03 +01:00
Andreas Eversberg b787bfbf47 [chan_lcr] Fixed caller ID for calls from AST->LCR 2011-02-20 09:33:31 +01:00
Andreas Eversberg df0d71f05b Ensure chan_lcr gets necessary compiler flags when cross compiling.
Thanx to Arnold Schulz for providing this patch.
Signed-off-by: Andreas Eversberg <jolly@eversberg.eu>
2011-02-10 14:39:10 +01:00
Andreas Eversberg 04e755385b Ensure chan_lcr gets necessary compiler flags when cross compiling.
Thanx to Arnold Schulz for providing this patch.
Signed-off-by: Andreas Eversberg <jolly@eversberg.eu>
2011-02-10 14:35:47 +01:00
Andreas Eversberg ebf395421f Fixed transmission of call trace on LCR socket. 2010-12-28 21:10:52 +01:00
Andreas Eversberg fc71648320 Fixed buffer overflow bug at pickup feature 2010-12-28 16:25:24 +01:00
Andreas Eversberg 51c27d3a30 Fixed null-pointer bug when GSM support is disabled
Conflicts:

	interface.c
2010-12-28 16:24:38 +01:00
Andreas Eversberg fcafb58021 Fixed buffer overflow bug at pickup feature 2010-12-28 15:38:20 +01:00
Andreas Eversberg ae02e4e184 Fixed null-pointer bug when GSM support is disabled 2010-12-28 15:37:15 +01:00
Andreas Eversberg 5705b3e17b Improved and applied Wimpy's Asterisk 1.8.x support.
configure script will automatically detect new asterisk API, so there is
no need for different chan_lcr.c source codes.

'type', 'presentation', and 'screening indicator' are now transcoded.
2010-12-14 10:56:09 +01:00
Andreas Eversberg 22e7c87e3f Removed change history from 'README' file. 2010-12-13 09:43:23 +01:00
Andreas Eversberg b3a7f6b9e6 Removed 'configure' and other files created by 'autoreconf'.
To generate them, run './autogen.sh'.
2010-12-13 09:41:35 +01:00
Andreas Eversberg 3a8f58ec89 Adding interface support for remote app (chan_lcr).
chan_lcr can be handled as an interface. This way it is possible to (e.g.):
- make a SIP phone become an LCR extension with all LCR features.
- make conference calls. (untested)
- perform parallel ringing. (ISDN phone and SIP phones can ring in
  parallel.)
- do voice recoding.

It is still also possible to link chan_lcr directly without interface
(as before).

Documentation/howto for that will follow.
2010-12-13 09:22:49 +01:00
Andreas Eversberg 0f5c2eabde Adding various arguments to 'execute' condition and 'execute' action. 2010-12-13 09:13:16 +01:00
Peter Schlaile 3fd79822b1 Workaround for "noise" problems with app_rxfax in current LCR.
The problem: for some reason, asterisk silently switches write_format
from SLINEAR to ALAW when using app_rxfax, thereby effectively disabling
automatic conversion SLINEAR->ALAW and thereby breaking app_rxfax after
the first call to ast_write(). Read: instantly, after the first data frame.

Older versions of LCR work flawlessly, until we find out, what really triggers
the problem, we at least switch the channel back, since it never makes
sense to send something different than ALAW to chan_lcr.
2010-12-13 09:13:04 +01:00
Andreas Eversberg c62fe17ee3 See commit 728d... It was not applied correctly. 2010-12-13 09:12:15 +01:00
Andreas Eversberg a24ae098bd Fixed channel selection on outgoing calls on NT-mode multipoint
On a multipoint bus, it is required to assign a channel with no other
alternative allowed. This is required, because an individual phone on the
bus may not choose a different channel, while other phones accept the
indicated channel. Also an individual phone does not have the information
about other available channels. On a point-to-point configuration it is
possible anyway.

In this multipoint case, the channel assignment is now forced automatically,
even if the 'force' keyword is not specified in the "out-channel" of
interface.conf.

Additionally "lcradmin portinfo" shows the channel selection settings now.
2010-12-13 09:11:56 +01:00
Andreas Eversberg 2b9a46d542 Remove the last commit, because it was in the wrong branch. 2010-12-13 09:06:54 +01:00
Andreas Eversberg 8a4387be03 Completed GSM mobile station support with OsmocomBB
OsmocomBB stack can now be attached to LCRl
2010-12-13 09:06:49 +01:00
Andreas Eversberg 108a0eb482 Adding forwarding of DTMF and keypad between peers
This is needed for peers that require DTMF messages, rather than tones:
- GSM mobile stations
- Asterisk channel API

	modified:   apppbx.cpp
	modified:   apppbx.h
2010-12-13 09:06:38 +01:00
Andreas Eversberg 809b188335 Adding various arguments to 'execute' condition and 'execute' action. 2010-12-13 08:40:16 +01:00
Peter Schlaile 5a16de1671 Workaround for "noise" problems with app_rxfax in current LCR.
The problem: for some reason, asterisk silently switches write_format
from SLINEAR to ALAW when using app_rxfax, thereby effectively disabling
automatic conversion SLINEAR->ALAW and thereby breaking app_rxfax after
the first call to ast_write(). Read: instantly, after the first data frame.

Older versions of LCR work flawlessly, until we find out, what really triggers
the problem, we at least switch the channel back, since it never makes
sense to send something different than ALAW to chan_lcr.
2010-12-07 12:06:14 +01:00
Andreas Eversberg 487327d2e5 See commit 728d... It was not applied correctly. 2010-11-28 09:13:55 +01:00
Andreas Eversberg 5f685ed847 Merge branch 'master' of ssh://jolly@www.misdn.org/var/git/lcr 2010-11-28 09:06:59 +01:00
Andreas Eversberg dec6fabc35 Fixed channel selection on outgoing calls on NT-mode multipoint
On a multipoint bus, it is required to assign a channel with no other
alternative allowed. This is required, because an individual phone on the
bus may not choose a different channel, while other phones accept the
indicated channel. Also an individual phone does not have the information
about other available channels. On a point-to-point configuration it is
possible anyway.

In this multipoint case, the channel assignment is now forced automatically,
even if the 'force' keyword is not specified in the "out-channel" of
interface.conf.

Additionally "lcradmin portinfo" shows the channel selection settings now.
2010-11-28 08:53:32 +01:00