Bug 203407

Summary: [NEW PORT] net/opensips: Open Source SIP proxy/server for voice, video, IM, presence and any other SIP extensions
Product: Ports & Packages Reporter: Euan Thoms <euan>
Component: Individual Port(s)Assignee: Kurt Jaeger <pi>
Status: Closed FIXED    
Severity: Affects Some People CC: pi
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
shar file for net/opensips
none
Poudriere testport log on 10.1 RELEASE amd64 none

Description Euan Thoms 2015-09-28 08:39:25 UTC
Created attachment 161472 [details]
shar file for net/opensips

New port for latest version of stable branch of OpenSIPS.  http://www.opensips.org/

This port was tricky to make because OpenSIPS make files do not use autotools or cmake, or anything similar. The user is intended to run "gmake menuconfig" and select the modules to build and any other build time options from the ncurses style menu. Therefore, I had to replicate the end result using FreeBSDs' make mechanisms. The port Makefile takes the port OPTIONS to generate a gmake Makefile using sed (string replacement). I had to overide "do-configure", "do-build" and do-install" because it was not possible any other way. Likewise, gcc and gmake are used because OpenSIPS requires them to build properly (from my experience).

I have been running the port in production for many weeks now, without any known problems.

NOTE: I have found running many versions of Kamailio (sister fork of OpenSIPS) and other versions of OpenSIPS to have the service crash randomly over time when used in jails. Not tested outside of a jail. This version is super stable on at least 10.1 amd64. However, I have found the main configuration file (opensips.cfg) can also cause crashes under certain configurations. Basically, if everything is right, it is rock solid stable. But otherwise it can be quite flakey. I can't say if this is the case under Linux, the primary target audience. I am attributing many of the crashes to either memory leak(s) or bad memory management. It may just be the FreeBSD VMem system that it affects. Nonetheless, this port with my sample config is very stable.
Comment 1 Euan Thoms 2015-09-28 08:44:31 UTC
Created attachment 161473 [details]
Poudriere testport log on 10.1 RELEASE amd64

Poudriere tesport passes on 10.1 amd64.
Comment 2 Kurt Jaeger freebsd_committer freebsd_triage 2015-10-01 08:25:31 UTC
test-builds on 11-cur, 10.2i+a, 9.3a all OK
It fails with perl-5.22.
Comment 3 commit-hook freebsd_committer freebsd_triage 2015-10-01 16:35:37 UTC
A commit references this bug:

Author: pi
Date: Thu Oct  1 16:34:44 UTC 2015
New revision: 398368
URL: https://svnweb.freebsd.org/changeset/ports/398368

Log:
  New port: net/opensips

  OpenSIPS (Open SIP Server) is a mature Open Source implementation
  of a SIP server.

  It includes application-level functionalities and is the core component
  of any SIP-based VoIP solution. With a very flexible and customizable
  routing engine, OpenSIPS unifies voice, video, IM and presence
  services in a highly efficient way, thanks to its scalable (modular)
  design.

  It is reliable and fast, for enterprise or carrier-grade use cases.

  WWW: http://www.opensips.org/

  PR:		203407
  Submitted by:	Euan Thoms <euan@potensol.com>

Changes:
  head/net/Makefile
  head/net/opensips/
  head/net/opensips/Makefile
  head/net/opensips/distinfo
  head/net/opensips/files/
  head/net/opensips/files/Makefile.conf
  head/net/opensips/files/opensips.cfg.sample
  head/net/opensips/files/opensips.in
  head/net/opensips/files/patch-Makefile
  head/net/opensips/files/patch-Makefile.defs
  head/net/opensips/files/patch-io_wait.h
  head/net/opensips/files/patch-net__net_tcp.c
  head/net/opensips/files/patch-net__net_tcp_proc.c
  head/net/opensips/pkg-descr
  head/net/opensips/pkg-plist
Comment 4 Kurt Jaeger freebsd_committer freebsd_triage 2015-10-01 16:37:33 UTC
Thanks for the hard work to make with port! Committed, thanks!