HTTP/HTTPs show no support while configure

399 views
Skip to first unread message

ajay prasad

unread,
Jul 10, 2020, 7:17:13 AM7/10/20
to meetecho-janus

Hi All

Today i am trying to update Janus to 10.0.3, I checkout janus lastet master branch on same machine, but while ./configure it transport HTTP/HTTPs  shows no support, 
One month back I configured and compiled Janus on centos7 machine. All went smooth and working fine.

 I updated/installed libnice from libice0.0.3  to libnice.0-1.6 toady, that is only change i made. 

Can any one suggest if I am doing something wrong or missing something.  

Thanks!



./configure output 


[root@dev-webrtc janus-gateway]# ./configure --prefix=/opt/janus11 --disable-mqtt --disable-websockets-event-handler --disable-gelf-event-handler 

checking for a BSD-compatible install... /bin/install -c

checking whether build environment is sane... yes

checking for a thread-safe mkdir -p... /bin/mkdir -p

checking for gawk... gawk

checking whether make sets $(MAKE)... yes

checking whether make supports nested variables... yes

checking whether make supports nested variables... (cached) yes

checking for style of include used by make... GNU

checking for gcc... gcc

checking whether the C compiler works... yes

checking for C compiler default output file name... a.out

checking for suffix of executables... 

checking whether we are cross compiling... no

checking for suffix of object files... o

checking whether we are using the GNU C compiler... yes

checking whether gcc accepts -g... yes

checking for gcc option to accept ISO C89... none needed

checking dependency style of gcc... gcc3

checking how to run the C preprocessor... gcc -E

checking for grep that handles long lines and -e... /bin/grep

checking for egrep... /bin/grep -E

checking for ANSI C header files... yes

checking for sys/types.h... yes

checking for sys/stat.h... yes

checking for stdlib.h... yes

checking for string.h... yes

checking for memory.h... yes

