diff --git a/gprs_rlcmac.cpp b/gprs_rlcmac.cpp
index 5748411..76489b8 100644
--- a/gprs_rlcmac.cpp
+++ b/gprs_rlcmac.cpp
@@ -153,7 +153,7 @@
 	osmo_gsm_timer_schedule(&tbf->gsm_timer, frames);
 }
 
-void  write_packet_downlink_assignment(bitvec * dest, uint8_t tfi, uint32_t tlli)
+void  write_packet_downlink_assignment(bitvec * dest, uint8_t tfi, uint32_t tlli, uint8_t tn, uint8_t ta, uint8_t tsc)
 {
 	// TODO We should use our implementation of encode RLC/MAC Control messages.
 	unsigned wp = 0;
@@ -165,8 +165,9 @@
 	bitvec_write_field(dest, wp,0x0,2);  // Page Mode
 
 	bitvec_write_field(dest, wp,0x0,1); // switch PERSIST_LEVEL: off
-	bitvec_write_field(dest, wp,0x2,2); // switch TLLI   : on
-	bitvec_write_field(dest, wp,tlli,32); // TLLI
+	bitvec_write_field(dest, wp,0x0,1); // switch TFI : on
+	bitvec_write_field(dest, wp,0x0,1); // switch UPLINK TFI : on
+	bitvec_write_field(dest, wp,tfi-1,5); // TFI
 
 	bitvec_write_field(dest, wp,0x0,1); // Message escape
 	bitvec_write_field(dest, wp,0x0,2); // Medium Access Method: Dynamic Allocation
@@ -174,21 +175,17 @@
 
 	bitvec_write_field(dest, wp,0x0,1); // the network establishes no new downlink TBF for the mobile station
 	bitvec_write_field(dest, wp,0x1,8); // timeslot 7
-	bitvec_write_field(dest, wp,0x1,8); // TIMING_ADVANCE_INDEX
 
-	bitvec_write_field(dest, wp,0x0,1); // switch TIMING_ADVANCE_VALUE = off
-	bitvec_write_field(dest, wp,0x1,1); // switch TIMING_ADVANCE_INDEX = on
-	bitvec_write_field(dest, wp,0xC,4); // TIMING_ADVANCE_INDEX
-	bitvec_write_field(dest, wp,0x7,3); // TIMING_ADVANCE_TIMESLOT_NUMBER
+	bitvec_write_field(dest, wp,0x1,1); // switch TIMING_ADVANCE_VALUE = on
+	bitvec_write_field(dest, wp,ta,6); // TIMING_ADVANCE_VALUE
+	bitvec_write_field(dest, wp,0x0,1); // switch TIMING_ADVANCE_INDEX = off
 
 	bitvec_write_field(dest, wp,0x0,1); // switch POWER CONTROL = off
 	bitvec_write_field(dest, wp,0x1,1); // Frequency Parameters information elements = present
 
-	bitvec_write_field(dest, wp,0x2,3); // Training Sequence Code (TSC) = 2
-	bitvec_write_field(dest, wp,0x1,2); // Indirect encoding struct = present
-	bitvec_write_field(dest, wp,0x0,6); // MAIO
-	bitvec_write_field(dest, wp,0xE,4); // MA_Number
-	bitvec_write_field(dest, wp,0x8,4); // CHANGE_MARK_1 CHANGE_MARK_2
+	bitvec_write_field(dest, wp,tsc,3); // Training Sequence Code (TSC) = 2
+	bitvec_write_field(dest, wp,0x0,2); // ARFCN = present
+	bitvec_write_field(dest, wp,599,10); // ARFCN
 
 	bitvec_write_field(dest, wp,0x1,1); // switch TFI   : on
 	bitvec_write_field(dest, wp,tfi,5);// TFI
@@ -207,6 +204,7 @@
 
 	bitvec_write_field(dest, wp,0x0,1); // TBF Starting TIME IE not present
 	bitvec_write_field(dest, wp,0x0,1); // Measurement Mapping struct not present
+	bitvec_write_field(dest, wp,0x0,1);
 }
 
 void  write_packet_uplink_assignment(bitvec * dest, uint8_t tfi, uint32_t tlli)
@@ -404,6 +402,7 @@
 	bitvec_write_field(dest, wp,0x1,1);  // CONTENTION_RESOLUTION_TLLI = present
 	bitvec_write_field(dest, wp,tlli,8*4);
 	bitvec_write_field(dest, wp,0x00,4); //spare
+	bitvec_write_field(dest, wp,0x5,4); //0101
 }
 
 void gprs_rlcmac_tx_ul_ack(uint8_t tfi, uint32_t tlli, RlcMacUplinkDataBlock_t * ul_data_block)
