Fix of asn1 code for one opcode to new spec used?
svn path=/trunk/; revision=13160
This commit is contained in:
parent
f9021bcb6a
commit
34f8ea13a1
2 changed files with 113 additions and 18 deletions
|
@ -193,21 +193,23 @@ PrepareSubsequentHO-Arg ::= SEQUENCE {
|
|||
|
||||
--sendAuthenticationInfo OPERATION
|
||||
-- ARGUMENT
|
||||
SendAuthenticationInfoArg ::= SEQUENCE {
|
||||
imsi [0] IMPLICIT Imsi,
|
||||
numberOfRequestedVectors INTEGER ( 1 .. 5 ),
|
||||
segmentationProhibited NULL OPTIONAL,
|
||||
immediateResponsePreferred [1] IMPLICIT NULL OPTIONAL,
|
||||
re-synchronisationInfo SEQUENCE {
|
||||
rand OCTET STRING ( SIZE (16 ) ),
|
||||
auts OCTET STRING ( SIZE (14 ) ),
|
||||
... } OPTIONAL,
|
||||
extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL,
|
||||
requestingNodeType [3] IMPLICIT ENUMERATED {
|
||||
vlr (0 ),
|
||||
sgsn (1 ),
|
||||
... } OPTIONAL,
|
||||
requestingPLMN-Id [4] IMPLICIT OCTET STRING ( SIZE (3 ) ) OPTIONAL}
|
||||
SendAuthenticationInfoArg ::= Imsi
|
||||
-- Is this V9 ?
|
||||
-- SendAuthenticationInfoArg ::= SEQUENCE {
|
||||
-- imsi [0] IMPLICIT Imsi,
|
||||
-- numberOfRequestedVectors INTEGER ( 1 .. 5 ),
|
||||
-- segmentationProhibited NULL OPTIONAL,
|
||||
-- immediateResponsePreferred [1] IMPLICIT NULL OPTIONAL,
|
||||
-- re-synchronisationInfo SEQUENCE {
|
||||
-- rand OCTET STRING ( SIZE (16 ) ),
|
||||
-- auts OCTET STRING ( SIZE (14 ) ),
|
||||
-- ... } OPTIONAL,
|
||||
-- extensionContainer [2] IMPLICIT ExtensionContainer OPTIONAL,
|
||||
-- requestingNodeType [3] IMPLICIT ENUMERATED {
|
||||
-- vlr (0 ),
|
||||
-- sgsn (1 ),
|
||||
-- ... } OPTIONAL,
|
||||
-- requestingPLMN-Id [4] IMPLICIT OCTET STRING ( SIZE (3 ) ) OPTIONAL}
|
||||
|
||||
-- RESULT
|
||||
SendAuthenticationInfoRes ::= SEQUENCE ( SIZE( 1 .. 5 ) ) OF
|
||||
|
|
|
@ -70,6 +70,65 @@ static dissector_table_t sms_dissector_table; /* SMS TPDU */
|
|||
|
||||
static int dissect_invokeCmd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset);
|
||||
|
||||
typedef struct dgt_set_t
|
||||
{
|
||||
unsigned char out[15];
|
||||
}
|
||||
dgt_set_t;
|
||||
|
||||
static dgt_set_t Dgt_msid = {
|
||||
{
|
||||
/* 0 1 2 3 4 5 6 7 8 9 a b c d e */
|
||||
'0','1','2','3','4','5','6','7','8','9','?','?','?','?','?'
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
* Unpack BCD input pattern into output ASCII pattern
|
||||
*
|
||||
* Input Pattern is supplied using the same format as the digits
|
||||
*
|
||||
* Returns: length of unpacked pattern
|
||||
*/
|
||||
static int
|
||||
my_dgt_tbcd_unpack(
|
||||
char *out, /* ASCII pattern out */
|
||||
guchar *in, /* packed pattern in */
|
||||
int num_octs, /* Number of octets to unpack */
|
||||
dgt_set_t *dgt /* Digit definitions */
|
||||
)
|
||||
{
|
||||
int cnt = 0;
|
||||
unsigned char i;
|
||||
|
||||
while (num_octs)
|
||||
{
|
||||
/*
|
||||
* unpack first value in byte
|
||||
*/
|
||||
i = *in++;
|
||||
*out++ = dgt->out[i & 0x0f];
|
||||
cnt++;
|
||||
|
||||
/*
|
||||
* unpack second value in byte
|
||||
*/
|
||||
i >>= 4;
|
||||
|
||||
if (i == 0x0f) /* odd number bytes - hit filler */
|
||||
break;
|
||||
|
||||
*out++ = dgt->out[i];
|
||||
cnt++;
|
||||
num_octs--;
|
||||
}
|
||||
|
||||
*out = '\0';
|
||||
|
||||
return(cnt);
|
||||
}
|
||||
|
||||
|
||||
#include "packet-gsm_map-fn.c"
|
||||
|
||||
/* Stuff included from the "old" packet-gsm_map.c for tapping purposes */
|
||||
|
@ -295,7 +354,7 @@ static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tv
|
|||
offset=dissect_gsm_map_Tmsi(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 56: /*sendAuthenticationInfo*/
|
||||
offset=dissect_gsm_map_SendAuthenticationInfoArg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
offset=dissect_gsm_map_SendAuthenticationInfoArg(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_imsi);
|
||||
break;
|
||||
case 57: /*restoreData*/
|
||||
offset=dissect_gsm_map_RestoreDataArg(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
|
@ -474,7 +533,7 @@ static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff
|
|||
offset=dissect_gsm_map_RestoreDataRes(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
break;
|
||||
case 58: /*sendIMSI*/
|
||||
offset=dissect_gsm_map_Imsi(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
offset=dissect_gsm_map_Imsi(FALSE, tvb, offset, pinfo, tree,hf_gsm_map_imsi);
|
||||
break;
|
||||
case 59: /*unstructuredSS-Request*/
|
||||
offset=dissect_gsm_map_Ussd_Res(FALSE, tvb, offset, pinfo, tree, -1);
|
||||
|
@ -850,7 +909,7 @@ void proto_register_gsm_map(void) {
|
|||
"GSMMAPPDU/returnResult", HFILL }},
|
||||
{ &hf_gsm_map_getPassword,
|
||||
{ "Password", "gsm_map.password",
|
||||
FT_UINT8, BASE_DEC, VALS(GetPasswordArg_vals), 0,
|
||||
FT_UINT8, BASE_DEC, VALS(gsm_map_GetPasswordArg_vals), 0,
|
||||
"Password", HFILL }},
|
||||
|
||||
|
||||
|
@ -880,6 +939,40 @@ void proto_register_gsm_map(void) {
|
|||
FT_UINT8, BASE_DEC);
|
||||
|
||||
gsm_map_tap = register_tap("gsm_map");
|
||||
register_ber_oid_name("0.4.0.0.1.0.1.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) networkLocUp(1) version2(2)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.2.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locationCancel(2) version2(2)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.2.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locationCancel(2) version1(1)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.3.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) roamingNbEnquiry(3) version2(2)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.3.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) roamingNbEnquiry(3) version1(1)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.5.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locInfoRetrieval(5) version2(2)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.5.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) locInfoRetrieval(5) version1(1)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.10.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) reset(10) version2(2)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.10.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) reset(10) version1(1)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.11.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) handoverControl(11) version2(2)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.11.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) handoverControl(11) version1(1)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.26.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) imsiRetrieval(26) version2(2)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.13.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) equipmentMngt(13) version2(2)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.13.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) equipmentMngt(13) version1(1)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.14.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) infoRetrieval(14) version2(2)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.14.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) infoRetrieval(14) version1(1)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.15.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) interVlrInfoRetrieval(15) version2(2)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.16.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) subscriberDataMngt(16) version2(2)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.16.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) subscriberDataMngt(16) version1(1)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.17.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) tracing(17) version2(2)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.17.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) tracing(17) version1(1)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.18.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) networkFunctionalSs(18) version2(2)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.18.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) networkFunctionalSs(18) version1(1)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.19.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) networkUnstructuredSs(19) version2(2)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.20.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) shortMsgGateway(20) version2(2)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.20.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) shortMsgGateway(20) version1(1)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.21.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) shortMsgMO-Relay(21) version2(2)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.21.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) --shortMsgRelay--21 version1(1)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.23.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) shortMsgAlert(23) version2(2)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.23.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) shortMsgAlert(23) version1(1)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.24.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) mwdMngt(24) version2(2)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.24.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) mwdMngt(24) version1(1)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.25.2","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) shortMsgMT-Relay(25) version2(2)" );
|
||||
register_ber_oid_name("0.4.0.0.1.0.25.1","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) msPurging(27) version2(2)" );
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue