forked from osmocom/wireshark
ISUP - Export functions used by INAP and Camel
Gsmmap - Export asn1 structs used by Camel Camel - Use functions from GSMMAp and ISUP INAP - Rewrite of the asn1 code to correspond more to CS1 data types Let ISUP and Q931 dissect apropriate stuff. svn path=/trunk/; revision=16624
This commit is contained in:
parent
37df4d6886
commit
f082fe8ecf
|
@ -440,10 +440,11 @@ BCSM-Failure ::= SEQUENCE {
|
|||
-- locally refd 2 times, import refd 0 times
|
||||
BearerCapability ::= CHOICE
|
||||
{
|
||||
bearerCap [0]
|
||||
|
||||
OCTET STRING (SIZE (2..cAPSpecificBoundSetmaxBearerCapabilityLength ))
|
||||
bearerCap [0] BearerCap
|
||||
}
|
||||
|
||||
BearerCap ::= OCTET STRING (SIZE (2..cAPSpecificBoundSetmaxBearerCapabilityLength ))
|
||||
|
||||
-- Indicates the type of bearer capability connection to the user. For bearerCap, the ISUP User
|
||||
-- Service Information, ETSI EN 300 356-1 [23]
|
||||
-- encoding shall be used.
|
||||
|
|
|
@ -216,6 +216,67 @@ tvbuff_t *parameter_tvb;
|
|||
|
||||
return 7; /* 7 octets eaten*/
|
||||
|
||||
#.FN_PARS BearerCap
|
||||
|
||||
VAL_PTR = ¶meter_tvb
|
||||
|
||||
#.FN_BODY BearerCap
|
||||
|
||||
tvbuff_t *parameter_tvb;
|
||||
|
||||
%(DEFAULT_BODY)s
|
||||
|
||||
if (!parameter_tvb)
|
||||
return offset;
|
||||
|
||||
dissect_q931_bearer_capability_ie(parameter_tvb, 0, tvb_length_remaining(parameter_tvb,0), tree);
|
||||
|
||||
#.FN_PARS RedirectionInformation
|
||||
|
||||
VAL_PTR = ¶meter_tvb
|
||||
|
||||
#.FN_BODY RedirectionInformation
|
||||
|
||||
tvbuff_t *parameter_tvb;
|
||||
|
||||
%(DEFAULT_BODY)s
|
||||
|
||||
if (!parameter_tvb)
|
||||
return offset;
|
||||
|
||||
dissect_isup_redirection_information_parameter(parameter_tvb, tree, NULL);
|
||||
|
||||
#.FN_PARS OriginalCalledPartyID
|
||||
|
||||
VAL_PTR = ¶meter_tvb
|
||||
|
||||
#.FN_BODY OriginalCalledPartyID
|
||||
|
||||
tvbuff_t *parameter_tvb;
|
||||
|
||||
%(DEFAULT_BODY)s
|
||||
|
||||
if (!parameter_tvb)
|
||||
return offset;
|
||||
dissect_isup_original_called_number_parameter(parameter_tvb, tree, NULL);
|
||||
|
||||
#.FN_PARS RedirectingPartyID
|
||||
|
||||
VAL_PTR = ¶meter_tvb
|
||||
|
||||
#.FN_BODY RedirectingPartyID
|
||||
|
||||
tvbuff_t *parameter_tvb;
|
||||
|
||||
%(DEFAULT_BODY)s
|
||||
|
||||
if (!parameter_tvb)
|
||||
return offset;
|
||||
dissect_isup_redirecting_number_parameter(parameter_tvb, tree, NULL);
|
||||
|
||||
|
||||
#.TYPE_ATTR
|
||||
CallingPartysCategory TYPE = FT_UINT16 DISPLAY = BASE_DEC STRINGS = VALS(isup_calling_partys_category_value)
|
||||
|
||||
#.END
|
||||
|
||||
|
|
|
@ -1,11 +1,27 @@
|
|||
#.IMPORT_TAG
|
||||
SupportedCamelPhases BER_CLASS_UNI BER_UNI_TAG_BITSTRING
|
||||
ISDN-AddressString BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
|
||||
QoS-Subscribed BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
|
||||
Ext-QoS-Subscribed BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
|
||||
Ext2-QoS-Subscribed BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
|
||||
LSAIdentity BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
|
||||
SS-Status BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
|
||||
CUG-Info BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
|
||||
CUG-Index BER_CLASS_UNI BER_UNI_TAG_INTEGER
|
||||
CUG-Interlock BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
|
||||
NotificationToMSUser BER_CLASS_UNI BER_UNI_TAG_ENUMERATED
|
||||
AlertingPattern BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
|
||||
IMSI BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
|
||||
IMEI BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
|
||||
LCSClientExternalID BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
|
||||
LCSServiceTypeID BER_CLASS_UNI BER_UNI_TAG_INTEGER
|
||||
CellGlobalIdOrServiceAreaIdFixedLength BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
|
||||
LocationInformation BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
|
||||
RAIdentity BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
|
||||
GeographicalInformation BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
|
||||
SubscriberState BER_CLASS_ANY/*choice*/ -1/*choice*/
|
||||
GPRSChargingID BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
|
||||
UU-Data BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
|
||||
RegisterSS-Arg BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
|
||||
SS-Info BER_CLASS_ANY/*choice*/ -1/*choice*/
|
||||
InterrogateSS-Res BER_CLASS_ANY/*choice*/ -1/*choice*/
|
||||
|
@ -20,9 +36,12 @@ CurrentPassword BER_CLASS_UNI BER_UNI_TAG_NumericString
|
|||
RegisterCC-EntryRes BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
|
||||
EraseCC-EntryArg BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
|
||||
EraseCC-EntryRes BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
|
||||
MS-Classmark2 BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
|
||||
OfferedCamel4Functionalities BER_CLASS_UNI BER_UNI_TAG_BITSTRING
|
||||
SS-ForBS-Code BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
|
||||
CCBS-Feature BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
|
||||
AgeOfLocationInformation BER_CLASS_UNI BER_UNI_TAG_INTEGER
|
||||
Ext-BasicServiceCode BER_CLASS_ANY/*choice*/ -1/*choice*/
|
||||
AddressString BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
|
||||
ISDN-SubaddressString BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
|
||||
GSN-Address BER_CLASS_UNI BER_UNI_TAG_OCTETSTRING
|
||||
|
@ -43,13 +62,29 @@ ExtensionContainer BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
|
|||
#.END
|
||||
|
||||
#.TYPE_ATTR
|
||||
SupportedCamelPhases TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
|
||||
ISDN-AddressString TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
|
||||
QoS-Subscribed TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
|
||||
Ext-QoS-Subscribed TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
|
||||
Ext2-QoS-Subscribed TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
|
||||
LSAIdentity TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
|
||||
SS-Status TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
|
||||
CUG-Info TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
|
||||
CUG-Index TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
|
||||
CUG-Interlock TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
|
||||
NotificationToMSUser TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(gsm_map_NotificationToMSUser_vals) BITMASK = 0
|
||||
AlertingPattern TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
|
||||
IMSI TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
|
||||
IMEI TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
|
||||
LCSClientExternalID TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
|
||||
LCSServiceTypeID TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
|
||||
CellGlobalIdOrServiceAreaIdFixedLength TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
|
||||
LocationInformation TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
|
||||
RAIdentity TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
|
||||
GeographicalInformation TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
|
||||
SubscriberState TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(gsm_map_SubscriberState_vals) BITMASK = 0
|
||||
GPRSChargingID TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
|
||||
UU-Data TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
|
||||
RegisterSS-Arg TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
|
||||
SS-Info TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(gsm_map_SS_Info_vals) BITMASK = 0
|
||||
InterrogateSS-Res TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(gsm_map_InterrogateSS_Res_vals) BITMASK = 0
|
||||
|
@ -64,9 +99,12 @@ CurrentPassword TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL
|
|||
RegisterCC-EntryRes TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
|
||||
EraseCC-EntryArg TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
|
||||
EraseCC-EntryRes TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
|
||||
MS-Classmark2 TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
|
||||
OfferedCamel4Functionalities TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
|
||||
SS-ForBS-Code TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
|
||||
CCBS-Feature TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
|
||||
AgeOfLocationInformation TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
|
||||
Ext-BasicServiceCode TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(gsm_map_Ext_BasicServiceCode_vals) BITMASK = 0
|
||||
AddressString TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
|
||||
ISDN-SubaddressString TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
|
||||
GSN-Address TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
|
||||
|
|
2025
asn1/inap/inap.asn
2025
asn1/inap/inap.asn
File diff suppressed because it is too large
Load Diff
|
@ -17,35 +17,95 @@
|
|||
|
||||
#.FIELD_RENAME
|
||||
|
||||
#.FN_BODY Connectarg/redirectingPartyIDXX
|
||||
#.FN_PARS CalledPartyNumber
|
||||
VAL_PTR = ¶meter_tvb
|
||||
|
||||
proto_item* parameter_item;
|
||||
guint8 class;
|
||||
gboolean pc, ind;
|
||||
guint32 tag;
|
||||
guint32 len;
|
||||
tvbuff_t *cgpn_tvb;
|
||||
#.FN_BODY CalledPartyNumber
|
||||
tvbuff_t *parameter_tvb;
|
||||
|
||||
offset = dissect_ber_identifier(pinfo, tree, tvb, offset, &class, &pc, &tag);
|
||||
offset = dissect_ber_length(pinfo, tree, tvb, offset, &len, &ind);
|
||||
cgpn_tvb = tvb_new_subset(tvb, 2, len, len );
|
||||
parameter_item = proto_tree_add_text(tree, cgpn_tvb, offset,-1,"");
|
||||
dissect_isup_called_party_number_parameter(cgpn_tvb, tree, parameter_item);
|
||||
offset+=len;
|
||||
%(DEFAULT_BODY)s
|
||||
|
||||
if (!parameter_tvb)
|
||||
return offset;
|
||||
|
||||
dissect_isup_called_party_number_parameter(parameter_tvb, tree, NULL);
|
||||
|
||||
#.FN_PARS CallingPartyNumber
|
||||
|
||||
VAL_PTR = ¶meter_tvb
|
||||
|
||||
#.FN_BODY CallingPartyNumber
|
||||
tvbuff_t *parameter_tvb;
|
||||
|
||||
%(DEFAULT_BODY)s
|
||||
|
||||
if (!parameter_tvb)
|
||||
return offset;
|
||||
|
||||
dissect_isup_calling_party_number_parameter(parameter_tvb, tree, NULL);
|
||||
|
||||
|
||||
#.FN_PARS BearerCap
|
||||
|
||||
VAL_PTR = ¶meter_tvb
|
||||
|
||||
#.FN_BODY BearerCap
|
||||
|
||||
tvbuff_t *parameter_tvb;
|
||||
|
||||
%(DEFAULT_BODY)s
|
||||
|
||||
if (!parameter_tvb)
|
||||
return offset;
|
||||
|
||||
dissect_q931_bearer_capability_ie(parameter_tvb, 0, tvb_length_remaining(parameter_tvb,0), tree);
|
||||
|
||||
#.FN_PARS RedirectionInformation
|
||||
|
||||
VAL_PTR = ¶meter_tvb
|
||||
|
||||
#.FN_BODY RedirectionInformation
|
||||
|
||||
tvbuff_t *parameter_tvb;
|
||||
|
||||
%(DEFAULT_BODY)s
|
||||
|
||||
if (!parameter_tvb)
|
||||
return offset;
|
||||
|
||||
dissect_isup_redirection_information_parameter(parameter_tvb, tree, NULL);
|
||||
|
||||
#.FN_PARS OriginalCalledPartyID
|
||||
|
||||
VAL_PTR = ¶meter_tvb
|
||||
|
||||
#.FN_BODY OriginalCalledPartyID
|
||||
|
||||
tvbuff_t *parameter_tvb;
|
||||
|
||||
%(DEFAULT_BODY)s
|
||||
|
||||
if (!parameter_tvb)
|
||||
return offset;
|
||||
dissect_isup_original_called_number_parameter(parameter_tvb, tree, NULL);
|
||||
|
||||
#.FN_PARS RedirectingPartyID
|
||||
|
||||
VAL_PTR = ¶meter_tvb
|
||||
|
||||
#.FN_BODY RedirectingPartyID
|
||||
|
||||
tvbuff_t *parameter_tvb;
|
||||
|
||||
%(DEFAULT_BODY)s
|
||||
|
||||
if (!parameter_tvb)
|
||||
return offset;
|
||||
dissect_isup_redirecting_number_parameter(parameter_tvb, tree, NULL);
|
||||
|
||||
#.FN_BODY InitialDP/dialledDigitsxxx
|
||||
proto_item* parameter_item;
|
||||
proto_item* parameter_tree;
|
||||
guint8 class;
|
||||
tvbuff_t *cgpn_tvb;
|
||||
parameter_item = proto_tree_add_item(tree, hf_index, tvb, offset, -1, FALSE);
|
||||
parameter_tree = proto_item_add_subtree(parameter_item, ett_inapisup_parameter);
|
||||
cgpn_tvb = tvb_new_subset(tvb, offset,-1 , -1 );
|
||||
dissect_isup_called_party_number_parameter(cgpn_tvb, parameter_tree, parameter_item);
|
||||
|
||||
#.TYPE_ATTR
|
||||
#Ss-Code TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ssCode_vals)
|
||||
#Teleservice TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(Teleservice_vals)
|
||||
CallingPartysCategory TYPE = FT_UINT16 DISPLAY = BASE_DEC STRINGS = VALS(isup_calling_partys_category_value)
|
||||
|
||||
#.END
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
* References: ETSI 300 374
|
||||
* ITU Q.1218
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
|
@ -40,8 +41,9 @@
|
|||
#include "packet-inap.h"
|
||||
#include "packet-q931.h"
|
||||
#include "packet-e164.h"
|
||||
#include "packet-isup.h"
|
||||
|
||||
#define PNAME "INAP"
|
||||
#define PNAME "Intelligent Network Application Protocol"
|
||||
#define PSNAME "INAP"
|
||||
#define PFNAME "inap"
|
||||
|
||||
|
@ -53,8 +55,8 @@ static int hf_inap_linkedid = -1; /* INTEGER */
|
|||
static int hf_inap_absent = -1; /* NULL */
|
||||
static int hf_inap_invokeId = -1; /* InvokeId */
|
||||
static int hf_inap_invoke = -1; /* InvokePDU */
|
||||
static int hf_inap_ReturnError = -1; /* InvokePDU */
|
||||
static int hf_inap_returnResult = -1; /* InvokePDU */
|
||||
static int hf_inap_ReturnError = -1; /* InvokePDU */
|
||||
static int hf_inap_returnResult = -1; /* InvokePDU */
|
||||
static int hf_inap_returnResult_result = -1;
|
||||
static int hf_inap_getPassword = -1;
|
||||
static int hf_inap_currentPassword = -1;
|
||||
|
@ -86,25 +88,61 @@ static int dissect_invokeCmd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tv
|
|||
|
||||
const value_string inap_opr_code_strings[] = {
|
||||
|
||||
{16, "AssistRequestInstructions"},
|
||||
{44, "CallInformationReport"},
|
||||
{45, "CallInformationRequest"},
|
||||
{53, "Cancel"},
|
||||
{20, "Connect"},
|
||||
{18, "DisconnectForwardConnection"},
|
||||
{19,"ConnectToResource"},
|
||||
{17,"EstablishTemporaryConnection"},
|
||||
{24,"EventReportBCSM"},
|
||||
{34,"FurnishChargingInformation"},
|
||||
{0,"InitialDP"},
|
||||
{1, "OriginationAttemptAuthorized"},
|
||||
{2, "CollectedInformation"},
|
||||
{3, "AnalysedInformation"},
|
||||
{4, "RouteSelectFailure"},
|
||||
{5, "oCalledPartyBusy"},
|
||||
{6, "oNoAnswer"},
|
||||
{7, "oAnswer"},
|
||||
{8, "oDisconnect"},
|
||||
{9, "TermAttemptAuthorized"},
|
||||
{10, "tBusy"},
|
||||
{11, "tNoAnswer"},
|
||||
{12, "tAnswer"},
|
||||
{13, "tDisconnect"},
|
||||
{14, "oMidCall"},
|
||||
{15, "tMidCall"},
|
||||
{16, "AssistRequestInstructions"},
|
||||
{17,"EstablishTemporaryConnection"},
|
||||
{18, "DisconnectForwardConnection"},
|
||||
{19,"ConnectToResource"},
|
||||
{20, "Connect"},
|
||||
{21,"HoldCallInNetwork"},
|
||||
{22, "ReleaseCall"},
|
||||
{23, "RequestReportBCSMEven"},
|
||||
{23,"RequestReportBCSMEvent"},
|
||||
{24,"EventReportBCSM"},
|
||||
{25, "RequestNotificationChargingEvent"},
|
||||
{26, "EventNotificationCharging"},
|
||||
{27, "CollectInformation"},
|
||||
{28, "AnalyseInformation"},
|
||||
{29, "SelectRoute"},
|
||||
{30, "SelectFacility"},
|
||||
{31, "Continue"},
|
||||
{32, "InitiateCallAttempt"},
|
||||
{33,"ResetTimer"},
|
||||
{34,"FurnishChargingInformation"},
|
||||
{35, "ApplyCharging"},
|
||||
{36, "ApplyChargingReport"},
|
||||
{37, "RequestCurrentStatusReport"},
|
||||
{38, "RequestEveryStatusChangeReport"},
|
||||
{39, "RequestFirstStatusMatchReport"},
|
||||
{40, "StatusReport"},
|
||||
{41, "CallGap"},
|
||||
{42, "ActivateServiceFiltering"},
|
||||
{43, "ServiceFilteringResponse"},
|
||||
{44, "CallInformationReport"},
|
||||
{45, "CallInformationRequest"},
|
||||
{46, "SendChargingInformation"},
|
||||
{47,"PlayAnnouncement"},
|
||||
{48,"PromptAndCollectUserInformation"},
|
||||
{99,"ReceivedInformation"}, /*???????*/
|
||||
{33,"ResetTimer"},
|
||||
{23,"RequestReportBCSMEvent"},
|
||||
{49,"SpecializedResourceReport"},
|
||||
{22,"ReleaseCall"},
|
||||
{0, NULL}
|
||||
{53, "Cancel"},
|
||||
{55, "ActivityTest"},
|
||||
{99,"ReceivedInformation"}, /*???????*/
|
||||
{0, NULL}
|
||||
};
|
||||
|
||||
const value_string inap_error_code_strings[] = {
|
||||
|
@ -124,6 +162,7 @@ const value_string inap_error_code_strings[] = {
|
|||
{15,"UnexpectedDataValue"},
|
||||
{16,"UnexpectedParameter"},
|
||||
{17,"UnknownLegID"},
|
||||
{18,"UnknownResource"},
|
||||
{0, NULL}
|
||||
};
|
||||
|
||||
|
@ -162,59 +201,114 @@ dissect_inap_errorCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, pac
|
|||
return offset;
|
||||
}
|
||||
|
||||
/*
|
||||
TC-Invokable OPERATION ::=
|
||||
{activateServiceFiltering | activityTest | analysedInformation |
|
||||
analyseInformation | applyCharging | applyChargingReport |
|
||||
assistRequestInstructions | callGap | callInformationReport |
|
||||
callInformationRequest | cancel | cancelStatusReportRequest |
|
||||
collectedInformation | collectInformation | connect | connectToResource |
|
||||
continue | disconnectForwardConnection | establishTemporaryConnection |
|
||||
eventNotificationCharging | eventReportBCSM | furnishChargingInformation |
|
||||
holdCallInNetwork | initialDP | initiateCallAttempt | oAnswer |
|
||||
oCalledPartyBusy | oDisconnect | oMidCall | oNoAnswer |
|
||||
originationAttemptAuthorized | releaseCall | requestCurrentStatusReport |
|
||||
requestEveryStatusChangeReport | requestFirstStatusMatchReport |
|
||||
requestNotificationChargingEvent | requestReportBCSMEvent | resetTimer |
|
||||
routeSelectFailure | selectFacility | selectRoute | sendChargingInformation
|
||||
| serviceFilteringResponse | statusReport | tAnswer | tBusy | tDisconnect |
|
||||
termAttemptAuthorized | tMidCall | tNoAnswer | playAnnouncement |
|
||||
promptAndCollectUserInformation}
|
||||
*/
|
||||
|
||||
static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
||||
switch(opcode){
|
||||
case 0: /*InitialDP*/
|
||||
offset=dissect_inap_InitialDP(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
/*1 OriginationAttemptAuthorized */
|
||||
/*2 CollectedInformation */
|
||||
/*3 AnalysedInformation */
|
||||
/*4 RouteSelectFailure */
|
||||
/*5 oCalledPartyBusy */
|
||||
/*6 oNoAnswer */
|
||||
/*7 oAnswer */
|
||||
/*8 oDisconnect */
|
||||
/*9 TermAttemptAuthorized */
|
||||
/*10 tBusy */
|
||||
/*11 tNoAnswer */
|
||||
/*12 tAnswer */
|
||||
/*13 tDisconnect */
|
||||
/*14 oMidCall */
|
||||
/*15 tMidCall */
|
||||
case 16: /*AssistRequestInstructions*/
|
||||
offset=dissect_inap_AssistRequestInstructionsarg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
offset=dissect_inap_AssistRequestInstructionsArg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 44: /*CallInformationReport*/
|
||||
offset=dissect_inap_CallInformationReportarg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 45: /*CallInformationRequest*/
|
||||
offset=dissect_inap_CallInformationRequestarg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 53: /*Cancel*/
|
||||
offset=dissect_inap_Cancelarg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 20: /*Connect*/
|
||||
offset=dissect_inap_Connectarg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
case 17: /*EstablishTemporaryConnection*/
|
||||
offset=dissect_inap_EstablishTemporaryConnectionArg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 18: /*DisconnectForwardConnections*/
|
||||
proto_tree_add_text(tree, tvb, offset, -1, "Disconnect Forward Connection");
|
||||
break;
|
||||
case 19: /*ConnectToResource*/
|
||||
offset=dissect_inap_ConnectToResource(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
offset=dissect_inap_ConnectToResourceArg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 17: /*EstablishTemporaryConnection*/
|
||||
offset=dissect_inap_EstablishTemporaryConnection(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
case 20: /*Connect*/
|
||||
offset=dissect_inap_ConnectArg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 24: /*EventReportBCSM*/
|
||||
offset=dissect_inap_EventReportBCSM(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 34: /*FurnishChargingInformation*/
|
||||
offset=dissect_inap_FurnishChargingInformationarg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 0: /*InitialDP*/
|
||||
offset=dissect_inap_InitialDP(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
|
||||
case 23: /*InitialDP*/
|
||||
offset=dissect_inap_RequestReportBCSMEvent(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
|
||||
case 47: /*PlayAnnouncement*/
|
||||
offset=dissect_inap_PlayAnnouncement(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 48: /*PromptAndCollectUserInformation*/
|
||||
offset=dissect_inap_PromptAndCollectUserInformationarg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 33: /*ResetTimer*/
|
||||
offset=dissect_inap_ResetTimer(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 22: /*ResetTimer*/
|
||||
/* 21 HoldCallInNetwork */
|
||||
|
||||
case 22: /*ReleaseCall*/
|
||||
offset=dissect_inap_ReleaseCallArg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 23: /*InitialDP*/
|
||||
offset=dissect_inap_RequestReportBCSMEventArg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 24: /*EventReportBCSM*/
|
||||
offset=dissect_inap_EventReportBCSMArg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
/*24,"EventReportBCSM */
|
||||
/*25, "RequestNotificationChargingEvent */
|
||||
/*26, "EventNotificationCharging */
|
||||
/*27, "CollectInformation */
|
||||
/*28, "AnalyseInformation */
|
||||
/*29, "SelectRoute */
|
||||
/*30, "SelectFacility */
|
||||
/*31, "Continue */
|
||||
/*32, "InitiateCallAttempt*/
|
||||
case 33: /*ResetTimer*/
|
||||
offset=dissect_inap_ResetTimerArg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 34: /*FurnishChargingInformation*/
|
||||
offset=dissect_inap_FurnishChargingInformationArg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
/*35, "ApplyCharging */
|
||||
/*36, "ApplyChargingReport */
|
||||
/*37, "RequestCurrentStatusReport */
|
||||
/*38, "RequestEveryStatusChangeReport */
|
||||
/*39, "RequestFirstStatusMatchReport */
|
||||
/*40, "StatusReport */
|
||||
/*41, "CallGap */
|
||||
/*42, "ActivateServiceFiltering */
|
||||
/*43, "ServiceFilteringResponse */
|
||||
|
||||
case 44: /*CallInformationReport*/
|
||||
offset=dissect_inap_CallInformationReportArg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 45: /*CallInformationRequest*/
|
||||
offset=dissect_inap_CallInformationRequestArg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 47: /*PlayAnnouncement*/
|
||||
offset=dissect_inap_PlayAnnouncementArg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 48: /*PromptAndCollectUserInformation*/
|
||||
offset=dissect_inap_PromptAndCollectUserInformationArg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
/* 49 SpecializedResourceReport */
|
||||
case 53: /*Cancel*/
|
||||
offset=dissect_inap_CancelArg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
/*55 ActivityTest*/
|
||||
default:
|
||||
proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob");
|
||||
/* todo call the asn.1 dissector */
|
||||
|
@ -222,11 +316,27 @@ static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tv
|
|||
return offset;
|
||||
}
|
||||
|
||||
/*
|
||||
TC-Returnable OPERATION ::=
|
||||
{activateServiceFiltering | activityTest | requestCurrentStatusReport |
|
||||
requestEveryStatusChangeReport | requestFirstStatusMatchReport |
|
||||
promptAndCollectUserInformation}
|
||||
|
||||
activateServiceFiltering - No arg
|
||||
activityTest - No Arg
|
||||
requestCurrentStatusReport - RESULT RequestCurrentStatusReportResultArg
|
||||
requestEveryStatusChangeReport - No arg
|
||||
requestFirstStatusMatchReport - No Arg
|
||||
promptAndCollectUserInformation - RESULT ReceivedInformationArg
|
||||
|
||||
*/
|
||||
static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
|
||||
switch(opcode){
|
||||
case 37: /*requestCurrentStatusReport*/
|
||||
offset=dissect_inap_RequestCurrentStatusReportResultArg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 48: /*PromptAndCollectUserInformation*/
|
||||
offset=dissect_inap_PromptAndCollectUserInformationres(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
offset=dissect_inap_ReceivedInformationArg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
default:
|
||||
proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnResultData blob");
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1563,7 +1563,7 @@ static const asn_namedbit SupportedCamelPhases_bits[] = {
|
|||
{ 0, NULL, 0, 0, NULL, NULL }
|
||||
};
|
||||
|
||||
static int
|
||||
int
|
||||
dissect_gsm_map_SupportedCamelPhases(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
||||
offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
|
||||
SupportedCamelPhases_bits, hf_index, ett_gsm_map_SupportedCamelPhases,
|
||||
|
@ -1595,7 +1595,7 @@ static int dissect_supportedCAMELPhases_impl(packet_info *pinfo, proto_tree *tre
|
|||
|
||||
|
||||
|
||||
static int
|
||||
int
|
||||
dissect_gsm_map_IMSI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
||||
|
||||
tvbuff_t *parameter_tvb;
|
||||
|
@ -2322,7 +2322,7 @@ dissect_gsm_map_TBCD_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset
|
|||
|
||||
|
||||
|
||||
static int
|
||||
int
|
||||
dissect_gsm_map_IMEI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
||||
offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, pinfo, tree, hf_index);
|
||||
|
||||
|
@ -4610,7 +4610,7 @@ static int dissect_SS_EventList_item(packet_info *pinfo, proto_tree *tree, tvbuf
|
|||
}
|
||||
|
||||
|
||||
static const value_string gsm_map_Ext_BasicServiceCode_vals[] = {
|
||||
const value_string gsm_map_Ext_BasicServiceCode_vals[] = {
|
||||
{ 2, "ext-BearerService" },
|
||||
{ 3, "ext-Teleservice" },
|
||||
{ 0, NULL }
|
||||
|
@ -4622,7 +4622,7 @@ static const ber_choice_t Ext_BasicServiceCode_choice[] = {
|
|||
{ 0, 0, 0, 0, NULL }
|
||||
};
|
||||
|
||||
static int
|
||||
int
|
||||
dissect_gsm_map_Ext_BasicServiceCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
||||
offset = dissect_ber_choice(pinfo, tree, tvb, offset,
|
||||
Ext_BasicServiceCode_choice, hf_index, ett_gsm_map_Ext_BasicServiceCode,
|
||||
|
@ -4934,7 +4934,7 @@ static int dissect_preferentialCUG_Indicator(packet_info *pinfo, proto_tree *tre
|
|||
|
||||
|
||||
|
||||
static int
|
||||
int
|
||||
dissect_gsm_map_CUG_Interlock(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
||||
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
|
@ -5075,7 +5075,7 @@ static const ber_sequence_t CUG_Info_sequence[] = {
|
|||
{ 0, 0, 0, NULL }
|
||||
};
|
||||
|
||||
static int
|
||||
int
|
||||
dissect_gsm_map_CUG_Info(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
||||
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
||||
CUG_Info_sequence, hf_index, ett_gsm_map_CUG_Info);
|
||||
|
@ -6197,7 +6197,7 @@ static int dissect_pdp_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff
|
|||
|
||||
|
||||
|
||||
static int
|
||||
int
|
||||
dissect_gsm_map_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
||||
|
||||
tvbuff_t *parameter_tvb;
|
||||
|
@ -6242,7 +6242,7 @@ static int dissect_lcsAPN_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *t
|
|||
|
||||
|
||||
|
||||
static int
|
||||
int
|
||||
dissect_gsm_map_Ext_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
||||
|
||||
tvbuff_t *parameter_tvb;
|
||||
|
@ -6290,7 +6290,7 @@ static int dissect_pdp_ChargingCharacteristics_impl(packet_info *pinfo, proto_tr
|
|||
|
||||
|
||||
|
||||
static int
|
||||
int
|
||||
dissect_gsm_map_Ext2_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
||||
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
|
@ -6412,7 +6412,7 @@ static int dissect_lsaOnlyAccessIndicator_impl(packet_info *pinfo, proto_tree *t
|
|||
|
||||
|
||||
|
||||
static int
|
||||
int
|
||||
dissect_gsm_map_LSAIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
||||
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
|
@ -8206,7 +8206,7 @@ static int dissect_ageOfLocationEstimate_impl(packet_info *pinfo, proto_tree *tr
|
|||
|
||||
|
||||
|
||||
static int
|
||||
int
|
||||
dissect_gsm_map_GeographicalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
||||
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
|
@ -8235,7 +8235,7 @@ static int dissect_locationNumber_impl(packet_info *pinfo, proto_tree *tree, tvb
|
|||
|
||||
|
||||
|
||||
static int
|
||||
int
|
||||
dissect_gsm_map_CellGlobalIdOrServiceAreaIdFixedLength(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
||||
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
|
@ -8309,7 +8309,7 @@ static const ber_sequence_t LocationInformation_sequence[] = {
|
|||
{ 0, 0, 0, NULL }
|
||||
};
|
||||
|
||||
static int
|
||||
int
|
||||
dissect_gsm_map_LocationInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
||||
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
||||
LocationInformation_sequence, hf_index, ett_gsm_map_LocationInformation);
|
||||
|
@ -8321,7 +8321,7 @@ static int dissect_locationInformation_impl(packet_info *pinfo, proto_tree *tree
|
|||
}
|
||||
|
||||
|
||||
static const value_string gsm_map_SubscriberState_vals[] = {
|
||||
const value_string gsm_map_SubscriberState_vals[] = {
|
||||
{ 0, "assumedIdle" },
|
||||
{ 1, "camelBusy" },
|
||||
{ 2, "notProvidedFromVLR" },
|
||||
|
@ -8335,7 +8335,7 @@ static const ber_choice_t SubscriberState_choice[] = {
|
|||
{ 0, 0, 0, 0, NULL }
|
||||
};
|
||||
|
||||
static int
|
||||
int
|
||||
dissect_gsm_map_SubscriberState(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
||||
offset = dissect_ber_choice(pinfo, tree, tvb, offset,
|
||||
SubscriberState_choice, hf_index, ett_gsm_map_SubscriberState,
|
||||
|
@ -8349,7 +8349,7 @@ static int dissect_subscriberState(packet_info *pinfo, proto_tree *tree, tvbuff_
|
|||
|
||||
|
||||
|
||||
static int
|
||||
int
|
||||
dissect_gsm_map_RAIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
||||
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
|
@ -8433,7 +8433,7 @@ static int dissect_teid_ForIu_impl(packet_info *pinfo, proto_tree *tree, tvbuff_
|
|||
|
||||
|
||||
|
||||
static int
|
||||
int
|
||||
dissect_gsm_map_GPRSChargingID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
||||
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
|
@ -8558,7 +8558,7 @@ static int dissect_ps_SubscriberState_impl(packet_info *pinfo, proto_tree *tree,
|
|||
|
||||
|
||||
|
||||
static int
|
||||
int
|
||||
dissect_gsm_map_MS_Classmark2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
||||
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
|
||||
NULL);
|
||||
|
@ -8991,7 +8991,7 @@ static const ber_sequence_t UU_Data_sequence[] = {
|
|||
{ 0, 0, 0, NULL }
|
||||
};
|
||||
|
||||
static int
|
||||
int
|
||||
dissect_gsm_map_UU_Data(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
||||
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
|
||||
UU_Data_sequence, hf_index, ett_gsm_map_UU_Data);
|
||||
|
@ -10858,7 +10858,7 @@ static const asn_namedbit OfferedCamel4Functionalities_bits[] = {
|
|||
{ 0, NULL, 0, 0, NULL, NULL }
|
||||
};
|
||||
|
||||
static int
|
||||
int
|
||||
dissect_gsm_map_OfferedCamel4Functionalities(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
|
||||
offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
|
||||
OfferedCamel4Functionalities_bits, hf_index, ett_gsm_map_OfferedCamel4Functionalities,
|
||||
|
|
|
@ -50,16 +50,34 @@ extern const value_string ssCode_vals[];
|
|||
/*--- Included file: packet-gsm_map-exp.h ---*/
|
||||
|
||||
extern const value_string gsm_map_NotificationToMSUser_vals[];
|
||||
extern const value_string gsm_map_SubscriberState_vals[];
|
||||
extern const value_string gsm_map_SS_Info_vals[];
|
||||
extern const value_string gsm_map_InterrogateSS_Res_vals[];
|
||||
extern const value_string gsm_map_GetPasswordArg_vals[];
|
||||
extern const value_string gsm_map_Ext_BasicServiceCode_vals[];
|
||||
int dissect_gsm_map_SupportedCamelPhases(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_ISDN_AddressString(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_QoS_Subscribed(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_Ext_QoS_Subscribed(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_Ext2_QoS_Subscribed(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_LSAIdentity(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_SS_Status(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_CUG_Info(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_CUG_Index(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_CUG_Interlock(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_NotificationToMSUser(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_AlertingPattern(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_IMSI(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_IMEI(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_LCSClientExternalID(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_LCSServiceTypeID(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_CellGlobalIdOrServiceAreaIdFixedLength(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_LocationInformation(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_RAIdentity(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_GeographicalInformation(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_SubscriberState(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_GPRSChargingID(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_UU_Data(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_RegisterSS_Arg(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_SS_Info(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_InterrogateSS_Res(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
|
@ -74,9 +92,12 @@ int dissect_gsm_map_CurrentPassword(gboolean implicit_tag, tvbuff_t *tvb, int of
|
|||
int dissect_gsm_map_RegisterCC_EntryRes(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_EraseCC_EntryArg(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_EraseCC_EntryRes(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_MS_Classmark2(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_OfferedCamel4Functionalities(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_SS_ForBS_Code(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_CCBS_Feature(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_AgeOfLocationInformation(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_Ext_BasicServiceCode(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_AddressString(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_ISDN_SubaddressString(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
int dissect_gsm_map_GSN_Address(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -477,7 +477,7 @@ static const value_string isup_SCCP_method_ind_value[] = {
|
|||
#define DATA_CALL 12
|
||||
#define TEST_CALL 13
|
||||
#define PAYPHONE 15
|
||||
static const value_string isup_calling_partys_category_value[] = {
|
||||
const value_string isup_calling_partys_category_value[] = {
|
||||
{ UNKNOWN_AT_THIS_TIME, "Category unknown at this time (national use)"},
|
||||
{ OPERATOR_FRENCH, "operator, language French"},
|
||||
{ OPERATOR_ENGLISH, "operator, language English"},
|
||||
|
@ -1462,7 +1462,7 @@ dissect_isup_called_party_number_parameter(tvbuff_t *parameter_tvb, proto_tree *
|
|||
"Called Party Number");
|
||||
address_digits_tree = proto_item_add_subtree(address_digits_item, ett_isup_address_digits);
|
||||
|
||||
while((length = tvb_reported_length_remaining(parameter_tvb, offset)) > 1){
|
||||
while((length = tvb_reported_length_remaining(parameter_tvb, offset)) > 0){
|
||||
address_digit_pair = tvb_get_guint8(parameter_tvb, offset);
|
||||
proto_tree_add_uint(address_digits_tree, hf_isup_called_party_odd_address_signal_digit, parameter_tvb, offset, 1, address_digit_pair);
|
||||
called_number[i++] = number_to_char(address_digit_pair & ISUP_ODD_ADDRESS_SIGNAL_DIGIT_MASK);
|
||||
|
@ -2942,6 +2942,9 @@ dissect_isup_application_transport_parameter(tvbuff_t *parameter_tvb, packet_inf
|
|||
offset = offset + octet - 2;
|
||||
}
|
||||
}
|
||||
if ( offset == (gint)length)
|
||||
/* No data */
|
||||
return;
|
||||
|
||||
proto_tree_add_text(parameter_tree, parameter_tvb, offset, -1, "APM-user information field" );
|
||||
/* dissect BAT ASE element, without transparent data ( Q.765.5-200006) */
|
||||
|
@ -3049,7 +3052,7 @@ dissect_isup_calling_party_number_parameter(tvbuff_t *parameter_tvb, proto_tree
|
|||
/* ------------------------------------------------------------------
|
||||
Dissector Parameter Original called number
|
||||
*/
|
||||
static void
|
||||
void
|
||||
dissect_isup_original_called_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_item *address_digits_item;
|
||||
|
@ -3106,7 +3109,7 @@ dissect_isup_original_called_number_parameter(tvbuff_t *parameter_tvb, proto_tre
|
|||
/* ------------------------------------------------------------------
|
||||
Dissector Parameter Redirecting number
|
||||
*/
|
||||
static void
|
||||
void
|
||||
dissect_isup_redirecting_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
proto_item *address_digits_item;
|
||||
|
@ -3244,7 +3247,7 @@ dissect_isup_connection_request_parameter(tvbuff_t *parameter_tvb, proto_tree *p
|
|||
/* ------------------------------------------------------------------
|
||||
Dissector Parameter Redirection information
|
||||
*/
|
||||
static void
|
||||
void
|
||||
dissect_isup_redirection_information_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item)
|
||||
{
|
||||
if (tvb_length(parameter_tvb) == 2){
|
||||
|
|
|
@ -133,6 +133,7 @@ ETH_VAR_IMPORT const value_string q850_cause_code_vals[];
|
|||
|
||||
extern const value_string isup_parameter_type_value[];
|
||||
extern const value_string isup_transmission_medium_requirement_value[];
|
||||
extern const value_string isup_calling_partys_category_value[];
|
||||
|
||||
/*
|
||||
* Export dissection of some parameters
|
||||
|
@ -141,5 +142,8 @@ void dissect_nsap(tvbuff_t *parameter_tvb,gint offset,gint len, proto_tree *para
|
|||
void dissect_isup_called_party_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
|
||||
void dissect_isup_calling_party_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
|
||||
void dissect_isup_cause_indicators_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
|
||||
void dissect_isup_redirection_information_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
|
||||
void dissect_isup_original_called_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
|
||||
void dissect_isup_redirecting_number_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree, proto_item *parameter_item);
|
||||
|
||||
extern int dissect_codec_mode(proto_tree *tree, tvbuff_t *tvb, int offset, int len);
|
||||
|
|
Loading…
Reference in New Issue