AmEventProcessingThread processes events posted
in the event queue until either server shutdown
is signaled or processing is requested to stop
with the stop_processing function.
Override the onEvent(AmEvent* ev) method, create
an object, start() it and post events to it.
If you need queue policing (e.g. overflow protection),
override police_event() function.
based on a patch by Robert Szokovacs
Conflicts:
apps/dsm/DSMCoreModule.cpp
apps/dsm/DSMCoreModule.h
core/AmRtpStream.h
core/AmSession.h
doc/dsm/dsm_syntax.txt
pauseReceiving()
stop RTP receiving (drop all received packets, also no RTP timeout check)
resumeReceiving()
restart RTP receiving
monitorRTPTimeout(enabled=false)
set call to monitor RTP timeout (enabled="true" or "false")
--
-- This DSM app
-- o plays early media from a file in the DB
-- o sends a HTTP request to a web server
-- o SUBSCRIBEs to registration state
-- o if registration becomes active (at least one active contact), it sends back "300 Multiple Choices"
-- o otherwise (timeout) it sends back "480 Not found"
-- Parameters (P-App-Param):
-- audio_id - indicating audio file in DB
-- expiration - subscription expiration/waiting time (default: 60)
-- caller - caller passed to notification web app
-- callee - callee passed to notification web app
-- domain - domain passed to notification web app
--
-- Example: P-App-Param: audio_id=rbt;expiration=30;caller=+43111111111;callee=+432222222222;domain=sip.sipwise.com
--
-- Example DB:
-- CREATE TABLE `audio_files` (
-- `id` varchar(20) DEFAULT NULL,
-- `data` mediumblob
-- ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
based on a patch by Emil Kroymann
Conflicts:
apps/dsm/DSMCall.cpp
apps/dsm/DSMCall.h
apps/dsm/DSMSession.h
apps/dsm/DSMStateEngine.h
apps/dsm/SystemDSM.cpp
apps/dsm/SystemDSM.h
doc/dsm/dsm_syntax.txt
Conflicts:
doc/dsm/dsm_syntax.txt
new sems.conf option:
Ignore too low CSeq for NOTIFYs? [yes | no]
May be necessary to interwork with simplistic/old (following 3265
instead of 5057) SIP event notification implementations.
ignore_notify_lower_cseq=yes
Conflicts:
core/AmSipDialog.cpp
* 1.4:
b/f: fix incorrect parsing of keys with semicolon at the beginning in get_header_keyvalue
[systemd] Restart in case of failure
[init-script] Fix diractory for Pid-file
b/f: fix false positive matching keys with prefixes in get_header_keyvalue
Added missing /etc/sysconfig/sems file to the pkg/rpm
1.4 branch build version
updated changelog for 1.4.3 release
SEMS 1.4.3 release
c/f: revert a83b8e1 as it can cause some issues with the linker
c/f: make it possible to pass CXX / CC from env vars
c/f: make callgen compile using proper IP for From host
core: name default interface as "default"
core: handle exceptions in out-of-dlg messages gracefully
b/f: stopping failed outbound calls
b/f: AmCondition::wait_for_to nsec overflow
Add [Install] directive for systemd
SEMS 1.4 series bugfix release, should be a drop-in replacement to 1.4 installations.
For details of the changes see the changelog below.
If you are using custom applications which create outbound calls,
please specifically test the behavior with the commit
26fdaa8e b/f: stopping failed outbound calls
Many thanks to everyone who reported issues and contributed with patches.
$ git cherry -v 1.4.2 origin/1.4
+ 8a6f63b6eb 1.4 branch build version
+ 564bb0dced fix linking libssl for XMLRPC client
+ 9d4437e9cb b/f: distinct COREPATH for sbc tools
+ 23694e99b4 b/f: fixed mem leak accumulating sip requests on failed auth
+ 7fd59bf2f3 enable unloading of module for cleaner shutdown
+ 37ae9dbee4 b/f: don't wait in user timer destruction
+ f81ce844a9 b/f: on receiving re-INVITE without SDP, reply 488 and continue call
+ 0fbb1f9efe b/f: remember passive_mode for keeping symmetric RTP in a session
+ e78fe72fb6 b/f: support compact Supported header (k:)
+ a03278d09f b/f: in bye() don't do send_200_ack while iterating over uac_trans
+ f755fac491 introduce timeout for sems-stats management utility
+ 97f3dcc3ea b/f: xmlrpc2di - detect unsuccessful bind on startup
+ 7c87e3c238 Fix unresolved symbol in sbc module when compiled with cmake
+ 44889f80bb b/f: reset RTP-received timestamp when (re)starting process RTP stream
+ 5139d4cb19 b/f: use proper failure return value
+ 49d90444fe b/f: use proper empty string value
+ 620f03ba84 b/f: click2dial: save content_type, cseq to connect callee
+ 4e023507b6 add Retry-After: 0 to NOTIFY 500 response on low CSeq
+ 8dac2df1b8 b/f: fix SBC SDP filter with connection per media only
+ 32461b9a6e b/f: fixing b6d5f726 (fix SBC SDP filter)
+ dde27343e5 b/f: B2BUA: fixed replies for error handling
+ c49cc6bd17 b/f: make listRooms return only non-expired rooms
+ a7516d0000 b/f: on RTP timeout, end dialog with sending BYE
+ bed6c2545a b/f: in webconference app, handle session timer timeout and RTP timeout
+ c096050398 Drop privileges for SEMS process
+ ff94051b84 Missing include for close(FILE *)
+ b74432b69f Fix c/p typo in cmake-files
+ 13c6e3f26d Add libzrtp support to the CMakeFile
+ 78126830bf Add systemd-related files to the pkg/rpm dir
+ 1d86e099d3 click2dial: b/f: fix crash when using without credentials
+ 8c10653865 b/f: T38 streams in SBC/B2B (udptl transport); proper media direction passthrough
+ ddb20bd278 b/f: support values at end of SDP without CR (master 8ec8a910a2)
+ 427a5a7729 b/f: getHeader: find correct hdr also if it's substring of another hdr
+ ead6c3efbc Add [Install] directive for systemd
+ e6b3af3839 b/f: AmCondition::wait_for_to nsec overflow
+ 26fdaa8eaf b/f: stopping failed outbound calls
+ 0ad56907a9 core: handle exceptions in out-of-dlg messages gracefully
+ 2aa0bc2a33 core: name default interface as "default"
+ 7b5cf590d3 c/f: make callgen compile using proper IP for From host
+ a83b8e1e21 c/f: make it possible to pass CXX / CC from env vars
+ 0d66e620ef c/f: revert a83b8e1 as it can cause some issues with the linker