The 100rel logic moved in great part to AmSipDialog; this way, it can be
hooked directly to request/reply processing routines, the ones on top of
the transactional layer (::updateStatus(..)).
This allows to:
- better control when to push the messages into the AmSession's
onSipRequest/~Reply, fixing some issues with applications that received
replies, but without sending themselves the requests
- insert needed headers, no matter which request function is used
(::invite() vs. ..sendRequest())
to prevent SEMS from stopping if there are hanging sessions,
a limit on the maximum shutdown time (actually time to wait
for sessions to stop) can be configured
default: 10 seconds
turn off by setting to 0
- options now properly override configuration settings
- fix arguments checking and cleanup error messages
- "-D" accepts string level (eg, "info"), etc.
[ ...prepare for switching to getopt soon... ]
* signal handling and more gracious shutdown procedure
- fix possible race condition in the signal handler (eg, static
AmMutex and AmCondition)
- dispose instances synchronously in main() instead of in
the signal handler
- replace multiple "exit()"s by a single exit point
- remove PID file on failure exit
* add possibility to disable daemon mode at compile-time (see
DISABLE_DAEMON_MODE macro)
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1872 8eb893ce-cfd4-0310-b710-fb5ebe64c474
- introduced outbound_proxy+force_outbound_proxy at the SIP dialog level (AmSipDialog)
- outbound_proxy+force_outbound_proxy is configurable in the sems.conf
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1818 8eb893ce-cfd4-0310-b710-fb5ebe64c474
to use it, set USE_THREADPOOL in Makefile.defs and configure thread pool
size with session_processor_threads= parameter in sems.conf :
+# compile with session thread pool support?
+# use this for very high concurrent call count
+# applications (e.g. for signaling only)
+# if compiled with thread pool, there will be a
+# thread pool of configurable size processing the
+# signaling and application logic of the calls.
+# if compiled without thread pool support, every
+# session will have its own thread.
+#
+#USE_THREADPOOL = yes
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1782 8eb893ce-cfd4-0310-b710-fb5ebe64c474
That's why AmConfig::IgnoreSIGCHLD is now set to true as a default. We may discuss later
wether this parameter can/should be removed.
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@746 8eb893ce-cfd4-0310-b710-fb5ebe64c474
- splits the interface to the outer world from the core:
- use binrpcctrl plugin for SASI interface, or
- unixsockctrl for the good old unix socket interface.
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@568 8eb893ce-cfd4-0310-b710-fb5ebe64c474
o SEMS-7: RTP extension headers may be ignored if ignore_rtpxheaders=yes set in config file
o if changing payload type fails, packet will not be processed
o minor code beautification and comments added/corrected
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@418 8eb893ce-cfd4-0310-b710-fb5ebe64c474
* rtp packet parse called in RtpStream, so rtp keepalive packets are not disregarded in respect to rtp timeout
* rtp timeout made configurabe in sems.conf: dead_rtp_time
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@281 8eb893ce-cfd4-0310-b710-fb5ebe64c474
in the RTP stream. It is possible to disable this new behaviour using
single_codec_in_ok parameter in the sems.conf.
Developed by: Sippy Software, Inc.
Sponsored by: Digifonica Canada Limited
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@279 8eb893ce-cfd4-0310-b710-fb5ebe64c474