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
- add reliable_1xx REL100_IGNORED, where all rel100 stuff is ignored
- set B2B sessions as reliable_1xx=REL100_IGNORED
- translate RAck Cseq
- for this: adds rack_method and rack_cseq to sip request (should possibly be reworked to use some dynamic field)
- relay Rseq (if exist)
The SBC application is a highly flexible high-performance Back-to-Back
User Agent (B2BUA). It can be employed for a variety of uses, for example
topology hiding, From/To modification, enforcing SIP Session Timers,
identity change, SIP authentication. Future uses include accounting,
call timers, RTP call bridging, transcoding, call distribution.
This DSM tutorial implements step by step an application,
which is best described by the original question:
"I am trying to accomplish a script that parallel forks to
many callers and then the one who enters the right DTMF
code gets the call."
The tutorial shows how a full application can be implemented
with DSM state machine scripting alone. Specifically, it shows
how to
- play ringback tone (183 early media)
- read from mysql database
- place outgoing calls
- interact between calls
- use conference module to connect the audio of calls