## The OSS Core library currently provides classes that encapsulate functions and operations for:

    * SIP ABNF Parser
    * SIP Finite State Machines
    * SIP B2B User Agent
    * Java Script Engine using Google V8
    * CommonJS support using Duktape
    * SIP Over Websockets
    * STUN server
    * RTP Proxy
    * CARP High Availability
    * REST Persistence Store
    * BSON/JSON Parser
    * RAFT Concensus

## Minimal Prerequisites (Mac and Linux)
### Mac build is tested using homebrew installed packages
    * openssl-devel
    * boost-devel
    * poco-devel

Note: In Mac, you will need to create a softlink of the openssl include directory in /usr/local/include

## Prerequisites (CentOS or Fedora)
-----------------------------------
You can use the spec file to install all dependencies

To list build dependencies

  grep '^BuildRequires' oss_core/oss_core.spec.in | awk '{print $2}'

To list runtime dependencies

  grep '^Requires' oss_core/oss_core.spec.in | awk '{print $2}'

To install build dependencies
  
  sudo yum install -y `grep '^BuildRequires' oss_core/oss_core.spec.in | awk '{print $2}'`
  
## Building From Source (Mac and Linux)
------------------------------------------
### Download the source code from https://github.com/joegen/oss_core and build it
    git clone https://github.com/joegen/oss_core.git
    cd oss_core
    autoreconf -if
    mkdir -p .build
    cd .build
    ../configure
    make && sudo make install
  
## Building RPMS (CentOS or Fedora)
-----------------------------------
  
### Create RPM Build environment
    echo "%_topdir      $HOME/rpmbuild" >> ~/.rpmmacros
    mkdir -p ~/rpmbuild/{BUILD,SOURCES,RPMS,SRPMS,SPECS}
    cd oss_core
    autoreconf -if
    mkdir -p .build
    cd .build
    ../configure --enable-all-features --disable-dep-check
    make dist
    rpmbuild -ta oss_core-*tar.gz
