Hi Neels,
neels wrote:
I am trying to look at MNCC in OsmoMSC, using MSC_Tests.ttcn, and notice this:
There are fields 'v8' and 'gcr' that exist only in osmo-sip-connector.git's mncc.h.
That cannot possibly work.
as you have probably seen from git blame, I was involved in adding support of the MNCCv8 to osmo-ttcn3-hacks.git. AFAIR, we first merged patches from keith, and then I additionally reworked osmo-msc.git and osmo-ttcn3-hacks.git because we were having problems with backwards compatibility or so. I am now checking the related repositories.
osmo-ttcn3-hacks.git¶
https://cgit.osmocom.org/osmo-ttcn3-hacks/commit/?id=9ff47805053ab7e7b58aa778d9414f387f337b9d
The 'v8' field you're referring to is actually part of the backwards compatibility shim, see library/mncc.h
:
union {
struct {
char sdp[1024];
} v7;
struct {
uint8_t gcr[16];
char sdp[1024];
} v8;
};
I think we don't need it anymore, since both -latest and -master Osmocom packages should be speaking the new MNCCv8 now.
We had to add this union back then because the -latest was speaking MNCCv7.
osmo-msc.git¶
https://cgit.osmocom.org/osmo-msc/commit/?id=c6921e5068ba62cde67707fb3c8103919d1e0c0e
osmo-msc is speaking MNCCv8, the 'gcr' array is present in 'struct gsm_mncc'.
osmo-sip-connector.git¶
https://cgit.osmocom.org/osmo-sip-connector/commit/?id=bd66804082bf813a1f925c6af4df28fd664ac1de
osmo-sip-connector is speaking MNCCv8, the 'gcr' array is present in 'struct gsm_mncc'.
Summary¶
Unless I am missing something, I don't see any problem here.
Our mncc implementation is binary data over a unix domain socket,
and for unknown reasons (complete madness??) we have the mncc.h protocol definition duplicated all
over the place. One in libosmocore, one in osmo-msc, one in osmo-sip-con...
I fully agree here. It's really sad that we don't have one shared definition for all MNCC speaking projects.
There are some MNCC definitions in libosmocore.git, but I don't know if anyone is using them at all.
I am also not sure if the libosmocore's definition are up to date...
So we now have osmo-sip-connector implementing some new MNCC fields, but there
is no such thing in osmo-msc. It has been added to osmo-ttcn3-hacks/library/mncc.h,
but not osmo-msc, the only practical meaningful peer for this "protocol".
See my notes above. Everything looks good to me.