Commit Graph

71 Commits

Author SHA1 Message Date
Andreas Eversberg ef0eddbfec Fixed 'earlyb' handling
mISDN-TE ports receive audio patterns by default again.
2012-01-19 09:14:58 +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 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 fc71648320 Fixed buffer overflow bug at pickup feature 2010-12-28 16:25:24 +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 108a0eb482 Adding forwarding of DTMF and keypad between peers
This is needed for peers that require DTMF messages, rather than tones:
- GSM mobile stations
- Asterisk channel API

	modified:   apppbx.cpp
	modified:   apppbx.h
2010-12-13 09:06:38 +01: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 5b5923141c Fixed forwarding of sending-complete information.
modified:   Makefile.in
	modified:   README
	modified:   action.cpp
	modified:   apppbx.cpp
2010-05-20 05:54:59 +02:00
Andreas Eversberg b33d7b898d fix last remnant of "extern" vs. incorrect "external" confusion, correct spelling
Patch against current git.

Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Andreas Eversberg <jolly@eversberg.eu>
2010-04-06 15:23:23 +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
Andreas Eversberg a1fb92f493 Fixed dialing of national or international number type. (Used for GSM) 2010-01-04 19:13:40 +01:00
Andreas Eversberg 3ac6881c22 Added keypad forwarding, keypad parameter, chan_lcr keypad option 'k'.
modified:   README
	modified:   action.cpp
	modified:   apppbx.cpp
	modified:   chan_lcr.c
	modified:   chan_lcr.h
	modified:   dss1.cpp
	modified:   joinpbx.cpp
	modified:   joinpbx.h
	modified:   message.h
	modified:   route.c
	modified:   route.h
2009-10-27 08:02:16 +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 2188efe2cc New Version 1.6
Fix of conference release bug.
Calls can now be forwarded during alerting phase via "*3#".

	modified:   README
	modified:   apppbx.cpp
	modified:   configure
	modified:   configure.ac
	new file:   default/openbsc.cfg
	modified:   dss1.cpp
	modified:   gsm.cpp
	modified:   joinpbx.cpp
2009-09-06 15:36:36 +02:00
Andreas Eversberg 063d622d53 Fixed disabling of DTMF using 'n' option of chan_lcr.
Please enter the commit message for your changes.
	modified:   README
	modified:   apppbx.cpp
	modified:   bchannel.c
	modified:   chan_lcr.c
	modified:   chan_lcr.h
2009-05-21 19:11:39 +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 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 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
Karsten Keil 08aad9a8c5 Fix lot of warnings 2008-09-02 02:02:11 +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 acc5e55f7f added more display info
fixed dtmf detection bug

	modified:   README
	modified:   apppbx.cpp
	modified:   dss1.cpp
	modified:   message.h
2008-07-03 19:08:37 +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 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 153bf9b2f4 work on chan_lcr 2008-05-19 19:39:39 +02:00
Super User 95a9a7f135 work on chan_lcr
modified:   action.cpp
	modified:   apppbx.cpp
	modified:   bchannel.c
	modified:   chan_lcr.c
	modified:   mISDN.cpp
	modified:   message.h
	modified:   route.c
	modified:   route.h
2008-05-18 09:23: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 d70150d047 work on chan_lcr:
call instance and asterisk channel instance creation and destruction process
please read the comments on the top of chan_lcr.

	modified:   apppbx.cpp
	modified:   chan_lcr.c
	modified:   chan_lcr.h
	modified:   message.h
2008-04-28 19:29:06 +02:00
Super User a130bdd9f6 struct message -> struct lcr_msg 2008-04-25 09:06: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 258c2e57a4 work on socket. (don't try yet)
modified:   Makefile
	modified:   apppbx.cpp
	modified:   bchannel.c
	modified:   dss1.cpp
	modified:   dss1.h
	modified:   mISDN.cpp
	modified:   mISDN.h
	deleted:    q931.h
	modified:   trace.h
2008-04-13 19:52:42 +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 a39754a92c fixed dialtone bug
modified:   apppbx.cpp
2008-03-22 15:38:04 +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 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
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
Super User 83477c7faf fixes, screen in and out works, fixed release problem in mISDNuser
modified:   Makefile
	modified:   README
	modified:   action.cpp
	modified:   apppbx.cpp
	modified:   apppbx.h
	modified:   dss1.cpp
	modified:   extension.c
	modified:   interface.c
	modified:   interface.h
	modified:   main.c
	modified:   port.cpp
	modified:   tones.c
	modified:   trace.c
	modified:   trace.h
2008-01-05 22:58:22 +01:00
Super User e01d4caa3e some fixes, check README
modified:   README
	modified:   action.cpp
	modified:   action_vbox.cpp
	modified:   admin_client.c
	modified:   admin_server.c
	modified:   apppbx.cpp
	modified:   apppbx.h
	modified:   dss1.cpp
	modified:   endpointapp.cpp
	modified:   endpointapp.h
	modified:   interface.c
	modified:   joinpbx.cpp
	modified:   joinremote.cpp
	modified:   mISDN.cpp
	modified:   main.h
	modified:   message.h
	modified:   port.cpp
	modified:   port.h
	modified:   todo.txt
	modified:   tones.c
2007-12-22 10:10:18 +01:00
Super User fe5641b200 some minor output fixes 2007-10-07 18:16:31 +02:00
Super User 2075e1ab39 fix by Martin: screening caller-ids with jokers shall work now. 2007-10-02 10:15:37 +02:00