https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5076
--- Comment #3 from Anders Broman <anders.broman@xxxxxxxxxxxx> 2010-08-29 10:42:09 PDT ---
The problem is that at least in the latest spec ProvideRoamingNumberRes is
defined as:
ProvideRoamingNumberRes ::= SEQUENCE {
roamingNumber ISDN-AddressString,
extensionContainer ExtensionContainer OPTIONAL,
...,
releaseResourcesSupported NULL OPTIONAL }
ISDN-AddressString ::=
AddressString (SIZE (1..maxISDN-AddressLength))
-- This type is used to represent ISDN numbers.
AddressString ::= OCTET STRING (SIZE (1..maxAddressLength))
But the package only contains
...0 0100 = Tag: OCTET STRING (4)
Length: 7
:
e.g the roaming number without the proceeding SEQUENCE.
According to this comment in packet-gsm_map-template.c
/*
* Dissect Multiple Choice Message
* This function is used to decode a message, when several encoding may be
used.
* For exemple, in the last MAP version, the Cancel Location is defined like
this:
* CancelLocationArg ::= [3] IMPLICIT SEQUENCE
* But in the previous MAP version, it was a CHOICE between a SEQUENCE and an
IMSI
* As ASN1 encoders (or software) still uses the old encoding, this function
allows
* the decoding of both versions.
* Moreover, some optimizations (or bad practice ?) in ASN1 encoder, removes
the
* SEQUENCE tag, when only one parameter is present in the SEQUENCE.
* This explain why the function expects 3 parameters:
* - a [3] SEQUENCE corresponding the recent ASN1 MAP encoding
* - a SEQUENCE for old style
* - and a single parameter, for old version or optimizations
*
* The analyze of the first ASN1 tag, indicate what kind of decoding should be
used,
* if the decoding function is provided (so not a NULL function)
*/
So I have commited a patch using this function.
Committed revision 34001.
A build bot build should be ready in a few hours you can try that.
http://www.wireshark.org/download/automated/
--
Configure bugmail: https://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.