Update baresip_gk7205v200

pull/5/head
Igor Zalatov (from Citadel PC) 2023-06-20 12:45:03 +03:00
parent 69702a801f
commit 262d79c4f4
5 changed files with 586 additions and 0 deletions
packages
baresip-openipc
workplace/configs

View File

@ -0,0 +1,12 @@
--- a/mk/modules.mk 2022-03-27 11:22:42.000000000 +0300
+++ b/mk/modules.mk 2023-05-17 15:08:22.900324363 +0300
@@ -127,8 +127,7 @@
USE_OMX_RPI := $(shell $(call CC_TEST,bcm_host.h))
USE_OMX_BELLAGIO := $(shell $(call CC_TEST,OMX_Core.h))
-USE_WEBRTC_AEC := $(shell \
- pkg-config --exists "webrtc-audio-processing >= 0.3" && echo "yes")
+USE_WEBRTC_AEC := 1
else
# Windows.
# Accounts for mingw with Windows SDK (formerly known as Platform SDK)

View File

@ -0,0 +1,11 @@
--- a/modules/webrtc_aec/module.mk 2022-03-27 11:22:42.000000000 +0300
+++ b/modules/webrtc_aec/module.mk 2023-05-17 15:25:09.887363976 +0300
@@ -5,7 +5,7 @@
#
-WEBRTC_PATH := /usr/include/webrtc_audio_processing
+WEBRTC_PATH := ../../../staging/usr/include
MOD := webrtc_aec

View File

@ -0,0 +1,76 @@
config BR2_PACKAGE_LIBCURL_OPENIPC
bool "libcurl-openipc"
help
cURL is a tool for getting files from FTP, HTTP, Gopher,
Telnet, and Dict servers, using any of the supported
protocols.
http://curl.haxx.se/
if BR2_PACKAGE_LIBCURL_OPENIPC
config BR2_PACKAGE_LIBCURL_OPENIPC_CURL
bool "curl binary"
help
Install curl binary as well
config BR2_PACKAGE_LIBCURL_OPENIPC_VERBOSE
bool "verbose strings"
help
Enable verbose text strings
config BR2_PACKAGE_LIBCURL_OPENIPC_PROXY_SUPPORT
bool "proxy support"
default y
help
Enable proxy support.
config BR2_PACKAGE_LIBCURL_OPENIPC_COOKIES_SUPPORT
bool "cookies support"
default y
help
Enable support for cookies.
config BR2_PACKAGE_LIBCURL_OPENIPC_EXTRA_PROTOCOLS_FEATURES
bool "enable extra protocols and features"
default y
help
Enable the following extra protocols and features:
- LDAP / LDAPS
- POP3 / IMAP / SMTP
- Telnet
- TFTP
- RTSP
- SMB / CIFS
- DICT
- Gopher
choice
prompt "SSL/TLS library to use"
config BR2_PACKAGE_LIBCURL_OPENIPC_OPENSSL
bool "OpenSSL"
depends on BR2_PACKAGE_OPENSSL
config BR2_PACKAGE_LIBCURL_OPENIPC_GNUTLS
bool "GnuTLS"
depends on BR2_PACKAGE_GNUTLS
config BR2_PACKAGE_LIBCURL_OPENIPC_LIBNSS
bool "NSS"
depends on BR2_PACKAGE_LIBNSS
config BR2_PACKAGE_LIBCURL_OPENIPC_MBEDTLS
bool "mbed TLS"
depends on BR2_PACKAGE_MBEDTLS_OPENIPC
config BR2_PACKAGE_LIBCURL_OPENIPC_WOLFSSL
bool "WolfSSL"
depends on BR2_PACKAGE_WOLFSSL
config BR2_PACKAGE_LIBCURL_OPENIPC_TLS_NONE
bool "None"
endchoice
endif

View File

