Commit Graph

110 Commits

Author SHA1 Message Date
Andreas Eversberg 034d3a9140 Data-Over-Voice
An experimental feature to send and receive an identification over
voice channel.

If a party answers, the ID is transmitted some seconds afterwards.
The calling party listens 30 seconds after receiving an answer message
for the ID.

Add to your extension's settings file:

dov_ident  <id string without white spaces>
dov_log    /path/to/log/file
dov_type   pwm|pcm
dov_level  0|level

'pwm' survives analog transcoding.
'pcm' is fast and will almost not be recognised.
'level' can be used to alter default signal amplitude (100..30000).
2015-12-15 14:27:23 +01:00
Andreas Eversberg e233557e40 Experimental crypto feature: Support for libvootp 2015-12-15 07:59:12 +01:00
Andreas Eversberg 42b2772d78 Fixed several compiler warnings 2015-12-15 07:52:20 +01:00
Peter Holik b1bfd4973a Make LCR compile, even if POTS/FXS is not supported by mISDN
Signed-off-by: Andreas Eversberg <jolly@eversberg.eu>
2013-11-06 07:47:35 +01:00
Andreas Eversberg 4b85a2abcd Added option to change DTMF decoding threshold level
If not given, the DSP modules' default value is used, rather than setting
it to 0. This was a bug.
2012-12-16 10:12:45 +01:00
Andreas Eversberg e9b1625405 Fix: Disable DTMF dialing after first received KP (pulse) digit
Once a pulse digit is detected, it makes no sense to detect DTMF.
Pulses will create distortion with some phones, causing false
detection of DTMF tones.
2012-12-16 10:12:44 +01:00
Andreas Eversberg acaf278f7f Add FXS support
This requires FXS support to mISDN too.
2012-12-16 10:12:44 +01:00
Andreas Eversberg 1fd1d5d17c SIP: Allow early audio on incomming connections at SIP interface
In order to provide internal tones, a clock is used to generate
chunks of 160 samples. If no tones are provided and if audio is
bridged, it is forwarded as usual.

In order to provide early audio on SIP trunk, "tones yes" must be set
at interface.conf.
In order to receive early audio from SIP trunk, "earlyb yes" must be
set at interface.conf.
2012-12-16 10:11:47 +01:00
Andreas Eversberg d3b4611440 Fix: Allow recording of audio for SIP/remote/GSM interfaces too 2012-12-16 10:11:47 +01:00
Andreas Eversberg a296b797ba Fix: Always keep transmit timer on when mISDN channel is open
This way the buffer load is always calculated correctly.
2012-12-16 10:11:46 +01:00
Andreas Eversberg 7f0d14c706 Cleanup: Make interface name be part of Port class 2012-12-16 10:11:46 +01:00
Andreas Eversberg 7440c9a44d Fix: Process tx-load when briding with jitter buffer disabled 2012-12-16 10:10:33 +01:00
Andreas Eversberg 3f7ef909c9 Define prload of mISDN buffer by chan_lcr (required for fax)
Use q<ms> option to peload.
2012-12-16 10:10:33 +01:00
Andreas Eversberg ec40766edc Add global variable for Law encoded silence 2012-12-16 10:10:33 +01:00
Andreas Eversberg f6aea744f8 Removed complete bchannel handling from chan_lcr
The remote application interface does not allow any bchannel to be
exported or imported. Audio traffic via socket interface is used instead.

The joinremote instance became obsolete and is removed.

The remote action (routing) became obsolete, use interface.conf instead.

The handling of loopback device became obsolete and was removed

The chan_lcr does not rely on mISDN anymore, that means:
- can be used with GSM and without mISDN at all.
- chan_lcr can be used as internal extension of LCR (e.g. SIP phone)
  (chan_lcr can be handled as any other interface)
- no loopback device to be used anymore.
2012-12-16 10:10:32 +01:00
Andreas Eversberg 67e162715d 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.
2012-01-20 08:58:27 +01:00
Andreas Eversberg 145f8adab1 Fixed audio bridge to mISDN ports
Audio must be bridged, even if the call is not connected, but if
audio data is already available.
2012-01-19 09:44:48 +01:00
Andreas Eversberg 5463e1b62a 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.
2012-01-15 09:42:35 +01:00
Andreas Eversberg 877a2dfd52 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.
2012-01-14 18:36:26 +01:00
Andreas Eversberg 863bc64219 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.
2012-01-13 06:24:21 +01:00
Andreas Eversberg 92b9d54385 Disabled layer2-hold from CCITT#5 interfaces
C5 does not require D-channel.
2011-10-16 08:35:43 +02:00
Karsten Keil 73353997fd 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>
2011-09-24 09:29:28 +02:00
Karsten Keil d19e69fe80 New init and debug interface
Works with the newer mISDNuser library.

