aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/nbap
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2012-05-16 05:57:41 +0000
committerAnders Broman <anders.broman@ericsson.com>2012-05-16 05:57:41 +0000
commitce6e224b5be55c50f5c5948fc77c10db9dbda8b9 (patch)
treef38ae448ff1f4699034fb8c67f39df8df6acc007 /asn1/nbap
parent6a4b07bb5520560bf9179ee56a1be03471d1a38c (diff)
Bug fixes and add HSDSCH
svn path=/trunk/; revision=42649
Diffstat (limited to 'asn1/nbap')
-rw-r--r--asn1/nbap/nbap.cnf31
-rw-r--r--asn1/nbap/packet-nbap-template.c2
2 files changed, 20 insertions, 13 deletions
diff --git a/asn1/nbap/nbap.cnf b/asn1/nbap/nbap.cnf
index c9120aa805..e0346af0d6 100644
--- a/asn1/nbap/nbap.cnf
+++ b/asn1/nbap/nbap.cnf
@@ -491,9 +491,9 @@ guint32 payload_crc_value;
g_nbap_msg_info_for_fp.dch_crc_present = FALSE;
}
-##.FN_BODY DCH-ID VAL_PTR = &dch_id
+#.FN_BODY DCH-ID VAL_PTR = &t_dch_id
#%(DEFAULT_BODY)s
-# if(g_num_dch_in_flow>0);
+# if(g_num_dch_in_flow>0)
# g_dchs_in_flow_list[g_num_dch_in_flow-1]=dch_id;
#
# Only get the DCH-ID in this particularcase
@@ -505,6 +505,10 @@ guint32 payload_crc_value;
if(g_num_dch_in_flow>0)
g_dchs_in_flow_list[g_num_dch_in_flow-1]=dch_id;
+#.FN_BODY DCH-ModifySpecificItem-FDD/dCH-ID
+
+%(DEFAULT_BODY)s
+ dch_id = t_dch_id;
#.FN_BODY CommonPhysicalChannelID VAL_PTR = &commonphysicalchannelid
%(DEFAULT_BODY)s
@@ -601,12 +605,6 @@ guint32 NrOfTransportBlocks;
nbap_dch_chnl_info[dch_id].num_dl_chans++;
nbap_dch_chnl_info[dch_id].dl_chan_num_tbs[num_items-1] = NrOfTransportBlocks;
break;
- case CPCH:
- nbap_dch_chnl_info[dch_id].num_ul_chans++;
- nbap_dch_chnl_info[dch_id].ul_chan_num_tbs[num_items-1] = NrOfTransportBlocks;
- nbap_dch_chnl_info[dch_id].num_dl_chans++;
- nbap_dch_chnl_info[dch_id].dl_chan_num_tbs[num_items-1] = NrOfTransportBlocks;
- break;
default:
break;
}
@@ -625,10 +623,6 @@ guint32 TransportBlockSize;
case DCH_DL:
nbap_dch_chnl_info[dch_id].dl_chan_tf_size[num_items-1] = TransportBlockSize;
break;
- case CPCH:
- nbap_dch_chnl_info[dch_id].ul_chan_tf_size[num_items-1] = TransportBlockSize;
- nbap_dch_chnl_info[dch_id].dl_chan_tf_size[num_items-1] = TransportBlockSize;
- break;
default:
break;
}
@@ -743,6 +737,7 @@ BindingID_port = 0;
address dst_addr, null_addr;
conversation_t *conversation;
+umts_fp_conversation_info_t *umts_fp_conversation_info;
transportLayerAddress_ipv4 = 0;
BindingID_port = 0;
@@ -771,6 +766,18 @@ BindingID_port = 0;
/* Set dissector */
conversation_set_dissector(conversation, fp_handle);
+
+ if(actx->pinfo->link_dir==P2P_DIR_DL){
+ umts_fp_conversation_info = se_new0(umts_fp_conversation_info_t);
+ /* Fill in the HSDSCH relevant data */
+
+ umts_fp_conversation_info->iface_type = IuB_Interface;
+ umts_fp_conversation_info->division = Division_FDD;
+ umts_fp_conversation_info->channel = CHANNEL_HSDSCH;
+
+ umts_fp_conversation_info->hsdsch_entity = hs;
+ set_umts_fp_conv_data(conversation, umts_fp_conversation_info);
+ }
}
diff --git a/asn1/nbap/packet-nbap-template.c b/asn1/nbap/packet-nbap-template.c
index cf73008d62..aa40ff34a3 100644
--- a/asn1/nbap/packet-nbap-template.c
+++ b/asn1/nbap/packet-nbap-template.c
@@ -118,7 +118,7 @@ static guint32 ProcedureCode;
static guint32 ProtocolIE_ID;
static guint32 ddMode;
static const gchar *ProcedureID;
-static guint32 dch_id, commonphysicalchannelid, e_dch_macdflow_id, hsdsch_macdflow_id;
+static guint32 t_dch_id, dch_id, commonphysicalchannelid, e_dch_macdflow_id, hsdsch_macdflow_id;
static guint num_items;
enum TransportFormatSet_type_enum