Hi Marc,

most of the documentation is already inside each tarball, but here is
a quick overview:


- baresip: portable SIP user-agent with support for Audio/Video. the application
  is very portable and is using very little RAM, suitable for Desktop and 
Embedded.
  the user-interface is console-based so it is mostly suited for developers
  and hackers (not very suitable for high-level endusers). it has a modular
  approach and there are many dynamic modules that are either platform-specific
  or link to external libraries. audio codecs include CELT, G711, G722, G722.1,
  GSM, iLBC, L16, Speex. video codecs include H.263, H.264, VP8. there is 
support
  for audio/video devices for Mac, Linux, Windows.
  it supports basic VoIP protocols like SIP/SDP, RTP/RTCP/SRTP, STUN/TURN/ICE,
  and some extensions. baresip can also be used with external VoIP devices
  (typical Skype-phones) via USB cable, with audio and input capabilities.
  one typical scenario which I have tested is an ASUS WL500Gp router and
  an external VoIP USB Handset (with CM109 chipset), connected via USB.
  the cm109 module in the linux kernel supports a few VoIP handsets.


- restund: modular STUN/TURN server for SIP NAT Traversal. the server is mainly
  for large-scale deployments, but can also be run on embedded routers etc.
  for SIP User-Agents behind NAT using STUN/TURN/ICE they need a STUN/TURN 
server
  on public IP to "aid" with the NAT Traversal. this server can be used for that
  purpose. it also supports authentication with optional MySQL database backend
  for username/password authentication.


- libre: a shared library that implements VoIP related protocols like SIP/SDP,
  RTP/RTCP, STUN/TURN/ICE, DNS. both of the above applications are using this 
library.




All projects are under BSD License.



/alfred


On 12/14/10 1:30 AM, Marc Abrams wrote:
Hi, Alfred:

Can you describe these packages or point to some documentation on them?

They sound interesting.....

marc

-----------------------------------------------------------------
Marc Abrams
408-550-6272




On Mon, Dec 13, 2010 at 4:10 PM, Alfred E. Heggestad <a...@db.org 
<mailto:a...@db.org>> wrote:

    Hi all,

    I would like to contribute my Open-Source VoIP projects to the
    OpenWRT project .. the code has been running fine on my ASUS WL-500Gp
    for some time now, so I hope that it is mature enough for other people
    to also use it. The following projects are part of this patch:


      * baresip  -- Modular SIP User-Agent
      * restund  -- Modular STUN/TURN Server
      * libre    -- Shared library with SIP/SDP,RTP/RTCP,STUN/TURN/ICE etc.


    Your comments are welcome ..


    Signed-off-by: Alfred E. Heggestad <a...@db.org <mailto:a...@db.org>>
    ---
    diff '--exclude=.svn' -Naur package-orig//baresip/files/baresip.init 
package//baresip/files/baresip.init
    --- package-orig//baresip/files/baresip.init    1970-01-01 
01:00:00.000000000 +0100
    +++ package//baresip/files/baresip.init 2010-11-12 19:29:38.000000000 +0100
    @@ -0,0 +1,19 @@
    +#!/bin/sh /etc/rc.common
    +#
    +# Copyright (C) 2010 Alfred E. Heggestad
    +#
    +
    +START=92
    +BIN=baresip
    +DEFAULT=/etc/default/$BIN
    +OPTIONS=-d
    +
    +start() {
    +       [ -f $DEFAULT ] && . $DEFAULT
    +       $BIN $OPTIONS
    +}
    +
    +stop() {
    +       killall $BIN
    +}
    +
    diff '--exclude=.svn' -Naur package-orig//baresip/Makefile 
package//baresip/Makefile
    --- package-orig//baresip/Makefile      1970-01-01 01:00:00.000000000 +0100
    +++ package//baresip/Makefile   2010-12-06 02:34:06.000000000 +0100
    @@ -0,0 +1,79 @@
    +#
    +# Makefile
    +#
    +# Copyright (C) 2010 Alfred E. Heggestad
    +#
    +
    +include $(TOPDIR)/rules.mk <http://rules.mk>
    +
    +PKG_NAME:=baresip
    +PKG_VERSION:=0.1.0
    +PKG_RELEASE:=1
    +
    +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
    +PKG_SOURCE_URL:=http://www.creytiv.com/pub/
    +#PKG_MD5SUM:=ee345fe605ffcfce843dae4aed81122b
    +
    +include $(INCLUDE_DIR)/package.mk <http://package.mk>
    +
    +EXTRA_DEPS :=
    +
    +ifneq ($(CONFIG_PACKAGE_libgsm),)
    +  PKG_MAKE_OPTS += USE_GSM=1
    +  EXTRA_DEPS    += +libgsm
    +else
    +  PKG_MAKE_OPTS += USE_GSM=
    +endif
    +
    +ifneq ($(CONFIG_PACKAGE_libspeex),)
    +  PKG_MAKE_OPTS += USE_SPEEX=1 USE_SPEEX_AEC=1 USE_SPEEX_PP=1 