Signed-off-by: Karsten Keil <kkeil@linux-pingi.de>
2011-09-24 09:25:41 +02:00
Andreas Eversberg 5df02da464 Fixed wrong reference when requesting a channel from chan_lcr.
This caused audio not to be available, for every call or after
some time.
2011-08-11 15:23:01 +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 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 a12d7eee22 Splitted GSM support into BS (network) and MS (mobile) part. 2010-05-31 18:45:02 +02:00
Andreas Eversberg c4fcb0668c Fixed includes to latest mISDNuser structures.
modified:   Makefile.am
	modified:   Makefile.in
	modified:   README
	modified:   bchannel.c
	modified:   dss1.cpp
	modified:   mISDN.cpp
	modified:   main.h
2010-03-11 16:27:28 +01:00
Andreas Eversberg 0c65074b5b Fixed compiler warnings when compiling with gcc 4.3.4.
Fixed names of moved include files (OpenBSC).

	modified:   Makefile.am
	modified:   Makefile.in
	modified:   README
	modified:   chan_lcr.c
	modified:   configure
	modified:   configure.ac
	modified:   genrc.c
	modified:   gentones.c
	modified:   genwave.c
	modified:   gsm.cpp
	modified:   mISDN.cpp
	modified:   main.c
	modified:   port.cpp
	modified:   tones.c
	modified:   trace.c
2010-03-11 14:07:20 +01:00
Andreas Eversberg ce460a94e6 register_fd() bugfix. 2010-01-30 11:59:07 +01:00
Andreas Eversberg 76c5d82d4c Added "release" action and timeout to "execute" action.
modified:   README
	modified:   action.cpp
	modified:   apppbx.cpp
	modified:   apppbx.h
	modified:   dss1.cpp
	modified:   mISDN.cpp
	modified:   message.h
	modified:   route.c
	modified:   route.h
	modified:   socket_server.c
2010-01-16 11:42:46 +01:00
Andreas Eversberg b0bd74e35e Replaced polling loop for LCR and chan_lcr with select based event loop.
Now LCR and chan_lcr will not use any CPU until there is work to do.
2010-01-16 11:20:23 +01:00
Andreas Eversberg 473d6569ef Added new option to interface.conf: "nonotify" to disable notify messages.
modified:   README
	modified:   dss1.cpp
	modified:   interface.c
	modified:   interface.h
	modified:   mISDN.cpp
	modified:   mISDN.h
2010-01-15 21:55:25 +01:00
Andreas Eversberg 10ee69aef5 Fixed bug when closing mISDN port.
modified:   mISDN.cpp
2009-09-30 14:23:23 +02:00
Andreas Eversberg 323cbc387b Added support for signalling system no. 5.
More infos will follow on the isdn4linux mailing list.

	modified:   Makefile.am
	modified:   Makefile.in
	modified:   README
	modified:   apppbx.cpp
	modified:   configure
	modified:   configure.ac
	modified:   default/options.conf
	modified:   dss1.cpp
	modified:   ie.cpp
	modified:   interface.c
	modified:   interface.h
	modified:   lcradmin.c
	modified:   lcrsocket.h
	modified:   mISDN.cpp
	modified:   mISDN.h
	modified:   main.c
	modified:   main.h
	modified:   port.h
	modified:   socket_server.c
	new file:   ss5.cpp
	new file:   ss5.h
	new file:   ss5_decode.c
	new file:   ss5_decode.h
	new file:   ss5_encode.c
	new file:   ss5_encode.h
2009-09-26 13:20:29 +02:00
root 7239f7e28e Applied changes of OpenBSC main branch. LCR now works with OpenBSC main branch.
modified:   README
	modified:   bootstrap.c
	modified:   bootstrap.h
	modified:   gsm.cpp
	modified:   gsm.h
	modified:   gsm_conf.c
	modified:   mISDN.cpp
2009-06-28 17:29:07 +02:00
Andreas Eversberg 6db34c1dca Restructured tones_dir, added tones_dir to interface.conf
Code cleanup..

	modified:   README
	modified:   apppbx.cpp
	modified:   default/interface.conf
	modified:   default/options.conf
	modified:   dss1.cpp
	modified:   extension.c
	modified:   gsm.cpp
	modified:   interface.c
	modified:   interface.h
	modified:   mISDN.cpp
	modified:   options.c
	modified:   options.h
	modified:   port.cpp
