Dear group members,
I would like to ask you a question regarding the timeouts and
initiating/allocating an SDCCH channel for a subscriber inside of the
GSM network. I am trying to modify some parts of OpenBSC
(/openbsc/src/libmsc/rrlp.c) and to implement the MS-based RRLP in
OpenBSC (to send assistance data in form of almanac, ephemeris, BTS
geolocation data and GPS reference time to the MS).
At the moment I use the silent sms to start an RRLP request (send RRLP
request + assistance data and then send the silent sms). But if it
takes too long to send the assistance data OpenBSC starts from the
beginning (send rrlp request + assistance data + sms again). I think
this is because OpenBSC waits for an ack from the MS for the silent
sms (which has not been sent) and therefore it's a timeout issue. As a
quick hack I have modified parts of the code and got the RRLP to work
(sent successfully these data and I got a position from the MS).
Just for the curious one, I commented out three lines just before the
return, in /openbsc/src/libmsc/gsm_04_11.c in the function,
gsm411_rx_rp_ack, the following lines:
//else
//gsm411_release_conn(trans->conn);
/* free the transaction here */
//trans_free(trans);
and I changed one timer value from 10 to 100, in
/openbsc/src/libbsc/bsc_rll.c in the function, rll_establish to:
osmo_timer_schedule(&rllr->timer, 100, 0);.
As I know what I did was wrong (since changing the timers and not
releasing the channel properly influences the whole system) but I just
did it for the purpose of testing and to see do I send correct data
and does the RRLP work at all.
I hope you can give me some hints and guides how to allocate a channel
for around 130 seconds and to send the RRLP assistance data within
that channel without doing the above tricks. Once everything works
properly I will provide the RRLP code.
Best regards,
Refik Hadzialic
Show replies by date