Commit Graph

27 Commits

Author SHA1 Message Date
Andreas Eversberg 155d3b5a1d GSM: Fixes to GSM interface (multiple networks)
* Multiple network instances are now possible to attach multiple networks
* Early audio handling fixed
* Number type can be given from base station (setup / setup confirm)
* Equal callref for different GSM-MS instances are handled correctly
2017-07-26 08:39:44 +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 7f0d14c706 Cleanup: Make interface name be part of Port class 2012-12-16 10:11:46 +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 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
Harald Welte 0345a55ca7 MNCC: Re-connect to the MNCC socket if connection was lost 2011-02-20 11:33:28 +01:00
Harald Welte 2f9f37a911 GSM: Define mncc_send() as it is no longer available from OpenBSC headers 2011-02-20 11:33:07 +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 a12d7eee22 Splitted GSM support into BS (network) and MS (mobile) part. 2010-05-31 18:45:02 +02: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 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 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 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
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