Fix of asn1 code for one opcode to new spec used?

svn path=/trunk/; revision=13160
This commit is contained in:
Anders Broman 2005-01-21 22:49:13 +00:00
parent f9021bcb6a
commit 34f8ea13a1
2 changed files with 113 additions and 18 deletions

View file

@ -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

View file

@ -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)" );
}