On 23 August 2010 10:32, Antonio <asilva@wirelessmundi.com> wrote:
I see. I've a couple of questions related:
Is it recommended to directly use core.db for monitoring purposes instead of developing a custom event handler? Could there be any sqlite "locking" issues if attacking that database in a read-only manner?
I would use ESL, I believe that's probably the recommended way to do it. It's a pretty simple protocol so shouldn't be any harder to implement than something reading an sqlite file. You can either use events and work out the channel states yourself, or use api commands like 'show channels' etc (which reads the core db so are pretty much what you'd already be doing). A rwlock can't be written while a reader has it, so it will possibly slow the DB down if you're reading the database. Shouldn't be noticeable unless you're doing so intensively though. Another approach would be to move the core into odbc to use a database system that's more advanced than sqlite, which would also them allow you to replicate the data to another server so none of the monitoring occurs on the FS host.
In case it is possible, how can I identify what was the initial application that was called from the dialplan (and not the applications called by it). Is there an API method containing the history of applications executed on a specific channel given its uuid?
Do you need it in realtime or after the call? mod_xml_cdr contains the callflow, I don't know whether that can be accessed during a call though. ESL events will give you that information I believe.
Thanks, António
On Thu, 2010-08-19 at 09:20 -0500, Anthony Minessale wrote:
No, every app that is ever executed will change that field, some apps in turn execute more apps.
On Thu, Aug 19, 2010 at 3:09 AM, Antonio <asilva@wirelessmundi.com> wrote:
Hi,
during multiple selects in the table "channels" just realized that when a call is executing the app voicemail, to check for messages, during
the
navigation menu of the voicemail it changes to application "sleep".
Is it normal? or is a bug for fs?
The call:
During the auth:
sqlite> select * from channels; 58de6c5f-1d0a-45f6-9d0c-4665b32812eb|inbound|2010-08-19 10:01:46| 1282204906|sofia/192.168.10.25/101@192.168.10.25|CS_EXECUTE|101|101|<http://192.168.10.25/101@192.168.10.25%7CCS_EXECUTE%7C101%7C101%7C> 192.168.10.75|133|voicemail|check commsmundi.com commsmundi.com100|XML| local|PCMU|8000|PCMU|8000||marces|101@192.168.10.25||EARLY||||
sqlite> select * from channels; 58de6c5f-1d0a-45f6-9d0c-4665b32812eb|inbound|2010-08-19 10:01:46| 1282204906|sofia/192.168.10.25/101@192.168.10.25|CS_EXECUTE|101|101|<http://192.168.10.25/101@192.168.10.25%7CCS_EXECUTE%7C101%7C101%7C> 192.168.10.75|133|voicemail|check commsmundi.com commsmundi.com100|XML| local|PCMU|8000|PCMU|8000||marces|101@192.168.10.25||EARLY||||
sqlite> select * from channels; 58de6c5f-1d0a-45f6-9d0c-4665b32812eb|inbound|2010-08-19 10:01:46| 1282204906|sofia/192.168.10.25/101@192.168.10.25|CS_EXECUTE|101|101|<http://192.168.10.25/101@192.168.10.25%7CCS_EXECUTE%7C101%7C101%7C> 192.168.10.75|133|voicemail|check commsmundi.com commsmundi.com100|XML| local|PCMU|8000|PCMU|8000||marces|101@192.168.10.25||EARLY||||
sqlite> select * from channels; 58de6c5f-1d0a-45f6-9d0c-4665b32812eb|inbound|2010-08-19 10:01:46| 1282204906|sofia/192.168.10.25/101@192.168.10.25|CS_EXECUTE|101|101|<http://192.168.10.25/101@192.168.10.25%7CCS_EXECUTE%7C101%7C101%7C> 192.168.10.75|133|voicemail|check commsmundi.com commsmundi.com100|XML| local|PCMU|8000|PCMU|8000||marces|101@192.168.10.25||EARLY||||
sqlite> select * from channels; 58de6c5f-1d0a-45f6-9d0c-4665b32812eb|inbound|2010-08-19 10:01:46| 1282204906|sofia/192.168.10.25/101@192.168.10.25|CS_EXECUTE|101|101|<http://192.168.10.25/101@192.168.10.25%7CCS_EXECUTE%7C101%7C101%7C> 192.168.10.75|133|voicemail|check commsmundi.com commsmundi.com100|XML| local|PCMU|8000|PCMU|8000||marces|101@192.168.10.25||EARLY||||
sqlite> select * from channels; 58de6c5f-1d0a-45f6-9d0c-4665b32812eb|inbound|2010-08-19 10:01:46| 1282204906|sofia/192.168.10.25/101@192.168.10.25|CS_EXECUTE|101|101|<http://192.168.10.25/101@192.168.10.25%7CCS_EXECUTE%7C101%7C101%7C> 192.168.10.75|133|voicemail|check commsmundi.com commsmundi.com100|XML| local|PCMU|8000|PCMU|8000||marces|101@192.168.10.25||EARLY||||
in the navigation menu:
sqlite> select * from channels; 58de6c5f-1d0a-45f6-9d0c-4665b32812eb|inbound|2010-08-19 10:01:46| 1282204906|sofia/192.168.10.25/101@192.168.10.25|CS_EXECUTE|101|101|<http://192.168.10.25/101@192.168.10.25%7CCS_EXECUTE%7C101%7C101%7C> 192.168.10.75|133|sleep|100|XML|local|PCMU|8000|PCMU|8000||marces| 101@192.168.10.25||EARLY||||
sqlite> select * from channels; 58de6c5f-1d0a-45f6-9d0c-4665b32812eb|inbound|2010-08-19 10:01:46| 1282204906|sofia/192.168.10.25/101@192.168.10.25|CS_EXECUTE|101|101|<http://192.168.10.25/101@192.168.10.25%7CCS_EXECUTE%7C101%7C101%7C> 192.168.10.75|133|sleep|100|XML|local|PCMU|8000|PCMU|8000||marces| 101@192.168.10.25||EARLY||||
Thanks, António
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
--
Un cordial saludo / Best regards,
_________________________
António Silva
E-mail:asilva@wirelessmundi.com <E-mail%3Aasilva@wirelessmundi.com>
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org