PJSIP is a free and open source multimedia communication library

written in C language implementing standard based protocols such
as SIP, SDP, RTP, STUN, TURN, and ICE. It combines signaling protocol
(SIP) with rich multimedia framework and NAT traversal functionality
into high level API that is portable and suitable for almost any
type of systems ranging from desktops, embedded systems, to mobile
handsets.

WWW: http://www.pjsip.org/

Please note that default options are tailored for use by the upcoming
asterisk13 port.
This commit is contained in:
Guido Falsi 2014-12-15 14:42:32 +00:00
parent fe4ea9338b
commit 1305d65ff1
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=374748
9 changed files with 501 additions and 0 deletions

View File

@ -848,6 +848,7 @@
SUBDIR += phpldapadmin
SUBDIR += pimdd
SUBDIR += pipsecd
SUBDIR += pjsip
SUBDIR += pktanon
SUBDIR += pload
SUBDIR += plugdaemon

82
net/pjsip/Makefile Normal file
View File

@ -0,0 +1,82 @@
# $FreeBSD$
PORTNAME= pjsip
PORTVERSION= 2.3
CATEGORIES= net
MASTER_SITES= http://www.pjsip.org/release/${PORTVERSION}/
DISTNAME= pjproject-${DISTVERSION}
MAINTAINER= madpilot@FreeBSD.org
COMMENT= Multimedia communication library written in C language
LICENSE= GPLv2
LIB_DEPENDS= libportaudio.so.2:${PORTSDIR}/audio/portaudio2
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-external-pa \
--disable-silk
USES= gmake tar:bz2
USE_LDCONFIG= yes
PLIST_SUB= CONFIGURE_TARGET="${CONFIGURE_TARGET}"
LDFLAGS+= -L${LOCALBASE}/lib/portaudio2 -L${LOCALBASE}/lib
CFLAGS+= -I${LOCALBASE}/include/portaudio2 -I${LOCALBASE}/include
MAKE_JOBS_UNSAFE= yes
OPTIONS_DEFINE= FFMPEG G711 G722 G7221 GSM ILBC L16 OPENH264 RESAMPLE RESAMPLEDLL \
SAMPLERATE SDL SHARED SPEEX SPEEXAEC V4L IPV6 SOUND VIDEO AMR
OPTIONS_DEFAULT=G711 G722 G7221 GSM ILBC L16 SHARED SPEEX SPEEXAEC
G711_DESC= G.711 codec support
G722_DESC= G.722 codec support
G7221_DESC= G.722.1 codec support
ILBC_DESC= iLBC codec support
L16_DESC= Linear/L16 codec support
OPENH264_DESC= OpenH264 support
RESAMPLE_DESC= Enable resampling implementations
RESAMPLEDLL_DESC= Build libresample as shared library
SHARED_DESC= Build shared libraries (other ports may depend on this)
SPEEXAEC_DESC= Speex Acoustic Echo Canceller/AEC
V4L_DESC= Video4Linux2 support
YUV_DESC= Libyuv support
OPTIONS_SUB= yes
FFMPEG_CONFIGURE_ENABLE= ffmpeg
FFMPEG_LIB_DEPENDS= libswresample.so:${PORTSDIR}/multimedia/ffmpeg
G711_CONFIGURE_ENABLE= g711-codec
G722_CONFIGURE_ENABLE= g722-codec
G7221_CONFIGURE_ENABLE= g7221-codec
GSM_CONFIGURE_ENABLE= gsm-codec
GSM_LIB_DEPENDS= libgsm.so:${PORTSDIR}/audio/gsm
GSM_CONFIGURE_ON= --with-external-gsm
ILBC_CONFIGURE_ENABLE= ilbc-codec
L16_CONFIGURE_ENABLE= l16-codec
OPENH264_CONFIGURE_ENABLE= openh264
OPENH264_LIB_DEPENDS= libopenh264.so:${PORTSDIR}/multimedia/openh264
RESAMPLE_CONFIGURE_ENABLE= resample
RESAMPLEDLL_CONFIGURE_ENABLE= resample-dll
SAMPLERATE_CONFIGURE_ENABLE= libsamplerate
SAMPLERATE_LIB_DEPENDS= libsamplerate.so:${PORTSDIR}/audio/libsamplerate
SDL_CONFIGURE_ENABLE= sdl
SDL_USE= SDL=sdl
SHARED_CONFIGURE_ENABLE= shared
SPEEX_CONFIGURE_ENABLE= speex-codec
SPEEX_CONFIGURE_ON= --with-external-speex
SPEEX_LIB_DEPENDS= libspeex.so:${PORTSDIR}/audio/speex
SPEEXAEC_CONFIGURE_ENABLE= speex-aec
V4L_CONFIGURE_ENABLE= v4l2
V4L_BUILD_DEPENDS= v4l_compat>=0:${PORTSDIR}/multimedia/v4l_compat
V4L_LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l
IPV6_CFLAGS= "-DPJ_HAS_IPV6=1"
SOUND_CONFIGURE_ENABLE= sound
VIDEO_CONFIGURE_ENABLE= video
AMR_CONFIGURE_WITH= opencore-amr
AMR_LIB_DEPENDS= libopencore-amrwb.so:${PORTSDIR}/audio/opencore-amr \
libvo-amrwbenc.so:${PORTSDIR}/audio/vo-amrwbenc
post-patch:
@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
${WRKSRC}/pkgconfig.py
.include <bsd.port.mk>