checking for strings.h... ^[[Ayes

checking for inttypes.h... yes

checking for stdint.h... yes

checking for unistd.h... yes

checking minix/config.h usability... no

checking minix/config.h presence... no

checking for minix/config.h... no

checking whether it is safe to define __EXTENSIONS__... yes

checking for gcc... (cached) gcc

checking whether we are using the GNU C compiler... (cached) yes

checking whether gcc accepts -g... (cached) yes

checking for gcc option to accept ISO C89... (cached) none needed

checking dependency style of gcc... (cached) gcc3

checking build system type... x86_64-unknown-linux-gnu

checking host system type... x86_64-unknown-linux-gnu

checking how to print strings... printf

checking for a sed that does not truncate output... /bin/sed

checking for fgrep... /bin/grep -F

checking for ld used by gcc... /bin/ld

checking if the linker (/bin/ld) is GNU ld... yes

checking for BSD- or MS-compatible name lister (nm)... /bin/nm -B

checking the name lister (/bin/nm -B) interface... BSD nm

checking whether ln -s works... yes

checking the maximum length of command line arguments... 1572864

checking whether the shell understands some XSI constructs... yes

checking whether the shell understands "+="... yes

checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop

checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop

checking for /bin/ld option to reload object files... -r

checking for objdump... objdump

checking how to recognize dependent libraries... pass_all

checking for dlltool... no

checking how to associate runtime and link libraries... printf %s\n

checking for ar... ar

checking for archiver @FILE support... @

checking for strip... strip

checking for ranlib... ranlib

checking command to parse /bin/nm -B output from gcc object... ok

checking for sysroot... no

checking for mt... no

checking if : is a manifest tool... no

checking for dlfcn.h... yes

checking for objdir... .libs

checking if gcc supports -fno-rtti -fno-exceptions... no

checking for gcc option to produce PIC... -fPIC -DPIC

checking if gcc PIC flag -fPIC -DPIC works... yes

checking if gcc static flag -static works... yes

checking if gcc supports -c -o file.o... yes

checking if gcc supports -c -o file.o... (cached) yes

checking whether the gcc linker (/bin/ld -m elf_x86_64) supports shared libraries... yes

checking whether -lc should be explicitly linked in... no

checking dynamic linker characteristics... GNU/Linux ld.so

checking how to hardcode library paths into programs... immediate

checking whether stripping libraries is possible... yes

checking if libtool supports shared libraries... yes

checking whether to build shared libraries... yes

checking whether to build static libraries... no

checking for pkg-config... /bin/pkg-config

checking pkg-config is at least version 0.9.0... yes

checking for JANUS... yes

checking for library containing tls_config_set_ca_mem... no

checking for nice_agent_set_port_range in -lnice... no

configure: libnice version does not have nice_agent_set_port_range

checking for nice_address_equal_no_port in -lnice... no

configure: libnice version does not support TCP candidates

checking for dlopen in -ldl... yes

checking for LIBSRTP... no

checking for LIBSRTP... yes

checking for usrsctp_finish in -lusrsctp... yes

checking for LIBCURL... yes

checking for doxygen... doxygen

checking for dot... dot

checking for gengetopt... yes

checking for TRANSPORTS... yes

checking for MHD... no

checking for lws_create_vhost in -lwebsockets... yes

checking for lws_get_peer_simple in -lwebsockets... yes

checking for amqp_error_string2 in -lrabbitmq... yes

checking for MQTTAsync_create in -lpaho-mqtt3a... yes

checking for nn_socket in -lnanomsg... yes

checking for PLUGINS... yes

checking for SOFIA... yes

checking for OPUS... yes

checking for OGG... yes

checking for LUA... no

checking for LUA... no

checking for EVENTS... yes

checking for LOGGERS... yes

checking for npm... /bin/npm

checking for PCAP... no

checking that generated files are newer than configure... done

configure: creating ./config.status

config.status: creating Makefile

config.status: creating html/Makefile

config.status: creating docs/Makefile

config.status: executing depfiles commands

config.status: executing libtool commands


Compiler:                  gcc

libsrtp version:           1.5.x

SSL/crypto library:        OpenSSL

DTLS set-timeout:          not available

Mutex implementation:      GMutex (native futex on Linux)

DataChannels support:      yes

Recordings post-processor: no

TURN REST API client:      yes

Doxygen documentation:     no

Transports:

    REST (HTTP/HTTPS):     no

    WebSockets:            yes

    RabbitMQ:              yes

    MQTT:                  no

    Unix Sockets:          yes

    Nanomsg:               yes

Plugins:

    Echo Test:             yes

    Streaming:             yes

    Video Call:            yes

    SIP Gateway:           yes

    NoSIP (RTP Bridge):    yes

    Audio Bridge:          yes

    Video Room:            yes

    Voice Mail:            yes

    Record&Play:           yes

    Text Room:             yes

    Lua Interpreter:       no

    Duktape Interpreter:   no

Event handlers:

    Sample event handler:  yes

    WebSocket ev. handler: no

    RabbitMQ event handler:yes

    MQTT event handler:    yes

    Nanomsg event handler: yes

    GELF event handler:    no

External loggers:

    JSON file logger:      no

JavaScript modules:        no


If this configuration is ok for you, do a 'make' to start building Janus. A 'make install' will install Janus and its plugins to the specified prefix. Finally, a 'make configs' will install some sample configuration files too (something you'll only want to do the first time, though).




Francesc Pinyol Margalef

unread,
Jul 10, 2020, 8:04:45 AM7/10/20
to meetecho-janus
Hi,
It seems that MHD (libmicrohttpd) is not found. Did you install it?
You will need a recent version.
To compile and install it:



Francesc

El divendres, 10 juliol de 2020 13:17:13 UTC+2, ajay prasad va escriure:
[...]

checking for MHD... no





ajay prasad

unread,
Jul 13, 2020, 3:42:01 AM7/13/20
to meetecho-janus

Hi 
Thanks for your response Francesc.
I updated to libmicrohttpd version to 0.9.71 and janus 10.0.3
Now HTTP Transport is working but HTTPS is not, HTTP transport is not getting started on ssl PORT

Kindly suggest on this if anything i need to verify.
 
Note: SSL port working with previous janus build with same configuration.


Logs with debug level 7:
[Mon Jul 13 07:34:06 2020] Restricting Access-Control-Allow-Origin to '*'
[Mon Jul 13 07:34:06 2020] Binding to all interfaces for the Janus API HTTP webserver
[Mon Jul 13 07:34:06 2020] HTTP webserver started (port 8058, /klrtc path listener)...
[Mon Jul 13 07:34:06 2020] Using certificates:
/etc/ssl/certs/my.crt
/etc/ssl/certs/my.key
[Mon Jul 13 07:34:06 2020] Going to bind the Janus API HTTPS webserver to 10.61.2.132 (asked for 10.61.2.132)
[Mon Jul 13 07:34:06 2020] Binding to IP '10.61.2.132' for the Janus API HTTPS webserver
[Mon Jul 13 07:34:06 2020] [FATAL] [transports/janus_http.c:janus_http_init:791] Couldn't start secure webserver on port 8089...
[Mon Jul 13 07:34:06 2020] Binding to all interfaces for the Admin API HTTP webserver
[Mon Jul 13 07:34:06 2020] Admin/monitor HTTP webserver started (port 7088, /admin path listener)...
[Mon Jul 13 07:34:06 2020] Binding to all interfaces for the Admin API HTTPS webserver
[Mon Jul 13 07:34:06 2020] [FATAL] [transports/janus_http.c:janus_http_init:849] Couldn't start secure admin/monitor webserver on port 7889...
[Mon Jul 13 07:34:06 2020] JANUS REST (HTTP/HTTPS) transport plugin initialized!
[Mon Jul 13 07:34:06 2020] Version: 2 (0.0.2)
[Mon Jul 13 07:34:06 2020]    [janus.transport.http] JANUS REST (HTTP/HTTPS) transport plugin
[Mon Jul 13 07:34:06 2020]    This transport plugin adds REST (HTTP/HTTPS) support to the Janus API via libmicrohttpd.
[Mon Jul 13 07:34:06 2020]    Plugin API version: 7
[Mon Jul 13 07:34:06 2020]    Janus API: enabled
[Mon Jul 13 07:34:06 2020]    Admin API: enabled
[Mon Jul 13 07:34:06 2020] Loading transport plugin 'libjanus_websockets.so'...
[Mon Jul 13 07:34:06 2020] JANUS WebSockets transport plugin created!
[Mon Jul 13 07:34:06 2020] [WARN] libwebsockets has been built without IPv6 support, will bind to IPv4 only
[Mon Jul 13 07:34:06 2020] Configuration file: /opt/janus11/etc/janus/janus.transport.websockets.jcfg
[Mon Jul 13 07:34:06 2020] [janus.transport.websockets.jcfg]

Francesc Pinyol Margalef

unread,
Jul 13, 2020, 4:14:58 AM7/13/20
to meetecho-janus
Hi,
Did you specify general.secure_ip in janus.jcfg? Try without specifying an IP address:

general: {
...

 
#secure_ip = "10.61.2.132"
...

}


Francesc

El divendres, 10 juliol de 2020 13:17:13 UTC+2, ajay prasad va escriure:

ajay prasad

unread,
Jul 13, 2020, 4:26:50 AM7/13/20
to meetecho-janus

Hi,

I have used secure_ip = "10.61.2.132" in general section.  Now I have commented this line and checked both showing same result ssl port not working,
 
[Mon Jul 13 08:19:23 2020] Going to bind the Janus API HTTPS webserver to 10.61.2.132 (asked for ens5)
[Mon Jul 13 08:19:23 2020] Binding to interface 'ens5' for the Janus API HTTPS webserver
[Mon Jul 13 08:19:23 2020] [FATAL] [transports/janus_http.c:janus_http_init:791] Couldn't start secure webserver on port 8089...
[Mon Jul 13 08:19:23 2020] Binding to all interfaces for the Admin API HTTP webserver
[Mon Jul 13 08:19:23 2020] Admin/monitor HTTP webserver started (port 7088, /admin path listener)...
[Mon Jul 13 08:19:23 2020] Binding to all interfaces for the Admin API HTTPS webserver
[Mon Jul 13 08:19:23 2020] [FATAL] [transports/janus_http.c:janus_http_init:849] Couldn't start secure admin/monitor webserver on port 7889...
[Mon Jul 13 08:19:23 2020] JANUS REST (HTTP/HTTPS) transport plugin initialized!
[Mon Jul 13 08:19:23 2020] Version: 2 (0.0.2)

Mirko Brankovic

unread,
Jul 13, 2020, 5:12:19 AM7/13/20
to meetecho-janus
Check your 
/etc/ssl/certs/my.crt
certificate and maybe try to generate new ones, could be a version mismatch (tls 1.0 deprecation,...)

--
You received this message because you are subscribed to the Google Groups "meetecho-janus" group.
To unsubscribe from this group and stop receiving emails from it, send an email to meetecho-janu...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/meetecho-janus/3ff43fa2-4835-427e-a2b4-cd5ffd372fb8o%40googlegroups.com.


--
Regards,
Mirko

Mirko Brankovic

unread,
Jul 13, 2020, 5:13:14 AM7/13/20
to meetecho-janus
I just read that TLS 1.0 EOL is 30th June
--
Regards,
Mirko

Mirko Brankovic

unread,
Jul 13, 2020, 5:14:21 AM7/13/20
to meetecho-janus
31st March sorry :D, 
--
Regards,
Mirko

ajay prasad

unread,
Jul 13, 2020, 6:27:31 AM7/13/20
to meetecho-janus


Hi Mirko, Thanks for response.

Yes, I actually updated the certificate in April, earlier i was facing certificate error because 30th March expiry.  Currently same certificate works with my older build and via nginx. 
Any ways will check on certificate part.  

If I wanted to be sure, certificate is an issue? where/how can i check , Logs not showing more information even debug-level is set to 7.
Thanks.


On Monday, 13 July 2020 14:44:21 UTC+5:30, Mirko Brankovic wrote:
31st March sorry :D, 

On Mon, Jul 13, 2020 at 11:12 AM Mirko Brankovic <mirkobr...@gmail.com> wrote:
I just read that TLS 1.0 EOL is 30th June

On Mon, Jul 13, 2020 at 11:12 AM Mirko Brankovic <mirkobr...@gmail.com> wrote:
Check your 
/etc/ssl/certs/my.crt
certificate and maybe try to generate new ones, could be a version mismatch (tls 1.0 deprecation,...)

On Mon, Jul 13, 2020 at 10:26 AM ajay prasad <aja...@gmail.com> wrote:

Hi,

I have used secure_ip = "10.61.2.132" in general section.  Now I have commented this line and checked both showing same result ssl port not working,
 
[Mon Jul 13 08:19:23 2020] Going to bind the Janus API HTTPS webserver to 10.61.2.132 (asked for ens5)
[Mon Jul 13 08:19:23 2020] Binding to interface 'ens5' for the Janus API HTTPS webserver
[Mon Jul 13 08:19:23 2020] [FATAL] [transports/janus_http.c:janus_http_init:791] Couldn't start secure webserver on port 8089...
[Mon Jul 13 08:19:23 2020] Binding to all interfaces for the Admin API HTTP webserver
[Mon Jul 13 08:19:23 2020] Admin/monitor HTTP webserver started (port 7088, /admin path listener)...
[Mon Jul 13 08:19:23 2020] Binding to all interfaces for the Admin API HTTPS webserver
[Mon Jul 13 08:19:23 2020] [FATAL] [transports/janus_http.c:janus_http_init:849] Couldn't start secure admin/monitor webserver on port 7889...
[Mon Jul 13 08:19:23 2020] JANUS REST (HTTP/HTTPS) transport plugin initialized!
[Mon Jul 13 08:19:23 2020] Version: 2 (0.0.2)

--
You received this message because you are subscribed to the Google Groups "meetecho-janus" group.
To unsubscribe from this group and stop receiving emails from it, send an email to meetech...@googlegroups.com.


--
Regards,
Mirko


--
Regards,
Mirko


--
Regards,
Mirko

Mirko Brankovic

unread,
Jul 13, 2020, 6:59:29 AM7/13/20
to meetecho-janus
I think someone in the beginning pointed to the libmicrohttpd version being not correct (checking for MHD... no), so newer Janus will require newer MHD.
Until you don't see checking for MHD... yes, it won't be able to start the daemon :)

To unsubscribe from this group and stop receiving emails from it, send an email to meetecho-janu...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/meetecho-janus/7916504f-5a86-4d79-97ee-cf0c5738cf0do%40googlegroups.com.


--
Regards,
Mirko

ajay prasad

unread,
Jul 13, 2020, 7:04:15 AM7/13/20
to meetecho-janus


Hi

I tried  recompiling janus 10.0.3,  While doing MAKE   lot of warnings  related to http transport occurs.
Is this can be raeson for HTTP transport on ssl not working , sample log is below.

transports/janus_http.c: In function 'janus_http_create_daemon':
transports/janus_http.c:479:5: warning: passing argument 3 of 'MHD_start_daemon' from incompatible pointer type [enabled by default]
     MHD_OPTION_END);
     ^
In file included from transports/janus_http.c:37:0:
/usr/local/include/microhttpd.h:2425:1: note: expected 'MHD_AcceptPolicyCallback' but argument is of type 'int (*)(void *, const struct sockaddr *, socklen_t'
 MHD_start_daemon (unsigned int flags,
 ^
transports/janus_http.c:479:5: warning: passing argument 5 of 'MHD_start_daemon' from incompatible pointer type [enabled by default]
     MHD_OPTION_END);
     ^


For full logs




Francesc Pinyol Margalef

unread,
Jul 13, 2020, 7:07:16 AM7/13/20
to meetecho-janus
Hi,
Try with also removing the specification of secure_interface in general section of janus.transport.http.jcfg file.
Try with the minimal number of specified variables and the default values (http on 8088; https on 8089):

general: {
       
#events = true                                  # Whether to notify event handlers about transport events (default=true)
        json
= "indented"                               # Whether the JSON messages should be indented (default),
                                                                       
# plain (no indentation) or compact (no indentation and no spaces)
        base_path
= "/janus"                    # Base path to bind to in the web server (plain HTTP only)
        http
= true                                             # Whether to enable the plain HTTP interface
        port
= 8088                                             # Web server HTTP port
       
#interface = "eth0"                             # Whether we should bind this server to a specific interface only
       
#ip = "192.168.0.1"                             # Whether we should bind this server to a specific IP address (v4 or v6) only
        https
= true                                   # Whether to enable HTTPS (default=false)
        secure_port
= 8089                             # Web server HTTPS port, if enabled
       
#secure_interface = "eth0"              # Whether we should bind this server to a specific interface only
       
#secure_ip = "192.168.0.1"              # Whether we should bind this server to a specific IP address (v4 or v6) only
       
#acl = "127.,192.168.0."                # Only allow requests coming from this comma separated list of addresses
}


Is any other process using the 8089 port?
Could you please provide your janus.transport.http.jcfg file?

Francesc


El dilluns, 13 juliol de 2020 10:26:50 UTC+2, ajay prasad va escriure:

ajay prasad

unread,
Jul 13, 2020, 7:07:41 AM7/13/20
to meetecho-janus


MHD shows .. yes.  while configure.

screenshot for reference


On Monday, 13 July 2020 16:29:29 UTC+5:30, Mirko Brankovic wrote:
I think someone in the beginning pointed to the libmicrohttpd version being not correct (checking for MHD... no), so newer Janus will require newer MHD.
Until you don't see checking for MHD... yes, it won't be able to start the daemon :)

