GSUP: Fix handling of odd-length IMSI and 0xF filler digit

Change-Id: I4e0a9f1236504ce6026c6e34fd97fda6fefa832c
diff --git a/library/IPA_Emulation.ttcn b/library/IPA_Emulation.ttcn
index b40818f..b3e28e9 100644
--- a/library/IPA_Emulation.ttcn
+++ b/library/IPA_Emulation.ttcn
@@ -370,7 +370,9 @@
 }
 
 private function f_gsup_to_user(octetstring msg) runs on IPA_Emulation_CT {
-	IPA_GSUP_PORT.send(dec_GSUP_PDU(msg));
+	var GSUP_PDU gsup := dec_GSUP_PDU(msg);
+	f_gsup_postprocess_decoded(gsup);
+	IPA_GSUP_PORT.send(gsup);
 }
 
 private function f_mgcp_to_ud(octetstring payload) runs on IPA_Emulation_CT return ASP_IPA_Unitdata {
@@ -480,6 +482,7 @@
 		}
 
 		[] IPA_GSUP_PORT.receive(GSUP_PDU:?) -> value gsup_msg {
+			f_gsup_preprocess_encoded(gsup_msg);
 			payload := enc_GSUP_PDU(gsup_msg);
 			ipa_ud := valueof(t_ASP_IPA_UD(IPAC_PROTO_OSMO, payload, IPAC_PROTO_EXT_GSUP));
 			IPA_PORT.send(f_from_asp(g_ipa_conn_id, ipa_ud));