aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/abis_rsl.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2009-12-02 01:56:49 +0530
committerHarald Welte <laforge@gnumonks.org>2009-12-02 01:56:49 +0530
commit2c828991352f94c1be7d860d0d151f719c1ecc6f (patch)
tree9166b88e7a89619f08599ba4497197cc593f15dd /openbsc/src/abis_rsl.c
parenta43f789a0a124c322146280ab00935b75f505617 (diff)
move RTP socket information from timeslot to lchan
With ip.access, in case of TCH/H, we have one RTP stream for each half-slot (lchan), not just one per on-air timeslot. This is quite different from a classic BTS where the TRAU frames of the two TCH/H channels would be part of the same 16k sub-slot in a E1 timeslot.
Diffstat (limited to 'openbsc/src/abis_rsl.c')
-rw-r--r--openbsc/src/abis_rsl.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/openbsc/src/abis_rsl.c b/openbsc/src/abis_rsl.c
index 1d41d2b5d..e7be9baa4 100644
--- a/openbsc/src/abis_rsl.c
+++ b/openbsc/src/abis_rsl.c
@@ -1555,7 +1555,7 @@ static int abis_rsl_rx_ipacc_crcx_ack(struct msgb *msg)
{
struct abis_rsl_dchan_hdr *dh = msgb_l2(msg);
struct tlv_parsed tv;
- struct gsm_bts_trx_ts *ts = msg->lchan->ts;
+ struct gsm_lchan *lchan = msg->lchan;
struct in_addr ip;
u_int16_t port, attr_f8;
@@ -1578,16 +1578,16 @@ static int abis_rsl_rx_ipacc_crcx_ack(struct msgb *msg)
inet_ntoa(ip), ntohs(port), ntohs(attr_f8));
if (TLVP_PRESENT(&tv, RSL_IE_IPAC_RTP_PAYLOAD2)) {
- ts->abis_ip.rtp_payload2 =
+ lchan->abis_ip.rtp_payload2 =
*TLVP_VAL(&tv, RSL_IE_IPAC_RTP_PAYLOAD2);
DEBUGPC(DRSL, "RTP_PAYLOAD2=0x%02x ",
- ts->abis_ip.rtp_payload2);
+ lchan->abis_ip.rtp_payload2);
}
/* update our local information about this TS */
- ts->abis_ip.bound_ip = ntohl(ip.s_addr);
- ts->abis_ip.bound_port = ntohs(port);
- ts->abis_ip.conn_id = ntohs(attr_f8);
+ lchan->abis_ip.bound_ip = ntohl(ip.s_addr);
+ lchan->abis_ip.bound_port = ntohs(port);
+ lchan->abis_ip.conn_id = ntohs(attr_f8);
dispatch_signal(SS_ABISIP, S_ABISIP_CRCX_ACK, msg->lchan);