image (6).png

ajay prasad

unread,
Jul 13, 2020, 7:25:59 AM7/13/20
to meetecho-janus

Hi,
I verified before posting this, No other service running on 8089 port.
I am running with below configuration, it works with older build(0.9.1)


  1. general: {
  1.         json = "indented"                               # Whether the JSON messages should be indented (default),
  2.                                                                         # plain (no indentation) or compact (no indentation and no spaces)
  3.         base_path = "/janus"                    # Base path to bind to in the web server (plain HTTP only)
  1.         threads = "unlimited"                   # unlimited=thread per connection, number=thread pool
  1.         http = true                                             # Whether to enable the plain HTTP interface
  1.         port = 8058                                             # Web server HTTP port
  1.         #interface = "eth0"                             # Whether we should bind this server to a specific interface only
  1.         #ip = "0.0.0.0"                         # Whether we should bind this server to a specific IP address (v4 or v6) only
  1.         https = true                    # Whether to enable HTTPS (default=false)
  2.         secure_port = 8089                              # Web server HTTPS port, if enabled
  1.         #secure_ip = "10.61.2.132"              # Whether we should bind this server to a specific IP address (v4 or v6) only
  1.         #acl = "127.,192.168.0."                # Only allow requests coming from this comma separated list of addresses
  2. }
  3.  
  1. admin: {
  2.         admin_base_path = "/admin"                      # Base path to bind to in the admin/monitor web server (plain HTTP only)
  3.         admin_threads = "unlimited"                     # unlimited=thread per connection, number=thread pool
  4.         admin_http = true                                       # Whether to enable the plain HTTP interface
  5.         admin_port = 7088                                       # Admin/monitor web server HTTP port
  6.         #admin_interface = "eth0"                       # Whether we should bind this server to a specific interface only
  7.         #admin_ip = "192.168.0.1"                       # Whether we should bind this server to a specific IP address (v4 or v6) only
  8.         admin_https = true                                      # Whether to enable HTTPS (default=false)
  9.         admin_secure_port = 7889                        # Admin/monitor web server HTTPS port, if enabled
  10.         #admin_secure_interface = "eth0"        # Whether we should bind this server to a specific interface only
  11.         #admin_secure_ip = "192.168.0.1         # Whether we should bind this server to a specific IP address (v4 or v6) only
  12.         #admin_acl = "127.,192.168.0."          # Only allow requests coming from this comma separated list of addresses
  13. }
  14.  
  15. certificates: {
  16.         cert_pem = "/etc/ssl/certs/certs/my.crt"
  17.         cert_key = "/etc/ssl/certs/certs/my.key"
  18.         ciphers = "PFS:-VERS-TLS1.0:-VERS-TLS1.1:-3DES-CBC:-ARCFOUR-128"
  19. }

