Hi keith,
after merging your patches adding GCR to the MNCC (and thus bumping the protocol version), ttcn3-sip-test is broken:
https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-sip-test/1342/
Basically, all test cases fail because MNCCv8 has not been not implemented in TTCN-3.
I created #5282 to track the problem and started to implement MNCCv8 in TTCN-3. However, with the current approach it turned out to be quite complicated. This is why I had to rework your patches, in particular the MNCCv8 implementation. Please see:
https://gerrit.osmocom.org/c/osmo-sip-connector/+/25980 mncc: rework passing GCR over the MNCC interface
https://gerrit.osmocom.org/c/osmo-msc/+/25982 mncc: rework passing GCR over the MNCC interface
The key idea is to encode GCR as per 3GPP TS 29.205 instead of using Osmocom specific representation (i.e. 'struct osmo_gcr_parsed'). This allows to avoid additional mess with architecture specific padding, because the 'struct osmo_gcr_parsed' is not packed. This also facilitates encoding and decoding of GCR field in TTCN-3, because one can simply use the existing 'GlobalCallReferenceValue' record. Also, I believe it makes sense to indicate presence of valid GCR using the MNCC_F_GCR flag.
I also submitted a few additional improvements:
https://gerrit.osmocom.org/c/osmo-sip-connector/+/25978 sip: fix memory leak (x_gcr) in send_invite()
https://gerrit.osmocom.org/c/osmo-sip-connector/+/25979 sip: use osmo_{enc,dec}_gcr() from libosmocore
Please take a look and let me know if you disagree with any of these.