Commit Graph

99 Commits

Author SHA1 Message Date
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
Super User 9a0197e709 fixed audio preload of tones. this reduces the propability of audio gaps resulting in clicking noise. only if dsp clock and kernel clock shifts away, gaps will happen.
modified:   mISDN.cpp
2008-07-30 19:35:28 +02:00
Super User ff4d197d5e now LCR features real HDLC bchannel mode.
-> if initial caller uses pure data mode (or video), the bchannels for this call are handled in HDLC mode. (hardware/software briding is still applicable.)

	modified:   apppbx.cpp
	modified:   chan_lcr.c
	modified:   dss1.cpp
	modified:   dss1.h
	modified:   lcradmin.c
	modified:   lcrsocket.h
	modified:   mISDN.cpp
	modified:   mISDN.h
	modified:   message.h
	modified:   socket_server.c
2008-07-26 17:42:16 +02:00
Super User ab4a1270e9 fixed trace bug
added ast_setstate after pbx_start()
	modified:   chan_lcr.c
	modified:   mISDN.cpp
	modified:   trace.h
2008-07-24 18:24:20 +02:00
schlaile a114e74299 rebuffer option for chan_lcr (160 bytes per frame)
l1-link state "unknown" if not known yet.

removed root user check.

	modified:   bchannel.c
	modified:   bchannel.h
	modified:   chan_lcr.c
	modified:   chan_lcr.h
	modified:   dss1.cpp
	modified:   lcradmin.c
	modified:   mISDN.cpp
	modified:   main.c
2008-07-20 19:33:28 +02:00
Super User 89d3a5de47 removed "lcr query", use "isdninfo" instead.
fixed some unlocking in chan_lcr.

fixed dead-lock issue with chan_lcr.

	modified:   README
	modified:   chan_lcr.c
	modified:   chan_lcr.h
	modified:   mISDN.cpp
	modified:   mISDN.h
	modified:   main.c
2008-07-18 19:26:32 +02:00
Super User 5e2c6363b0 layer 2 establish and release improvements
modified:   mISDN.cpp
2008-06-15 14:38:35 +02:00
Super User 609582c9ae fixed dialing bug to remote application
modified:   action.cpp
	modified:   apppbx.cpp
	modified:   chan_lcr.c
	modified:   mISDN.cpp
2008-06-15 14:29:09 +02:00
Super User d2b113f2c4 changed long to int (64 bit system's compatibilty) 2008-06-14 08:34:50 +02:00
Super User 82e0281d1d *** CHAN_LCR is complete! ***
(not every detail tested yet)

	modified:   bchannel.c
	modified:   bchannel.h
	modified:   chan_lcr.c
	modified:   chan_lcr.h
	modified:   mISDN.cpp
2008-06-07 11:49:28 +02:00
Super User 7d16259958 free bchannels on broken pipe of remote application
work

	modified:   chan_lcr.c
	modified:   mISDN.cpp
	modified:   mISDN.h
	modified:   socket_server.c
2008-06-06 19:15:14 +02:00
Super User cbc232643c work on chan_lcr: bridging works, interface selection possible
modified:   Makefile
	modified:   apppbx.cpp
	modified:   apppbx.h
	modified:   bchannel.c
	modified:   bchannel.h
	modified:   chan_lcr.c
	modified:   chan_lcr.h
	modified:   dss1.cpp
	modified:   genext.c
	modified:   joinremote.cpp
	modified:   joinremote.h
	modified:   mISDN.cpp
	modified:   mISDN.h
	modified:   macro.h
	modified:   main.c
	modified:   message.h
	modified:   options.c
	modified:   options.h
	modified:   socket_server.c
2008-06-06 15:18:59 +02:00