Eliminate the `auto_ptr` usage for core/* ,
since this pointer type has been deprecated in C++11.
Use, as recommended, `unique_ptr` instead.
Change-Id: I352e03bd0c8401d9a4890d8a1845913e4c22dab3
Remark: this commit is created as an attempt to keep PRO / CE sems repositories
consistent in terms of the provided code and functionality.
We need to have a possibility to detect emergency calls and let them
pass through the SEMS, even if the license limitation (CPSLimit) is triggered.
Also taking into account the global policy defined by the cfg parameter
'skip_cpslimit_emergency'.
If set to 'yes' (in the code will be treated as True)
then we do not drop emergency calls on CPSLimit triggering.
If set to 'no' - we treat emergency calls
as if they were usual calls in terms of checking CPSLimit license limitation.
(real ticket number: TT#138356)
Change-Id: I152747271bb5d0a6838f721493fd2660a35e10f8
* remotes/origin/1.4: (27 commits)
b/f: getHeader: find correct hdr also if it's substring of another hdr
b/f: support values at end of SDP without CR (master 8ec8a910a2)
b/f: T38 streams in SBC/B2B (udptl transport); proper media direction passthrough
click2dial: b/f: fix crash when using without credentials
Add systemd-related files to the pkg/rpm dir
Add libzrtp support to the CMakeFile
Fix c/p typo in cmake-files
Missing include for close(FILE *)
Drop privileges for SEMS process
b/f: in webconference app, handle session timer timeout and RTP timeout
b/f: on RTP timeout, end dialog with sending BYE
b/f: make listRooms return only non-expired rooms
b/f: B2BUA: fixed replies for error handling
b/f: fixing b6d5f726 (fix SBC SDP filter)
b/f: fix SBC SDP filter with connection per media only
add Retry-After: 0 to NOTIFY 500 response on low CSeq
b/f: click2dial: save content_type, cseq to connect callee
b/f: use proper empty string value
b/f: use proper failure return value
b/f: reset RTP-received timestamp when (re)starting process RTP stream
...
If an INVITE has been forked and more than one branch is aimed at SEMS,
then the branch parameter of the top-via is necessary to distinguish the
different sessions.
By default, SEMS will now accept forked INVITEs.
This behavior can be switched off by setting "accept_forked_dialogs" to "no" (default=yes).
Conflicts:
core/AmSipDispatcher.cpp
- the session pointer should not be touched after the session has been started (could be immediately destroyed).
- return 481 on CANCEL if the transaction cannot be found.
- reply properly with 482 if the UAS dialog already exists.
SIGHUP - broadcast shutdown, usually sends BYE and stops all calls. The server does not terminate.
SIGINT - broadcast shutdown (usually sends BYE and stops all calls), and stop.
SIGTERM - stop the server, without broadcasting shutdown (no BYEs sent).
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
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
- active sessions and other event receivers
get a SystemEvent::ServerShutdown,
default behaviour of AmSession is setStopped()
- session container waits for all sessions to be ended
- signaling server, rtp receiver, media processor, event dispatcher
are stopped and deleted
based on a patch by Rui Jin Zheng rjzheng at boronetworks dot com
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1087 8eb893ce-cfd4-0310-b710-fb5ebe64c474
- removed AmSIPEventHandler (its functionalities are now in AmEventDispatcher).
- added possibility for each plug-in to receive out-of-dialog messages (any kind).
- added possibility to handle dialogs without creating a session (=AmSession).
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1006 8eb893ce-cfd4-0310-b710-fb5ebe64c474
Plugin interface stays backward compatible by overloading the AmSessionFactory::onInvite
- applications that want to use this feature need to implement the onInvite function with
second parameter.
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@336 8eb893ce-cfd4-0310-b710-fb5ebe64c474
* new methods onSipRequest/onSipReply, the whole AmSipReply/AmSipRequest structure is passed to python
SipDialog
* state is changed only on reply to INVITE, not other requests
* made pin_collect work
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@189 8eb893ce-cfd4-0310-b710-fb5ebe64c474
AmSIPEventHandler plugin, which receives replies to requests outside of a dialog.
* events can now be passed to session factories
git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@158 8eb893ce-cfd4-0310-b710-fb5ebe64c474