Hi,
Alex Balashov wrote:
1) Inline B2BUA in the signaling path of all calls;
1a) Make it do SSTs; or
1b) Make it relay media, too, and hang up the call (bidirectional BYE)
on RTP receive timeout;
[...]
Needless to say, I am interested in the option that
requires the least
work but still solves the problem in an elegant way from a technical
and--dare I say--aesthetic perspective.
you are right; with SEMS this needs some
work. I wouldn't say it is a
lot, as you have all the basic functionality already there, at least
for 1.a.
For instance, it seems clear from looking at the SEMS-1.1.1 sources that
SSTs are supported in principle in core/plug-in/session_timer. But
unless I am missing something, I cannot find anywhere in the sources or
examples where it is actually used.
have a look at core/plug-in/echo.
Session timer is implemented as SessionEventHandler (hooks that get
called for every request received/sent), which you need to add to the
session e.g. when you create it. In your case you would need to add it
to both legs of the B2BUA call; e.g. if you start from auth_b2b you'd
have to add it in both AuthB2BFactory::onInvite and
AuthB2BDialog::createCalleeSession.
What I'm not sure is whether the configuration of session timer values
works the way it should (configureModule), possibly you'd need to hack
this a little.
As for 1.b, SEMS does not yet have an RTP relay mode (only transcode).
If you are really interested in it, I think we can work on that;
again, the basic components are there, it needs just adding some
things here and there.
Regards
Stefan
--
Stefan Sayer
VoIP Services Consulting and Development
Warschauer Str. 24
10243 Berlin
tel:+491621366449
sip:sayer@iptel.org
email/xmpp:stefan.sayer@gmail.com