ajay prasad

unread,
Jul 13, 2020, 7:44:27 AM7/13/20
to meetecho-janus

Hi,

While doing make,  there was many warnings related to MHD in tranport.http file

i have installed 

Is this version is compatible i mean it is latest one 28 June 2020? 

I will try check with 0.9.71


ajay prasad

unread,
Jul 13, 2020, 7:46:28 AM7/13/20
to meetecho-janus

Sorry I will try check with 0.9.70,  updated on Feb, 2020


Francesc Pinyol Margalef

unread,
Jul 13, 2020, 7:52:20 AM7/13/20
to meetecho-janus
Hi,
Please try starting with a brand new copy of file janus.transport.http.jcfg.sample as in v0.10.3, and modify only the needed fields:

general.https=true
general.secure_port=8089
certificates.cert_pem="/etc/ssl/certs/certs/my.crt"
certificates.cert_key="/etc/ssl/certs/certs/my.key"

Francesc

El dilluns, 13 juliol de 2020 13:25:59 UTC+2, ajay prasad va escriure:

ajay prasad

unread,
Jul 13, 2020, 8:14:28 AM7/13/20
to meetecho-janus

Hi Francesc,

As suggested i used the config as it was 0.10.3 and changed the necessary params, still the same issue.

     general: {

         json: indented

         base_path: /janus

         http: true

         port: 8088

         https: true

         secure_port: 8089

     }

     admin: {

         admin_base_path: /admin

         admin_http: false

         admin_port: 7088

         admin_https: false

     }

     cors: {

     }

     certificates: {

         cert_pem: /etc/ssl/certs/certs/my.crt

         cert_key: /etc/ssl/certs/certs/my.key

     } 


