Commit Graph

45 Commits

Author SHA1 Message Date
Andreas Eversberg a3b269f357 Add support for TCH/H and half rate codec 2013-03-31 12:50:04 +02:00
Andreas Eversberg 9f48d53fc7 AMR codec support 2013-03-26 09:08:07 +01:00
Andreas Eversberg 9b2cabced4 Add AMR codec, for supporting EFR transcoding
The AMR codec is added, but at this point only EFR payload is
supported.
2013-03-14 09:58:31 +01:00
Andreas Eversberg 77d9102954 Add GSM full rate codec to LCR's source repository
There is no more need to download a seperate version of GSM full rate
(06.10) codec anymore.
2013-03-09 18:15:33 +01:00
Andreas Eversberg d3b4611440 Fix: Allow recording of audio for SIP/remote/GSM interfaces too 2012-12-16 10:11:47 +01:00
Andreas Eversberg 7f0d14c706 Cleanup: Make interface name be part of Port class 2012-12-16 10:11:46 +01:00
Andreas Eversberg 97fb04eee9 Added support for all GSM codecs to GSM and SIP interface
Untested!
2012-03-08 14:44:17 +01:00
Andreas Eversberg b3d8622de3 Removed obsolete #include directive. 2012-03-08 07:05:15 +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 57defecea8 GSM now receives tones during bridge
If a bridge is enabled, tones (e.g. hangup tone) will have priority
over the bridge. The bridge will continue to forward audio, after
tone is removed. (e.g after beeing on hold music)
2012-01-21 17:50:45 +01:00
Andreas Eversberg 1e778230b9 Adding handling of bad GSM audio frames
In this case the frame is dropped, but audio of the last frame is repeated
with a reduced level. The level is reduced again an again until a new
valid frame is received. This way there is no silent gap in the audio
stream.
2012-01-20 20:28:55 +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 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 41a0668da1 Fixed mncc.h for GSM. Audio works again with latest OpenBSC. 2011-10-02 08:52:13 +02: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 b6eb854786 Minor cosmetic fix of logging output 2011-08-10 21:51:46 +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
Harald Welte 336f157adc gsm tracing: as we no longer link with OpenBSC, we don't know the net name 2011-02-20 11:32:49 +01:00
Harald Welte d40eedaf16 Modify GSM BS (OpenBTS) to use unix domain socket based MNCC
Author:    Harald Welte <laforge@gnumonks.org>
2011-02-20 11:30:27 +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 8a4387be03 Completed GSM mobile station support with OsmocomBB
OsmocomBB stack can now be attached to LCRl
2010-12-13 09:06:49 +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 a12d7eee22 Splitted GSM support into BS (network) and MS (mobile) part. 2010-05-31 18:45:02 +02:00
Andreas Eversberg 0f805e041a Fixed LCR to work with the current API of OpenBSC.
modified:   Makefile.am
	modified:   Makefile.in
	modified:   README
	modified:   gsm.cpp
2010-05-31 08:44:30 +02:00
Andreas Eversberg e960c8cb52 Bugreport by Christian:
gsm.cpp: In member function .void Pgsm::bchannel_send(unsigned int,
unsigned int, unsigned char*, int).:
gsm.cpp:249: error: overloaded function with no contextual type
information
make[1]: *** [gsm.o] Error 1

I hope that this will fix the compiler problem.
2010-03-23 09:42:54 +01:00
Andreas Eversberg 2732c3ce40 Fixed output problems of error messages while parsing options.conf / gsm.conf.
modified:   Makefile.in
	modified:   bchannel.c
	modified:   chan_lcr.c
	modified:   genext.c
	modified:   gsm.cpp
	modified:   gsm.h
	modified:   gsm_conf.c
	modified:   lcradmin.c
	modified:   main.c
	modified:   options.c
	modified:   options.h
2010-03-17 08:31:07 +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 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 a7b3d18e62 Notifies are now received from GSM phones. 2010-01-04 19:19:12 +01:00
Andreas Eversberg eb47421a20 Harald provided us with this fix for the current OpenBSC API.
debug_target arg is required for debug parsing.
2010-01-04 19:17:27 +01:00
Andreas Eversberg a45be9ac6f Fixed some minor bug. Also fixed problem with double setup for internal extensions.
modified:   gsm.cpp
	modified:   joinpbx.cpp
	modified:   ss5.cpp
2009-12-25 14:38:42 +01:00
Andreas Eversberg bf2fefbfd5 Make LCR run with OpenBSC main branch.
modified:   default/gsm.conf
	modified:   gsm.cpp
	modified:   gsm_conf.c
2009-12-20 22:12:01 +01:00
Andreas Eversberg ab670ecfdc Make LCR work with the current openbsc lcr_rtp branch. (soon merged with master branch)
Minor fix in ss5.cpp.
2009-12-20 18:55:03 +01: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
root cf1ea15cc3 LCR now compiles with current version of OpenBSC.
No more patch is required, just link openbsc directory to LCR source directory and run "configure":
cd lcr
ln -s path_to_openbsc/openbsc .

	modified:   Makefile.am
	modified:   Makefile.in
	deleted:    bootstrap.c
	deleted:    bootstrap.h
	modified:   configure
	modified:   configure.ac
	modified:   default/gsm.conf
	modified:   gsm.cpp
	modified:   gsm.h
	modified:   gsm_conf.c
2009-08-23 14:58:21 +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
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 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 610b98487d OpenBSC API change.
modified:   README
	modified:   bootstrap.c
	modified:   bootstrap.h
	modified:   default/gsm.conf
	modified:   gsm.cpp
	modified:   gsm_conf.c
2009-05-21 13:24:38 +02:00
Andreas Eversberg 2490abbec4 - Debug option now works for GSM.
- Fixed some GSM information elements.

	modified:   README
	modified:   default/interface.conf
	modified:   gsm.cpp
2009-05-17 16:06:26 +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