On Debian/wheezy there's:
| # apt-cache show sip4
| Package: sip4
| [...]
| Version: 4.10.2-1
| Depends: python-sip-dev
and since we're build-depending on python-sip-dev already
there's no point in having sip4 in Build-Depends any longer,
since sip4 is a *source* only package starting with Debian/wheezy
and threfore doesn't work as build-dependency anyway.
--
-- This DSM app
-- o plays early media from a file in the DB
-- o replies with final reply code/reason from P-App-Param
--
-- Parameters (P-App-Param):
-- audio_id - indicating audio file in DB; must be wav 16 bit pcm format (with wav header)
-- fr_code - final reply code
-- fr_reason - final reply reason
--
-- Example: P-App-Param: audio_id=rbt;fr_code=404;fr_reason="Not found"
DB table is provisioning.audio_files, select by id, e.g.
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | varchar(20) | YES | | NULL | |
| data | mediumblob | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
this prevents corruption in the (extremely rare) case that a reply
to SUBSCRIBE or a NOTIFY is already processed while the method to
send the SUBSCRIBE is still being processed (with the little overhead
of a bit more lock contention)
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