Hi Stafan,

Thank you for the patch.
I will re-test the IVR plugin.


Regards,
Balint



Stefan Sayer wrote:
Hi,
Andreas Granig wrote:
Hi Stefan,

Stefan Sayer wrote:
Does py_sems work stable and without leaks for you?

I'm just about to start with it, so I can't say anything about stability yet. I gonna check it under high load as soon as I have something useful to test with. Are there any known issues I should be aware of?

I have not done any stress testing with py_sems, but I reproduced the crash that Balint reported with ivr module, which occured only under high load and after a while (though not after reproducable call count - sometimes after some million calls, sometimes after a few hundreds thousands). In that crashes, I never managed to get a meaningful backtrace, but it is quite probable to me that this is caused by some concurrent access to python structures. I am now stress-testing with r1632 - so far it looks good. In py_sems the python c++-class wrappers are auto-generated, but apart from that it is quite similar to ivr module, so the same problems might be present.

Another issue I had which I am now unsure whether its fully resolved is pythons memory allocator and leaks - I find it quite difficult to find out where a leak is.

OTOH, I think python for app development in sems is mostly used because it is so simple, e.g. so many libraries are easily accessible and all. But usually you would not want to use SEMS from python in that kind of framework-like way (using functionality on various abstraction levels, which would among other things involve calling python functions very often in call processing), but rather build on some sort of more clearly defined SEMS-API. In DSM we did create just that: DSMSession is that interface that the session/call object provides (DSMCall is the implementation). That API is exposed through 'native' DSM actions/conditions/events, but also (already most of it) through the mod_py python wrapper. With the DSMDisposable mechanism, other audio devices can also also be added to that API in modules (without bloating the base call API). You could possibly even add a function to mod_py that makes it possible to call DSM actions or evaluate conditions, if you wanted to do that. So I think that DSM+mod_py might possibly be the better way to go with python in SEMS.

BR
Stefan


Andreas





--
        Balint Kovacs
Software Engineer
Gamma Telecom
Mobile  +36 (06) 70 244 6677
Phone   +44 (0) 207 078 8213
Email   [email protected] <mailto:[email protected]>
Web     www.gammatelecom.com <http://www.gammatelecom.com>

_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev

Reply via email to