Andreas Eversberg [Tue, 3 Jan 2012 10:29:43 +0000 (11:29 +0100)]
chan_lcr: Minor fix for Asterisk versions >= 10
subclass.codec or subclass is not part of frame anymore.
Arnold Schulz [Tue, 8 Nov 2011 15:14:57 +0000 (16:14 +0100)]
For chan_lcr with Asterisk 1.8, set the codec type of a frame into the correct
union member ast_frame_subclass::codec (instead of ast_frame_subclass::integer).
The old code caused an error in some environments, eg big endian Arm (armeb):
"__ast_read: Dropping incompatible voice frame on lcr/1 of format alaw ..."
Signed-off-by: Arnold Schulz <arnysch@gmx.net>
Signed-off-by: Andreas Eversberg <andreas@eversberg.eu>
Andreas Eversberg [Sun, 16 Oct 2011 06:35:43 +0000 (08:35 +0200)]
Disabled layer2-hold from CCITT#5 interfaces
C5 does not require D-channel.
Gregory Nietsky [Sat, 15 Oct 2011 07:34:06 +0000 (09:34 +0200)]
Patch to allow chan_lcr to work with asterisk 10
The patch tries to maintain backward compatibility i have not tested this.
Have tested inbound outbound and T.38 gw call accross it.
Andreas Eversberg [Sat, 15 Oct 2011 07:29:44 +0000 (09:29 +0200)]
Adding "fflush" to debug.log.
This is usefull when using "tail -f". The debug will be written to
the debug.log file right when the debug function is called.
Andreas Eversberg [Sat, 15 Oct 2011 07:28:11 +0000 (09:28 +0200)]
Adding additional debugging to joinremote.cpp
Now it is possible to see the relation between LCR endpoints and
chan_lcr instances.
Andreas Eversberg [Sun, 2 Oct 2011 06:52:13 +0000 (08:52 +0200)]
Fixed mncc.h for GSM. Audio works again with latest OpenBSC.
Karsten Keil [Wed, 28 Sep 2011 10:17:00 +0000 (12:17 +0200)]
Remove unused variable ret
ret is not longer used for the new pid assign method.
Signed-off-by: Karsten Keil <kkeil@linux-pingi.de>
Karsten Keil [Wed, 28 Sep 2011 10:09:54 +0000 (12:09 +0200)]
Handle MT_L2IDLE
MT_L2IDLE is send by the mISDNuser library when all L2 processes
are gone. We could sent a MT_L2RELEASE if we are the L2 master and
do not want permanent L2 monitoring. This would deactive L2 and also
shutdown L1.
For now we do nothing, only log a debug message.
Signed-off-by: Karsten Keil <kkeil@linux-pingi.de>
Karsten Keil [Sat, 24 Sep 2011 07:38:32 +0000 (09:38 +0200)]
Bump version to 1.11
Signed-off-by: Karsten Keil <kkeil@linux-pingi.de>
Karsten Keil [Sat, 24 Sep 2011 07:29:28 +0000 (09:29 +0200)]
New pid handling
The old method was racy, it did use the callback function to deliver the
result, which need special handling because of possible deadlocks.
Now we use a request function which returns the value directely.
The old method is still available, but will get removed soon.
Signed-off-by: Karsten Keil <kkeil@linux-pingi.de>
Karsten Keil [Sat, 24 Sep 2011 07:27:43 +0000 (09:27 +0200)]
New names for redirection numbers
Signed-off-by: Karsten Keil <kkeil@linux-pingi.de>
Karsten Keil [Sat, 24 Sep 2011 07:25:41 +0000 (09:25 +0200)]
New init and debug interface
Works with the newer mISDNuser library.
Signed-off-by: Karsten Keil <kkeil@linux-pingi.de>
Andreas Eversberg [Wed, 7 Sep 2011 06:07:37 +0000 (08:07 +0200)]
Increas version number to 1.10
Andreas Eversberg [Wed, 7 Sep 2011 06:05:11 +0000 (08:05 +0200)]
Checking for GSM codec to be installed at configure.
Also outputting what is supported and what not.
Andreas Eversberg [Sat, 3 Sep 2011 13:54:37 +0000 (15:54 +0200)]
Fixed missing channel IE in some cases.
NT-Mode: channel IE must be included in all cases
TE-Mode: channel IE can be omitted only if any channel is requested.
Andreas Eversberg [Fri, 2 Sep 2011 09:08:56 +0000 (11:08 +0200)]
Support of GSM uses socket interface for both network and mobile
There is no linking of any osmocomBB source code required. In order
to use osmocomBB or OpenBSC, just enable the interface, as described
in defaults/interface.conf. At osmocomBB/mobile or at OpenBSC, just
use the option "-m" to enable the socket interface.
Enable GSM at LCR with "./configure --with-gsm-ms --with-gsm-bs".
Andreas Eversberg [Fri, 2 Sep 2011 08:01:07 +0000 (10:01 +0200)]
Fixed broken timeout condition
A given timeout condition never made the rule match.
Andreas Eversberg [Thu, 11 Aug 2011 13:23:23 +0000 (15:23 +0200)]
Additionally adding output of bchannel "ref" at some debug output.
Andreas Eversberg [Thu, 11 Aug 2011 13:23:01 +0000 (15:23 +0200)]
Fixed wrong reference when requesting a channel from chan_lcr.
This caused audio not to be available, for every call or after
some time.
Andreas Eversberg [Wed, 10 Aug 2011 19:51:46 +0000 (21:51 +0200)]
Minor cosmetic fix of logging output
Andreas Eversberg [Wed, 10 Aug 2011 19:50:45 +0000 (21:50 +0200)]
Fixed forking, to prevent LCR to run multiple times
Executing a script caused very weird behaviour, due to forking of LCR.
Andreas Eversberg [Sat, 30 Jul 2011 07:46:27 +0000 (09:46 +0200)]
Make install now works again. (Missing and required macro defintion)
Andreas Eversberg [Thu, 28 Jul 2011 21:03:51 +0000 (23:03 +0200)]
Make LCR compile with latest osmocomBB code.
Tested with sylvain/traffic branch.
Andreas Eversberg [Mon, 25 Jul 2011 09:38:50 +0000 (11:38 +0200)]
gsm->network must be set != NULL, to make it work correctly
Thanx to Lennart for finding this Bug.
Andreas Eversberg [Mon, 25 Jul 2011 09:37:28 +0000 (11:37 +0200)]
Make LCR compile again with OpenBSC
Added missing include. Thanx to Harald for providing this patch.
Andreas Eversberg [Wed, 20 Jul 2011 10:57:59 +0000 (12:57 +0200)]
Make LCR compile with latest osmocomBB code.
The libosmocore structure has changed.
Andreas Eversberg [Wed, 20 Jul 2011 07:18:59 +0000 (09:18 +0200)]
Don't try to install default/gsm.conf as it was removed.
Patch by: Janis
Signed-off-by: Andreas Eversberg <jolly@eversberg.eu>
Andreas Eversberg [Wed, 20 Jul 2011 07:16:01 +0000 (09:16 +0200)]
Minor fix: remote.c -> remote.cpp in Makefile.am
Andreas Eversberg [Thu, 14 Jul 2011 14:10:39 +0000 (16:10 +0200)]
Changing version number to 1.9
Andreas Eversberg [Thu, 14 Jul 2011 12:33:22 +0000 (14:33 +0200)]
This was missing at merge:
deleted: Makefile.in
deleted: configure
modified: gsm_bs.cpp
modified: gsm_ms.cpp
Andreas Eversberg [Thu, 14 Jul 2011 12:25:42 +0000 (14:25 +0200)]
Merge branch 'develop'
Conflicts:
Makefile.in
README
chan_lcr.c
configure
gsm_bs.cpp
gsm_ms.cpp
interface.c
route.c
Andreas Eversberg [Sun, 10 Jul 2011 17:52:08 +0000 (19:52 +0200)]
[GSM] Replaced strcpy by required macro name.
Andreas Eversberg [Sat, 26 Feb 2011 16:49:21 +0000 (16:49 +0000)]
[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.
Andreas Eversberg [Thu, 24 Feb 2011 09:17:44 +0000 (10:17 +0100)]
[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!
Andreas Eversberg [Thu, 24 Feb 2011 07:59:17 +0000 (08:59 +0100)]
[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
Andreas Eversberg [Mon, 21 Feb 2011 08:42:32 +0000 (09:42 +0100)]
Incremented version number of lcr in develop branch.
Andreas Eversberg [Sun, 20 Feb 2011 16:34:24 +0000 (17:34 +0100)]
[gsm] Removed obsolete gsm.conf handling. Fixed minor compiling issues.
Harald Welte [Sun, 26 Dec 2010 21:49:27 +0000 (22:49 +0100)]
don't execve() a shell process but always double-fork and then exec the program directly
Harald Welte [Thu, 23 Dec 2010 18:03:47 +0000 (19:03 +0100)]
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.
Harald Welte [Thu, 23 Dec 2010 16:05:20 +0000 (17:05 +0100)]
MNCC: refuse any incoming SETUP if there is no MNCC connection
Harald Welte [Thu, 23 Dec 2010 15:46:54 +0000 (16:46 +0100)]
MNCC: Re-connect to the MNCC socket if connection was lost
Andreas Eversberg [Thu, 23 Dec 2010 14:32:10 +0000 (15:32 +0100)]
GSM BS: Release all calls in case the connection to OpenBSC disappears
Harald Welte [Thu, 23 Dec 2010 14:25:33 +0000 (15:25 +0100)]
GSM: Define mncc_send() as it is no longer available from OpenBSC headers
Harald Welte [Wed, 22 Dec 2010 21:55:30 +0000 (22:55 +0100)]
mncc_sock: properly append an element to the end of the list
Harald Welte [Wed, 22 Dec 2010 20:40:40 +0000 (21:40 +0100)]
gsm tracing: as we no longer link with OpenBSC, we don't know the net name
Harald Welte [Wed, 22 Dec 2010 20:40:08 +0000 (21:40 +0100)]
MNCC socket: length of GSM TCH/F FR frame is 33 bytes _plus_ header
Harald Welte [Wed, 22 Dec 2010 18:35:28 +0000 (19:35 +0100)]
Modify GSM BS (OpenBTS) to use unix domain socket based MNCC
Author: Harald Welte <laforge@gnumonks.org>
Andreas Eversberg [Sun, 20 Feb 2011 09:35:40 +0000 (10:35 +0100)]
[GSM_BS] Added DTMF support.
Andreas Eversberg [Tue, 28 Dec 2010 20:10:52 +0000 (21:10 +0100)]
Fixed transmission of call trace on LCR socket.
Andreas Eversberg [Sun, 20 Feb 2011 09:35:40 +0000 (10:35 +0100)]
[GSM_BS] Added DTMF support.
Andreas Eversberg [Sun, 20 Feb 2011 09:23:03 +0000 (10:23 +0100)]
[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)
Andreas Eversberg [Sun, 20 Feb 2011 08:33:31 +0000 (09:33 +0100)]
[chan_lcr] Fixed caller ID for calls from AST->LCR
Andreas Eversberg [Thu, 10 Feb 2011 13:35:47 +0000 (14:35 +0100)]
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>
Andreas Eversberg [Thu, 10 Feb 2011 13:35:47 +0000 (14:35 +0100)]
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>
Andreas Eversberg [Tue, 28 Dec 2010 20:10:52 +0000 (21:10 +0100)]
Fixed transmission of call trace on LCR socket.
Andreas Eversberg [Tue, 28 Dec 2010 14:38:20 +0000 (15:38 +0100)]
Fixed buffer overflow bug at pickup feature
Andreas Eversberg [Tue, 28 Dec 2010 15:24:38 +0000 (16:24 +0100)]
Fixed null-pointer bug when GSM support is disabled
Conflicts:
interface.c
Andreas Eversberg [Tue, 28 Dec 2010 14:38:20 +0000 (15:38 +0100)]
Fixed buffer overflow bug at pickup feature
Andreas Eversberg [Tue, 28 Dec 2010 14:37:15 +0000 (15:37 +0100)]
Fixed null-pointer bug when GSM support is disabled
Andreas Eversberg [Tue, 14 Dec 2010 09:56:09 +0000 (10:56 +0100)]
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.
Andreas Eversberg [Mon, 13 Dec 2010 08:43:23 +0000 (09:43 +0100)]
Removed change history from 'README' file.
Andreas Eversberg [Mon, 13 Dec 2010 08:41:35 +0000 (09:41 +0100)]
Removed 'configure' and other files created by 'autoreconf'.
To generate them, run './autogen.sh'.
Andreas Eversberg [Mon, 13 Dec 2010 08:22:49 +0000 (09:22 +0100)]
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.
Andreas Eversberg [Mon, 13 Dec 2010 07:40:16 +0000 (08:40 +0100)]
Adding various arguments to 'execute' condition and 'execute' action.
Peter Schlaile [Tue, 7 Dec 2010 11:06:14 +0000 (12:06 +0100)]
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.
Andreas Eversberg [Sun, 28 Nov 2010 08:13:55 +0000 (09:13 +0100)]
See commit 728d... It was not applied correctly.
Andreas Eversberg [Sun, 28 Nov 2010 07:53:32 +0000 (08:53 +0100)]
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.
Andreas Eversberg [Fri, 12 Nov 2010 08:25:10 +0000 (09:25 +0100)]
Remove the last commit, because it was in the wrong branch.
Andreas Eversberg [Sun, 31 Oct 2010 16:12:26 +0000 (16:12 +0000)]
Completed GSM mobile station support with OsmocomBB
OsmocomBB stack can now be attached to LCRl
Andreas Eversberg [Sun, 31 Oct 2010 16:08:29 +0000 (16:08 +0000)]
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
Andreas Eversberg [Mon, 13 Dec 2010 07:40:16 +0000 (08:40 +0100)]
Adding various arguments to 'execute' condition and 'execute' action.
Peter Schlaile [Tue, 7 Dec 2010 11:06:14 +0000 (12:06 +0100)]
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.
Andreas Eversberg [Sun, 28 Nov 2010 08:13:55 +0000 (09:13 +0100)]
See commit 728d... It was not applied correctly.
Andreas Eversberg [Sun, 28 Nov 2010 08:06:59 +0000 (09:06 +0100)]
Merge branch 'master' of ssh://jolly@misdn.org/var/git/lcr
Andreas Eversberg [Sun, 28 Nov 2010 07:53:32 +0000 (08:53 +0100)]
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.
Andreas Eversberg [Fri, 12 Nov 2010 08:25:33 +0000 (09:25 +0100)]
Merge branch 'master' of ssh://jolly@misdn.org/var/git/lcr
Andreas Eversberg [Fri, 12 Nov 2010 08:25:10 +0000 (09:25 +0100)]
Remove the last commit, because it was in the wrong branch.
Andreas Eversberg [Fri, 12 Nov 2010 08:18:36 +0000 (09:18 +0100)]
Added chan_lcr support for Asterisk 1.8.
Thanx to WIMPy for providing the patch.
Andreas Eversberg [Sun, 31 Oct 2010 16:12:26 +0000 (16:12 +0000)]
Completed GSM mobile station support with OsmocomBB
OsmocomBB stack can now be attached to LCRl
Andreas Eversberg [Sun, 31 Oct 2010 16:08:29 +0000 (16:08 +0000)]
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
Andreas Eversberg [Sat, 30 Oct 2010 15:21:54 +0000 (17:21 +0200)]
Make LCR compile with the latest OpenBSC master branch
modified: Makefile.in
modified: aclocal.m4
modified: config.h.in
modified: configure
modified: configure.ac
modified: gsm_bs.cpp
Andreas Eversberg [Thu, 7 Oct 2010 07:55:23 +0000 (09:55 +0200)]
[chan_lcr] Fixed caller ID by clearing ast->cid first
Tests with asterisk 1.6.2.13 showed that callerid did not work
unless the ast->cid structure is set to zero.
Thanx for Marcello for prividing this fix.
Andreas Eversberg [Sat, 30 Oct 2010 15:21:54 +0000 (17:21 +0200)]
Make LCR compile with the latest OpenBSC master branch
modified: Makefile.in
modified: aclocal.m4
modified: config.h.in
modified: configure
modified: configure.ac
modified: gsm_bs.cpp
Andreas Eversberg [Thu, 7 Oct 2010 07:55:23 +0000 (09:55 +0200)]
[chan_lcr] Fixed caller ID by clearing ast->cid first
Tests with asterisk 1.6.2.13 showed that callerid did not work
unless the ast->cid structure is set to zero.
Thanx for Marcello for prividing this fix.
Andreas Eversberg [Tue, 28 Sep 2010 06:55:29 +0000 (08:55 +0200)]
[chan_lcr] Fixed uninitialized variable in ast_read()
Thanx to Martin for this bug report.
Andreas Eversberg [Tue, 28 Sep 2010 06:55:29 +0000 (08:55 +0200)]
[chan_lcr] Fixed uninitialized variable in ast_read()
Thanx to Martin for this bug report.
Andreas Eversberg [Thu, 23 Sep 2010 08:10:13 +0000 (10:10 +0200)]
[chan_lcr] Added second caller ID (ANI) in case the caller ID is user provided.
Andreas Eversberg [Thu, 23 Sep 2010 08:10:13 +0000 (10:10 +0200)]
[chan_lcr] Added second caller ID (ANI) in case the caller ID is user provided.
Andreas Eversberg [Mon, 20 Sep 2010 06:23:55 +0000 (08:23 +0200)]
Merge branch 'develop'
Andreas Eversberg [Mon, 20 Sep 2010 06:22:13 +0000 (08:22 +0200)]
Fix of vbox announcing bug
Hi,
here's a simple patch that makes the announcement work again when using
the vbox in lcr.
Bodo
Andreas Eversberg [Mon, 20 Sep 2010 06:18:13 +0000 (08:18 +0200)]
Fixed numbering plan in GSM MS support
Andreas Eversberg [Wed, 4 Aug 2010 13:13:14 +0000 (15:13 +0200)]
Merge branch 'develop'
Andreas Eversberg [Wed, 4 Aug 2010 13:12:05 +0000 (15:12 +0200)]
Removed debugging output from chan_lcr
Andreas Eversberg [Mon, 26 Jul 2010 06:44:07 +0000 (08:44 +0200)]
Removed ast_log again for testing. Seems that it also causes dead-locks when it is used this way.
Andreas Eversberg [Sun, 25 Jul 2010 15:40:34 +0000 (17:40 +0200)]
Hi all,
as described in http://www.gnu.org/software/hello/manual/autoconf/Files.html, AC_CHECK_FILE breaks when cross configuring/compiling LCR.
Attached patch replaces AC_CHECK_FILE by 'test -d' and some extra code in configure.ac.
Cheers
Arny
Andreas Eversberg [Sun, 25 Jul 2010 15:40:34 +0000 (17:40 +0200)]
Hi all,
as described in http://www.gnu.org/software/hello/manual/autoconf/Files.html, AC_CHECK_FILE breaks when cross configuring/compiling LCR.
Attached patch replaces AC_CHECK_FILE by 'test -d' and some extra code in configure.ac.
Cheers
Arny
Andreas Eversberg [Wed, 21 Jul 2010 10:12:23 +0000 (12:12 +0200)]
Fixed API and incomming calls from Osmocom-BB.
Conflicts:
Makefile.in
configure
Andreas Eversberg [Wed, 21 Jul 2010 09:42:04 +0000 (11:42 +0200)]
Enabled ast_log again and changed usleep during trylock to 1.
Andreas Eversberg [Wed, 21 Jul 2010 09:27:58 +0000 (11:27 +0200)]
Removed the lock-debugging for chan_lcr.
Apply reverse for future debugging.
modified: chan_lcr.c
modified: select.c