openwrt / telephony

The telephony packages feed
105 stars 246 forks source link

res_crypto not availble in the asterisk package #755

Closed dmsherazi closed 2 years ago

dmsherazi commented 2 years ago

I am trying to use webrtc with asterisk and I get the follwoing erros

image The DTLS fails and as far as I understand its because we dont have the res_crypto package.

How can i solve this , The baresip-mod-dtls-srtp package has dtls .

https://github.com/dragino/openwrt-telephony-packages/blob/master/net/asterisk-1.8.x/Makefile this Makefile has res_crypto

micmac1 commented 2 years ago

Hi Dost,

res_crypto gets installed together with the main asterisk package nowadays. Check your modules directory, /usr/lib/asterisk/modules, it should be there.

Seb

dmsherazi commented 2 years ago

@micmac1 yes its available , Thanks for this info. Can you please help understand why the DTLS failure occurs? and how can solve it ?

dmsherazi commented 2 years ago

I checked the running modules and I got the following result

SHAULA-001*CLI> module show 
Module                         Description                              Use Count  Status      Support Level
acl                            Named ACL system                         2          Running              core
app_blind_transfer.so          Blind transfer channel to the given dest 0          Running          extended
app_confbridge.so              Conference Bridge Application            1          Running              core
app_dial.so                    Dialing Application                      0          Running              core
app_echo.so                    Simple Echo Application                  0          Running              core
app_macro.so                   Extension Macros                         0          Running        deprecated
app_page.so                    Page Multiple Phones                     0          Running              core
app_playback.so                Sound File Playback Application          0          Running              core
app_playtones.so               Playtones Application                    0          Running              core
app_stack.so                   Dialplan subroutines (Gosub, Return, etc 0          Running              core
app_system.so                  Generic System() application             0          Running              core
app_verbose.so                 Send verbose output                      0          Running              core
bridge_builtin_features.so     Built in bridging features               1          Running              core
bridge_simple.so               Simple two channel bridging module       0          Running              core
bridge_softmix.so              Multi-party software based channel mixin 0          Running              core
ccss                           Call Completion Supplementary Services   2          Running              core
cdr                            CDR Engine                               1          Running              core
cel                            CEL Engine                               1          Running              core
chan_console.so                Console Channel Driver                   0          Running          extended
chan_pjsip.so                  PJSIP Channel Driver                     0          Running              core
chan_rtp.so                    RTP Media Channel                        0          Running              core
codec_g729.so                  g729 Coder/Decoder, based on Bcg729      0          Running           unknown
codec_gsm.so                   GSM Coder/Decoder                        0          Running              core
codec_opus_open_source.so      Opus Coder/Decoder                       0          Running           unknown
codec_ulaw.so                  mu-Law Coder/Decoder                     0          Running              core
dnsmgr                         DNS Manager                              2          Running              core
dsp                            DSP                                      1          Running              core
enum                           ENUM Support                             1          Running              core
extconfig                      Configuration                            15         Running              core
features                       Call Features                            1          Running              core
format_g729.so                 Raw G.729 data                           0          Running              core
format_gsm.so                  Raw GSM data                             0          Running              core
format_wav_gsm.so              Microsoft WAV format (Proprietary GSM)   0          Running              core
func_callerid.so               Party ID related dialplan functions (Cal 0          Running              core
func_curl.so                   Load external URL                        1          Running              core
func_logic.so                  Logical dialplan functions               0          Running              core
func_pjsip_aor.so              Get information about a PJSIP AOR        0          Running              core
func_pjsip_contact.so          Get information about a PJSIP contact    0          Running              core
func_pjsip_endpoint.so         Get information about a PJSIP endpoint   0          Running              core
func_strings.so                String handling dialplan functions       0          Running              core
func_timeout.so                Channel timeout dialplan functions       0          Running              core
http                           Built-in HTTP Server                     5          Running              core
indications                    Indication Tone Handling                 1          Running              core
logger                         Logger                                   1          Running              core
manager                        Asterisk Manager Interface               1          Running              core
pbx_config.so                  Text Extension Configuration             0          Running              core
plc                            PLC                                      1          Running              core
res_agi.so                     Asterisk Gateway Interface (AGI)         1          Running              core
res_ari.so                     Asterisk RESTful Interface               9          Running              core
res_ari_applications.so        RESTful API module - Stasis application  0          Running              core
res_ari_asterisk.so            RESTful API module - Asterisk resources  0          Running              core
res_ari_bridges.so             RESTful API module - Bridge resources    0          Running              core
res_ari_device_states.so       RESTful API module - Device state resour 0          Running              core
res_ari_endpoints.so           RESTful API module - Endpoint resources  0          Running              core
res_ari_events.so              RESTful API module - WebSocket resource  0          Running              core
res_ari_model.so               ARI Model validators                     9          Running              core
res_ari_playbacks.so           RESTful API module - Playback control re 0          Running              core
res_ari_recordings.so          RESTful API module - Recording resources 0          Running              core
res_ari_sounds.so              RESTful API module - Sound resources     0          Running              core
res_audiosocket.so             AudioSocket support                      0          Running          extended
res_clioriginate.so            Call origination and redirection from th 0          Running              core
res_config_curl.so             Realtime Curl configuration              0          Running              core
res_config_mysql.so            MySQL RealTime Configuration Driver      0          Running          extended
res_crypto.so                  Cryptographic Digital Signatures         0          Running              core
res_curl.so                    cURL Resource Module                     3          Running              core
res_format_attr_h264.so        H.264 Format Attribute Module            1          Running              core
res_format_attr_opus.so        Opus Format Attribute Module             1          Running              core
res_hep.so                     HEPv3 API                                2          Running          extended
res_hep_pjsip.so               PJSIP HEPv3 Logger                       0          Not Running      extended
res_hep_rtcp.so                RTCP HEPv3 Logger                        0          Not Running      extended
res_http_websocket.so          HTTP WebSocket Support                   3          Running              core
res_musiconhold.so             Music On Hold Resource                   0          Running              core
res_phoneprov.so               HTTP Phone Provisioning                  1          Running          extended
res_pjproject.so               PJPROJECT Log and Utility Support        4          Running              core
res_pjsip.so                   Basic SIP resource                       47         Running              core
res_pjsip_acl.so               PJSIP ACL Resource                       0          Running              core
res_pjsip_authenticator_digest.so PJSIP authentication resource            0          Running              core
res_pjsip_caller_id.so         PJSIP Caller ID Support                  1          Running              core
res_pjsip_config_wizard.so     PJSIP Config Wizard                      1          Running              core
res_pjsip_dialog_info_body_generator.so PJSIP Extension State Dialog Info+XML Pr 0          Running              core
res_pjsip_diversion.so         PJSIP Add Diversion Header Support       1          Running              core
res_pjsip_dlg_options.so       SIP OPTIONS in dialog handler            0          Running              core
res_pjsip_dtmf_info.so         PJSIP DTMF INFO Support                  0          Running              core
res_pjsip_empty_info.so        PJSIP Empty INFO Support                 0          Running              core
res_pjsip_endpoint_identifier_anonymous.so PJSIP Anonymous endpoint identifier      0          Running              core
res_pjsip_endpoint_identifier_ip.so PJSIP IP endpoint identifier             0          Running              core
res_pjsip_endpoint_identifier_user.so PJSIP username endpoint identifier       0          Running              core
res_pjsip_exten_state.so       PJSIP Extension State Notifications      0          Running              core
res_pjsip_header_funcs.so      PJSIP Header Functions                   0          Running              core
res_pjsip_history.so           PJSIP History                            0          Running          extended
res_pjsip_logger.so            PJSIP Packet Logger                      0          Running              core
res_pjsip_messaging.so         PJSIP Messaging Support                  0          Running              core
res_pjsip_mwi.so               PJSIP MWI resource                       0          Running              core
res_pjsip_mwi_body_generator.so PJSIP MWI resource                       0          Running              core
res_pjsip_nat.so               PJSIP NAT Support                        0          Running              core
res_pjsip_notify.so            CLI/AMI PJSIP NOTIFY Support             0          Running              core
res_pjsip_one_touch_record_info.so PJSIP INFO One Touch Recording Support   0          Running              core
res_pjsip_outbound_authenticator_digest.so PJSIP authentication resource            0          Running              core
res_pjsip_outbound_publish.so  PJSIP Outbound Publish Support           2          Running              core
res_pjsip_outbound_registration.so PJSIP Outbound Registration Support      0          Running              core
res_pjsip_path.so              PJSIP Path Header Support                0          Running              core
res_pjsip_phoneprov_provider.so PJSIP Phoneprov Provider                 0          Running          extended
res_pjsip_pidf_body_generator.so PJSIP Extension State PIDF Provider      0          Running              core
res_pjsip_pidf_digium_body_supplement.so PJSIP PIDF Sangoma presence supplement   0          Running              core
res_pjsip_pidf_eyebeam_body_supplement.so PJSIP PIDF Eyebeam supplement            0          Running              core
res_pjsip_publish_asterisk.so  PJSIP Asterisk Event PUBLISH Support     0          Running              core
res_pjsip_pubsub.so            PJSIP event resource                     12         Running              core
res_pjsip_refer.so             PJSIP Blind and Attended Transfer Suppor 1          Running              core
res_pjsip_registrar.so         PJSIP Registrar Support                  0          Running              core
res_pjsip_rfc3326.so           PJSIP RFC3326 Support                    0          Running              core
res_pjsip_sdp_rtp.so           PJSIP SDP RTP/AVP stream handler         0          Running              core
res_pjsip_send_to_voicemail.so PJSIP REFER Send to Voicemail Support    0          Running              core
res_pjsip_session.so           PJSIP Session resource                   19         Running              core
res_pjsip_sips_contact.so      UAC SIPS Contact support                 0          Running              core
res_pjsip_stir_shaken.so       PJSIP STIR/SHAKEN Module for Asterisk    0          Running              core
res_pjsip_t38.so               PJSIP T.38 UDPTL Support                 0          Running              core
res_pjsip_transport_websocket.so PJSIP WebSocket Transport Support        0          Running              core
res_pjsip_xpidf_body_generator.so PJSIP Extension State PIDF Provider      0          Running              core
res_rtp_asterisk.so            Asterisk RTP Stack                       0          Running              core
res_rtp_multicast.so           Multicast RTP Engine                     1          Running              core
res_sorcery_astdb.so           Sorcery Astdb Object Wizard              3          Running              core
res_sorcery_config.so          Sorcery Configuration File Object Wizard 21         Running              core
res_sorcery_memory.so          Sorcery In-Memory Object Wizard          8          Running              core
res_sorcery_realtime.so        Sorcery Realtime Object Wizard           0          Running              core
res_speech.so                  Generic Speech Recognition API           1          Running              core
res_srtp.so                    Secure RTP (SRTP)                        0          Running              core
res_stasis.so                  Stasis application support               13         Running              core
res_stasis_device_state.so     Stasis application device state support  1          Running              core
res_stasis_playback.so         Stasis application playback support      2          Running              core
res_stasis_recording.so        Stasis application recording support     3          Running              core
res_stir_shaken.so             STIR/SHAKEN Module for Asterisk          1          Running              core
res_timing_timerfd.so          Timerfd Timing Interface                 0          Running              core
sounds                         Sounds Index                             1          Running              core
udptl                          UDPTL                                    2          Running              core
micmac1 commented 2 years ago

Hi Dost,

The "internal error" seems to come from openssl. Maybe some configuration issue. I don't know.

Best regards, Seb

@.*** yes its available , Thanks for this info. Can you please help understand why the DTLS failure occurs? and how can solve it ?

dmsherazi commented 2 years ago

ERROR[4104]: pjproject: <?>: icess0xb4cfa02 ...Error sending STUN request: Permission denied

is this also fatal for the webrtc call?

micmac1 commented 2 years ago

ERROR[4104]: pjproject: <?>: icess0xb4cfa02 ...Error sending STUN request: Permission denied

is this also fatal for the webrtc call?

I don't know.

jslachta commented 2 years ago

Hi Dost

You need to use STUN in WebRTC for devices behind NAT.

micmac1 commented 2 years ago

Closing as res_crypto is available.