Dear Osmocom community,
Did somebody try to use nano3g ip.access femtocells and Osmocom system with external call handling? What I am trying to do is to make calls work between VoIP phones connected to PBX and UEs connected to Osmocom system. I've tried two PBXs: Kamailio with rtpengine and Asterisk. Signalling worked good between VoIP phone and UE with both PBXs; calls between two UEs registered on Osmocom system worked good also... But I fail to do transcoding (calls between VoIP phone and UE). The problem is that it is unknown which codec is used by nano3g ip.access femtocell.
So, the question is: Do you know what codecs were used for speech in your setup with nano3g ip.access femtocells? Or do you know how to find out that information? (It was stated by ip.access that they use AMR but I failed to match AMR specs with RTP payload that was sent by femtocell...).
I would be very grateful for any ideas.
Kind regards, Mykola
Dear Mykola, PBX (like asterisk) not support amr, try using TCHF/TCHH (not AMR).
see this : https://community.asterisk.org/t/support-for-amr-codec/73659
hope this help!
On Fri, Dec 14, 2018 at 4:51 PM Mykola Shchetinin mykola@kingmuffin.com wrote:
Dear Osmocom community,
Did somebody try to use nano3g ip.access femtocells and Osmocom system with external call handling? What I am trying to do is to make calls work between VoIP phones connected to PBX and UEs connected to Osmocom system. I've tried two PBXs: Kamailio with rtpengine and Asterisk. Signalling worked good between VoIP phone and UE with both PBXs; calls between two UEs registered on Osmocom system worked good also... But I fail to do transcoding (calls between VoIP phone and UE). The problem is that it is unknown which codec is used by nano3g ip.access femtocell.
So, the question is: Do you know what codecs were used for speech in your setup with nano3g ip.access femtocells? Or do you know how to find out that information? (It was stated by ip.access that they use AMR but I failed to match AMR specs with RTP payload that was sent by femtocell...).
I would be very grateful for any ideas.
Kind regards, Mykola
Change on your config on osmo-bsc, osmo-msc to change the codec.
example : (osmo-bsc)
msc 0 ip.access rtp-base 25000 no bsc-welcome-text no bsc-msc-lost-text no bsc-grace-text type normal allow-emergency allow codec-list fr1 amr-config 12_2k forbidden amr-config 10_2k forbidden amr-config 7_95k forbidden amr-config 7_40k forbidden amr-config 6_70k forbidden amr-config 5_90k forbidden amr-config 5_15k forbidden amr-config 4_75k forbidden mgw remote-ip 127.0.0.1 mgw remote-port 2427 mgw endpoint-range 1 31 mgw local-ip 127.0.0.1
(osmo-msc) mncc-int default-codec tch-f fr default-codec tch-h hr
On Fri, Dec 14, 2018 at 5:07 PM Mykola Shchetinin mykola@kingmuffin.com wrote:
try using TCHF/TCHH (not AMR)
and how do one tell the femtocell to use that?
Thank you for the help. Though we don't have osmo-bsc as we have 3g only network (osmo-hnbgw) and the parameters you've written for osmo-msc seem to work for internal call handling only (as far as I know) whilst I use osmo-sip-connector to connect to PBX...
it should be the same for osmo-msc, it connect to osmo-sip-connector too via /tmp/bsc_mncc om msc site. did you add these parameter to connect mncc to osmo-sip?
On Fri, Dec 14, 2018 at 5:16 PM Mykola Shchetinin mykola@kingmuffin.com wrote:
Thank you for the help. Though we don't have osmo-bsc as we have 3g only network (osmo-hnbgw) and the parameters you've written for osmo-msc seem to work for internal call handling only (as far as I know) whilst I use osmo-sip-connector to connect to PBX...
Hi Mykola,
that talk about AMR in this thread is completely moot when we're talking IuCS and nano3G.
The point is that IuCS doesn't talk plain RTP, it talks IuUP inside the RTP payload (!). That is another header, and the AMR bits inside that are mangled and shifted around, even though the underlying codec is still AMR.
We are also talking about that as we are gearing up for congress. Not so long ago on this mailing list we have talked about IuUP, and the two branches that are half finished work towards de-/encapsulating IuUP when talking to 3G.
So far 3G <-> 3G voice calls work only because we directly pass through the IuUP (with a pretty mad header hack) and then both ends understand to extract the voice from it.
As soon as you want to go 3G <-> 2G or 3G <-> PBX, it's a lost cause without IuUP decoding, e.g. in OsmoMGW.
~N
Copying another mail I wrote on another list:
"
I've been asked about IuUP specs.
So far I know of 3GPP TS 25.414, 5.1.3.3.2 RTP Payload: "A single Iu UP PDU, as described in TS 25.415 [24], shall be transported as RTP payload."
And 25.415 contains the juicy bits.
We have osmo-mgw branch neels/iuup refactoring some RTP packet handling to be able to easily strip/insert an IuUP header with correct checksums etc., and we have libosmocore branch laforge/iu_up implementing a state machine about unshuffling the payload bits. I guess to get a working solution we would need to marry those two branches and fix whatever is still broken/not implemented in there. They are still potentially wildly incompatible.
"
~N
Hello Neels,
Thank you very much. It explains a lot!
We have osmo-mgw branch neels/iuup refactoring some RTP packet handling to be able to easily strip/insert an IuUP header with correct checksums etc., and we have libosmocore branch laforge/iu_up implementing a state machine about unshuffling the payload bits. I guess to get a working solution we would need to marry those two branches and fix whatever is still broken/not implemented in there. They are still potentially wildly incompatible.
And can I ask what the status/priority of this work is? When do you want/expect to get this working?
Is there any way we could support that?
Kind regards, Mykola
On Fri, Dec 14, 2018 at 06:30:50PM +0200, Mykola Shchetinin wrote:
And can I ask what the status/priority of this work is? When do you want/expect to get this working?
The prio is hobby / contribution. There is no funding for that presently. But being able to decode it is very desirable from the community POV. It would allow 2G/PBX+PSTN interop, early media: important for a non-lab installation.
We might try to get it working for the 35c3 congress, but we might just disable 3G (as opt-in) if 3G voice cannot work, to improve the user experience.
Is there any way we could support that?
As always, you can contribute code, or you can fund development. Fund either own developer(s) and contribute to gerrit, or book e.g. from sysmocom. I think we should be able to take that on in early 2019, but rather ask sales@.
~N
Hello Neels,
As always, you can contribute code, or you can fund development. Fund either own developer(s) and contribute to gerrit, or book e.g. from sysmocom.
Understood. I will try to make it work. Though I don't promise anything as I see this code the first time unlike you and Harald :)
Regards, Mykola
On Mon, Dec 17, 2018 at 06:41:31PM +0200, Mykola Shchetinin wrote:
Hello Neels,
As always, you can contribute code, or you can fund development. Fund either own developer(s) and contribute to gerrit, or book e.g. from sysmocom.
Understood. I will try to make it work. Though I don't promise anything as I see this code the first time unlike you and Harald :)
Feel free to ping on IRC: FreeNode #osmocom any time. In case we try anything for congress it would be good to keep in touch.
~N