@ -0,0 +1,195 @@
################################################################################
#
# libcurl-openipc
#
################################################################################
LIBCURL_OPENIPC_VERSION = 7.76.0
LIBCURL_OPENIPC_SOURCE = curl-$(LIBCURL_OPENIPC_VERSION).tar.xz
LIBCURL_OPENIPC_SITE = https://curl.haxx.se/download
LIBCURL_OPENIPC_DEPENDENCIES = host-pkgconf \
$(if $(BR2_PACKAGE_ZLIB),zlib) \
$(if $(BR2_PACKAGE_RTMPDUMP),rtmpdump)
LIBCURL_OPENIPC_LICENSE = curl
LIBCURL_OPENIPC_LICENSE_FILES = COPYING
LIBCURL_OPENIPC_INSTALL_STAGING = YES
# We disable NTLM support because it uses fork(), which doesn't work
# on non-MMU platforms. Moreover, this authentication method is
# probably almost never used. See
# http://curl.haxx.se/docs/manpage.html#--ntlm.
# Likewise, there is no compiler on the target, so libcurl-option (to
# generate C code) isn't very useful
LIBCURL_OPENIPC_CONF_OPTS = --disable-manual --disable-ntlm-wb \
--enable-hidden-symbols --with-random=/dev/urandom --disable-curldebug \
--disable-libcurl-option
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
LIBCURL_OPENIPC_CONF_OPTS += --enable-threaded-resolver
else
LIBCURL_OPENIPC_CONF_OPTS += --disable-threaded-resolver
endif
ifeq ($(BR2_PACKAGE_LIBCURL_OPENIPC_VERBOSE),y)
LIBCURL_OPENIPC_CONF_OPTS += --enable-verbose
else
LIBCURL_OPENIPC_CONF_OPTS += --disable-verbose
endif
LIBCURL_OPENIPC_CONFIG_SCRIPTS = curl-config
ifeq ($(BR2_PACKAGE_LIBCURL_OPENIPC_OPENSSL),y)
LIBCURL_OPENIPC_DEPENDENCIES += openssl
# configure adds the cross openssl dir to LD_LIBRARY_PATH which screws up
# native stuff during the rest of configure when target == host.
# Fix it by setting LD_LIBRARY_PATH to something sensible so those libs
# are found first.
LIBCURL_OPENIPC_CONF_ENV += LD_LIBRARY_PATH=$(if $(LD_LIBRARY_PATH),$(LD_LIBRARY_PATH):)/lib:/usr/lib
LIBCURL_OPENIPC_CONF_OPTS += --with-ssl=$(STAGING_DIR)/usr \
--with-ca-path=/etc/ssl/certs
else
LIBCURL_OPENIPC_CONF_OPTS += --without-ssl
endif
ifeq ($(BR2_PACKAGE_LIBCURL_OPENIPC_GNUTLS),y)
LIBCURL_OPENIPC_CONF_OPTS += --with-gnutls=$(STAGING_DIR)/usr \
--with-ca-fallback
LIBCURL_OPENIPC_DEPENDENCIES += gnutls
else
LIBCURL_OPENIPC_CONF_OPTS += --without-gnutls
endif
ifeq ($(BR2_PACKAGE_LIBCURL_OPENIPC_LIBNSS),y)
LIBCURL_OPENIPC_CONF_OPTS += --with-nss=$(STAGING_DIR)/usr
LIBCURL_OPENIPC_CONF_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) `$(PKG_CONFIG_HOST_BINARY) nspr nss --cflags`"
LIBCURL_OPENIPC_DEPENDENCIES += libnss
else
LIBCURL_OPENIPC_CONF_OPTS += --without-nss
endif
ifeq ($(BR2_PACKAGE_LIBCURL_OPENIPC_MBEDTLS),y)
LIBCURL_OPENIPC_CONF_OPTS += --with-mbedtls=$(STAGING_DIR)/usr \
--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt
LIBCURL_OPENIPC_DEPENDENCIES += mbedtls-openipc
else
LIBCURL_OPENIPC_CONF_OPTS += --without-mbedtls
endif
ifeq ($(BR2_PACKAGE_LIBCURL_OPENIPC_WOLFSSL),y)
LIBCURL_OPENIPC_CONF_OPTS += --with-wolfssl=$(STAGING_DIR)/usr
LIBCURL_OPENIPC_DEPENDENCIES += wolfssl
else
LIBCURL_OPENIPC_CONF_OPTS += --without-wolfssl
endif
ifeq ($(BR2_PACKAGE_C_ARES),y)
LIBCURL_OPENIPC_DEPENDENCIES += c-ares
LIBCURL_OPENIPC_CONF_OPTS += --enable-ares
else
LIBCURL_OPENIPC_CONF_OPTS += --disable-ares
endif
ifeq ($(BR2_PACKAGE_LIBIDN2),y)
LIBCURL_OPENIPC_DEPENDENCIES += libidn2
LIBCURL_OPENIPC_CONF_OPTS += --with-libidn2
else
LIBCURL_OPENIPC_CONF_OPTS += --without-libidn2
endif
# Configure curl to support libssh2
ifeq ($(BR2_PACKAGE_LIBSSH2),y)
LIBCURL_OPENIPC_DEPENDENCIES += libssh2
LIBCURL_OPENIPC_CONF_OPTS += --with-libssh2
else
LIBCURL_OPENIPC_CONF_OPTS += --without-libssh2
endif
ifeq ($(BR2_PACKAGE_BROTLI),y)
LIBCURL_OPENIPC_DEPENDENCIES += brotli
LIBCURL_OPENIPC_CONF_OPTS += --with-brotli
else
LIBCURL_OPENIPC_CONF_OPTS += --without-brotli
endif
ifeq ($(BR2_PACKAGE_NGHTTP2),y)
LIBCURL_OPENIPC_DEPENDENCIES += nghttp2
LIBCURL_OPENIPC_CONF_OPTS += --with-nghttp2
else
LIBCURL_OPENIPC_CONF_OPTS += --without-nghttp2
endif
ifeq ($(BR2_PACKAGE_LIBGSASL),y)
LIBCURL_OPENIPC_DEPENDENCIES += libgsasl
LIBCURL_OPENIPC_CONF_OPTS += --with-gsasl
else
LIBCURL_OPENIPC_CONF_OPTS += --without-gsasl
endif
ifeq ($(BR2_PACKAGE_LIBCURL_OPENIPC_COOKIES_SUPPORT),y)
LIBCURL_OPENIPC_CONF_OPTS += --enable-cookies
else
LIBCURL_OPENIPC_CONF_OPTS += --disable-cookies
endif
ifeq ($(BR2_PACKAGE_LIBCURL_OPENIPC_PROXY_SUPPORT),y)
LIBCURL_OPENIPC_CONF_OPTS += --enable-proxy
else
LIBCURL_OPENIPC_CONF_OPTS += --disable-proxy
endif
ifeq ($(BR2_PACKAGE_LIBCURL_OPENIPC_EXTRA_PROTOCOLS_FEATURES),y)
LIBCURL_OPENIPC_CONF_OPTS += \
--enable-dict \
--enable-gopher \
--enable-imap \
--enable-ldap \
--enable-ldaps \
--enable-pop3 \
--enable-rtsp \
--enable-smb \
--enable-smtp \
--enable-telnet \
--enable-tftp
else
LIBCURL_OPENIPC_CONF_OPTS += \
--disable-dict \
--disable-gopher \
--disable-imap \
--disable-ldap \
--disable-ldaps \
--disable-pop3 \
--enable-rtsp \
--disable-smb \
--disable-telnet \
--disable-tftp
endif
# --disable-smtp \
define LIBCURL_OPENIPC_FIX_DOT_PC
printf 'Requires: openssl\n' >>$(@D)/libcurl.pc.in
endef
LIBCURL_OPENIPC_POST_PATCH_HOOKS += $(if $(BR2_PACKAGE_LIBCURL_OPENIPC_OPENSSL),LIBCURL_FIX_DOT_PC)
ifeq ($(BR2_PACKAGE_LIBCURL_OPENIPC_CURL),)
define LIBCURL_OPENIPC_TARGET_CLEANUP
rm -rf $(TARGET_DIR)/usr/bin/curl
endef
LIBCURL_OPENIPC_POST_INSTALL_TARGET_HOOKS += LIBCURL_TARGET_CLEANUP
endif
HOST_LIBCURL_OPENIPC_DEPENDENCIES = host-openssl
HOST_LIBCURL_OPENIPC_CONF_OPTS = \
--disable-manual \
--disable-ntlm-wb \
--disable-curldebug \
--with-ssl \
--without-gnutls \
--without-mbedtls \
--without-nss
HOST_LIBCURL_OPENIPC_POST_PATCH_HOOKS += LIBCURL_FIX_DOT_PC
$(eval $(autotools-package))
$(eval $(host-autotools-package))

