diff options
Diffstat (limited to 'asn1/ansi_tcap/ansi_tcap.cnf')
-rw-r--r-- | asn1/ansi_tcap/ansi_tcap.cnf | 146 |
1 files changed, 146 insertions, 0 deletions
diff --git a/asn1/ansi_tcap/ansi_tcap.cnf b/asn1/ansi_tcap/ansi_tcap.cnf new file mode 100644 index 0000000000..a5daa64f8a --- /dev/null +++ b/asn1/ansi_tcap/ansi_tcap.cnf @@ -0,0 +1,146 @@ +# tcap.cnf +# $Id$ +# tcap conformation file + +#.OMIT_ASSIGNMENT +# Removed as they are giving 'defined but not used' warnings currently. +Priority +#.END + +#--- OperationCode --- + +#.FN_PARS +OperationCode VAL_PTR = &ansi_tcap_private.d.OperationCode +OperationCode/national VAL_PTR = &ansi_tcap_private.d.OperationCode_national +OperationCode/private VAL_PTR = &ansi_tcap_private.d.OperationCode_private +#.FN_FTR OperationCode + ansi_tcap_private.d.OperationCode_item = actx->created_item; +#.END + +#--- INVOKE --- +#.FIELD_ATTR +Invoke/parameter TYPE = FT_BYTES DISPLAY = BASE_NONE + +#.FN_BODY Invoke/parameter +tvbuff_t *parameter_tvb; + + offset = dissect_ber_octet_string(TRUE, actx, tree, tvb, offset, hf_index, + ¶meter_tvb); + if(!parameter_tvb) + return offset; + + find_tcap_subdissector(parameter_tvb, actx, tree); + +#.FN_HDR Invoke + ansi_tcap_private.d.pdu = 1; + +#--- RETURN RESULT --- + +#.FIELD_ATTR +ReturnResult/parameter TYPE = FT_BYTES DISPLAY = BASE_NONE + +#.FN_BODY ReturnResult/parameter +tvbuff_t *parameter_tvb; + + + offset = dissect_ber_octet_string(TRUE, actx, tree, tvb, offset, hf_index, + ¶meter_tvb); + if(!parameter_tvb) + return offset; + + find_tcap_subdissector(parameter_tvb, actx, tree); + +#.FN_HDR ReturnResult + ansi_tcap_private.d.pdu = 2; + + +#--- RETURN ERROR --- + +#.FIELD_ATTR +ReturnError/parameter TYPE = FT_BYTES DISPLAY = BASE_NONE + +#.FN_BODY ReturnError/parameter +tvbuff_t *parameter_tvb; + + offset = dissect_ber_octet_string(TRUE, actx, tree, tvb, offset, hf_index, + ¶meter_tvb); + if(!parameter_tvb) + return offset; + + find_tcap_subdissector(parameter_tvb, actx, tree); + +#.FN_HDR ReturnError + ansi_tcap_private.d.pdu = 3; + +#--- ObjectIDApplicationContext -- +#.FN_BODY ObjectIDApplicationContext FN_VARIANT = _str VAL_PTR = &oid_str + + static const char * oid_str; + + %(DEFAULT_BODY)s + ansi_tcap_private.objectApplicationId_oid= (void*) oid_str; + ansi_tcap_private.oid_is_present=TRUE; + +#.FN_HDR PackageType/unidirectional +gp_tcapsrt_info->ope=TC_ANSI_ALL; +if (check_col(actx->pinfo->cinfo, COL_INFO)) + col_set_str(actx->pinfo->cinfo, COL_INFO, "unidirectional "); + +#.FN_HDR PackageType/queryWithPerm +gp_tcapsrt_info->ope=TC_ANSI_ALL; +if (check_col(actx->pinfo->cinfo, COL_INFO)) + col_set_str(actx->pinfo->cinfo, COL_INFO, "queryWithPerm "); + +#.FN_HDR PackageType/queryWithoutPerm +gp_tcapsrt_info->ope=TC_ANSI_ALL; +if (check_col(actx->pinfo->cinfo, COL_INFO)) + col_set_str(actx->pinfo->cinfo, COL_INFO, "queryWithoutPerm "); + +#.FN_HDR PackageType/response +gp_tcapsrt_info->ope=TC_ANSI_ALL; +if (check_col(actx->pinfo->cinfo, COL_INFO)) + col_set_str(actx->pinfo->cinfo, COL_INFO, "response "); + +#.FN_HDR PackageType/conversationWithPerm +gp_tcapsrt_info->ope=TC_ANSI_ALL; +if (check_col(actx->pinfo->cinfo, COL_INFO)) + col_set_str(actx->pinfo->cinfo, COL_INFO, "conversationWithPerm "); + +#.FN_HDR PackageType/conversationWithoutPerm +gp_tcapsrt_info->ope=TC_ANSI_ALL; +if (check_col(actx->pinfo->cinfo, COL_INFO)) + col_set_str(actx->pinfo->cinfo, COL_INFO, "conversationWithoutPerm "); + +#.FN_HDR PackageType/abort +gp_tcapsrt_info->ope=TC_ANSI_ABORT; +if (check_col(actx->pinfo->cinfo, COL_INFO)) + col_set_str(actx->pinfo->cinfo, COL_INFO, "Abort "); + +#.FN_BODY TransactionID/_untag VAL_PTR = &next_tvb + +tvbuff_t *next_tvb; +guint8 len; + +%(DEFAULT_BODY)s + +if(next_tvb) { + if(tvb_length(next_tvb) !=0) + ansi_tcap_private.TransactionID_str = tvb_bytes_to_str(next_tvb, 0,tvb_length(next_tvb)); + len = tvb_length_remaining(next_tvb, 0); + switch(len) { + case 1: + gp_tcapsrt_info->src_tid=tvb_get_guint8(next_tvb, 0); + break; + case 2: + gp_tcapsrt_info->src_tid=tvb_get_ntohs(next_tvb, 0); + break; + case 4: + gp_tcapsrt_info->src_tid=tvb_get_ntohl(next_tvb, 0); + break; + default: + gp_tcapsrt_info->src_tid=0; + break; + } +} + +#.END |