Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2009-12-20 | fix compiler warning and coding style in rtp_proxy | Harald Welte | 1 | -2/+3 | |
2009-12-20 | [handover] implement TCH RTP stream handover | Harald Welte | 1 | -1/+69 | |
This patch takes care of handling the RTP streams / sockets during an in-call handover from one BTS to another BTS. It only works in combination with rtp_proxy mode. | |||||
2009-12-20 | rename ipacc_connect_proxy_bind() to rsl_ipacc_mdcx_to_rtpsock() | Harald Welte | 3 | -17/+18 | |
Our RTP sockets are no longer just for the proxy mode, so having "proxy" in the function name is really misleading. | |||||
2009-12-20 | Move RTP socket handling out of signal handlers into abis_rsl | Harald Welte | 2 | -26/+33 | |
This is not really nice, but we will soon have multiple users of the CRCX / MDCX / DLCX signals, and we cannot guarantee the ordering of them. So as a workaround, we move the RTP socket creation and deletion into the core abis_rsl codebase. | |||||
2009-12-20 | don't enable handover unless RTP Proxy is enabled | Harald Welte | 1 | -0/+6 | |
We cannot support in-call handover of calls without a RTP proxy, since at the time of the handover the SSRC, sequence number and timestamp of the RTP frames change. | |||||
2009-12-20 | Introduce new MNCC based proxy mode | Harald Welte | 1 | -4/+59 | |
Since the MNCC API can now send and receive frames to/from the MNCC application, we can also implement a proxy this way. Not at the RTP/UDP packet level, but at the 'TCH speech frame' level. Especially for handover, we need this mode as the receiver in the BTS needs a persistent SSRC and monotonic frame numbers / timestamps. | |||||
2009-12-20 | remove hand full of 'extern ipacc_rtp_direct' definitions | Harald Welte | 4 | -4/+1 | |
and instead declare it in gsm_data.h | |||||
2009-12-20 | RTP Proxy: Fix RTP sequence number and timestamp in case of dropped frames | Harald Welte | 2 | -0/+36 | |
During handover, we will not send RTP frames for quite some time. However, the way the rtp_send code is structured, it will increment the timestamp with a fixed amount every time we send a frame, independent how much wallclock time has actually passed. This code is a hack to update the sequence number and timestamp in case it seems to be wrong. It makes handover much more reliable. | |||||
2009-12-20 | add FIXME to IMSI DETACH INDICATION: we need to release all transactions | Harald Welte | 1 | -0/+3 | |
2009-12-20 | fix segfault in rrlp code in case of unsuccessful paging | Harald Welte | 1 | -0/+4 | |
PAGING_COMPLETED can be signalled without an active lchan in case it was unable to page the repsective subscriber. | |||||
2009-12-20 | handover: disable default-printing of every measurement report | Harald Welte | 1 | -1/+1 | |
2009-12-20 | handover: no debug message for ever non-handover measurement report | Harald Welte | 1 | -3/+1 | |
2009-12-20 | handover: don't create negative lchan use counts | Harald Welte | 1 | -3/+0 | |
trans_lchan_change() takes care of use counts for us. | |||||
2009-12-19 | Add RTP support for EFR | Harald Welte | 3 | -1/+11 | |
This is just the minimal support to receive and send EFR codec RTP frames. We are missing the code to convert TRAU frames in EFR format! | |||||
2009-12-19 | RTP-enable MNCC API for LCR + ip.access | Harald Welte | 7 | -52/+409 | |
Instead of passing TRAU frames down the MNCC API to the call control application like MNCC, we now decode the TRAU frame into the actual codec frame. We do the same with the RTP packets in case of ip.access and thus have a unified format of passing codec data from the BTS to an application, independent of the BTS type. This is only implemented for V1 full-rate at the moment, and needs to be fixed. | |||||
2009-12-19 | [handover] add VTY parameter to enable/disable handover | Harald Welte | 3 | -7/+28 | |
2009-12-19 | [handover] don't use measurement reports with NCELL=7 | Harald Welte | 1 | -0/+3 | |
NCELL=7 inidicates that there was no neighbor cell info in the SI5 on the SACCH. | |||||
2009-12-19 | system_information: DEBUGP() SI13/5/6 during startup | Harald Welte | 1 | -12/+12 | |
2009-12-19 | system_information: ip.access wants L2_PLEN, BS-11 doesn't | Harald Welte | 1 | -7/+20 | |
It seems that depending on the manufacturer, there is a need to include the L2 pseudo-length in the SI5+SI6 messasges (SACCH FILLING) Thanks to Dieter for pointing this out. | |||||
2009-12-19 | don't print measurement reports that have no cells | Harald Welte | 1 | -0/+2 | |
2009-12-19 | measurement report parsing: NO-NCELL-M of 7 tells us no neighbors | Harald Welte | 1 | -1/+1 | |
2009-12-19 | ip.access: Keep a full copy of local and remote IP/PORT in lchan | Harald Welte | 6 | -54/+96 | |
Keeping all parameters for each RTP connection in the abis_ip member of lchan will help us with actual TCH handover later on. | |||||
2009-12-19 | add --help message about --rtp-proxy argument | Harald Welte | 1 | -0/+1 | |
2009-12-19 | Never allocate transaction ID 7 | Sylvain Munaut | 1 | -1/+1 | |
According to GSM 04.07 11.2.3.1.3 , TID 7 is "reserved for future extensions". Signed-off-by: Sylvain Munaut <tnt@246tNt.com> | |||||
2009-12-19 | Fix subscr ref leak for multi CM SERV REQ | Sylvain Munaut | 1 | -1/+3 | |
Multiple CM SERVICE REQUEST can happen on a single RR connection, in this case, since the subscr reference is tracked through lchan->subscr and will only be put'd once on lchan_free, we need to make sure we don't get several reference .... Signed-off-by: Sylvain Munaut <tnt@246tNt.com> | |||||
2009-12-19 | Use 'new' rather than 'unknown' when starting transaction | Sylvain Munaut | 1 | -1/+1 | |
'unknown' has a negative connotation for a case that's totally normal so refer to it as 'new' so it doesn't sound like a problem. Signed-off-by: Sylvain Munaut <tnt@246tNt.com> | |||||
2009-12-19 | Fix transaction_id displayed in debug message | Sylvain Munaut | 1 | -1/+1 | |
In SMS debug messages, we always display the transaction ID as if we were 'sending' the message. Signed-off-by: Sylvain Munaut <tnt@246tNt.com> | |||||
2009-12-19 | Fix typos in debug message / comments | Sylvain Munaut | 1 | -1/+1 | |
Signed-off-by: Sylvain Munaut <tnt@246tNt.com> | |||||
2009-12-18 | [handover] lchan use count handling in case of trans_lchan_change() | Harald Welte | 1 | -0/+5 | |
2009-12-18 | remove call_handling.h, a reminescent of old days | Harald Welte | 1 | -64/+0 | |
2009-12-18 | [handover]: make sure the new lchan keeps the subscriber pointer of the old ↵ | Harald Welte | 1 | -5/+6 | |
lchan also, ensure that we don't print debug messages about handover in non-handover channel activation cases. | |||||
2009-12-18 | handover: use correct handover lookup function | Harald Welte | 1 | -1/+1 | |
2009-12-18 | for now we only do handover of TCH channels | Harald Welte | 1 | -0/+9 | |
2009-12-18 | fix segfault in case of handover timer expiration | Harald Welte | 1 | -0/+1 | |
2009-12-17 | add handover.h file to Makefile.am to make distcheck happy | Harald Welte | 1 | -1/+1 | |
2009-12-17 | logging: introduce log levels at caller site | Harald Welte | 16 | -102/+140 | |
This introduces a new LOGP() macro together with LOGL_* definition to support multiple log levels (severities) throughout the codebase. Please note that the actual logging system does not use them yet, in this patch we simply introduce the new macros at the caller site. | |||||
2009-12-17 | don't try multiple concurrent handovers for 1 channel | Harald Welte | 1 | -0/+5 | |
2009-12-17 | [vty] ensure we mark fd in writefd once we vty_out() something | Harald Welte | 1 | -0/+2 | |
2009-12-17 | call trans_lchan_change() from ho_gsm48_ho_compl() | Harald Welte | 1 | -0/+3 | |
2009-12-17 | introduce trans_lchan_change() to update transaction about lchan change | Harald Welte | 2 | -0/+24 | |
2009-12-17 | [handover] first functional handover implementation | Harald Welte | 10 | -9/+164 | |
With this commit, we can successfully hand over a channel from one cell to another cell. We implement asynchronous intra-BSC (but inter-BTS) handover. Changes: * introduce new DHO log category * extend rsl_chan_activate_lchan() with argument for HO reference * introduce actual minimal handover decision making in handover_decision.c * various fixes to bsc_handover_start() in handover_logic.c | |||||
2009-12-17 | make handover reference a function call argument | Harald Welte | 2 | -6/+7 | |
2009-12-16 | assign measurement report lchan member after memset'ing it | Harald Welte | 1 | -0/+1 | |
2009-12-16 | measurement report: correctly parse BSIC of first neighbor cell | Harald Welte | 1 | -1/+1 | |
2009-12-16 | ip.access: Keep OML/RSL up/down state per-bts for multi-BTS setups | Harald Welte | 2 | -7/+7 | |
2009-12-16 | print measurement reports more verbosely | Harald Welte | 1 | -3/+11 | |
2009-12-16 | 04.08: fix off-by-one error while parsing measurement results | Harald Welte | 1 | -19/+19 | |
2009-12-16 | fix bug in bitvec resulting in all bits being set to 0xff | Harald Welte | 1 | -3/+3 | |
2009-12-16 | [system_information] Print more debugging about what's going on | Harald Welte | 2 | -11/+26 | |
2009-12-15 | mroe comments on meas_rep data structures | Harald Welte | 1 | -0/+5 | |