Commit Graph

44 Commits

Author SHA1 Message Date
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 e1e9da7d24 Allow dynamic RTP payload types when bridging between SIP and OpenBSC.
Because EFR/AMR/HR codecs use dynamic RTP payload types, it is essential
to forward the actual media types between endpoints too. These media
types are used for negotiation of codecs. A dynamic payload type is
used as given by remote peer. Locally generated payload types are used
when offering codecs to remote peer.
2012-02-17 15:38:54 +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 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 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 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
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
root 1acc11b02c Added patch by Kai Peter for completing screening indicator. Thanx for that!
modified:   README
	modified:   dss1.cpp
	modified:   message.h
2009-09-04 10:26:10 +02:00
Andreas Eversberg 6bf7c7f9db gsm improvements
code cleanup

	modified:   README
	modified:   action.cpp
	modified:   action_efi.cpp
	modified:   action_vbox.cpp
	modified:   alawulaw.c
	modified:   bchannel.c
	modified:   bootstrap.c
	modified:   callerid.c
	modified:   cause.c
	modified:   chan_lcr.c
	modified:   default/gsm.conf
	modified:   dss1.cpp
	modified:   gsm.cpp
	modified:   gsm.h
	modified:   gsm_conf.c
	modified:   message.h
2009-06-06 23:46:21 +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
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 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 44b6b77e68 fix and work
modified:   Makefile
	modified:   action.cpp
	modified:   bchannel.c
	modified:   chan_lcr.c
	modified:   extension.h
	modified:   joinpbx.cpp
	modified:   mISDN.cpp
	modified:   message.h
2008-05-25 16:12:20 +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 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 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 db6990e487 just backup. (partyline join/release jingle not tested yet, no sound yet) 2007-09-10 07:10:50 +02:00
Super User 55d06b7bc8 backup 2007-08-29 18:56:03 +02:00
Super User ce197cab91 backup 2007-08-26 15:23:58 +02:00
Super User b359d75e7d worked on asterisk application 2007-08-12 11:16:45 +02:00
Super User cbe9d412a3 added exporting/importing bchannel stacks to the remote application 2007-08-11 15:57:58 +02:00
Super User 0a0643e3a5 fixes, debugging for usleep problems. 2007-08-11 10:12:10 +02:00
Super User 701b046a45 unified socket application interface (for asterisk and maybe other apps)
bugfixes
2007-07-26 14:23:56 +02:00
Super User 5a22e57828 alpha phase is open, this means:
it compiles!
it runs!
it calls without known bug yet!

comments to jolly@eversberg.eu
2007-07-17 19:28:09 +02:00
Super User ef3fc1931a backup 2007-07-15 12:01:27 +02:00
Super User 3754d8f73f backup
compiles, runs, but not enough debugged
2007-07-07 17:13:20 +02:00
Super User e9daaa4ef7 backup 2007-06-27 08:23:50 +02:00
Super User 996f984d61 backup 2007-05-23 11:19:25 +02:00
Super User a17752d887 backup 2007-05-19 19:45:42 +02:00
Super User fd2045584f backup 2007-05-15 22:59:29 +02:00
Super User 559ff64e30 backup work 2007-05-09 07:39:20 +02:00
Super User 2ed0fee489 only for backup, still in coding state - no compile!!! 2007-05-06 15:54:52 +02:00