Hi Juha,
o Juha Heinanen on 09/20/2011 06:41 AM:
Stefan Sayer writes:
therefore, I will generalize the prepaid API as i sketched before that
it has the possibility to
- drop call
- refuse call with code, reason
- start call and set timer
which will be enough that you can have call_control and prepaid in
their own modules. This works fine through a DI api, where sbc module
calls the logic modules at the appropriate places. I like this
approach better, because the API is clear and you don't get any
side-effects.
stefan,
about "side effects", i just want to make it clear that i didn't propose
overloading SBCDialog::onInvite, onCancel, stopCall, etc. methods, but
(if needed) having corresponding methods in feature (prepaid, call_control,
etc) classes and calling them in SBCDialog methods.
for example, if prepaid or call_control feature is enabled, SBC.cpp creates
corresponding object. then SBCDialog::stopCall() that currently is
implemented lke this
we are now doing something similar, but instead of compiling the
objects into the sbc module, we use a clean DI API to separate call
control modules and basic SBC functionality.
> [...]
hopefully your api is as simple.
the API is even simpler. And it can still access the SBC profile and
thus control the SBC operation.
There is some documentation in docs/Readme.sbc_call_control.txt.
Hopefully it has all the necessary information.
A CC module implementing parallel calls limit is also already there.
I have written a sample module (sbc/call_control/template) which
contains all the boilerplate code and you can use that if you want to
start hacking on a call control module.
The DI API is still going to change a little bit, but most probably
this will be about adding other information (like for example
information from the second call leg), and then adding one or two more
control points (e.g. drop the call already before the session instance
is created in sems).
Stefan
-- juha
_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev