Commit Graph

39 Commits

Author SHA1 Message Date
Andreas Eversberg bd2aa91302 chan_lcr: Select remote interface by chan_lcr
Usage: Dial(LCR/<interface>/<digits>/<options>)

The interface must match the interface name in interface.conf. If omitted,
the first remote interface is used.

Example:
Dial(LCR/ast/123) will send a call to LCR and select remote interface
'ast'.
Dial(LCR//123) will send a call to LCR and select the first remote
interface.

Now it is possible to have multiple remote interfaces.
2012-12-16 10:10:34 +01:00
Andreas Eversberg 04fc928a2c Implement 3PTY bridge of two 'join's. 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 c1f7899663 When socket to LCR is closed, the test call must be released 2012-03-25 17:08:00 +02: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 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 39a36cb99a Make LCR compile with latest osmocomBB code.
The libosmocore structure has changed.
2011-07-20 12:59:35 +02:00
Andreas Eversberg d5e639588d [gsm] Removed obsolete gsm.conf handling. Fixed minor compiling issues. 2011-02-20 17:34:24 +01:00
Andreas Eversberg b8ba879d97 [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)
2011-02-20 10:23:03 +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 f522af5539 Fixed API and incomming calls from Osmocom-BB.
Conflicts:

	Makefile.in
	configure
2010-07-21 12:12:23 +02:00
Andreas Eversberg afff70dcff Fixed call forwarding after no response. Instread of dialing the old extension
again, the forwarding number is dialed after timeout.

	modified:   apppbx.cpp
	modified:   apppbx.h
	modified:   socket_server.c
2010-06-15 08:29:23 +02:00
Andreas Eversberg a12d7eee22 Splitted GSM support into BS (network) and MS (mobile) part. 2010-05-31 18:45:02 +02:00
Andreas Eversberg be404a4926 Added Progress messages. (receive only) 2010-05-23 13:46:26 +02: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
Peter Schlaile 320159175a added owner / group options to options.conf
makes the usual setup LCR running as "root" and asterisk running as "asterisk"
easier to configure.
2009-10-08 10:36:06 +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 e9bfe48fc5 Source cleanup.
modified:   bootstrap.c
	modified:   cause.c
	modified:   crypt.cpp
	modified:   endpoint.cpp
	modified:   genext.c
	modified:   genrc.c
	modified:   gentones.c
	modified:   genwave.c
	modified:   ie.cpp
	modified:   join.cpp
	modified:   joinpbx.cpp
	modified:   joinremote.cpp
	modified:   lcradmin.c
	modified:   mail.c
	modified:   main.c
	modified:   message.c
	modified:   route.c
	modified:   socket_server.c
	modified:   tones.c
	modified:   trace.c
	modified:   vbox.cpp
2009-07-05 22:14:21 +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 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 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
Karsten Keil 08aad9a8c5 Fix lot of warnings 2008-09-02 02:02:11 +02:00
Andreas Eversberg b1ab2b9ac1 LCR now runs as a user.
You may change the path of socket and lock files.
LCR admin socket's flags can now be altered to allow access to other users.
Lock and socket files will now be removed when terminating LCR.

	modified:   Makefile
	modified:   chan_lcr.c
	modified:   default/options.conf
	modified:   lcradmin.c
	modified:   lcrsocket.h
	modified:   main.c
	modified:   options.c
	modified:   options.h
	modified:   socket_server.c
2008-08-30 08:24:52 +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
schlaile 507c264f37 don't treat it as a fatal socket error, when chan_lcr sends messages to an already released B-channel 2008-06-23 19:50:46 +02:00
Super User d2b113f2c4 changed long to int (64 bit system's compatibilty) 2008-06-14 08:34:50 +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
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 16488a0156 SOCKET BRANCH:
los,ais,rdi,slip
query works!
opening socket almost works :)
2008-05-02 21:19:06 +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 0b71471f0d socket work
modified:   Makefile
	modified:   ie.cpp
	modified:   mISDN.cpp
	modified:   socket_server.c
2008-04-14 07:45:07 +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 5ad4c41dc4 now gives warning if mISDN branch is wrong.
also some work on chan_lcr.

	modified:   Makefile
	modified:   apppbx.cpp
	modified:   bchannel.c
	modified:   chan_lcr.c
	modified:   chan_lcr.h
	modified:   dss1.cpp
	modified:   dss1.h
	modified:   extension.c
	modified:   extension.h
	modified:   genrc.c
	modified:   ie.cpp
	renamed:    admin_client.c -> lcradmin.c
	renamed:    admin.h -> lcrsocket.h
	modified:   mISDN.cpp
	modified:   main.h
	renamed:    admin_server.c -> socket_server.c
	renamed:    admin_server.h -> socket_server.h
	modified:   todo.txt
2008-02-03 13:47:33 +01:00