Commit Graph

63 Commits

Author SHA1 Message Date
Andreas Eversberg 6642360dcf SS5: improvements
- sending clear forward is now forced at any state
- sending signals are queued until last signal has vanished
- timeout while seized/dialing, as well as after busy/clear back
- release of party clears the line (after timeout)
- several minor features and fixes

it is now possible to break the outgoing exchange with:
 2600+2400 140ms
 0 ms delay
 2400      200ms
manually acknowledgement of the answer signal is required then. therefore
the mute feature must be disabled. the delay feature should be used.
2015-12-15 07:52:23 +01:00
Andreas Eversberg 6cae175d72 SS5: removed star-release-feature 2015-12-15 07:52:21 +01:00
Peter Stuge 1cf9b356bc interface.conf: Verify that an rtp-bridge interface is also bridged
RTP bridging only works when interfaces are bridged so we now check
that the interface has been configured as bridge upon seeing rtp-bridge
during parsing of interface.conf.

Note: This change requires that rtp-bridge appears after bridge for
the interface. If this makes your existing configuration fail because
rtp-bridge appears before the bridge parameter then please move the
rtp-bridge line below the bridge line.
2013-10-02 18:12:02 +02:00
Andreas Eversberg a04f6e025f Add essential option to enable and prefer half rate calls to mobile
Without it might not be possible to use TCH/H, unless OpenBSC would
support late assignment.
2013-03-31 12:52:04 +02: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 acaf278f7f Add FXS support
This requires FXS support to mISDN too.
2012-12-16 10:12:44 +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 736182d6fd Fixed reloading of interfaces with SIP support
SIP instance is now moved to new interface list at is should be.
2012-05-20 16:36:06 +02:00
Andreas Eversberg 30f74eec76 Allow to define MS side GSM interface again 2012-03-25 17:08:40 +02:00
Andreas Eversberg 58afedec93 Allow setting IP:port for peers of SIP interfaces. 2012-02-18 09:50:43 +01:00
Andreas Eversberg f854931ffb 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
2012-02-01 17:52:36 +01:00
Andreas Eversberg f851ca0d9e 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.
2012-01-27 07:27:52 +01:00
Andreas Eversberg 03e00d7b37 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.
2012-01-20 10:05:41 +01:00
Andreas Eversberg 74a7fe54a8 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.
2012-01-16 09:14:22 +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 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 e9c834b844 Various minor fixes 2012-01-13 05:18:49 +01:00
Andreas Eversberg 57a91e52d4 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.
2012-01-13 05:13:30 +01:00
Andreas Eversberg 29ba196ca5 Fixed NULL-pointer bug when unloading of GSM interfaces 2012-01-07 09:34:51 +01:00
Andreas Eversberg 97aa0881be 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".
2011-09-02 11:08:56 +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 d5e639588d [gsm] Removed obsolete gsm.conf handling. Fixed minor compiling issues. 2011-02-20 17:34: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 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 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 a12d7eee22 Splitted GSM support into BS (network) and MS (mobile) part. 2010-05-31 18:45:02 +02: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 a555eb7b1a Harald provided this patch to fix reload of interface.conf without segfault. 2010-01-04 19:20:06 +01:00
Andreas Eversberg b987a1bbbc Fixes and improves parsing of config file.
Last character of unterminated line was ignored.

Minor bug fix in 2600 Hz pulse dialing.

	modified:   README
	modified:   action_vbox.cpp
	modified:   crypt.cpp
	modified:   extension.c
	modified:   gsm_conf.c
	modified:   interface.c
	modified:   macro.h
	modified:   route.c
	modified:   ss5.cpp
	modified:   ss5.h
2009-10-27 07:53:27 +01: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
Andreas Eversberg feea42c7f7 Added 'extern' flag to interface.conf.
If no specific interface is given for the 'extern' rule in the
routing.conf, or if call is forwarded (settings), then only
interfaces marked with 'extern' flag are used.
You need to set this flag when upgrading to this version. See
default/interface.conf for hint.

	modified:   README
	modified:   apppbx.cpp
	modified:   default/interface.conf
	modified:   interface.c
	modified:   interface.h
2009-09-23 10:07:00 +02:00
root 4ec1520c57 Added GSM IMSI dialing by using dialing "imsi-<number>".
Applied API change of OpenBSC.

	modified:   Makefile.am
	modified:   Makefile.in
	modified:   README
	modified:   bootstrap.c
	modified:   default/gsm.conf
	modified:   dss1.cpp
	modified:   gsm.cpp
	modified:   gsm_audio.c
	modified:   gsm_conf.c
	modified:   interface.c
2009-06-18 10:06:31 +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 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 68eab06823 Bugfix on interface reload.
modified:   README
	modified:   interface.c
2009-03-14 16:59:45 +01:00
Andreas Eversberg fb6e219eda chan_lcr hopefully now compiles against SVN version of asterisk.
Added limitation option for maximum dialed digits. If dial string exceeds
that limit, overlap-dialing is used to complete dial string.
Siemens EWSD (APS V16) only allows 20 digits at a time.

	modified:   README
	modified:   chan_lcr.c
	modified:   default/interface.conf
	modified:   dss1.cpp
	modified:   dss1.h
	modified:   ie.cpp
	modified:   interface.c
	modified:   interface.h
