Ethereal-dev: [Ethereal-dev] Asn2eth: issue when trying with Camel/UMTS ASN1 description

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: "Anders Broman" <a.broman@xxxxxxxxx>
Date: Fri, 18 Mar 2005 15:02:48 +0100
Hi,
Tomas Kukosa or Ronnie Sahlberg can probably answer this better but I think
you'll have to replace all
The bound.&minAChBillingChargingLength type statements by the real values
like
MINIMUM-FOR-ACH-BILLING-CHARGING
&minAChBillingChargingLength
MINIMUM-FOR-ACH-BILLING-CHARGING

APSpecificBoundSet PARAMETERS-BOUND ::= {
	MINIMUM-FOR-ACCESS-POINT-NAME				1
	MAXIMUM-FOR-ACCESS-POINT-NAME				100
	MINIMUM-FOR-ACH-BILLING-CHARGING			5
e.g "5"
Actually
AChBillingChargingCharacteristics {PARAMETERS-BOUND : bound} ::= OCTET
STRING (SIZE
	(bound.&minAChBillingChargingLength ..
bound.&maxAChBillingChargingLength))
	(CONSTRAINED BY {-- shall be the result of the BER-encoded value of
the type --
	CAMEL-AChBillingChargingCharacteristics {bound}})
Would probably have to be changed to:
AChBillingChargingCharacteristics {PARAMETERS-BOUND : bound} ::= OCTET
STRING (SIZE
	(5 .. 177))
--	(CONSTRAINED BY {-- shall be the result of the BER-encoded value of
the type --
--	CAMEL-AChBillingChargingCharacteristics {bound}})
e.g CONSTRAINED BY will probably not work either, you'd also have to take
care of the imported types.
Either by including the definitions in this asn1 file or if they are
included in existing dissectors
Import them from those.

Hope this helps.
Best regards
Anders

Hello,
 
I'm trying to create a Camel/UMTS dissector with asn2eth tool.
The ASN1 file is coming from this specification (29078-630 modules.txt
file): http://www.3gpp.org/ftp/Specs/Archive/29_series/29.078/29078-630.zip
I'm starting, based on Tim's Camel alpha dissector
(http://www.ethereal.com/lists/ethereal-dev/200502/msg00330.html), the only
thing is that this one will be more complete.
 
But when launching asn2eth script, I have an error message
"__main__.ParseError: LexToken(DOT,'.',71)":
 
C:\transfer\ethereal\winbuild\ethereal\asn1\camel.oja>nmake
 
Microsoft (R) Program Maintenance Utility   Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
 
        python ../../tools/asn2eth.py -X -b -e -p camel -c camel.cnf -s
packet-camel-template camel.asn
ASN.1 to Ethereal dissector compiler
Traceback (most recent call last):
  File "../../tools/asn2eth.py", line 4485, in ?
    eth_main()
  File "../../tools/asn2eth.py", line 4456, in eth_main
    ast = yacc.parse(s, lexer=lexer, debug=pd)
  File "C:\transfer\ethereal\winbuild\ethereal\tools\yacc.py", line 311, in
parse
    tok = self.errorfunc(errtoken)
  File "../../tools/asn2eth.py", line 4258, in p_error
    raise ParseError(str(t))
__main__.ParseError: LexToken(DOT,'.',71)
NMAKE : fatal error U1077: 'python' : return code '0x1'
Stop.
 
Could it be because of "ANY and parameterized types" as described in the
wiki: http://wiki.ethereal.com/Asn2eth_20Handmassaging_20the_20ASN_20file ?
I just don't understand the error message I guess :)
 
Thanks,
Olivier.