Janis Ruksans [Sat, 30 Jun 2012 12:04:23 +0000 (14:04 +0200)]
List files for dist that are not picked up automatically from build
rules; and filter out unnecessary ones for distuninstallcheck.
Signed-off-by: Andreas Eversberg <jolly@eversberg.eu>
Janis Ruksans [Sat, 30 Jun 2012 12:03:32 +0000 (14:03 +0200)]
Reference the sources via $< for chan_lcr, and prefixing with $(srcdir)
otherwise. Note: Autoconf manual says that using $< in ordinary make
rules is not portable, but LCR is Linux specific anyway.
Signed-off-by: Andreas Eversberg <jolly@eversberg.eu>
Janis Ruksans [Sat, 30 Jun 2012 12:02:19 +0000 (14:02 +0200)]
Use variables set by configure script instead of installing files to a
hardcoded location. This is practically the same as the reverted part of
commit
51655a18 except that $(DESTDIR) *is not* prepended to CC defines;
doing so would break staged installs.
Signed-off-by: Andreas Eversberg <jolly@eversberg.eu>
Janis Ruksans [Thu, 28 Jun 2012 06:11:57 +0000 (08:11 +0200)]
On many systems /var/run is not world-writeable, and writing PID fails
if LCR is not being run as root. The lock directory, on the contrary,
must be writable by the lcr process, and can be configured by the user.
Signed-off-by: Andreas Eversberg <jolly@eversberg.eu>
Janis Ruksans [Thu, 28 Jun 2012 06:06:15 +0000 (08:06 +0200)]
Use loops for str* checks and to install configuration and tone files,
with the actual files listed in make variables.
Signed-off-by: Andreas Eversberg <jolly@eversberg.eu>
Janis Ruksans [Thu, 28 Jun 2012 06:02:55 +0000 (08:02 +0200)]
The third parameter to ast_channel_tech.requester is const qualified,
causing GCC to emit a warning about incompatible pointer types when
initializing lcr_tech. Fix this by adding necessary const's to lcr_request.
Signed-off-by: Andreas Eversberg <jolly@eversberg.eu>
Janis Ruksans [Thu, 28 Jun 2012 06:01:25 +0000 (08:01 +0200)]
If ast_channel struct is not declared before ast_register_application2,
gcc thinks that the implicit declaration in module.h is different from
the one in channel.h, and issues a warning about incompatible pointer
types. A forward declaration before including module.h fixes this.
Due to some brain-deadness in Ast, including channel.h before module.h
causes the compilation fail altogether.
Signed-off-by: Andreas Eversberg <jolly@eversberg.eu>
Janis Ruksans [Thu, 28 Jun 2012 05:59:48 +0000 (07:59 +0200)]
Use AC_CHECK_TYPE and correct quoting for Asterisk struct checks, and add
case for ind_tone_zone_sound (Asterisk 1.6.0).
Signed-off-by: Andreas Eversberg <jolly@eversberg.eu>
Birger Harzenetter [Sun, 24 Jun 2012 06:33:59 +0000 (08:33 +0200)]
Changes needed for Asterisk TRUNK 357721
Birger Harzenetter [Sun, 17 Jun 2012 07:35:30 +0000 (09:35 +0200)]
Fixed typo
Birger Harzenetter [Sat, 16 Jun 2012 07:52:48 +0000 (09:52 +0200)]
Adds screening of redirecting number
Andreas Eversberg [Sun, 20 May 2012 15:45:56 +0000 (17:45 +0200)]
[SIP] Allow setting local port for SIP interface
Andreas Eversberg [Sun, 20 May 2012 14:37:27 +0000 (16:37 +0200)]
Only receive RTP audio data, if connected to remote.
Andreas Eversberg [Sun, 20 May 2012 14:36:06 +0000 (16:36 +0200)]
Fixed reloading of interfaces with SIP support
SIP instance is now moved to new interface list at is should be.
Birger Harzenetter [Tue, 17 Apr 2012 10:56:49 +0000 (12:56 +0200)]
Changes for Asterisk TRUNK r357721
Signed-off-by: Andreas Eversberg <jolly@eversberg.eu>
Andreas Eversberg [Sun, 25 Mar 2012 14:41:14 +0000 (16:41 +0200)]
Fixed compiling issues when enabling GSM MS side support.
Andreas Eversberg [Sun, 25 Mar 2012 14:40:24 +0000 (16:40 +0200)]
Allow to define MS side GSM interface again
Andreas Eversberg [Sun, 25 Mar 2012 14:38:43 +0000 (16:38 +0200)]
Bearer Capability is mandatory in CALL CONF. message, if not in SETUP.
Andreas Eversberg [Sun, 25 Mar 2012 14:36:19 +0000 (16:36 +0200)]
When socket to LCR is closed, the test call must be released
Andreas Eversberg [Fri, 16 Mar 2012 03:58:23 +0000 (04:58 +0100)]
SIP: Adding echo test to do delay test on incomming SIP calls
Andreas Eversberg [Thu, 8 Mar 2012 13:44:17 +0000 (14:44 +0100)]
Added support for all GSM codecs to GSM and SIP interface
Untested!
Andreas Eversberg [Thu, 8 Mar 2012 06:05:15 +0000 (07:05 +0100)]
Removed obsolete #include directive.
Birger Harzenetter [Thu, 1 Mar 2012 07:47:13 +0000 (08:47 +0100)]
Make chan_lcr compile with latest Asterisk.
Andreas Eversberg [Thu, 1 Mar 2012 07:40:28 +0000 (08:40 +0100)]
Fixed chan_lcr unload bug, found by Patrick
Alexander Huemer [Thu, 1 Mar 2012 06:51:26 +0000 (07:51 +0100)]
Make appbridge.cpp compile, even without mISDN support.
Andreas Eversberg [Tue, 21 Feb 2012 17:03:43 +0000 (18:03 +0100)]
Fixed release of relations between bridge and interface instances (ports)
Wimpy [Tue, 21 Feb 2012 10:42:20 +0000 (11:42 +0100)]
Added support to chan_lcr for Asterisk version > 10
Andreas Eversberg [Tue, 21 Feb 2012 10:32:31 +0000 (11:32 +0100)]
Added support of mISDN to direct bridge feature
Now it is possible to directly bridge:
- GSM with SIP
- GSM with ISDN
- SIP with ISDN
Andreas Eversberg [Sat, 18 Feb 2012 08:50:43 +0000 (09:50 +0100)]
Allow setting IP:port for peers of SIP interfaces.
Andreas Eversberg [Sat, 18 Feb 2012 08:49:57 +0000 (09:49 +0100)]
Use dynamic RTP payload types starting from 96
Andreas Eversberg [Fri, 17 Feb 2012 14:38:54 +0000 (15:38 +0100)]
Allow dynamic RTP payload types when bridging between SIP and OpenBSC.
Because EFR/AMR/HR codecs use dynamic RTP payload types, it is essential
to forward the actual media types between endpoints too. These media
types are used for negotiation of codecs. A dynamic payload type is
used as given by remote peer. Locally generated payload types are used
when offering codecs to remote peer.
Andreas Eversberg [Fri, 17 Feb 2012 11:31:54 +0000 (12:31 +0100)]
SIP: minor fixes
Andreas Eversberg [Sun, 5 Feb 2012 19:30:48 +0000 (20:30 +0100)]
Bump version to 1.12
Andreas Eversberg [Sat, 4 Feb 2012 06:43:36 +0000 (07:43 +0100)]
autoconf: Fixed detection of mISDN headers
Andreas Eversberg [Wed, 1 Feb 2012 16:52:36 +0000 (17:52 +0100)]
Adding negotiation of speech codecs between GSM and SIP when using rtp-bridge
Since LCR does not put hands on any RTP frame when directly bridged between
OpenBSC and SIP, it will now allow all speech codecs that are commonly supported
by MS and remote SIP endpoint.
It must be noted that OpenBSC must support forwarding the codec types that
MS and remote SIP endpoints support.
Currently LCR negotiates the following codecs for GSM:
- Full Rate
- EFR
- AMR
- Half Rate
Andreas Eversberg [Fri, 27 Jan 2012 07:35:55 +0000 (08:35 +0100)]
Disabled NUTAG_AUTO100, Entering PROCEEDING state after sending INVITE
This also includes unfinished overlap dialing code.
Andreas Eversberg [Fri, 27 Jan 2012 06:27:52 +0000 (07:27 +0100)]
Adding switch to compile LCR without mISDN support
Disable:
--without-misdn
Enable:
--with-misdn
Otherwise it will be enable automatically, if mISDN user is installed.
Andreas Eversberg [Sat, 21 Jan 2012 16:50:45 +0000 (17:50 +0100)]
GSM now receives tones during bridge
If a bridge is enabled, tones (e.g. hangup tone) will have priority
over the bridge. The bridge will continue to forward audio, after
tone is removed. (e.g after beeing on hold music)
Andreas Eversberg [Fri, 20 Jan 2012 19:28:55 +0000 (20:28 +0100)]
Adding handling of bad GSM audio frames
In this case the frame is dropped, but audio of the last frame is repeated
with a reduced level. The level is reduced again an again until a new
valid frame is received. This way there is no silent gap in the audio
stream.
Andreas Eversberg [Fri, 20 Jan 2012 09:05:41 +0000 (10:05 +0100)]
Fixed dead pointer problem when handling interfaces
In order to get the pointer to the currently existing interface, a
new function is used, to resolve interface by name.
Andreas Eversberg [Fri, 20 Jan 2012 09:05:17 +0000 (10:05 +0100)]
Minor fix in interface.conf example
Andreas Eversberg [Fri, 20 Jan 2012 07:58:27 +0000 (08:58 +0100)]
Adding TX-dejitter feature for briged data to mISDN
In case there is data bridged to an mISDN port, the TX-dejitter feature
is enabled in the kernel, to keep the delay at a minimum.
Andreas Eversberg [Fri, 20 Jan 2012 07:56:51 +0000 (08:56 +0100)]
Correctly control brige in case of mISDN
If all ends in a call use mISDN, the bridging is done by mISDN itself.
If one end of a call is not mISDN and there are two parties, the
traffic is bridged via LCR.
Andreas Eversberg [Thu, 19 Jan 2012 08:44:48 +0000 (09:44 +0100)]
Fixed audio bridge to mISDN ports
Audio must be bridged, even if the call is not connected, but if
audio data is already available.
Andreas Eversberg [Thu, 19 Jan 2012 08:14:58 +0000 (09:14 +0100)]
Fixed 'earlyb' handling
mISDN-TE ports receive audio patterns by default again.
Andreas Eversberg [Mon, 16 Jan 2012 08:14:22 +0000 (09:14 +0100)]
Adding simple bridge application to forward calls without PBX app.
Call received on an interface can directly be forwarded to a given
destination interface, instead of routing the call through PBX
application. This way calls can be forwarded without going through
route.conf.
Currently only SIP and GSM destinations are supported. Also there
are no tones generated, if one side provides no tones, but the
other wants to receive them.
The keyword "bridge <output interface>" in interface.conf is used.
Without that keyword, incomming calls are handled as usual.
Andreas Eversberg [Sun, 15 Jan 2012 09:51:58 +0000 (10:51 +0100)]
Forward DTMF as message directly from GSM BS to SIP.
In case rtp-bridge is used, tones cannot be generated. Instead,
a message is forwarded to SIP endpoint, so it generates it itself.
Andreas Eversberg [Sun, 15 Jan 2012 08:42:35 +0000 (09:42 +0100)]
Added bridgin support for GSM and SIP
The dependency on mISDN (loopback interface) is completely removed
from GSM and SIP interfaces.
The built in bridge of LCR now forwards audio data between these
interface instances or between these instances and other instances.
Additionally both GSM BS and SIP support direct forwarding of RTP
traffic between other SIP endpoint and OpenBSC, so no traffic is
forwarded by the LCR itself. This is done by forwarding RTP peer
informations between these interface instances.
Andreas Eversberg [Sat, 14 Jan 2012 17:36:26 +0000 (18:36 +0100)]
Adding bridge between protocol handlers (ports)
This is required to bridge traffic beween non-mISDN handlers,
such as GSM, SIP and voice box. Also it bridges traffic between
mISDN handlers and non-mISDN handlers. It is the fundamental step
to get rid of mISDN (loop interface) for non-mISDN handlers.
This is required to bridge audio e.g. between SIP and GSM without
using mISDN. There will be no limitations on 'b-channels' anymore.
Still GSM and SIP requires mISDN, but this will be changed later.
With that bridge I cleaned up some code and also removed the
MESSAGE_DATA, which is not required anymore.
Andreas Eversberg [Fri, 13 Jan 2012 05:24:21 +0000 (06:24 +0100)]
Adding basic SIP support, using Sofia-SIP stack
This support is just a simple peer-to-peer support for basic calls.
Currently it requires mISDN_l1loop interface, as every non-ISDN
interface does. Later it will be possible to use it without.
Andreas Eversberg [Fri, 13 Jan 2012 04:18:49 +0000 (05:18 +0100)]
Various minor fixes
Andreas Eversberg [Fri, 13 Jan 2012 04:13:30 +0000 (05:13 +0100)]
Adding shutdown option to interface.conf
This way an interface can be disabled by just one keyword
and not by uncommenting all lines of it.
Andreas Eversberg [Sat, 7 Jan 2012 08:34:51 +0000 (09:34 +0100)]
Fixed NULL-pointer bug when unloading of GSM interfaces
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