While doing make,  there was many warnings related to MHD in tranport.http file,  what could be reason for this warnings.
How can we check if Janus is compiled with which version of libmicrohttpd Library?


Please suggest if i need check related to libraries? 








Francesc Pinyol Margalef

unread,
Jul 13, 2020, 8:22:47 AM7/13/20
to meetecho-janus


El dilluns, 13 juliol de 2020 14:14:28 UTC+2, ajay prasad va escriure:

Hi Francesc,

As suggested i used the config as it was 0.10.3 and changed the necessary params, still the same issue.
[...]

While doing make,  there was many warnings related to MHD in tranport.http file,  what could be reason for this warnings.
How can we check if Janus is compiled with which version of libmicrohttpd Library?



# ldd /usr/lib/janus/transports/libjanus_http.so
        linux-vdso.so.1 =>  (0x00007ffea05b6000)
        libmicrohttpd.so.12 => /usr/local/lib/libmicrohttpd.so.12 (0x00007f530b5ff000)
...
 
# ls -l /usr/local/lib/libmicrohttpd.*
-rw-r--r--. 1 root root 1027084  9 jul 13:05 /usr/local/lib/libmicrohttpd.a
-rwxr-xr-x. 1 root root     997  9 jul 13:05 /usr/local/lib/libmicrohttpd.la
lrwxrwxrwx. 1 root root      24  9 jul 13:05 /usr/local/lib/libmicrohttpd.so -> libmicrohttpd.so.12.56.0
lrwxrwxrwx. 1 root root      24  9 jul 13:05 /usr/local/lib/libmicrohttpd.so.12 -> libmicrohttpd.so.12.56.0
-rwxr-xr-x. 1 root root  505376  9 jul 13:05 /usr/local/lib/libmicrohttpd.so.12.56.0