2
net/pjsip/distinfo Normal file
View File

@ -0,0 +1,2 @@
SHA256 (pjproject-2.3.tar.bz2) = e7fa60a3b59424430145af90372282ca778449f7b68b77bb24a9cf75d94d5765
SIZE (pjproject-2.3.tar.bz2) = 4633703

View File

@ -0,0 +1,26 @@
--- Makefile.orig 2014-07-14 07:21:58 UTC
+++ Makefile
@@ -124,7 +124,7 @@ install:
for d in pjlib pjlib-util pjnath pjmedia pjsip; do \
cp -RLf $$d/include/* $(DESTDIR)$(includedir)/; \
done
- mkdir -p $(DESTDIR)$(libdir)/pkgconfig
+ mkdir -p $(DESTDIR)$(prefix)/libdata/pkgconfig
sed -e "s!@PREFIX@!$(prefix)!" libpjproject.pc.in | \
sed -e "s!@INCLUDEDIR@!$(includedir)!" | \
sed -e "s!@LIBDIR@!$(libdir)!" | \
@@ -132,11 +132,11 @@ install:
sed -e "s!@PJ_LDLIBS@!!" | \
sed -e "s!@PJ_LDXXLIBS@!$(PJ_LDXXLIBS)!" | \
sed -e "s!@PJ_INSTALL_CFLAGS@!!" | \
- sed -e "s!@PJ_INSTALL_CXXFLAGS@!$(PJ_INSTALL_CXXFLAGS)!" > $(DESTDIR)/$(libdir)/pkgconfig/libpjproject.pc
+ sed -e "s!@PJ_INSTALL_CXXFLAGS@!$(PJ_INSTALL_CXXFLAGS)!" > $(DESTDIR)/$(prefix)/libdata/pkgconfig/libpjproject.pc
uninstall:
- $(RM) $(DESTDIR)$(libdir)/pkgconfig/libpjproject.pc
- -rmdir $(DESTDIR)$(libdir)/pkgconfig 2> /dev/null
+ $(RM) $(DESTDIR)$(prefix)/libdata/pkgconfig/libpjproject.pc
+ -rmdir $(DESTDIR)$(prefix)/libdata/pkgconfig 2> /dev/null
for d in pjlib pjlib-util pjnath pjmedia pjsip; do \
for f in $$d/include/*; do \
$(RM) -r "$(DESTDIR)$(includedir)/`basename $$f`"; \

View File

@ -0,0 +1,11 @@
--- aconfigure.orig 2014-08-19 02:18:07 UTC
+++ aconfigure
@@ -6654,7 +6654,7 @@ else
FFMPEG_PREFIX=$with_ffmpeg
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Using ffmpeg prefix... $FFMPEG_PREFIX" >&5
$as_echo "Using ffmpeg prefix... $FFMPEG_PREFIX" >&6; }
- export PKG_CONFIG_PATH=$FFMPEG_PREFIX/lib/pkgconfig
+ export PKG_CONFIG_PATH=$FFMPEG_PREFIX/libdata/pkgconfig
fi
for ac_prog in pkg-config "python pkgconfig.py"

View File

@ -0,0 +1,11 @@
--- pjmedia/src/pjmedia/resample_libsamplerate.c.orig 2011-05-05 06:14:19 UTC
+++ pjmedia/src/pjmedia/resample_libsamplerate.c
@@ -33,7 +33,7 @@
#if PJMEDIA_RESAMPLE_IMP==PJMEDIA_RESAMPLE_LIBSAMPLERATE
-#include "../../third_party/libsamplerate/src/samplerate.h"
+#include <samplerate.h>
#define THIS_FILE "resample_libsamplerate.c"

View File

@ -0,0 +1,11 @@
--- pkgconfig.py.orig 2012-10-04 07:36:39 UTC
+++ pkgconfig.py
@@ -117,7 +117,7 @@ if __name__ == "__main__":
# Fix search path
PKG_CONFIG_PATH = os.getenv("PKG_CONFIG_PATH", "").strip()
if not PKG_CONFIG_PATH:
- PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/usr/lib/pkgconfig"
+ PKG_CONFIG_PATH="/usr/local/libdata/pkgconfig"
PKG_CONFIG_PATH = PKG_CONFIG_PATH.replace(";", ":")
# Parse files

9
net/pjsip/pkg-descr Normal file
View File

@ -0,0 +1,9 @@
PJSIP is a free and open source multimedia communication library
written in C language implementing standard based protocols such
as SIP, SDP, RTP, STUN, TURN, and ICE. It combines signaling protocol
(SIP) with rich multimedia framework and NAT traversal functionality
into high level API that is portable and suitable for almost any
type of systems ranging from desktops, embedded systems, to mobile
handsets.
WWW: http://www.pjsip.org/

348
net/pjsip/pkg-plist Normal file
View File

@ -0,0 +1,348 @@
include/pj++/file.hpp
include/pj++/hash.hpp
include/pj++/list.hpp
include/pj++/lock.hpp
include/pj++/os.hpp
include/pj++/pool.hpp
include/pj++/proactor.hpp
include/pj++/scanner.hpp
include/pj++/sock.hpp
include/pj++/string.hpp
include/pj++/timer.hpp
include/pj++/tree.hpp
include/pj++/types.hpp
include/pj/activesock.h
include/pj/addr_resolv.h
include/pj/array.h
include/pj/assert.h
include/pj/compat/assert.h
include/pj/compat/cc_armcc.h
include/pj/compat/cc_codew.h
include/pj/compat/cc_gcc.h
include/pj/compat/cc_gcce.h
include/pj/compat/cc_msvc.h
include/pj/compat/cc_mwcc.h
include/pj/compat/ctype.h
include/pj/compat/errno.h
include/pj/compat/high_precision.h
include/pj/compat/m_alpha.h
include/pj/compat/m_armv4.h
include/pj/compat/m_auto.h
include/pj/compat/m_auto.h.in
include/pj/compat/m_i386.h
include/pj/compat/m_m68k.h
include/pj/compat/m_powerpc.h
include/pj/compat/m_sparc.h
include/pj/compat/m_x86_64.h
include/pj/compat/malloc.h
include/pj/compat/os_auto.h
include/pj/compat/os_auto.h.in
include/pj/compat/os_darwinos.h
include/pj/compat/os_linux.h
include/pj/compat/os_linux_kernel.h
include/pj/compat/os_palmos.h
include/pj/compat/os_rtems.h
include/pj/compat/os_sunos.h
include/pj/compat/os_symbian.h
include/pj/compat/os_win32.h
include/pj/compat/os_win32_wince.h
include/pj/compat/rand.h
include/pj/compat/setjmp.h
include/pj/compat/size_t.h
include/pj/compat/socket.h
include/pj/compat/stdarg.h
include/pj/compat/stdfileio.h
include/pj/compat/string.h
include/pj/compat/time.h
include/pj/config.h
include/pj/config_site.h
include/pj/config_site_sample.h
include/pj/ctype.h
include/pj/doxygen.h
include/pj/errno.h
include/pj/except.h
include/pj/fifobuf.h
include/pj/file_access.h
include/pj/file_io.h
include/pj/guid.h
include/pj/hash.h
include/pj/ioqueue.h
include/pj/ip_helper.h
include/pj/list.h
include/pj/list_i.h
include/pj/lock.h
include/pj/log.h
include/pj/math.h
include/pj/os.h
include/pj/pool.h
include/pj/pool_alt.h
include/pj/pool_buf.h
include/pj/pool_i.h
include/pj/rand.h
include/pj/rbtree.h
include/pj/sock.h
include/pj/sock_qos.h
include/pj/sock_select.h
include/pj/ssl_sock.h
include/pj/string.h
include/pj/string_i.h
include/pj/timer.h
include/pj/types.h
include/pj/unicode.h
include/pjlib++.hpp
include/pjlib-util.h
include/pjlib-util/base64.h
include/pjlib-util/cli.h
include/pjlib-util/cli_console.h
include/pjlib-util/cli_imp.h
include/pjlib-util/cli_telnet.h
include/pjlib-util/config.h
include/pjlib-util/crc32.h
include/pjlib-util/dns.h
include/pjlib-util/dns_server.h
include/pjlib-util/errno.h
include/pjlib-util/getopt.h
include/pjlib-util/hmac_md5.h
include/pjlib-util/hmac_sha1.h
include/pjlib-util/http_client.h
include/pjlib-util/json.h
include/pjlib-util/md5.h
include/pjlib-util/pcap.h
include/pjlib-util/resolver.h
include/pjlib-util/scanner.h
include/pjlib-util/scanner_cis_bitwise.h
include/pjlib-util/scanner_cis_uint.h
include/pjlib-util/sha1.h
include/pjlib-util/srv_resolver.h
include/pjlib-util/string.h
include/pjlib-util/stun_simple.h
include/pjlib-util/types.h
include/pjlib-util/xml.h
include/pjlib.h
include/pjmedia-audiodev/audiodev.h
include/pjmedia-audiodev/audiodev_imp.h
include/pjmedia-audiodev/audiotest.h
include/pjmedia-audiodev/config.h
include/pjmedia-audiodev/errno.h
include/pjmedia-codec.h
include/pjmedia-codec/amr_helper.h
include/pjmedia-codec/amr_sdp_match.h
include/pjmedia-codec/audio_codecs.h
include/pjmedia-codec/config.h
include/pjmedia-codec/config_auto.h
include/pjmedia-codec/config_auto.h.in
include/pjmedia-codec/ffmpeg_vid_codecs.h
include/pjmedia-codec/g722.h
include/pjmedia-codec/g7221.h
include/pjmedia-codec/g7221_sdp_match.h
include/pjmedia-codec/gsm.h
include/pjmedia-codec/h263_packetizer.h
include/pjmedia-codec/h264_packetizer.h
include/pjmedia-codec/ilbc.h
include/pjmedia-codec/ipp_codecs.h
include/pjmedia-codec/l16.h
include/pjmedia-codec/opencore_amr.h
include/pjmedia-codec/openh264.h
include/pjmedia-codec/passthrough.h
include/pjmedia-codec/silk.h
include/pjmedia-codec/speex.h
include/pjmedia-codec/types.h
include/pjmedia-videodev/avi_dev.h
include/pjmedia-videodev/config.h
include/pjmedia-videodev/errno.h
include/pjmedia-videodev/opengl_dev.h
include/pjmedia-videodev/videodev.h
include/pjmedia-videodev/videodev_imp.h
include/pjmedia.h
include/pjmedia/alaw_ulaw.h
include/pjmedia/avi.h
include/pjmedia/avi_stream.h
include/pjmedia/bidirectional.h
include/pjmedia/circbuf.h
include/pjmedia/clock.h
include/pjmedia/codec.h
include/pjmedia/conference.h
include/pjmedia/config.h
include/pjmedia/config_auto.h
include/pjmedia/config_auto.h.in
include/pjmedia/converter.h
include/pjmedia/delaybuf.h
include/pjmedia/doxygen.h
include/pjmedia/echo.h
include/pjmedia/echo_port.h
include/pjmedia/endpoint.h
include/pjmedia/errno.h
include/pjmedia/event.h
include/pjmedia/format.h
include/pjmedia/frame.h
include/pjmedia/g711.h
include/pjmedia/jbuf.h
include/pjmedia/master_port.h
include/pjmedia/mem_port.h
include/pjmedia/null_port.h
include/pjmedia/plc.h
include/pjmedia/port.h
include/pjmedia/resample.h
include/pjmedia/rtcp.h
include/pjmedia/rtcp_xr.h
include/pjmedia/rtp.h
include/pjmedia/sdp.h
include/pjmedia/sdp_neg.h
include/pjmedia/session.h
include/pjmedia/signatures.h
include/pjmedia/silencedet.h
include/pjmedia/sound.h
include/pjmedia/sound_port.h
include/pjmedia/splitcomb.h
include/pjmedia/stereo.h
include/pjmedia/stream.h
include/pjmedia/stream_common.h
include/pjmedia/symbian_sound_aps.h
include/pjmedia/tonegen.h
include/pjmedia/transport.h
include/pjmedia/transport_adapter_sample.h
include/pjmedia/transport_ice.h
include/pjmedia/transport_loop.h
include/pjmedia/transport_srtp.h
include/pjmedia/transport_udp.h
include/pjmedia/types.h
include/pjmedia/vid_codec.h
include/pjmedia/vid_codec_util.h
include/pjmedia/vid_port.h
include/pjmedia/vid_stream.h
include/pjmedia/vid_tee.h
include/pjmedia/wav_playlist.h
include/pjmedia/wav_port.h
include/pjmedia/wave.h
include/pjmedia/wsola.h
include/pjmedia_audiodev.h
include/pjmedia_videodev.h
include/pjnath.h
include/pjnath/config.h
include/pjnath/errno.h
include/pjnath/ice_session.h
include/pjnath/ice_strans.h
include/pjnath/nat_detect.h
include/pjnath/stun_auth.h
include/pjnath/stun_config.h
include/pjnath/stun_msg.h
include/pjnath/stun_session.h
include/pjnath/stun_sock.h
include/pjnath/stun_transaction.h
include/pjnath/turn_session.h
include/pjnath/turn_sock.h
include/pjnath/types.h
include/pjsip-simple/errno.h
include/pjsip-simple/evsub.h
include/pjsip-simple/evsub_msg.h
include/pjsip-simple/iscomposing.h
include/pjsip-simple/mwi.h
include/pjsip-simple/pidf.h
include/pjsip-simple/presence.h
include/pjsip-simple/publish.h
include/pjsip-simple/rpid.h
include/pjsip-simple/types.h
include/pjsip-simple/xpidf.h
include/pjsip-ua/sip_100rel.h
include/pjsip-ua/sip_inv.h
include/pjsip-ua/sip_regc.h
include/pjsip-ua/sip_replaces.h
include/pjsip-ua/sip_timer.h
include/pjsip-ua/sip_xfer.h
include/pjsip.h
include/pjsip/print_util.h
include/pjsip/sip_auth.h
include/pjsip/sip_auth_aka.h
include/pjsip/sip_auth_msg.h
include/pjsip/sip_auth_parser.h
include/pjsip/sip_autoconf.h
include/pjsip/sip_autoconf.h.in
include/pjsip/sip_config.h
include/pjsip/sip_dialog.h
include/pjsip/sip_endpoint.h
include/pjsip/sip_errno.h
include/pjsip/sip_event.h
include/pjsip/sip_module.h
include/pjsip/sip_msg.h
include/pjsip/sip_multipart.h
include/pjsip/sip_parser.h
include/pjsip/sip_private.h
include/pjsip/sip_resolve.h
include/pjsip/sip_tel_uri.h
include/pjsip/sip_transaction.h
include/pjsip/sip_transport.h
include/pjsip/sip_transport_loop.h
include/pjsip/sip_transport_tcp.h
include/pjsip/sip_transport_tls.h
include/pjsip/sip_transport_udp.h
include/pjsip/sip_types.h
include/pjsip/sip_ua_layer.h
include/pjsip/sip_uri.h
include/pjsip/sip_util.h
include/pjsip_auth.h
include/pjsip_simple.h
include/pjsip_ua.h
include/pjsua-lib/pjsua.h
include/pjsua-lib/pjsua_internal.h
include/pjsua.h
include/pjsua2.hpp
include/pjsua2/account.hpp
include/pjsua2/call.hpp
include/pjsua2/config.hpp
include/pjsua2/doxygen.hpp
include/pjsua2/endpoint.hpp
include/pjsua2/json.hpp
include/pjsua2/media.hpp
include/pjsua2/persistent.hpp
include/pjsua2/presence.hpp
include/pjsua2/siptypes.hpp
include/pjsua2/types.hpp
%%G7221%%lib/libg7221codec-%%CONFIGURE_TARGET%%.a
%%SHARED%%%%G7221%%lib/libg7221codec.so
%%SHARED%%%%G7221%%lib/libg7221codec.so.2
%%ILBC%%lib/libilbccodec-%%CONFIGURE_TARGET%%.a
%%SHARED%%%%ILBC%%lib/libilbccodec.so
%%SHARED%%%%ILBC%%lib/libilbccodec.so.2
lib/libpj-%%CONFIGURE_TARGET%%.a
%%SHARED%%lib/libpj.so
%%SHARED%%lib/libpj.so.2
lib/libpjlib-util-%%CONFIGURE_TARGET%%.a
%%SHARED%%lib/libpjlib-util.so
%%SHARED%%lib/libpjlib-util.so.2
lib/libpjmedia-%%CONFIGURE_TARGET%%.a
lib/libpjmedia-audiodev-%%CONFIGURE_TARGET%%.a
%%SHARED%%lib/libpjmedia-audiodev.so
%%SHARED%%lib/libpjmedia-audiodev.so.2
lib/libpjmedia-codec-%%CONFIGURE_TARGET%%.a
%%SHARED%%lib/libpjmedia-codec.so
%%SHARED%%lib/libpjmedia-codec.so.2
lib/libpjmedia-videodev-%%CONFIGURE_TARGET%%.a
%%SHARED%%lib/libpjmedia-videodev.so
%%SHARED%%lib/libpjmedia-videodev.so.2
%%SHARED%%lib/libpjmedia.so
%%SHARED%%lib/libpjmedia.so.2
lib/libpjnath-%%CONFIGURE_TARGET%%.a
%%SHARED%%lib/libpjnath.so
%%SHARED%%lib/libpjnath.so.2
lib/libpjsip-%%CONFIGURE_TARGET%%.a
lib/libpjsip-simple-%%CONFIGURE_TARGET%%.a
%%SHARED%%lib/libpjsip-simple.so
%%SHARED%%lib/libpjsip-simple.so.2
lib/libpjsip-ua-%%CONFIGURE_TARGET%%.a
%%SHARED%%lib/libpjsip-ua.so
%%SHARED%%lib/libpjsip-ua.so.2
%%SHARED%%lib/libpjsip.so
%%SHARED%%lib/libpjsip.so.2
lib/libpjsua-%%CONFIGURE_TARGET%%.a
%%SHARED%%lib/libpjsua.so
%%SHARED%%lib/libpjsua.so.2
lib/libpjsua2-%%CONFIGURE_TARGET%%.a
%%SHARED%%lib/libpjsua2.so
%%SHARED%%lib/libpjsua2.so.2
%%NO_SAMPLERATE%%%%RESAMPLE%%lib/libresample-%%CONFIGURE_TARGET%%.a
%%NO_SAMPLERATE%%%%RESAMPLE%%%%RESAMPLEDLL%%lib/libresample.so
%%NO_SAMPLERATE%%%%RESAMPLE%%%%RESAMPLEDLL%%lib/libresample.so.2
lib/libsrtp-%%CONFIGURE_TARGET%%.a
%%SHARED%%lib/libsrtp.so
%%SHARED%%lib/libsrtp.so.2
libdata/pkgconfig/libpjproject.pc