2009-02-15 09:04:14 +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 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 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
Super User 026b04fc75 LCR is now uses socket based mISDN V2 API
*** chan_lcr, the Asterisk interface works (not complete yet).
-> LCR can be used as Asterisk channel driver.

	modified:   Makefile
	modified:   Makefile.am
	modified:   README
	modified:   action.cpp
	modified:   apppbx.cpp
	modified:   bchannel.c
	modified:   bchannel.h
	modified:   callerid.c
	modified:   cause.c
	modified:   chan_lcr.c
	modified:   chan_lcr.h
	modified:   configure.ac
	modified:   default/routing.conf
	modified:   dss1.cpp
	modified:   dss1.h
	modified:   genrc.c
	modified:   ie.cpp
	modified:   interface.c
	modified:   lcradmin.c
	modified:   mISDN.cpp
	modified:   mISDN.h
	modified:   main.c
	modified:   main.h
	modified:   message.h
	modified:   myisdn.h
	modified:   route.c
	modified:   socket_server.c
	modified:   trace.h
2008-06-01 18:52:10 +02:00
Super User 0efcf371b4 work on chan_lcr
modified:   Makefile
	modified:   action.cpp
	modified:   action_efi.cpp
	modified:   action_vbox.cpp
	modified:   apppbx.cpp
	modified:   apppbx.h
	modified:   bchannel.c
	modified:   bchannel.h
	new file:   callerid.c
	new file:   callerid.h
	modified:   chan_lcr.c
	modified:   chan_lcr.h
	modified:   crypt.cpp
	modified:   endpoint.cpp
	modified:   endpointapp.cpp
	modified:   interface.c
	modified:   join.cpp
	modified:   joinpbx.cpp
	modified:   joinremote.cpp
	modified:   mISDN.cpp
	modified:   mail.c
	modified:   main.h
	modified:   message.h
	modified:   port.cpp
	modified:   route.c
	modified:   route.h
	modified:   socket_server.c
	modified:   todo.txt
	modified:   vbox.cpp
	modified:   watch.c
2008-05-01 10:35:20 +02:00
Super User 1bfbfbf903 socket mISDN work
modified:   Makefile
	modified:   apppbx.cpp
	modified:   default/interface.conf
	modified:   dss1.cpp
	modified:   interface.c
	modified:   interface.h
	modified:   mISDN.cpp
	modified:   mISDN.h
	modified:   main.h
	modified:   options.c
	modified:   options.h
	modified:   route.c
2008-04-24 09:24:04 +02:00
Super User d9d954e58d socket api work
modified:   apppbx.cpp
	modified:   cause.c
	modified:   dss1.cpp
	modified:   dss1.h
	modified:   ie.cpp
	modified:   interface.c
	modified:   mISDN.cpp
	modified:   mISDN.h
	modified:   main.c
	modified:   main.h
	modified:   message.c
	modified:   options.c
	modified:   port.cpp
	modified:   q931.h
	modified:   route.c
	modified:   socket_server.c
	modified:   tones.c
2008-03-24 11:13:44 +01:00
Super User a396a7e8da more screening bug, more trace bug
modified:   action.cpp
	modified:   extension.c
	modified:   interface.c
2008-03-21 18:42:41 +01:00
Super User b9b543675c added timer for recovering missing activation/deactivation replies of bchannels from mISDN
this recovers 'hang' of bchannel if the reply message got lost due to buffer overflows

fixed some minor warnings

	modified:   Makefile
	modified:   README
	modified:   action_efi.cpp
	modified:   apppbx.cpp
	modified:   dss1.cpp
	modified:   interface.c
	modified:   mISDN.cpp
	modified:   mISDN.h
	modified:   message.h
2008-02-16 09:09:35 +01:00
Super User 14f76f1e81 work on unfinished asterisk channel driver (bchannel handling)
modified:   Makefile
	modified:   README
	modified:   action.cpp
	modified:   admin_server.c
	modified:   apppbx.cpp
	modified:   apppbx.h
	new file:   bchannel.c
	new file:   bchannel.h
	renamed:    asterisk_client.c -> chan_lcr.c
	renamed:    asterisk_client.h -> chan_lcr.h
	deleted:    channel.c
	modified:   dss1.cpp
	modified:   extension.c
	modified:   extension.h
	modified:   interface.c
	modified:   interface.h
	modified:   joinremote.cpp
	modified:   joinremote.h
	modified:   mISDN.cpp
	modified:   mISDN.h
	modified:   main.h
	modified:   message.h
	modified:   route.c
	modified:   todo.txt
2008-01-19 18:10:46 +01:00
Super User 31aff20175 moved timeout settings from extenion to interface.conf
modified:   README
	modified:   apppbx.cpp
	modified:   default/interface.conf
	modified:   dss1.cpp
	modified:   extension.c
	modified:   extension.h
	modified:   genext.c
	modified:   interface.c
	modified:   interface.h
	modified:   port.h
	modified:   todo.txt
2008-01-12 12:28:22 +01:00
Super User d2ffecef26 added filter options (gain, pipeline, blowfish) to interface configuration.
modified:   apppbx.cpp
	modified:   interface.c
	modified:   interface.h
	modified:   mISDN.cpp
	modified:   mISDN.h
	modified:   route.c
	modified:   todo.txt
2008-01-06 15:49:29 +01:00