libmicrohttpd.so.12.56.0 corresponds to libmicrohttpd-0.9.71

Francesc Pinyol Margalef

unread,
Jul 13, 2020, 8:31:04 AM7/13/20
to meetecho-janus
Hi,
From your logs I can see that Janus is still trying to use ens5 (from general.secure_interface?):

[Mon Jul 13 10:47:40 2020] Going to bind the Janus API HTTPS webserver to 10.61.2.132 (asked for ens5)

Please check that you are running "sudo make install" after every compilation.
And run newly compilated executable janus file directly, without using a service.

Francesc

El dilluns, 13 juliol de 2020 14:14:28 UTC+2, ajay prasad va escriure:

Hi Francesc,

As suggested i used the config as it was 0.10.3 and changed the necessary params, still the same issue.

[...]

ajay prasad

unread,
Jul 13, 2020, 8:44:40 AM7/13/20
to meetecho-janus

Sorry, Pastebin was old logs,

my inteface name is ens5, Older build was looking for default interface name "eth0" so need to specify.
But now I have verified both with general.secure_interface=ens5 and without ,  and minimal configuration...   it is the same issue.

I am executing as root user.

 
It looks janus compiled with latest libmicrohttpd library.   

[root@dev-webrtc ajay]# ldd /opt/janus/lib/janus/transports/libjanus_http.so
        linux-vdso.so.1 =>  (0x00007ffe6d1f7000)
        libmicrohttpd.so.12 => /lib64/libmicrohttpd.so.12 (0x00007f6dd8442000)
        libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x00007f6dd8124000)
        libjansson.so.4 => /lib64/libjansson.so.4 (0x00007f6dd7f17000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f6dd7cfb000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f6dd792d000)
        libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f6dd76cb000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f6dd8875000)

[root@dev-webrtc ajay]# 
[root@dev-webrtc ajay]# ls -l /usr/local/lib/libmicrohttpd.*
-rw-r--r-- 1 root root 869384 Jul 13 11:55 /usr/local/lib/libmicrohttpd.a
-rwxr-xr-x 1 root root    988 Jul 13 11:55 /usr/local/lib/libmicrohttpd.la
lrwxrwxrwx 1 root root     24 Jul 13 11:55 /usr/local/lib/libmicrohttpd.so -> libmicrohttpd.so.12.55.0
lrwxrwxrwx 1 root root     24 Jul 13 11:55 /usr/local/lib/libmicrohttpd.so.12 -> libmicrohttpd.so.12.56.0
-rwxr-xr-x 1 root root 436104 Jul 13 11:55 /usr/local/lib/libmicrohttpd.so.12.55.0
-rwxr-xr-x 1 root root 435736 Jul 10 13:03 /usr/local/lib/libmicrohttpd.so.12.56.0
[root@dev-webrtc ajay]# 
[root@dev-webrtc ajay]# ls -l /usr/local/lib64/libmicrohttpd.*
ls: cannot access /usr/local/lib64/libmicrohttpd.*: No such file or directory


