diff options
author | Harald Welte <laforge@gnumonks.org> | 2009-12-02 01:56:49 +0530 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2009-12-06 04:05:31 +0100 |
commit | ec7be0c969faee601ae9cb96ceba8add29fc0eb7 (patch) | |
tree | 22cb6d5e770d052df26124700715b7851a4db69a /openbsc/src/abis_rsl.c | |
parent | 9be3347601c4b3b600435ce11ad44843608dace7 (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.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/openbsc/src/abis_rsl.c b/openbsc/src/abis_rsl.c index 87b7db8fb..2ada2ac1e 100644 --- a/openbsc/src/abis_rsl.c +++ b/openbsc/src/abis_rsl.c @@ -1472,7 +1472,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; @@ -1495,16 +1495,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); |