ts_31_102: Fix several bugs in EF_ECC encoder

The encoder function apparently was never tested, it didn't match at all
the output of the decoder, not even in terms of the string keys of the
dict.

Change-Id: Id67bc39d52c4dfb39dc7756d8041cbd552ccbbc4
This commit is contained in:
Harald Welte 2023-01-31 16:40:54 +01:00
parent 136bdb065b
commit 9b9efb6a7a
1 changed files with 6 additions and 3 deletions

View File

@ -622,9 +622,12 @@ class EF_ECC(LinFixedEF):
if in_json is None:
return b'\xff\xff\xff\xff'
code = EF_ECC.cc_construct.build(in_json['call_code'])
svc_category = EF_ECC.category_construct.build(in_json['category'])
alpha_id = EF_ECC.alpha_construct.build(in_json['alpha_id'])
# FIXME: alpha_id needs padding up to 'record_length - 4'
svc_category = EF_ECC.category_construct.build(in_json['service_category'])
if 'alpha_id' in in_json:
alpha_id = EF_ECC.alpha_construct.build(in_json['alpha_id'])
# FIXME: alpha_id needs padding up to 'record_length - 4'
else:
alpha_id = b''
return code + alpha_id + svc_category