Hi Csaba,
I managed to set up my E1 based Nokia BTS, the
complete Osmo-CNI
stack, SIP-connector and Asterisk. MO/MT calls do work as well as
external SIP calls to and from mobile as well. But no matter what I do
only plain FullRate calls are possible.
What version of Osmocom CNI software are you using: 2023-02 stable
release or current master? The distinction is a big one: shortly
after the 2023-02 release was cut, the long-standing SDP-fication
patches by Neels were merged. I haven't studied those patches in full
detail yet, but the changes appear to be very massive (paradigmatic)
and when I tried running current master, it was totally broken for me.
I currently run my production network (interconnected to USA PSTN)
with 2023-02 version of Osmocom CNI. More precisely, I run this
stable version plus some small patches - see falconia/production
branch in osmo-hlr and osmo-msc - but these patches don't change
anything significant.
It will be a while before I have the requisite time slice to study the
SDP-fication patches that have been merged into current master and
find a way to repair / mitigate / work around the damage caused by
them. I will also need to set up a separate test environment for
playing with the new code, separate from my production network.
Under osmo-bsc.conf code support is set like this (the
BTS HW do
support all of these codecs):
codec-support fr efr amr
but once I also add "codec-list fr3 fr2 fr1" to the MSC section of the
osmo-bsc.conf, the calls wont establish anymore.
In the 2023-02 version the vty option in OsmoBSC (under msc 0) is
called codec-list, not codec-support, and in this good OsmoCNI version
this OsmoBSC vty setting is the only config setting in the entire
stack that determines not only which codecs will be used, but also the
order of preference for codec selection at the time of channel
assignment. Some practical possibilities:
* The default is "codec-list fr1 [...]". With fr1 listed at the head
of the list, the rest doesn't matter: with FRv1 indicated as the first
choice and with every GSM MS support FRv1, the selection will always
be FRv1.
* If you set "codec-list fr2 fr1 [...]", the network will switch to
preferring EFR. If the MS support EFR, then EFR will be chosen; if
the MS does not support EFR, then the fallback is FRv1. (This is my
production config.)
* If you set "codec-list fr3 fr2 fr1 [...]", you will get the standard
behavior implemented by most commercial GSM networks:
- if the MS supports AMR, then AMR will be used;
- if the MS supports EFR but nor AMR, then EFR will be used;
- if the MS supports neither AMR nor EFR, then FRv1 will be used.
I watched Neel's OsmoDevCall presentation on this
topic, but it is not
very clear what codecs are supported when osmo-sip-connector and an
external PBX is used?
I won't be able to help you with osmo-sip-connector or external PBX -
I don't use either of those - but to test and prove that the lower-level
components of OsmoCNI stack are working, you should try switching to
the internal MNCC in osmo-msc and see if that config works with all
codecs of interest to you.
On my production network I run OsmoMSC with external MNCC, but that
external MNCC is not osmo-sip-connector - it is my own alternative
implementation of the component which ETSI/3GPP specs call GMSC -
gateway MSC, the gateway to the host country's PSTN. For calls from
one local GSM subscriber to another, my external MNCC is an exact copy
of the internal one built into osmo-msc - but for calls to and from
outside PSTN, my GMSC transcodes RTP to G.711 PCMU or PCMA. Because
the local MS-to-MS path in my production network is identical to
OsmoMSC's internal MNCC, I have a high level of confidence in the
latter, which is why I recommend it as a test path.
Keith wrote:
I'm actually not sure about the state of
transcoding in the MGW, maybe
somebody has WIP in a branch.
I am not aware of anyone having implemented transcoding inside osmo-mgw,
but most production networks implement a transcoder in whatever element
connects to the {OsmoMSC+OsmoMGW} entity. As I understand it, in the
case of Rhizomatica this transcoder is an off-the-shelf piece of
software operating somewhere in SIP universe; in the case of Themyscira
Wireless the transcoder is a "soft TRAU" implemented by me, transcoding
between FR/EFR on the GSM side and PCMU/PCMA on the PSTN side, no other
combinations.
M~