Project

General

Profile

Actions

Feature #5164

closed

Implement Serialised Global Call Reference as "X-" Header

Added by keith almost 3 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
-
Start date:
06/01/2021
Due date:
% Done:

100%

Resolution:
Spec Reference:

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

Blocks OsmoMSC - Feature #2487: MSC side of LCLS (local call local switching) as per the 3GPP specsStalledkeith09/03/2017

Actions
Actions #1

Updated by keith almost 3 years ago

  • Blocks Feature #2487: MSC side of LCLS (local call local switching) as per the 3GPP specs added
Actions #2

Updated by keith almost 3 years ago

  • Tracker changed from Bug to Feature
Actions #4

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.

Actions #5

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.

Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)