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")
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
* 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
applications which are doing outbound calls should implement
onFailedOutboundCall if the behavior should be different than
setting stopped.
Reported by Andrei Samusenko
- 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.
* dsm_lang:
DSM: support variables in range, e.g. range($myvar)
DSM: size($arrayname, $dst) action
added [] to chars not allowed in var names
DSM: fix for ($bar in array) for structs
DSM: parsing of "else", if conditions without []
DSM: implement for ($x in range(2, 5))
DSM: "for (x in array)" and "for (k,v in struct)"
dsm: execution reordered (small optimization)
reindent
reindent
implementation of functions in DSM
initial support for if blocks (no else)
Development of this module was sponsored by TelTech Systems Inc.
The groups module implements a group event broadcast system. DSM calls can
join and leave groups, and post events to groups. Events are passed to all
members of the group that the event is posted to. Events can, just like the
`postEvent` function of DSM, contain either some variables, or all variables.
If a call ends, it is automatically removed from all groups it belongs to.
Actions:
groups.join(groupname) - Join a group
groups.leave(groupname) - Leave a group
groups.leaveAll() - Leave all groups
groups.postEvent(groupname, var1;var2) - post event to groupname with var1 and var2
groups.postEvent(groupname, var) - post event to groupname with all variables