Not sure, Make was not smooth with transport.http, is that can be issue.....  please suggest.  

Mirko Brankovic

unread,
Jul 13, 2020, 8:58:42 AM7/13/20
to meetecho-janus
Definitely problem is that make didn't compile correctly, but I have no clue why

--
You received this message because you are subscribed to the Google Groups "meetecho-janus" group.
To unsubscribe from this group and stop receiving emails from it, send an email to meetecho-janu...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/meetecho-janus/2e891a4f-a44f-4eef-b0ba-29f6c8cccde8o%40googlegroups.com.


--
Regards,
Mirko

Francesc Pinyol Margalef

unread,
Jul 13, 2020, 9:27:10 AM7/13/20
to meetecho-janus
Hi!
It seems that you have several versions of libmicrohttpd libraries:
- /lib64/libmicrohttpd.so.12 (was this intalled using yum?)
- /usr/local/lib/libmicrohttpd.so.12.55.0
- /usr/local/lib/libmicrohttpd.so.12.56.0
Uninstall the first two ones and keep only the last one.
Compile Janus again.

To check whether the first so file was installed using yum:
sudo yum list libmicrohttpd
sudo yum list libmicrohttpd-devel

should both report that packages are available; not installed.

Francesc
El dilluns, 13 juliol de 2020 14:44:40 UTC+2, ajay prasad va escriure:

ajay prasad

unread,
Jul 13, 2020, 10:14:13 AM7/13/20
to meetecho-janus



Hi

Yes, multiple version of libraries is there.  
- /lib64/libmicrohttpd.so.12  is not installed with yum. 


I have installed libmicrohttpd, which got installed to  /usr/lib64/pkgconfig/libmicrohttpd.pc. 
and have used export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig, before ./configure.

It looks janus compiled latest version /lib64/libmicrohttpd.so.12.

[root@dev-webrtc ajay]# ll  /usr/lib64/libmicrohttpd.*
-rw-r--r--  1 root root 869384 Jul 13 11:47 /usr/lib64/libmicrohttpd.a
-rwxr-xr-x  1 root root    984 Jul 13 11:47 /usr/lib64/libmicrohttpd.la
lrwxrwxrwx  1 root root     24 Jul 13 11:47 /usr/lib64/libmicrohttpd.so -> libmicrohttpd.so.12.55.0
lrwxrwxrwx. 1 root root     24 Mar  6 13:18 /usr/lib64/libmicrohttpd.so.10 -> libmicrohttpd.so.10.22.0
-rwxr-xr-x. 1 root root  99584 Jun 10  2014 /usr/lib64/libmicrohttpd.so.10.22.0
lrwxrwxrwx  1 root root     24 Jul 13 11:47 /usr/lib64/libmicrohttpd.so.12 -> libmicrohttpd.so.12.56.0
-rwxr-xr-x  1 root root 436104 Jul 13 11:47 /usr/lib64/libmicrohttpd.so.12.55.0
-rwxr-xr-x  1 root root 435736 Jul 13 10:38 /usr/lib64/libmicrohttpd.so.12.56.0


I will try check with removing other version.
Also i tried recompiling disabling sip module, i did not see any make warnings related to http transport, but still facing the same issue.




ajay prasad

unread,
Jul 13, 2020, 10:23:21 AM7/13/20
to meetecho-janus

Hi I tried re-compile with disabling --diable-sip-plugin, now while make all warnings related to http transport gone. it was smooth.

but still facing the same issue. 

[Mon Jul 13 12:54:12 2020] [FATAL] [transports/janus_http.c:janus_http_init:791] Couldn't start secure webserver on port 8089...


  

Also i tried recompiling disabling sip module, i did not see any make warnings related to http transport, but still facing the same issue.

On Monday, 13 July 2020 18:28:42 UTC+5:30, Mirko Brankovic wrote:
Definitely problem is that make didn't compile correctly, but I have no clue why

To unsubscribe from this group and stop receiving emails from it, send an email to meetech...@googlegroups.com.


--
Regards,
Mirko

Francesc Pinyol Margalef

unread,
Jul 13, 2020, 11:12:44 AM7/13/20
to meetecho-janus
Hi,
If libmicrohttpd.pc is installed in /usr/lib64/pkgconfig you should set the PKG_CONFIG_PATH variable accordingly:
export PKG_CONFIG_PATH=/usr/lib64/pkgconfig