2009-05-14 20:31:43 +02:00
Andreas Eversberg 20a671d768 Added GSM network support.
This turns LCR into a GSM mobile switching center.
More infos will follow.
2009-05-11 11:07:58 +02:00
Andreas Eversberg a425aedc1e Added display of current active TEI values (L2) at lcradmin.
modified:   README
	modified:   lcradmin.c
	modified:   lcrsocket.h
	modified:   mISDN.cpp
	modified:   mISDN.h
	modified:   socket_server.c
2009-04-05 12:52:24 +02:00
Andreas Eversberg 57549529c8 Added layer1 hold feature. Requires new mISDN and mISDNuser package from git.
modified:   README
	modified:   interface.c
	modified:   interface.h
	modified:   lcradmin.c
	modified:   lcrsocket.h
	modified:   mISDN.cpp
	modified:   mISDN.h
	modified:   socket_server.c
2009-03-20 20:46:25 +01:00
Andreas Eversberg 2debf08535 Added Notify to NT-mode.
modified:   README
	modified:   dss1.cpp
	modified:   dss1.h
	modified:   mISDN.cpp
	modified:   trace.h
2009-03-20 18:47:31 +01:00
Andreas Eversberg efc550418c Added processing of second caller id.
New routing macht rule to filter second caller id.

Fixed extensions directory path.

"make clean" now cleans ".po" files.

Fixed unititialized variable bugs and compiler warnings.

	modified:   Makefile.am
	modified:   Makefile.in
	modified:   action.cpp
	modified:   apppbx.cpp
	modified:   callerid.c
	modified:   chan_lcr.c
	modified:   dss1.cpp
	modified:   dss1.h
	modified:   extension.c
	modified:   gentones.c
	modified:   ie.cpp
	modified:   mISDN.cpp
	modified:   message.h
	modified:   port.cpp
	modified:   route.c
	modified:   route.h
	modified:   socket_server.c
	modified:   tones.c
	modified:   trace.c
2008-11-04 09:31:09 +01:00
Andreas Eversberg 26c7e0d22e Finished autoconf.
-> Commments are welcome.

	deleted:    Makefile
	modified:   Makefile.am
	new file:   Makefile.in
	modified:   README
	new file:   aclocal.m4
	modified:   action_vbox.cpp
	modified:   alawulaw.h
	modified:   autogen.sh
	new file:   config.h.in
	new file:   configure
	modified:   configure.ac
	modified:   default/interface.conf
	modified:   default/options.conf
	modified:   dss1.cpp
	modified:   dss1.h
	modified:   extension.c
	modified:   genext.c
	modified:   interface.c
	modified:   interface.h
	modified:   mISDN.cpp
	modified:   mISDN.h
	modified:   main.h
	new file:   mkinstalldirs
	modified:   options.c
	modified:   options.h
	modified:   port.cpp
	modified:   route.c
	modified:   todo.txt
	modified:   tones.c
	modified:   vbox.cpp
	deleted:    watch.c
2008-09-21 08:57:51 +02:00
Andreas Eversberg 6d3d13def3 fixed some layer 2 link issues
modified:   README
	modified:   apppbx.cpp
	modified:   lcradmin.c
	modified:   mISDN.cpp
	modified:   route.c
2008-09-14 14:37:51 +02:00
Andreas Eversberg 6f1ac87333 Fixed trace bugs.
modified:   README
	modified:   interface.c
	modified:   lcradmin.c
	modified:   mISDN.cpp
	modified:   main.c
	modified:   socket_server.c
	modified:   trace.c
	modified:   vbox.cpp
2008-09-14 12:27:11 +02:00
Andreas Eversberg 2ce5c9f92f Corrected error print, if mISDN_dsp.ko module cannot be loaded.
modified:   README
	modified:   bchannel.c
	modified:   mISDN.cpp
	modified:   main.c
2008-09-12 07:43:21 +02:00
Andreas Eversberg b2a665f8f1 Ports can now be specified by number or by name.
Names are shown in state-screen also.

	modified:   README
	modified:   default/interface.conf
	modified:   interface.c
	modified:   interface.h
	modified:   lcradmin.c
	modified:   lcrsocket.h
	modified:   mISDN.cpp
	modified:   mISDN.h
	modified:   main.h
	modified:   socket_server.c
2008-09-07 10:31:58 +02:00
Andreas Eversberg b95114936f changed port attribute to "portnum".
modified:   bchannel.c
	modified:   default/interface.conf
	modified:   interface.c
	modified:   mISDN.cpp
	modified:   route.c
2008-09-06 13:59:48 +02:00
Karsten Keil 08aad9a8c5 Fix lot of warnings 2008-09-02 02:02:11 +02:00
schlaile 3a5b34a850 make LCR compile again with latest mISDNuser changes 2008-08-12 16:16:54 +02:00