Skip to content

C++ implementation of SIP, ICE, TURN and related protocols.

License

Notifications You must be signed in to change notification settings

shrhoads/resiprocate

This branch is 234 commits behind resiprocate/resiprocate:master.

Folders and files

NameName
Last commit message
Last commit date
Mar 1, 2023
Mar 3, 2023
Mar 2, 2023
Jan 24, 2023
Nov 4, 2017
Nov 18, 2022
Mar 25, 2009
Dec 29, 2022
Oct 7, 2022
Mar 1, 2023
Jan 24, 2023
Mar 6, 2023
Mar 6, 2023
Mar 6, 2023
Jan 24, 2023
Jul 14, 2022
Nov 10, 2017
Jan 11, 2023
Apr 28, 2021
Jan 24, 2023
May 16, 2012
May 30, 2022
Mar 5, 2023
May 16, 2012
May 2, 2012
Sep 18, 2014
Dec 26, 2019
Jul 14, 2022
Oct 30, 2021
Nov 18, 2022
Nov 10, 2022
Nov 30, 2008
Oct 14, 2022
Feb 18, 2013
Jan 24, 2023
Jan 24, 2023
Jan 24, 2023
Nov 11, 2021
Nov 11, 2021
Jan 27, 2022
Nov 18, 2022
Nov 19, 2012
Jan 16, 2014

Repository files navigation

-----------------------------------------------------------

IMPORTANT

 - the notes below relate to the legacy build
   system from reSIProcate <= 1.7.x

 - now, with reSIProcate 1.8.x and beyond,
   please see:

    http://www.resiprocate.org/AutotoolsBuild

   and

    http://www.resiprocate.org/Configuration_Options


-----------------------------------------------------------

Notes for the legacy build system:


The legacy reSIProcate build system is derived from
the VOCAL build system (http://www.vovida.org). 

Adding New Files to a module
----------------------------

Example: Adding a new file Foo.cxx to the stack

1) Edit resip/stack/Makefile
2) Add Foo.cxx to the SRC list

Example: Adding a new file Bar.cxx to rutil
1) Edit rutil/Makefile
2) Add Bar.cxx to the SRC list

Notes: 
- All files noted in SRC list will be added to the target library
- Adding a new header file does not need to be noted in the Makefile
- To add something to the compile line add to CXXFLAGS. 
e.g. CXXFLAGS += -DMYSPECIALDEFINE
- To add something to the link line add to LDFLAGS and/or LDLIBS
e.g. LDFLAGS += -L/usr/local/myspeciallibdir
e.g. LDLIBS += -lmyspeciallib

Creating an application based on the stack: 

Option 1:  (Using the resip build system)
For example applications using the resip build system look at resip/stack/test or at repro.

###########################################################################################
# Create a Makefile in the directory with the units with the following template
# This should be the path to the build directory of resip (in the sip subdirectory)
BUILD = ../../build   

# Includes macros
include $(BUILD)/Makefile.pre

# Add any options that need to be passed to the C++ compiler here
#CXXFLAGS += -DMYSPECIALDEFINE

# Add any options that need to be passed to the C compiler here
#CFLAGS += -DMYOTHERDEFINE

# Add any options that need to be passed to the linker here
#LDFLAGS += -L/usr/local/mydir

# Add any libraries that need to be passed to the linker here
#LDLIBS += -lmylib

# All of these packages are prerequisites for resiprocate
PACKAGES += RESIP RUTIL OPENSSL ARES PTHREAD

# Add an entry to TESTPROGRAMS for each target that has a main in it
# On linux this will generate an executable in bin.debug.Linux.i686/main
TESTPROGRAMS += main.cxx

# Add each of the C++ or C files that other than the main
# Each main target (from TESTPROGRAMS) will be linked with all of the files in SRC
SRC = 		TestSupport.cxx

# Includes macros
include $(BUILD)/Makefile.post
###########################################################################################

Option 2: (Using a third party build system)

Prerequisites: 
- Install ares library from contrib/ares 
  - cd contrib/ares
  - ./configure
  - make
  - make install

Pass the following flags to C++ compiler: 
Assumptions: 
- have pthreads
- have openssl installed
- have ares installed
- resiprocate library is built and installed

# Linux Example
CXXFLAGS += -Wall -fPIC -Wno-deprecated -march=i686 \
            -D_REENTRANT -DUSE_SSL -DNEW_MSG_HEADER_SCANNER -DUSE_IPV6 -DUSE_ARES \
            -I/usr/kerberos/include -I$(RESIP_DIR)/lib.debug.Linux.i686 
LDFLAGS += -L$(RESIP_DIR)/lib.debug.Linux.i686 
LDLIBS += -lresip -lrutil -lssl -lcrypto -lares -lpthread


About

C++ implementation of SIP, ICE, TURN and related protocols.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 64.2%
  • C 25.0%
  • C# 2.7%
  • Perl 1.6%
  • Shell 1.4%
  • Makefile 1.3%
  • Other 3.8%