Francesc

El dilluns, 13 juliol de 2020 16:14:13 UTC+2, ajay prasad va escriure:



Hi

ajay prasad

unread,
Jul 14, 2020, 4:44:44 AM7/14/20
to meetecho-janus

Hi 

I have tried recompiling again libmicrohttpd library and janus freshly.

configure: GNU libmicrohttpd 0.9.71 Configuration Summary:
  Target directory:  /usr/local
  Cross-compiling:   no
  Operating System:  linux-gnu
  Shutdown of listening socket trigger select: yes
  Inter-thread comm: eventfd
  poll support:      yes
  epoll support:     yes
  sendfile used:     yes, Linux-style
  HTTPS support:     no (lacking libgnutls)
  Threading lib:     posix
  Use thread names:  yes
  Use debug asserts: no
  Messages:          yes
  Gettext:           yes
  Basic auth.:       yes
  Digest auth.:      yes
  HTTP "Upgrade":    yes
  Postproc:          yes
  Build docs:        yes
  Build examples:    yes
  Test with libcurl: yes
configure:
  License         :  LGPL or eCos


I found   
HTTPS support:     no (lacking libgnutls)
Cross-compiling:   no

I installed libgnutls-devel to resolved this.  it was showing HTTPS support: yes now.

I compiled janus and it went smooth, there was no warnings related to http transport while doing MAKE.  I thought now this issue will be sorted. 

I started janus and still the same issue,  it shows same error,
Couldn't start secure webserver on port 8089...


[Tue Jul 14 08:29:38 2020] Binding to all interfaces for the Janus API HTTPS webserver
[Tue Jul 14 08:29:38 2020] [FATAL] [transports/janus_http.c:janus_http_init:791] Couldn't start secure webserver on port 8089...
[Tue Jul 14 08:29:38 2020] Binding to all interfaces for the Admin API HTTP webserver
[Tue Jul 14 08:29:38 2020] Admin/monitor HTTP webserver started (port 7088, /admin path listener)...
[Tue Jul 14 08:29:38 2020] Binding to all interfaces for the Admin API HTTPS webserver
[Tue Jul 14 08:29:38 2020] [FATAL] [transports/janus_http.c:janus_http_init:849] Couldn't start secure admin/monitor webserver on port 7889...
[Tue Jul 14 08:29:38 2020] JANUS REST (HTTP/HTTPS) transport plugin initialized!
[Tue Jul 14 08:29:38 2020] Version: 2 (0.0.2)
[Tue Jul 14 08:29:38 2020]    [janus.transport.http] JANUS REST (HTTP/HTTPS) transport plugin
[Tue Jul 14 08:29:38 2020]    This transport plugin adds REST (HTTP/HTTPS) support to the Janus API via libmicrohttpd.
[Tue Jul 14 08:29:38 2020]    Plugin API version: 7
[Tue Jul 14 08:29:38 2020]    Janus API: enabled
[Tue Jul 14 08:29:38 2020]    Admin API: enabled


Now option i have to check with new certificate,  once i get new ssl certificate i will verify, 

Post which I will update my Results here.




   

Lorenzo Miniero

unread,
Jul 14, 2020, 5:15:42 AM7/14/20
to meetecho-janus
It's not recommended to enable HTTPS (or WSS) in Janus directly. HTTP is enough, just put a proxy in front of it: https://janus.conf.meetecho.com/docs/deploy

L.

ajay prasad

unread,
Jul 14, 2020, 5:37:51 AM7/14/20
to meetecho-janus

yes Lorenzo,  
I am using janus behind nginx proxy but with HTTPS.   
Now i am planing to change to HTTP since https not working. But need to change several places. 
I just want to see with HTTPS why it is not working and where is the issue?

Please suggested,  how can i check where the issue is?.

ajay prasad

unread,
Jul 15, 2020, 3:18:46 AM7/15/20
to meetecho-janus


As suggested I am using HTTP now. but with 0.10.4 janus is crashing with segmentation fault.
Please suggest on this



On Tuesday, 14 July 2020 14:45:42 UTC+5:30, Lorenzo Miniero wrote:

kmeye...@mysidekicktherapy.com

unread,
Apr 7, 2022, 5:59:49 PM4/7/22
to meetecho-janus
We had an issue related to the REST (HTTP/HTTPS) transport not compiling in our Janus build process because of a `libmicrohttpd` version issue. Compiling from source and the most recent version fixed the issue.

Our application primarily uses websockets and as a backup uses HTTP REST. When websockets were unavailable, our application was showing CORS issues when attempting to connect to Janus that did not have HTTP transport compiled (duh). It took a but of time to debug but we finally corrected the issue because of this post.

Thanks.

Reply all
Reply to author
Forward
0 new messages