USE_SPEEX_RESAMP=1
    +  EXTRA_DEPS    += +libspeex
    +else
    +  PKG_MAKE_OPTS += USE_SPEEX=  USE_SPEEX_AEC=  USE_SPEEX_PP=  
USE_SPEEX_RESAMP=
    +endif
    +
    +
    +define Package/baresip
    +  SECTION:=utils
    +  CATEGORY:=Utilities
    +  DEPENDS:=+libre +libpthread $(EXTRA_DEPS)
    +  TITLE:=baresip Barebone SIP useragent
    +  URL:=http://www.creytiv.com/
    +endef
    +
    +
    +# Optional feature
    +ifneq ($(CONFIG_PACKAGE_libsrtp),)
    +  PKG_MAKE_OPTS += USE_SRTP=1
    +else
    +  PKG_MAKE_OPTS += USE_SRTP=
    +endif
    +
    +define Build/Compile
    +       $(MAKE) -C $(PKG_BUILD_DIR) \
    +               MOD_AUTODETECT= \
    +               USE_G711=1 USE_L16=1 \
    +               USE_STDIO=1 USE_CONS=1 USE_EVDEV=1 \
    +               USE_OSS=1 \
    +               CC="$(TARGET_CC)" \
    +               DESTDIR="$(PKG_INSTALL_DIR)" \
    +               EXTRA_CFLAGS="$(TARGET_CFLAGS) -DOPENWRT" \
    +               $(PKG_MAKE_OPTS) \
    +               SYSROOT="$(TOOLCHAIN_DIR)/usr" \
    +               SYSROOT_ALT="$(STAGING_DIR)/usr" \
    +               RELEASE=1 \
    +               all install
    +endef
    +
    +define Package/baresip/install
    +       $(INSTALL_DIR) $(1)/usr/bin
    +       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/baresip $(1)/usr/bin/
    +       $(INSTALL_DIR) $(1)/usr/lib/baresip/modules
    +       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/baresip/modules/*.so 
$(1)/usr/lib/baresip/modules/.
    +       $(INSTALL_DIR) $(1)/usr/share/baresip
    +       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/share/baresip/* 
$(1)/usr/share/baresip/.
    +       $(INSTALL_DIR) $(1)/etc/init.d
    +       $(INSTALL_BIN) ./files/baresip.init $(1)/etc/init.d/baresip
    +endef
    +
    +$(eval $(call BuildPackage,baresip))
    diff '--exclude=.svn' -Naur package-orig//re/Makefile package//re/Makefile
    --- package-orig//re/Makefile   1970-01-01 01:00:00.000000000 +0100
    +++ package//re/Makefile        2010-12-06 02:27:31.000000000 +0100
    @@ -0,0 +1,63 @@
    +#
    +# Makefile
    +#
    +# Copyright (C) 2010 Alfred E. Heggestad
    +#
    +
    +include $(TOPDIR)/rules.mk <http://rules.mk>
    +
    +PKG_NAME:=re
    +PKG_VERSION:=0.1.0
    +PKG_RELEASE:=1
    +
    +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
    +PKG_SOURCE_URL:=http://www.creytiv.com/pub
    +#PKG_MD5SUM:=734892c8ca5e7e835828048a1289a0cc
    +
    +include $(INCLUDE_DIR)/package.mk <http://package.mk>
    +
    +define Package/libre
    +  SECTION:=libs
    +  CATEGORY:=Libraries
    +  DEPENDS:=+libopenssl +libpthread
    +  TITLE:=Generic library for real-time communications with async IO support
    +  URL:=http://www.creytiv.com/
    +endef
    +
    +define Package/libre/description
    +       Generic library for real-time communications with async IO support.
    +endef
    +
    +TARGET_CFLAGS += $(FPIC)
    +
    +define Build/Compile
    +       $(MAKE) -C $(PKG_BUILD_DIR) \
    +               CC="$(TARGET_CC)" \
    +               EXTRA_CFLAGS="$(TARGET_CFLAGS) -DOPENWRT" \
    +               EXTRA_LFLAGS="-lm" \
    +               DESTDIR="$(PKG_INSTALL_DIR)" \
    +               SYSROOT="$(TOOLCHAIN_DIR)/usr" \
    +               SYSROOT_ALT="$(STAGING_DIR)/usr" \
    +               RELEASE=1 \
    +               all install
    +endef
    +
    +define Build/InstallDev
    +       mkdir -p $(1)/usr/include
    +       $(CP) $(PKG_INSTALL_DIR)/usr/include/re $(1)/usr/include/
    +       mkdir -p $(1)/usr/lib
    +       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libre.{a,so*} $(1)/usr/lib/
    +endef
    +
    +define Build/UninstallDev
    +       rm -rf \
    +               $(STAGING_DIR)/usr/include/re \
    +               $(STAGING_DIR)/usr/lib/libre.{a,so*}
    +endef
    +
    +define Package/libre/install
    +       $(INSTALL_DIR) $(1)/usr/lib
    +       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libre.so* $(1)/usr/lib/
    +endef
    +
    +$(eval $(call BuildPackage,libre))
    diff '--exclude=.svn' -Naur package-orig//restund/files/restund.init 
package//restund/files/restund.init
    --- package-orig//restund/files/restund.init    1970-01-01 
01:00:00.000000000 +0100
    +++ package//restund/files/restund.init 2010-11-12 19:48:53.000000000 +0100
    @@ -0,0 +1,18 @@
    +#!/bin/sh /etc/rc.common
    +#
    +# Copyright (C) 2010 Alfred E. Heggestad
    +#
    +
    +START=60
    +BIN=restund
    +DEFAULT=/etc/default/$BIN
    +OPTIONS=
    +
    +start() {
    +       [ -f $DEFAULT ] && . $DEFAULT
    +       $BIN $OPTIONS
    +}
    +
    +stop() {
    +       killall $BIN
    +}
    diff '--exclude=.svn' -Naur package-orig//restund/Makefile 
package//restund/Makefile
    --- package-orig//restund/Makefile      1970-01-01 01:00:00.000000000 +0100
    +++ package//restund/Makefile   2010-12-06 02:34:29.000000000 +0100
    @@ -0,0 +1,56 @@
    +#
    +# Makefile
    +#
    +# Copyright (C) 2010 Alfred E. Heggestad
    +#
    +
    +include $(TOPDIR)/rules.mk <http://rules.mk>
    +
    +PKG_NAME:=restund
    +PKG_VERSION:=0.1.0
    +PKG_RELEASE:=1
    +
    +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
    +PKG_SOURCE_URL:=http://www.creytiv.com/pub/
    +#PKG_MD5SUM:=ee345fe605ffcfce843dae4aed81122b
    +
    +include $(INCLUDE_DIR)/package.mk <http://package.mk>
    +
    +define Package/restund
    +  SECTION:=utils
    +  CATEGORY:=Utilities
    +  DEPENDS:=+libre +libmysqlclient
    +  TITLE:=libre stun server
    +  URL:=http://www.creytiv.com/
    +endef
    +
    +ifneq ($(CONFIG_PACKAGE_libmysqlclient),)
    +  PKG_MAKE_OPTS += USE_MYSQL=1
    +else
    +  PKG_MAKE_OPTS += USE_MYSQL=
    +endif
    +
    +define Build/Compile
    +       $(MAKE) -C $(PKG_BUILD_DIR) \
    +               CC="$(TARGET_CC)" \
    +               EXTRA_CFLAGS="$(TARGET_CFLAGS)" \
    +               DESTDIR="$(PKG_INSTALL_DIR)" \
    +               $(PKG_MAKE_OPTS) \
    +               SYSROOT="$(TOOLCHAIN_DIR)/usr" \
    +               SYSROOT_ALT="$(STAGING_DIR)/usr" \
    +               RELEASE=1 \
    +               all install
    +endef
    +
    +define Package/restund/install
    +       $(INSTALL_DIR) $(1)/usr/sbin
    +       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/restund $(1)/usr/sbin/
    +       $(INSTALL_DIR) $(1)/usr/lib/$(PKG_NAME)/modules
    +       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/$(PKG_NAME)/modules/*.so 
$(1)/usr/lib/$(PKG_NAME)/modules/.
    +       $(INSTALL_DIR) $(1)/etc
    +       $(INSTALL_CONF) $(PKG_BUILD_DIR)/etc/restund.conf $(1)/etc/
    +       $(INSTALL_DIR) $(1)/etc/init.d
    +       $(INSTALL_BIN) ./files/restund.init $(1)/etc/init.d/restund
    +endef
    +
    +$(eval $(call BuildPackage,restund))
    _______________________________________________
    openwrt-devel mailing list
    openwrt-devel@lists.openwrt.org <mailto:openwrt-devel@lists.openwrt.org>
    https://lists.openwrt.org/mailman/listinfo/openwrt-devel




_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to