Feature #5164
closedImplement Serialised Global Call Reference as "X-" Header
100%
Description
In a upcoming patch to osmo-msc, that will bump the MNCC version, osmo-sip-connector will
get the GCR over MNCC
We need to forward this to the SIP UA and then if we get it back in the B-leg (assuming the PBX sends the call back to us), re-encode it and send it back over the MNCC
Related issues
Updated by keith almost 3 years ago
- Blocks Feature #2487: MSC side of LCLS (local call local switching) as per the 3GPP specs added
Updated by keith over 2 years ago
Updated by fixeria over 2 years ago
- Status changed from New to Feedback
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.
Updated by keith over 2 years ago
- Status changed from Feedback to Closed
- % Done changed from 0 to 100
All above patches are merged, closing.