-
Notifications
You must be signed in to change notification settings - Fork 932
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[bug]: Call between tls/dtls configured client and udp configured client fails with ‘called a function you should not call’ #575
Comments
Alpine is not a core supported environment by the project. It is community supported, and may ultimately be the cause of this. There have been no other reports of such an issue with non-Alpine environments. |
Well it does work in alpine 3.11 (asterisk 16.6.2). As far as I understand this is somehow related to libssl that asterisks uses which comes with asterisk as dependency but originates in openssl project. Maybe something is different in how asterisk is built for alpine environment.. Whom could I ask and/or where? |
Asterisk package for Alpine is built using |
We don't distribute packages, people generally build it themselves on the various distros or use the packages provided by those distros. A fundamental difference is that Alpine uses a different libc library to the rest, which has caused issues in the past. I don't know of differences regarding OpenSSL across things. I can just safely say that across Debian, Ubuntu, and Redhat based distros things currently work fine in this area. You could investigate yourself such as trying to figure out the differences between Asterisk versions and identify what caused the behavior change to elicit this. |
I do recall there are one or two people with Asterisk + Alpine experience, so perhaps they'll comment on here with insight too. |
Thanks |
I have no involvement in Ubuntu packaging. It would also depend on the version of Ubuntu in question. I don't know off the top of my head where to look. |
I've reproduced exactly same issue on ubuntu .
|
The current supported version of Asterisk 18 is 18.21.0. It would need to be reproduced under that version built by yourself without any patches. If the problem reoccurs then a complete log, as well as a packet capture would be needed. We would also need to know what client is using DTLS, since using it in a non-WebRTC environment is uncommon. |
Client is |
Distro packages lag behind, and they also include patches not part of Asterisk. |
Ok, I guess tcpdump taken now should be fine (i.e. I don't need to build asterisk from scratch). So here it is:
And packet that most likely caused issue is this one: I'll try to build "proper" asterisk version later next week... though I doubt this will do anything useful. |
Were you able to reproduce this using a non-distro build? |
I didn't have time to setup everything I need to build asterisk from sources. So - no, I didn't. |
Severity
Minor
Versions
Asterisk 20.5.2
Components/Modules
res_rtp_asterisk
Operating Environment
Alpine Linux 3.19, docker container
Frequency of Occurrence
Constant
Issue Description
I have two clients connected in following way:
"Intercom" client uses udp for both sip and rtp
and "User" client that uses tls/dtsl:
When I try to make call from "User" to "Intercom" sip seems to work just fine and bridge is created on asterisk, but then suddenly call drops with following messages in the logs:
Error is
This error message most likely comes from openssl library here:
https://github.com/openssl/openssl/blob/9170cc0398222778065e098e396b8eb8cd0de1d3/ssl/ssl_lib.c#L2291
which is probably called from asterisk code here:
https://github.com/asterisk/asterisk/blob/master/res/res_rtp_asterisk.c#L3284
I've tried this setup on lower and lower Asterisk versions and it eventually worked on Asterisk 16.6.2 (Alpine 3.11 in container).
Relevant log output
No response
Asterisk Issue Guidelines
The text was updated successfully, but these errors were encountered: