Project

General

Profile

Actions

Bug #3461

closed

LCR cannot connect to the MNCC socket

Added by keith over 5 years ago. Updated over 5 years ago.

Status:
Resolved
Priority:
Low
Assignee:
Category:
-
Target version:
-
Start date:
08/10/2018
Due date:
% Done:

50%

Resolution:
Spec Reference:

Description

(LCR is quite old and somewhat unmaintained, but still used by some as intermediary between the MNCC socket and a SIP agent. Supporting it may help others to contribute to MSC development.)

When the libmsc was originally imported to osmo-msc from legacy openbsc
references to lchan were removed as this was not available:
http://git.osmocom.org/osmo-msc/commit/?id=e2f24d53e4f80b34ec6d656d93127cb598229a96

lchan_type and lchan_mode were removed from the gsm_mncc struct:
http://git.osmocom.org/osmo-msc/diff/include/openbsc/mncc.h?id=e2f24d53e4f80b34ec6d656d93127cb598229a96

Subsequently, in order not to change the size of the protocol message (which would then be rejected by osmo-sip-connector),
lchan_type and lchan_mode were restored to the gsm_mncc struct:
http://git.osmocom.org/osmo-msc/commit/?id=fe6acd61897ce977697825792d59909b4e816273

However, setting of hello->lchan_type_offset in libmsc/mncc_sock.c:queue_hello() was not restored.

Adding:

hello->lchan_type_offset = offsetof(struct gsm_mncc, lchan_type);

at http://git.osmocom.org/osmo-msc/tree/src/libmsc/mncc_sock.c?id=fe6acd61897ce977697825792d59909b4e816273#n228

prevents LCR from rejecting the protocol message and printing

ERROR (in mncc_fd_read() line 1380) MNCC gsm_mncc offset of lchan_type is 0 832
Actions #1

Updated by laforge over 5 years ago

Hi Keith,

thanks for pointing this out. As you've analyzed it all down to the
specific code change, it would be great if you could send a patch to
gerrit. Seems straigh-forward to get it merged.

Thanks!

It would also be a good idea to extend either osmo-gsm-tester or the
dockerized TTCN3 tests with some tests that include LCR in order to
ensure we maintain compatibility.

Actions #2

Updated by keith over 5 years ago

  • Project changed from OsmoMGW to OsmoMSC
Actions #3

Updated by keith over 5 years ago

  • % Done changed from 0 to 50

laforge wrote:

Hi Keith,

it would be great if you could send a patch to
gerrit.

I heard once that to make a ticket explaining the issue, then post the patch referencing the ticket was a good way to go that leaves it clear for everyone else in the future ;-)

ran out of neuron power and internal coolant last night before getting around to the patch, posted now! :)

It would also be a good idea to extend either osmo-gsm-tester or the
dockerized TTCN3 tests with some tests that include LCR in order to
ensure we maintain compatibility.

I have not looked at either the TTCN or osmo-gsm-tester much.

I'm also not sure how deep one would want to go with testing of the MNCC socket and then the SIP agent, although going forward it would be good to catch issues in this part of the functionality, for example, I would assume that as there seems to be this reversed IP issue with osmo-sip-connecter, we are going to find that also with LCR. (https://osmocom.org/issues/3431)

Actions #4

Updated by keith over 5 years ago

This goes deeper as LCR will reject call setup with

MNCC_REJ_REQ LCR<->BSC cause coding=3 location=1 value=65 reason 'Given lchan not supported'

Looks like there may be much more lchan_* support required for osmo-msc to work with LCR.

Actions #5

Updated by keith over 5 years ago

  • Status changed from New to Resolved

Further work depends on #2391

Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)