View File

@ -0,0 +1,292 @@
#
# baresip configuration
#
#------------------------------------------------------------------------------
# Core
poll_method epoll # poll, select, epoll ..
# SIP
#sip_listen 0.0.0.0:5060
#sip_certificate cert.pem
sip_cafile /etc/ssl/certs/ca-certificates.crt
#sip_transports udp,tcp,tls,ws,wss
#sip_trans_def udp
#sip_verify_server yes
sip_tos 160
# Call
call_local_timeout 120
call_max_calls 1
call_hold_other_calls yes
# Audio
audio_path /usr/share/baresip
audio_player goke
audio_source rtspausrc,localhost
#audio_alert alsa,default
#ausrc_srate 48000
#auplay_srate 48000
#ausrc_channels 0
#auplay_channels 0
#audio_txmode poll # poll, thread
audio_level no
ausrc_format s16 # s16, float, ..
auplay_format s16 # s16, float, ..
auenc_format s16 # s16, float, ..
audec_format s16 # s16, float, ..
audio_buffer 20-160 # ms
audio_telev_pt 101 # payload type for telephone-event
# Video
#video_source v4l2,/dev/video0
#video_display x11,nil
video_size 640x480
video_bitrate 1000000
video_fps 30.00
video_fullscreen no
videnc_format yuv420p
# AVT - Audio/Video Transport
rtp_tos 184
rtp_video_tos 136
#rtp_ports 10000-20000
#rtp_bandwidth 512-1024 # [kbit/s]
rtcp_mux no
jitter_buffer_type fixed # off, fixed, adaptive
jitter_buffer_delay 5-10 # frames
#jitter_buffer_wish 6 # frames for start
rtp_stats no
rtp_timeout 5
# Network
#dns_server 1.1.1.1:53
#dns_server 1.0.0.1:53
#dns_fallback 8.8.8.8:53
#net_interface eth0
# Play tones
#file_ausrc aufile
#file_srate 16000
#file_channels 1
#------------------------------------------------------------------------------
# Modules
#module_path /usr/lib/baresip/modules
# UI Modules
module stdio.so
#module cons.so
#module evdev.so
#module httpd.so
# Audio codec Modules (in order)
#module opus.so
#module amr.so
#module g7221.so
#module g722.so
#module g726.so
module g711.so
#module gsm.so
#module l16.so
#module mpa.so
#module codec2.so
# Audio filter Modules (in encoding order)
#module auresamp.so
#module vumeter.so
#module sndfile.so
#module plc.so
module webrtc_aec.so
# Audio driver Modules
#module alsa.so
#module pulse.so
#module jack.so
#module portaudio.so
#module aubridge.so
#module aufile.so
#module ausine.so
module rtspausrc.so
module goke.so
# Video codec Modules (in order)
#module avcodec.so
#module vp8.so
#module vp9.so
# Video filter Modules (in encoding order)
#module selfview.so
#module snapshot.so
#module swscale.so
#module vidinfo.so
#module avfilter.so
# Video source modules
#module v4l2.so
#module x11grab.so
#module vidbridge.so
# Video display modules
#module directfb.so
#module x11.so
#module sdl.so
#module fakevideo.so
# Audio/Video source modules
#module avformat.so
#module gst.so
#module gst_video.so
# Compatibility modules
#module ebuacip.so
#module uuid.so
# Media NAT modules
#module stun.so
#module turn.so
#module ice.so
#module natpmp.so
#module pcp.so
# Media encryption modules
#module srtp.so
#module dtls_srtp.so
#module zrtp.so
#------------------------------------------------------------------------------
# Application Modules
module_app account.so
#module_app contact.so
module_app debug_cmd.so
#module_app echo.so
#module_app gtk.so
module_app menu.so
#module_app mwi.so
#module_app presence.so
#module_app serreg.so
module_app syslog.so
#module_app mqtt.so
#module_app ctrl_tcp.so
#module_app ctrl_dbus.so
#module_app httpreq.so
#module_app multicast.so
module_app netroam.so
#------------------------------------------------------------------------------
# Module parameters
# DTLS SRTP parameters
#dtls_srtp_use_ec prime256v1
# UI Modules parameters
cons_listen 0.0.0.0:5555 # cons - Console UI UDP/TCP sockets
http_listen 0.0.0.0:8000 # httpd - HTTP Server
ctrl_tcp_listen 0.0.0.0:4444 # ctrl_tcp - TCP interface JSON
evdev_device /dev/input/event0
# Opus codec parameters
opus_bitrate 28000 # 6000-510000
#opus_stereo yes
#opus_sprop_stereo yes
#opus_cbr no
#opus_inbandfec no
#opus_dtx no
#opus_mirror no
#opus_complexity 10
#opus_application audio # {voip,audio}
#opus_samplerate 48000
#opus_packet_loss 10 # 0-100 percent (expected packet loss)
# Opus Multistream codec parameters
#opus_ms_channels 2 #total channels (2 or 4)
#opus_ms_streams 2 #number of streams
#opus_ms_c_streams 2 #number of coupled streams
vumeter_stderr yes
#jack_connect_ports yes
# Selfview
video_selfview window # {window,pip}
#selfview_size 64x64
# ZRTP
#zrtp_hash no # Disable SDP zrtp-hash (not recommended)
# Menu
#redial_attempts 0 # Num or <inf>
#redial_delay 5 # Delay in seconds
#ringback_disabled no
#statmode_default off
#menu_clean_number no
#sip_autoanswer_method rfc5373 # {rfc5373,call-info,alert-info}
#ring_aufile ring.wav
#callwaiting_aufile callwaiting.wav
#ringback_aufile ringback.wav
#notfound_aufile notfound.wav
#busy_aufile busy.wav
#error_aufile error.wav
#sip_autoanswer_aufile autoanswer.wav
# GTK
#gtk_clean_number no
# avcodec
#avcodec_h264enc libx264
#avcodec_h264dec h264
#avcodec_h265enc libx265
#avcodec_h265dec hevc
#avcodec_hwaccel vaapi
# ctrl_dbus
#ctrl_dbus_use system # system, session
# mqtt
#mqtt_broker_host sollentuna.example.com
#mqtt_broker_port 1883
#mqtt_broker_cafile /path/to/broker-ca.crt # set this to enforce TLS
#mqtt_broker_clientid baresip01 # has to be unique
#mqtt_broker_user user
#mqtt_broker_password pass
#mqtt_basetopic baresip/01
# sndfile
#snd_path /tmp
# EBU ACIP
#ebuacip_jb_type fixed # auto,fixed
# HTTP request module
#httpreq_ca trusted1.pem
#httpreq_ca trusted2.pem
#httpreq_dns 1.1.1.1
#httpreq_dns 8.8.8.8
#httpreq_hostname myserver
#httpreq_cert cert.pem
#httpreq_key key.pem
# multicast receivers (in priority order)- port number must be even
#multicast_call_prio 0
#multicast_ttl 1
#multicast_jbuf_type fixed # off, fixed, adaptive
#multicast_jbuf_delay 5-10 # frames
#multicast_jbuf_wish 6 # frames for start
#multicast_listener 224.0.2.21:50000
#multicast_listener 224.0.2.21:50002
# avformat
#avformat_hwaccel vaapi
#avformat_inputformat mjpeg
#avformat_decoder mjpeg
#avformat_pass_through yes
#avformat_rtsp_transport udp